:root{--bg:#ecebe4;--ink:#1d241e;--muted:#5c665d;--acid:#e7f19b;--line:#bfc6bc;--cream:#f8f7f0;--serif:Georgia,'Times New Roman',serif;--sans:'Helvetica Neue',Arial,system-ui,sans-serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img,svg{max-width:100%;display:block}::selection{background:var(--acid);color:var(--ink)}:focus-visible{outline:3px solid #475dc8;outline-offset:5px}.container{width:min(1420px,calc(100% - 100px));margin:auto}.skip{position:fixed;top:8px;left:8px;z-index:1000;background:var(--acid);padding:13px 16px;transform:translateY(-155%)}.skip:focus{transform:none}.site-header{position:relative;z-index:30;border-bottom:1px solid var(--line)}.header-inner{min-height:105px;display:flex;justify-content:space-between;align-items:center;gap:30px}.logo{display:flex;align-items:center;gap:14px}.logo-symbol{display:grid;place-items:center;width:53px;height:53px;background:var(--ink);color:var(--acid);font-weight:800;font-size:19px;letter-spacing:-.17em;padding-right:4px}.logo-symbol span{color:#fff;font-weight:300;letter-spacing:-.1em}.logo-name{font-size:17px;line-height:.92;font-weight:800;letter-spacing:-.055em}.period,.red-dot{color:#b64d38}.primary-nav{display:flex;align-items:center;gap:37px}.primary-nav a{font-size:13px;font-weight:600;position:relative;padding-block:8px}.primary-nav a::after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:currentColor;transition:width .25s}.primary-nav a:hover::after{width:100%}.primary-nav sup{font:10px var(--mono);vertical-align:top;color:var(--muted)}.primary-nav .nav-contact{background:var(--ink);color:var(--cream);padding:17px 20px}.primary-nav .nav-contact:hover{background:#364238}.nav-contact span{margin-left:17px}.menu-toggle{display:none}.hero{min-height:calc(100svh - 105px);display:flex;flex-direction:column;justify-content:space-between;padding-top:36px;padding-bottom:27px}.hero-meta,.hero-foot{display:flex;align-items:center;justify-content:space-between;gap:22px;font:11px var(--mono);font-weight:700;letter-spacing:.075em}.hero-meta{color:#525e51}.live-dot{display:inline-block;width:8px;height:8px;background:#4f8a51;border-radius:50%;margin-right:8px;box-shadow:0 0 0 4px #d5e3bc}.hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.5fr);gap:5%;align-items:end;padding:55px 0 74px}.hero h1{font-weight:650;letter-spacing:-.105em;line-height:.91;font-size:clamp(4.8rem,10.1vw,11.4rem);margin:0}.hero h1 em,.section-top h2 em,.approach h2 em,.about h2 em,.contact-section h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.085em}.hero-outline{font-weight:400;color:transparent;-webkit-text-stroke:1.7px var(--ink)}.hero-aside{padding-bottom:8px}.hero-marker{width:112px;height:112px;border:1px solid #879586;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:rotate(-17deg);margin-bottom:50px}.hero-marker span{font-family:var(--serif);font-size:46px;font-style:italic}.hero-marker i{font:16px var(--mono);padding:0 6px}.hero-aside p{font-size:clamp(1rem,1.45vw,1.22rem);line-height:1.6;margin:0 0 28px;max-width:360px}.text-link{display:inline-flex;justify-content:space-between;gap:25px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:9px;font-size:14px;font-weight:700}.text-link span{transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.hero-foot{border-top:1px solid var(--line);padding-top:21px;color:#576156}.ribbon{overflow:hidden;background:var(--acid);border-block:1px solid var(--ink);padding:16px 0}.ribbon-track{white-space:nowrap;width:max-content;font:800 16px var(--mono);letter-spacing:.11em;animation:marquee 35s linear infinite}.ribbon-track span{padding:0 38px}@keyframes marquee{to{transform:translateX(-50%)}}.section-pad{padding-block:132px}.index-label{margin:0;font:700 11px/1.3 var(--mono);letter-spacing:.12em}.section-top{display:grid;grid-template-columns:1fr 1.5fr;align-items:start;margin-bottom:72px}.section-top h2,.approach h2,.about h2,.contact-section h2{font-size:clamp(3.5rem,7vw,8rem);line-height:.94;font-weight:580;letter-spacing:-.083em;margin:0}.section-top>div>p{max-width:525px;font-size:17px;line-height:1.7;color:var(--muted);margin:28px 0 0}.showcase-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}.showcase:nth-child(2){margin-top:132px}.showcase-viewport{aspect-ratio:1.04;overflow:hidden;border:1px solid #b7bcb2;transition:transform .55s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}.showcase:hover .showcase-viewport{transform:scale(.987)}.showcase-architecture .showcase-viewport{background:#e0dacd;padding:23px}.mock-top,.mock-bottom,.editorial-mock-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font:600 10px var(--mono);letter-spacing:.1em}.mock-top{padding:4px 2px 22px}.mock-top span:first-child{font:600 22px var(--serif);letter-spacing:-.04em}.mock-photo{flex:1;min-height:0;background:#667568 url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1400&q=85') center/cover;position:relative;display:flex;align-items:flex-end;justify-content:space-between;padding:28px;color:white}.mock-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,25,17,.6),transparent 72%)}.mock-photo-head,.mock-circle{position:relative;z-index:1}.mock-photo-head{font-size:clamp(2.3rem,4.5vw,6rem);letter-spacing:-.065em;line-height:.95}.mock-photo-head em{font-family:var(--serif);font-weight:400}.mock-circle{width:51px;height:51px;border:1px solid #ffffffb2;border-radius:50%;display:grid;place-items:center;font-size:25px}.mock-bottom{padding-top:19px;font-size:8px}.showcase-editorial .showcase-viewport{background:#eee3d5;padding:24px}.editorial-mock-head{font-size:9px;border-bottom:1px solid #967e71;padding-bottom:15px}.editorial-mock-head span:first-child{font:900 28px var(--sans);letter-spacing:-.08em}.editorial-mock-core{position:relative;flex:1;min-height:0;padding:24px 4px;display:flex;flex-direction:column;justify-content:space-between}.ed-label{font:600 9px var(--mono);letter-spacing:.11em}.editorial-mock-core>span{font-family:var(--serif);font-size:clamp(3.4rem,7.25vw,9.1rem);line-height:.84;letter-spacing:-.09em;position:relative;z-index:1}.editorial-mock-core>span i{font-weight:400;color:#92392c}.book-mini{position:absolute;width:27%;height:43%;right:1%;top:24%;transform:rotate(11deg);background:#8e382c;color:#f6eada;padding:20px 14px;box-shadow:15px 20px 0 #b8a493;display:flex;flex-direction:column;justify-content:space-between}.book-mini strong{font-size:clamp(18px,2.4vw,36px);line-height:.86;letter-spacing:-.07em}.book-mini small{font:9px var(--mono)}.showcase-info{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:26px}.showcase-info p{font:700 10px var(--mono);letter-spacing:.13em;margin:0 0 16px;color:var(--muted)}.showcase-info h3{font:550 clamp(2.5rem,4vw,4.5rem)/1 var(--sans);letter-spacing:-.075em;margin:0 0 13px}.showcase-info div>span{font-size:14px;line-height:1.6;color:var(--muted)}.round-arrow{border:1px solid #a2afa2;min-width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:27px;transition:background .2s,transform .2s}.showcase:hover .round-arrow{background:var(--acid);transform:rotate(45deg)}.work-disclaimer{font-size:12px;line-height:1.5;color:#586457;border-top:1px solid var(--line);padding-top:25px;margin-top:67px}.asterisk{font-size:20px;vertical-align:middle;margin-right:4px}.approach{background:#1d241e;color:#e9ebe3}.approach-head{display:grid;grid-template-columns:1fr 2fr;align-items:start;margin-bottom:110px}.approach h2 em{color:var(--acid)}.approach .index-label{color:#a9b4a7}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.service{border-top:1px solid #687366;padding-top:24px;min-height:220px}.service>span{font:11px var(--mono);color:var(--acid)}.service h3{font:500 clamp(1.75rem,2.4vw,2.8rem) var(--sans);letter-spacing:-.055em;margin:44px 0 17px}.service p{max-width:340px;color:#b7c1b6;line-height:1.7;font-size:15px;margin:0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%;align-items:center}.about-emblem{aspect-ratio:1;background:#d9ddc9;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate}.orbit-ring{position:absolute;width:85%;height:52%;border:1px solid #829485;border-radius:50%;transform:rotate(-24deg)}.orbit-ring--two{transform:rotate(57deg);width:93%;height:55%}.about-emblem-text{position:relative;z-index:1;letter-spacing:-.08em;font-size:clamp(3.5rem,6.5vw,7.8rem);font-weight:780;line-height:.88;text-align:center}.about-emblem small{position:absolute;bottom:24px;right:28px;font:11px var(--mono)}.about-copy h2{margin:35px 0 35px}.about-copy>p:not(.index-label){font-size:17px;line-height:1.75;max-width:580px;color:var(--muted)}.about-copy .text-link{margin-top:22px}.contact-section{background:var(--acid);padding:125px 0}.contact-inner{display:grid;grid-template-columns:1.45fr .85fr;gap:12%;align-items:end}.contact-heading .index-label{margin-bottom:44px}.contact-copy p{font-size:18px;line-height:1.7;max-width:440px;margin:0 0 31px}.contact-email{font-size:clamp(1.2rem,2vw,2.1rem);font-weight:650;letter-spacing:-.05em;border-bottom:2px solid var(--ink);padding-bottom:13px;display:inline-flex;gap:20px}.contact-copy>span{display:block;margin-top:18px;font:10px var(--mono);letter-spacing:.12em}.footer{background:#192019;color:#ecece3;padding-top:75px}.footer-main{display:flex;justify-content:space-between;gap:30px;align-items:end;padding-bottom:115px}.footer-brand{font-size:clamp(4rem,9vw,9.3rem);line-height:.85;font-weight:650;letter-spacing:-.095em}.footer-brand em{font:400 .96em var(--serif)}.footer-right{display:flex;flex-direction:column;gap:17px;align-items:flex-start;font-size:13px;font-weight:600}.footer-right a:hover,.footer-base a:hover{color:var(--acid)}.footer-base{border-top:1px solid #536051;padding:24px 0 35px;display:flex;justify-content:space-between;gap:25px;font:10px/1.5 var(--mono);color:#b9c1b2;letter-spacing:.07em}.footer-base nav{display:flex;gap:20px;flex-wrap:wrap}.reveal{opacity:1;transform:none}.js-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}.js-ready .reveal.is-visible{opacity:1;transform:none}
/* Policy pages */
.legal-main{padding-top:105px;padding-bottom:125px}.legal-intro{border-bottom:1px solid var(--line);padding-bottom:66px;margin-bottom:65px}.legal-intro h1{font-size:clamp(4rem,8vw,9rem);font-weight:620;line-height:.94;letter-spacing:-.095em;margin:26px 0}.legal-intro>p:not(.index-label){font-size:17px;line-height:1.7;max-width:650px;color:var(--muted)}.legal-grid{display:grid;grid-template-columns:minmax(190px,280px) minmax(0,780px);gap:clamp(45px,9vw,150px)}.legal-nav{position:sticky;top:28px;align-self:start;display:flex;flex-direction:column;gap:19px;font-size:14px}.legal-nav a{width:max-content;border-bottom:1px solid transparent;padding-bottom:4px}.legal-nav a:hover,.legal-nav a[aria-current="page"]{border-bottom-color:currentColor}.legal-body section{border-bottom:1px solid var(--line);padding-bottom:27px;margin-bottom:30px}.legal-body h2{font-size:clamp(1.5rem,2.5vw,2.3rem);font-weight:550;letter-spacing:-.06em}.legal-body p,.legal-body li{font-size:15px;line-height:1.8;color:#465249}.legal-body a{text-decoration:underline;text-underline-offset:3px}.legal-body ul{padding-left:21px}
@media(max-width:1100px){.container{width:min(100% - 64px,1420px)}.hero h1{font-size:clamp(4.6rem,9vw,9rem)}.hero-grid{gap:4%}.section-pad{padding-block:100px}.section-top{grid-template-columns:1fr 1.7fr}.showcase:nth-child(2){margin-top:85px}}@media(max-width:760px){.container{width:calc(100% - 36px)}.header-inner{min-height:76px}.logo-symbol{width:43px;height:43px;font-size:16px}.logo-name{font-size:15px}.menu-toggle{display:flex;align-items:center;gap:13px;background:transparent;border:0;font-size:13px;font-weight:650;cursor:pointer;padding:13px 2px}.menu-bars{display:flex;flex-direction:column;gap:5px}.menu-bars i{display:block;width:20px;height:1px;background:var(--ink)}.primary-nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--bg);padding:20px 18px 25px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #1a1a1a13;flex-direction:column;align-items:stretch;gap:8px}.primary-nav.is-open{display:flex}.primary-nav>a{padding:15px}.hero{min-height:auto;padding-top:30px}.hero-meta,.hero-foot{font-size:9px}.hide-mobile{display:none}.hero-grid{grid-template-columns:1fr;gap:45px;padding:65px 0 65px}.hero h1{font-size:clamp(3.9rem,13vw,7rem)}.hero-outline{-webkit-text-stroke:1px var(--ink)}.hero-aside{display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:center}.hero-marker{width:85px;height:85px;margin:0;grid-row:span 2}.hero-marker span{font-size:30px}.hero-marker i{font-size:12px}.hero-aside p{font-size:15px;margin:0}.hero-aside .text-link{grid-column:2}.section-pad{padding-block:80px}.section-top,.approach-head{grid-template-columns:1fr;gap:35px;margin-bottom:55px}.section-top h2,.approach h2,.about h2,.contact-section h2{font-size:clamp(3.1rem,11vw,5.6rem)}.showcase-grid{grid-template-columns:1fr;gap:45px}.showcase:nth-child(2){margin-top:0}.showcase-viewport{aspect-ratio:1.1}.editorial-mock-core>span{font-size:clamp(3.3rem,12vw,7rem)}.service-grid{grid-template-columns:1fr;gap:24px}.service{min-height:0;padding-bottom:20px}.service h3{margin-top:24px}.about-grid{grid-template-columns:1fr;gap:45px}.about-emblem{max-height:460px}.contact-inner{grid-template-columns:1fr;gap:60px}.contact-section{padding:90px 0}.footer-main{padding-bottom:95px;align-items:start;flex-direction:column;gap:50px}.footer-brand{font-size:clamp(4.3rem,13vw,7rem)}.footer-base{flex-direction:column}.legal-main{padding-top:60px}.legal-grid{grid-template-columns:1fr;gap:30px}.legal-nav{position:static;display:flex;flex-direction:row;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:30px}.legal-intro{margin-bottom:40px;padding-bottom:38px}}
@media(max-width:400px){.hero h1{font-size:clamp(3.6rem,13vw,4.6rem)}.mock-photo{padding:16px}.mock-photo-head{font-size:2.8rem}.showcase-architecture .showcase-viewport,.showcase-editorial .showcase-viewport{padding:15px}.book-mini{padding:8px}.book-mini strong{font-size:16px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.js-ready .reveal{opacity:1;transform:none}}
