/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Jost',system-ui,sans-serif;font-weight:var(--body-weight);font-size:17px;line-height:1.7}
img{max-width:100%;display:block}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{font-family:'Marcellus',Georgia,serif;font-weight:400;line-height:1.15;margin:0 0 .5em;color:var(--heading);letter-spacing:var(--heading-track);text-transform:var(--heading-case)}
h1{font-size:clamp(2.1rem,4.6vw,3.6rem)}
h2{font-size:clamp(1.6rem,3vw,2.3rem)}
h3{font-size:1.35rem}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.narrow{width:min(760px,100% - 40px)}
.center{text-align:center}
.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;font-weight:500}
.lead{font-size:1.15rem;color:var(--text-strong)}
.muted{color:var(--muted)}
.small{font-size:.9rem}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:var(--accent);color:#000;padding:8px 12px}
section{padding:clamp(40px,5.5vw,72px) 0}

/* buttons */
.btn{display:inline-block;padding:.85em 1.8em;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);text-decoration:none;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;border-radius:var(--radius);transition:background .2s,color .2s}
.btn:hover{background:transparent;color:var(--accent)}
.btn-ghost{background:transparent;color:var(--text-strong);border-color:var(--line-strong)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-small{padding:.6em 1.2em;font-size:.72rem}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:2rem}
.center .actions{justify-content:center}

/* header */
.site-header{position:var(--header-pos);top:0;left:0;right:0;z-index:20;background:var(--header-bg);border-bottom:1px solid var(--header-line);backdrop-filter:var(--header-blur)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:24px}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.brand-word{font-family:'Marcellus',serif;font-size:1.35rem;letter-spacing:.14em;text-transform:uppercase;color:var(--heading)}
.brand-sub{font-size:.66rem;letter-spacing:.42em;text-transform:uppercase;color:var(--accent);margin-top:6px}
.brand img{height:74px;width:auto;margin:-6px 0}
.site-nav{display:flex;align-items:center;gap:30px}
.site-nav a:not(.btn){text-decoration:none;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--nav);padding:6px 0;border-bottom:1px solid transparent}
.site-nav a:not(.btn):hover,.site-nav a[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}
.nav-toggle,.burger{display:none}

/* footer */
.site-footer{background:var(--footer-bg);color:var(--footer-text);padding:56px 0 28px;font-size:.92rem}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.footer-brand{font-family:'Marcellus',serif;font-size:1.2rem;letter-spacing:.1em;text-transform:uppercase;color:var(--footer-head);margin-bottom:.4em}
.site-footer nav{display:flex;flex-direction:column;gap:8px}
.site-footer nav a{text-decoration:none;color:var(--footer-text)}
.site-footer nav a:hover{color:var(--accent)}
.legal{padding-top:20px;font-size:.8rem}

/* press strip */
.press-strip{padding:32px 0;border-bottom:1px solid var(--line);background:var(--band)}
.press-strip .eyebrow{margin-bottom:.6rem}
.press-names{font-family:'Marcellus',serif;font-size:clamp(1rem,1.8vw,1.3rem);letter-spacing:.06em;color:var(--text-strong);margin:0}
.press-names span{color:var(--accent);margin:0 .5em}

/* features */
.features .wrap{display:flex;flex-direction:column;gap:clamp(40px,5.5vw,72px)}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.feature.flip .feature-media{order:2}
.feature-media img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius)}
.feature-text{max-width:520px}
blockquote{margin:2rem 0 0;padding:0 0 0 1.4rem;border-left:2px solid var(--accent)}
blockquote p{font-family:'Marcellus',serif;font-size:1.2rem;line-height:1.5;color:var(--text-strong);margin-bottom:.5em}
cite{font-style:normal;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}

/* big quote */
.big-quote{background:var(--band)}
.big-quote blockquote{border:0;padding:0;margin:0}
.big-quote blockquote p{font-size:clamp(1.5rem,3.2vw,2.3rem);line-height:1.35}

/* shows */
.section-head{margin-bottom:32px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.card{text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,border-color .25s}
.card:hover{transform:translateY(-4px);border-color:var(--accent)}
.card-media img{width:100%;aspect-ratio:16/10;object-fit:cover}
.card-body{padding:28px 30px 32px}
.card-body p{color:var(--text)}
.link{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}

/* contact */
.contact{background:var(--contact-bg);border-top:1px solid var(--line)}
.contact a:not(.btn){color:var(--accent)}

/* about */
.page-intro{padding-bottom:24px}
.people .wrap{display:flex;flex-direction:column;gap:48px}
.person{display:grid;grid-template-columns:minmax(0,360px) 1fr;gap:clamp(32px,6vw,72px);align-items:start}
.person-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius)}
.role{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-top:-.2em;margin-bottom:1.4em}
.quotes{background:var(--band)}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.quote-card{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.quote-media img{width:100%;aspect-ratio:3/2;object-fit:cover}
.quote-card blockquote{margin:0;padding:24px 26px 28px;border:0}
.quote-card blockquote p{font-size:1.08rem}

/* press page */
.press-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.press-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px 20px 22px;text-decoration:none;min-height:170px;transition:border-color .2s,transform .2s}
.press-tile img{height:48px;width:100%;object-fit:contain;opacity:.9;transition:opacity .2s}
.press-tile span{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center}
.press-tile em{font-style:normal;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);opacity:0;transition:opacity .2s}
.press-tile:hover{border-color:var(--accent);transform:translateY(-3px)}
.press-tile:hover img{opacity:1}.press-tile:hover em{opacity:1}
@media (hover:none){.press-tile em{opacity:1}}

/* mobile */
@media (max-width:900px){
  body{font-size:16px}
  .feature,.cards,.person{grid-template-columns:1fr}
  .feature.flip .feature-media{order:0}
  .feature-media img{aspect-ratio:3/2}
  .quote-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
  .burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:10px;margin-right:-10px}
  .burger span{width:24px;height:1.5px;background:var(--heading);display:block;transition:transform .2s,opacity .2s}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:6px;padding:20px 20px 28px;background:var(--menu-bg);border-bottom:1px solid var(--line)}
  .nav-toggle:checked~.site-nav{display:flex}
  .nav-toggle:checked+.burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .nav-toggle:checked+.burger span:nth-child(2){opacity:0}
  .nav-toggle:checked+.burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
  .site-nav .btn{margin-top:10px}
  .brand img{height:46px}
}
.person > div{max-width:640px}
.brand-logo img{height:84px;width:auto;margin:6px 0}
.footer-logo{height:72px;width:auto;margin-bottom:14px}
@media (max-width:900px){.brand-logo img{height:50px}}
.press-logos{list-style:none;margin:8px auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:26px 48px;max-width:1100px}
.press-logos img{height:var(--h,30px);width:auto;max-width:190px;object-fit:contain;opacity:.9;transition:opacity .2s}
.press-logos a:hover img{opacity:1}
.press-more{margin:26px 0 0;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}
.press-more a{color:var(--accent);text-decoration:none}
@media (max-width:900px){.press-logos{gap:22px 30px}.press-logos img{height:calc(var(--h,30px)*.8);max-width:130px}}
/* press page: five-star + quotes */
.five-star{background:var(--band)}
.star-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.star-card{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px 26px;display:flex;flex-direction:column;align-items:flex-start}
.star-logo{height:34px;width:auto;max-width:170px;object-fit:contain;object-position:left;margin-bottom:20px;opacity:.9}
.stars{color:var(--accent);letter-spacing:.2em;font-size:1rem;margin-bottom:12px}
.star-card h3{font-size:1.45rem;margin-bottom:.6em}
.star-card blockquote{margin:0 0 18px;padding:0;border:0}
.star-card blockquote p{font-family:'Jost',sans-serif;font-size:.98rem;line-height:1.6;color:var(--text)}
.star-card figcaption{margin-top:auto}
.star-card figcaption a,.press-quote figcaption a{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);text-decoration:none}
.quote-columns{columns:2;column-gap:56px}
.press-quote{break-inside:avoid;margin:0 0 40px;padding-left:22px;border-left:2px solid var(--accent)}
.press-quote h3{font-size:1.3rem;margin-bottom:.4em}
.press-quote blockquote{margin:0 0 10px;padding:0;border:0}
.press-quote blockquote p{font-family:'Jost',sans-serif;font-size:1rem;color:var(--text);margin:0}
.press-grid-wrap{background:var(--band)}
@media (max-width:1100px){.star-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.star-grid{grid-template-columns:1fr}.quote-columns{columns:1}}

@media (max-width:900px){.press-grid{grid-template-columns:repeat(2,1fr);gap:14px}.press-tile{min-height:140px;padding:22px 14px 16px}.press-tile img{height:38px}}

/* animated logo (home hero) */
.ld-anim{width:min(380px,70vw);height:auto;display:block;margin:0 0 28px;overflow:visible}
.ld-gw{opacity:0;animation:ldFade 1.2s ease-out forwards}
.ld-g{transform-box:fill-box;transform-origin:center;animation:ldTurn 4.5s cubic-bezier(.25,.6,.3,1) .2s forwards}
@keyframes ldTurn{from{transform:rotate(0)}to{transform:rotate(var(--deg))}}
@keyframes ldFade{to{opacity:1}}
.ld-d{transform-box:view-box;transform-origin:375px 607px;opacity:0;animation:ldRoll 1.6s cubic-bezier(.2,.9,.25,1) .2s forwards}
@keyframes ldRoll{from{opacity:0;transform:rotate(-120deg) scale(.6)}60%{opacity:1}to{opacity:1;transform:none}}
.ld-lemon{opacity:0;animation:ldRise .9s cubic-bezier(.2,.8,.2,1) .9s forwards}
@keyframes ldRise{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:none}}
.ld-ifficult{clip-path:inset(0 100% 0 0);animation:ldWipe 1.1s cubic-bezier(.6,0,.2,1) 1.4s forwards}
@keyframes ldWipe{to{clip-path:inset(0 0 0 0)}}
.ld-studio{opacity:0;animation:ldSlide .8s cubic-bezier(.2,.8,.2,1) 2.3s forwards}
@keyframes ldSlide{from{opacity:0;transform:translateX(70px)}to{opacity:1;transform:none}}
.hero-content .h1-after-logo{animation:ldUp .8s ease-out 1s both}
@keyframes ldUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
/* once per visit: skip straight to the end state */
.ld-seen .ld-anim *,.ld-seen .h1-after-logo{animation-duration:0s!important;animation-delay:0s!important}
@media (prefers-reduced-motion:reduce){.ld-anim *,.h1-after-logo{animation-duration:0s!important;animation-delay:0s!important}}
@media (max-width:900px){.ld-anim{width:min(260px,70vw);margin-bottom:20px}}

.is-home .brand-logo{visibility:hidden}
/* Option A: Cinematic (dark, gold) */
:root{--bg:#0d0c0b;--band:#151311;--card:#181614;--contact-bg:#100f0d;--text:#bdb6aa;--text-strong:#ece6da;--heading:#f3eee4;--muted:#8a8378;--accent:#c9a64a;--on-accent:#0d0c0b;--line:rgba(255,255,255,.09);--line-strong:rgba(255,255,255,.35);--nav:#e9e3d6;--radius:0;--body-weight:400;--heading-track:.04em;--heading-case:uppercase;
--header-pos:absolute;--header-bg:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,0));--header-line:transparent;--header-blur:none;--menu-bg:#0d0c0b;--footer-bg:#080807;--footer-text:#a39c90;--footer-head:#f3eee4}
.hero{position:relative;min-height:88vh;display:flex;align-items:center;padding:130px 0 clamp(48px,7vw,90px);overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,.15) 40%,rgba(13,12,11,.92) 100%)}
.hero-content{position:relative;max-width:1180px}
.hero h1{max-width:14ch}
.hero .lead{max-width:46ch}
.page-intro{padding-top:130px}
h1,h2{line-height:1.12}
