@import url('https://fonts.googleapis.com/css2?family=Grandstander:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Boogaloo&family=Caveat:wght@600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Montserrat:wght@500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#202126;background:#f9f8f5;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,a{touch-action:manipulation}p{line-height:1.65}h1,h2,h3{font-family:Montserrat,sans-serif;line-height:1.08;letter-spacing:-.035em}h2{font-size:clamp(2.3rem,5vw,4.8rem);margin:.15em 0 .45em}h3{font-size:1.35rem}header{position:sticky;top:0;z-index:10;background:#19191bec;color:white;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem clamp(1rem,4vw,4rem)}.brand{font:800 1.2rem Montserrat,sans-serif;text-decoration:none;white-space:nowrap}.brand span{color:#ef3865}nav{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem}nav button{background:none;border:0;color:#f9f8f5;font:600 .85rem 'DM Sans',sans-serif;cursor:pointer;padding:.5rem 0}nav button:hover,nav button:focus-visible{color:#ff7290}.hero{background:#17171b;color:white;min-height:70vh;display:grid;grid-template-columns:1fr minmax(300px,42%);align-items:end;overflow:hidden;padding:3rem clamp(1.2rem,7vw,7rem) 0}.hero h1{font-size:clamp(4rem,10vw,10rem);max-width:850px;margin:0 0 4rem}.hero h1 span{color:#f33b65}.hero img{width:100%;max-height:72vh;object-fit:contain;object-position:bottom}.eyebrow{font-size:.8rem!important;text-transform:uppercase;letter-spacing:.19em;font-weight:800;margin:0 0 1rem}.feature{display:grid;grid-template-columns:3fr 2fr;min-height:430px}.feature-copy{padding:clamp(2.5rem,7vw,7rem);max-width:930px}.feature-copy p,.feature-copy li{font-size:1.08rem}.feature-copy h3{margin:2rem 0 .5rem}.feature-copy h6{font-size:1rem;margin:.25rem 0;font-weight:500}.feature-image{min-height:400px;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover}.cream{background:#eeeae5}.blue{background:#a9dfe4}.pink{background:#ffdce4}.dark{background:#22232a;color:white}.button{display:inline-flex;align-items:center;gap:1.8rem;background:#e92f5d;color:white;text-decoration:none;font-size:1rem;font-weight:800;padding:1rem 1.3rem;margin:.8rem .7rem .3rem 0;border-radius:3px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px);background:#b90c3a}.dark .button{background:#72ced8;color:#17171b}.button span{font-size:1.3rem}.video-section,.simple-section{padding:clamp(3rem,7vw,7rem);}.video-section{background:#b0dde2}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.video-grid iframe{width:100%;aspect-ratio:16/9;border:0;background:#111}.video-grid h3{font-size:1.05rem}.simple-section{max-width:1100px;margin:auto}.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}.quotes blockquote{margin:0;padding:1.7rem;background:#30313b;color:white;font-size:1.1rem;line-height:1.5}.quotes cite{display:block;font-size:.85rem;color:#b4e2e6;margin-top:1.5rem;font-style:normal}footer{background:#161619;color:#fff;padding:3rem clamp(1.2rem,7vw,7rem)}footer a{color:#9bdce5}.directory-hero{padding:5rem clamp(1.2rem,7vw,7rem) 3rem;background:#212229;color:#fff}.directory-hero h1{font-size:clamp(3rem,7vw,7rem);margin:.2em 0}.awards{max-width:1100px;padding:2rem clamp(1.2rem,7vw,7rem);margin:auto}.awards p{border-bottom:1px solid #ddd;padding-bottom:1rem}.years{max-width:1200px;margin:auto;padding:1rem 1rem 6rem}.years details{border-top:1px solid #c8c7c3;background:#fff}.years summary{cursor:pointer;padding:1.3rem clamp(1rem,3vw,3rem);font:800 clamp(1.6rem,3vw,2.5rem) Montserrat,sans-serif;list-style:none;display:flex;justify-content:space-between}.years summary::-webkit-details-marker{display:none}.years summary:after{content:'+';color:#eb315c}.years details[open] summary:after{content:'−'}.work{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,38%);gap:2rem;padding:2rem clamp(1rem,3vw,3rem);border-top:1px solid #eee}.work:first-of-type{border-top:0}.work-copy{font-size:1rem;line-height:1.6}.work-copy p{margin:.4rem 0}.work-copy a{color:#bd1544}.work img{width:100%;max-height:380px;object-fit:contain;align-self:start}.work h3{margin:0 0 1rem}.return{display:inline-block;color:#fff;margin-top:2rem}@media(max-width:820px){header{display:block}nav{overflow:auto;flex-wrap:nowrap;margin-top:.6rem;white-space:nowrap}nav button{flex:none}.hero{grid-template-columns:1fr 42%;min-height:440px;padding-top:3rem}.hero h1{font-size:clamp(3rem,11vw,6rem);margin-bottom:2rem}.hero img{height:450px}.feature{grid-template-columns:1fr}.feature-image{min-height:270px;max-height:480px;order:-1}.work{grid-template-columns:1fr}.work img{max-height:300px;object-position:left}.video-section,.simple-section{padding:3rem 1.25rem}}@media(max-width:520px){.hero{grid-template-columns:1fr 45%;min-height:360px}.hero h1{font-size:clamp(2.7rem,12vw,4rem);position:relative;z-index:1}.hero img{height:350px;margin-left:-35px;width:calc(100% + 45px)}.feature-copy{padding:2.5rem 1.3rem}.feature-image{min-height:220px}.brand{font-size:1rem}}

/* Refinements */
.brand{display:inline-flex;align-items:center;gap:.35rem}.brand img{width:42px;height:42px;object-fit:contain}
.eyebrow{font-size:24px!important;letter-spacing:.035em;text-transform:none;line-height:1.25;margin-bottom:1.2rem}
.feature-copy p,.feature-copy li,.feature-copy h6,.work-copy,.awards p,.years .work-copy p{font-size:20px;line-height:1.55}
.feature-copy h3,.awards h3{font-size:24px;line-height:1.3}
.button{border-radius:16px;font-size:18px}
.hero{height:calc(100svh - 74px);min-height:650px;padding:0 clamp(1.2rem,7vw,7rem);align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(320px,43%)}
.hero-copy{display:flex;align-items:center;min-width:0}.hero h1{font-size:clamp(4.8rem,8.5vw,9rem);line-height:.98;margin:0;max-width:none}.hero img{height:100%;max-height:none;min-height:0;object-fit:cover;object-position:center 32%;align-self:stretch}
.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,650px),1fr));gap:2.6rem;justify-items:center}.video-grid article{width:min(100%,650px)}.video-grid h3{font-size:24px}
.feature-image img{display:block}.feature-image{align-self:stretch}
.review-panel{position:relative;min-height:860px;display:flex;flex-direction:column;background:#25353a;color:white;overflow:hidden}
.review-panel>img{display:block;width:100%;height:48%;min-height:330px;object-fit:cover;object-position:center 35%}
.review-carousel{padding:2rem clamp(1.4rem,3vw,3rem);display:flex;flex-direction:column;justify-content:center;flex:1}
.review-slides{min-height:245px}.review-slide[aria-hidden="true"]{display:none}.review-slide p{font-size:20px;line-height:1.48;margin:.7rem 0 1.2rem}.review-slide strong{font-size:16px}.stars{color:#ffd451;letter-spacing:.14em;font-size:22px}.review-controls{display:flex;align-items:center;gap:1rem;margin:.7rem 0}.review-controls button{border:1px solid #fff8;border-radius:50%;width:44px;height:44px;background:transparent;color:white;font-size:28px;cursor:pointer}.review-count{font-size:15px}.review-carousel>a{font-size:16px;text-underline-offset:4px}
.direction-feature{grid-template-columns:minmax(0,1fr) minmax(0,42%)}.direction-feature .feature-copy{position:relative;isolation:isolate}.direction-feature .feature-copy:before{content:"";position:absolute;inset:10% 0 0;background:url('assets/flechas-direccion.png') center/contain no-repeat;opacity:.16;z-index:-1;pointer-events:none}
.award-list p{font-size:20px;line-height:1.55;margin:0 0 1.7em}.direction-feature .award-list{margin-top:1.8rem}.direction-feature .feature-copy h3{margin:2rem 0 .6rem}
.direction-years{background:#edf4f3;min-width:0}.direction-years .years{padding:1.4rem .8rem;position:sticky;top:76px}.direction-years .years summary{font-size:1.2rem;padding:.65rem 1rem}.direction-years .work{display:block;padding:1.3rem}.direction-years .work img{width:100%;max-height:none;margin:1rem 0;border-radius:18px;object-fit:cover}.direction-years .work-copy,.direction-years .work-copy p{font-size:20px;line-height:1.5}.direction-years .work-copy h3{font-size:24px}.direction-years .work-copy h4{font-size:20px}
.years .work img{border-radius:18px;max-height:500px;width:100%}.years summary{border-radius:10px}.quotes .fusion-text{color:white}.dark .feature-copy a{color:#c7f1f1}.dark .feature-image img{height:100%;object-fit:cover}
.awards .award-list p{border-bottom:1px solid #ddd;padding-bottom:1.3rem}
@media(max-width:900px){.hero{height:70svh;min-height:500px;grid-template-columns:1fr 42%}.hero h1{font-size:clamp(3.7rem,9vw,6rem)}.direction-feature{grid-template-columns:1fr}.direction-years .years{position:static}.direction-years .work{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,40%)}.review-panel{min-height:760px}.review-panel>img{height:380px}}
@media(max-width:600px){.hero{height:74svh;min-height:490px;grid-template-columns:1fr 44%;padding-left:1.1rem;padding-right:0}.hero h1{font-size:clamp(3rem,12vw,4.8rem);word-break:normal}.hero img{height:100%;width:100%;margin:0;object-position:45% 25%}.video-grid{grid-template-columns:1fr}.direction-years .work{display:block}.review-panel>img{height:330px}.feature-copy p,.feature-copy li,.feature-copy h6{font-size:20px}.eyebrow{font-size:24px!important}}

.brand img{background:#fff;border-radius:50%;padding:4px;width:48px;height:48px}

/* Pallassos refinements */
.brand img{width:48px;height:48px}
.eyebrow{display:table;position:relative;z-index:0;padding:.35rem .9rem .4rem;margin-left:-.35rem;font-weight:700}
.eyebrow:before{content:"";position:absolute;inset:0;border:2px solid currentColor;border-radius:49% 42% 47% 39% / 31% 52% 38% 48%;transform:rotate(-2deg);opacity:.75;z-index:-1;pointer-events:none}
.video-grid article{position:relative;padding:.75rem .75rem 1.2rem;border:2px solid #263e41;border-radius:14px 29px 18px 25px / 18px 13px 28px 16px;transform:rotate(-.3deg)}
.video-grid article:nth-child(even){transform:rotate(.35deg);border-radius:28px 13px 26px 15px / 14px 28px 17px 27px}
.video-grid article:after{content:"";position:absolute;left:7%;right:7%;bottom:-1.75rem;height:8px;border-bottom:2px solid #24484a;border-radius:50%;transform:rotate(-1deg)}
.video-grid h3{font-weight:600;padding:.2rem .3rem;margin-bottom:.25rem}
.review-panel{background:#f8f8f7;color:#29292c;min-height:0}.review-panel>img{height:290px;min-height:0;object-fit:cover;object-position:center}
.review-carousel{padding:1.2rem;display:block}.google-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.google-card{background:#fff;border:1px solid #e7e2df;border-radius:20px;padding:1rem;box-shadow:0 4px 18px #1a1a1a0d;display:flex;flex-direction:column;min-height:285px}
.google-card[aria-hidden="true"]{display:none}.google-top{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.review-stars{color:#eab940;font-size:18px;letter-spacing:.06em;white-space:nowrap}.review-stars.no-rating{font:700 30px Georgia,serif;color:#eab940}
.google-g{font:800 22px Arial,sans-serif;background:conic-gradient(#4285f4 0 35%,#34a853 35% 52%,#fbbc05 52% 68%,#ea4335 68% 84%,#4285f4 84%);background-clip:text;color:transparent}.review-source{font-size:12px;color:#667184}
.google-card p{font-size:17px;line-height:1.45;flex:1;margin:.9rem 0}.google-author{display:flex;align-items:center;gap:.6rem;border-top:1px solid #e8e8e8;padding-top:.8rem;font-size:14px}.review-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#3f77c5;color:#fff;font-weight:700;flex:none}
.review-controls{justify-content:center;color:#343b44}.review-controls button{color:#333;border-color:#777}.review-carousel>a{display:block;text-align:center;color:#a94d05;margin-top:.3rem}
.direction-feature{align-items:start}.direction-years{align-self:start}.direction-banner{display:block;width:100%;height:auto;object-fit:contain}
.years .work img,.direction-years .work img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;border-radius:18px;margin:1rem 0 0}
.work{align-items:start}.direction-years .work-copy,.direction-years .work-copy p{font-size:18px;line-height:1.5}.direction-years .work-copy h3{font-size:20px}.direction-years .work-copy h4{font-size:18px}
.company-label{font-style:normal!important;font-weight:800;margin-top:1.7rem!important;margin-bottom:1.2rem!important}.company-label em{font-style:normal}.company-label strong{display:inline-block;position:relative;font-weight:800}.company-label strong:after{content:"";position:absolute;left:0;right:-.4rem;bottom:-.45rem;height:7px;background:#161719;clip-path:polygon(0 20%,18% 0,48% 12%,76% 44%,100% 92%,100% 100%,61% 73%,27% 42%,0 67%);transform:rotate(-1deg)}
.feature-copy a:not(.button),.work-copy a,.review-carousel>a,.simple-section a:not(.button){color:#ae5000;text-decoration:none}.dark .feature-copy a:not(.button){color:#ffc18a}.feature-copy a:hover,.work-copy a:hover,.review-carousel>a:hover{text-decoration:underline}
#dicen .feature-copy p.saying{font-weight:400;margin:1.1rem 0 1.5rem}.saying-quote{display:block;color:#ffbd7b;font-weight:400}.saying-author{display:block;color:#c4c7cc;font-size:16px;margin-top:.15rem;font-weight:400}#dicen .feature-copy h3{font-weight:600}
#contacto h5,#contacto h4{font-size:21px;line-height:1.45;font-weight:600}.globe{font-size:1.1em;vertical-align:-.08em}
#clown .feature-image{height:auto;min-height:600px}#clown .feature-image img{height:100%;width:100%;object-fit:cover;object-position:center}
@media(max-width:600px){.google-cards{grid-template-columns:1fr}.google-card{min-height:200px}.review-panel>img{height:220px}.direction-feature{display:block}.direction-years{width:100%}}

/* v5 */
header{background:#d32959;backdrop-filter:none}
.brand{display:flex;align-items:center;gap:.25rem;font:700 clamp(1.45rem,2.5vw,2.15rem) 'Arial Narrow',Impact,sans-serif;letter-spacing:-.035em;color:#fff}
.brand img{width:37px;height:59px;object-fit:contain;background:none;border-radius:0;padding:0;flex:none}
nav button{font-family:'Kenyan Coffee','Oswald','Arial Narrow',Impact,sans-serif;font-stretch:condensed;font-size:1.45rem;line-height:1;letter-spacing:.02em;font-weight:400}
nav button:hover,nav button:focus-visible{color:#fff;opacity:.75}
.hero{padding-right:0;grid-template-columns:minmax(0,1fr) minmax(320px,46%)}
.hero img{object-position:right center}
.eyebrow{border:0;padding:.5rem 1.2rem .55rem;margin-left:-.65rem}
.eyebrow:before{display:none}
.eyebrow:after{content:'';position:absolute;inset:-.18rem -.35rem -.12rem -.28rem;border:2.2px solid currentColor;border-radius:48% 52% 47% 53% / 51% 45% 55% 49%;clip-path:polygon(0 0,100% 0,100% 100%,12% 100%,7% 85%,3% 72%,0 58%);transform:rotate(-7deg);pointer-events:none}
section:nth-of-type(3n) .eyebrow:after{transform:rotate(5deg) skewX(-3deg);border-radius:53% 46% 50% 47% / 43% 55% 44% 57%;inset:-.1rem -.5rem -.2rem -.15rem}
section:nth-of-type(3n + 1) .eyebrow:after{transform:rotate(-4deg) skewY(2deg);border-radius:46% 55% 49% 51% / 55% 47% 54% 44%;inset:-.27rem -.2rem 0 -.45rem}
.button{box-shadow:5px 5px 0 #a41645;transition:transform .15s,box-shadow .15s}
.button:hover{box-shadow:2px 2px 0 #8d1039;transform:translate(3px,3px)}
.video-grid{grid-template-columns:repeat(2,minmax(0,650px));justify-content:center;column-gap:2rem;row-gap:2.5rem}
.video-grid article{border:0;border-radius:0;padding:1rem 1rem 1.3rem;transform:none!important;outline:0;position:relative;isolation:isolate}
.video-grid article:before{content:'';position:absolute;inset:0;border:9px solid #25494b;border-image:linear-gradient(114deg,#25494b 0%,#295558 21%,#244044 50%,#31585b 78%,#24494c 100%) 1;clip-path:polygon(0 1%,19% 0,41% 1%,67% 0,99% 1%,100% 23%,99% 49%,100% 73%,99% 99%,68% 100%,42% 99%,12% 100%,0 98%,1% 72%,0 51%,1% 22%);pointer-events:none}
.video-grid article:after{display:none}
.video-grid article:nth-child(even):before{transform:rotate(.25deg)}
.review-panel>img{margin-top:clamp(1.4rem,4vw,4rem);height:auto;max-height:290px;object-fit:contain}
.review-carousel{padding-top:2.4rem}
.google-cards{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,auto))}
.google-card{min-height:210px;padding:.75rem}.google-card p{font-size:15px;line-height:1.38;margin:.5rem 0}.google-author{font-size:12px}.review-stars{font-size:15px}
.direction-years .years{position:static;top:auto}
.direction-years .work{padding-bottom:.45rem}.direction-years .work img{margin-bottom:0}
.years details{overflow-anchor:none}.years summary{scroll-margin-top:78px}
#contacto h4,#contacto h5{font-family:Georgia,'Times New Roman',serif;font-size:clamp(21px,2vw,25px);font-weight:700;letter-spacing:-.025em;line-height:1.36}
#contacto h4{font-style:italic}#contacto h5{font-variant:small-caps}
@media(max-width:700px){.video-grid{grid-template-columns:1fr}.hero{grid-template-columns:1fr 45%}.google-cards{gap:.45rem}.google-card{min-height:220px}.google-card p{font-size:14px}.review-panel>img{margin-top:1.5rem}}
@media(max-width:420px){.google-cards{grid-template-columns:1fr}.google-card{min-height:155px}.brand{font-size:1.4rem}nav button{font-size:1.2rem}}

:root{scroll-behavior:auto}

/* v6 refinements */
header{background:#24262d}
h1,h2,.directory-hero h1{font-family:'Boogaloo','Arial Narrow',sans-serif;font-weight:400;letter-spacing:.005em;line-height:1.03}
.eyebrow{font-family:'Caveat',cursive!important;font-size:clamp(28px,2.5vw,36px)!important;font-weight:700;letter-spacing:0;text-transform:none;padding:.1rem .1rem .45rem;margin-left:0}
.eyebrow:after,section:nth-of-type(3n) .eyebrow:after,section:nth-of-type(3n + 1) .eyebrow:after{content:'';position:absolute;inset:auto auto 0 0;width:105%;height:9px;border:0;border-radius:0;clip-path:polygon(0 4%,13% 24%,37% 8%,64% 42%,82% 55%,100% 80%,99% 90%,80% 68%,62% 57%,36% 27%,10% 55%,0 74%);background:currentColor;transform:rotate(-2deg)}
section:nth-of-type(3n) .eyebrow:after{width:112%;transform:rotate(2deg);clip-path:polygon(0 3%,11% 30%,31% 18%,58% 53%,78% 42%,100% 83%,99% 91%,76% 64%,55% 75%,29% 35%,9% 57%,0 81%)}
section:nth-of-type(3n + 1) .eyebrow:after{width:98%;transform:rotate(-4deg);clip-path:polygon(0 6%,18% 10%,42% 48%,66% 20%,100% 83%,99% 95%,64% 39%,41% 71%,16% 33%,0 82%)}
.feature-copy a:not(.button),.work-copy a,.review-carousel>a,.simple-section a:not(.button),#contacto a{color:#c85100;text-decoration:none}
.dark .feature-copy a:not(.button){color:#ffad58}
.direction-feature{grid-template-columns:3fr 2fr;align-items:stretch}
.direction-years{align-self:stretch;background:#edf4f3;padding-top:clamp(2.5rem,7vw,7rem)}
.direction-banner{margin:0;width:100%}
.direction-label{font-family:'Caveat',cursive;font-size:32px;margin:1rem 1.2rem .1rem}
.direction-feature .feature-copy h3:first-of-type{font-size:27px}
#libros .feature-image{padding-top:clamp(2.5rem,7vw,7rem);background:#eeeae5;align-self:stretch;min-height:0}
#libros .feature-image img{display:block;height:auto;width:100%;object-fit:contain;object-position:top}
.book-links{margin-top:1.2rem!important;overflow-wrap:anywhere}
.book-accordion{margin:1.5rem 0;max-width:740px}
.book-accordion details{border-top:2px solid #c9c3bb;overflow-anchor:none}
.book-accordion details:last-child{border-bottom:2px solid #c9c3bb}
.book-accordion summary{font-family:'Boogaloo',sans-serif;font-size:clamp(26px,2.5vw,34px);cursor:pointer;padding:.65rem .4rem;list-style:none;display:flex;justify-content:space-between;gap:.5rem}
.book-accordion summary::-webkit-details-marker{display:none}
.book-accordion summary:after{content:'+';color:#cc3261}.book-accordion details[open] summary:after{content:'−'}
.book-comments{padding:0 .4rem 1rem}.book-comments blockquote{margin:0 0 1.25rem;padding:0 0 1rem;border-bottom:1px solid #cfc9c1}
.book-comments blockquote p{font-size:20px;margin:.2rem 0 .5rem}.book-comments cite{display:block;font-style:normal;font-size:16px;color:#555}
#cursos{background:#dceca9}
.review-panel{background:#f7f8ef}.review-panel>img{margin-top:clamp(2.5rem,7vw,7rem);width:100%;height:auto;max-height:none;object-fit:cover;display:block}
.review-carousel{padding-top:2rem}.review-heading{font-family:'Boogaloo',sans-serif;font-weight:400;font-size:clamp(26px,2.4vw,34px);margin:.1rem 0 .6rem}
.google-rating{display:flex;align-items:center;justify-content:space-between;gap:.4rem;background:transparent;text-decoration:none;color:#24262d;flex-wrap:wrap;margin:0 0 1.2rem;font-family:'DM Sans',sans-serif}
.google-rating .google-g{font-size:32px}.rating-word{font-size:21px;font-weight:700}.rating-stars{color:#e9b532;letter-spacing:.025em;font-size:23px}.rating-score,.rating-count{font-size:19px;font-weight:600}.rating-check{background:#3186ce;color:white;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;font-size:22px}
.clown-logo-row,.clown-button{text-align:center}.clown-logo-row{margin:2rem auto!important}.clown-button{display:flex;width:max-content;max-width:100%;margin:1rem auto!important}
#contacto .feature-copy p{margin-left:0}#contacto h4{max-width:650px}
@media(max-width:900px){.direction-feature{grid-template-columns:1fr}.direction-years{padding-top:1.5rem}.review-panel>img{margin-top:1.5rem}#libros .feature-image{padding-top:0}}
@media(max-width:600px){.direction-years .years{padding-bottom:2rem}.google-rating{justify-content:flex-start}.rating-word{font-size:18px}.rating-stars{font-size:20px}}

header{background:#4c7986}.brand img{background:#f4f0e9;padding:3px;border-radius:5px}nav button{color:#fff}

/* v7 */
header{background:#d32959}
nav button{font-family:'Grandstander',sans-serif;font-size:1.2rem;font-weight:500;letter-spacing:-.04em}
.direction-years{position:relative}
.direction-years:before{content:'';position:absolute;top:0;left:0;right:0;height:clamp(2.5rem,7vw,7rem);background:linear-gradient(90deg,#232321,#322829 37%,#393431 100%);pointer-events:none}
.direction-banner{position:relative}
.professional-heading{font-family:'Caveat',cursive;font-size:clamp(28px,3vw,38px);margin:1.5rem 0 .4rem}
.book-accordion{margin-top:.5rem}
.professional-open{width:100%;border:0;border-top:2px solid #c9c3bb;background:transparent;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .4rem;cursor:pointer;color:#252529;font:400 clamp(25px,2.5vw,34px) 'Boogaloo',sans-serif}
.professional-open:last-child{border-bottom:2px solid #c9c3bb}
.professional-open:hover,.professional-open:focus-visible{color:#be1851}
.professional-arrow{font-family:Arial,sans-serif;font-size:1.5rem;flex:none;color:#c52554}
.professional-dialog{width:90vw;max-width:none;height:90vh;max-height:90dvh;padding:0;border:0;border-radius:18px;box-shadow:0 25px 90px #0008;background:#f7f4ef;color:#232329;overflow:hidden}
.professional-dialog::backdrop{background:#141318bb}
.dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,3vw,2rem);background:#d32959;color:white}
.dialog-bar h2{font-size:clamp(29px,3.5vw,52px);margin:0}
.dialog-close{font:400 2.5rem Arial,sans-serif;color:white;background:transparent;border:0;cursor:pointer;width:44px;height:44px;flex:none;line-height:1}
.dialog-scroll{overflow-y:auto;height:calc(90vh - 96px);max-height:calc(90dvh - 96px);padding:clamp(1.2rem,3vw,2.5rem);overscroll-behavior:contain;scrollbar-gutter:stable}
.professional-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:1.3rem;align-items:start;padding:1.3rem 0;border-bottom:1px solid #d3cdc5;max-width:980px;margin:auto}
.professional-card:first-child{padding-top:0}.professional-card img{width:110px;height:110px;object-fit:cover;border-radius:50%}
.professional-card p{font-size:20px;line-height:1.5;margin:0 0 .6rem}.professional-card cite{font-size:16px;color:#616166;font-style:normal}
body:has(.professional-dialog[open]){overflow:hidden}
@media(max-width:600px){.professional-dialog{width:94vw;height:92dvh}.dialog-scroll{height:calc(92dvh - 91px);max-height:calc(92dvh - 91px)}.professional-card{grid-template-columns:72px minmax(0,1fr);gap:.8rem}.professional-card img{width:72px;height:72px}.professional-card p{font-size:17px}}

/* Books: four covers from the original composite, displayed in the requested order. */
#libros .book-covers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,auto);gap:1.2rem;padding:clamp(1.2rem,3vw,2.4rem);align-content:start;background:#f5f1e9}
.book-cover{aspect-ratio:410/640;background-image:url('assets/libros-caroline-4.jpg');background-repeat:no-repeat;background-size:219.5% auto;box-shadow:5px 7px 0 #25262a22;border-radius:4px}
.book-cover.payaso{background-position:7.4% 70.8%}.book-cover.clown{background-position:87.2% 70.8%}.book-cover.apayasate{background-position:7.4% 2.8%}.book-cover.clownyourself{background-position:87.2% 2.8%}

/* The course image starts at the column top; its new upper band completes the hair. */
.review-panel>img{margin-top:0!important}

/* A photographic grain and uneven illumination continue the original dark backdrop. */
.direction-years:before{background-color:#292827;background-image:radial-gradient(ellipse at 22% 75%,#39312d 0,transparent 60%),radial-gradient(ellipse at 80% 30%,#3b3734 0,transparent 62%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 100'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.16' numOctaves='3' seed='7' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='100' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");background-blend-mode:normal,normal,soft-light}

/* Staggered miniature stage: all five original videos stay playable. */
.video-section{background:#cde6e8;padding-block:clamp(3.5rem,7vw,7rem)}
.video-section h2{margin-bottom:2rem}
.video-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(1.4rem,3vw,2.7rem);align-items:start;max-width:1340px;margin:auto;counter-reset:videos}
.video-grid article{width:100%;max-width:none;padding:clamp(.8rem,1.8vw,1.4rem);background:#eff6f1;box-shadow:9px 10px 0 #35626730;min-width:0;transform:rotate(-.55deg)!important}
.video-grid article:nth-child(even){transform:rotate(.55deg)!important}
.video-grid article:before{border:10px solid #234b50;border-image:linear-gradient(115deg,#21454a,#2b5e63 19%,#193b40 51%,#376a6d 76%,#20484b) 1}
.video-grid article:first-child{grid-row:span 2;align-self:stretch}
.video-grid article:first-child iframe{aspect-ratio:4/3}
.video-grid article:nth-child(n+4){grid-column:auto}
.video-grid iframe{display:block;width:100%;aspect-ratio:16/9;background:#232329;border-radius:2px}
.video-grid h3{font-family:'Boogaloo',sans-serif;font-weight:400;font-size:clamp(23px,2.2vw,32px);line-height:1.15;margin:.8rem .15rem .15rem;padding:0;letter-spacing:0}
.video-grid h3:before{content:attr(data-number);display:none}
.video-grid article h3:before{content:attr(data-number);display:inline-block;color:#c92f5b;margin-right:.7rem;font-family:'Boogaloo',sans-serif}
.video-grid article:after{display:block;content:'';position:absolute;bottom:-12px;left:5%;width:63%;height:5px;border-radius:50%;background:#21454a;transform:rotate(-1.2deg)}
@media(max-width:780px){.video-grid{grid-template-columns:1fr}.video-grid article:first-child{grid-row:auto}.video-grid article:first-child iframe{aspect-ratio:16/9}}

/* v9: paper-ribbon links, drawn from the selected design. */
a.button,a.button:hover,.dark a.button{--ribbon:#e72b58;position:relative;isolation:isolate;background:var(--ribbon);color:#fff;border:0;border-radius:0;clip-path:polygon(1.7% 7%,21% 5%,49% 4%,72% 2%,98% 1%,99% 21%,98.6% 48%,100% 77%,99% 96%,75% 97%,49% 99%,22% 97%,1% 100%,2% 73%,0 48%,2% 25%);filter:drop-shadow(8px 9px 0 #222831);box-shadow:none;transform:rotate(-1.1deg);font:700 clamp(18px,1.8vw,26px)/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.02em;padding:1.05rem 1.7rem;margin:1.1rem 1rem 1.2rem 0;max-width:100%;text-align:center;justify-content:center;transition:transform .2s,filter .2s}
a.button:hover,a.button:focus-visible{transform:translateY(-3px) rotate(0deg);filter:drop-shadow(5px 7px 0 #222831)}
a.button span{font:700 1.5em/1 Arial,sans-serif;display:inline-block;transform:rotate(-6deg)}
#cursos a.button,#about a.button:nth-of-type(even){--ribbon:#9ed2e8;color:#202a32}
#clown a.button{margin-inline:auto}

/* The original photograph itself provides the grain in its extended upper band. */
.direction-years{padding-top:0!important}.direction-years:before{display:none!important}
.direction-banner-wrap{position:relative;padding-top:clamp(2.5rem,7vw,7rem);background-color:#2a2828;background-image:radial-gradient(ellipse at 80% 15%,#554b4533,transparent 70%),url('assets/tres-interpretes.png');background-size:100% 100%,1000% auto;background-position:center,38% top;background-repeat:no-repeat}
.direction-banner-wrap:before{content:'';position:absolute;inset:0 0 auto;height:clamp(2.5rem,7vw,7rem);pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 96'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.2' numOctaves='3' seed='8' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='96' filter='url(%23g)' opacity='.18'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.direction-banner-wrap .direction-banner{display:block;width:100%;height:auto}
.direction-banner-wrap .direction-label{position:absolute;z-index:1;top:clamp(.3rem,1.4vw,1.2rem);left:clamp(1rem,2.4vw,2rem);margin:0;color:#fff;font:400 clamp(27px,3vw,42px)/1.1 'Boogaloo',sans-serif;text-shadow:0 2px 6px #1119}

/* Selected frame 05: a hairline and two coral corner brackets. */
.video-section{padding-inline:clamp(1rem,2vw,2rem)}
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,682px));column-gap:clamp(1rem,2vw,1.7rem);row-gap:2.3rem;max-width:1392px;justify-content:center;align-items:start}
.video-grid article,.video-grid article:nth-child(even){width:100%;max-width:682px;grid-row:auto;grid-column:auto;align-self:auto;background:#fffaf4;border:2px solid #252a30;border-radius:0;box-shadow:none;padding:13px;transform:none!important;filter:none}
.video-grid article:before,.video-grid article:nth-child(even):before{content:'';position:absolute;z-index:-1;left:-12px;top:-12px;width:85px;height:85px;inset:auto auto auto auto;inset-block-start:-12px;inset-inline-start:-12px;border:0;border-top:12px solid #d32959;border-left:12px solid #d32959;clip-path:none;transform:none;pointer-events:none}
.video-grid article:after{content:'';display:block;position:absolute;z-index:-1;left:auto;top:auto;right:-12px;bottom:-12px;width:85px;height:85px;border:0;border-right:12px solid #d32959;border-bottom:12px solid #d32959;border-radius:0;background:none;transform:none;pointer-events:none}
.video-grid iframe,.video-grid article:first-child iframe{display:block;width:100%;max-width:650px;aspect-ratio:16/9;height:auto;border:2px solid #252a30}
.video-grid h3{font-size:clamp(21px,2vw,29px);margin:.85rem .25rem .1rem}
@media(max-width:850px){.video-grid{grid-template-columns:minmax(0,682px)}.video-grid article{margin-inline:auto}}

/* Contact: typographic full-width composition, with three small noses in place of dots. */
#contacto{display:block;background:#f6dde3;min-height:0}
#contacto .feature-copy{max-width:none;padding:clamp(2.5rem,6vw,6rem) clamp(1.3rem,6vw,6rem);width:100%}
#contacto .feature-image{display:none}
#contacto .eyebrow{font-size:clamp(29px,3vw,42px)!important;margin:0 0 .7rem}
#contacto h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:clamp(.5rem,2vw,1.7rem);font-family:Georgia,'Times New Roman',serif;font-size:clamp(5rem,13vw,14rem);font-weight:700;line-height:.92;letter-spacing:-.075em;margin:.1rem 0 2.1rem;color:#161b21}
.clown-noses{display:inline-flex;gap:clamp(4px,.6vw,11px);align-self:center;margin-left:clamp(.1rem,1vw,1rem);transform:translateY(.08em)}
.clown-noses i{display:block;width:clamp(19px,2.4vw,37px);height:clamp(19px,2.4vw,37px);border-radius:50%;background:radial-gradient(circle at 32% 25%,#ff8a78 0,#e83f3c 30%,#ad121e 76%,#770b1c 100%);box-shadow:2px 4px 4px #4b172750}
.clown-noses i:nth-child(2){transform:translateY(-.12em)}.clown-noses i:nth-child(3){transform:translateY(.1em)}
#contacto h4{font:italic 700 clamp(25px,3.1vw,43px)/1.25 Georgia,'Times New Roman',serif;max-width:850px;margin:0 0 2.4rem}
#contacto .contact-details{display:flex;align-items:center;gap:0;flex-wrap:wrap}
#contacto .contact-details p{font-size:clamp(21px,2.2vw,31px);margin:0;padding:.15rem clamp(1.2rem,2.5vw,2.8rem);line-height:1.35}
#contacto .contact-details p:first-child{padding-left:0;border-right:2px solid #22252a}
#contacto .contact-details a{color:#b9571f}
@media(max-width:650px){#contacto h2{font-size:clamp(4.3rem,17vw,7rem)}#contacto .contact-details{display:block}#contacto .contact-details p{padding:.35rem 0!important;border:0!important}.direction-banner-wrap{padding-top:4.5rem}.direction-banner-wrap:before{height:4.5rem}}

/* v10 refinements. The ribbon backing sits behind the colored paper. */
a.button,a.button:hover,.dark a.button{background:transparent;clip-path:none;filter:none;overflow:visible}
a.button::before,a.button::after{content:'';position:absolute;pointer-events:none;clip-path:polygon(1.7% 7%,21% 5%,49% 4%,72% 2%,98% 1%,99% 21%,98.6% 48%,100% 77%,99% 96%,75% 97%,49% 99%,22% 97%,1% 100%,2% 73%,0 48%,2% 25%)}
a.button::before{inset:0;z-index:-1;background:var(--ribbon)}
a.button::after{inset:5px -5px -5px 5px;z-index:-2;background:#242831}
a.button:hover,a.button:focus-visible{filter:none}

/* Condensed section labels with the small leading rule from the reference. */
.eyebrow,#contacto .eyebrow{display:flex;align-items:center;gap:13px;width:max-content;max-width:100%;padding:0;margin:0 0 1.1rem;font-family:'Oswald','Arial Narrow',sans-serif!important;font-size:clamp(18px,1.65vw,24px)!important;font-weight:600;line-height:1.25;letter-spacing:.13em;text-transform:uppercase}
.eyebrow:before{content:'';display:block;position:static;width:38px;height:2px;flex:none;background:currentColor;border:0;transform:none;opacity:1}
.eyebrow:after,section:nth-of-type(3n) .eyebrow:after,section:nth-of-type(3n + 1) .eyebrow:after{display:none}

/* Crop the bottom of the portrait while preserving the section's two columns. */
#about .feature-image img{object-position:center top;transform:scale(1.16);transform-origin:center top}

/* Crop each book precisely inside its own tile. */
.book-cover.payaso,.book-cover.apayasate{background-position-x:8.2%}
.book-cover.clown,.book-cover.clownyourself{background-position-x:95.7%}

/* Identical video card footprints, with intentionally uneven marker corners. */
.video-grid article:first-child{grid-row:auto;align-self:start}
.video-grid article:before,.video-grid article:nth-child(even):before{left:-15px;top:-14px;inset:auto auto auto auto;inset-block-start:-14px;inset-inline-start:-15px;width:93px;height:91px;border-top:11px solid #d32959;border-left:12px solid #d32959;border-radius:4px 2px 0 3px;transform:rotate(-3deg) skewX(-2deg);opacity:.98}
.video-grid article:after{right:-14px;bottom:-15px;width:92px;height:91px;border-right:11px solid #d32959;border-bottom:12px solid #d32959;border-radius:0 3px 4px 2px;transform:rotate(2.5deg) skewY(-2deg);opacity:.98}
.video-grid article{align-self:start}

/* Contact retains the large type composition beside Caroline's photograph. */
#contacto{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
#contacto .feature-copy{padding:clamp(2rem,5vw,5rem) clamp(1.3rem,5vw,5rem);align-self:center}
#contacto .feature-image{display:block;min-height:520px;max-height:none;order:initial}
#contacto .feature-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}
#contacto h2{font-size:clamp(3.4rem,8.6vw,9.3rem);gap:clamp(.25rem,.8vw,.8rem);margin-bottom:1.5rem}
.clown-noses{gap:clamp(3px,.4vw,6px);align-self:baseline;margin-left:0;transform:translateY(.035em)}
.clown-noses i{width:clamp(14px,1.6vw,25px);height:clamp(14px,1.6vw,25px)}
.clown-noses i:nth-child(2),.clown-noses i:nth-child(3){transform:none}
#contacto h4{font-size:clamp(19px,2.05vw,29px);margin-bottom:1.6rem}
#contacto .contact-details p{font-size:clamp(17px,1.5vw,22px);padding-inline:clamp(.7rem,1.2vw,1.3rem)}
@media(max-width:850px){#contacto{grid-template-columns:1fr}#contacto .feature-image{min-height:360px;max-height:620px;order:initial}#contacto h2{font-size:clamp(3.4rem,12vw,7rem)}}
