@font-face{font-family:Editorial;src:local('Iowan Old Style');font-display:swap}
:root{--paper:#f4f1e9;--ink:#203a3f;--muted:#596c6b;--line:#c9d0c8;--accent:#a2492e;--dark:#172d34;--serif:Editorial,'Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}::selection{background:#cbdcd4;color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:6px}p{line-height:1.65}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}em{font-weight:400}img{display:block;max-width:100%;height:auto}.wrap{max-width:1440px;width:calc(100% - 112px);margin-inline:auto}.label{font:10px/1.5 var(--mono);letter-spacing:1.4px;text-transform:uppercase}.skip-link{position:fixed;top:-70px;left:20px;background:var(--ink);color:var(--paper);padding:16px;z-index:100}.skip-link:focus{top:15px}.site-header{display:flex;align-items:center;justify-content:space-between;min-height:112px;border-bottom:1px solid var(--line)}.wordmark{display:flex;gap:12px;align-items:center;font-size:19px;font-weight:720;letter-spacing:2px}.wordmark-dot{margin-left:-11px;color:var(--accent)}.site-header nav{display:flex;align-items:center;gap:32px;font-size:12px}.site-header nav a{padding-block:12px}.site-header nav a:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid var(--ink);display:flex;gap:30px}.hero{padding-top:76px}.hero-kicker{display:flex;gap:15px;align-items:center}.small-cross{font-size:23px;color:var(--accent)}.hero h1{font:clamp(60px,7.2vw,112px)/1.02 var(--serif);letter-spacing:-5px;margin:29px 0 36px;max-width:1240px}.hero h1 em{color:#71887d}.mobile-break{display:none}.hero-bottom{display:flex;justify-content:space-between;gap:50px;align-items:flex-start;padding-left:7px}.hero-bottom>p{font-size:18px;line-height:1.65;max-width:600px}.hero-aside{display:grid;gap:9px;font-size:12px;min-width:245px;padding-top:5px}.hero-aside>.label{color:var(--muted)}.hero-aside a{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 0 10px;margin-top:7px}.hero-rule{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:60px;padding-top:17px;font:10px var(--mono);letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.work-section{padding-top:92px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px;gap:30px}.section-heading h2{font:52px/1.15 var(--serif);letter-spacing:-1.5px}.section-heading p{font-size:12px;color:var(--muted)}.lead-project{display:grid;grid-template-columns:39% 61%;min-height:480px;background:var(--dark);color:#ecede5}.lead-copy{padding:38px 34px 34px;display:flex;flex-direction:column;align-items:flex-start}.project-topline{display:flex;gap:18px;justify-content:space-between;align-items:center;width:100%;flex-wrap:wrap}.lead-copy .project-topline{display:grid;gap:15px}.status{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font:10px/1.4 var(--mono);letter-spacing:.1px}.status>span{width:5px;height:5px;background:#c4a16c;border-radius:50%;flex-shrink:0}.status.is-live>span{background:#4d826f}.lead-copy .status>span{background:#d9b16e}.project-name h3{font:62px/1 var(--serif);letter-spacing:-1.5px;margin:38px 0 22px}.lead-copy>p{font-size:14px;color:#c3cfca;max-width:340px}.text-link{display:inline-flex;gap:30px;border-bottom:1px solid currentColor;padding-bottom:7px;font-size:12px;font-weight:500;align-items:center}.text-link:hover{color:var(--accent)}.lead-copy .text-link{margin-top:24px}.lead-copy .text-link:hover{color:#d6b698}.lead-footnote{font-size:10px;color:#a8bab6;line-height:1.7;margin-top:auto;padding-top:40px}.lead-visual{display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:#233c45;padding:36px 0 30px 28px}.visual-masthead{font:10px var(--mono);letter-spacing:1px;display:flex;gap:14px;justify-content:space-between;padding-right:26px;margin-bottom:25px}.visual-masthead b{font-weight:400;color:#9bacb5}.visual-masthead>span:last-child{font-size:9px;color:#a8c1bd}.map-frame{overflow:hidden;box-shadow:0 22px 50px #0c1a2259;transform:translateX(20px);transition:transform .4s}.map-frame img{width:100%;aspect-ratio:1.6;object-fit:cover;object-position:center}.lead-visual:hover .map-frame{transform:translateX(8px)}.visual-bottom{padding:25px 23px 0 15px;display:flex;justify-content:space-between;gap:12px;font:9px/1.6 var(--mono);color:#bbcdc9}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:58px}.card-art{display:block;position:relative;height:380px;overflow:hidden;background:#d9e0d7}.niche .card-art{background:#101416;display:flex;align-items:center;justify-content:center;padding:35px 22px}.niche .card-art img{width:100%;box-shadow:0 12px 45px #0005;border:1px solid #ffffff12;transition:transform .5s}.card-art:hover>img{transform:translateY(-5px)}.image-label{position:absolute;bottom:17px;left:20px;font:8px var(--mono);letter-spacing:1px;color:#9eafa8}.phones{background:#dae3df}.sail-art-label{position:absolute;top:27px;left:26px;font:28px/1.05 var(--serif);max-width:210px;z-index:3}.phones .phone{position:absolute;width:176px;border-radius:21px;border:5px solid #1f3439;box-shadow:8px 18px 30px #1c434232;transition:transform .5s}.phones .phone.front{right:37px;top:45px;transform:rotate(6deg)}.phones .phone.back{right:180px;top:143px;transform:rotate(-8deg);opacity:.93}.phones:hover .phone.front{transform:rotate(3deg) translateY(-7px)}.phones .image-label{color:var(--ink)}.card-meta{display:flex;justify-content:space-between;gap:20px;margin-top:22px;align-items:center}.card-meta .label{font-size:9px}.card-title{display:flex;align-items:center;justify-content:space-between;margin:14px 0 7px}.card-title h3{font:40px var(--serif);letter-spacing:-1px}.card-title>span{font-size:24px;transition:transform .2s}.card-title:hover>span{transform:translate(4px,-4px)}.project-card>p{font-size:16px}.card-description{display:block;font-size:13px;line-height:1.65;color:var(--muted);margin-top:9px;max-width:460px}.more-work{margin-top:60px}.work-row{display:grid;grid-template-columns:45px 1fr 230px 35px;gap:25px;border-top:1px solid var(--line);padding:30px 0;align-items:center;transition:padding .2s}.work-row:last-child{border-bottom:1px solid var(--line)}.work-row:hover{padding-left:10px}.row-number{align-self:start;padding-top:10px;color:var(--muted)}.work-row h3{font:31px/1.15 var(--serif);letter-spacing:-.5px}.work-row p{font-size:12px;color:var(--muted);max-width:540px;line-height:1.65;margin-top:8px}.row-meta{display:grid;gap:10px;padding-left:20px}.row-meta .label{font-size:9px}.row-arrow{font-size:25px}.approach{background:#e6e9df;margin-top:110px;padding:85px 0}.approach-inner{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:start}.approach h2{font:51px/1.1 var(--serif);letter-spacing:-1.5px;margin:24px 0}.approach p{font-size:14px;max-width:450px;color:var(--muted)}.approach .text-link{margin-top:28px}.system-diagram{margin:32px 0 0;background:#edf0e8;border:1px solid #bdc8bc;padding:25px;color:var(--ink)}.diagram-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid #c4cdc0}.diagram-heading>.label{color:#4a6760}.diagram-name{font:22px var(--serif)}.diagram-hint{font:9px var(--mono);color:#577068}.stages{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:20px 0}.stages button{position:relative;text-align:left;padding:15px 12px 18px;border:0;border-right:1px solid #c1cdbf;background:transparent;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:13px;min-width:0}.stages button:last-child{border-right:0}.stages button[aria-selected=true]{background:#d3dfd1}.stage-number{font:10px var(--mono);color:#54725b}.stage-title{font:17px/1.15 var(--serif)}.stage-sub{font:8px/1.6 var(--mono);color:#4f695d}.stage-arrow{position:absolute;top:11px;right:9px;font-size:13px}.system-diagram [role=tabpanel]{border-top:1px solid #c1cdbf;padding:19px 3px 20px;min-height:160px}.system-diagram [role=tabpanel]>p{font-size:13px;line-height:1.7;max-width:640px;margin-top:12px}.diagram-boundary{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;padding:12px;border-top:1px solid #c1cdbf;border-bottom:1px solid #c1cdbf;font:8px/1.7 var(--mono);text-transform:uppercase;letter-spacing:.4px}.system-diagram .diagram-note{font-size:10px;line-height:1.65;margin:13px 0 0;color:#52685a;max-width:none}.compact{margin:0;background:#eff1e9;padding:25px 22px}.compact .diagram-heading>.label{display:none}.compact .diagram-name{font-size:21px}.compact .stages{grid-template-columns:1fr 1fr;gap:5px}.compact .stages button{border:0;padding:14px;min-height:104px;gap:8px}.compact [role=tabpanel]{min-height:155px}.compact .diagram-note{font-size:9px}.about{display:grid;grid-template-columns:1fr 1fr;gap:95px;padding:110px 0}.about h2{font:51px/1.12 var(--serif);letter-spacing:-1.5px;margin-top:26px}.about-body>p{font-size:14px;color:var(--muted);margin-bottom:19px}.about-body>.large-copy{font:27px/1.45 var(--serif);color:var(--ink);letter-spacing:-.3px;margin-top:0}.practice-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding-top:18px;margin-top:30px;gap:15px;font:9px/1.6 var(--mono)}.contact{border-top:1px solid var(--line);padding-top:50px;padding-bottom:70px}.contact>div{display:flex;justify-content:space-between;align-items:center;margin:25px 0}.contact h2{font:75px/1.02 var(--serif);letter-spacing:-2.5px}.contact-arrow{font:100px/1 var(--sans);padding-right:10px;transition:transform .2s}.contact-arrow:hover{transform:translate(6px,-6px);color:var(--accent)}.contact>p{font-size:12px;color:var(--muted)}.contact>p>a{display:inline-block;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:4px;margin-top:18px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-block:27px;font-size:10px;color:var(--muted)}.site-footer .wordmark{font-size:12px;color:var(--ink);letter-spacing:1px}.site-footer>span{font-family:var(--mono)}
/* Case studies use a quieter reading column beside a persistent label rail. */
.back-link{display:inline-block;padding:35px 0 10px;color:var(--muted)}.case-hero{padding-top:45px}.case-hero .project-topline{justify-content:flex-start;gap:35px}.case-brand{display:block;font:15px/1.5 var(--sans);margin:28px 0 15px;color:var(--muted)}.case-hero h1{font:clamp(48px,5.8vw,87px)/1.03 var(--serif);letter-spacing:-3px;max-width:1030px}.case-summary{font:20px/1.65 var(--sans);max-width:760px;margin:28px 0 40px;color:var(--muted)}.case-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding:22px 0 35px;gap:30px}.case-facts>div{display:grid;gap:8px;font-size:12px}.case-facts .label{color:var(--muted);font-size:9px}.case-image{background:#dce2da;padding:40px;margin-bottom:0}.case-image>img{width:100%;max-width:1150px;margin:auto}.case-image figcaption{font-size:10px;line-height:1.7;color:#526866;margin-top:22px;max-width:850px}.case-page.niche .case-image{background:#141b1d}.case-page.niche .case-image figcaption{color:#b6c8c2}.portrait-figure{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;padding-top:40px;padding-bottom:25px}.portrait-figure>img{width:auto;height:540px;max-width:43%;border:5px solid #233b40;border-radius:22px;margin:0;object-fit:cover;box-shadow:6px 15px 30px #15313622}.portrait-figure figcaption{flex-basis:100%;width:100%;text-align:center;margin-top:8px}.case-page.plate .portrait-figure{background:#e8d8c9}.case-overview{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:40px 0 45px;border-bottom:1px solid var(--line)}.case-overview .label{color:var(--muted)}.case-overview p{font-size:13px;max-width:470px;margin-top:12px}.case-overview>.text-link{width:max-content;margin-top:-25px}.case-body{padding-top:10px}.case-section{display:grid;grid-template-columns:210px minmax(0,1fr);gap:60px;padding:55px 0;border-bottom:1px solid var(--line)}.section-rail{color:var(--muted);padding-top:10px}.section-main{max-width:820px;min-width:0}.section-main>h2{font:40px/1.16 var(--serif);letter-spacing:-1px;margin-bottom:25px;max-width:720px}.section-main>p{font-size:16px;line-height:1.8;color:#415756;max-width:740px;margin:0 0 18px}.section-main>p:last-child{margin-bottom:0}.decision-list{margin-top:35px}.decision-list article{display:grid;grid-template-columns:35px 1fr;gap:16px;padding:23px 0;border-top:1px solid var(--line)}.decision-list .label{padding-top:4px;color:var(--accent)}.decision-list h3{font:22px/1.25 var(--serif);margin-bottom:10px}.decision-list p{font-size:14px;line-height:1.8;color:#415756;max-width:650px}.case-source{display:grid;grid-template-columns:210px 1fr;gap:60px;padding:35px 0;color:var(--muted)}.case-source p{font-size:11px;line-height:1.8;max-width:760px}.next-project{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:50px 0 70px}.next-project h2{font:55px/1.1 var(--serif);letter-spacing:-1px;margin-top:15px}.next-project>span{font-size:60px}.next-project:hover h2{color:var(--accent)}.app-gallery{margin:40px 0}.app-gallery>div{display:flex;gap:18px;align-items:flex-start;padding:30px 22px;background:#dce4dd}.app-gallery img{width:calc((100% - 36px)/3);border:3px solid #233b40;border-radius:14px;box-shadow:3px 10px 20px #243d3d20}.app-gallery figcaption{font-size:10px;color:var(--muted);line-height:1.6;margin-top:12px}.not-found{padding-block:110px}.not-found h1{font:70px/1.1 var(--serif);margin:30px 0}.not-found .text-link{margin-top:20px}
@media(min-width:1550px){.hero h1{font-size:116px}.lead-copy{padding:45px}.lead-visual{padding-left:40px}.card-art{height:420px}.phones .phone{width:195px}.phones .phone.back{right:230px}.phones .phone.front{right:60px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.hero h1{letter-spacing:-3px}.hero-bottom>p{font-size:16px;max-width:520px}.hero-aside{min-width:200px}.lead-project{grid-template-columns:42% 58%}.lead-copy{padding:28px}.project-name h3{font-size:49px}.lead-copy>p{font-size:13px}.visual-masthead>span:last-child{display:none}.visual-bottom>span:nth-child(2){display:none}.card-art{height:320px}.phones .phone{width:153px}.phones .phone.front{right:25px;top:70px}.phones .phone.back{right:150px;top:150px}.sail-art-label{font-size:25px}.card-meta{align-items:flex-start;flex-direction:column;gap:9px}.approach-inner{gap:40px}.approach h2,.about h2{font-size:43px}.about{gap:60px}.work-row{grid-template-columns:25px 1fr 190px 25px;gap:20px}.case-section,.case-source{grid-template-columns:160px 1fr;gap:40px}.stages button{padding-inline:10px}.stage-title{font-size:16px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{min-height:82px}.wordmark{font-size:15px;gap:8px;letter-spacing:1.6px}.wordmark svg{width:19px}.wordmark-dot{margin-left:-7px}.site-header nav{gap:18px;font-size:10px}.site-header nav>a:nth-child(2){display:none}.nav-contact{gap:12px}.hero{padding-top:45px}.hero-kicker{font-size:8px;letter-spacing:.7px;gap:10px}.small-cross{font-size:20px}.hero h1{font-size:clamp(45px,8.9vw,69px);letter-spacing:-2.2px;margin:28px 0}.mobile-break{display:block}.hero-bottom{display:block;padding-left:0}.hero-bottom>p{font-size:15px;max-width:520px}.hero-aside{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;font-size:10px}.hero-aside .label{font-size:8px}.hero-aside>a{grid-column:2;align-self:center;padding:8px 0;margin-top:0}.hero-aside>a:first-of-type{grid-row:1}.hero-aside>a:last-of-type{grid-row:2}.hero-rule{margin-top:35px;font-size:8px;letter-spacing:.4px}.work-section{padding-top:55px}.section-heading{display:block;margin-bottom:26px}.section-heading h2{font-size:39px}.section-heading p{font-size:11px;line-height:1.7;margin-top:12px}.lead-project{grid-template-columns:minmax(0,1fr)}.lead-copy{padding:27px}.lead-copy .project-topline{display:flex;gap:12px}.lead-copy .label{font-size:8px}.project-name h3{font-size:clamp(32px,11.8vw,54px);margin:30px 0 20px}.lead-copy>p{font-size:14px;max-width:500px}.lead-footnote{padding-top:24px;font-size:9px}.lead-visual{padding:25px 0 20px 10px}.visual-masthead{padding-inline:10px;margin-bottom:18px;font-size:9px}.visual-masthead>span:last-child{display:block;font-size:8px}.map-frame{transform:translateX(8px)}.visual-bottom{font-size:8px;padding-top:20px}.project-pair{grid-template-columns:1fr;gap:45px;margin-top:42px}.card-art{height:350px}.niche .card-art{padding:25px 10px}.card-meta{flex-direction:row;align-items:center}.card-meta .label{font-size:8px;letter-spacing:.8px}.card-meta .status{font-size:9px}.card-title{margin-top:15px}.card-title h3{font-size:37px}.project-card>p{font-size:15px}.card-description{font-size:12px}.sail-art-label{font-size:28px}.phones .phone{width:170px}.phones .phone.front{right:30px;top:68px}.phones .phone.back{right:175px;top:150px}.more-work{margin-top:45px}.work-row{grid-template-columns:20px 1fr 25px;gap:15px;padding:26px 0}.work-row h3{font-size:28px}.work-row p{font-size:12px;margin-top:10px}.row-meta{grid-column:2;grid-row:2;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:0}.row-meta .label{font-size:8px}.row-arrow{grid-column:3;grid-row:1}.row-number{padding-top:7px}.approach{margin-top:60px;padding:48px 0}.approach-inner{grid-template-columns:1fr;gap:38px}.approach h2{font-size:40px;margin:20px 0}.approach p{font-size:13px;max-width:520px}.compact{padding:22px 18px}.compact .stages{grid-template-columns:repeat(4,1fr)}.compact .stages button{padding:10px 7px;min-height:125px}.compact .stage-title{font-size:16px}.compact .stage-sub{font-size:7px}.compact .stage-arrow{display:none}.compact .diagram-heading{gap:10px}.compact [role=tabpanel]{min-height:155px}.about{grid-template-columns:1fr;gap:30px;padding:60px 0}.about h2{font-size:41px;margin-top:20px}.about-body>.large-copy{font-size:25px}.about-body>p{font-size:14px}.practice-list{font-size:8px;gap:14px}.contact{padding-top:35px;padding-bottom:40px}.contact h2{font-size:47px;letter-spacing:-1.6px}.contact-arrow{font-size:65px}.contact>p{font-size:11px}.site-footer{display:grid;grid-template-columns:1fr 1fr;font-size:8px;gap:18px;padding-block:25px}.site-footer>p{grid-row:2}.site-footer>span{text-align:right}.site-footer>a:not(.wordmark){text-align:right}.site-footer .wordmark{font-size:10px}.back-link{font-size:9px;padding-top:25px}.case-hero{padding-top:30px}.case-hero .project-topline{gap:15px}.case-hero .label{font-size:8px;letter-spacing:.7px}.case-hero .status{font-size:9px}.case-brand{font-size:13px;margin-top:25px}.case-hero h1{font-size:51px;letter-spacing:-1.6px}.case-summary{font-size:16px;line-height:1.75;margin:24px 0 30px}.case-facts{grid-template-columns:1fr;gap:18px;padding:22px 0}.case-facts>div{grid-template-columns:95px 1fr;align-items:start;font-size:11px;gap:20px}.case-facts .label{font-size:8px}.case-image{padding:16px;margin-top:10px}.case-image figcaption{font-size:9px;margin-top:14px}.portrait-figure{gap:16px;padding-top:25px}.portrait-figure>img{height:auto;max-width:44%;border:3px solid #233b40;border-radius:14px}.portrait-figure figcaption{margin-top:5px}.case-overview{grid-template-columns:1fr;gap:25px;padding:30px 0}.case-overview>.text-link{margin-top:0}.case-overview p{font-size:13px;margin-top:8px}.case-section{grid-template-columns:1fr;gap:18px;padding:35px 0}.section-rail{padding-top:0;font-size:9px}.section-main>h2{font-size:32px;letter-spacing:-.7px;margin-bottom:20px}.section-main>p{font-size:15px;line-height:1.85}.system-diagram{padding:18px;margin-top:25px}.diagram-name{font-size:20px}.diagram-heading>.label{display:none}.diagram-hint{font-size:8px}.stages{grid-template-columns:1fr 1fr;gap:5px}.stages button{border:0;min-height:100px;gap:9px}.stage-title{font-size:18px}.stage-sub{font-size:8px}.system-diagram [role=tabpanel]{min-height:180px}.system-diagram [role=tabpanel]>p{font-size:13px}.diagram-boundary{justify-content:flex-start;font-size:7px;gap:8px}.decision-list{margin-top:24px}.decision-list article{grid-template-columns:25px 1fr;gap:10px;padding:22px 0}.decision-list h3{font-size:21px}.decision-list p{font-size:14px}.case-source{grid-template-columns:1fr;gap:15px;padding:28px 0}.case-source .label{font-size:9px}.case-source p{font-size:11px}.next-project{padding:35px 0 45px}.next-project h2{font-size:38px}.next-project>span{font-size:40px}.app-gallery{margin:30px -5px}.app-gallery>div{padding:20px 10px;gap:9px}.app-gallery img{width:calc((100% - 18px)/3);border:2px solid #233b40;border-radius:8px}.app-gallery figcaption{font-size:9px}.not-found{padding-block:70px}.not-found h1{font-size:47px}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.site-header nav{gap:12px}.hero-kicker{font-size:7px;letter-spacing:.4px}.hero h1{font-size:44px;letter-spacing:-2px}.card-art{height:300px}.phones .phone{width:150px}.phones .phone.front{right:20px;top:85px}.phones .phone.back{right:145px;top:158px}.sail-art-label{font-size:25px}.compact .stages{grid-template-columns:1fr 1fr}.compact .stages button{min-height:95px}.case-hero h1{font-size:44px}.contact h2{font-size:40px}.contact-arrow{font-size:50px}.visual-masthead>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header nav,.site-footer,.contact,.next-project,.back-link{display:none}.wrap{width:100%;max-width:none}.case-section{break-inside:avoid}.hero h1{font-size:60px}.lead-project{color:var(--ink);background:transparent}.system-diagram [role=tabpanel][hidden]{display:block}.stages{display:none}a{text-decoration:underline}}
.case-index{display:flex;flex-wrap:wrap;gap:12px 22px;padding:21px 0;border-bottom:1px solid var(--line);font:10px/1.7 var(--mono);color:var(--muted)}.case-index a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}@media(max-width:760px){.case-index{gap:10px 18px;font-size:9px;padding:18px 0}}

/* A concise, model-provider-neutral account of live agent operations. */
.agent-ops{border-top:1px solid var(--line);margin-top:96px;padding-top:78px;padding-bottom:90px}
.agent-ops-head{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}
.agent-ops-head h2{font:clamp(39px,4.1vw,61px)/1.09 var(--serif);letter-spacing:-1.6px;margin-top:20px}
.agent-ops-head h2 em{color:#71887d}
.agent-ops-head>p{max-width:515px;font-size:15px;line-height:1.82;color:var(--muted)}
.agent-ops-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--line);margin:42px 0 35px}
.agent-metric{display:flex;flex-direction:column;padding:26px 30px 29px;border-right:1px solid var(--line)}
.agent-metric:first-child{padding-left:0}.agent-metric:last-child{border-right:0}
.agent-metric strong{font:clamp(43px,5vw,70px)/1 var(--serif);font-weight:400;letter-spacing:-2px;font-variant-numeric:tabular-nums}
.agent-metric>span{font:11px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.6px;margin-top:15px}
.agent-metric small{color:var(--muted);font:12px/1.65 var(--sans);max-width:285px;margin-top:9px}
.agent-ops-bottom{display:grid;grid-template-columns:1.25fr .75fr;gap:75px}
.agent-ops-bottom h3{font:32px/1.2 var(--serif);letter-spacing:-.5px;margin:15px 0}
.agent-ops-bottom>div:first-child p{color:var(--muted);font-size:14px;line-height:1.8;max-width:690px;margin-top:13px}
.agent-ops-bottom .text-link{margin-top:23px}
.agent-ops-products{background:#e6e9df;padding:26px 25px 24px;align-self:start}
.agent-ops-products>p{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:15px 0 20px}
.agent-ops-products a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #c5cdc2;padding:12px 0;font-size:13px;gap:6px}
.agent-ops-products a:hover{color:var(--accent)}
.agent-ops-products a span{font-size:12px}
.agent-ops-products small{display:block;color:var(--muted);font-size:10px;line-height:1.75}
@media(max-width:1100px){.agent-ops-head,.agent-ops-bottom{gap:36px}.agent-metric{padding-right:22px;padding-left:22px}}
@media(max-width:760px){.agent-ops{margin-top:65px;padding:47px 0 59px}.agent-ops-head,.agent-ops-bottom{grid-template-columns:1fr;gap:22px}.agent-ops-head h2{font-size:40px;letter-spacing:-1px}.agent-ops-head>p{font-size:13px}.agent-ops-metrics{margin:31px 0}.agent-metric{padding:20px 13px 22px}.agent-metric:first-child{padding-left:0}.agent-metric:last-child{padding-right:0}.agent-metric strong{font-size:clamp(34px,8vw,48px);letter-spacing:-1px}.agent-metric>span{font-size:8px;letter-spacing:0;margin-top:10px}.agent-metric small{font-size:9px;line-height:1.5}.agent-ops-bottom h3{font-size:29px}.agent-ops-bottom>div:first-child p{font-size:13px}.agent-ops-products{margin-top:15px}}
@media(max-width:380px){.agent-ops-metrics{grid-template-columns:1fr}.agent-metric{padding:14px 0;border-right:0;border-bottom:1px solid var(--line)}.agent-metric:last-child{border-bottom:0}.agent-metric strong{font-size:45px}.agent-metric>span{font-size:10px}.agent-metric small{font-size:11px}}

/* Keep the operations section and architectural principle visually connected. */
.agent-ops + .approach{margin-top:0}

/* Selected identity: the editorial Cal wordmark, without a symbol. */
.site-header .wordmark{font:400 30px/1 var(--serif);letter-spacing:-1.3px;min-height:44px}
.site-footer .wordmark{font:400 24px/1 var(--serif);letter-spacing:-1px}
@media(max-width:760px){.site-header .wordmark{font-size:28px}}

/* Briefing rules use the case-study body scale at every viewport. */
.product-rules{font-size:16px;line-height:1.85;color:#415756;margin-top:20px}.product-rules p{font-weight:500}.product-rules ul{padding-left:1.25em;margin:10px 0 0}.product-rules li+li{margin-top:6px}@media(max-width:760px){.product-rules{font-size:15px;line-height:1.85}}

/* Keep the selected interface concept complete and readable as an image. */
.lead-visual .map-frame{transform:none}.lead-visual .map-frame img{aspect-ratio:1440/1100;object-fit:contain}.concept-image-link{display:block;position:relative}.concept-image-link>img{width:100%;height:auto}.concept-image-hint{position:absolute;right:14px;bottom:14px;padding:9px 12px;background:#101d30;color:#f0f4f8;font-size:12px;border:1px solid #38516c}.concept-image-link:hover .concept-image-hint{text-decoration:underline}.lead-visual:hover .map-frame{transform:none}@media(max-width:760px){.concept-image-hint{right:7px;bottom:7px;padding:7px 9px;font-size:11px}}
