:root {
  --ivory:#f4f0e9;
  --paper:#fbf8f3;
  --ink:#151310;
  --muted:#5f5a53;
  --gold:#b88743;
  --line:#d8cbb9;
  --black:#0c0b0a;
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Inter", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.55}
a{color:inherit}
img{display:block;max-width:100%}
.site-header{position:sticky;z-index:50;top:0;height:92px;padding:10px clamp(22px,4vw,70px);display:flex;align-items:center;justify-content:space-between;background:rgba(244,240,233,.96);border-bottom:1px solid rgba(21,19,16,.12);backdrop-filter:blur(10px);color:var(--ink)}
.brand{display:flex;align-items:center;height:100%;overflow:hidden}
.brand img{width:238px;height:74px;object-fit:contain;object-position:left center}
.nav{display:flex;gap:30px;align-items:center}
.nav a{font-size:12px;text-transform:uppercase;letter-spacing:.14em;text-decoration:none}
.nav a:hover{color:var(--gold)}
.menu-toggle{display:none;background:none;border:1px solid rgba(21,19,16,.3);color:var(--ink);padding:8px 12px;font:500 12px var(--sans);text-transform:uppercase;letter-spacing:.12em}
.hero{height:min(820px,88vh);min-height:620px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#111}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.88) 0%,rgba(5,5,5,.68) 27%,rgba(5,5,5,.16) 62%,rgba(5,5,5,.04) 100%)}
.hero-content{position:relative;z-index:2;color:#fff;width:min(760px,85%);padding:0 clamp(24px,6vw,100px) clamp(55px,8vh,100px)}
.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:12px;font-weight:600;margin:0 0 18px}
.gold{color:var(--gold)}
h1,h2,h3{font-family:var(--serif);font-weight:500;margin:0;line-height:.95}
h1{font-size:clamp(56px,7vw,108px);letter-spacing:-.025em;text-transform:uppercase}
h1 span{color:#d8aa68}
.hero-line{font-family:var(--serif);font-size:clamp(26px,3vw,43px);margin:28px 0 30px}
.hero-line em{color:#d8aa68}
.button{display:inline-block;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:600;padding:15px 22px;border:1px solid;transition:.2s ease}
.button-light{color:#fff;border-color:#d5a966;background:rgba(0,0,0,.12)}
.button-light:hover{background:#d5a966;color:#111}
.button-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.button-dark:hover{background:var(--gold);border-color:var(--gold);color:#111}
.section-wrap{width:min(1180px,90vw);margin:0 auto;padding:110px 0}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:9vw;border-bottom:1px solid var(--line)}
.intro h2,.section-heading h2,.experience h2,.spanish h2,.contact h2{font-size:clamp(42px,5vw,72px);line-height:1}
.intro-copy{font-size:17px;color:#302c27;max-width:590px}
.text-link{display:inline-block;margin-top:10px;color:var(--gold);font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.studios{padding-top:95px}
.section-heading{margin-bottom:45px}
.studio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.studio-card{border-top:1px solid var(--line);padding-top:14px}
.image-frame{aspect-ratio:4/3;overflow:hidden;background:#ddd;margin-bottom:20px}
.image-frame img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.studio-a-frame img{object-position:center 48%}
.studio-b-frame img{object-position:center 78%}
.dual-frame img{object-position:center 58%}
.studio-card:hover .image-frame img{transform:scale(1.025)}
.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-weight:600;margin:0 0 7px}
.studio-card h3{font-size:34px;line-height:1.02;margin-bottom:14px}
.studio-card p:not(.kicker){color:#49443d;font-size:15px}
.spanish{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.spanish-inner{display:grid;grid-template-columns:.86fr 1.14fr;width:min(1180px,90vw);margin:0 auto;padding:110px 0 60px;gap:7vw;align-items:center}
.spanish-image{aspect-ratio:4/5;overflow:hidden;box-shadow:0 18px 45px rgba(50,40,30,.12)}
.spanish-image img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.spanish-copy{display:flex;flex-direction:column;justify-content:center}
.spanish-copy h2{max-width:720px;margin-bottom:24px}
.spanish-copy>p:not(.eyebrow){color:#49443d;max-width:660px;font-size:17px}
.service-icons{width:min(720px,100%);height:auto;margin:25px 0 28px;object-fit:contain}
.spanish-projects{padding-top:10px;padding-bottom:95px}
.spanish-projects img{width:100%;height:auto;border-top:1px solid var(--line);padding-top:18px}
.experience{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}
.experience-copy p{color:#49443d}
.experience-image{aspect-ratio:4/3;overflow:hidden}
.experience-image img{width:100%;height:100%;object-fit:cover}
.contact{position:relative;min-height:560px;display:flex;align-items:flex-end;justify-content:flex-end;overflow:hidden}
.contact-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.contact-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.02),rgba(0,0,0,.05) 62%,rgba(0,0,0,.30) 100%)}
.contact-card{position:relative;z-index:2;width:min(470px,84vw);margin:0 clamp(24px,5vw,78px) clamp(26px,4vw,54px) 0;padding:30px 34px;background:rgba(13,12,10,.78);color:white;backdrop-filter:blur(6px)}
.contact-card h2{font-size:clamp(38px,4.5vw,60px);margin-bottom:16px}.contact-card>p{color:#e1dcd4}.contact-card .eyebrow{color:#e1b773}.email-button{text-transform:none;letter-spacing:.03em;font-size:14px}.contact-location{margin:16px 0 0;color:#fff!important;font-size:13px;text-transform:uppercase;letter-spacing:.1em}
footer{background:#0c0b0a;color:#aaa;display:flex;justify-content:center;align-items:center;padding:24px clamp(24px,5vw,80px);font-size:12px;text-align:center}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:860px){
 .site-header{height:76px;padding:7px 20px}.brand img{width:180px;height:60px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}
 .hero{min-height:680px}.hero-image{object-position:64% center}.hero-shade{background:linear-gradient(0deg,rgba(5,5,5,.9) 0%,rgba(5,5,5,.54) 52%,rgba(5,5,5,.12) 100%)}.hero-content{width:100%;padding:0 24px 52px}h1{font-size:clamp(48px,14vw,72px)}
 .section-wrap{padding:72px 0}.intro,.experience,.spanish-inner{grid-template-columns:1fr}.intro{gap:34px}.studio-grid{grid-template-columns:1fr}.studio-card{padding-bottom:28px}.spanish-inner{padding:72px 0 34px;gap:40px}.spanish-image{max-height:620px}.service-icons{margin-top:20px}.spanish-projects{padding-bottom:64px}.experience{gap:40px}.contact{min-height:520px;justify-content:center;align-items:flex-end}.contact-shade{background:linear-gradient(0deg,rgba(0,0,0,.52),rgba(0,0,0,.04) 60%)}.contact-card{width:calc(100% - 34px);margin:0 17px 17px;padding:26px 24px}.contact-card h2{font-size:42px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.image-frame img{transition:none}}

/* V3 refinements */
.studios-cta{display:flex;justify-content:center;margin-top:44px}
.button-outline{color:var(--ink);border-color:var(--gold);background:transparent}
.button-outline:hover{background:var(--gold);color:#111}
.spanish-inner{grid-template-columns:.72fr 1.28fr;align-items:start;padding-bottom:90px}
.spanish-copy{padding-top:18px}
.spanish-cover-intro{margin-top:8px}
.spanish-cover-intro .eyebrow{margin-bottom:14px}
.cover-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin:0 0 30px;align-items:end}
.cover-grid img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;box-shadow:0 5px 16px rgba(28,22,16,.08);transition:transform .22s ease,box-shadow .22s ease}
.cover-grid img:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(28,22,16,.14)}
.spanish-cta{margin-top:0}
@media(max-width:1100px){.cover-grid{grid-template-columns:repeat(4,1fr);gap:12px}.spanish-inner{grid-template-columns:.78fr 1.22fr}}
@media(max-width:860px){.studios-cta{margin-top:18px}.spanish-inner{grid-template-columns:1fr}.cover-grid{grid-template-columns:repeat(4,1fr)}.spanish-copy{padding-top:0}}
@media(max-width:520px){.cover-grid{grid-template-columns:repeat(2,1fr);gap:10px}}

/* V4: human performance gallery + tighter Spanish section */
.intro{grid-template-columns:1fr 1fr;row-gap:56px}
.performance-gallery{grid-column:1/-1;display:grid;grid-template-columns:1.05fr .95fr 1fr 1fr;gap:12px}
.performance-gallery figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#ddd}
.performance-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.performance-gallery figure:nth-child(1) img{object-position:center 35%}
.performance-gallery figure:nth-child(2) img{object-position:center 38%}
.performance-gallery figure:nth-child(3) img{object-position:center 30%}
.performance-gallery figure:nth-child(4) img{object-position:center 28%}
.performance-gallery figure:hover img{transform:scale(1.02)}

.spanish-inner{padding-top:82px;padding-bottom:62px;gap:5vw}
.spanish-copy h2{margin-bottom:18px}
.spanish-copy>p:not(.eyebrow){margin-top:0;margin-bottom:12px}
.service-icons{margin:16px 0 16px}
.spanish-cover-intro{margin-top:0}
.spanish-cover-intro .eyebrow{margin-bottom:10px}
.cover-grid{gap:8px;margin-bottom:22px}
.spanish-cta{margin-top:0}

@media(max-width:860px){
  .intro{row-gap:34px}
  .performance-gallery{grid-template-columns:repeat(2,1fr);gap:10px}
  .spanish-inner{padding-top:64px;padding-bottom:46px;gap:30px}
}
@media(max-width:520px){
  .performance-gallery{grid-template-columns:1fr 1fr}
  .performance-gallery figure{aspect-ratio:1/1}
}

/* V5: rotating performance gallery — uniform 4:3 frames */
.performance-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}
.performance-gallery figure{aspect-ratio:4/3;position:relative}
.performance-gallery img{object-position:center center;opacity:1;transition:opacity .38s ease,transform .4s ease}
.performance-gallery img.photo-fade{opacity:.08}
@media(max-width:520px){.performance-gallery figure{aspect-ratio:4/3}}

/* V7: publishing partner strip + more organic performance rotation */
.experience{grid-template-columns:.8fr 1.2fr;row-gap:58px}
.client-strip{grid-column:1/-1;border-top:1px solid var(--line);padding-top:28px}
.client-strip .eyebrow{margin-bottom:22px}
.client-marks{display:grid;grid-template-columns:1.35fr .75fr .9fr .9fr 1fr;align-items:center;gap:18px}
.client-mark{min-height:76px;display:flex;align-items:center;justify-content:center;text-align:center;padding:14px 10px;border:1px solid rgba(184,135,67,.25);background:rgba(255,255,255,.32);color:#302c27;letter-spacing:.02em;line-height:1.05;filter:grayscale(1);opacity:.72;transition:opacity .2s ease,border-color .2s ease,transform .2s ease}
.client-mark:hover{opacity:1;border-color:rgba(184,135,67,.58);transform:translateY(-1px)}
.client-mark.prh{font-family:var(--serif);font-size:20px;text-transform:none}
.client-mark.prh strong{font-family:var(--sans);font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-left:5px}
.client-mark.podium{font:800 21px var(--sans);letter-spacing:.16em}
.client-mark.scholastic{font:800 18px var(--sans);letter-spacing:.08em}
.client-mark.harper{font:600 20px var(--serif)}
.client-mark.macmillan{font:700 15px var(--sans);letter-spacing:.08em}.client-mark.macmillan strong{font-weight:500;margin-left:4px}
@media(max-width:900px){.client-marks{grid-template-columns:repeat(2,1fr)}.client-mark:last-child{grid-column:1/-1}.experience{row-gap:38px}}
@media(max-width:520px){.client-marks{grid-template-columns:1fr}.client-mark:last-child{grid-column:auto}.client-mark{min-height:62px}}
