:root{--paper:#f5f1e9;--ink:#252421;--muted:#696258;--line:#d7cfc2;--surface:#e9e2d7;--accent:#255c65;--accent-on-dark:#9bc9cd;--serif:var(--sans);--sans:"Syne Mono","Courier New",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}::selection{background:#c8dfe0}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.wrap{max-width:1440px;width:calc(100% - 112px);margin-inline:auto}.skip{position:fixed;top:-80px;left:20px;background:var(--ink);color:white;padding:15px;z-index:20}.skip:focus{top:12px}.header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{display:flex;align-items:center;gap:14px}.brand>span{font-size:25px;letter-spacing:-1.2px;font-weight:700;line-height:1}.brand-sub{display:block;font-size:8px;font-weight:400;letter-spacing:1.3px;line-height:2.1;margin-top:4px}.brand img{width:45px;height:39px;padding-right:10px;border-right:1px solid var(--line)}.header nav{display:flex;gap:38px;margin-left:auto;margin-right:65px;font-size:13px}.header nav a{padding:8px 0}.header nav a:hover{color:var(--accent)}.header-right{display:flex;gap:25px;align-items:center}.language-switch{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.8px}.language-switch a{color:var(--muted)}.language-switch a:hover{color:var(--accent)}.language-divider{color:#a89d8b}.language-switch [aria-current]{font-weight:700}.menu-toggle{display:none}.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;line-height:1.5;letter-spacing:1.6px;font-weight:500;margin:0;text-transform:uppercase}.red-dot{width:6px;height:6px;background:var(--accent);border-radius:50%;display:inline-block;flex-shrink:0}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:42px;padding-block:71px 68px;align-items:center}.hero h1{font-family:var(--serif);font-size:clamp(66px,6.75vw,101px);font-weight:400;letter-spacing:-5px;line-height:1.03;margin:32px 0 27px}.hero h1>span{display:block}.hero h1 .hero-intro{font-family:var(--sans);font-size:clamp(23px,2.6vw,38px);line-height:1.2;letter-spacing:-1.1px;margin-bottom:16px}.hero .last-line{font-style:italic}.hero-text{font-size:15px;line-height:1.8;max-width:380px;color:var(--muted);margin:0}.explore-link{display:inline-flex;gap:17px;align-items:center;font-size:12px;margin-top:31px}.circle-arrow{display:grid;place-items:center;border:1px solid #a39886;border-radius:50%;height:37px;width:37px;font-size:18px;transition:background .2s,color .2s}.explore-link:hover .circle-arrow{background:var(--ink);color:var(--paper)}.hero-visual{background:var(--surface);margin:0;position:relative;align-self:center;overflow:hidden;min-width:0}.visual-heading{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.5px;margin:24px 26px 0;color:#c9bdab}.sculpture{width:100%;margin-top:-4px}.sculpture svg{display:block;width:100%;height:auto}.hero-visual figcaption{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin:-10px 26px 25px;position:relative;color:#c9bdab}.figure-cross{font-size:21px;font-weight:300}.hero-baseline{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:20px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.3px;color:var(--muted)}.baseline-dot{padding-inline:10px}.baseline-index{font-size:9px;letter-spacing:1px}.section{padding-block:100px}.section-top{display:flex;align-items:end;justify-content:space-between;gap:45px}.section h2,.contact h2{font-family:var(--serif);font-weight:400;letter-spacing:-2.3px;font-size:clamp(38px,4.2vw,60px);line-height:1.12;margin:24px 0 0}.section-intro{max-width:300px;font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 4px}.fields{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.field{padding:30px 32px 24px;display:flex;flex-direction:column;transition:background .2s}.field:first-child{padding-left:0}.field:last-child{padding-right:0}.field+.field{border-left:1px solid var(--line)}.field-top{display:flex;align-items:start;justify-content:space-between;min-height:102px}.field-number{font-family:monospace;font-size:11px;color:var(--muted)}.field-symbol{width:88px;height:88px;transition:transform .25s}.field h3{font-family:var(--serif);font-size:35px;font-weight:400;letter-spacing:-.7px;margin:17px 0 13px}.field p{font-size:13px;line-height:1.8;max-width:255px;margin:0 0 30px;color:var(--muted)}.field-link{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-top:auto}.field-link>span:last-child{font-size:21px}.field:hover h3,.field:hover .field-link{color:var(--accent)}.field:hover .field-symbol{transform:translateY(-5px)}.approach{background:#252421}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}.approach-text{font-size:19px;line-height:1.75;margin:0;letter-spacing:-.3px}.steps{list-style:none;padding:0;margin:31px 0 0}.steps li{display:flex;gap:25px;align-items:baseline;border-top:1px solid #49443c;padding:18px 0}.step-number{font-family:monospace;color:var(--muted);font-size:10px}.steps h3{margin:0;font-size:13px;font-weight:600}.steps p{margin:7px 0 0;font-size:12px;line-height:1.7;color:var(--muted)}.people{margin-top:55px;border-top:1px solid #49443c;padding-top:30px}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:24px}.people-grid h3{font-size:14px;font-weight:500;margin:0 0 9px}.people-grid p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}.contact{padding:90px 0;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.contact h2{font-size:clamp(50px,5.8vw,83px);line-height:1.04}.contact-content{max-width:350px}.contact-content>p{font-size:17px;line-height:1.75;margin:0 0 29px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--ink);color:var(--paper);font-size:12px;padding:18px 21px;transition:background .2s}.button>span:last-child{font-size:19px;line-height:.8}.button:hover{background:var(--accent)}.contact-note{display:block;font-size:10px;color:var(--muted);margin-top:13px}.footer{border-top:1px solid var(--line);padding-block:30px 35px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:35px}.footer-brand{font-size:17px;letter-spacing:-.5px;font-weight:600}.footer>p{font-size:11px;line-height:1.7;max-width:245px;margin:0;color:var(--muted)}.footer-end{display:flex;gap:25px;color:var(--muted);font-size:10px}.back-link{display:inline-block;font-size:11px;color:var(--muted);margin-bottom:65px}.back-link:hover{color:var(--accent)}.category-hero{padding-block:38px 65px}.category-heading{display:flex;justify-content:space-between;gap:30px;align-items:center}.category-heading h1,.detail h1,.missing h1{font-family:var(--serif);font-weight:400;font-size:clamp(65px,8vw,116px);letter-spacing:-4px;line-height:1.04;margin:23px 0}.red-period{color:var(--accent)}.category-heading>.field-symbol{width:160px;height:160px;margin-right:70px}.category-subtitle{font-size:23px;letter-spacing:-.5px;max-width:570px;line-height:1.5}.category-description{max-width:600px;font-size:15px;line-height:1.9;color:var(--muted);margin-bottom:0}.applications{border-top:1px solid var(--line);padding-top:35px}.application-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:40px}.application-grid h2{font-family:var(--serif);font-size:29px;line-height:1.2;font-weight:400;letter-spacing:-.7px;margin:24px 0 15px}.application-grid p{font-size:14px;line-height:1.8;color:var(--muted)}.scope{background:var(--surface);padding:40px;margin-top:60px;display:grid;grid-template-columns:1fr 1.1fr auto;align-items:center;gap:30px}.scope h2{font-family:var(--serif);font-weight:400;font-size:29px;margin:0}.scope p{color:var(--muted);font-size:13px;line-height:1.8;margin:0}.related{display:flex;gap:32px;align-items:center;margin-top:45px;padding-bottom:45px;border-bottom:1px solid var(--line);font-size:13px}.related>span{color:var(--muted);font-size:11px;margin-right:auto}.related a:hover{color:var(--accent)}.offering-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:26px 0;gap:30px}.offering-row h2{font-size:34px;margin:0 0 12px}.offering-row p{font-size:14px;color:var(--muted);line-height:1.7}.offering-row>span{font-size:25px}.offering-row:hover h2{color:var(--accent)}.detail{padding-block:40px 65px;max-width:1000px}.detail h1{font-size:clamp(50px,6vw,86px);max-width:900px}.detail-summary{font-size:23px;color:var(--muted);line-height:1.6;max-width:720px}.detail-sections{margin-top:55px}.detail-sections section{padding:30px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:50px}.detail-sections h2{font-family:var(--serif);font-weight:400;font-size:30px;margin:0}.detail-sections p{font-size:16px;line-height:1.8;margin:0;color:var(--muted)}.missing{padding-block:100px 150px}.missing h1{font-size:60px}.missing p{color:var(--muted);line-height:1.7}.missing .button{margin-top:20px}
@media(min-width:1600px){.hero{gap:95px}.hero-visual{max-width:540px;justify-self:end;width:100%}}@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.header nav{margin-right:20px;gap:25px}.hero{gap:25px;padding-block:60px}.hero h1{font-size:75px;letter-spacing:-3.7px}.hero h1 .hero-intro{font-size:28px}.hero-text{font-size:14px}.visual-heading{margin-inline:17px;font-size:8px}.hero-visual figcaption{margin-inline:17px;font-size:9px}.section{padding-block:75px}.approach-layout,.contact{gap:50px}.scope{grid-template-columns:1fr 1fr}.scope .button{grid-column:1/-1;justify-self:start}.category-heading>.field-symbol{margin-right:0}.footer-end{flex-direction:column;gap:7px}.field{padding-inline:24px}.field h3{font-size:32px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:86px;gap:15px;position:relative}.brand>span{font-size:23px}.header nav{display:none;position:absolute;left:-20px;right:-20px;top:85px;margin:0;background:var(--paper);padding:27px 20px;border-bottom:1px solid var(--line);z-index:10;flex-direction:column;gap:15px}.header nav.is-open{display:flex}.menu-toggle{display:flex;background:none;border:0;padding:10px 0;gap:9px;font-size:10px;align-items:center}.menu-toggle>span{font-size:18px}.header-right{gap:19px}.language-switch{gap:7px;font-size:10px}.hero{grid-template-columns:1fr;gap:38px;padding-block:42px 34px}.hero h1{font-size:clamp(60px,12.8vw,90px);letter-spacing:-3px;margin-top:25px;margin-bottom:23px;line-height:1.03}.hero h1 .hero-intro{font-size:28px;margin-bottom:12px}.hero-text{max-width:360px;line-height:1.8}.explore-link{margin-top:24px}.hero-visual{max-width:500px;width:100%;justify-self:center}.sculpture{max-height:360px;overflow:hidden}.sculpture svg{height:390px;width:100%;margin-top:-23px}.visual-heading{margin-top:20px;font-size:9px}.hero-visual figcaption{margin:0 20px 18px;font-size:10px}.hero-baseline{font-size:9px;gap:10px;padding-block:17px}.baseline-index{display:none}.baseline-dot{padding-inline:5px}.section{padding-block:60px}.section-top{align-items:start;flex-direction:column;gap:24px}.section h2{font-size:40px;letter-spacing:-1.7px;margin-top:20px}.section-intro{max-width:330px;font-size:13px}.fields{grid-template-columns:1fr;margin-top:35px}.field,.field:first-child,.field:last-child{padding:24px 0}.field+.field{border-left:0;border-top:1px solid var(--line)}.field{display:grid;grid-template-columns:1fr 84px;column-gap:20px}.field-top{display:contents}.field-number{grid-column:1;grid-row:1;align-self:center}.field .field-symbol{grid-column:2;grid-row:1/4;width:75px;height:75px;align-self:center}.field h3{grid-column:1;grid-row:2;margin:14px 0 10px;font-size:32px}.field p{grid-column:1;grid-row:3;max-width:280px;margin-bottom:22px;font-size:13px}.field-link{grid-column:1/-1}.approach-layout{grid-template-columns:1fr;gap:27px}.approach-text{font-size:16px;line-height:1.85}.steps{margin-top:24px}.people{margin-top:30px;padding-top:25px}.people-grid{grid-template-columns:1fr;gap:23px}.people-grid h3{font-size:14px;margin-bottom:6px}.people-grid p{font-size:12px}.contact{grid-template-columns:1fr;gap:30px;padding-block:60px}.contact h2{font-size:61px;letter-spacing:-2.7px}.contact-content>p{font-size:15px;margin-bottom:25px}.footer{grid-template-columns:1fr auto;gap:25px;padding-block:25px}.footer>p{grid-row:2;grid-column:1/-1;max-width:none}.footer-end{align-items:end;font-size:9px}.footer-brand{font-size:16px}.category-hero{padding-top:30px;padding-bottom:40px}.back-link{margin-bottom:45px}.category-heading{gap:15px}.category-heading h1{font-size:65px;letter-spacing:-2.7px}.category-heading>.field-symbol{width:80px;height:80px;flex-shrink:0}.category-subtitle{font-size:20px}.category-description{font-size:14px}.application-grid{grid-template-columns:1fr;gap:24px;margin-top:30px}.application-grid article+article{border-top:1px solid var(--line);padding-top:25px}.application-grid h2{font-size:28px;margin-top:16px}.application-grid p{font-size:14px;margin-bottom:0}.scope{padding:27px;grid-template-columns:1fr;margin-top:40px;gap:20px}.scope h2{font-size:28px}.related{gap:22px;flex-wrap:wrap;margin-top:30px;padding-bottom:30px}.related>span{width:100%}.detail{padding-block:30px}.detail h1{font-size:53px;letter-spacing:-2px}.detail-summary{font-size:20px}.detail-sections section{grid-template-columns:1fr;gap:20px}.detail-sections h2{font-size:28px}.detail-sections p{font-size:15px}.missing{padding-block:70px}.missing h1{font-size:45px;letter-spacing:-2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Quiet, contemporary typography; system fonts keep the file entirely offline. */
.hero h1{font-size:clamp(54px,6.2vw,89px);font-weight:500;letter-spacing:-.055em;line-height:1.08}.hero h1 .hero-intro{font-size:clamp(23px,2.4vw,34px);font-weight:400;letter-spacing:-.035em}.hero .last-line{font-style:normal;color:var(--accent)}.section h2,.contact h2{font-weight:500;letter-spacing:-.05em;font-size:clamp(36px,3.8vw,55px)}.field h3{font-weight:500;font-size:31px;letter-spacing:-.04em}.category-heading h1,.detail h1{font-weight:500;letter-spacing:-.055em}.detail h1{font-size:clamp(44px,6vw,80px)}.contact h2{font-size:clamp(43px,5vw,70px)}
.interiors{border-top:1px solid var(--line);display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center}.interiors-summary{font-size:15px;line-height:1.85;color:var(--muted);max-width:440px;margin:24px 0 0}.interiors .explore-link{color:var(--accent);gap:20px}.interiors-details{background:#e9e2d7;padding:35px}.material-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:30px}.material-palette span{height:110px;background:#c7b89d;border-radius:60px 60px 0 0}.material-palette span:nth-child(2){background:#36332e;border-radius:0}.material-palette span:nth-child(3){background:#987d54;border-radius:0 0 60px 60px}.material-palette span:nth-child(4){background:#eee6d8;border-radius:50px}.interiors-line{display:flex;align-items:baseline;gap:20px;border-top:1px solid #cec2af;padding:17px 0}.interiors-line:last-child{padding-bottom:0}.interiors-line h3{font-size:15px;font-weight:500;margin:0}
@media(max-width:1100px){.interiors{gap:40px}.interiors-details{padding:25px}}
@media(max-width:760px){.hero h1{font-size:clamp(42px,10.8vw,76px);letter-spacing:-.055em}.hero h1 .hero-intro{font-size:26px}.section h2{font-size:36px}.contact h2{font-size:46px}.interiors{grid-template-columns:1fr;gap:32px}.interiors-summary{font-size:14px}.material-palette span{height:100px}.category-heading h1{font-size:54px}.detail h1{font-size:44px}}

/* SG Labs: ivory, charcoal, champagne and aged bronze. */
.hero-visual{background:#252421}.hero-visual::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff0d}.hero-visual .visual-heading,.hero-visual figcaption{color:#c9bdab}.approach{--muted:#c0b7aa;--line:#49443c;color:#f5f1e9}.approach .eyebrow{color:var(--accent-on-dark)}.field-symbol{color:var(--accent)}.brand-sub{letter-spacing:1.8px}.interiors-details{border:1px solid #d8cdbb}.material-palette span{background:linear-gradient(135deg,#ded3bd,#b9a68a)}.material-palette span:nth-child(2){background:linear-gradient(135deg,#49443c,#252421)}.material-palette span:nth-child(3){background:linear-gradient(135deg,#cab18a,#8a6e45)}.material-palette span:nth-child(4){background:linear-gradient(135deg,#f4eee4,#d9cebd)}

/* Longer discipline names remain readable on hub pages and expertise cards. */
.category-heading>div{min-width:0}.category-heading h1{font-size:clamp(40px,5.4vw,78px);overflow-wrap:normal}.field h3{font-size:clamp(25px,2.5vw,33px);line-height:1.2}.related{flex-wrap:wrap;row-gap:18px}.related a{max-width:100%}@media(max-width:760px){.category-heading{align-items:flex-start}.category-heading h1{font-size:42px}.category-heading>.field-symbol{width:60px;height:60px;margin-top:42px}.field h3{font-size:27px}}@media(max-width:380px){.category-heading h1{font-size:36px}.field h3{font-size:24px}}

/* One SG monogram, followed by a restrained company descriptor. */
.brand{gap:13px}.brand>span.brand-wordmark{font-size:10px;font-weight:500;letter-spacing:2px;line-height:1.2}.brand img,.brand .brand-mark{width:38px;height:33px;padding-right:0;border-right:0}@media(max-width:380px){.brand{gap:9px}.brand>span.brand-wordmark{font-size:9px;letter-spacing:1.4px}}

/* Single, consistent company wordmark in the header. */
.brand>span.brand-wordmark{font-family:var(--sans);font-size:22px;font-weight:500;letter-spacing:-.7px;line-height:1.2;white-space:nowrap}@media(max-width:760px){.brand>span.brand-wordmark{font-size:20px;letter-spacing:-.6px}}@media(max-width:380px){.brand>span.brand-wordmark{font-size:18px;letter-spacing:-.5px}}

/* Two complementary areas of expertise. */
.fields{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.fields{grid-template-columns:1fr}}

/* Product examples: actual product and clearly identified concept. */
.projects{border-top:1px solid var(--line)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px;margin-top:44px}.project-card{min-width:0}.project-image-link{display:block;overflow:hidden;background:var(--surface)}.project-image{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;transition:transform .35s}.project-image-link:hover .project-image{transform:scale(1.025)}.project-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:9px;font-size:10px;line-height:1.6;color:var(--muted);padding-top:22px}.project-stage{color:var(--accent)}.project-card h3{font-size:27px;font-weight:500;letter-spacing:-.8px;margin:14px 0}.project-card>p{font-size:14px;line-height:1.8;color:var(--muted);margin:0;max-width:510px}.project-card>p.project-attribution{font-size:11px;line-height:1.7;margin-top:17px}.project-link{display:inline-flex;gap:20px;align-items:center;font-size:12px;margin-top:23px;color:var(--accent)}.project-detail-meta{margin-top:35px}.project-attribution{font-size:12px;line-height:1.7;color:var(--muted)}.project-detail-image{margin:25px 0}.project-detail-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.project-detail-image figcaption{font-size:11px;line-height:1.7;color:var(--muted);margin-top:12px;max-width:760px}.offering-list>.project-card{max-width:900px;margin:30px 0 45px}.offering-list>.project-card h3{font-size:34px}@media(max-width:760px){.project-grid{grid-template-columns:1fr;gap:44px;margin-top:32px}.project-meta{font-size:10px}.project-card h3{font-size:25px}.project-card>p{font-size:13px}.project-detail-image{margin-inline:0}.offering-list>.project-card h3{font-size:28px}}@media(prefers-reduced-motion:reduce){.project-image{transition:none}}
@media(max-width:760px){.detail h1{font-size:clamp(30px,9vw,44px);overflow-wrap:anywhere}}

/* Exactly two primary sections; each contains its own project example. */
.area{border-top:1px solid var(--line)}.area-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:start}.area h2{font-size:clamp(44px,5vw,70px);margin-top:20px}.area-intro{font-size:17px;line-height:1.7;color:var(--muted);max-width:440px;margin:22px 0 28px}.area-services{border-top:1px solid var(--line)}.area-services>div{padding:20px 0;border-bottom:1px solid var(--line)}.area-services h3{font-size:15px;font-weight:500;margin:0 0 8px}.area-services p{font-size:13px;color:var(--muted);line-height:1.8;margin:0;max-width:440px}.area-example{padding-top:7px}.area .project-card h3{font-size:29px}.area .project-meta{gap:12px}.area .project-attribution{max-width:470px}@media(max-width:1100px){.area-layout{gap:40px}}@media(max-width:760px){.area-layout{grid-template-columns:1fr;gap:35px}.area h2{font-size:46px}.area-intro{font-size:16px}.area-example{padding-top:0}.area .project-card h3{font-size:25px}}

/* Original geometric SG mark with a single Labs descriptor. */
.brand{gap:12px}.brand>span.brand-wordmark{font-size:24px;font-weight:500;letter-spacing:-.7px}.brand img,.brand .brand-mark{width:46px;height:38px;padding:0;border:0;flex-shrink:0}@media(max-width:760px){.brand>span.brand-wordmark{font-size:22px}.brand img,.brand .brand-mark{width:41px;height:34px}}

/* The supplied wide film and its outer box are both exactly 16:9. */
.project-film{background:#080b06;overflow:hidden;aspect-ratio:16/9}
.project-film video,.project-detail-image .project-film video{display:block;width:100%;max-width:none;height:100%;aspect-ratio:16/9;object-fit:contain;background:#080b06}
.project-film video:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
/* DAX: one set of custom vector letterforms, from outline to solid. */
.brand img,.brand .brand-mark{width:72px;height:35px}
.brand{gap:10px}.brand>span.brand-wordmark{font-size:24px;letter-spacing:-.7px}
.dax-visual{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dax-visual::after{display:none}
.dax-visual .visual-heading,.dax-visual figcaption{color:var(--muted);margin-inline:0}
.dax-visual figcaption{margin-top:0;margin-bottom:20px}
.brand-study svg{display:block;width:100%;height:auto}
.hero h1{font-size:clamp(58px,5.8vw,87px);letter-spacing:-3.7px}
@media(max-width:760px){.brand img,.brand .brand-mark{width:62px;height:30px}.brand>span.brand-wordmark{font-size:22px}.hero h1{font-size:clamp(48px,11.5vw,78px);letter-spacing:-2.5px}.brand-study{max-width:380px;margin:auto}.dax-visual .visual-heading{margin-top:18px}}
/* Compact stacked DAX / Labs signature. */
.header .brand{flex-direction:column;align-items:center;gap:4px}
.header .brand>span.brand-wordmark{font-size:11px;font-weight:500;letter-spacing:1px;line-height:1}
@media(max-width:760px){.header .brand{gap:3px}.header .brand>span.brand-wordmark{font-size:10px}}

/* A product-led introduction, followed by services and a direct enquiry. */
.product-hero{grid-template-columns:.9fr 1.2fr;gap:64px;padding-block:85px 90px}
.product-hero h1{font-size:clamp(52px,5.5vw,82px);line-height:1.07;letter-spacing:-3.5px;margin:28px 0}
.product-hero .hero-text{max-width:430px;font-size:16px;line-height:1.8}
.hero-action{margin-top:28px}.hero-secondary{display:inline-flex;gap:12px;margin:24px;font-size:12px}
.hero-product{margin:0;min-width:0}.hero-project-label{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:1px;padding-bottom:16px;color:var(--muted)}
.hero-product figcaption{display:flex;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}
.hero-product strong{display:block;font-size:18px;font-weight:500;letter-spacing:-.4px}.hero-product figcaption span{display:block;font-size:11px;color:var(--muted);margin-top:7px}.hero-product figcaption a{font-size:11px;align-self:center;white-space:nowrap}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;gap:40px}.service-grid article{border-top:1px solid var(--line);padding-top:24px}.service-number{font-size:11px;color:var(--accent)}.service-grid h3{font-size:24px;font-weight:500;letter-spacing:-.7px;margin:28px 0 16px}.service-grid p{font-size:14px;color:var(--muted);line-height:1.8}.service-grid a{display:inline-block;margin-top:16px;font-size:12px;border-bottom:1px solid var(--line);padding-bottom:6px}
.about-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line)}.about-section p{font-size:16px;line-height:1.85;color:var(--muted)}.about-section .eyebrow{font-size:10px}.about-section .about-lead{font-size:21px;line-height:1.65;color:var(--ink);margin-top:0}
.inquiry{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.inquiry h2{font-size:clamp(36px,4vw,55px)}.inquiry-intro{max-width:330px;font-size:16px;color:var(--muted);line-height:1.8}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-wide{grid-column:1/-1}.intake-form label{font-size:12px;line-height:1.6;display:block}.intake-form input:not([type=checkbox]),.intake-form select,.intake-form textarea{display:block;width:100%;font:inherit;font-size:15px;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:0;padding:12px;margin-top:7px}.intake-form textarea{resize:vertical;min-height:140px}.intake-form :is(input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.intake-form .privacy-check{display:flex;align-items:start;gap:10px;margin:22px 0}.privacy-check input{accent-color:var(--ink);margin-top:4px}.privacy-check a{text-decoration:underline}.form-note,.form-status{font-size:12px;color:var(--muted);line-height:1.7}.intake-form button{border:0;margin-top:10px}.form-status{color:var(--ink)}.footer-legal{display:flex;flex-direction:column;gap:10px;font-size:11px}.footer>div>p{font-size:11px;color:var(--muted)}.legal-note{border-left:2px solid var(--accent);padding-left:20px;font-size:14px;line-height:1.8;color:var(--muted)}
@media(max-width:1100px){.product-hero{gap:35px}.product-hero h1{font-size:54px}.hero-secondary{margin-left:14px}.inquiry{gap:40px}}
@media(max-width:760px){.product-hero{grid-template-columns:1fr;padding-block:45px;gap:45px}.product-hero h1{font-size:clamp(44px,11vw,68px);letter-spacing:-2.4px}.product-hero .hero-text{font-size:15px}.hero-product figcaption{gap:12px}.hero-product strong{font-size:17px}.hero-product figcaption a{white-space:normal;max-width:100px}.service-grid{grid-template-columns:1fr;gap:28px}.service-grid h3{margin-top:16px}.about-section,.inquiry{grid-template-columns:1fr;gap:30px}.about-section .about-lead{font-size:19px}.form-grid{grid-template-columns:1fr}.footer-legal{align-items:end}.hero-secondary{margin-right:0}}
/* DAX with a regular A and raised 27, using the existing vector letterforms. */
.header .brand img,.header .brand .brand-mark{width:132px;height:37px}
@media(max-width:760px){.header .brand img,.header .brand .brand-mark{width:108px;height:30px}.header nav a{font-size:13px}.header-right{gap:12px}}

/* Selected work: wide web product, naturally proportioned mobile prototype. */
.work-heading{padding-block:75px 55px}.work-heading h1{font-size:clamp(52px,6.5vw,90px);font-weight:400;letter-spacing:-3px;margin:25px 0}.work-heading>p:last-child{font-size:19px;line-height:1.7;max-width:620px;color:var(--muted)}
.work-row{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center;padding-block:65px;border-top:1px solid var(--line)}.work-copy h2{font-size:clamp(36px,4vw,56px);font-weight:400;letter-spacing:-1.8px;margin:22px 0}.work-copy>p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--muted)}.work-copy .button{margin-top:20px}.work-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.work-tags span{border:1px solid var(--line);font-size:11px;padding:7px 10px}.mobile-stage{background:#e8e6dc;padding:32px}
.project-film.is-portrait{width:min(100%,260px);aspect-ratio:384/832;margin-inline:auto;background:#eae7df}.project-film.is-portrait video{aspect-ratio:384/832}.project-detail-image:has(.is-portrait){padding:30px;background:#e8e6dc}.project-detail-image:has(.is-portrait) figcaption{max-width:500px;margin:20px auto 0;text-align:center}
@media(max-width:1100px){.work-row{gap:35px}.header nav{gap:20px;margin-right:20px}}
@media(max-width:760px){.work-heading{padding-block:45px 30px}.work-row{grid-template-columns:1fr;gap:28px;padding-block:40px}.work-heading h1{letter-spacing:-2px}.work-copy h2{font-size:37px}.mobile-stage{padding:24px}.project-film.is-portrait{max-width:240px}.header nav{margin-right:0;gap:15px}}

/* LATCH: adapted from its original GitHub presentation. */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/latch/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/latch/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/latch/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Syne Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/latch/font-3.ttf) format('truetype');
}


    .latch-showcase *, .latch-showcase *::before, .latch-showcase *::after { box-sizing: border-box; margin: 0; padding: 0; }



    .latch-showcase {
      background: #161E1C;
      color: rgba(255,255,255,0.88);
      font-family: 'Syne', sans-serif;
      min-height: 0;
      overflow-x: hidden;
    }

    .latch-showcase::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse 80% 55% at 50% -10%, rgba(20,164,144,0.18) 0%, transparent 62%),
        radial-gradient(ellipse 45% 40% at 5% 100%, rgba(5,46,38,0.55) 0%, transparent 50%),
        radial-gradient(ellipse 40% 35% at 95% 45%, rgba(15,138,120,0.09) 0%, transparent 50%);
      pointer-events: none;
      z-index: 0;
    }

    .latch-page {
      position: relative;
      z-index: 1;
      max-width: 1120px;
      margin: 0 auto;
      padding: 28px 40px 22px;
      display: flex;
      flex-direction: column;
      min-height: 0;
    }

    /* ── HEADER ── */
    .latch-header {
      text-align: center;
      margin-bottom: 22px;
      flex-shrink: 0;
    }

    .latch-ring-wrap {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 42px;
      height: 42px;
      border-radius: 12px;
      overflow: hidden;
      position: relative;
      margin-bottom: 14px;
    }

    .latch-ring-spin {
      position: absolute;
      width: 84px;
      height: 84px;
      top: -21px;
      left: -21px;
      animation: latch-spin 2.8s linear infinite;
      background: linear-gradient(to right,
        #010B09, #010B09, #010B09, #010B09,
        #020E0C, #083D36, #0F6A5E,
        #14A490, #44D4C4, #ffffff,
        #44D4C4, #14A490, #010B09
      );
    }

    @keyframes latch-spin { to { transform: rotate(360deg); } }

    .latch-ring-inner {
      position: absolute;
      inset: 2px;
      border-radius: 10px;
      background: #161E1C;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .latch-header-title {
      font-weight: 800;
      font-size: 56px;
      letter-spacing: 10px;
      text-transform: uppercase;
      line-height: 1;
      margin-bottom: 12px;
      background: linear-gradient(160deg, #ffffff 0%, rgba(255,255,255,0.75) 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .latch-header-sub {
      font-family: 'Syne Mono', monospace;
      font-size: 10.5px;
      letter-spacing: 3.5px;
      color: rgba(20,164,144,0.80);
      text-transform: uppercase;
      margin-bottom: 10px;
    }

    .latch-header-desc {
      font-weight: 400;
      font-size: 12.5px;
      color: rgba(255,255,255,0.28);
      max-width: 380px;
      margin: 0 auto;
      line-height: 1.6;
    }

    .latch-divider {
      width: 32px;
      height: 1px;
      background: rgba(20,164,144,0.38);
      margin: 16px auto;
    }

    /* ── SCREENS ── */
    .latch-screens-wrap {
      position: relative;
      flex-shrink: 0;
      padding: 20px 0 16px;
      overflow: visible;
    }

    .latch-screens-wrap::before {
      content: '';
      position: absolute;
      inset: -30px -80px;
      background:
        radial-gradient(ellipse 70% 90% at 50% 55%, rgba(20,164,144,0.15) 0%, transparent 68%),
        radial-gradient(ellipse 30% 60% at 14% 55%, rgba(20,164,144,0.07) 0%, transparent 55%);
      pointer-events: none;
    }

    .latch-screens {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
      align-items: center;
      height: 500px;
      overflow: visible;
    }

    .latch-screen-col {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 13px;
      transform-origin: center center;
    }

    .latch-screen-col:nth-child(1) { transform: rotate(-8deg)   scale(0.94); }
    .latch-screen-col:nth-child(2) { transform: rotate(-2.5deg) scale(0.98); }
    .latch-screen-col:nth-child(3) { transform: rotate( 2.5deg) scale(0.98); }
    .latch-screen-col:nth-child(4) { transform: rotate( 8deg)   scale(0.94); }

    .latch-screen-label {
      font-weight: 700;
      font-size: 9px;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: rgba(255,255,255,0.24);
      flex-shrink: 0;
    }

    .latch-phone-shell {
      position: relative;
      width: 196px;
      aspect-ratio: 9 / 19.5;
      border-radius: 24px;
      padding: 2px;
      background: linear-gradient(
        148deg,
        rgba(230,228,224,0.95) 0%,
        rgba(160,158,155,0.80) 10%,
        rgba(52,51,49,0.92) 28%,
        rgba(40,39,37,1) 55%,
        rgba(55,54,51,0.90) 78%,
        rgba(170,168,164,0.85) 100%
      );
      box-shadow:
        0 0 0 0.5px rgba(0,0,0,0.55),
        0 0 0 1px rgba(255,255,255,0.055),
        0 38px 80px rgba(0,0,0,0.78),
        0 10px 26px rgba(0,0,0,0.50),
        0  2px  6px rgba(0,0,0,0.35),
        0 0 50px rgba(20,164,144,0.09);
    }

    .latch-phone-shell::before {
      content: '';
      position: absolute;
      top: 0;
      left: 20%;
      right: 20%;
      height: 1px;
      background: rgba(255,255,255,0.60);
      border-radius: 1px;
      pointer-events: none;
    }

    .latch-btn-vol {
      position: absolute;
      left: -3px;
      width: 3px;
      background: linear-gradient(90deg, #1a1a18, #2c2c2a);
      border-radius: 1.5px 0 0 1.5px;
      box-shadow: -1px 0 3px rgba(0,0,0,0.4);
    }
    .latch-btn-vol-1 { top: 16%; height: 24px; }
    .latch-btn-vol-2 { top: 28%; height: 38px; }
    .latch-btn-vol-3 { top: 42%; height: 38px; }

    .latch-btn-power {
      position: absolute;
      right: -3px;
      top: 26%;
      width: 3px;
      height: 58px;
      background: linear-gradient(270deg, #1a1a18, #2c2c2a);
      border-radius: 0 1.5px 1.5px 0;
      box-shadow: 1px 0 3px rgba(0,0,0,0.4);
    }

    .latch-phone-screen {
      position: relative;
      width: 100%;
      height: 100%;
      border-radius: 22px;
      overflow: hidden;
      background: #000;
    }

    .latch-phone-screen img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top;
    }

    .latch-phone-screen::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 22px;
      background: linear-gradient(145deg, rgba(255,255,255,0.07) 0%, rgba(255,255,255,0.02) 20%, transparent 40%);
      pointer-events: none;
      z-index: 5;
    }

    .latch-phone-screen::before {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: 22px;
      box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
      pointer-events: none;
      z-index: 6;
    }

    .latch-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 5px;
      justify-content: center;
      flex-shrink: 0;
    }

    .latch-tag {
      padding: 3px 8px;
      border-radius: 100px;
      background: rgba(20,164,144,0.07);
      border: 1px solid rgba(20,164,144,0.14);
      font-family: 'Syne Mono', monospace;
      font-size: 7.5px;
      letter-spacing: 0.7px;
      color: rgba(20,164,144,0.55);
    }

    /* ── DEMO TRIGGER ── */
    .latch-demo-trigger-wrap {
      display: flex;
      justify-content: center;
      margin: 20px 0 4px;
      flex-shrink: 0;
    }

    .latch-demo-trigger {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 10px 22px 10px 16px;
      border-radius: 100px;
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(255,255,255,0.10);
      cursor: pointer;
      transition: background 0.2s, border-color 0.2s, transform 0.18s;
      outline: none;
    }
    .latch-demo-trigger:hover {
      background: rgba(20,164,144,0.10);
      border-color: rgba(20,164,144,0.28);
      transform: translateY(-1px);
    }
    .latch-demo-trigger:active { transform: scale(0.97); }

    .latch-demo-play-ring {
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: linear-gradient(135deg, #14A490, #0A5C4E);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      box-shadow: 0 0 14px rgba(20,164,144,0.45);
    }
    .latch-demo-play-ring::after {
      content: '';
      display: block;
      width: 0;
      height: 0;
      border-top: 5px solid transparent;
      border-bottom: 5px solid transparent;
      border-left: 9px solid rgba(255,255,255,0.92);
      margin-left: 2px;
    }

    .latch-demo-trigger-label {
      font-family: 'Syne', sans-serif;
      font-weight: 700;
      font-size: 10px;
      letter-spacing: 2.5px;
      text-transform: uppercase;
      color: rgba(255,255,255,0.55);
    }

    /* ── BOTTOM ── */
    .latch-bottom {
      flex-shrink: 0;
      margin-top: auto;
      padding-top: 14px;
    }

    .latch-stack-row {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      justify-content: center;
      margin-bottom: 16px;
    }

    .latch-stack-tag {
      padding: 4px 11px;
      border-radius: 100px;
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(255,255,255,0.07);
      font-family: 'Syne Mono', monospace;
      font-size: 9px;
      letter-spacing: 0.3px;
      color: rgba(255,255,255,0.25);
    }

    .latch-footer {
      padding-top: 14px;
      border-top: 1px solid rgba(255,255,255,0.05);
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 16px;
    }

    .latch-footer-year {
      font-family: 'Syne Mono', monospace;
      font-size: 9px;
      letter-spacing: 2px;
      color: rgba(255,255,255,0.13);
      text-transform: uppercase;
    }

    .latch-footer-dot {
      width: 2px;
      height: 2px;
      border-radius: 50%;
      background: rgba(255,255,255,0.10);
    }

    .latch-footer-name {
      font-weight: 700;
      font-size: 11px;
      letter-spacing: 2px;
      color: rgba(255,255,255,0.24);
    }

    .latch-footer-credit {
      font-family: 'Syne Mono', monospace;
      font-size: 9px;
      letter-spacing: 1px;
      color: rgba(255,255,255,0.18);
      text-decoration: none;
      transition: color 0.15s;
    }
    .latch-footer-credit:hover { color: rgba(255,255,255,0.45); }

    /* ── MOBILE ── */
    @media (max-width: 768px) {
      .latch-page {
        padding: 24px 20px 18px;
      }

      .latch-header-title {
        font-size: 36px;
        letter-spacing: 7px;
      }

      .latch-screens-wrap {
        overflow: hidden;
        margin: 0 -20px;
      }

      .latch-screens-wrap::before {
        display: none;
      }

      .latch-screens {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        height: auto;
        gap: 0;
        padding: 16px 20px 24px;
        align-items: flex-start;
      }
      .latch-screens::-webkit-scrollbar { display: none; }

      .latch-screen-col {
        flex: 0 0 auto;
        scroll-snap-align: center;
        transform: none !important;
        padding: 0 10px;
        width: calc(80vw);
        max-width: 260px;
        align-items: center;
      }

      .latch-phone-shell {
        width: min(58vw, 196px);
      }

      /* Scroll hint dots */
      .latch-scroll-dots {
        display: flex;
        justify-content: center;
        gap: 6px;
        margin-top: 4px;
      }

      .latch-footer {
        flex-direction: column;
        gap: 6px;
        text-align: center;
      }

      .latch-footer-dot { display: none; }
    }

    @media (max-width: 480px) {
      .latch-header-title {
        font-size: 30px;
        letter-spacing: 5px;
      }

      .latch-header-sub {
        font-size: 9px;
        letter-spacing: 2.5px;
      }

      .latch-screen-col {
        width: 85vw;
        max-width: 240px;
      }

      .latch-phone-shell {
        width: min(62vw, 196px);
      }
    }

    /* Hide scroll-dots on desktop */
    @media (min-width: 769px) {
      .latch-scroll-dots { display: none; }
    }

    .latch-scroll-dot {
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: rgba(255,255,255,0.15);
      transition: background 0.2s;
    }
    .latch-scroll-dot.latch-active {
      background: rgba(20,164,144,0.65);
    }


.latch-showcase{position:relative;isolation:isolate;overflow:hidden;width:100%;background:#161e1c;line-height:normal}
.latch-showcase .latch-page{padding:42px 40px 28px}
.latch-showcase .latch-header{display:block;width:auto;height:auto;border:0;padding:0;gap:0}
.latch-showcase .latch-footer{display:flex;width:auto;margin:0;background:none}
.latch-showcase .latch-screen-label{color:#9ca9a4}.latch-showcase .latch-header-desc{color:#a1aeaa}.latch-showcase .latch-tag{color:#6dc7b6}.latch-showcase .latch-stack-tag{color:#9ca9a4}.latch-showcase .latch-footer-year{color:#91a29b}
.latch-showcase .latch-demo-trigger-label{color:#d1ded8}
.latch-showcase .latch-demo-trigger:focus-visible{outline:2px solid #44d4c4;outline-offset:5px}
.latch-dialog{padding:0;border:1px solid #427063;border-radius:16px;background:#0d1614;color:#e5eee9;max-width:calc(100vw - 32px);max-height:92vh;overflow:auto}
.latch-dialog::backdrop{background:#08100eee;backdrop-filter:blur(10px)}
.latch-dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:12px 16px;font-size:12px}
.latch-dialog-close{color:inherit;background:none;border:1px solid #ffffff40;border-radius:5px;padding:5px 10px;font-size:18px}
.latch-dialog-video{display:block;height:min(72vh,720px);width:auto;max-width:100%;aspect-ratio:384/832;object-fit:contain}
.work-row--latch{grid-template-columns:1fr;gap:32px}.work-row--latch .work-copy{max-width:760px}.work-row--latch .work-copy h2{margin-top:14px}.latch-detail{max-width:1440px}.latch-detail .detail-summary{max-width:800px}
@media(max-width:950px) and (min-width:769px){.latch-showcase .latch-phone-shell{width:155px}.latch-showcase .latch-screens{height:410px;gap:10px}}
@media(max-width:768px){.latch-showcase .latch-page{padding:28px 20px 22px}.latch-showcase .latch-screens{padding:16px 20px 36px}.latch-showcase .latch-footer{flex-direction:column}.latch-showcase .latch-footer-name{font-size:10px}}
@media(prefers-reduced-motion:reduce){.latch-showcase *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.latch-showcase .latch-dialog{margin:auto}.offering-list>.project-card--latch{max-width:none}

/* One wordmark: identical 27 geometry, scaled to the surrounding type. */
.inline-wordmark{display:inline-block;width:auto;height:.9em;vertical-align:-.085em;overflow:visible;flex-shrink:0}
.footer-brand .inline-wordmark{height:1em}

/* Compact product presentation, sized by the available viewport. */
.latch-showcase .latch-page{padding:26px 28px 24px}
.latch-showcase .latch-header{margin-bottom:6px}
.latch-showcase .latch-ring-wrap,.latch-showcase .latch-header-desc,.latch-showcase .latch-divider,.latch-showcase .latch-bottom{display:none}
.latch-showcase .latch-header-title{font-size:34px;letter-spacing:7px;margin-bottom:9px}
.latch-showcase .latch-header-sub{font-size:9px;letter-spacing:2px;margin-bottom:0}
.latch-showcase .latch-screens-wrap{padding:12px 0 8px}
.latch-showcase .latch-screens{height:auto;max-width:820px;margin-inline:auto;gap:18px;padding:18px 16px 20px}
.latch-showcase .latch-phone-shell{width:clamp(100px,17vh,144px);border-radius:18px}
.latch-showcase .latch-phone-screen{border-radius:16px}
.latch-showcase .latch-screen-col{gap:9px;min-width:0}
.latch-showcase .latch-screen-label{font-size:8px;letter-spacing:2px}
.latch-showcase .latch-tags{display:none}
.latch-showcase .latch-demo-trigger-wrap{margin:10px 0 0}
.latch-showcase .latch-demo-trigger{min-height:44px;padding:8px 18px 8px 12px}
.latch-showcase .latch-demo-trigger-label{font-size:9px;letter-spacing:1.6px}
.work-row--latch{gap:22px;padding-block:36px}
.work-row--latch .work-copy{display:grid;grid-template-columns:1fr 1.6fr;column-gap:40px;max-width:none;align-items:center}
.work-row--latch .work-copy .eyebrow{grid-column:1;margin:0;font-size:9px}
.work-row--latch .work-copy h2{grid-column:1;margin:8px 0 0;font-size:36px}
.work-row--latch .work-copy>p:not(.eyebrow){grid-column:2;grid-row:1 / 3;margin:0;font-size:15px;line-height:1.6;max-width:620px}
.work-row--latch>.project-link{margin-top:0}
@media(max-width:768px){
 .latch-showcase .latch-page{padding:22px 18px 20px}
 .latch-showcase .latch-header-title{font-size:27px;letter-spacing:5px}
 .latch-showcase .latch-header-sub{font-size:8px;letter-spacing:1.4px}
 .latch-showcase .latch-screens-wrap{margin-inline:-18px;padding:8px 0 0}
 .latch-showcase .latch-screens{max-width:none;gap:0;padding:12px 18px 16px;scroll-padding-inline:18px}
 .latch-showcase .latch-screen-col{width:156px;max-width:none;padding-inline:14px;scroll-snap-align:start}
 .latch-showcase .latch-phone-shell{width:clamp(98px,16svh,124px)}
 .latch-showcase .latch-scroll-dots{margin:0 0 6px}
 .latch-showcase .latch-demo-trigger-label{font-size:8px;letter-spacing:1px}
 .work-row--latch .work-copy{display:block}
 .work-row--latch .work-copy h2{font-size:32px;margin:10px 0}
 .work-row--latch .work-copy>p:not(.eyebrow){font-size:14px}
 .work-row--latch{gap:20px;padding-block:32px}
}
.work-row>*{min-width:0}
.work-copy h2{overflow-wrap:anywhere}
@media(max-width:768px){.work-copy h2{font-size:clamp(28px,8vw,37px)}.latch-showcase .latch-phone-shell{width:clamp(96px,14svh,112px)}}

/* Quiet presentation frames shared by the three work previews. */
.work-frame{min-width:0;border:1px solid #cdc7bc;border-radius:10px;padding:0 10px 10px;background:#e8e3da;box-shadow:0 6px 18px -12px #25242140}
.work-frame-bar{height:35px;display:flex;align-items:center;gap:9px;padding:0 4px;color:#6f695e;font-size:10px;letter-spacing:.045em}
.frame-indicator{width:5px;height:5px;border:1px solid #958c7c;border-radius:50%;flex-shrink:0}.frame-corner{margin-left:auto;font-size:14px}
.work-frame-inset{border:1px solid #25242122;border-radius:4px;overflow:hidden;background:#1d1e1a}
.work-frame .project-film,.work-frame .project-image{display:block;width:100%;margin:0;border:0}
.work-frame .latch-showcase{border:0}
@media(max-width:760px){.work-frame{padding:0 6px 6px;border-radius:8px}.work-frame-bar{height:29px;font-size:9px}.work-frame-inset{border-radius:3px}}

.work-highlights{list-style:none;padding:0;margin:22px 0;display:grid;gap:9px;font-size:12px;line-height:1.5;color:var(--ink)}
.work-highlights li{padding-left:15px;position:relative}.work-highlights li::before{content:"";position:absolute;left:0;top:.65em;width:4px;height:4px;background:var(--accent)}
.work-row--latch .work-highlights{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 30px;margin:18px 0 0}
@media(max-width:760px){.work-row--latch .work-highlights{display:grid;gap:8px;margin-top:18px}.work-highlights{font-size:12px}}

/* Clear navigation, one section hierarchy, and compact evidence on the home page. */
.header nav a{min-height:44px;display:flex;align-items:center}
.header nav a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-underline-offset:7px}
.header .language-switch a,.header .language-switch [aria-current]{min-width:28px;min-height:44px;display:grid;place-items:center}
.header nav{margin-right:20px;gap:28px}
.service-grid h3{margin-top:0}
.home-work{border-top:1px solid var(--line)}
.home-work .section-top{align-items:end}
.home-work .section-top>.project-link{margin:0 0 6px;min-height:44px}
.home-work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:40px}
.home-work-card{min-width:0;display:block}
.home-work-card .work-frame{padding:0 7px 7px;transition:border-color .25s}
.home-work-card:hover .work-frame{border-color:var(--accent)}
.home-work-card .work-frame-bar{height:29px;font-size:9px}
.home-work-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.home-work-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:20px}
.home-work-title h3{font-size:22px;font-weight:500;letter-spacing:-.65px;margin:0}
.home-work-title>span{font-size:19px;color:var(--accent)}
.home-work-card>p{font-size:13px;line-height:1.75;color:var(--muted);margin:10px 0 0;max-width:350px}
.latch-thumbnail{aspect-ratio:16/9;background:#14231f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6%;overflow:hidden;padding:6% 7% 5%;color:#e7ece8}
.latch-thumbnail>strong{font-size:clamp(13px,1.6vw,22px);letter-spacing:.3em;line-height:1}
.latch-thumbnail>div{display:flex;gap:6%;align-items:center;justify-content:center;width:100%;min-height:0}
.latch-thumbnail img{width:17%;height:auto;border:1px solid #a0a09a;border-radius:9%;box-shadow:0 7px 10px #0004;transform:rotate(-7deg)}
.latch-thumbnail img:nth-child(2){transform:rotate(-2deg)}
.latch-thumbnail img:nth-child(3){transform:rotate(2deg)}
.latch-thumbnail img:nth-child(4){transform:rotate(7deg)}
.product-hero{grid-template-columns:1.1fr 1fr;gap:70px;padding-block:70px}
.project-start.work-frame{color:var(--ink);padding:0 9px 9px;border:1px solid #cdc7bc;background:#e8e3da;max-width:530px;width:100%;justify-self:end;box-shadow:0 16px 40px -30px #423b2b55}
.project-start .work-frame-bar{height:39px;font-size:10px;padding-inline:6px;gap:8px}
.project-start .work-frame-bar .inline-wordmark{height:.85em;width:auto;vertical-align:baseline}
.project-frame-label{margin-left:auto;font-size:8px;letter-spacing:1px}
.project-start .project-start-sheet{background:#faf8f3;padding:29px 29px 0;border-color:#d5cdbf;position:relative}
.project-start-heading .eyebrow{font-size:8px;color:var(--accent);letter-spacing:1.5px}
.project-start h2{font-size:clamp(24px,2.4vw,33px);letter-spacing:-1px;line-height:1.2;font-weight:400;margin:14px 0 26px;max-width:340px}
.project-options>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;border-top:1px solid var(--line);transition:color .2s}
.project-options strong{display:block;font-weight:500;font-size:15px;letter-spacing:-.2px}
.project-options small{display:block;font-size:11px;line-height:1.6;color:var(--muted);margin-top:5px;max-width:290px}
@media(hover:hover){.project-options>a strong{text-decoration:underline;text-underline-offset:5px;text-decoration-color:transparent;transition:text-decoration-color .3s}.project-options>a:hover strong{text-decoration-color:var(--accent)}}
.project-options>a:focus-visible{outline-offset:3px}
.project-start-foot{display:flex;align-items:center;gap:12px;margin:8px -29px 0;padding:17px 29px;background:#f0ece3;border-top:1px solid var(--line);font-size:9px;color:var(--muted);line-height:1.5}
.project-foot-line{flex:1;border-top:1px solid #c7bdad}
.footer-links{display:grid;gap:20px}.footer-nav{display:flex;flex-wrap:wrap;gap:18px;font-size:12px}
.footer-nav a,.footer-legal a{padding-block:8px}.footer-legal{flex-direction:row;flex-wrap:wrap;gap:8px 18px}
.steps li{gap:0}
@media(max-width:1000px) and (min-width:761px){.header nav{gap:18px;margin-right:0}.product-hero{gap:35px}.project-start .project-start-sheet{padding:24px 24px 0}.project-start-foot{margin-inline:-24px;padding-inline:24px}.home-work-grid{gap:18px}.home-work-title h3{font-size:19px}}
@media(max-width:760px){
 html{scroll-padding-top:125px}
 .header{position:sticky;top:0;z-index:15;background:var(--paper);height:auto;display:grid;grid-template-columns:1fr auto;gap:0;padding-top:16px;isolation:isolate}
 .header::before{content:"";position:absolute;inset:0 -20px;background:var(--paper);z-index:-1;border-bottom:1px solid var(--line)}
 .header .brand{grid-column:1;grid-row:1;justify-self:start;flex-direction:row}
 .header-right{grid-column:2;grid-row:1}
 .header nav,.header nav.is-open{display:flex;position:static;grid-column:1/-1;grid-row:2;flex-direction:row;justify-content:space-between;gap:8px;margin:8px 0 0;padding:0;border:0;background:none}
 .header nav a{font-size:12px;line-height:1.3;padding:13px 0;min-height:46px;white-space:nowrap}
 .menu-toggle{display:none}
 .product-hero{grid-template-columns:1fr;gap:35px;padding-block:35px 40px}
 .project-start.work-frame{padding:0 6px 6px;transform:none;max-width:none}
 .project-start .work-frame-bar{height:33px;font-size:9px}
 .project-frame-label{font-size:7px;letter-spacing:.65px}
 .project-start .project-start-sheet{padding:24px 20px 0}
 .project-start h2{font-size:27px;margin-bottom:23px}
 .project-start-foot{margin-inline:-20px;padding-inline:20px;font-size:9px}
 .project-options>a{padding:17px 0}
 .project-options strong{font-size:14px}
 .home-work .section-top{align-items:start;gap:16px}
 .home-work-grid{grid-template-columns:1fr;gap:36px;margin-top:25px}
 .home-work-card>p{max-width:100%;font-size:14px}
 .home-work-title h3{font-size:24px}
 .latch-thumbnail>strong{font-size:23px}
 .footer-links{grid-column:1/-1;gap:14px}.footer-nav,.footer-legal{justify-content:flex-start;align-items:start}
 .footer>p{grid-row:auto}
}
@media(prefers-reduced-motion:reduce){.home-work-card:hover .work-frame{transform:none}}
@media(min-width:761px){
 .work-row--reverse{grid-template-columns:1fr 1.15fr}
 .work-row--reverse>.work-visual{grid-column:2;grid-row:1}
 .work-row--reverse>.work-copy{grid-column:1;grid-row:1}
}
/* Lead with the kind of work; keep its product name as a quiet second line. */
.work-copy h2{font-size:clamp(32px,3.5vw,46px);line-height:1.15;letter-spacing:-1.4px;margin-bottom:12px}
.work-copy>p.work-project-name{font-size:14px;line-height:1.5;letter-spacing:.2px;color:var(--accent);margin:0 0 24px}
.home-work-title{align-items:start}.home-work-title h3{font-size:21px;line-height:1.25;letter-spacing:-.55px;min-height:2.5em}
.home-work-card>p.home-project-name{font-size:12px;color:var(--accent);margin:8px 0 13px}
.work-intro>.work-project-name{font-size:14px;line-height:1.5;letter-spacing:.2px;color:var(--accent);margin:12px 0 0}
.work-row--latch .work-copy>.work-intro{grid-column:1;grid-row:1}.work-row--latch .work-copy>p.work-description{grid-column:2;grid-row:1}
.work-row--latch .work-copy .work-highlights{grid-column:1/-1;grid-row:2}
@media(max-width:760px){.home-work-title h3{min-height:0;font-size:24px}.work-copy h2{font-size:34px}.work-row--latch .work-copy>p:not(.eyebrow):not(.work-project-name){grid-column:auto;grid-row:auto}.work-row--latch .work-copy .work-project-name{margin-bottom:18px}}



/* Supporting pages keep the same quiet, editorial rhythm as the portfolio. */
.audience-links{display:flex;flex-wrap:wrap;gap:14px 28px;border-top:1px solid var(--line);padding-top:25px;margin-top:40px;font-size:12px;line-height:1.7}.audience-links>span{color:var(--muted);margin-right:auto}.audience-links a,.process-link{color:var(--accent);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.approach .process-link{display:inline-block;margin-top:22px;font-size:13px;color:var(--accent-on-dark)}
.faq-section{border-bottom:1px solid var(--line)}.faq-list{margin-top:40px;max-width:900px;margin-left:auto}.faq-list details{border-top:1px solid var(--line);padding:20px 0}.faq-list summary{cursor:pointer;font-size:17px;line-height:1.6;padding-right:20px}.faq-list summary::marker{color:var(--accent);font-size:12px}.faq-list details p{font-size:15px;line-height:1.85;color:var(--muted);max-width:760px;padding-left:20px;margin-bottom:0}.faq-list summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.guide-page{padding-block:45px 30px;max-width:1100px}.guide-page .back-link{margin-bottom:45px}.guide-page h1{font-size:clamp(42px,5.5vw,78px);font-weight:500;line-height:1.08;letter-spacing:-.045em;max-width:930px;margin:25px 0}.guide-intro{max-width:760px;font-size:20px;line-height:1.8;color:var(--muted);margin:28px 0}.guide-page>.button{margin-top:8px}.guide-page h2{font-weight:500;letter-spacing:-.025em}.deliverables{margin:35px 0;padding:30px;background:var(--surface);display:grid;grid-template-columns:1fr 1.5fr;gap:45px}.deliverables h2{font-size:27px;margin:0}.deliverables ul{margin:0;padding-left:20px;font-size:15px;line-height:2}.guide-proof{padding:30px 0;border-top:1px solid var(--line);font-size:17px;line-height:1.8}.guide-proof p{max-width:800px;color:var(--muted);margin:0}.guide-proof .project-link{margin-right:30px}.guide-page .related{flex-wrap:wrap}.process-stages{list-style:none;padding:0;margin:55px 0 35px;counter-reset:stage}.process-stages li{display:grid;grid-template-columns:1fr 1.5fr;gap:50px;padding:32px 0;border-top:1px solid var(--line)}.process-stages h2{margin:0;font-size:30px}.process-stages p{margin:0;font-size:16px;line-height:1.85;color:var(--muted)}.process-stages p.stage-deliverable{margin-top:18px;color:var(--accent)}.case-overview{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:30px;margin:40px 0;background:var(--surface)}.case-overview .eyebrow{color:var(--accent)}.case-overview p:not(.eyebrow){font-size:15px;line-height:1.8;margin-bottom:0}
@media(max-width:760px){.audience-links{flex-direction:column;gap:12px}.guide-page h1{font-size:42px}.guide-intro{font-size:17px}.deliverables,.process-stages li,.case-overview{grid-template-columns:1fr;gap:20px}.deliverables,.case-overview{padding:24px}.faq-list{margin-top:28px}.faq-list summary{font-size:16px}.guide-page .detail-sections section{grid-template-columns:1fr;gap:18px}}
.service-grid h3 .service-title-link{display:inline;margin:0;padding:0;border:0;font:inherit;color:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:7px;text-decoration-thickness:1px;transition:color .25s,text-decoration-color .25s}.service-grid h3 .service-title-link:hover,.service-grid h3 .service-title-link:focus-visible{color:var(--accent);text-decoration-color:var(--accent)}
.intake-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.intake-review{margin-top:22px;padding:25px;background:var(--surface);border:1px solid var(--line)}.intake-review[hidden]{display:none}.intake-review h3{font-weight:500;margin:0 0 20px;font-size:22px;letter-spacing:-.5px}.intake-review dl{margin:0;font-size:14px;line-height:1.7}.intake-review dt{color:var(--accent);margin-top:15px;font-size:11px}.intake-review dd{margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.intake-form .review-download{background:transparent;color:var(--ink);padding:8px 0;border-bottom:1px solid var(--accent);font-size:12px}.intake-form[aria-busy=true] button[type=submit]{opacity:.65;cursor:wait}.form-status:empty{display:none}.cf-turnstile{margin:20px 0}

.link-icon{display:inline-block;width:.9em;height:.9em;vertical-align:-.08em;flex-shrink:0;color:inherit}.back-link .link-icon{margin-right:.3em}

/* Paper study: warm stock, generous typography and a ruled service index. */
body{--typewriter:'Syne Mono','Courier New',monospace;background:#f5f1e7 url('/assets/paper-stock.svg') center top / 1600px 1000px repeat}

.header{border-bottom:0;height:110px}
.header .brand img,.header .brand .brand-mark{width:128px;height:36px}
.header nav{font-size:12px}
.hero-atmosphere{position:relative;background:radial-gradient(ellipse at 5% 55%,#e6d8bd35,transparent 65%)}
.hero-atmosphere .poster-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);column-gap:8%;row-gap:36px;align-items:start;padding-block:58px 76px}
.poster-hero>.eyebrow{grid-column:1/-1;font-family:var(--sans);font-size:9px;letter-spacing:1.8px;margin:0;color:#55544d}
.hero-main{min-width:0}
.hero-atmosphere .poster-headline{font-family:var(--typewriter);font-weight:400;font-size:clamp(60px,6.75vw,103px);letter-spacing:-.058em;line-height:1.02;margin:0 0 42px;color:#1b2021}
.poster-headline>span{display:block;white-space:nowrap}
.hero-atmosphere .poster-headline .last-line{margin-left:0;color:#25525a;font-style:normal;white-space:normal;max-width:7.5em}
.hero-copy:before{content:"";display:block;width:54px;border-top:1px solid #4f5753;margin-bottom:24px}
.hero-atmosphere .hero-text{color:#57574f;max-width:440px;font-size:14px;line-height:1.85}
.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin-top:30px}
.hero-atmosphere .hero-action{margin:0;background:transparent;border:1px solid #777a7066;border-radius:0;box-shadow:none;color:#202623;padding:14px 20px;font-size:11px;transition:background .25s,color .25s,border-color .25s}
.hero-atmosphere .hero-action:hover{background:#25525a;color:#fff;border-color:#25525a;transform:none;box-shadow:none}
.hero-atmosphere .hero-secondary{margin:0;padding:12px 0;font-size:11px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#a0a194}
.hero-atmosphere .poster-services{width:100%;max-width:410px;justify-self:end;padding:9px 0 0;border:0;background:none;box-shadow:none;transform:none}
.poster-services .project-start-heading{display:block;margin-bottom:28px}
.poster-services .project-start-heading .eyebrow{font-family:var(--typewriter);font-size:10px;letter-spacing:1.1px;color:#555a54;margin-bottom:13px}
.hero-atmosphere .poster-services h2{font-family:var(--sans);font-size:25px;line-height:1.25;letter-spacing:-.8px;font-weight:400;max-width:290px;margin:0}
.poster-services .project-options{border-bottom:1px solid #85877766}
.poster-services .project-options>a{position:relative;min-height:108px;padding:25px 0;border-top:1px solid #85877766;transition:color .25s}
.poster-services .project-options>a:first-child{border-top-color:#3f4d47}
.poster-services .project-options strong{font-size:16px;font-weight:500;letter-spacing:-.3px}
.poster-services .project-options small{font-size:12px;line-height:1.6;color:#6b6c61;margin-top:8px;max-width:310px}
.poster-services .project-options>a:hover{color:#25525a}
.hero-baseline{font-family:var(--typewriter);font-size:9px;letter-spacing:.4px;border-bottom:0;padding-block:23px;color:#616459}
@media(min-width:761px){html[lang=fr] .hero-atmosphere .poster-headline{font-size:clamp(60px,6.6vw,100px)}}
@media(max-width:1000px) and (min-width:761px){
 .hero-atmosphere .poster-hero{grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);column-gap:6%;padding-block:40px 55px}
 .hero-atmosphere .poster-headline{font-size:clamp(54px,6.5vw,67px)}
 .hero-atmosphere .poster-services h2{font-size:22px}
 .poster-services .project-options strong{font-size:14px}
}
@media(max-width:760px){
 .header{height:auto}
 .header .brand img,.header .brand .brand-mark{width:112px;height:31px}
 .hero-atmosphere .poster-hero{grid-template-columns:1fr;row-gap:27px;padding-block:35px 40px}
 .poster-hero>.eyebrow{font-size:8px;letter-spacing:1.25px}
 .hero-atmosphere .poster-headline{font-size:clamp(48px,12.8vw,88px);line-height:1.04;letter-spacing:-.055em;margin-bottom:30px}
 .hero-atmosphere .poster-headline .last-line{max-width:7.5em}
 .hero-atmosphere .hero-text{font-size:14px;max-width:450px}
 .hero-copy:before{margin-bottom:20px;width:42px}
 .hero-actions{gap:23px;margin-top:25px}
 .hero-atmosphere .poster-services{max-width:none;padding-top:22px}
 .poster-services .project-start-heading{margin-bottom:23px}
 .hero-atmosphere .poster-services h2{max-width:none;font-size:23px}
 .poster-services .project-options>a{padding:20px 0;min-height:91px}
 .poster-services .project-options strong{font-size:16px}
 .poster-services .project-options small{font-size:12px;max-width:none}
 .hero-baseline{font-size:8px;gap:20px;line-height:1.7;align-items:start}
 .hero-baseline>span:last-child{text-align:right}
}

/* Reference study: typewriter annotations, numbered rules and ink markers. */
.header nav,.language-switch{font-family:var(--typewriter);text-transform:uppercase;font-size:12px;letter-spacing:1px}
.header .brand img,.header .brand .brand-mark{width:110px;height:31px}
.hero-atmosphere{background:none}
.hero-atmosphere .poster-hero{grid-template-columns:minmax(0,1.9fr) minmax(300px,1fr);column-gap:7%;padding-block:62px 68px;row-gap:28px}
.poster-hero>.eyebrow{font-family:var(--typewriter);font-size:11px;letter-spacing:1.4px;color:#252929}
.hero-atmosphere .poster-headline{font-family:var(--typewriter);font-size:clamp(68px,8vw,122px);font-weight:400;letter-spacing:-.055em;line-height:1.01;color:#1b2023;margin-bottom:35px}
.hero-atmosphere .poster-headline .last-line{color:#1b2023;max-width:none}
.hero-atmosphere .hero-text{font-family:var(--typewriter);font-size:13px;line-height:1.85;letter-spacing:.8px;text-transform:uppercase;max-width:540px;color:#303532}
.hero-copy:before{width:77px;margin-bottom:24px;border-color:#323a38}
.hero-actions{gap:32px;margin-top:35px}
.hero-atmosphere .hero-action,.hero-atmosphere .hero-secondary{font-family:var(--typewriter);font-size:11px;letter-spacing:1px;text-transform:uppercase;background:none;border:0;padding:6px 0;text-decoration:none;line-height:1.6;display:inline-flex;align-items:center;gap:14px}
.hero-atmosphere .hero-action:before{content:"";width:20px;height:20px;border:1px solid currentColor;border-radius:50%;flex:0 0 auto}
.hero-atmosphere .hero-action:hover{color:#25525a;background:none}
.hero-atmosphere .hero-secondary{border-left:1px solid #7f8279;padding-left:26px}
.hero-atmosphere .poster-services{padding-top:7px;max-width:none}
.poster-services .project-start-heading{margin-bottom:22px}
.poster-services .project-start-heading .eyebrow{font-family:var(--typewriter);color:#252929;font-size:11px;letter-spacing:1px;gap:9px;margin-bottom:17px}
.poster-services .project-start-heading .eyebrow:before{content:"//";letter-spacing:0}
.hero-atmosphere .poster-services h2{font-family:var(--typewriter);font-size:15px;font-weight:400;line-height:1.5;letter-spacing:.25px;max-width:none;margin:0}
.poster-services .project-options>a{display:grid;grid-template-columns:42px minmax(0,1fr) 14px;gap:17px;align-items:start;padding:25px 0;min-height:117px;border-color:#92958a66}
.poster-services .service-index{font-family:var(--typewriter);font-weight:300;font-size:27px;line-height:1.1;letter-spacing:-1px}
.poster-services .service-caption{min-width:0}
.poster-services .project-options strong{font-family:var(--typewriter);font-weight:400;font-size:15px;letter-spacing:0;line-height:1.4}
.poster-services .project-options small{font-family:var(--typewriter);font-size:11px;letter-spacing:0;line-height:1.65;color:#62665f;margin-top:9px;max-width:none}
.service-dot{width:13px;height:13px;background:transparent;border:1px solid currentColor;border-radius:50%;margin-top:5px;transition:background-color .18s ease}
@media(hover:hover){.poster-services .project-options>a:hover .service-dot{background:currentColor}}
.poster-services .project-options>a:focus-visible .service-dot,.poster-services .project-options>a:active .service-dot{background:currentColor}
.hero-baseline{font-family:var(--typewriter);font-size:10px;text-transform:uppercase;letter-spacing:1px}
@media(min-width:761px){html[lang=fr] .hero-atmosphere .poster-headline{font-size:clamp(66px,7.9vw,120px)}}
@media(max-width:1000px) and (min-width:761px){
 .hero-atmosphere .poster-hero{grid-template-columns:minmax(0,1.55fr) minmax(250px,1fr);column-gap:6%}
 .hero-atmosphere .poster-headline,html[lang=fr] .hero-atmosphere .poster-headline{font-size:clamp(60px,7.4vw,74px)}
 .poster-services .project-options>a{grid-template-columns:30px minmax(0,1fr) 11px;gap:10px}
 .poster-services .project-options strong{font-size:13px}
 .service-dot{width:11px;height:11px}
}
@media(max-width:760px){
 .header nav a{font-size:11px;letter-spacing:.35px}
 .header nav{margin-right:0}
 .language-switch{font-size:10px}
 .hero-atmosphere .poster-hero{grid-template-columns:1fr;padding-block:35px 42px;row-gap:27px}
 .poster-hero>.eyebrow{font-size:9px;letter-spacing:.8px}
 .hero-atmosphere .poster-headline{font-size:clamp(44px,12.8vw,88px);line-height:1.04;margin-bottom:30px}
 .hero-atmosphere .hero-text{font-size:12px;line-height:1.85;letter-spacing:.45px}
 .hero-actions{gap:18px;flex-wrap:nowrap;margin-top:28px}
 .hero-atmosphere .hero-action,.hero-atmosphere .hero-secondary{font-size:10px;letter-spacing:.4px}
 .hero-atmosphere .hero-secondary{padding-left:18px;white-space:nowrap}
 .hero-atmosphere .hero-action:before{width:17px;height:17px}
 .hero-atmosphere .poster-services{padding-top:25px}
 .hero-atmosphere .poster-services h2{font-size:15px}
 .poster-services .project-options>a{grid-template-columns:35px minmax(0,1fr) 12px;gap:15px;padding:22px 0;min-height:100px}
 .poster-services .project-options strong{font-size:15px}
 .service-dot{width:12px;height:12px}
 .hero-baseline{font-size:8px;letter-spacing:.4px}
}

/* Typewriter system for navigation, supporting copy and the wordmark. */
body{font-family:var(--typewriter);font-weight:400}
input,select,textarea,button{font-family:var(--typewriter)}
h1,h2,h3,h4{font-weight:400;letter-spacing:-.035em;overflow-wrap:break-word}
.typed-wordmark{display:inline-block;white-space:nowrap;font-family:var(--typewriter);font-size:1em;font-weight:400;letter-spacing:.03em;line-height:1;vertical-align:baseline}
.typed-wordmark sup{font-size:.5em;line-height:0;position:relative;top:-.7em;vertical-align:baseline;letter-spacing:0;margin-left:.06em}
.header .brand>.typed-wordmark{font-family:var(--typewriter);font-size:36px;letter-spacing:.06em;font-weight:400;line-height:1.2}
.footer-brand{font-weight:400}
.field-number,.step-number{font-family:var(--typewriter)}
.hero-atmosphere .poster-headline{font-size:clamp(62px,6.6vw,96px);letter-spacing:-.055em;line-height:1.04}
.hero-atmosphere .poster-headline .last-line{max-width:9em}
.section h2,.contact h2{letter-spacing:-.04em}
.service-grid h3{font-weight:400;font-size:25px;line-height:1.3;letter-spacing:-.035em}
.home-work-title h3{font-weight:400;font-size:21px;letter-spacing:-.025em}
.work-copy h2{font-weight:400;font-size:clamp(30px,3vw,42px);letter-spacing:-.035em}
.guide-page h1,.category-heading h1,.detail h1,.work-heading h1{letter-spacing:-.045em;line-height:1.12}
.guide-page h2,.steps h3,.application-grid h2{font-weight:400}
@media(min-width:761px){html[lang=fr] .hero-atmosphere .poster-headline{font-size:clamp(60px,6.4vw,94px)}}
@media(min-width:761px) and (max-width:1000px){.hero-atmosphere .poster-headline,html[lang=fr] .hero-atmosphere .poster-headline{font-size:clamp(52px,6.2vw,64px)}}
@media(max-width:760px){
 .header .brand>.typed-wordmark{font-size:30px}
 .hero-atmosphere .poster-headline{font-size:clamp(40px,10.7vw,76px);letter-spacing:-.06em;line-height:1.1}
 .hero-atmosphere .poster-headline .last-line{max-width:9em}
 .section h2,.contact h2{font-size:clamp(32px,8.4vw,48px);letter-spacing:-.045em;line-height:1.15}
 .work-copy h2{font-size:30px}
 .home-work-title h3{font-size:23px}
 .guide-page h1,.category-heading h1,.detail h1,.work-heading h1{font-size:clamp(34px,9vw,64px);letter-spacing:-.045em}
 .service-grid h3{font-size:24px}
}

/* Clean display type contrasts with the typewriter supporting text. */
:root{--display:"Bigshot One",Georgia,serif;--serif:var(--display)}
h1,h2,.service-grid h3{font-family:var(--display)}
.home-work-title h3{font-family:var(--typewriter)}
.hero-atmosphere .poster-headline{font-family:var(--display);font-size:clamp(68px,8vw,122px);line-height:1.01}
.hero-atmosphere .poster-headline .last-line{max-width:none}
@media(min-width:761px){html[lang=fr] .hero-atmosphere .poster-headline{font-size:clamp(66px,7.9vw,120px)}}
@media(min-width:761px) and (max-width:1000px){.hero-atmosphere .poster-headline,html[lang=fr] .hero-atmosphere .poster-headline{font-size:clamp(60px,7.4vw,74px)}}
@media(max-width:760px){.hero-atmosphere .poster-headline{font-size:clamp(44px,12.8vw,88px);letter-spacing:-.055em;line-height:1.04}}

.detail-project-name{font-family:var(--typewriter);font-size:15px;letter-spacing:.02em;line-height:1.5;color:var(--accent);margin:0 0 30px}

/* Barcode wordmark in the header; preserve the accessible studio name. */
@font-face{font-family:'Libre Barcode 128 Text';src:url(/assets/fonts/libre-barcode-128-text.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap}
.header .brand>.typed-wordmark{font-family:'Libre Barcode 128 Text',monospace;font-size:64px;font-weight:400;letter-spacing:0;line-height:1}
.header .brand>.typed-wordmark sup{font:inherit;position:static;vertical-align:baseline;margin:0;letter-spacing:0}
@media(max-width:760px){.header .brand>.typed-wordmark{font-size:52px}}

/* Final display typography and matching header/footer barcode signatures. */
@font-face{font-family:'Bigshot One';src:url(/assets/fonts/bigshot-one.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap}
.hero-atmosphere .poster-headline,.section h2,.work-heading h1,.guide-page h1,.detail h1,.work-copy h2,.detail-sections h2,.service-grid h3{font-weight:400}
.footer-brand>.typed-wordmark{font-family:'Libre Barcode 128 Text',monospace;font-size:64px;font-weight:400;letter-spacing:0;line-height:1}
.footer-brand>.typed-wordmark sup{font:inherit;position:static;vertical-align:baseline;margin:0;letter-spacing:0}
@media(max-width:760px){.footer-brand>.typed-wordmark{font-size:52px}}
