@font-face{font-family:Manrope;font-weight:400 800;font-style:normal;font-display:swap;src:url('assets/manrope.woff2') format('woff2')}@font-face{font-family:'DM Sans';font-weight:400 700;font-style:normal;font-display:swap;src:url('assets/dm-sans.woff2') format('woff2')}
:root{--paper:#f5f3ee;--ink:#191e1b;--muted:#656c63;--line:#c9ccc3;--accent:#c3b08d;--font:Manrope,Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.6}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font);font-weight:500}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:#b9aa8e;color:#191e1b}.skip-link{position:fixed;top:-100px;left:15px;background:#fff;color:#111;padding:12px 20px;z-index:90}.skip-link:focus{top:12px}
.site-header{position:fixed;inset:0 0 auto;z-index:40;height:94px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;color:var(--paper);transition:background .25s,color .25s;border-bottom:1px solid #ffffff24}.site-header.is-scrolled,.site-header.menu-open{background:var(--paper);color:var(--ink);border-bottom-color:var(--line)}.brand{width:94px;display:block}.logo-window{display:block;position:relative;overflow:hidden;width:94px;height:73px}.logo-window img{width:101px;max-width:none;position:absolute;top:-15px;left:-4px;filter:invert(1);transition:filter .25s}.site-header.is-scrolled .logo-window img,.site-header.menu-open .logo-window img{filter:none}.desktop-nav{display:flex;align-items:center;gap:38px}.desktop-nav a{font:550 11px var(--font);letter-spacing:.5px;position:relative;white-space:nowrap}.desktop-nav a:after{content:'';position:absolute;bottom:-7px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav a:hover:after{transform:scaleX(1)}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}
.hero{min-height:780px;height:100svh;max-height:1100px;position:relative;overflow:hidden;background:var(--ink);color:var(--paper);isolation:isolate}.hero-seal{position:absolute;width:44%;right:3%;top:110px;bottom:100px;z-index:-1;opacity:.075;pointer-events:none;display:flex;align-items:center}.hero-seal img{width:100%;height:100%;object-fit:contain;filter:invert(1)}.hero-copy{position:relative;max-width:1100px;padding:clamp(170px,21vh,230px) 5% 140px}.eyebrow{display:flex;align-items:center;gap:14px;font:500 10px var(--font);letter-spacing:1.7px;color:var(--accent)}.eyebrow>span{width:25px;height:1px;background:var(--accent)}.hero h1{font-size:clamp(72px,7.6vw,123px);font-weight:500;letter-spacing:-5px;line-height:1.06;margin:31px 0}.hero-intro{font-size:15px;line-height:1.8;color:#c5c9c0;max-width:440px}.underlined-link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;font-size:10px;font-weight:500;letter-spacing:.5px;border-bottom:1px solid currentColor;padding:0 0 10px;white-space:nowrap}.underlined-link>span{font-size:21px;line-height:1;transition:transform .25s}.underlined-link:hover>span{transform:translate(3px,-3px)}.hero-copy .underlined-link{margin-top:30px;border-bottom:0}.hero-bottom{position:absolute;left:5%;right:5%;bottom:0;min-height:86px;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:9px;letter-spacing:1.2px;color:#c8c9bf}.hero-bottom a{display:flex;align-items:center;gap:50px}.hero-bottom a span{font-size:24px;line-height:1;color:var(--accent)}
.section-pad{padding:125px 5%}.section-label{font:500 10px var(--font);letter-spacing:.9px}.about{display:grid;grid-template-columns:26% 74%;padding-top:140px;padding-bottom:140px}.about>.section-label{padding-top:13px}.about-main h2{font-size:clamp(38px,4.8vw,76px);line-height:1.15;letter-spacing:-2.8px}.about-bottom{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:40px;max-width:850px}.about-bottom p{font-size:14px;line-height:1.9;color:var(--muted)}
.approach{display:grid;grid-template-columns:44% 56%;border-top:1px solid var(--line);background:#eae9e2;padding-top:85px;padding-bottom:85px}.approach-heading h2{font-size:clamp(32px,3.5vw,55px);letter-spacing:-1.8px;line-height:1.2;margin:33px 0 23px}.approach-heading>p:last-child{font-size:12px;color:var(--muted)}.principles{padding-left:6%;padding-top:2px}.principles article{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:30px 0;border-top:1px solid #bfc4b9}.principles article:first-child{padding-top:0;border-top:0}.principles article:last-child{padding-bottom:0}.principle-number{font-size:10px;color:var(--muted);padding-top:6px}.principles h3{font-size:23px;line-height:1.35;letter-spacing:-.5px}.principles p{font-size:13px;line-height:1.8;color:var(--muted);max-width:430px;margin-top:12px}
.companies{padding-top:120px;padding-bottom:130px}.portfolio-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:60px}.portfolio-heading h2{font-size:clamp(40px,5.2vw,84px);letter-spacing:-3px;line-height:1.15;margin-top:28px}.portfolio-heading>p{font-size:12px;color:var(--muted);padding-bottom:5px}.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:5%}.company-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.company-heading h3{font:550 16px var(--font);letter-spacing:-.4px}.company-heading>span{font-size:7px;letter-spacing:.7px;color:var(--muted)}.company-image{display:block;position:relative;overflow:hidden;background:#263326;aspect-ratio:8/5;isolation:isolate}.company-image>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:48% center;transition:transform .7s;filter:saturate(.7)}.company-image:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(0deg,#09150cab,transparent 60%);pointer-events:none}.company-image:hover>img{transform:scale(1.025);filter:saturate(1)}.company-wordmark{position:absolute;left:25px;bottom:24px;width:175px;max-width:55%;z-index:1}.company-atx .company-wordmark{width:90px}.company-atx .company-image>img{object-position:57% center}.image-arrow{position:absolute;right:25px;bottom:24px;z-index:1;color:#fff;font-size:35px;line-height:1}.company-description{margin-top:22px;display:flex;flex-direction:column;align-items:flex-start;gap:26px}.company-description p{font-size:13px;line-height:1.8;max-width:430px;color:var(--muted)}
.next{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:40px;padding-bottom:100px}.next-header{display:flex;justify-content:space-between;align-items:center;gap:30px}.development-status{display:flex;gap:8px;align-items:center;font-size:8px;letter-spacing:.5px;color:var(--muted)}.development-status>span{display:inline-block;width:4px;height:4px;border-radius:50%;background:currentColor}.next-layout{display:grid;grid-template-columns:50% 50%;gap:0;margin-top:70px;align-items:end}.next h2{font-size:clamp(49px,6.1vw,98px);line-height:1.08;letter-spacing:-3px}.next-copy{padding-left:10%;padding-bottom:5px}.next-copy h3{font-size:23px;line-height:1.3;letter-spacing:-.6px}.next-copy p{max-width:440px;font-size:13px;line-height:1.8;margin:23px 0 32px;color:var(--muted)}
.contact{background:var(--ink);color:var(--paper);padding-top:60px;padding-bottom:80px}.contact>.section-label{color:var(--accent)}.contact-top{display:flex;align-items:center;justify-content:space-between;gap:40px;margin:60px 0}.contact h2{font-size:clamp(60px,7.4vw,120px);line-height:1.08;letter-spacing:-4px}.contact-arrow{font:400 125px/1 Arial,sans-serif;padding:0 3%;color:var(--accent);transition:transform .25s}.contact-arrow:hover{transform:translate(6px,-6px)}.contact-bottom{display:flex;justify-content:space-between;align-items:flex-start;border-top:1px solid #4a4d45;padding-top:32px;gap:35px}.contact-bottom>p{font-size:12px;line-height:1.8;color:#b3b8ac}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.email-link{font:400 clamp(17px,2vw,28px) var(--font);letter-spacing:-.7px}.email-link:hover{text-decoration:underline}#copy-email{background:none;border:none;padding:0;color:#b3b8ac;font-size:8px;letter-spacing:.8px;display:flex;gap:17px}#copy-email>span{font-size:12px}#copy-status{font-size:10px;color:#c1c8b9;max-width:360px}footer{background:var(--ink);color:var(--paper);padding:20px 5%}.footer-masthead{font:500 clamp(70px,12vw,240px)/1 var(--font);letter-spacing:-.07em;display:flex;justify-content:space-between;gap:20px;padding:25px 0 55px;border-bottom:1px solid #4a4d45}.footer-bottom{display:flex;align-items:center;gap:35px;padding-top:20px;font-size:8px;color:#a5aca0}.footer-logo{width:75px;position:relative;overflow:hidden;height:65px}.footer-logo img{width:87px;max-width:none;position:absolute;left:-6px;top:-12px;filter:invert(1)}.footer-bottom p{margin-right:auto;margin-left:20px}.footer-bottom>button{background:none;border:0;color:inherit;font:inherit;cursor:pointer}.back-top{margin-left:30px}.footer-bottom a:hover,.footer-bottom button:hover{color:#fff}
dialog{border:0;background:var(--paper);color:var(--ink);padding:45px;max-width:560px;width:calc(100% - 36px)}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}dialog h2{font-size:42px;letter-spacing:-1.5px;margin:24px 0}dialog>p:not(.section-label){font-size:13px;line-height:1.8;color:#555c4e;margin-top:14px}.dialog-close{position:absolute;right:14px;top:8px;border:none;background:none;font-size:29px;color:var(--ink)}
@media(min-width:1600px){.hero-copy{padding-top:23vh}.hero-seal{width:44%;right:3%;top:110px}.hero-intro{font-size:17px;max-width:500px}}
@media(max-width:1050px){.desktop-nav{gap:25px}.desktop-nav a{font-size:10px}.hero{min-height:750px}.hero h1{font-size:78px;letter-spacing:-3.5px}.hero-seal{width:48%;right:3%;top:130px}.section-pad{padding-top:90px;padding-bottom:90px}.about{grid-template-columns:22% 78%}.about-main h2{font-size:48px}.about-bottom{gap:30px}.about-bottom p{font-size:13px}.approach{grid-template-columns:42% 58%}.approach-heading h2{font-size:35px}.principles h3{font-size:20px}.principles{padding-left:5%}.portfolio-heading h2{font-size:48px;letter-spacing:-2px}.company-heading{align-items:flex-start;flex-direction:column;gap:5px}.next{padding-top:35px}.next-copy h3{font-size:20px}.contact h2{font-size:76px}.contact-arrow{font-size:95px}.contact-bottom{gap:20px}}
/* Mobile layout: content-driven height, readable copy, and touch-sized controls. */
@media(max-width:740px){
html{scroll-padding-top:88px}body{font-size:16px}.site-header{height:72px;padding:0 6%}.brand{width:76px}.logo-window{width:76px;height:60px}.logo-window img{width:84px;top:-13px;left:-4px}.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:44px;height:44px;border:0;background:none;color:inherit}.menu-toggle span{height:1px;width:24px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:fixed;inset:72px 0 auto;background:var(--paper);color:var(--ink);z-index:35;padding:22px 6% 30px;display:flex;flex-direction:column;gap:12px;border-bottom:1px solid var(--line);max-height:calc(100svh - 72px);overflow-y:auto}.mobile-nav a{display:flex;align-items:center;min-height:48px;font:500 clamp(24px,6.5vw,32px) var(--font);letter-spacing:-1px}
.hero{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column}.hero-seal{width:88%;right:6%;top:110px;bottom:100px;opacity:.018}.hero-copy{padding:clamp(118px,17svh,150px) 6% 40px;flex:1}.eyebrow{font-size:9px;letter-spacing:.6px;gap:10px;flex-wrap:wrap}.eyebrow>span{width:16px}.hero h1{font-size:clamp(40px,11.9vw,78px);letter-spacing:-1.8px;line-height:1.12;margin:28px 0 24px}.hero-intro{font-size:15px;line-height:1.75;max-width:38ch}.hero-intro br{display:none}.hero-copy .underlined-link{margin-top:26px}.underlined-link{font-size:11px;gap:24px;min-height:44px;padding:10px 0;max-width:100%;white-space:normal}.hero-bottom{position:relative;inset:auto;margin:0 6%;padding:17px 0 max(17px,env(safe-area-inset-bottom));min-height:0;align-items:flex-start;justify-content:center;flex-direction:column;gap:5px;font-size:9px;letter-spacing:.7px}.hero-bottom a{font-size:10px;min-height:44px;width:100%;justify-content:space-between;gap:25px}.hero-bottom a span{font-size:22px}
.section-pad{padding:64px 6%}.section-label{font-size:11px;letter-spacing:.7px}.about{display:block}.about>.section-label{padding:0;margin-bottom:27px}.about-main h2{font-size:clamp(31px,8.5vw,48px);letter-spacing:-1.3px;line-height:1.2}.about-bottom{grid-template-columns:1fr;gap:21px;margin-top:25px}.about-bottom p{font-size:15px;line-height:1.75}.approach{display:block}.approach-heading h2{font-size:clamp(32px,8vw,46px);letter-spacing:-1.2px;margin:25px 0 18px}.approach-heading>p:last-child{font-size:14px;line-height:1.7}.principles{padding:34px 0 0}.principles article{grid-template-columns:24px 1fr;gap:12px;padding:26px 0}.principles h3{font-size:22px;letter-spacing:-.5px}.principles p{font-size:15px;line-height:1.75}.principle-number{font-size:11px}.portfolio-heading{display:block;margin-bottom:34px}.portfolio-heading h2{font-size:clamp(29px,8.3vw,53px);letter-spacing:-1.1px;margin-top:23px}.portfolio-heading>p{font-size:14px;margin-top:18px}.portfolio-heading>p br{display:none}.company-grid{grid-template-columns:1fr;gap:42px}.company-heading{flex-direction:column;align-items:flex-start;gap:5px;margin-bottom:16px}.company-heading h3{font-size:18px}.company-heading>span{font-size:10px;letter-spacing:.5px}.company-image{aspect-ratio:4/3}.company-wordmark{left:20px;bottom:20px;width:150px}.company-atx .company-wordmark{width:75px}.image-arrow{right:20px;bottom:20px;font-size:30px}.company-description{margin-top:19px;gap:17px}.company-description p{font-size:15px;line-height:1.75}
.next{padding-top:30px;padding-bottom:64px}.next-header{align-items:flex-start;flex-direction:column;gap:15px}.development-status{font-size:9px;letter-spacing:.3px;gap:7px}.next-layout{grid-template-columns:1fr;gap:27px;margin-top:32px}.next h2{font-size:clamp(43px,12vw,70px);letter-spacing:-1.7px;line-height:1.12}.next-copy{padding:0}.next-copy h3{font-size:22px;letter-spacing:-.5px}.next-copy p{font-size:15px;line-height:1.75;margin:18px 0 22px}.contact{padding-top:38px;padding-bottom:40px}.contact-top{margin:32px 0;gap:15px}.contact h2{font-size:clamp(38px,10.5vw,70px);letter-spacing:-1.5px;line-height:1.13}.contact-arrow{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:42px;padding:0;align-self:flex-start}.contact-bottom{flex-direction:column;gap:25px;padding-top:25px}.contact-bottom>p{font-size:14px;line-height:1.75}.email-link{font-size:clamp(14px,4.2vw,23px);line-height:1.65;letter-spacing:-.3px;min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}.contact-details{gap:4px;max-width:100%}#copy-email{font-size:10px;min-height:44px;align-items:center}#copy-status{font-size:12px}footer{padding:12px 6% max(20px,env(safe-area-inset-bottom))}.footer-masthead{font-size:12vw;gap:12px;padding:15px 0 32px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;padding-top:18px;font-size:10px}.footer-logo{width:63px;height:57px;grid-row:1/3}.footer-logo img{width:76px;left:-6px;top:-10px}.footer-bottom p{grid-column:1/-1;grid-row:3;margin:14px 0 0;text-align:left;font-size:10px;line-height:1.7}.footer-bottom>button{grid-column:2;grid-row:2;justify-self:end;padding:10px 0;min-height:44px}.back-top{grid-column:2;grid-row:1;margin:0;justify-self:end;font-size:10px;display:flex;align-items:center;min-height:44px}dialog{padding:35px 25px}dialog h2{font-size:34px}dialog>p:not(.section-label){font-size:15px}.dialog-close{min-width:44px;min-height:44px}
}
@media(max-width:360px){.eyebrow{font-size:8px;gap:8px}.hero h1{font-size:39px;letter-spacing:-1.8px}.hero-copy{padding-top:114px;padding-bottom:32px}.hero-intro{font-size:14px}.hero-bottom>p{font-size:8px}.about-main h2{font-size:30px}.principles h3{font-size:20px}.portfolio-heading h2{font-size:27px}.contact h2{font-size:35px}.contact-arrow{font-size:35px}.next h2{font-size:42px}.email-link{font-size:14px}}
@media(max-height:500px) and (max-width:950px){.hero{height:auto;max-height:none}.hero-copy{padding-top:120px;padding-bottom:135px}.mobile-nav{max-height:calc(100svh - 72px);overflow-y:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Vector icons cannot be replaced by a phone's emoji font. */
.icon{display:inline-block;width:1em;height:1em;vertical-align:middle;flex-shrink:0}
.contact-arrow .icon{width:1em;height:1em}
.back-top{display:inline-flex;align-items:center;gap:8px}
@media(max-width:740px){
.about-bottom p,.principles p,.company-description p,.next-copy p,.hero-intro{font-size:16px;line-height:1.75}
.approach-heading>p:last-child,.portfolio-heading>p,.contact-bottom>p{font-size:15px}
.company-heading>span,.development-status,.hero-bottom,.hero-bottom>p,.footer-bottom,.footer-bottom p{font-size:11px}
.email-link{font-size:clamp(15px,4.2vw,23px)}
.hero-bottom a{font-size:11px}
.next-header,.company-heading,.contact-details{min-width:0}
.development-status{flex-wrap:wrap}
}