:root{--olive:#55643a;--olive-mid:#606b3a;--olive-dark:#222a1b;--cream:#f5e6ad;--cream-soft:#fff0bd;--orange:#f05a1a;--black:#10110d;--ink-soft:#10110db8;--line:#f5e6add1;--shadow:0 18px 44px #10110d5c;--art-cutout-shadow:drop-shadow(-8px 10px 2px #0c120a5c) drop-shadow(-17px 20px 7px #0c120a33);--color-bg:var(--olive-dark);--color-surface:var(--olive);--color-surface-alt:var(--olive-mid);--color-text:var(--cream);--color-text-strong:var(--cream-soft);--color-accent:var(--orange);--color-ink:var(--black);--color-border:var(--line);--font-display:"Caprasimo", Georgia, serif;--font-body:"Space Mono", monospace;--text-body:clamp(.95rem, .35vw + .88rem, 1.05rem);--text-body-mobile:.96rem;--text-meta:clamp(.82rem, .25vw + .72rem, .9rem);--text-small:clamp(.76rem, .25vw + .68rem, .88rem);--chip-font:clamp(.74rem, .2vw + .68rem, .82rem);--chip-font-compact:clamp(.72rem, .18vw + .66rem, .78rem);--chip-line-height:1.15;--chip-padding-y:.28rem;--chip-padding-x:.62rem;--chip-gap:.38rem;--section-padding-block:clamp(1.75rem, 2.8vw, 3rem);--section-padding-inline:clamp(1.5rem, 3vw, 3rem);--card-padding:clamp(1rem, 1.3vw, 1.25rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--container-max:1680px;--container-gutter:32px;--border-strong:3px solid var(--color-ink);--radius-pill:999px;--control-min:44px;--z-texture:20;--z-nav:30;--transition-fast:.16s ease}*{box-sizing:border-box}html{scroll-behavior:smooth}section{scroll-margin-top:112px}body{background:radial-gradient(circle at top left, #f05a1a24, transparent 28rem), var(--color-bg);color:var(--color-text);font-family:var(--font-body);margin:0;overflow-x:clip}body:before{content:"";z-index:var(--z-texture);pointer-events:none;opacity:.2;mix-blend-mode:soft-light;background-image:url(/assets/textures/page-grain.svg);background-size:181px 167px;position:fixed;inset:0}body:after{content:"";z-index:calc(var(--z-texture) - 1);pointer-events:none;opacity:.12;background-image:linear-gradient(0deg,#f5e6ad14 1px,#0000 1px),url(/assets/textures/page-grain.svg);background-size:100% 7px,181px 167px;position:fixed;inset:0}a{color:inherit;text-decoration:none}.skip-link{z-index:calc(var(--z-nav) + 20);min-height:var(--control-min);background:var(--color-text);color:var(--color-ink);border:var(--border-strong);box-shadow:4px 4px 0 var(--color-ink);text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity var(--transition-fast), transform var(--transition-fast);padding:12px 16px;font-weight:700;position:fixed;top:16px;left:16px;transform:translateY(-8px)}.skip-link:focus-visible{opacity:1;pointer-events:auto;transform:translateY(0)}a:focus-visible,button:focus-visible{outline:3px solid var(--color-accent);outline-offset:5px}.button:focus-visible,.project-card__link:focus-visible,.contact-item:focus-visible,.nav a:focus-visible{outline-color:var(--cream-soft);outline-offset:4px;text-decoration:none}.page-shell{width:min(var(--container-max), calc(100% - var(--container-gutter)));background:var(--color-surface);border:4px solid var(--color-ink);box-shadow:var(--shadow);border-top:0;margin:0 auto 32px;position:relative;overflow:hidden}.page-shell__nav{width:min(var(--container-max), calc(100% - var(--container-gutter)));border:4px solid var(--color-ink);box-shadow:var(--shadow);border-bottom:0;margin:12px auto 0}.page-shell:before{content:"";pointer-events:none;z-index:1;border:1px solid #f5e6ad38;position:absolute;inset:8px}.page-shell:after{content:"";pointer-events:none;z-index:3;opacity:.18;mix-blend-mode:soft-light;background:radial-gradient(circle at 8% 12%,#f5e6ad2e 0 1px,#0000 2px) 0 0/97px 83px,radial-gradient(circle at 82% 30%,#10110d47 0 1px,#0000 2px) 0 0/131px 109px,radial-gradient(circle at 42% 78%,#f5e6ad1f 0 1px,#0000 2px) 0 0/151px 127px;position:absolute;inset:0}.page-shell>*{z-index:2;position:relative}.nav,footer{justify-content:space-between;align-items:center;gap:var(--space-6);padding:22px var(--space-9);background:#55643af5;display:flex}.nav{z-index:var(--z-nav);border-bottom:var(--border-strong);flex-wrap:nowrap;align-items:stretch;position:sticky;top:0}.brand,.footer-mark{min-height:var(--control-min);text-transform:uppercase;align-items:center;gap:12px;font-weight:700;display:inline-flex}.brand-mascot,.footer-mascot{object-fit:contain;flex:none;display:block}.brand-mascot{width:clamp(40px,4vw,52px);height:clamp(40px,4vw,52px)}.footer-mark{flex:none}.footer-mascot{width:clamp(48px,5vw,64px);height:clamp(48px,5vw,64px)}.footer-mark:focus-visible{outline:3px solid var(--orange);outline-offset:5px}.nav-group{align-self:stretch;align-items:center;gap:22px;margin-left:auto;display:flex}.brand,.case-nav{align-self:stretch}.primary-nav{text-transform:uppercase;flex-wrap:nowrap;align-items:center;gap:clamp(18px,2vw,30px);font-size:.96rem;font-weight:700;display:flex}.nav>nav:not(.primary-nav):not(.case-nav){text-transform:uppercase;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 24px;font-size:.88rem;font-weight:700;display:flex}.nav>nav:not(.primary-nav):not(.case-nav) a{min-height:var(--control-min);white-space:nowrap;align-items:center;display:inline-flex}.nav a:hover,.project-card__link:hover,.contact-item:hover{color:var(--cream-soft);text-underline-offset:.3em;text-decoration:underline;text-decoration-thickness:2px}.primary-nav a{min-height:var(--control-min);white-space:nowrap;align-items:center;display:inline-flex}.nav-sun{width:var(--control-min);height:var(--control-min);color:var(--color-accent);background:0 0;border:0;flex:none;align-self:center;place-items:center;padding:0;font-size:2.2rem;line-height:1;display:inline-grid}button.nav-sun{cursor:pointer}.nav-overlay{display:none}.poster-band,.editorial-band,.bottom-band{border-bottom:3px solid var(--black)}.hero{grid-template-columns:minmax(620px,1.05fr) minmax(460px,.95fr);grid-template-areas:"copy art""details art";align-items:center;gap:0 clamp(18px,2.4vw,44px);min-height:640px;padding:28px 48px 34px 64px;display:grid;position:relative;overflow:hidden}.hero:after,.projects-section:before,.bottom-band:before{content:"";background:var(--line);height:2px;position:absolute;inset:auto 0 0}.hero-copy{z-index:7;grid-area:copy;align-self:end;padding:0;position:relative;transform:rotate(-.2deg)}.hero-copy .eyebrow{margin:0 0 12px}.hero-details{z-index:7;grid-area:details;align-self:start;min-width:0;padding:0;position:relative;transform:rotate(-.2deg)}.eyebrow{color:var(--cream-soft);text-transform:uppercase;letter-spacing:.12em;font-weight:700}h1,h2,h3{font-family:var(--font-display);letter-spacing:0;margin:0;font-weight:400;line-height:.98}h1{max-width:17.2ch;color:var(--color-text);text-wrap:balance;text-shadow:3px 4px #10110d52;font-size:clamp(3rem,4.8vw,5rem);line-height:1.02}h2{color:var(--color-text);font-size:clamp(2.25rem,4.2vw,3.65rem)}h3{font-size:clamp(1.55rem,2.45vw,2.05rem)}.hero-copy p:not(.eyebrow),.about-card p,.contact-card p,.project-card p{max-width:560px;font-size:var(--text-body);line-height:1.72}.hero-copy p:not(.eyebrow){max-width:68ch;margin:14px 0 0}.actions{gap:var(--space-4);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.actions .button{flex:0 16rem}.evidence-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px;display:grid}.evidence-card{min-width:0;color:var(--cream);background:#10110d38;border:2px solid #f5e6adc7;padding:12px 14px;box-shadow:3px 4px #10110d47}.evidence-card strong{color:var(--color-text);font-family:var(--font-display);font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:400;line-height:1.04;display:block}.evidence-card span{color:var(--cream);margin-top:5px;font-size:.78rem;line-height:1.35;display:block}.button{justify-content:center;align-items:center;gap:var(--space-3);min-height:58px;padding:var(--space-4) 26px;background:var(--color-text);color:var(--color-ink);border:3px solid var(--color-ink);box-shadow:6px 6px 0 var(--color-ink);text-transform:uppercase;transition:transform var(--transition-fast), box-shadow var(--transition-fast);font-weight:700;display:inline-flex;transform:rotate(-.45deg)}.button:hover{box-shadow:4px 4px 0 var(--color-ink);transform:translate(2px,2px)rotate(-.45deg)}.button--secondary{color:var(--color-text);border-color:var(--color-text);box-shadow:6px 6px 0 var(--color-text);background:0 0;transform:rotate(.65deg)}.button--secondary:hover{box-shadow:4px 4px 0 var(--color-text);transform:translate(2px,2px)rotate(.65deg)}.hero-meta{gap:var(--space-3);margin-top:var(--space-6);color:var(--color-text-strong);display:grid}.contact-item{align-items:flex-start;gap:var(--space-3);min-width:0;display:flex}a.contact-item{min-height:var(--control-min)}.contact-item>span:last-child{overflow-wrap:anywhere;word-break:normal;min-width:0}.illustration{isolation:isolate;z-index:4;transform-origin:100% 100%;grid-area:art;place-self:center;width:clamp(700px,45vw,900px);min-height:0;max-height:560px;margin:0;position:relative;transform:rotate(.8deg)}.illustration picture,.illustration img{width:100%;max-height:inherit;min-height:0;display:block}.illustration img{object-fit:contain;object-position:center center;height:auto;filter:var(--art-cutout-shadow)}.section-heading{gap:var(--space-3);width:100%;margin-bottom:0;display:grid}.section-heading__primary,.section-heading__support{gap:var(--space-3);min-width:0;display:grid}.section-heading h2{text-shadow:3px 4px #10110d3d;max-width:13ch;margin-bottom:0}.section-heading .section-heading__primary h2{margin-bottom:0}.section-heading__support p{font-size:var(--text-body);margin:0;line-height:1.68}@media (width>=1024px){.section-heading{grid-template-columns:minmax(0,.95fr) minmax(360px,.85fr);align-items:stretch;column-gap:clamp(3rem,7vw,8rem);margin-bottom:clamp(18px,1.4vw,24px)}.section-heading__primary{width:100%}.section-heading__support{align-self:end;width:100%}.section-heading__primary h2{width:100%;max-width:none}.snapshot-grid{margin-top:0}}.snapshot-section{padding:var(--section-padding-block) var(--section-padding-inline);background:linear-gradient(90deg, #10110d29, transparent 28%, transparent 72%, #10110d29), var(--olive-mid)}.snapshot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.snapshot-card{border:2px solid var(--cream);background:#10110d29;min-width:0;min-height:200px;padding:20px 18px;box-shadow:4px 5px #10110d3d}.snapshot-card,.lab-card,.skill-group,.decision-card{min-width:0}.snapshot-card h3{font-size:clamp(1.35rem,2vw,1.82rem);line-height:1.03}.snapshot-card p,.lab-card p{margin:12px 0 0;font-size:.9rem;line-height:1.55}.editorial-band{background:var(--black);grid-template-columns:.92fr 1fr 1.08fr;grid-template-areas:"print about tech";align-items:stretch;display:grid;overflow:visible}.botanical-print,.about-card,.tech-panel{border-right:2px solid var(--line);min-height:390px;padding:36px}.botanical-print{grid-area:print;place-items:center;display:grid;position:relative;overflow:visible;container:botanical-print/size}.botanical-print:before,.botanical-print:after{content:"";pointer-events:none;mix-blend-mode:screen;z-index:3;background:#f5e6ad70;border:1px solid #10110d2e;width:92px;height:24px;position:absolute;box-shadow:0 4px 10px #10110d38}.botanical-print:before{top:28px;left:30px;transform:rotate(-8deg)}.botanical-print:after{bottom:34px;right:26px;transform:rotate(7deg)}.leaf-print{aspect-ratio:1;z-index:2;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;width:min(340px,108%);display:grid;position:relative}.botanical-frame{background:#10110d33;border:3px solid #f5e6adb8;place-items:center;width:100%;min-width:0;height:100%;min-height:0;margin:0;padding:8px;display:grid;position:relative;box-shadow:-14px 16px #10110d61,0 -12px #f5e6ad33,0 20px 34px #10110d57}.botanical-frame--primary{transform:rotate(-2deg)translate(-6px,4px)}.botanical-frame--secondary{display:none;transform:rotate(2deg)translate(6px,-3px)}.botanical-frame:before,.botanical-frame:after{content:"";pointer-events:none;mix-blend-mode:screen;z-index:3;background:#f5e6ad70;border:1px solid #10110d2e;width:clamp(44px,32%,82px);height:clamp(12px,8%,20px);display:none;position:absolute;box-shadow:0 4px 10px #10110d38}.botanical-frame--primary:before{top:-12px;left:8%;transform:rotate(-8deg)}.botanical-frame--primary:after{bottom:-10px;right:-7%;transform:rotate(7deg)}.botanical-frame--secondary:before{top:-10px;right:9%;transform:rotate(6deg)}.botanical-frame--secondary:after{bottom:-12px;left:10%;transform:rotate(-7deg)}.leaf-print__image{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0;display:block}@container botanical-print (aspect-ratio>=4/3){.lab-section .botanical-print .leaf-print{aspect-ratio:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,3%,22px);width:min(100%,620px);height:min(100cqh,340px);max-height:none}.lab-section .botanical-print:before,.lab-section .botanical-print:after{display:none}.lab-section .botanical-print .botanical-frame{padding:6px;box-shadow:-8px 10px #10110d47,0 12px 20px #10110d3d}.lab-section .botanical-print .botanical-frame--secondary{display:grid}.lab-section .botanical-print .botanical-frame:before,.lab-section .botanical-print .botanical-frame:after{display:block}}@container botanical-print (aspect-ratio<=3/4){.lab-section .botanical-print .leaf-print{aspect-ratio:auto;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,1fr);gap:clamp(18px,5%,28px);width:min(100%,310px);height:min(100%,560px);max-height:none}.lab-section .botanical-print:before,.lab-section .botanical-print:after{display:none}.lab-section .botanical-print .botanical-frame{padding:6px;box-shadow:-8px 10px #10110d47,0 12px 20px #10110d3d}.lab-section .botanical-print .botanical-frame--secondary{display:grid}.lab-section .botanical-print .botanical-frame:before,.lab-section .botanical-print .botanical-frame:after{display:block}}.about-card{background:var(--black);grid-area:about}.about-card p{max-width:52ch}.about-card h2,.tech-panel h2,.projects-section h2,.skills-card h2,.contact-card h2{margin-bottom:22px}.contact-list{gap:var(--space-3);margin-top:var(--space-6);overflow-wrap:anywhere;display:grid}.mono-icon{width:18px;min-width:18px;color:var(--cream-soft);font-size:.72rem;font-weight:700;line-height:1}.tech-panel{background:var(--olive);border-right:0;grid-area:tech;padding:32px 34px;position:relative}.tech-panel:before{content:"";pointer-events:none;border:1px dashed #f5e6ad47;position:absolute;inset:14px}.tech-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 18px;display:grid;position:relative}.chips li{border:1px solid var(--cream);border-radius:var(--radius-pill);min-height:30px;padding:var(--chip-padding-y) var(--chip-padding-x);color:var(--cream);text-align:center;font-size:var(--chip-font);line-height:var(--chip-line-height);background:#f5e6ad14;justify-content:center;align-items:center;display:inline-flex}.tech-item{min-width:0;color:var(--cream);align-content:start;justify-items:center;gap:8px;display:grid}.tech-item__icon{object-fit:contain;width:clamp(2.5rem,4vw,4rem);height:clamp(2.5rem,4vw,4rem)}.tech-item__name{text-align:center;overflow-wrap:anywhere;font-size:.85rem;font-weight:700;line-height:1.2}.projects-section{padding:var(--section-padding-block) var(--section-padding-inline);background:var(--olive);position:relative;overflow:hidden}.projects-section h2{font-size:clamp(2rem,3.6vw,3.35rem);transform:rotate(-.2deg)}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.project-card{--project-footer-height:44px;--project-footer-icon-size:20px;--project-footer-gap:8px;--project-footer-padding-x:14px;--project-footer-padding-y:10px;--project-art-column:minmax(150px, 31%);--project-art-min-size:clamp(150px, 11vw, 190px);background:var(--olive);border:2px solid var(--cream);color:var(--cream);flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:4px 5px #10110d3d}.project-card--featured{border-width:3px;box-shadow:7px 8px #10110d47}.project-card__main{grid-template-columns:var(--project-art-column) minmax(0, 1fr);border-bottom:1px solid #f5e6ad94;grid-template-areas:"art content";align-items:stretch;min-width:0;display:grid}.project-card--image-right .project-card__main{grid-template-columns:minmax(0, 1fr) var(--project-art-column);grid-template-areas:"content art"}.project-card__art{width:100%;min-width:0;max-width:100%;min-height:var(--project-art-min-size);aspect-ratio:1;pointer-events:none;background:0 0;grid-area:art;justify-content:center;align-items:center;display:flex;overflow:visible}.project-card__art img{object-fit:contain;object-position:center;width:100%;max-width:100%;height:100%;filter:var(--art-cutout-shadow);pointer-events:none;display:block}.project-card--image-left .project-card__art img{object-position:left center}.project-card--image-right .project-card__art img{object-position:right center}.project-card__body{flex-direction:column;grid-area:content;justify-content:center;min-width:0;padding:clamp(16px,1.8vw,22px);display:flex}.project-card__kicker,.project-card__stack>span{color:var(--cream-soft);font-size:var(--text-small);text-transform:uppercase;margin:0 0 8px;font-weight:700}.project-card__body h3{font-size:clamp(1.42rem,1.9vw,1.86rem);line-height:1.02}.project-card__body p{max-width:54ch;margin-block:10px 0;font-size:.88rem;line-height:1.48}.chips{gap:var(--chip-gap);margin:0;flex-wrap:wrap;margin-top:14px;padding:0;list-style:none;display:flex}.chips--project-meta{gap:.28rem .34rem;margin-top:8px}.chips--project-meta li{min-height:22px;font-size:var(--chip-font-compact);line-height:var(--chip-line-height);background:0 0;border:1px solid #f5e6addb;border-radius:.15rem;padding:.16rem .48rem}.project-card__case-study{background:linear-gradient(#10110d1a,#0000 45%),#10110d14;flex:auto;align-content:start;gap:14px;padding:clamp(16px,1.6vw,24px);display:grid}.project-card__footer{margin-top:auto;display:grid}.case-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.case-list__item{background:#10110d1f;border:1px solid #f5e6ad8a;min-width:0;padding:10px}.case-list dt{color:var(--cream-soft);font-size:var(--text-small);text-transform:uppercase;font-weight:700}.case-list dd{margin:6px 0 0;font-size:.82rem;line-height:1.42}.project-card__stack{min-width:0}.project-card__cta{background:var(--cream);min-height:48px;color:var(--black);text-transform:uppercase;border-top:1px solid #f5e6ad94;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:.8rem;font-weight:700;display:inline-flex}.project-card__cta:hover{color:var(--black);text-underline-offset:.3em;text-decoration:underline;text-decoration-thickness:2px}.project-card__link{grid-template-columns:var(--project-footer-icon-size) minmax(0, 1fr) var(--project-footer-icon-size);align-items:center;gap:var(--project-footer-gap);width:100%;height:var(--project-footer-height);min-width:0;padding:var(--project-footer-padding-y) var(--project-footer-padding-x);background:var(--black);color:var(--cream-soft);overflow-wrap:normal;margin:0;font-size:.78rem;font-weight:700;line-height:1.15;display:grid}.project-card__link-text{overflow-wrap:normal;text-overflow:ellipsis;text-align:center;white-space:nowrap;justify-self:center;min-width:0;max-width:100%;overflow:hidden}.project-card__link-icon{width:var(--project-footer-icon-size);height:var(--project-footer-icon-size);white-space:nowrap;place-items:center;font-size:.68rem;line-height:1;display:inline-grid}.project-card__link-icon--external{justify-self:end}.case-page{overflow:hidden}.case-page--operations .case-hero{background:linear-gradient(120deg, #10110d57, transparent 52%), var(--olive-mid);grid-template-columns:minmax(0,.72fr) minmax(500px,1.28fr)}.case-page--operations .case-section{grid-template-columns:minmax(230px,.36fr) minmax(0,1fr)}.case-nav{text-transform:uppercase;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 24px;font-size:.88rem;font-weight:700;display:flex}.case-nav__link{align-items:center;gap:8px;min-height:44px;display:inline-flex}.case-nav__link:hover,.source-list a:hover{color:var(--cream-soft);text-underline-offset:.3em;text-decoration:underline;text-decoration-thickness:2px}.case-hero{background:linear-gradient(120deg, #10110d38, transparent 48%), var(--olive);grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);align-items:center;gap:clamp(24px,3vw,42px);padding:clamp(30px,4.2vw,58px);display:grid}.case-hero__copy{min-width:0}.case-hero h1{max-width:11ch;font-size:clamp(3rem,5.8vw,6rem)}.case-hero__summary{max-width:58ch;margin:22px 0 0;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.66}.case-meta{gap:10px;margin:26px 0 0;display:grid}.case-meta div,.source-list div{background:#10110d1f;border:1px solid #f5e6ad99;min-width:0;padding:12px}.case-meta dt,.source-list dt,.decision-card dt{color:var(--cream-soft);font-size:var(--text-small);text-transform:uppercase;font-weight:700}.case-meta dd,.source-list dd,.decision-card dd{margin:6px 0 0;line-height:1.5}.case-hero__actions{flex-wrap:wrap;gap:14px;margin-top:26px;display:flex}.case-hero__actions .button{min-height:52px}.project-media{border:2px solid var(--cream);background:#10110d33;min-width:0;margin:0;box-shadow:5px 6px #10110d47}.project-media--featured{transform:rotate(.45deg)}.project-media--vertical{justify-self:center;width:min(100%,680px)}.project-media--vertical.project-media--featured{width:min(100%,640px)}.project-media img{background:var(--black);width:100%;height:auto;display:block}.project-media--vertical img{object-fit:contain;width:auto;max-width:100%;max-height:min(68vh,720px);margin-inline:auto}.project-media--vertical:not(.project-media--featured) img{max-height:min(72vh,760px)}.project-media figcaption{color:var(--cream-soft);border-top:1px solid #f5e6ad94;padding:10px 12px;font-size:.78rem;line-height:1.42}.case-section{background:var(--olive);grid-template-columns:minmax(220px,.42fr) minmax(0,1fr);gap:clamp(22px,3vw,44px);padding:clamp(28px,4vw,52px);display:grid}.case-section--dark{background:var(--black)}.case-section__heading{min-width:0}.case-section__heading h2{max-width:12ch;font-size:clamp(2.05rem,3.6vw,3.45rem)}.case-section__content{gap:24px;min-width:0;display:grid}.case-copy{max-width:72ch}.case-copy--wide{max-width:88ch}.case-copy p{font-size:var(--text-body);margin:0 0 18px;line-height:1.72}.case-copy p:last-child{margin-bottom:0}.case-copy a{color:var(--cream-soft);text-underline-offset:.28em;align-items:center;gap:5px;text-decoration:underline;text-decoration-thickness:2px;display:inline-flex}.case-stack{border:2px solid var(--cream);background:#10110d1f;padding:18px}.case-stack h2{margin-bottom:12px;font-size:clamp(1.45rem,2vw,1.8rem)}.case-stack .chips{margin-top:0}.product-flow{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.product-flow__step{border:1px solid var(--cream);overflow-wrap:break-word;background:#10110d24;grid-template-rows:auto 1fr auto;gap:12px;min-width:0;min-height:210px;padding:14px;display:grid}.product-flow__index{color:var(--orange);font-weight:700}.product-flow h3{font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.04}.product-flow p{margin:8px 0 0;font-size:.8rem;line-height:1.45}.product-flow__arrow{color:var(--cream-soft)}.product-flow__step:last-child .product-flow__arrow{display:none}.evidence-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.evidence-list li{background:#10110d24;border:1px solid #f5e6adad;min-width:0;padding:14px 16px;line-height:1.55}.decision-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.decision-card{background:#55643a5c;border:1px solid #f5e6adc2;min-width:0;padding:18px;box-shadow:4px 5px #f5e6ad14}.decision-card h3{font-size:clamp(1.22rem,1.8vw,1.55rem);line-height:1.05}.decision-card dl{gap:12px;margin:16px 0 0;display:grid}.media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.media-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.source-list{gap:10px;margin:0;display:grid}.route-loading,.not-found{background:var(--olive);padding:clamp(32px,6vw,72px)}.route-loading{min-height:280px}.not-found{align-content:center;gap:18px;min-height:520px;display:grid}.not-found h1{max-width:12ch}.not-found p{max-width:58ch;font-size:var(--text-body);margin:0;line-height:1.65}.before-after{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.before-after article,.role-map__card,.policy-lifecycle__step{background:#55643a52;border:1px solid #f5e6adb8;min-width:0;box-shadow:4px 5px #f5e6ad14}.before-after article{padding:18px}.before-after__label{color:var(--cream-soft);font-size:var(--text-small);text-transform:uppercase;margin:0 0 14px;font-weight:700}.before-after ul,.role-map__card ul{gap:10px;margin:0;padding-left:1.15rem;line-height:1.55;display:grid}.role-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.role-map__card{padding:20px}.role-map__card h3{font-size:clamp(1.35rem,2vw,1.8rem)}.role-map__card p{margin:12px 0 16px;line-height:1.6}.policy-lifecycle{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.policy-lifecycle__step{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:16px;display:grid}.policy-lifecycle__index{color:var(--orange);font-weight:700}.policy-lifecycle h3{font-size:clamp(1.12rem,1.6vw,1.38rem)}.policy-lifecycle p{margin:8px 0 0;line-height:1.52}.policy-lifecycle__source{color:var(--cream-soft);font-size:.76rem}.tools-section{padding:var(--section-padding-block) var(--section-padding-inline);background:linear-gradient(180deg, #10110d1a, transparent 34%), var(--olive);gap:clamp(20px,2vw,28px);display:grid}@media (width>=1024px){.tools-section{gap:0}}.skill-groups,.tools-panel{min-width:0}.section-heading__support .chips{gap:var(--chip-gap);margin-top:12px}.skill-groups{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:clamp(14px,1.4vw,18px);display:grid}.skill-group{border:2px solid var(--cream);background:#10110d1f;align-content:start;gap:12px;min-width:0;padding:18px;display:grid;box-shadow:3px 4px #10110d2e}.skill-group h3{margin-bottom:0;font-size:clamp(1.22rem,1.8vw,1.52rem)}.skill-group .chips{gap:var(--chip-gap);margin-top:0}.skill-group .chips li{min-height:28px;font-size:var(--chip-font);line-height:var(--chip-line-height);padding:.26rem .58rem}.tools-panel{border:2px solid var(--cream);background:var(--olive);align-content:start;min-width:0;min-height:0;padding:18px;display:grid}.tech-panel--embedded{border:2px solid var(--cream);grid-area:auto;position:relative}.tech-panel--embedded:before{inset:10px}.tech-panel--embedded h2{margin-bottom:16px;font-size:clamp(1.38rem,1.8vw,1.72rem);line-height:1}.tech-panel--embedded .tech-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px}.tech-panel--embedded .tech-item{gap:6px}.tech-panel--embedded .tech-item__icon{width:clamp(2.25rem,2.6vw,3.25rem);height:clamp(2.25rem,2.6vw,3.25rem)}.tech-panel--embedded .tech-item__name{font-size:.78rem;line-height:1.15}.bottom-band{border-top:3px solid var(--black);background:linear-gradient(90deg, #10110d2e, transparent 30%, transparent 70%, #10110d2e), var(--olive-mid);grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:center;gap:clamp(18px,2.6vw,34px);padding:40px 54px 42px;display:grid;position:relative;overflow:hidden}.skills-card,.contact-card{min-width:0}.skills-card h2,.contact-card h2{margin-bottom:12px;font-size:clamp(2rem,3vw,3.2rem);line-height:.95}.bottom-band .chips{gap:var(--chip-gap);margin-top:0}.chips--large li{min-height:28px;font-size:var(--chip-font);line-height:var(--chip-line-height);background:#f5e6ad1a;padding:.26rem .58rem}.cassette{z-index:3;width:clamp(290px,23vw,420px);max-width:100%;min-height:0;box-shadow:none;filter:drop-shadow(0 8px 7px #10110d2e);place-self:center;margin:0;position:relative;transform:rotate(-.6deg)}.cassette img{object-fit:contain;width:100%;height:auto;min-height:0;display:block}.contact-card .button{width:fit-content;min-width:210px;min-height:var(--control-min);gap:10px;margin-top:12px;padding:14px 24px;font-size:.9rem;line-height:1}.contact-card p{max-width:34ch;line-height:1.5}.contact-section{grid-template-columns:minmax(0,.82fr) minmax(360px,1.18fr);gap:clamp(24px,4vw,68px)}.contact-copy p:not(.eyebrow){max-width:60ch;line-height:1.62}.contact-copy .button{margin-top:var(--space-5)}.contact-section .cassette{justify-self:center;width:clamp(340px,33vw,520px)}footer{background:var(--cream);color:var(--black);background-color:var(--cream);background-image:url(/assets/textures/footer-speckles.svg);background-size:59px 53px;border-top:0;flex-wrap:wrap;padding-block:20px;font-size:.92rem}.footer-mark,footer>a:not(.footer-mark){min-height:var(--control-min);align-items:center;display:inline-flex}.footer-brand{align-items:center;gap:10px;min-width:0;display:inline-flex}footer>span:last-child{margin-left:auto}@media (width>=1321px){.page-shell__nav{margin-top:18px}.page-shell{margin-top:0}}.lab-section{grid-template-columns:.62fr .82fr 2fr;grid-template-areas:"print about lab"}.lab-intro .eyebrow{margin-top:0}.lab-panel{background:var(--olive);grid-area:lab;min-height:0;padding:30px;position:relative}.lab-panel:before{content:"";pointer-events:none;border:1px dashed #f5e6ad47;position:absolute;inset:14px}.lab-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid;position:relative}.lab-card{background:#10110d2e;border:1px solid #f5e6addb;min-width:0;padding:18px;box-shadow:3px 4px #10110d2e}.lab-card__focus{color:var(--cream-soft);font-size:var(--text-small);text-transform:uppercase;margin:0 0 9px;font-weight:700}.lab-card h3{font-size:clamp(1.05rem,1.4vw,1.32rem);line-height:1.04}.lab-card p:not(.lab-card__focus){font-size:.82rem;line-height:1.48}@media (width<=1500px){.skill-groups{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width>=1201px) and (width<=1439px){.hero{grid-template-columns:minmax(500px,.98fr) minmax(330px,.72fr);column-gap:clamp(12px,1.8vw,26px);min-height:590px;padding:24px 36px 30px 50px}.hero h1{font-size:clamp(3rem,4vw,4.35rem)}.hero-copy p:not(.eyebrow){line-height:1.56}.illustration{justify-self:end;width:clamp(520px,38vw,620px);max-height:520px;margin:0}.evidence-strip,.hero-meta{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}.hero-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.evidence-card{padding:10px 12px}}@media (width<=1200px){.page-shell,.page-shell__nav{width:min(1180px,100% - 24px)}.hero{grid-template-columns:minmax(500px,.9fr) minmax(300px,.55fr);column-gap:clamp(8px,1.5vw,20px);min-height:530px;padding:18px 26px 22px 44px}.hero h1{font-size:clamp(2.85rem,4.35vw,3.75rem)}.hero-copy p:not(.eyebrow){line-height:1.56}.illustration{width:clamp(400px,40vw,500px);min-height:0;margin:0}.evidence-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-meta{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.evidence-card{padding:10px 12px}.bottom-band{grid-template-columns:minmax(0,1fr) 270px minmax(0,1fr)}.contact-section{grid-template-columns:minmax(0,.82fr) minmax(320px,1.18fr)}.projects-grid{gap:clamp(.75rem,2vw,1.25rem)}.snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{--project-footer-height:46px;--project-footer-gap:.35rem;--project-footer-padding-x:.9rem;--project-footer-padding-y:.7rem;box-shadow:4px 5px #10110d33}.project-card__main,.project-card--image-right .project-card__main{grid-template-columns:var(--project-art-column) minmax(0, 1fr);grid-template-areas:"art content"}.project-card--image-right .project-card__main{grid-template-columns:minmax(0, 1fr) var(--project-art-column);grid-template-areas:"content art"}.project-card__art{min-height:var(--project-art-min-size)}.project-card__body{padding:clamp(.9rem,2.4vw,1.1rem) clamp(.85rem,2.1vw,1rem)}.project-card__body h3{font-size:clamp(1.35rem,3.2vw,1.65rem);line-height:1.03}.project-card__body p{max-width:none;margin-block:.42rem 0;font-size:clamp(.88rem,1.8vw,.96rem);line-height:1.42}.chips--project-meta{gap:.28rem .34rem;margin-top:.5rem}.chips--project-meta li{min-height:22px;font-size:var(--chip-font-compact);line-height:var(--chip-line-height);padding:.16rem .48rem}.project-card__link{font-size:clamp(.78rem,1.55vw,.86rem)}.skill-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1180px){.editorial-band{grid-template-columns:minmax(280px,.92fr) minmax(0,1.08fr);grid-template-areas:"print about""tech tech"}.botanical-print,.about-card,.tech-panel{min-height:auto;padding:clamp(1.75rem,3vw,2.25rem)}.botanical-print{border-right:2px solid var(--line);border-bottom:2px solid var(--line);min-height:330px}.about-card{border-right:0;border-bottom:2px solid var(--line)}.tech-panel{border-bottom:0;border-right:0}.leaf-print{width:clamp(240px,28vw,310px);max-height:320px}.tech-grid{grid-template-columns:repeat(3,minmax(7.5rem,1fr));gap:22px 20px}.lab-section{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);grid-template-areas:"print about""lab lab"}.lab-panel{min-height:auto}}@media (width<=1040px){.hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy""details";row-gap:clamp(18px,3vw,28px);min-height:auto;padding:clamp(26px,3.2vw,34px) 30px clamp(24px,3vw,34px);overflow:hidden}.hero-copy,.hero-details{justify-self:center;width:min(760px,100%);padding:0;transform:none}.hero-copy{padding-top:0}.hero-details{gap:var(--space-5);display:grid}h1,.hero h1{font-size:clamp(2.85rem,5.2vw,4.15rem)}.hero-copy p:not(.eyebrow){max-width:39ch}.actions{flex-direction:row;justify-content:center;align-items:center;margin-top:0}.actions .button{flex-basis:auto;width:min(100%,17rem)}.evidence-strip{justify-self:center;width:min(100%,40rem)}.hero-meta{overflow-wrap:anywhere;justify-self:center;width:min(100%,32rem);margin-top:0}.illustration{display:none}}@media (width<=800px){.nav{align-items:stretch;padding:18px 22px}.brand{min-width:0;padding-right:0}.brand span:last-child{min-width:0;line-height:1.15}.nav-group{margin-left:auto}.primary-nav{z-index:calc(var(--z-texture) + 4);border-left:var(--border-strong);background:linear-gradient(180deg, #10110d24, transparent 46%), var(--olive);visibility:hidden;width:min(21rem,100vw - 42px);height:100dvh;transition:transform var(--transition-fast), visibility var(--transition-fast);flex-direction:column;justify-content:center;align-items:stretch;gap:10px;padding:88px 28px 32px;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-14px 0 30px #10110d52}.primary-nav--open{visibility:visible;transform:translate(0)}.primary-nav a{border-bottom:1px solid #f5e6ad66;justify-content:flex-start;min-height:52px;font-size:1rem}.nav-sun{z-index:calc(var(--z-texture) + 5);position:relative}.nav-overlay{z-index:calc(var(--z-texture) + 3);opacity:0;pointer-events:none;width:100vw;height:100dvh;transition:opacity var(--transition-fast);background:#10110d7a;border:0;padding:0;display:block;position:fixed;inset:0}.nav-overlay--open{opacity:1;pointer-events:auto}.bottom-band{grid-template-columns:1fr}.hero{min-height:auto;padding:24px 28px 34px;overflow:hidden}.hero-copy{width:min(640px,100%);padding:8px 0 0;transform:none}.hero-details{transform:none}.illustration{transform-origin:50%;justify-self:end;width:min(53vw,31rem);min-height:0;max-height:clamp(360px,55vw,500px);margin:0 auto;transform:none}.bottom-band{text-align:left;grid-template-columns:minmax(0,1fr) minmax(240px,.85fr) minmax(0,1fr);gap:18px;padding:26px 28px 28px}.cassette{filter:drop-shadow(0 10px 8px #10110d33);width:clamp(250px,25vw,330px)}}@media (width<=992px){.snapshot-section,.tools-section{padding:26px}.snapshot-grid,.tools-section{grid-template-columns:1fr}.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){section{scroll-margin-top:18px}.page-shell,.page-shell__nav{border-width:3px;width:min(100% - 16px,1180px);margin-top:8px}.nav,footer{gap:14px;padding:18px 20px}.nav>nav:not(.primary-nav):not(.case-nav){flex:100%;justify-content:flex-start;gap:6px 18px}.not-found-header{flex-wrap:wrap;justify-content:space-between;align-items:center}.not-found-header .brand{order:1;flex:1 1 calc(100% - var(--control-min) - 22px);max-width:calc(100% - var(--control-min) - 22px)}.not-found-header .nav-sun{order:2}.nav.not-found-header>nav:not(.primary-nav):not(.case-nav){flex:0 0 100%;order:3;justify-content:center;gap:4px 18px;width:100%}.nav.not-found-header>nav:not(.primary-nav):not(.case-nav) a{min-height:var(--control-min)}.brand{align-items:center;max-width:100%}.brand span:last-child{line-height:1.15}h1,.hero h1{font-size:clamp(2.55rem,14.5vw,4rem)}h2{font-size:clamp(2.1rem,12vw,3rem)}h3{font-size:clamp(1.5rem,9vw,2rem)}.hero{padding:20px 22px 30px}.hero-copy p:not(.eyebrow),.about-card p,.contact-card p,.project-card p{font-size:.96rem;line-height:1.65}.actions,.button{width:100%}.actions{justify-content:center}.button{max-width:22rem;min-height:54px;transform:none}.button:hover,.button--secondary,.button--secondary:hover{transform:none}.hero-meta{overflow-wrap:anywhere}.illustration{width:min(74vw,22rem);max-width:100%;min-height:0;max-height:clamp(230px,46vw,340px);margin:0 auto;transform:none}.editorial-band{grid-template-columns:1fr;grid-template-areas:"about""print""tech"}.botanical-print,.about-card,.tech-panel{border-right:0;border-bottom:2px solid var(--line);padding:24px 20px}.botanical-print{min-height:clamp(250px,48vw,320px)}.tech-panel{border-bottom:0}.about-card h2,.tech-panel h2{margin-bottom:18px;font-size:clamp(2rem,8vw,2.8rem)}.botanical-print:before,.botanical-print:after{width:70px;height:18px}.leaf-print{width:clamp(190px,52vw,250px);max-height:min(260px,46vh)}.botanical-frame{padding:6px;box-shadow:-8px 10px #10110d47,0 12px 20px #10110d3d}.botanical-frame--primary{transform:none}.tech-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 14px}.tech-item__icon{width:clamp(2.25rem,10vw,3.25rem);height:clamp(2.25rem,10vw,3.25rem)}.projects-section{padding:24px 18px 28px}.projects-section h2{font-size:clamp(1.82rem,8.8vw,2.75rem);transform:none}.snapshot-section,.tools-section,.lab-panel{padding:22px 20px}.section-heading h2{max-width:100%}.snapshot-card{min-height:auto}.lab-section{grid-template-columns:1fr;grid-template-areas:"about""print""lab"}.projects-grid{grid-template-columns:minmax(0,1fr);grid-auto-flow:row;width:100%;display:grid}.project-card{--project-footer-height:auto;--project-footer-icon-size:18px;--project-footer-padding-y:.75rem;grid-column:1/-1;width:100%;min-width:0;max-width:none}.project-card__main,.project-card--image-right .project-card__main{grid-template-columns:minmax(0,1fr) minmax(140px,32%);grid-template-areas:"content art"}.project-card__art{aspect-ratio:1;min-height:0}.project-card__art img{width:100%;height:100%;max-height:100%}.project-card__body{padding:20px}.project-card__body h3{font-size:clamp(1.45rem,7vw,2rem)}.project-card__body p,.case-list dd{font-size:.92rem;line-height:1.5}.case-list{gap:0 14px}.case-list__item{background:0 0;border:0;border-top:1px solid #f5e6ad7a;padding:9px 0}.lab-section .botanical-print{min-height:190px}.lab-section .leaf-print{width:clamp(160px,36vw,220px);max-height:210px}.chips--project-meta li{min-height:22px;font-size:var(--chip-font-compact);padding:.16rem .44rem}.project-card__link{height:auto;min-height:44px;font-size:.78rem}.bottom-band{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"skills contact""cassette cassette";align-items:center;gap:18px 20px;padding:24px 20px 28px}.skills-card{grid-area:skills}.skills-card h2,.contact-card h2{margin-bottom:10px;font-size:clamp(1.85rem,5.7vw,2.7rem)}.bottom-band .chips{gap:var(--chip-gap)}.chips--large li{min-height:26px;padding:.24rem .54rem;font-size:.74rem}.cassette{filter:drop-shadow(0 8px 7px #10110d2e);grid-area:cassette;width:min(100%,20rem);margin:0 auto;transform:none}.contact-card{grid-area:contact}.contact-card p{max-width:30ch;line-height:1.45}.contact-card .button{width:fit-content;min-width:190px;max-width:100%;padding:12px 20px;font-size:.84rem;transform:none}footer{gap:16px}footer>span:last-child{margin-left:0}}@media (width<=640px){.hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy""evidence""actions""meta";row-gap:12px;padding:16px 14px 22px}.hero-details{display:contents}.hero-copy,.hero-details{text-align:left}.actions{z-index:8;grid-area:actions;justify-content:flex-start;align-items:flex-start;gap:10px}.actions .button{flex:calc(50% - 5px);width:auto;min-width:8rem}.evidence-strip{z-index:8;grid-area:evidence;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.hero-meta{grid-area:meta;grid-template-columns:1fr;justify-self:start;gap:8px;width:100%}.hero-meta .contact-item{justify-content:flex-start}.evidence-card{padding:9px 10px}.evidence-card strong{font-size:clamp(1rem,4vw,1.18rem)}.evidence-card span{font-size:.72rem;line-height:1.28}.tech-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}footer,.footer-brand{text-align:center;justify-content:center}.project-card{--project-footer-height:auto;--project-footer-icon-size:18px;--project-footer-padding-y:.75rem}.project-card__main,.project-card--image-right .project-card__main{grid-template-columns:minmax(0,1fr);grid-template-areas:"art""content"}.project-card__art{aspect-ratio:1;justify-self:center;width:min(100%,14rem);min-height:0;padding:6px 14px 0}.project-card__body{justify-content:start;padding:14px 18px 16px}.project-card__case-study{gap:8px}.case-list{grid-template-columns:1fr;gap:0 14px}.case-list__item{background:0 0;border:0;border-top:1px solid #f5e6ad7a;grid-template-columns:minmax(4.75rem,.34fr) minmax(0,1fr);align-items:start;gap:10px;padding:9px 0;display:grid}.case-list dd{margin-top:0}.case-list__item:first-child{border-top:0;padding-top:0}.project-card__link{font-size:.78rem}.project-card__link-icon{font-size:.68rem}.bottom-band{grid-template-columns:1fr;grid-template-areas:"skills""cassette""contact";gap:18px}.skills-card{grid-area:skills}.cassette{grid-area:cassette}.contact-card{grid-area:contact}}@media (width<=480px){.page-shell{width:min(100% - 10px,1180px);margin-block:5px 20px}.page-shell__nav{border-width:3px;width:min(100% - 10px,1180px);margin-top:5px}.nav{padding:16px}.brand-mascot{width:44px;height:44px}.footer-mascot{width:52px;height:52px}h1,.hero h1{max-width:100%;font-size:clamp(2.15rem,10.8vw,2.8rem);line-height:1.04}h2{font-size:clamp(1.95rem,11vw,2.65rem)}.hero{padding:18px 16px 26px}.hero-copy,.hero-details{text-align:left}.actions,.hero-meta .contact-item{justify-content:flex-start}.illustration{width:min(88vw,20rem);min-height:0;max-height:clamp(230px,72vw,320px);margin:-70px auto 0;transform:none}.illustration img{object-position:bottom center}.botanical-print,.about-card,.tech-panel{padding:22px 18px}.about-card h2,.tech-panel h2{font-size:clamp(1.9rem,10vw,2.45rem)}.botanical-print:before{left:18px}.botanical-print:after{right:18px}.leaf-print{width:clamp(170px,58vw,215px);max-height:min(225px,42vh)}.tech-item__name{font-size:.78rem}.snapshot-section,.tools-section,.lab-panel,.projects-section{padding-inline:16px}.snapshot-section{padding-block:20px}.lab-grid,.skill-groups{grid-template-columns:1fr}.section-heading__support p{font-size:.95rem;line-height:1.58}.snapshot-card,.lab-card,.skill-group,.case-list__item{padding:16px}.project-card__main,.project-card--image-right .project-card__main{grid-template-columns:minmax(0,1fr);grid-template-areas:"art""content"}.project-card__art{width:min(100%,12rem);padding-inline:12px}.project-card__body{padding:18px 16px}.project-card__body h3{font-size:clamp(1.35rem,8vw,1.8rem);line-height:1.03}.project-card__body p{margin-block:10px 0;font-size:.9rem;line-height:1.5}.case-list dd{font-size:.9rem}.chips--project-meta{gap:.24rem .3rem;margin-top:6px}.chips--project-meta li{min-height:22px;font-size:var(--chip-font-compact);line-height:var(--chip-line-height);padding:.16rem .44rem}.project-card__case-study{padding:16px}.project-card .case-list{grid-template-columns:1fr}.project-card__link-text{white-space:normal}.chips li{font-size:var(--chip-font)}.bottom-band{gap:18px;padding:22px 16px 26px}.skills-card h2,.contact-card h2{font-size:clamp(2rem,10vw,2.6rem)}.cassette{width:min(100%,18rem)}.contact-card{text-align:left}.contact-card .button{min-width:min(210px,100%)}footer{text-align:center;align-items:center}.footer-brand{justify-content:center}}@media (width<=360px){.page-shell,.page-shell__nav{border-width:2px;width:calc(100% - 8px)}.nav,footer{padding-inline:14px}h1,.hero h1{font-size:clamp(2rem,11.8vw,2.55rem)}.hero-copy p:not(.eyebrow),.about-card p,.contact-card p{font-size:.9rem}.button{min-height:54px;padding-inline:18px}.contact-card .button{min-height:var(--control-min);padding:12px 18px}.illustration{min-height:0;margin-bottom:0}.tech-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.tech-item__name{font-size:.72rem}.projects-grid{gap:.55rem}.project-card__link{--project-footer-padding-x:.72rem;font-size:.78rem}.project-card__main,.project-card--image-right .project-card__main{grid-template-columns:minmax(0,1fr)}.project-card__art{width:min(100%,10rem)}.project-card__body{padding:18px 16px}.project-card__body h3{font-size:1.28rem}.project-card__body p,.case-list dd{font-size:.88rem;line-height:1.46}.project-card .case-list{grid-template-columns:1fr}.chips--project-meta{gap:.22rem;margin-top:5px}.chips--project-meta li{min-height:22px;font-size:var(--chip-font-compact)}}@media (width<=640px){.project-card__main,.project-card--image-right .project-card__main{isolation:isolate;display:block;position:relative}.project-card__art{aspect-ratio:1;opacity:.22;z-index:0;width:clamp(12rem,32vw,13rem);min-height:0;padding:0;position:absolute;inset-block:50%;transform:translateY(-50%)}.project-card--image-left .project-card__art{left:12px;right:auto}.project-card--image-right .project-card__art{left:auto;right:12px}.project-card__art img{object-fit:contain;width:100%;height:100%;max-height:none}.project-card__body{z-index:1;min-height:clamp(132px,34vw,168px);padding:14px 18px 16px;position:relative}.case-list{grid-template-columns:1fr}.case-list__item{padding:9px 0;display:block}.case-list dd{margin-top:6px}}@media (width<=1100px){.projects-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=992px){.contact-section{grid-template-columns:1fr;grid-template-areas:"contact""cassette"}.contact-section .cassette{width:min(100%,21rem)}.contact-copy{grid-area:contact}.contact-section .cassette{grid-area:cassette}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.button:hover,.button--secondary,.button--secondary:hover{transition:none;transform:none}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=1200px){.case-hero{grid-template-columns:minmax(0,.82fr) minmax(380px,1.18fr);padding:40px 34px}.case-page--operations .case-hero{grid-template-columns:minmax(0,.78fr) minmax(420px,1.22fr)}.product-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.product-flow__step{min-height:180px}}@media (width<=992px){.case-nav{flex:100%;justify-content:flex-start;gap:8px 18px}.case-hero,.case-section,.case-page--operations .case-hero,.case-page--operations .case-section{grid-template-columns:1fr}.case-hero h1,.case-section__heading h2{max-width:100%}.decision-grid,.media-grid,.media-grid--two,.before-after,.role-map,.policy-lifecycle{grid-template-columns:1fr}.product-flow{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=768px){.case-nav{font-size:.8rem}.case-nav__link{min-height:var(--control-min)}.case-hero,.case-section{padding:26px 20px}.case-hero h1{font-size:clamp(2.35rem,13vw,4rem)}.case-hero__actions .button{width:min(100%,16rem)}.case-meta div,.source-list div,.decision-card,.case-stack{padding:14px}.evidence-list{grid-template-columns:1fr}.product-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.product-flow__step{grid-template-rows:auto 1fr auto;align-items:start;min-height:auto}.product-flow__arrow{transform:rotate(90deg)}.policy-lifecycle__step{grid-template-columns:auto minmax(0,1fr)}.project-media--featured{transform:none}}@media (width<=480px){.case-hero,.case-section{padding:24px 16px}.product-flow{grid-template-columns:1fr}.product-flow__step{grid-template-rows:auto;grid-template-columns:auto minmax(0,1fr) auto}.case-hero__summary,.case-copy p{font-size:.92rem;line-height:1.62}.case-hero__actions .button{max-width:100%}.case-section__content{gap:18px}.project-media figcaption{font-size:.74rem}.project-media--vertical.project-media--featured img{max-height:min(42vh,360px)}}@media (width<=360px){.case-hero,.case-section{padding-inline:14px}.case-meta dd,.source-list dd,.decision-card dd,.evidence-list li{font-size:.86rem}}@media (width>=1024px) and (width<=1680px),(width>=1024px) and (height<=900px){.snapshot-section,.projects-section,.tools-section{padding-block:clamp(24px,2.2vw,34px)}.section-heading{grid-template-columns:minmax(260px,.72fr) minmax(0,1fr);gap:12px clamp(2rem,4.4vw,4.5rem)}.section-heading h2{font-size:clamp(2.15rem,3vw,3.05rem);line-height:.96}.section-heading__support p{font-size:clamp(.9rem,.3vw + .82rem,1rem);line-height:1.5}.snapshot-grid{gap:14px;margin-top:0}.snapshot-card,.skill-group,.tools-panel{padding:clamp(14px,1vw,18px)}.snapshot-card{min-height:150px}.snapshot-card h3,.skill-group h3{font-size:clamp(1.2rem,1.45vw,1.55rem)}.snapshot-card p{margin-top:8px;font-size:clamp(.8rem,.25vw + .72rem,.9rem);line-height:1.42}.projects-grid{gap:18px}.project-card__art{min-height:var(--project-art-min-size)}.project-card__body{padding:clamp(14px,1.2vw,18px)}.project-card__body h3{font-size:clamp(1.18rem,1.45vw,1.52rem)}.project-card__body p{margin-block:8px 0;font-size:clamp(.8rem,.2vw + .74rem,.88rem);line-height:1.38}.project-card__case-study{gap:10px;padding:clamp(12px,1vw,16px)}.case-list{gap:7px}.case-list__item{padding:8px}.case-list dt,.project-card__stack>span,.project-card__kicker{font-size:clamp(.68rem,.18vw + .62rem,.76rem)}.case-list dd{margin-top:5px;font-size:clamp(.72rem,.16vw + .66rem,.8rem);line-height:1.3}.chips--project-meta{gap:.28rem .34rem}.chips--project-meta li,.skill-group .chips li{min-height:22px;font-size:var(--chip-font-compact);padding:.16rem .42rem}.project-card__cta,.project-card__link{font-size:clamp(.72rem,.18vw + .66rem,.8rem)}.skill-groups{gap:clamp(12px,1.2vw,16px)}.skill-group{gap:10px}.skill-group .chips{gap:5px}.tech-panel--embedded{padding:clamp(14px,1vw,18px)}.tech-panel--embedded h2{margin-bottom:12px;font-size:clamp(1.2rem,1.35vw,1.5rem)}.tech-panel--embedded .tech-grid{gap:10px}.tech-panel--embedded .tech-item{gap:5px}.tech-panel--embedded .tech-item__icon{width:clamp(1.95rem,2vw,2.75rem);height:clamp(1.95rem,2vw,2.75rem)}.tech-panel--embedded .tech-item__name{font-size:clamp(.68rem,.16vw + .62rem,.76rem)}}@media (width<=360px){.not-found-header{gap:10px 12px;padding-inline:14px}.nav.not-found-header>nav:not(.primary-nav):not(.case-nav){gap:2px 12px}}
