@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/manrope-400.woff') format('woff')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/manrope-500.woff') format('woff')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/manrope-600.woff') format('woff')}
:root{--ink:#171916;--paper:#f2f3ef;--muted:#666b63;--line:#d2d6cd;--accent:#d5fd71;--font-heading:'Manrope',sans-serif;--gutter:clamp(22px,5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--font-heading)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block;height:auto}button,a{touch-action:manipulation}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.05;letter-spacing:-.055em}em{font-style:normal;color:#7e8678}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid #6b930e;outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;z-index:10000;background:var(--accent);padding:12px}.skip:focus{top:10px}.header{height:104px;position:absolute;top:0;left:0;right:0;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;z-index:100;color:#f4f2ee;border-bottom:1px solid #ffffff20}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:12px;font-weight:600;letter-spacing:.06em;line-height:1.4}.brand small{display:block;font-size:10px;letter-spacing:.27em;color:#a0a39a;margin-top:3px}.brand-mark{display:block;line-height:0}.brand-mark svg{display:block;width:auto;height:27px}.brand-mark span{color:var(--accent);font-size:22px;vertical-align:top;letter-spacing:0;margin-left:5px}.header nav{display:flex;align-items:center;gap:36px;font-size:14px}.header nav a:hover,.header nav a[aria-current]{color:var(--accent)}sup{font-size:10px;vertical-align:super;letter-spacing:0;margin-left:4px}.contact-nav{border:1px solid #ffffff55;border-radius:40px;padding:10px 20px}.contact-nav span{margin-left:25px}.menu-toggle{display:none}.hero{position:relative;min-height:850px;height:100svh;max-height:1200px;color:#f4f2ee;background:#0d0b0a;isolation:isolate}.hero-copy{position:absolute;left:var(--gutter);top:32%;z-index:4;width:43%;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.12em;line-height:1.5}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:middle}.hero h1{font-size:clamp(60px,6.2vw,110px);letter-spacing:-.07em;line-height:.98;margin:30px 0}.hero h1 em{color:var(--accent)}.hero-intro{font-size:clamp(16px,1.15vw,19px);line-height:1.7;color:#a7aaa3;max-width:410px;margin-bottom:30px}.button{display:inline-flex;gap:45px;align-items:center;border:1px solid;border-radius:100px;padding:13px 23px;font-size:14px}.button-light{background:#eeefe8;color:#111;border-color:#eeefe8}.button:hover{background:var(--accent);border-color:var(--accent)}.helix-wrap{position:absolute;left:37%;right:0;top:104px;bottom:90px}.helix-controls{position:absolute;bottom:16px;left:7%;right:8%;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.09em;color:#a6a59e;z-index:5;align-items:center}.helix-controls button{background:none;border:0;font-size:12px}.helix-controls button span{margin-left:10px}.hero-bottom{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);height:90px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff26;font-size:11px;letter-spacing:.09em;color:#b1b3aa}.hero-bottom a{font-size:13px;letter-spacing:0}.intro-strip{padding:70px var(--gutter);display:grid;grid-template-columns:1fr 2fr 1.2fr;gap:45px;border-bottom:1px solid var(--line);align-items:start}.intro-strip>p:nth-child(2){font-size:28px;line-height:1.3;letter-spacing:-.035em}.intro-strip>p:nth-child(2) span{color:var(--muted)}.intro-note{color:var(--muted);font-size:15px}.work-section,.all-work{padding:95px var(--gutter) 110px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:55px}.section-heading h2,.expertise h2{font-size:clamp(42px,4vw,68px);margin-top:23px}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid;padding-bottom:6px;white-space:nowrap}.text-link:hover{color:#617935}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 30px}.work-card{min-width:0}.work-image{position:relative;overflow:hidden;background:#dee1da;aspect-ratio:1.4}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.2,1)}.work-card:hover .work-image img{transform:scale(1.035)}.image-index{position:absolute;top:20px;left:20px;display:grid;place-items:center;border:1px solid #ffffff90;border-radius:50%;width:34px;height:34px;background:#10101055;color:white;font-size:11px}.project-arrow{position:absolute;right:20px;bottom:20px;width:44px;height:44px;display:grid;place-items:center;background:var(--paper);border-radius:50%;font-size:23px;transition:background .2s}.work-card:hover .project-arrow{background:var(--accent)}.work-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:21px}.work-title h3{font-size:26px;letter-spacing:-.045em}.work-title>span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.work-card>p{font-size:14px;color:var(--muted);margin-top:8px}.expertise{background:#e5e8df;padding:100px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--line)}.expertise-intro{max-width:350px;margin:25px 0;color:var(--muted)}.expertise-list article{display:grid;grid-template-columns:35px 1fr;gap:18px;padding:28px 0;border-top:1px solid #bfc5b7}.expertise-list article>span{font-size:12px;color:var(--muted)}.expertise-list h3{font-size:27px;letter-spacing:-.04em;margin-bottom:16px}.expertise-list p{font-size:15px;color:var(--muted);max-width:410px}footer{background:#11140f;color:#edf1e6;padding:45px var(--gutter) 25px}.section-label{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.08em;color:#a8afa0}.contact-block{display:flex;justify-content:space-between;align-items:center;padding:70px 0 50px}.contact-block h2{font-size:clamp(44px,6vw,96px)}.contact-circle{display:grid;place-items:center;width:120px;height:120px;border:1px solid #626a58;border-radius:50%;font-size:64px;font-weight:400;color:var(--accent)}.contact-circle:hover{background:var(--accent);color:#111}.contact-details{display:flex;gap:34px;align-items:end;padding-bottom:60px;font-size:14px}.contact-details p{margin-right:auto;color:#a8afa0}.contact-details p a{display:block;color:#edf1e6;font-size:clamp(18px,2.2vw,30px);margin-top:15px;letter-spacing:-.02em}.footer-bottom{padding-top:24px;border-top:1px solid #ffffff25;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#a8afa0}.inner-page .header{position:relative;color:var(--ink);border-bottom:1px solid var(--line)}.inner-page .brand-mark span{color:#638417}.inner-page .brand small{color:var(--muted)}.inner-page .contact-nav{border-color:#b0b5a7}.inner-page .header nav a:hover,.inner-page .header nav a[aria-current]{color:#617e30}.page-heading{padding:90px var(--gutter) 75px;border-bottom:1px solid var(--line)}.page-heading h1{font-size:clamp(65px,8vw,130px);margin:25px 0 32px}.page-heading>p:last-child{font-size:18px;color:var(--muted)}.all-work{padding-top:60px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:85px var(--gutter)}.about-layout h2{font-size:38px}.about-layout p+p{margin-top:22px}.about-layout div>p{font-size:19px;line-height:1.8;color:#596052}.about-layout div>h2{margin-bottom:25px}.about-image{margin:0 var(--gutter)}.about-image img{width:100%;max-height:750px;object-fit:cover}.project-heading{padding:55px var(--gutter) 65px}.back-link{font-size:13px;color:var(--muted)}.project-heading-row{display:flex;justify-content:space-between;align-items:end;gap:40px;margin:55px 0}.project-heading h1{font-size:clamp(54px,7vw,110px);max-width:960px}.project-heading-row>.eyebrow{white-space:nowrap}.project-summary{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:35px;border-top:1px solid var(--line)}.project-summary h2{font-size:32px;max-width:360px}.project-summary p{color:var(--muted);font-size:17px}.project-cover{padding:0 var(--gutter)}.project-cover img{width:100%;max-height:850px;object-fit:contain;background:#e2e5de}.project-gallery{padding:65px var(--gutter)}.project-gallery .section-label{color:var(--muted);padding-bottom:35px;border-bottom:1px solid var(--line)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(6px,.7vw,14px);margin-top:clamp(24px,2.5vw,40px)}.project-gallery figure{margin:0;position:relative}/* A quiet corner link on the tiles that have a full case study; the rest of the tile enlarges. */.figure-project{position:absolute;left:10px;bottom:10px;display:inline-flex;gap:6px;padding:7px 13px;border-radius:30px;background:#11140fd9;color:#f4f2ee;font-size:12px;letter-spacing:.02em;line-height:1;backdrop-filter:blur(6px);transition:background .25s ease}.figure-project:hover,.figure-project:focus-visible{background:var(--ink)}.figure-project[hidden]{display:none}.project-gallery figure img{width:100%;aspect-ratio:1;object-fit:cover;background:#e6e8e3;transition:opacity .3s ease}.project-gallery figure:hover img{opacity:.82}/* Credits travel with the enlarged image so the feed itself stays uninterrupted. */.project-gallery figcaption{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.next-project{padding:50px var(--gutter);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:18px}.next-project>span:last-child{font-size:clamp(30px,4vw,65px);letter-spacing:-.04em}.client-placeholder{margin:30px var(--gutter);padding:18px 22px;border:1px dashed #b5bbaa;font-size:14px;color:var(--muted)}
/* Helix: transforms are owned exclusively by its single animation loop. */
#helix{position:absolute;inset:0;overflow:hidden;color:#f4f2ee;font-family:var(--font-heading,sans-serif)}.helix-stage{position:absolute;inset:0;z-index:2;cursor:grab;touch-action:none}.helix-strand{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d}.helix-card{position:absolute;left:0;top:0;pointer-events:none;will-change:transform,opacity,filter;backface-visibility:visible;border-radius:clamp(4px,.5vw,9px);overflow:hidden;box-shadow:0 30px 70px -28px rgba(20,14,10,.5);outline:1px solid rgba(0,0,0,.06);outline-offset:-1px}.helix-card canvas,.helix-haze{position:absolute;inset:0;width:100%;height:100%}.helix-haze{background:#0b0a08;opacity:0}.helix-hint{position:absolute;z-index:3;bottom:clamp(52px,7vh,80px);left:0;right:0;text-align:center;font:500 11px/1 var(--font-heading,sans-serif);letter-spacing:.28em;text-transform:uppercase;pointer-events:none}.helix-caption{position:absolute;z-index:3000;opacity:0;pointer-events:none;will-change:transform,opacity;text-align:center;transform:translate(-50%,0)}.caption-rule{display:block;width:30px;height:1px;margin:0 auto 10px;transform-origin:center;transform:scaleX(0);background:currentColor}.caption-eyebrow{font:500 8.5px/1 var(--font-heading,sans-serif);letter-spacing:.26em;text-transform:uppercase;margin-bottom:8px;opacity:0}.caption-mask{overflow:hidden;padding:1px 0}.helix-caption h2{font:500 clamp(15px,1.5vw,21px)/1.12 var(--font-heading,sans-serif);letter-spacing:-.01em}.caption-sub{margin-top:9px;font:500 9.5px/1.4 var(--font-heading,sans-serif);letter-spacing:.16em;text-transform:uppercase;opacity:0}.helix-lens{position:fixed;left:0;top:0;z-index:9000;width:34px;height:34px;margin:-17px;border-radius:50%;overflow:hidden;opacity:0;pointer-events:none;will-change:transform,opacity;backdrop-filter:blur(8px) saturate(1.5) brightness(1.08);box-shadow:inset 0 0 0 .8px rgba(255,255,255,.55),inset 0 0 8px rgba(255,255,255,.14),0 0 0 .5px rgba(255,255,255,.2),0 6px 18px -6px rgba(0,0,0,.5)}.helix-lens i,.helix-lens b{position:absolute;inset:0;border-radius:50%}.helix-lens i{background:radial-gradient(circle at 50% 34%,rgba(255,255,255,.12),transparent 44%),radial-gradient(circle at 50% 116%,rgba(3,7,14,.16),transparent 55%)}.helix-lens b{background:radial-gradient(120% 82% at 50% 6%,rgba(255,255,255,.24),transparent 40%)}.helix-cursor-hide,.helix-cursor-hide *{cursor:none!important}
@media(min-width:1100px){.home .work-grid{grid-template-columns:1.2fr 1fr;align-items:start}.home .work-card:nth-child(even){margin-top:130px}.home .work-card:nth-child(even) .work-image{aspect-ratio:1.05}.home .work-card:nth-child(3){margin-top:-75px}}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(3,1fr)}.header nav{gap:22px}.hero-copy{top:29%;width:44%}.hero h1{font-size:64px}.intro-strip{grid-template-columns:1fr 2fr;gap:30px}.intro-note{grid-column:2}.expertise{gap:45px}.contact-details{flex-wrap:wrap;gap:20px}.contact-details p{width:100%}.project-heading-row{display:block}.project-heading-row .eyebrow{display:block;margin-top:20px}.project-summary{gap:35px}}
@media(max-width:700px){.header{height:82px}.brand{font-size:10px;gap:12px}.brand-mark svg{height:21px}.menu-toggle{display:block;background:none;border:0;font-size:13px;padding:12px 0 12px 12px}.menu-toggle span{margin-left:10px}.header nav{display:none;position:absolute;top:81px;left:0;right:0;background:#141610;padding:25px var(--gutter);color:#eee;flex-direction:column;align-items:stretch;gap:23px;border-bottom:1px solid #ffffff30}.header.is-open nav{display:flex}.inner-page .header.is-open nav{background:var(--paper);color:#111;border-color:var(--line)}.hero{height:auto;min-height:1050px;max-height:none}.hero-copy{position:relative;left:auto;top:auto;width:auto;padding:130px var(--gutter) 0}.hero-copy .eyebrow{font-size:10px}.hero h1{font-size:clamp(56px,12vw,84px);margin:25px 0}.hero-intro{font-size:16px;max-width:370px}.helix-wrap{top:485px;left:0;right:0;bottom:90px}.helix-controls{left:var(--gutter);right:var(--gutter);font-size:9px}.hero-bottom{height:72px;font-size:9px;letter-spacing:.02em}.hero-bottom a{font-size:11px}.intro-strip{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px;gap:22px}.intro-note{grid-column:auto;max-width:400px}.intro-strip>p:nth-child(2){font-size:25px}.work-section,.all-work{padding:60px var(--gutter)}.section-heading{align-items:start;margin-bottom:35px}.section-heading h2{font-size:39px}.section-heading>.text-link{margin-top:7px;font-size:12px}.work-grid{grid-template-columns:1fr;gap:38px}.work-title h3{font-size:25px}.expertise{grid-template-columns:1fr;padding:55px var(--gutter);gap:40px}.expertise h2{font-size:44px}.expertise-list h3{font-size:24px}.contact-block{padding:45px 0 35px;gap:12px}.contact-block h2{font-size:40px}.contact-circle{width:65px;height:65px;min-width:65px;font-size:38px}.section-label{font-size:9px;letter-spacing:.03em}.contact-details{padding-bottom:35px;font-size:13px}.footer-bottom{flex-wrap:wrap;font-size:10px}.footer-bottom>span:nth-child(2){display:none}.page-heading{padding-top:55px;padding-bottom:45px}.page-heading h1{font-size:66px}.about-layout{grid-template-columns:1fr;gap:30px;padding:50px var(--gutter)}.about-layout h2{font-size:33px}.about-layout div>p{font-size:17px}.project-heading{padding:35px var(--gutter)}.project-heading-row{margin:35px 0}.project-heading h1{font-size:56px;overflow-wrap:anywhere}.project-summary{grid-template-columns:1fr;gap:25px}.project-summary h2{font-size:28px}.project-gallery{padding:45px var(--gutter)}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.expertise-list article{grid-template-columns:72px 1fr;gap:26px}.expertise-icon{display:block;width:72px;height:72px;color:var(--ink)}.expertise-icon svg{display:block;width:100%;height:100%;overflow:visible}.expertise-icon svg path,.expertise-icon svg circle{fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.expertise-icon .icon-node,.expertise-icon .icon-pulse{fill:currentColor;stroke:none}.expertise-list article:hover .expertise-icon{color:#57634f}@media(max-width:700px){.expertise-list article{grid-template-columns:58px 1fr;gap:20px}.expertise-icon{width:58px;height:58px}}
.collection-heading{margin-top:100px}.collection-heading h2{font-size:42px}.project-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:0 var(--gutter);padding:38px 0;border-bottom:1px solid var(--line)}.project-facts dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.project-facts dd{font-size:15px;margin:9px 0 0}.case-story{padding:25px var(--gutter)}.case-story section{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding:42px 0;border-bottom:1px solid var(--line)}.case-story section>p:last-child{max-width:780px;font-size:22px;line-height:1.65;letter-spacing:-.025em}.case-image{margin:35px var(--gutter) 60px}.case-image img{width:100%;max-height:850px;object-fit:contain;background:#e2e5de}.case-image figcaption{font-size:12px;color:var(--muted);margin-top:15px}.case-source{display:flex;justify-content:space-between;gap:25px;padding:30px var(--gutter) 70px}
@media(min-width:1100px){.home .work-grid{grid-template-columns:1fr 1fr}.home .case-card:nth-child(1){grid-column:1/-1;display:grid;grid-template-columns:1.8fr 1fr;column-gap:40px}.home .case-card:nth-child(1) .work-image{grid-row:1/3;aspect-ratio:1.8}.home .case-card:nth-child(1) .work-title{display:block;align-self:end}.home .case-card:nth-child(1) h3{font-size:48px;margin-bottom:15px}.home .case-card:nth-child(1)>p{font-size:18px}.home .case-card:nth-child(2),.home .case-card:nth-child(3){margin-top:0}.home .case-card:nth-child(2) .work-image,.home .case-card:nth-child(3) .work-image{aspect-ratio:1.4}}
@media(max-width:700px){.project-facts{grid-template-columns:1fr 1fr;gap:24px}.case-story section{grid-template-columns:1fr;gap:20px;padding:30px 0}.case-story section>p:last-child{font-size:18px}.case-source{flex-direction:column;align-items:start}.collection-heading h2{font-size:33px}}
.image-enlarge{display:block;border:0;padding:0;background:none;width:100%;cursor:zoom-in}.image-dialog{border:0;padding:55px 18px 18px;background:#11140f;color:white;max-width:96vw;max-height:94svh;overflow:auto}.image-dialog::backdrop{background:#000c}.image-dialog img{width:auto;max-width:90vw;max-height:80svh;object-fit:contain}.image-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:90vw;margin-top:14px}.image-dialog-caption{margin:0;font-size:13px;color:#c9ccc3}.image-dialog-foot .figure-project{position:static;background:#ffffff1f}.image-dialog-caption[hidden]{display:none}.image-dialog-close{position:absolute;top:12px;right:18px;border:1px solid #ffffff70;border-radius:30px;padding:5px 15px;background:#11140f;font-size:14px}

/* Consistent, purpose-specific expertise line icons. */
.expertise-list article>.expertise-icon{color:var(--ink)}
.expertise-icon svg{overflow:hidden}
.expertise-icon svg :is(path,circle,rect){fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.project-cover-cropped img{height:auto;max-height:none;aspect-ratio:2.4;object-fit:cover;object-position:center}
@media(max-width:700px){.project-cover-cropped img{aspect-ratio:1.5}}

/* Visible SVG motion starts without a JavaScript animation dependency. */
.expertise-icon svg{overflow:visible}
.expertise-boat{transform-box:view-box;transform-origin:36px 46px;animation:expertise-sail 2.4s ease-in-out infinite}
.expertise-wave{animation:expertise-waves 1.8s ease-in-out infinite alternate}
.expertise-chip{transform-box:fill-box;transform-origin:center;animation:expertise-chip-pulse 1.8s ease-in-out infinite}
.expertise-pins{animation:expertise-signal 1.8s ease-in-out infinite}
.expertise-grid{stroke-dasharray:18 7;animation:expertise-trace 2s linear infinite}
.expertise-spark{transform-box:fill-box;transform-origin:center;animation:expertise-twinkle 2.6s ease-in-out infinite}
.expertise-sun{animation:expertise-signal 2.6s ease-in-out infinite reverse}
.expertise-icon.is-offscreen svg *{animation-play-state:paused}
@keyframes expertise-sail{0%,100%{transform:translateY(2px) rotate(-7deg)}50%{transform:translateY(-4px) rotate(7deg)}}
@keyframes expertise-waves{from{transform:translateX(-4px)}to{transform:translateX(4px)}}
@keyframes expertise-chip-pulse{0%,100%{transform:scale(.85)}50%{transform:scale(1.3)}}
@keyframes expertise-signal{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes expertise-trace{to{stroke-dashoffset:-50}}
@keyframes expertise-twinkle{0%,100%{transform:rotate(-20deg) scale(.75)}50%{transform:rotate(70deg) scale(1.1)}}
@media(prefers-reduced-motion:reduce){.expertise-icon svg *{animation:none!important}}
