@font-face{font-family:Fraunces;src:url('fonts/fraunces-latin-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Albert;src:url('fonts/albert-sans-latin-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Albert;src:url('fonts/albert-sans-latin-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Plex;src:url('fonts/ibm-plex-mono-latin-400.woff2') format('woff2');font-weight:400;font-display:swap}
:root{color-scheme:light;--canvas:#f4f7f7;--surface:#e5eded;--ink:#10252b;--muted:#486066;--indigo:#254fce;--on-indigo:#ffffff;--line:#c1d0d2;--gold:#24636c;--focus:#254fce;--input:#ffffff;--display:Fraunces,Georgia,serif;--body:Albert,system-ui,sans-serif;--mono:Plex,monospace;--radius:6px}
:root[data-theme=dark]{color-scheme:dark;--canvas:#0e1b22;--surface:#182c35;--ink:#eff6f7;--muted:#a8bdc5;--indigo:#9ab7ff;--on-indigo:#0e1b22;--line:#3c5661;--gold:#99d3d3;--focus:#9ab7ff;--input:#182c35}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--line) var(--canvas)}body{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.6 var(--body)}::selection{background:var(--indigo);color:var(--on-indigo)}a{color:inherit;text-underline-offset:.22em}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}a,button{transition:background .18s ease,color .18s ease,transform .18s ease}a:hover{color:var(--indigo)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:5px}button:active,.button:active{transform:translateY(1px)}img{display:block;max-width:100%}p{margin:0 0 1.25rem;text-wrap:pretty}h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.028em;text-wrap:balance;margin:0}h1{font-size:clamp(2.4rem,4.8vw,4.2rem);line-height:1.12}h2{font-size:clamp(2rem,3.2vw,2.9rem);line-height:1.15}h3{font-size:1.8rem;line-height:1.2}.wrap{width:min(1168px,calc(100% - 96px));margin:auto}.skip{position:absolute;left:16px;top:-100px;z-index:10;background:var(--canvas);padding:10px}.skip:focus{top:8px}.preview-bar{background:var(--surface);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);padding:8px 0}.preview-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.preview-inner span:last-child{font-family:var(--mono);font-size:11px}.header{position:sticky;top:0;z-index:3;background:var(--canvas);border-bottom:1px solid var(--line)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{width:148px;display:block;line-height:0}.logo svg{width:100%;height:auto}.lg-plate{fill:#2a3b63}.lg-pwarp{stroke:#7288c0}.lg-pink{stroke:#ede7da}.lg-ink{stroke:var(--ink)}.lg-warp{stroke:var(--indigo)}.lg-sys{fill:var(--muted);font-family:var(--mono)}.nav{display:flex;align-items:center;gap:29px;font-size:14px}.nav a{text-decoration:none;white-space:nowrap}.nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:9px}.theme{border:1px solid var(--line);background:none;color:var(--ink);border-radius:var(--radius);padding:8px 11px;font-size:12px;min-height:40px}.theme:hover{background:var(--surface)}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:11px 20px;background:var(--indigo);color:var(--on-indigo);border:1px solid var(--indigo);border-radius:var(--radius);text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap}.button:hover{background:var(--ink);color:var(--canvas);border-color:var(--ink)}.text-link{display:inline-flex;align-items:center;gap:10px;font-weight:600;text-decoration:none;font-size:14px;border-bottom:1px solid var(--indigo);padding-bottom:5px}.arrow{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.hero{display:grid;grid-template-columns:1.48fr 1fr;gap:54px;align-items:center;padding:60px 0 56px}.hero h1{margin-bottom:25px}.hero h1 span{display:block}.hero p{font-size:19px;max-width:42ch;margin-bottom:30px}.hero-visual{margin:0;position:relative}.hero-visual img{width:100%;aspect-ratio:1.05;object-fit:cover;border-radius:var(--radius)}.hero-visual:after{content:'';position:absolute;left:-23px;top:26%;width:38px;height:1px;background:var(--gold)}.hero-visual figcaption{margin-top:12px;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted)}section{scroll-margin-top:100px}.section{padding:66px 0;border-top:1px solid var(--line)}.section-heading{margin-bottom:32px}.section-heading p{max-width:65ch;margin-top:16px;color:var(--muted)}.section-line{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:30px}.section-line h2{font-size:2.3rem}.featured{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}.project{min-width:0}.project-image{height:295px;overflow:hidden;border-radius:var(--radius);background:var(--surface);display:block;position:relative}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.project-image:hover img{transform:scale(1.025)}.project-image.menu{display:flex;align-items:flex-start;justify-content:center;padding:28px 40px 0}.project-image.menu img{object-fit:cover;object-position:top;width:auto;height:auto;max-width:89%;box-shadow:0 10px 24px rgba(28,26,23,.12)}.project-image.archivist img{object-position:center}.project-image.qr img{object-position:top}.project-meta{display:flex;justify-content:space-between;gap:20px;margin:19px 0 9px;font-size:12px;color:var(--muted)}.project h3{margin-bottom:12px;font-size:1.65rem}.project p{color:var(--muted);max-width:57ch;font-size:15px}.project .text-link{margin-top:4px}.process-preview{display:grid;grid-template-columns:1fr 1.25fr;gap:90px}.process-preview h2{max-width:14ch;margin-bottom:24px}.process-preview>div>p{max-width:43ch;color:var(--muted)}.steps{list-style:none;margin:0;padding:0;counter-reset:steps}.steps li{display:grid;grid-template-columns:35px 1fr;gap:20px;counter-increment:steps;padding:22px 0;border-top:1px solid var(--line)}.steps li:first-child{padding-top:0;border-top:0}.steps li:before{content:counter(steps,decimal-leading-zero);font:14px/1.6 var(--mono);color:var(--gold);padding-top:3px}.steps h3{font:600 20px/1.3 var(--body);letter-spacing:0;margin-bottom:7px}.steps p{color:var(--muted);font-size:15px;margin:0;max-width:50ch}.capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.capabilities article{padding-top:25px;border-top:1px solid var(--line)}.capabilities h3{font:600 21px/1.25 var(--body);letter-spacing:0;margin-bottom:14px}.capabilities p{font-size:15px;color:var(--muted)}.service-names{margin-top:32px;display:flex;gap:12px 26px;flex-wrap:wrap;font-size:14px;color:var(--muted)}.about{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}.about h2{max-width:12ch}.about p{max-width:60ch;font-size:18px}.about .byline{font-size:14px;color:var(--muted)}.contact{padding:74px 0;background:var(--surface)}.contact-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:80px}.contact h2{max-width:14ch;margin-bottom:24px}.contact p{color:var(--muted);max-width:40ch}.contact a{color:var(--indigo)}.form label{display:block;font-size:14px;margin-bottom:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form input,.form textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--input);padding:12px;color:var(--ink);caret-color:var(--indigo);margin-bottom:16px;min-height:47px}.form textarea{min-height:110px;resize:vertical}.form .fine{font-size:12px;color:var(--muted);margin:13px 0 0}.form-status{font-size:14px;color:var(--indigo);margin-top:12px}.footer{padding:27px 0;font-size:12px;color:var(--muted)}.footer-inner{display:flex;gap:24px;justify-content:space-between;align-items:center;flex-wrap:wrap}.footer-links{display:flex;gap:24px}.page-intro{padding:63px 0 36px}.page-intro h1{max-width:19ch}.page-intro>p{font-size:18px;max-width:62ch;color:var(--muted);margin-top:20px}.filters{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 28px}.filter{min-height:44px;border:1px solid var(--line);border-radius:var(--radius);padding:9px 16px;background:none;color:var(--muted);font-size:14px}.filter[aria-pressed=true]{background:var(--indigo);border-color:var(--indigo);color:var(--on-indigo)}.filter:hover{border-color:var(--indigo)}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px 32px;padding-bottom:64px}.portfolio-grid .project-image{height:315px}.portfolio-grid .project:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr;gap:42px;background:var(--surface);padding:32px;border-radius:var(--radius)}.portfolio-grid .project:first-child .project-image{height:340px;background:var(--canvas)}.portfolio-grid .project:first-child .project-body{align-self:center}.portfolio-grid .project:first-child h3{font-size:2.3rem}.project[hidden]{display:none!important}.case-notes{border-top:1px solid var(--line);margin-top:22px;padding-top:10px}.case-notes summary{padding:10px 0;cursor:pointer;font-size:14px;font-weight:600;color:var(--indigo)}.case-notes dl{margin:15px 0 0}.case-notes dt{font-weight:600;font-size:14px;margin-top:14px}.case-notes dd{margin:5px 0 0;font-size:14px;color:var(--muted)}.evidence-note{font-size:12px;color:var(--muted);margin-top:9px}.bookkeeping-art{display:grid;place-items:center;text-align:center;padding:30px}.bookkeeping-art .flow{display:flex;flex-direction:column;gap:10px;align-items:center;font-size:18px;font-weight:600}.flow-label{background:var(--canvas);padding:13px 24px;min-width:190px;border-radius:var(--radius)}.flow-stem{width:1px;height:20px;background:var(--gold)}.filter-count{color:var(--muted);font-size:13px;margin:0 0 24px}.process-lead{display:grid;grid-template-columns:1.12fr 1fr;gap:60px;padding:20px 0 56px;align-items:start}.process-lead h2{font-size:2rem;max-width:19ch;margin-bottom:22px}.process-lead .lead-copy{font-size:17px;color:var(--muted)}.process-proof{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:var(--surface);padding:28px;border-radius:var(--radius);margin:0;align-items:start;max-height:360px;overflow:hidden}.process-proof img{width:100%;height:auto;box-shadow:0 10px 24px rgba(28,26,23,.12)}.source-caption{font-size:12px;color:var(--muted);margin-top:12px}.system-map{display:grid;grid-template-columns:repeat(4,1fr);gap:0;list-style:none;padding:0;margin:32px 0 0}.system-map li{padding:26px 24px;border:1px solid var(--line);margin-right:-1px;position:relative}.system-map li:last-child{margin-right:0}.system-map strong{display:block;font-size:17px;margin-bottom:10px}.system-map span{color:var(--muted);font-size:14px}.system-map .arrow{position:absolute;right:-9px;top:35px;background:var(--canvas);z-index:1;color:var(--gold)}.decision-list{display:grid;grid-template-columns:1fr 1fr;gap:32px 60px}.decision-list article{border-top:1px solid var(--line);padding-top:20px}.decision-list h3{font:600 20px/1.3 var(--body);letter-spacing:0;margin-bottom:12px}.decision-list p{color:var(--muted);font-size:16px;max-width:55ch}.process-method{max-width:800px}.process-method .steps{margin-top:32px}.outcome{font-size:24px;line-height:1.45;max-width:45ch;margin:24px 0 30px}.note{font-size:13px;color:var(--muted);max-width:65ch}.empty-state{padding:40px 0;max-width:60ch}body[data-page=portfolio] .contact,body[data-page=process] .contact{margin-top:0}
.hero-visual img{height:auto}
.preview-inner span:last-child,.hero-visual figcaption,.theme{font-size:12px}
.theme,.nav a{min-height:44px}
.nav a{display:inline-flex;align-items:center}
.project>h2,.project>h3{margin-top:22px}
.project h2{font-size:1.65rem;line-height:1.2;margin-bottom:12px}
.project-meta{margin:0 0 13px}
.portfolio-grid .project:first-child h2{font-size:2.3rem}
@media(max-width:1024px){.portfolio-grid .project:first-child h2{font-size:1.9rem}}
@media(max-width:767px){.portfolio-grid .project:first-child h2{font-size:1.8rem}}
@media(min-width:1440px){.hero{gap:78px;padding-top:72px;padding-bottom:64px}.hero h1{font-size:4.35rem}}
@media(max-width:1024px){.wrap{width:calc(100% - 56px)}.nav{gap:18px}.hero{gap:30px;grid-template-columns:1.45fr 1fr}.hero h1{font-size:clamp(2.4rem,4.9vw,3.5rem)}.process-preview{gap:45px}.contact-layout{gap:45px}.portfolio-grid .project:first-child{gap:28px;padding:24px}.portfolio-grid .project:first-child h3{font-size:1.9rem}.hero p{font-size:17px}}
@media(max-width:767px){.wrap{width:calc(100% - 40px)}.preview-inner span:last-child{display:none}.header-inner{height:70px;gap:15px}.logo{width:125px}.nav{gap:13px;font-size:12px}.nav .secondary-nav{display:none}.theme{font-size:11px;padding:7px 8px}.hero{grid-template-columns:1fr;gap:28px;padding:36px 0 38px}.hero h1{font-size:clamp(2.2rem,6.5vw,3.5rem);line-height:1.16;margin-bottom:18px}.hero p{font-size:17px;max-width:42ch;margin-bottom:24px}.hero-visual{max-width:none}.hero-visual img{aspect-ratio:1.95;object-position:50% 55%}.hero-visual:after{display:none}.hero-visual figcaption{font-size:11px}.actions{gap:20px}.section{padding:43px 0}.section-line{align-items:flex-start;flex-direction:column;gap:16px}.section-line h2{font-size:2rem}.featured{grid-template-columns:1fr;gap:38px}.project-image{height:270px}.project h3{font-size:1.6rem}.process-preview,.about,.contact-layout,.process-lead{grid-template-columns:1fr;gap:28px}.process-preview h2,.about h2,.contact h2{max-width:19ch}.capabilities{grid-template-columns:1fr;gap:8px}.about p{font-size:17px}.contact{padding:43px 0}.contact-layout{gap:26px}.contact p{max-width:56ch}.form-row{grid-template-columns:1fr;gap:0}.footer-inner{align-items:flex-start;gap:14px}.page-intro{padding:38px 0 27px}.page-intro h1{font-size:2.6rem}.page-intro>p{font-size:17px}.portfolio-grid{grid-template-columns:1fr;gap:38px;padding-bottom:44px}.portfolio-grid .project:first-child{display:block;padding:20px}.portfolio-grid .project:first-child .project-image{height:270px}.portfolio-grid .project:first-child h3{font-size:1.8rem}.portfolio-grid .project-image{height:285px}.filters{gap:7px}.filter{padding:9px 13px}.process-lead{padding:5px 0 36px}.process-proof{max-height:300px;padding:20px;gap:15px}.system-map{grid-template-columns:1fr}.system-map li{margin-right:0;margin-bottom:-1px;padding:20px 22px}.system-map li:last-child{margin-bottom:0}.system-map .arrow{transform:rotate(90deg);right:25px;top:auto;bottom:-9px}.decision-list{grid-template-columns:1fr;gap:22px}.outcome{font-size:21px}.button{min-height:46px;padding:11px 17px}.form textarea{min-height:100px}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.logo{width:106px}.nav{gap:10px}.theme{padding:7px 6px}.hero h1{font-size:2.04rem}.hero .actions{gap:16px}.hero .text-link{font-size:13px}.project-image.menu{padding:25px 24px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.project-image:hover img{transform:none}}

/* Revision 2: explicit portfolio routes and a readable project catalogue. */
.case-visual.character-sheet>img,.case-visual.sheikah-qr>img{object-fit:cover;object-position:top}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav a.nav-portfolio{font-weight:600;padding:0 14px;border:1px solid var(--indigo);border-radius:var(--radius);color:var(--indigo)}
.nav a.nav-portfolio[aria-current=page]{background:var(--indigo);color:var(--on-indigo);text-decoration:none}
.menu-toggle{display:none;background:none;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);min-height:44px;padding:8px 10px;font-size:12px}
.mobile-nav{padding-bottom:16px;display:flex;flex-wrap:wrap;gap:8px 24px}.mobile-nav[hidden]{display:none}.mobile-nav a{padding:7px 0;font-size:14px}
.catalog-intro{padding:48px 0 30px;max-width:760px}.catalog-intro h1{font-size:clamp(2.8rem,4.6vw,4rem);margin-bottom:16px}.catalog-intro p{font-size:20px;margin-bottom:8px}.catalog-intro .catalog-guide{font-size:15px;color:var(--muted)}
.catalog-tools{display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid var(--line);padding:22px 0 28px}.catalog-tools .filters{padding:0;gap:8px}.filter span{margin-left:8px;font-variant-numeric:tabular-nums;font-size:12px}.catalog-tools .filter-count{margin:0;white-space:nowrap;font-size:14px}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 32px;padding-bottom:42px}.catalog-project{min-width:0;border-bottom:1px solid var(--line);padding-bottom:28px;display:flex;flex-direction:column}.catalog-project[hidden]{display:none}.catalog-image{display:block;aspect-ratio:1.78;background:var(--surface);overflow:hidden;border-radius:var(--radius);text-decoration:none}.catalog-image img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .3s ease}.catalog-image:hover img{transform:scale(1.018)}.catalog-image.archivist img{object-position:50% 15%}.catalog-image.retail-operations{padding:18px 64px 0}.catalog-image.retail-operations img{object-fit:cover;object-position:top}.catalog-image.character-sheet img{object-position:top}.catalog-copy{padding-top:20px;flex:1;display:flex;flex-direction:column}.catalog-copy h2{font-size:1.85rem;line-height:1.18;margin-bottom:12px}.catalog-copy h2 a{text-decoration:none}.catalog-meta{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-size:12px;line-height:1.4;color:var(--muted);margin-bottom:14px}.status{font-size:12px;color:var(--indigo);font-weight:600;white-space:nowrap}.catalog-copy p{font-size:16px;line-height:1.55;max-width:53ch;color:var(--muted);margin-bottom:18px}.catalog-copy .text-link{align-self:flex-start;margin-top:auto;min-height:32px}
.flow-art{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:22px;color:var(--indigo)}.flow-art span{font-weight:600;font-size:17px;line-height:1.3;padding:10px 18px;text-align:center}.flow-art span+span:before{content:'';display:block;width:1px;height:17px;background:var(--gold);margin:-9px auto 9px}.catalog-end{padding:24px 0 42px;border-top:2px solid var(--ink);display:flex;justify-content:space-between;align-items:center;gap:22px}.catalog-end p{margin:0;font-size:15px;font-weight:600}.next-step{background:var(--surface);padding:42px 0}.next-step>.wrap{display:flex;align-items:center;justify-content:space-between;gap:32px}.next-step h2{font-size:2rem;margin-bottom:8px}.next-step p{color:var(--muted);margin:0}.next-step .button{flex:none}
.home-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.home-projects .catalog-image{aspect-ratio:1.6}.home-projects .catalog-copy h2{font-size:1.55rem}.home-projects .catalog-meta{flex-direction:column;gap:6px;margin-bottom:12px}.home-projects .catalog-copy p{font-size:15px}.selected-end{font-size:13px;color:var(--muted);margin:24px 0 0}
.breadcrumb{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted);padding:28px 0}.breadcrumb a{min-height:32px;display:inline-flex;align-items:center}.case-heading{max-width:820px;padding:0 0 30px}.case-heading h1{margin-bottom:18px}.case-heading>p{font-size:21px;line-height:1.5;margin-bottom:20px;max-width:62ch}.case-meta{display:flex;align-items:center;gap:24px;font-size:14px;color:var(--muted)}.case-meta .status{font-size:13px}.case-visual{margin:0;background:var(--surface);border-radius:var(--radius);overflow:hidden}.case-visual>img{width:100%;height:520px;object-fit:contain;object-position:top}.case-visual figcaption{font-size:13px;color:var(--muted);padding:16px 22px;border-top:1px solid var(--line)}.case-visual .flow-art{height:260px;flex-direction:row;gap:8px}.case-visual .flow-art span{font-size:20px;max-width:21ch}.case-visual .flow-art span+span:before{display:none}.case-visual .flow-art span+span{border-left:1px solid var(--line)}.case-visual.retail-operations>img{height:430px}.case-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:78px;padding:56px 0}.case-toc{position:sticky;top:105px;align-self:start;display:flex;flex-direction:column;gap:4px;font-size:14px}.case-toc strong{font-size:15px;margin-bottom:10px}.case-toc a{padding:10px 0;text-decoration:none;color:var(--muted)}.case-toc a:hover{color:var(--indigo);text-decoration:underline}.case-toc .case-back{border-top:1px solid var(--line);margin-top:18px;color:var(--indigo);display:flex;gap:14px;align-items:center;font-weight:600}.case-story{max-width:72ch}.case-story section{margin-bottom:42px;padding-bottom:38px;border-bottom:1px solid var(--line)}.case-story section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.case-story h2{font-size:2rem;margin-bottom:21px}.case-story p,.case-story li{font-size:18px;line-height:1.65}.case-story ul{padding-left:21px;margin:0 0 28px}.case-story li{margin-bottom:13px}.case-flow{list-style:none;margin:28px 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0}.case-flow li{padding:18px;border:1px solid var(--line);margin:0 -1px -1px 0;font-size:15px;color:var(--indigo);font-weight:600}.case-story .demonstrates{background:var(--surface);padding:22px;font-size:15px;margin-top:26px}.case-story .record-date{font-size:13px;color:var(--muted)}.project-pagination{border-top:2px solid var(--ink);padding:28px 0 42px;display:grid;grid-template-columns:1fr auto 1fr;gap:26px;align-items:center}.project-pagination>a{display:flex;flex-direction:column;text-decoration:none;min-height:48px}.project-pagination>a:last-child{text-align:right;align-items:flex-end}.project-pagination span{font-size:12px;color:var(--muted);margin-bottom:6px}.project-pagination strong{font-size:17px}.project-pagination .button{flex-direction:row}.output-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}.output-gallery figure{margin:0}.output-gallery img{max-height:340px;object-fit:contain;object-position:top;width:100%}.output-gallery figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:10px}.output-gallery figure:last-child{grid-column:1/-1}.method-list{max-width:780px;margin:10px auto 52px}.method-list section{border-top:1px solid var(--line);padding:32px 0}.method-list h2{font-size:2rem;margin-bottom:20px}.method-list p{font-size:18px;max-width:65ch;margin:0}.method-example{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;padding:36px;background:var(--surface);margin-bottom:42px;align-items:center;border-radius:var(--radius)}.method-example h2{font-size:2rem;margin-bottom:20px}.method-example img{max-height:290px;object-fit:contain;width:100%;object-position:top}.method-example p{color:var(--muted)}
@media(max-width:1024px){.nav{gap:15px}.case-layout{gap:42px;grid-template-columns:180px minmax(0,1fr)}.catalog-tools{align-items:flex-start;flex-direction:column;gap:14px}.home-projects{gap:20px}.catalog-meta{flex-wrap:wrap;gap:6px 14px}.case-visual>img{height:440px}}
@media(max-width:767px){.nav .nav-extra,.nav .nav-home{display:none}.menu-toggle{display:block}.header-inner{height:74px}.nav{gap:8px}.nav a.nav-portfolio{padding:0 10px;font-size:13px}.theme{font-size:12px;padding:8px}.catalog-intro{padding:32px 0 24px}.catalog-intro h1{font-size:2.7rem}.catalog-intro p{font-size:18px}.catalog-intro .catalog-guide{font-size:14px}.catalog-tools{padding:20px 0 24px}.catalog-tools .filter{font-size:13px;padding:9px 12px}.catalog-grid{grid-template-columns:1fr;gap:32px;padding-bottom:30px}.catalog-image{aspect-ratio:1.65}.catalog-copy h2{font-size:1.8rem}.catalog-copy p{font-size:16px}.catalog-copy .text-link{min-height:44px}.catalog-copy{padding-top:18px}.catalog-project{padding-bottom:22px}.catalog-meta{justify-content:flex-start;gap:8px 18px}.catalog-end{padding:22px 0 30px;flex-wrap:wrap;gap:14px}.catalog-end p{font-size:14px}.next-step{padding:32px 0}.next-step>.wrap{flex-direction:column;align-items:flex-start;gap:22px}.next-step h2{font-size:1.85rem}.home-projects{grid-template-columns:1fr;gap:32px}.home-projects .catalog-image{aspect-ratio:1.65}.home-projects .catalog-copy h2{font-size:1.8rem}.home-projects .catalog-meta{flex-direction:row;gap:8px 18px}.home-projects .catalog-copy p{font-size:16px}.breadcrumb{padding:22px 0;font-size:12px;gap:9px}.case-heading{padding-bottom:25px}.case-heading h1{font-size:2.7rem}.case-heading>p{font-size:18px}.case-meta{gap:12px;flex-wrap:wrap;font-size:13px}.case-visual>img{height:auto;max-height:480px;object-fit:contain}.case-visual figcaption{padding:12px 16px;font-size:12px}.case-layout{display:block;padding:26px 0 32px}.case-toc{position:static;flex-direction:row;flex-wrap:wrap;gap:8px 18px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:32px}.case-toc strong{width:100%;margin:0}.case-toc a{padding:4px 0;min-height:36px}.case-toc .case-back{width:100%;border:0;margin:0}.case-story h2{font-size:1.85rem}.case-story p,.case-story li{font-size:17px}.case-story section{margin-bottom:30px;padding-bottom:28px}.case-visual .flow-art{height:300px;flex-direction:column;gap:0}.case-visual .flow-art span{font-size:18px}.case-visual .flow-art span+span{border:0}.case-visual .flow-art span+span:before{display:block}.case-visual.retail-operations>img{height:350px}.project-pagination{grid-template-columns:1fr 1fr;gap:20px;padding:24px 0 32px}.project-pagination .button{grid-column:1/-1;grid-row:2}.project-pagination>a:last-child{grid-column:2;grid-row:1}.project-pagination strong{font-size:16px}.output-gallery{grid-template-columns:1fr}.output-gallery figure:last-child{grid-column:auto}.method-list{margin-bottom:30px}.method-list section{padding:26px 0}.method-list h2{font-size:1.85rem}.method-list p{font-size:17px}.method-example{grid-template-columns:1fr;gap:26px;padding:24px}.method-example h2{font-size:1.85rem}}
@media(max-width:380px){.logo{width:92px}.nav{gap:6px}.nav a.nav-portfolio{padding:0 8px}.menu-toggle,.theme{padding:8px 6px}.catalog-intro h1,.case-heading h1{font-size:2.4rem}}

/* Modern palette proposal: isolated from the warmer revision. */
.hero{grid-template-columns:1fr 1.2fr;gap:36px;padding:56px 0 52px}.hero-visual img{aspect-ratio:1.35;object-position:center}.hero-visual:after{display:none}.hero-visual figcaption{font-size:13px}.hero h1{font-size:clamp(2.4rem,4.4vw,3.8rem)}
@media(max-width:767px){.hero{grid-template-columns:1fr;gap:30px;padding:32px 0 36px}.hero-visual img{aspect-ratio:1.5}.hero-visual figcaption{font-size:12px}.hero h1{font-size:clamp(2.4rem,9vw,3.3rem)}}

/* Generated concept illustrations retain their full composition on case pages. */
.case-visual>img[src$="-concept.webp"]{height:auto;max-height:none;aspect-ratio:3/2;object-fit:cover}
.catalog-image img[src$="-concept.webp"]{object-position:center}
.catalog-image.vendor-credit-report img{object-fit:contain;object-position:center}

/* Allow the philosophy link to wrap with the existing footer navigation. */
.footer-links{flex-wrap:wrap;gap:12px 24px}
/* Client-ready navigation and evidence, October 2026. */
.nav a.nav-contact{border:1px solid var(--indigo);background:var(--indigo);color:var(--on-indigo);border-radius:6px;padding:10px 14px;text-decoration:none}
.nav a.nav-contact:hover{background:var(--ink);border-color:var(--ink);color:var(--canvas)}
.nav a.nav-portfolio{border-color:transparent;background:transparent;color:var(--ink)}
.nav a.nav-portfolio[aria-current=page]{background:var(--surface);border-color:var(--line);color:var(--ink)}
#about,#contact,#work,.case-story section{scroll-margin-top:100px}
.founder-note{border-top:1px solid var(--line);padding-top:26px;margin-top:30px}
.founder-note h3{font:600 18px/1.4 var(--body);letter-spacing:0;margin-bottom:10px}
.founder-note p{font-size:16px}.mission-link{font-size:14px}.contact-next{font-size:15px;max-width:40ch;color:var(--muted)}
.case-evidence{margin:36px 0 46px}.case-evidence>p{max-width:65ch}.case-evidence figure{margin:24px 0}
.case-evidence .evidence-image{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:6px;background:var(--surface)}
.case-evidence figcaption{font-size:13px;line-height:1.6;color:var(--muted);margin-top:12px;max-width:70ch}
/* A working example and straightforward answers before the first conversation. */
.operational-proof,.questions{display:grid;grid-template-columns:1fr 1.2fr;gap:64px}
.proof-label{font:12px/1.5 var(--mono);color:var(--gold);margin:0 0 18px}
.proof-intro h2,.questions h2{max-width:17ch;margin-bottom:22px}
.proof-intro>p:not(.proof-label),.questions>div>p{color:var(--muted);max-width:43ch}
.proof-comparison{border-left:2px solid var(--indigo);padding-left:30px}
.proof-comparison>div+div{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}
.proof-comparison h3{font:600 18px/1.4 var(--body);margin-bottom:8px;letter-spacing:0}
.proof-comparison p{font-size:16px;color:var(--muted);margin:0}
.proof-comparison .proof-result{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);color:var(--ink)}
.proof-result strong{display:block;margin-bottom:8px}
.question-list details{border-top:1px solid var(--line)}
.question-list details:last-child{border-bottom:1px solid var(--line)}
.question-list summary{padding:20px 0;cursor:pointer;font-size:17px;font-weight:600}
.question-list p{margin:0 0 22px;color:var(--muted);font-size:16px}
.catalog-links{display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap;margin-top:auto}
.catalog-copy .catalog-links .text-link{margin-top:0}
@media(max-width:767px){.operational-proof,.questions{grid-template-columns:1fr;gap:28px}.proof-comparison{padding-left:20px}.proof-intro h2,.questions h2{max-width:20ch}.question-list summary{font-size:16px}}
@media(min-width:768px) and (max-width:1100px){.nav{gap:16px}.nav a.nav-contact{padding:10px}.logo{width:130px}}
@media(max-width:767px){.nav a.nav-contact{display:none}.case-evidence{margin:28px 0 36px}.case-evidence figure{margin:20px 0}.mobile-nav a{min-height:44px;display:flex;align-items:center}}
