:root{
  --black:#050505;
  --black-soft:#0b0b0b;
  --white:#f4f4f0;
  --paper:#e7e7e2;
  --gray:#9b9b96;
  --gold:#b99a5d;
  --line-dark:rgba(5,5,5,.22);
  --line-light:rgba(255,255,255,.22);
  --pad:clamp(1.25rem,4.2vw,4.75rem);
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --serif:"Iowan Old Style","Baskerville","Times New Roman",serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--sans);overflow-x:hidden}
body.intro-active{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
::selection{background:var(--gold);color:var(--black)}

.skip-link{position:fixed;z-index:1000;left:.75rem;top:.75rem;background:#fff;color:#000;padding:.8rem 1rem;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.progress{position:fixed;z-index:500;left:0;top:0;width:100%;height:2px}
.progress span{display:block;height:100%;width:var(--progress,0%);background:var(--gold);box-shadow:0 0 12px rgba(185,154,93,.5)}

.intro{position:fixed;z-index:900;inset:0;display:grid;place-items:center;pointer-events:none;color:#fff;animation:intro-hide .01s 1.78s forwards}
.intro-panel{position:absolute;top:0;bottom:0;width:50%;background:#020202;will-change:transform}
.intro-panel-left{left:0;animation:intro-left .7s cubic-bezier(.76,0,.24,1) 1.05s forwards}
.intro-panel-right{right:0;animation:intro-right .7s cubic-bezier(.76,0,.24,1) 1.05s forwards}
.intro-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.55rem;animation:intro-content 1.2s cubic-bezier(.2,.8,.2,1) both}
.intro-rule{width:1px;height:clamp(64px,10vh,110px);background:linear-gradient(0deg,var(--gold),transparent);transform-origin:bottom;animation:intro-rule .8s cubic-bezier(.2,.8,.2,1) both}
.intro-mark{font-family:var(--serif);font-size:2.1rem;color:var(--gold);line-height:1}
.intro-content p{margin:.25rem 0 0;font-size:.76rem;font-weight:800;letter-spacing:.24em}
.intro-content small{font-size:.7rem;letter-spacing:.18em;color:#94948f}.intro-content sup{font-size:.55em}
.intro-count{position:absolute;z-index:2;right:var(--pad);bottom:2rem;font-size:.72rem;font-weight:800;letter-spacing:.18em;color:#8e8e89;animation:intro-content 1.2s cubic-bezier(.2,.8,.2,1) both}
@keyframes intro-left{to{transform:translateX(-101%)}}
@keyframes intro-right{to{transform:translateX(101%)}}
@keyframes intro-content{0%{opacity:0;transform:translateY(18px)}35%,72%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-12px)}}
@keyframes intro-rule{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes intro-hide{to{visibility:hidden}}

.header{position:fixed;z-index:200;left:0;right:0;top:0;padding:1rem var(--pad);display:flex;align-items:center;justify-content:space-between;color:#fff;transition:background .35s,border-color .35s,padding .35s}
.header.scrolled{padding-top:.72rem;padding-bottom:.72rem;background:rgba(5,5,5,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.12)}
.brand{display:flex;align-items:center;gap:.8rem;font-size:.75rem;font-weight:800;letter-spacing:.18em}
.brand-mark{display:grid;place-items:center;width:44px;height:26px;color:var(--gold);border:1px solid rgba(255,255,255,.6);font-size:1.15rem;transition:background .25s,color .25s}
.brand:hover .brand-mark{background:var(--white);color:var(--black)}
.nav{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.2rem);font-size:.75rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.nav a{position:relative}
.nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-.42rem;height:1px;background:var(--white);transition:right .25s}
.nav a:hover:after{right:0}
.nav a.active:not(.nav-cta):after{right:0;background:var(--gold)}
.nav-cta{padding:.82rem 1.05rem;border:1px solid rgba(255,255,255,.7);transition:background .25s,color .25s}
.nav-cta:hover{background:var(--white);color:var(--black)}
.menu-button{display:none;border:0;background:none;color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.15em}
.menu-button i{display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;margin-left:.5rem}

.hero{position:relative;height:100svh;min-height:690px;background:#000;color:#fff;overflow:hidden;isolation:isolate}
.hero-image{position:absolute;z-index:-3;inset:0 0 0 auto;width:min(62vw,980px);overflow:hidden;transform:translate3d(var(--portrait-x,0px),var(--portrait-y,0px),0) scale(1.015);transition:transform .5s cubic-bezier(.2,.8,.2,1);will-change:transform;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 21%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 21%,#000 100%)}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:grayscale(1) contrast(1.18) brightness(.78);transform:translateY(var(--hero-shift,0px)) scale(1.045);animation:hero-settle 2.2s cubic-bezier(.2,.75,.2,1) .9s both;will-change:transform}
.hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,#000 0 26%,rgba(0,0,0,.84) 39%,rgba(0,0,0,.1) 78%,rgba(0,0,0,.5) 100%),linear-gradient(0deg,rgba(0,0,0,.92),transparent 43%)}
.hero-grain{position:absolute;z-index:0;inset:0;opacity:.11;background-image:radial-gradient(rgba(255,255,255,.75) .45px,transparent .65px);background-size:6px 6px;mix-blend-mode:soft-light;pointer-events:none}
.hero-flare{position:absolute;z-index:0;inset:0;opacity:.5;background:radial-gradient(600px circle at var(--pointer-x,75%) var(--pointer-y,35%),rgba(255,255,255,.09),transparent 45%);pointer-events:none;transition:opacity .4s}
.hero-meta{position:absolute;z-index:4;top:clamp(5.25rem,9vh,6.5rem);left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:.72rem;font-weight:800;letter-spacing:.19em;animation:hero-detail-in .9s cubic-bezier(.2,.8,.2,1) 2.05s both}
.hero-meta p{margin:0}.hero-meta sup{font-size:.55em}.hero-meta b{color:var(--gold);font-size:1.1rem}
.hero-title{position:absolute;z-index:3;inset:0;margin:0;transform:translate3d(var(--title-x,0px),var(--title-shift,0px),0);font-size:clamp(4.8rem,12.2vw,13.4rem);font-weight:900;line-height:.74;letter-spacing:-.09em;text-transform:uppercase;pointer-events:none;will-change:transform}
.hero-title>span{position:absolute;left:var(--pad);right:var(--pad);display:block;will-change:opacity,filter,clip-path,transform}
.hero-title>span:first-child{top:clamp(7rem,11.5vh,8.8rem);animation:title-cinema-down 1.25s cubic-bezier(.16,.8,.2,1) 1.45s both}
.hero-title>span:last-child{bottom:clamp(8.5rem,13vh,10rem);text-align:right;padding-right:1.5vw;animation:title-cinema-up 1.25s cubic-bezier(.16,.8,.2,1) 1.7s both}
.hero-title .accent{display:inline;color:var(--gold)}
.hero-foot{position:absolute;z-index:4;left:var(--pad);right:var(--pad);bottom:2rem;display:flex;justify-content:space-between;align-items:end;animation:hero-detail-in .9s cubic-bezier(.2,.8,.2,1) 2.25s both}
.hero-foot p{font-family:var(--serif);font-size:clamp(1rem,1.55vw,1.35rem);line-height:1.42;margin:0}
.hero-foot em{font-weight:400;color:#bdbdb7}
.scroll-link{display:flex;align-items:center;gap:2rem;font-size:.74rem;font-weight:800;letter-spacing:.16em;border-bottom:1px solid rgba(255,255,255,.68);padding-bottom:.7rem}
.scroll-link span{color:var(--gold);font-size:1rem;animation:scroll-pulse 1.8s ease-in-out infinite}
.hero-index{position:absolute;z-index:4;right:.65rem;top:50%;margin:0;transform:rotate(90deg) translateX(50%);transform-origin:right center;font-size:.68rem;font-weight:800;letter-spacing:.2em;color:rgba(255,255,255,.55)}
@keyframes title-cinema-down{from{opacity:0;filter:blur(16px);clip-path:inset(0 0 100% 0);transform:translateY(-34px)}to{opacity:1;filter:blur(0);clip-path:inset(0);transform:none}}
@keyframes title-cinema-up{from{opacity:0;filter:blur(16px);clip-path:inset(100% 0 0 0);transform:translateY(34px)}to{opacity:1;filter:blur(0);clip-path:inset(0);transform:none}}
@keyframes hero-detail-in{from{opacity:0;filter:blur(7px);transform:translateY(12px)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes hero-settle{from{opacity:0;transform:translateY(var(--hero-shift,0px)) scale(1.16)}to{opacity:1;transform:translateY(var(--hero-shift,0px)) scale(1.045)}}
@keyframes scroll-pulse{50%{transform:translateY(7px)}}

.marquee{height:clamp(64px,7vw,96px);overflow:hidden;background:var(--white);color:var(--black);border-top:1px solid #000;border-bottom:1px solid #000;display:flex;align-items:center}
.marquee>div{display:flex;align-items:center;gap:clamp(1.5rem,3vw,3rem);width:max-content;white-space:nowrap;animation:marquee 22s linear infinite}
.marquee span{font-size:clamp(1.15rem,2vw,2rem);font-weight:900;letter-spacing:-.04em}
.marquee i{font-family:var(--serif);font-size:1.45rem;font-style:normal;color:var(--gold)}
@keyframes marquee{to{transform:translateX(-50%)}}

.story{height:440vh;background:#020202;color:#fff}
.story-sticky{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden}
.story-sticky:after{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.08) 42%,rgba(0,0,0,.72)),linear-gradient(0deg,rgba(0,0,0,.7),transparent 45%);pointer-events:none}
.story-topline{position:absolute;z-index:8;top:5rem;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font-size:.72rem;font-weight:800;letter-spacing:.2em}
.story-frame{position:absolute;z-index:1;top:0;left:50%;width:min(47vw,720px);height:100%;transform:translateX(-50%);overflow:hidden}
.story-frame:before{content:"";position:absolute;z-index:2;inset:3rem 0 0;border:1px solid rgba(255,255,255,.18);border-bottom:0}
.story-frame img{width:100%;height:112%;object-fit:cover;object-position:center 19%;filter:grayscale(1) contrast(1.24) brightness(.59);transform:translateY(var(--portrait-shift,0px)) scale(var(--portrait-scale,1.05));will-change:transform}
.story-copy{position:absolute;z-index:5;inset:0}
.story-line{position:absolute;inset:0;padding:0 var(--pad);display:flex;flex-direction:column;justify-content:center;opacity:0;visibility:hidden;transform:translateY(70px);transition:opacity .55s,transform .75s cubic-bezier(.2,.8,.2,1),visibility .55s}
.story-line.active{opacity:1;visibility:visible;transform:none}
.story-line p{margin:0 0 1rem;font-size:.72rem;font-weight:800;letter-spacing:.21em;color:var(--gold)}
.story-line h2{max-width:94vw;margin:0;font-size:clamp(3.55rem,8.55vw,9.25rem);line-height:.82;letter-spacing:-.075em;font-weight:900}
.story-line:nth-child(even){text-align:right;align-items:flex-end}
.story-line em{font-family:var(--serif);font-weight:400;color:#b9b9b4}
.story-rail{position:absolute;z-index:8;right:var(--pad);top:15%;bottom:15%;width:1px;background:rgba(255,255,255,.22)}
.story-rail span{display:block;width:3px;margin-left:-1px;height:var(--story-progress,0%);background:var(--gold)}
.story-signature{position:absolute;z-index:8;left:var(--pad);bottom:2rem;font-size:clamp(.9rem,1.35vw,1.15rem);font-weight:800;letter-spacing:.1em}
.story-signature span{font-family:var(--serif);font-weight:400;color:var(--gray)}
.story-signature sup{font-size:.5em}.story-signature b{color:var(--gold);font-size:1.4rem;margin-left:.65rem}

.section-pad{padding:clamp(6rem,11vw,11rem) var(--pad)}
.section-label{display:flex;align-items:center;gap:1rem;font-size:.72rem;font-weight:800;letter-spacing:.2em}
.section-label span{color:var(--gold)}
.reveal{opacity:0;filter:blur(7px);clip-path:inset(0 0 12% 0);transform:translateY(36px);transition:opacity .8s ease,filter .8s ease,clip-path .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;filter:blur(0);clip-path:inset(0);transform:none}
.magnetic{will-change:transform;transition:transform .28s cubic-bezier(.2,.8,.2,1),background-color .25s,color .25s}
.depth-image img{will-change:transform;transform:translate3d(0,var(--depth-y,0px),0) scale(1.12)}

.about{background:var(--paper);color:var(--black)}
.about-lead{display:grid;grid-template-columns:.32fr .68fr;gap:clamp(2rem,7vw,8rem);align-items:start;margin-top:clamp(5rem,9vw,9rem)}
.about-kicker{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.45;margin:0}
.about-lead h2{font-size:clamp(3rem,5.55vw,6.4rem);line-height:.92;letter-spacing:-.067em;margin:0;font-weight:800}
.about-lead h2 em{font-family:var(--serif);font-weight:400;color:#555550}
.about-grid{display:grid;grid-template-columns:.48fr .52fr;gap:clamp(3rem,8vw,9rem);margin-top:clamp(6rem,11vw,11rem);align-items:start}
.about-gallery{min-width:0}
.about-portrait{position:relative;margin:0;height:min(65vw,680px);overflow:hidden;background:var(--black)}
.about-portrait:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.22);pointer-events:none}
.about-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(1) contrast(1.08)}
.about-portrait figcaption{position:absolute;left:1.2rem;bottom:1.2rem;color:#fff;font-size:.72rem;font-weight:800;letter-spacing:.17em;line-height:1.55}
.about-cameos{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}
.about-cameos figure{position:relative;margin:0;aspect-ratio:1;overflow:hidden;background:#111}
.about-cameos img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.12);transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .45s}
.about-cameos figure:hover img{transform:scale(1.035);filter:grayscale(1) contrast(1.22)}
.about-cameos figcaption{position:absolute;left:.8rem;bottom:.7rem;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.17em}
.about-body{padding-top:1rem}
.about-body p{font-size:clamp(1.05rem,1.55vw,1.3rem);line-height:1.65;max-width:48rem}
.about-body .lead{font-family:var(--serif);font-size:clamp(1.45rem,2.4vw,2.2rem);line-height:1.4;margin-top:0}
.about-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line-dark)}
.about-facts div{display:flex;flex-direction:column;gap:.6rem}
.about-facts strong{font-size:clamp(2.5rem,4.8vw,5rem);letter-spacing:-.075em;color:var(--black)}
.about-facts span{font-size:.72rem;font-weight:800;letter-spacing:.14em;line-height:1.45}

.philosophy{background:var(--black);color:#fff}
.philosophy-intro{display:grid;grid-template-columns:.42fr .58fr;gap:3rem}
.philosophy-intro>p{font-family:var(--serif);font-size:clamp(1.6rem,3.2vw,3.4rem);line-height:1.24;margin:0;color:#d0d0cb}
.pillar-list{border-top:1px solid var(--line-light)}
.pillar{display:grid;grid-template-columns:70px 1fr .45fr;align-items:center;gap:2rem;padding:2.2rem var(--pad);border-bottom:1px solid var(--line-light);transition:background .35s,color .35s,padding .35s}
.pillar:hover{background:var(--white);color:var(--black);padding-left:calc(var(--pad) + 1rem);padding-right:calc(var(--pad) + 1rem)}
.pillar>span{font-size:.72rem;font-weight:800;color:var(--gold)}
.pillar h2{font-size:clamp(3rem,7vw,8rem);line-height:.8;letter-spacing:-.08em;margin:0}
.pillar p{font-family:var(--serif);font-size:1.08rem}
.philosophy-quote{text-align:center;min-height:82vh;display:flex;flex-direction:column;justify-content:center;align-items:center;border-bottom:1px solid var(--line-light)}
.philosophy-quote>p{font-size:.72rem;font-weight:800;letter-spacing:.2em;color:var(--gold)}
.philosophy-quote blockquote{font-size:clamp(2.5rem,5.5vw,6rem);line-height:1;letter-spacing:-.06em;margin:2rem 0;font-weight:700}
.philosophy-quote em{font-family:var(--serif);font-weight:400;color:#aaa}
.philosophy-quote>span{font-size:2.35rem;color:var(--gold)}

.work{background:var(--paper);color:var(--black)}
.work-head{display:grid;grid-template-columns:.32fr .68fr;gap:3rem;margin-bottom:6rem}
.work-head h2,.books-head h2{font-size:clamp(3.2rem,6.4vw,7.2rem);line-height:.88;letter-spacing:-.075em;margin:0}
.work-head em{font-family:var(--serif);font-weight:400;color:#565651}
.service-list{border-top:1px solid var(--black)}
.service{display:grid;grid-template-columns:65px .8fr 1fr;gap:clamp(1.5rem,4vw,5rem);padding:3rem 0;border-bottom:1px solid var(--black);align-items:start}
.service>span{font-size:.72rem;font-weight:800;color:#666}
.service h3{font-size:clamp(1.8rem,3.2vw,3.4rem);line-height:1;letter-spacing:-.055em;margin:0}
.service h3,.service>span{transition:transform .35s cubic-bezier(.2,.8,.2,1),color .35s}
.service:hover h3{transform:translateX(.55rem)}.service:hover>span{color:var(--gold)}
.service p{font-size:1rem;line-height:1.6;margin:0}
.service div{grid-column:3;display:flex;flex-wrap:wrap;gap:.5rem}
.service i{font-size:.72rem;font-weight:800;font-style:normal;letter-spacing:.1em;border:1px solid var(--line-dark);padding:.45rem .65rem}
.text-cta{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:3rem;padding:1rem 0;border-bottom:1px solid var(--black);font-size:.72rem;font-weight:800;letter-spacing:.16em}
.text-cta span{font-size:1.2rem;transition:transform .25s}.text-cta:hover span{transform:translate(5px,-5px)}

.books{background:var(--black-soft);color:#fff}
.books-head{display:grid;grid-template-columns:.3fr .55fr .15fr;gap:2rem;align-items:end}
.books-head h2 em{font-family:var(--serif);font-weight:400;color:#a5a5a0}
.books-head>p{font-family:var(--serif);line-height:1.5;color:#b8b8b3}
.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,3vw,3rem);margin-top:6rem}
.book{perspective:1200px}
.book-cover{display:block;position:relative;aspect-ratio:2/3;background:#151515;overflow:hidden;transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--tilt-lift,0px));transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
.book-cover:before{content:"";position:absolute;z-index:2;inset:0;background:radial-gradient(420px circle at var(--shine-x,50%) var(--shine-y,50%),rgba(255,255,255,.22),transparent 42%);mix-blend-mode:soft-light;opacity:0;transition:opacity .3s;pointer-events:none}
.book-cover:hover{--tilt-lift:-10px;box-shadow:0 28px 55px rgba(0,0,0,.48)}
.book-cover:hover:before{opacity:1}
.book-cover:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.22);transition:inset .35s}
.book-cover:hover:after{inset:11px}
.book-cover img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08);transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s}
.book-cover:hover img{transform:scale(1.035);filter:grayscale(0) contrast(1)}
.book-meta{display:flex;justify-content:space-between;margin-top:1.3rem;padding-top:1rem;border-top:1px solid var(--line-light);font-size:.7rem;font-weight:800;letter-spacing:.15em;color:var(--gold)}
.book h3{font-size:clamp(1.7rem,2.9vw,3.1rem);line-height:.94;letter-spacing:-.06em;margin:1.3rem 0 .8rem}
.book>p{font-family:var(--serif);line-height:1.45;margin:0;min-height:4.5em;color:#c0c0bb}
.book-link{display:inline-block;margin-top:1.4rem;padding-bottom:.5rem;border-bottom:1px solid;font-size:.72rem;font-weight:800;letter-spacing:.14em}

.briefs{background:#101010;color:#fff;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
.brief-layout{display:grid;grid-template-columns:.34fr .66fr;gap:clamp(3rem,8vw,9rem);margin-top:6rem}
.brief-title>p{font-size:clamp(2.4rem,4.2vw,4.7rem);line-height:.86;letter-spacing:-.07em;font-weight:800;margin:0 0 3rem}
.brief-title>a{font-size:.72rem;font-weight:800;letter-spacing:.15em;border-bottom:1px solid;padding-bottom:.55rem}
.brief-quote{border-left:1px solid rgba(255,255,255,.3);padding-left:clamp(2rem,5vw,5rem)}
.brief-quote>span{font-size:.72rem;font-weight:800;letter-spacing:.17em;color:var(--gold)}
.brief-quote blockquote{font-size:clamp(2.1rem,4vw,4.6rem);line-height:.98;letter-spacing:-.06em;margin:2rem 0;font-weight:700}
.brief-quote>p{font-family:var(--serif);font-size:1.08rem;line-height:1.55;max-width:48rem;color:#bcbcb7}
.brief-quote button{display:flex;justify-content:space-between;width:100%;margin-top:3rem;padding:1rem 0;background:none;border:0;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light);font-size:.72rem;font-weight:800;letter-spacing:.15em;cursor:pointer;transition:color .25s}
.brief-quote button:hover{color:var(--gold)}
.brief-status{display:flex;gap:.45rem;align-items:center;margin-top:1rem}
.brief-status span{height:2px;flex:1;background:rgba(255,255,255,.18);transition:background .35s,transform .35s;transform-origin:left}
.brief-status span.active{background:var(--gold);transform:scaleY(2)}
.brief-quote.changing blockquote,.brief-quote.changing>p{animation:brief-change .45s ease}
@keyframes brief-change{50%{opacity:0;transform:translateY(12px)}}

.speaking{display:grid;grid-template-columns:.47fr .53fr;min-height:100vh;background:var(--black);color:#fff}
.speaking-image{position:relative;overflow:hidden;min-height:760px;background:#111}
.speaking-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.68),transparent 42%),linear-gradient(90deg,transparent 75%,var(--black));pointer-events:none}
.speaking-image img{width:100%;height:110%;object-fit:cover;object-position:center 18%;filter:grayscale(1) contrast(1.22) brightness(.73);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.speaking-copy{display:flex;flex-direction:column;justify-content:center}
.speaking-copy h2{font-size:clamp(2.7rem,4.9vw,5.7rem);line-height:.93;letter-spacing:-.07em;margin:4rem 0 2rem}
.speaking-copy h2 em{font-family:var(--serif);font-weight:400;color:#aaa}
.speaking-copy>p{font-family:var(--serif);font-size:1.12rem;line-height:1.55;color:#bdbdb7}
.talk-list{list-style:none;padding:0;margin:3rem 0;border-top:1px solid var(--line-light)}
.talk-list li{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line-light);font-size:.75rem;font-weight:700;letter-spacing:.08em}
.talk-list li span{color:var(--gold);font-size:.7rem}
.solid-cta{display:flex;justify-content:space-between;align-items:center;background:var(--white);color:var(--black);padding:1.15rem 1.25rem;max-width:330px;font-size:.72rem;font-weight:800;letter-spacing:.14em;transition:background .25s,color .25s,transform .25s}
.solid-cta span{font-size:1.1rem}.solid-cta:hover{background:var(--gold)}

.contact{min-height:100svh;background:var(--paper);color:var(--black);display:flex;flex-direction:column;justify-content:space-between}
.contact-top,.contact-foot{display:flex;justify-content:space-between;align-items:end}
.contact-top>p{font-size:.72rem;font-weight:800;letter-spacing:.15em}
.contact h2{font-size:clamp(4.2rem,12.5vw,13.5rem);line-height:.68;letter-spacing:-.09em;margin:clamp(5rem,10vh,8rem) 0}
.contact h2 em{font-family:var(--serif);font-weight:400;color:#666660}
.contact-foot>p{font-family:var(--serif);font-size:1.15rem;line-height:1.5;max-width:38rem}
.contact-foot>a{display:flex;gap:3rem;align-items:center;border-bottom:1px solid;padding-bottom:.8rem;font-size:.72rem;font-weight:800;letter-spacing:.15em}
.contact-foot>a span{font-size:1.1rem;transition:transform .25s}.contact-foot>a:hover span{transform:translate(5px,-5px)}

.footer{background:#030303;color:#fff;padding:3rem var(--pad);display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;border-top:1px solid var(--line-light)}
.footer>div{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem;align-items:center}
.footer-mark{grid-row:1/3;color:var(--gold);font-size:2rem}
.footer strong{font-size:.75rem;letter-spacing:.17em}
.footer small,.footer p,.footer nav{font-size:.7rem;letter-spacing:.12em}
.footer small{color:rgba(255,255,255,.52)}
.footer nav{display:flex;gap:1.5rem;font-weight:800}.footer nav a:hover{color:var(--gold)}
.footer p{grid-column:1/-1;color:rgba(255,255,255,.42)}

@media(max-width:900px){
  .nav{position:fixed;inset:0;background:rgba(5,5,5,.98);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:5rem var(--pad);transform:translateX(100%);transition:transform .35s;z-index:-1}
  .nav.open{transform:none}.nav a{font-size:clamp(2rem,8vw,4rem);letter-spacing:-.045em}
  .menu-button{display:block}.hero-image{width:78%;opacity:.9}.hero-title{font-size:clamp(4.5rem,15.5vw,8.5rem)}
  .story-frame{width:70vw}.about-lead,.about-grid,.philosophy-intro,.work-head,.books-head,.brief-layout,.speaking{grid-template-columns:1fr}
  .about-lead{gap:2rem}.about-portrait{height:780px}.philosophy-intro{gap:3rem}
  .pillar{grid-template-columns:50px 1fr}.pillar p{grid-column:2}
  .service{grid-template-columns:45px 1fr}.service p,.service div{grid-column:2}
  .books-head>p{max-width:20rem}.book-grid{grid-template-columns:1fr;gap:5rem}
  .book{display:grid;grid-template-columns:.48fr .52fr;column-gap:2rem;align-items:start}.book-cover{grid-row:1/6}.book-meta{margin-top:0}.book>p{min-height:0}
  .speaking-image{min-height:80svh}.footer{grid-template-columns:1fr}.footer nav{flex-wrap:wrap}
}

@media(max-width:600px){
  .header{padding-top:.8rem;padding-bottom:.8rem}.brand>span:last-child{display:none}
  .hero{min-height:650px}.hero-image{width:100%;opacity:.82;-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 38%);mask-image:linear-gradient(0deg,transparent 0,#000 38%)}
  .hero-image img{object-position:60% top}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.08)),linear-gradient(0deg,#000 0 22%,transparent 58%,rgba(0,0,0,.35))}
  .hero-meta{top:5.6rem;display:block;line-height:1.7}.hero-meta p:last-child{display:none}
  .hero-title{font-size:18vw;line-height:.78}.hero-title>span:first-child{top:7.15rem}.hero-title>span:last-child{bottom:10rem;padding-right:0;text-align:right}
  .hero-foot{display:block}.hero-foot p{margin-bottom:1.8rem}.scroll-link{width:max-content}.hero-index{display:none}
  .marquee{height:62px}.story{height:400vh}.story-topline{top:5.2rem}.story-frame{width:100%;opacity:.84}.story-frame:before{inset:18% 1rem 0}
  .story-sticky:after{background:linear-gradient(0deg,#020202 0 19%,transparent 49%),rgba(0,0,0,.23)}
  .story-line{justify-content:flex-end;padding-bottom:8rem}.story-line:nth-child(even){text-align:left;align-items:flex-start}.story-line h2{font-size:clamp(3rem,13.5vw,5rem)}
  .story-rail{display:none}.story-signature{font-size:.76rem;bottom:2rem}
  .section-pad{padding-top:5.5rem;padding-bottom:5.5rem}.about-lead h2,.work-head h2,.books-head h2{font-size:clamp(3rem,13vw,5rem)}
  .about-portrait{height:530px}.about-cameos{gap:.65rem;margin-top:.65rem}.about-facts{grid-template-columns:1fr 1fr}.about-facts>div:last-child{grid-column:1/-1}
  .pillar{padding-top:1.6rem;padding-bottom:1.6rem;gap:.7rem}.pillar:hover{padding-left:var(--pad);padding-right:var(--pad)}.pillar h2{font-size:clamp(2.7rem,15vw,4.4rem)}
  .philosophy-quote{min-height:70vh}.service{padding:2.2rem 0}.book{display:block}.book-grid{gap:5rem}.book-meta{margin-top:1.2rem}
  .brief-quote{border-left:0;border-top:1px solid var(--line-light);padding:2rem 0 0}.speaking-image{min-height:72svh}
  .contact-top,.contact-foot{display:block}.contact-top>p{margin-top:1.5rem}.contact h2{font-size:17vw;line-height:.76}.contact-foot>p{margin-bottom:2rem}.contact-foot>a{width:max-content}
  .book-cover,.book-cover:hover{transform:none;--tilt-lift:0px}
  .footer nav{display:grid;grid-template-columns:1fr 1fr}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.intro{display:none}.hero-image img,.hero-title>span,.hero-meta,.hero-foot,.scroll-link span,.marquee>div{animation:none}.reveal{opacity:1;filter:none;clip-path:none;transform:none;transition:none}.story-line,.book-cover,.book-cover img,.speaking-image img{transition:none}
}
