@font-face{font-family:Manrope;src:url('assets/manrope.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:Editorial;src:url('assets/editorial-italic.woff2') format('woff2');font-style:italic;font-weight:400 600;font-display:swap}
:root{color-scheme:dark;--ink:#0d0f0e;--paper:#e8e8e1;--muted:#a3a69f;--copper:#b86848;--ember:#62362c;--line:rgba(232,232,225,.17);--sans:Manrope,Arial,Helvetica,sans-serif;--serif:Editorial,'Times New Roman',serif;--gutter:clamp(24px,4.6vw,88px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img{display:block;width:100%;height:auto}
svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:6px}
::selection{background:var(--copper);color:var(--ink)}
h1,h2,p,figure{margin:0}
h1,h2{font-weight:500;letter-spacing:-.065em;line-height:1.06}
em{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}
.skip-link{position:fixed;left:20px;top:-100px;z-index:20;background:var(--paper);color:var(--ink);padding:12px 20px}
.skip-link:focus{top:16px}
.site-header{height:90px;display:flex;align-items:center;gap:32px;justify-content:space-between;padding:0 var(--gutter);position:sticky;top:0;z-index:10;background:rgba(13,15,14,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;font-size:20px;line-height:1;font-weight:700;letter-spacing:.13em}
.brand-mark{width:27px;height:36px;object-fit:contain;filter:invert(1);mix-blend-mode:screen}
.header-origin{font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--muted);margin-right:auto;margin-left:24px}
.navigation{display:flex;align-items:center;gap:32px;font-size:14px}
.navigation a{position:relative;white-space:nowrap;padding:12px 0}
.navigation a::after{content:'';position:absolute;bottom:6px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.navigation a:hover::after,.navigation a[aria-current="location"]::after{transform:scaleX(1)}
.navigation .nav-contact{display:flex;align-items:center;gap:20px;margin-left:14px;color:#e1a081}
.nav-contact svg{width:17px;height:17px}
.menu-toggle{display:none}
.reading-progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--copper);transform:scaleX(0);transform-origin:left}
.hero{position:relative;height:145svh;min-height:980px;background:#242219}
.hero-stage{position:sticky;top:90px;isolation:isolate;height:calc(100svh - 90px);min-height:650px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:#242219}
.hero-media,.hero-shade{position:absolute;inset:-8px;z-index:-2;overflow:hidden}
.hero-media{will-change:transform}
.hero-image{width:100%;height:112%;object-fit:cover;object-position:50% 56%;transform:translate3d(0,-4%,0) scale(1.035);will-change:transform;animation:hero-settle 1.8s cubic-bezier(.15,.5,.25,1) both}
.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(8,10,8,.44),rgba(8,10,8,.04) 80%),linear-gradient(0deg,rgba(10,12,9,.65),transparent 32%,transparent 80%,rgba(10,12,9,.08))}
.hero-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:.15}
.hero-atmosphere i{position:absolute;height:1px;width:34vw;right:-5vw;background:linear-gradient(90deg,transparent,rgba(235,172,137,.72),transparent);transform:rotate(-8deg);will-change:transform}
.hero-atmosphere i:nth-child(1){top:28%;width:44vw}
.hero-atmosphere i:nth-child(2){top:50%;right:4vw;width:30vw;opacity:.45}
.hero-atmosphere i:nth-child(3){top:69%;right:-12vw;width:58vw;opacity:.7}
.perimeter-frame{position:absolute;inset:clamp(20px,2.4vw,44px);z-index:-1;pointer-events:none;opacity:.42}
.perimeter-frame>i{position:absolute;width:38px;height:38px}
.perimeter-frame>i::before,.perimeter-frame>i::after{content:'';position:absolute;background:rgba(232,232,225,.55)}
.perimeter-frame>i::before{width:38px;height:1px;left:0;top:0}
.perimeter-frame>i::after{width:1px;height:38px;left:0;top:0}
.perimeter-frame>i:nth-child(1){left:0;top:0}
.perimeter-frame>i:nth-child(2){right:0;top:0;transform:rotate(90deg)}
.perimeter-frame>i:nth-child(3){right:0;bottom:0;transform:rotate(180deg)}
.perimeter-frame>i:nth-child(4){left:0;bottom:0;transform:rotate(270deg)}
.perimeter-pulse{position:absolute;top:0;left:0;height:1px;width:17%;background:linear-gradient(90deg,transparent,var(--copper),transparent);animation:perimeter-sweep 11s cubic-bezier(.3,.1,.7,.9) infinite}
.hero-content{padding:100px var(--gutter) 145px;max-width:1500px;width:100%;margin:auto;will-change:transform,opacity}
.eyebrow{display:flex;align-items:center;gap:20px;font-size:12px;font-weight:600;letter-spacing:.14em;line-height:1.6}
.hero-eyebrow{margin-bottom:42px;color:#e9b197}
.short-rule{display:inline-block;width:38px;height:1px;background:currentColor}
.hero h1{font-size:clamp(64px,7.2vw,116px);max-width:1080px;text-wrap:balance;color:#f5f4ec;line-height:1.01}
.hero h1 em{white-space:nowrap}
.hero-description{font-size:17px;line-height:1.6;margin-top:28px;color:#ddddd2;max-width:320px}
.text-link{display:inline-flex;align-items:center;gap:30px;font-size:14px;font-weight:500;line-height:1.55;padding:10px 0 12px;position:relative}
.text-link::after{content:'';position:absolute;left:0;bottom:0;right:0;height:1px;background:currentColor;opacity:.35;transition:opacity .2s}
.text-link:hover::after{opacity:1}
.text-link svg{transition:transform .25s}
.text-link:hover svg{transform:translateX(4px)}
.hero-link{margin-top:32px}
.hero-link:hover svg{transform:translateY(4px)}
.hero-foot{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid rgba(238,238,232,.35);font-size:12px;letter-spacing:.12em;color:#deddd2}
.hero-est{margin-right:auto;margin-left:40px}
.scroll-cue{display:flex;align-items:center;gap:24px;min-height:44px}
.scroll-cue svg{width:16px}
.scene-index{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(238,238,232,.62);font-size:12px;letter-spacing:.08em}
.scene-line{display:block;width:1px;height:52px;background:rgba(238,238,232,.4);position:relative;overflow:hidden}
.scene-line::after{content:'';position:absolute;inset:0;background:var(--copper);transform:translateY(calc(-100% + var(--scene-progress,0%)))}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.doctrine,.circle-section,.contact-section{padding:56px var(--gutter) 90px;scroll-margin-top:90px;position:relative;overflow:hidden}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid rgba(17,18,15,.22)}
.section-number{font-size:12px;letter-spacing:0;opacity:.6;font-weight:500}
.section-aside{font-size:12px;letter-spacing:.12em;opacity:.62;text-align:right}
.doctrine{padding-bottom:100px;background:#111411;color:var(--paper);color-scheme:dark;overflow:visible}
.doctrine-heading{position:relative;z-index:2}
.doctrine-heading{border-color:var(--line)}
.doctrine-scroll{height:175vh;margin:0 calc(var(--gutter) * -1)}
.doctrine-stage{height:calc(100svh - 90px);min-height:650px;position:sticky;top:90px;display:grid;place-items:center;overflow:hidden;background:#151815;color:var(--paper);isolation:isolate}
.doctrine-grid{position:absolute;inset:-10%;z-index:-2;opacity:.18;background-image:linear-gradient(rgba(232,232,225,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(232,232,225,.2) 1px,transparent 1px);background-size:7.5vw 7.5vw;will-change:transform}
.doctrine-grid::before,.doctrine-grid::after{content:'';position:absolute;border:1px solid rgba(184,104,72,.32);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.doctrine-grid::before{width:min(62vw,900px);aspect-ratio:1}
.doctrine-grid::after{width:min(35vw,510px);aspect-ratio:1;border-style:dashed}
.doctrine-stage::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 52%,transparent 0,rgba(13,15,14,.12) 33%,rgba(13,15,14,.84) 83%),linear-gradient(180deg,rgba(13,15,14,.2),rgba(13,15,14,.72))}
.doctrine-beats{position:relative;width:min(1120px,calc(100% - var(--gutter) * 2));height:58vh;min-height:390px}
.doctrine-beat{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translate3d(0,70px,0);will-change:opacity,transform;pointer-events:none}
.doctrine-beat:first-child{opacity:1;transform:none}
.doctrine-word{font-size:12px;font-weight:600;letter-spacing:.2em;color:#c7896d;margin-bottom:26px}
.doctrine-beat h3{font-size:clamp(58px,7.2vw,116px);font-weight:500;letter-spacing:-.065em;line-height:1.02;margin:0}
.doctrine-beat h3 em{color:#b8bbae}
.doctrine-counter,.doctrine-coordinate,.bearing{position:absolute;font-size:12px;line-height:1;letter-spacing:.13em;color:rgba(232,232,225,.52)}
.doctrine-counter{right:var(--gutter);top:50%;transform:translateY(-50%)}
.doctrine-coordinate{left:var(--gutter);bottom:34px}
.bearing-n{left:50%;top:30px}.bearing-e{right:30px;top:50%}
.range-line{position:absolute;bottom:0;left:0;right:0;height:2px;background:rgba(232,232,225,.12);overflow:hidden}
.range-line i{display:block;height:100%;width:100%;background:linear-gradient(90deg,transparent,var(--copper));transform:translateX(-100%);will-change:transform}
.doctrine-note{display:grid;grid-template-columns:1fr 1.15fr;gap:6vw;align-items:start;padding-top:42px;max-width:1200px}
.doctrine-note>.eyebrow{color:#b97a60}
.doctrine-note>p:not(.eyebrow){font-family:var(--serif);font-style:italic;font-size:clamp(30px,3.1vw,52px);line-height:1.2;letter-spacing:-.025em}
.doctrine-note .text-link{grid-column:2;margin-top:10px;justify-self:start}
.circle-section{padding-top:55px;padding-bottom:0;isolation:isolate}
.circle-watermark{position:absolute;z-index:-1;width:min(95vw,1120px);aspect-ratio:1;right:-30vw;top:-15vw;opacity:.025;filter:invert(1);mix-blend-mode:screen;will-change:transform}
.circle-watermark img{height:100%;object-fit:contain}
.orbit-field{position:absolute;z-index:-1;right:5vw;top:50%;width:min(47vw,680px);aspect-ratio:1;transform:translateY(-50%);opacity:.1}
.orbit-field i{position:absolute;border:1px solid rgba(232,232,225,.24);border-radius:50%;inset:0}
.orbit-field i:nth-child(2){inset:12%;border-style:dashed}
.orbit-field i:nth-child(3){inset:25%;border-color:rgba(184,104,72,.5)}
.circle-section .section-heading{border-color:var(--line)}
.circle-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:6vw;align-items:center;padding:45px 0 55px}
.circle-copy h2{font-size:clamp(44px,4.6vw,78px);line-height:1.15}
.circle-copy h2 em{color:#c88967}
.circle-copy>p{margin-top:30px;max-width:360px;color:var(--muted)}
.circle-copy .circle-quote{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.5;margin-top:30px;max-width:370px;color:#d0d2c4}
.ouroboros-figure{display:flex;flex-direction:column;align-items:center;justify-content:center}
.ouroboros-figure img{width:min(100%,410px);filter:invert(1);mix-blend-mode:screen;opacity:.75;will-change:transform}
.ouroboros-figure figcaption{font-size:12px;letter-spacing:.11em;display:flex;gap:14px;color:var(--muted);margin-top:18px;text-align:center}
.ouroboros-figure figcaption span{opacity:.4}
.circle-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:12px;letter-spacing:.15em;will-change:transform}
.contact-section{background:var(--ember);color:var(--paper);padding-bottom:100px}
.contact-section .section-heading{border-color:rgba(232,232,225,.28)}
.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:end;margin-top:58px}
.contact-grid h2{font-size:clamp(48px,5.1vw,82px);line-height:1.08}
.contact-grid h2 em{color:#d8a28b}
.contact-details{padding-bottom:6px}
.contact-details>.eyebrow{font-size:12px;opacity:.7;margin-bottom:14px}
.email-link{font-size:clamp(22px,2vw,34px);font-weight:500;letter-spacing:-.05em;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:15px;border-bottom:1px solid rgba(232,232,225,.35)}
.email-link svg{width:24px;height:24px;transition:transform .2s}
.email-link:hover svg{transform:translate(3px,-3px)}
.copy-email{display:flex;align-items:center;gap:9px;background:none;border:0;padding:13px 0;font-size:14px;line-height:1.5;opacity:.8}
.copy-email[hidden]{display:none}
.copy-email:hover{opacity:1}
.copy-email svg{width:15px;height:15px}
.copy-status{font-size:14px;min-height:24px;line-height:1.5}
address{font-size:14px;line-height:1.8;font-style:normal;margin-top:30px;opacity:.8}
.site-footer{padding:44px var(--gutter) 26px;overflow:hidden}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px;letter-spacing:.12em;color:var(--muted)}
.back-top{display:flex;align-items:center;gap:16px;font-size:14px;letter-spacing:0;color:var(--paper);min-height:44px}
.back-top svg{width:16px;height:16px}
.footer-wordmark{font-size:17.8vw;letter-spacing:-.075em;font-weight:600;line-height:1.02;margin:42px 0 38px;margin-left:-.012em;white-space:nowrap;color:#e5e6dc;will-change:transform}
.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:24px;font-size:12px;letter-spacing:.05em;color:var(--muted)}
.reveal{transition:opacity .75s ease,transform .75s cubic-bezier(.2,.6,.2,1)}
.reveal.is-pending{opacity:0;transform:translateY(22px)}
@keyframes hero-settle{from{filter:brightness(.5)}to{filter:brightness(1)}}
@keyframes perimeter-sweep{0%,12%{transform:translateX(-120%);opacity:0}28%{opacity:1}68%{opacity:.8}84%,100%{transform:translateX(610%);opacity:0}}
@keyframes orbit-turn{to{transform:rotate(360deg)}}
@media(min-width:1700px){.hero-content{max-width:none}.hero h1{font-size:140px}.circle-grid,.contact-grid{max-width:1650px;margin-left:auto;margin-right:auto}.footer-wordmark{font-size:17.8vw}}
@media(max-width:1100px){.header-origin{display:none}.hero h1{font-size:9vw}.hero-content{padding-top:100px;padding-bottom:145px}.hero-image{object-position:55% 50%}.circle-grid{gap:40px;grid-template-columns:1.2fr 1fr}.circle-copy h2{font-size:4.9vw}.contact-grid{gap:45px;grid-template-columns:1.2fr 1fr}.footer-bottom{font-size:12px;letter-spacing:0}}
@media(max-width:760px){
  html{scroll-padding-top:74px}
  .doctrine,.circle-section,.contact-section{scroll-margin-top:74px}
  .site-header{height:74px;gap:20px}
  .brand{font-size:17px;gap:10px;letter-spacing:.1em}
  .brand-mark{width:23px;height:31px}
  .menu-toggle{display:flex;align-items:center;gap:14px;background:none;border:0;padding:12px 0;font-size:14px;min-height:44px}
  .menu-symbol{display:grid;gap:5px;width:20px}
  .menu-symbol i{display:block;height:1px;width:20px;background:currentColor;transition:transform .2s}
  .menu-toggle[aria-expanded="true"] .menu-symbol i:first-child{transform:translateY(3px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] .menu-symbol i:last-child{transform:translateY(-3px) rotate(-45deg)}
  .navigation{display:none;position:absolute;top:74px;left:0;right:0;background:var(--ink);padding:25px var(--gutter) 38px;border-bottom:1px solid var(--line);font-size:24px;gap:4px;align-items:stretch}
  .navigation.is-open{display:flex;flex-direction:column}
  .navigation a{padding:16px 0}
  .navigation .nav-contact{margin:5px 0 0;justify-content:space-between;color:#e1a081}
  .hero{height:130svh;min-height:820px}
  .hero-stage{top:74px;height:calc(100svh - 74px);min-height:586px}
  .hero-content{padding:72px var(--gutter) 170px;margin:0;align-self:start}
  .hero-image{object-position:58% 50%}
  .hero-shade{background:linear-gradient(90deg,rgba(8,10,8,.62),rgba(8,10,8,.12)),linear-gradient(0deg,rgba(8,10,8,.65),transparent 50%)}
  .hero-eyebrow{font-size:12px;letter-spacing:.1em;margin-bottom:35px;gap:14px}
  .short-rule{width:25px}
  .hero h1{font-size:clamp(58px,11.7vw,87px);letter-spacing:-.065em;line-height:1.04}
  .hero h1 em{white-space:normal}
  .hero-description{font-size:16px;max-width:255px;margin-top:24px}
  .hero-link{margin-top:22px;gap:30px}
  .hero-foot{min-height:82px;font-size:12px;letter-spacing:.04em;gap:16px}
  .hero-est{margin:0 0 0 auto}
  .scroll-cue{display:none}
  .scene-index{display:none}
  .perimeter-frame{inset:16px;opacity:.28}
  .perimeter-frame>i{width:24px;height:24px}
  .perimeter-frame>i::before{width:24px}.perimeter-frame>i::after{height:24px}
  .doctrine,.circle-section,.contact-section{padding:36px var(--gutter) 58px}
  .section-heading{padding-bottom:23px}
  .eyebrow{font-size:12px;gap:15px;letter-spacing:.1em}
  .section-aside{display:none}
  .doctrine{padding-bottom:64px}
  .doctrine-scroll{height:165vh}
  .doctrine-stage{top:74px;height:calc(100svh - 74px);min-height:586px}
  .doctrine-grid{background-size:18vw 18vw}
  .doctrine-grid::before{width:125vw}.doctrine-grid::after{width:78vw}
  .doctrine-beats{height:64vh;min-height:390px}
  .doctrine-beat h3{font-size:clamp(52px,12vw,74px);line-height:1.04}
  .doctrine-counter{right:24px;top:28px;transform:none}
  .bearing{display:none}
  .doctrine-coordinate{left:24px;bottom:24px;font-size:12px}
  .doctrine-note{grid-template-columns:1fr;gap:24px;padding-top:32px}
  .doctrine-note>p:not(.eyebrow){font-size:clamp(32px,8.4vw,45px)}
  .doctrine-note .text-link{grid-column:1;margin-top:0}
  .circle-section{padding-bottom:0}
  .circle-grid{grid-template-columns:1fr;gap:22px;padding:32px 0 30px}
  .circle-copy h2{font-size:clamp(42px,7.7vw,61px);line-height:1.15}
  .circle-copy>p{margin-top:25px}
  .circle-copy .circle-quote{font-size:23px;max-width:340px}
  .ouroboros-figure img{width:min(78%,310px)}
  .ouroboros-figure figcaption{font-size:12px;letter-spacing:.06em;gap:10px;margin-top:5px}
  .circle-bottom{font-size:12px;letter-spacing:.04em;gap:12px;padding:25px 0}
  .contact-grid{grid-template-columns:1fr;gap:38px;margin-top:32px}
  .contact-grid h2{font-size:clamp(43px,8.5vw,64px)}
  .contact-details{max-width:440px;width:100%;padding:0}
  .email-link{font-size:27px;letter-spacing:-.045em}
  address{margin-top:20px}
  .site-footer{padding:28px var(--gutter) 24px}
  .footer-top{font-size:12px;letter-spacing:.04em}
  .back-top{gap:8px;font-size:14px}
  .footer-wordmark{font-size:16.6vw;margin:38px 0 34px;letter-spacing:-.07em}
  .footer-bottom{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:12px;line-height:1.5;padding-top:20px}
  .footer-bottom>span:last-child{grid-column:1/-1}
}
@media(max-width:360px){.hero h1{font-size:52px}.brand{font-size:15px}.hero-foot{font-size:12px}.circle-copy h2{font-size:37px}.contact-grid h2{font-size:39px}.email-link{font-size:24px}.circle-bottom{font-size:12px;letter-spacing:0}.footer-top{align-items:flex-start;flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.is-pending{opacity:1;transform:none}.hero{height:auto;min-height:0}.hero-stage{position:relative;top:0}.hero-image,.ouroboros-figure img,.circle-watermark,.footer-wordmark{transform:none!important}.perimeter-pulse{display:none}.doctrine-scroll{height:auto;margin:0}.doctrine-stage{position:relative;top:0;height:auto;padding:80px var(--gutter)}.doctrine-beats{height:auto;display:grid;gap:65px}.doctrine-beat{position:relative;opacity:1!important;transform:none!important}.doctrine-counter,.range-line{display:none}}
@media print{.site-header,.hero-media,.hero-shade,.copy-email,.back-top,.reading-progress{display:none}body,section,.contact-section{background:white!important;color:black!important}.hero{min-height:0}.hero-content{padding:30px}.hero h1,.hero-description,.hero-eyebrow{color:black}.hero-foot{position:static;color:black}.reveal.is-pending{opacity:1;transform:none}.footer-wordmark{color:black}.doctrine,.circle-section,.contact-section{break-inside:avoid}.circle-copy h2 em,.circle-copy p{color:black}.doctrine-scroll{height:auto;margin:0}.doctrine-stage{position:relative;height:auto;top:0;color:black;background:white}.doctrine-beat{position:relative;opacity:1;transform:none}.doctrine-beats{height:auto;display:grid;gap:40px}}
