/* Phase 1: scoped Web Case Study. Later product/design/build sections retain their styles. */
.case-section{--case-ink:#211c18;--case-muted:#685e55;--case-orange:#ef590c;--case-rule:#e5d8cc;position:relative;z-index:1;isolation:isolate;width:100%;margin:0;padding:clamp(76px,8vw,128px) 0;color:var(--case-ink);background:#fffaf5;font-size:var(--type-body);line-height:1.75;}
.case-section,.case-section *{box-sizing:border-box;}
.case-section :where(h1,h2,h3,p,figure,blockquote,dl,dd,ol,ul){margin:0;}
.case-section :where(h1,h2,h3){font-family:inherit;letter-spacing:-.025em;text-wrap:balance;color:var(--case-ink);}
.case-section :where(img){max-width:100%;display:block;}
.case-section a{color:inherit;}
.case-section :where(p,dd,li,td){overflow-wrap:break-word;}
.case-section :where(a,summary):focus-visible,.case-nav a:focus-visible{outline:3px solid #277954;outline-offset:5px;}
.case-container{width:calc(100% - 96px);max-width:1280px;margin-inline:auto;}
.case-wide{max-width:1440px;}
.case-kicker{color:#a73e0a;font-size:var(--type-label);font-weight:750;letter-spacing:.13em;line-height:1.5;}
.case-heading{max-width:850px;margin-bottom:48px;}
.case-heading h2{margin:16px 0 22px;font-size:var(--type-h2);font-weight:780;line-height:1.2;}
.case-heading>p:last-child:not(.case-kicker){max-width:720px;color:var(--case-muted);font-size:var(--type-body-large);}
.case-body{max-width:760px;color:var(--case-muted);font-size:var(--type-body);line-height:1.85;}
.case-body+.case-body{margin-top:20px;}
.case-label{color:#a73e0a;font-size:var(--type-label);font-weight:750;letter-spacing:.09em;margin-bottom:20px;}
.case-nav{position:fixed;inset:0 0 auto;z-index:40;background:rgba(255,250,245,.94);border-bottom:1px solid #e8ddd2;backdrop-filter:blur(14px);}
.case-nav-inner{max-width:1440px;width:calc(100% - 64px);min-height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.case-nav-brand{display:flex;align-items:center;gap:10px;color:#29201a;text-decoration:none;font-size:var(--type-caption);font-weight:800;letter-spacing:.05em;white-space:nowrap;}
.case-nav-brand img{width:32px;height:32px;border-radius:9px;}
.case-nav-links{display:flex;gap:clamp(14px,2.4vw,36px);}
.case-nav-links a{padding:23px 0 21px;color:#665d54;font-size:var(--type-caption);font-weight:650;line-height:2;text-decoration:none;border-bottom:2px solid transparent;}
.case-nav-links a:hover,.case-nav-links a.active{color:#ad3d04;border-bottom-color:#ef590c;}
section[id],.case-section [id]{scroll-margin-top:96px;}
#cover.case-hero{min-height:100svh;padding:130px 0 72px;background:#fff8ef;}
.case-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(28px,4vw,64px);}
.case-hero-copy h1{font-size:clamp(42px,4.8vw,74px);font-weight:850;line-height:1.15;margin:24px 0;white-space:nowrap;}
.case-hero-value{font-size:clamp(23px,2.1vw,32px);font-weight:720;line-height:1.55;letter-spacing:-.015em;}
.case-intro{color:var(--case-muted);font-size:var(--type-body);line-height:1.9;margin-top:22px;}
.case-capabilities{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:22px;color:#74624e;font-size:var(--type-caption);}
.case-capabilities li:before{content:'·';color:#ef590c;margin-right:7px;}
.case-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;}
.case-cta .case-button{min-height:50px;padding:12px 24px;display:inline-flex;align-items:center;justify-content:center;gap:22px;border:1px solid #dcbda5;border-radius:6px;text-decoration:none;font-size:var(--type-body);font-weight:700;transition:background-color .15s;}
.case-cta .case-primary{background:#ef590c;border-color:#ef590c;color:white;}
.case-cta .case-primary:hover{background:#cf4500;}
.case-cta .case-secondary:hover{background:#ffeadd;}
.case-meta{display:grid;grid-template-columns:1.4fr 1fr .65fr 1.15fr;gap:16px;border-top:1px solid var(--case-rule);padding-top:24px;margin-top:40px;}
.case-meta dt{font-size:var(--type-label);color:#796a5d;margin-bottom:8px;}
.case-meta dd{font-size:var(--type-label);line-height:1.7;}
.case-hero-art{position:relative;width:100%;max-width:680px;aspect-ratio:1 / 1.08;justify-self:center;}
.case-kitchen{position:absolute;inset:0;background:linear-gradient(90deg,#fff8ef 0%,rgba(255,248,239,.32) 40%,rgba(255,248,239,.1)),url('camera-kitchen-bg.png') center 52% / cover;border-radius:2px 22px 22px 2px;opacity:.72;mask-image:linear-gradient(180deg,transparent,#000 8%,#000 85%,transparent);}
.case-hero-phone{position:absolute;height:auto;border:6px solid #2a251f;border-radius:28px;box-shadow:0 16px 28px rgba(69,43,22,.15);}
.case-hero-phone-main{z-index:3;width:45%;left:5%;top:7%;transform:rotate(-6deg);}
.case-hero-phone-scan{z-index:2;width:33%;left:50%;top:14%;transform:rotate(7deg);}
.case-hero-ip{position:absolute;z-index:4;width:36%;height:auto;right:-1%;bottom:7%;mix-blend-mode:multiply;}
.case-hero-art figcaption{position:absolute;bottom:0;left:5%;font-size:var(--type-caption);color:#725944;letter-spacing:.05em;}
.case-context{background:#fffdfa;}
.case-context-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,7vw,100px);align-items:start;}
.case-lede{font-size:24px;font-weight:700;margin-bottom:20px;}
.case-scenarios{list-style:none;padding:0;margin-top:32px;}
.case-scenarios li{border-top:1px solid var(--case-rule);padding:16px 0;display:grid;grid-template-columns:110px 1fr;gap:20px;}
.case-scenarios span{font-weight:700;font-size:var(--type-caption);}
.case-scenarios p{color:var(--case-muted);font-size:var(--type-caption);}
.case-context-photo img{width:100%;height:auto;aspect-ratio:1.2 / 1;object-fit:cover;object-position:50% 65%;border-radius:2px;}
.case-context-photo figcaption{margin-top:14px;color:#746456;font-size:var(--type-label);}
.case-process{margin-top:54px;padding-top:24px;border-top:1px solid var(--case-rule);display:flex;gap:32px;color:#736252;font-size:var(--type-caption);}
.case-process>span{font-weight:750;color:#2d714f;}
.case-process i{font-style:normal;margin:0 18px;color:#ba764a;}
.case-problem-list article{padding:30px 0;border-top:1px solid var(--case-rule);display:grid;grid-template-columns:.7fr 1.15fr 1.35fr;gap:30px;align-items:start;}
.case-problem-list article>span{font-size:var(--type-label);color:#a73e0a;letter-spacing:.05em;}
.case-problem-list h3{font-size:var(--type-component-title);line-height:1.5;}
.case-problem-list b{font-size:var(--type-caption);font-weight:750;}
.case-problem-list p{font-size:var(--type-body);color:var(--case-muted);margin-top:10px;}
.case-statement{border-top:1px solid var(--case-rule);padding-top:48px;margin-top:24px;font-size:clamp(26px,3.15vw,44px);font-weight:750;line-height:1.5;letter-spacing:-.02em;max-width:1120px;}
.case-statement span{color:#297452;}
.case-insight{background:#fffdfa;}
.case-source-note{padding-left:16px;border-left:2px solid #a8c6af;color:#746759;font-size:var(--type-caption);max-width:840px;margin-bottom:48px;}
.case-research-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,8vw,120px);}
.case-research-grid h3,.case-comparison h3{font-size:var(--type-h3);line-height:1.45;margin-bottom:20px;}
.case-plain-list{list-style:none;padding:0;margin:0 0 24px;}
.case-plain-list li{padding:8px 0;font-size:var(--type-body);}
.case-plain-list li:before{content:'—';color:#b8825c;margin-right:12px;}
.case-observations>div{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid var(--case-rule);}
.case-observations dt{font-size:20px;font-weight:700;margin-bottom:10px;}
.case-observations dd{color:var(--case-muted);font-size:var(--type-body);}
.case-comparison{margin-top:68px;}
.case-table-wrap{margin-top:24px;}
.case-table{width:100%;border-collapse:collapse;table-layout:fixed;border:0;background:transparent;box-shadow:none;border-radius:0;font-size:var(--type-caption);}
.case-table caption{text-align:left;font-size:var(--type-label);color:#7a695a;margin-bottom:14px;}
.case-table :where(th,td){font-size:inherit;padding:18px 20px;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--case-rule);line-height:1.75;}
.case-table thead th{background:#f1ebe3;color:#4b4036;font-weight:700;}
.case-table tbody th{color:#4b4036;font-weight:650;}
.case-table td{color:#6b5b4d;background:transparent;}
.case-comparison .case-table :where(th,td):last-child{background:#edf4ee;color:#28573f;}
.case-opportunity{display:flex;align-items:center;gap:clamp(32px,6vw,100px);border-top:1px solid var(--case-rule);border-bottom:1px solid var(--case-rule);padding:36px 0;margin-top:48px;}
.case-opportunity small{font-size:var(--type-label);letter-spacing:.1em;color:#7d6a58;}
.case-opportunity p{font-size:clamp(22px,2.4vw,34px);font-weight:750;line-height:1.5;}
.case-opportunity span{color:#75614f;font-size:var(--type-caption);}
.case-opportunity>b{color:#c36832;font-size:32px;font-weight:400;}
.case-opportunity>div:last-child p{color:#ac400a;}
.case-evidence{margin-top:40px;}
.case-evidence summary{cursor:pointer;font-size:var(--type-body);font-weight:700;list-style-position:inside;padding:16px 0;}
.case-evidence summary span{font-size:var(--type-label);color:#82705e;font-weight:400;margin-left:24px;}
.case-evidence .case-table{font-size:var(--type-caption);}
.case-ai-chain{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin:24px 0 60px;}
.case-ai-chain li{position:relative;border-top:2px solid #f8b88e;padding-top:22px;}
.case-ai-chain li+li:before{content:'→';position:absolute;left:-21px;top:-17px;color:#b86931;background:#fffaf5;padding:0 4px;}
.case-ai-chain span{font-size:var(--type-label);color:#a83d09;font-weight:700;letter-spacing:.05em;}
.case-ai-chain h3{font-size:var(--type-component-title);margin:12px 0;}
.case-ai-chain p{color:var(--case-muted);font-size:var(--type-caption);}
.case-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 60px;}
.case-values article{border-top:1px solid var(--case-rule);padding-top:24px;}
.case-values article>span{color:#99714e;font-size:var(--type-label);letter-spacing:.08em;}
.case-values h3{font-size:var(--type-component-title);margin:12px 0;}
.case-values p{font-size:var(--type-body);color:var(--case-muted);max-width:510px;}
.case-decisions{margin-top:64px;border-top:1px solid var(--case-rule);padding-top:36px;}
.case-decisions>h3{font-size:var(--type-h3);margin-bottom:24px;}
.case-decisions dl>div{display:grid;grid-template-columns:1fr 1.8fr;gap:36px;border-bottom:1px solid var(--case-rule);padding:22px 0;}
.case-decisions dt{font-size:var(--type-body-large);font-weight:700;}
.case-decisions dd{font-size:var(--type-body);color:var(--case-muted);}
.case-architecture{background:#f2f6f0;}
.case-map-root{display:flex;align-items:center;justify-content:center;gap:24px;padding:22px;background:#e0eadb;border:1px solid #cddac6;}
.case-map-root small{font-size:var(--type-label);letter-spacing:.06em;color:#577347;}
.case-map-root b{font-size:20px;}
.case-map-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;padding-top:40px;}
.case-map-column{position:relative;border-top:2px solid #9dbb87;padding-top:22px;}
.case-map-column:before{content:'';position:absolute;width:1px;height:40px;left:50%;top:-42px;background:#c1cfb6;}
.case-map-column h3{font-size:var(--type-component-title);margin-bottom:18px;}
.case-map-column span{display:block;font-size:var(--type-caption);color:#57624c;border-top:1px solid #dce4d6;padding:12px 0;}
.case-map-note{margin-top:36px;color:#5d6b50;font-size:var(--type-caption);}
#flow.case-journey{background:#fffdfa;}
#flow .loop-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 28px;padding:0;}
#flow .loop-flow:before,#flow .loop-flow:after,#flow .loop-flow>span:before,#flow .loop-flow>span:after{content:none;}
#flow .loop-flow>span{display:flex;flex-direction:column;align-items:stretch;position:relative;aspect-ratio:auto;min-height:0;padding:20px 0 0;border:0;border-top:1px solid #dfcfc0;border-radius:0;background:transparent;box-shadow:none;animation:none;text-align:left;transform:none;}
#flow .loop-flow>span>b{display:block;width:auto;height:auto;margin:0 0 18px;border-radius:0;background:none;box-shadow:none;color:#9c4820;font-size:var(--type-label);}
#flow .flow-preview{position:relative;display:block;width:min(100%,200px);aspect-ratio:941 / 1672;margin:0 auto 24px;border:5px solid #352e28;border-radius:20px;overflow:hidden;background:#fff8f0;}
#flow .flow-preview.is-reflow{background-image:none;}
#flow .flow-preview:before{content:none;}
#flow .flow-preview.food{border:0;border-radius:2px;background-color:#f5efe7;}
#flow .loop-flow strong{font-size:19px;line-height:1.5;}
#flow .loop-flow small{color:#776556;font-size:var(--type-caption);line-height:1.75;margin-top:8px;}
#flow .notes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:48px;border-top:1px solid #dfcfc0;padding-top:28px;}
#flow .notes>div{padding:0;border:0;}
#flow .notes b{font-size:var(--type-body);}
#flow .notes p{font-size:var(--type-caption);color:#746253;line-height:1.8;margin-top:10px;}
@media(min-width:1600px){.case-hero-grid{gap:80px;}.case-hero-copy h1{font-size:80px;}}
@media(max-width:1100px){.case-container{width:calc(100% - 64px);}.case-hero-grid{gap:24px;grid-template-columns:1fr 1fr;}.case-hero-copy h1{font-size:46px;}.case-hero-value{font-size:24px;}.case-meta{grid-template-columns:1fr 1fr;}.case-intro{font-size:var(--type-body);}.case-desktop-break{display:none;}.case-hero-phone{border-width:4px;border-radius:20px;}.case-map-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:32px;}.case-map-column:before{display:none;}.case-map-grid{padding-top:28px;}.case-ai-chain{gap:18px;}.case-ai-chain h3{font-size:var(--type-component-title);}.case-problem-list article{grid-template-columns:.7fr 1fr 1.25fr;gap:20px;}}
@media(max-width:820px){.case-hero-grid{grid-template-columns:1fr;gap:48px;}.case-hero-art{width:min(100%,560px);}.case-hero-copy{max-width:650px;}.case-hero-copy h1{font-size:clamp(42px,8vw,64px);}.case-meta{grid-template-columns:1.3fr 1fr .7fr 1.15fr;}.case-context-grid,.case-research-grid{grid-template-columns:1fr;gap:36px;}.case-context-photo img{aspect-ratio:2 / 1;}.case-problem-list article{grid-template-columns:1fr 1.3fr;}.case-problem-list article>span{grid-column:1/-1;}.case-ai-chain{grid-template-columns:1fr;margin-bottom:44px;gap:0;}.case-ai-chain li{display:grid;grid-template-columns:130px 1fr;gap:10px 24px;border-top:1px solid #e7cbb5;padding:20px 0;}.case-ai-chain h3{margin:0;}.case-ai-chain p{grid-column:2;}.case-ai-chain li+li:before{display:none;}.case-decisions dl>div{grid-template-columns:1fr 1.4fr;gap:24px;}#flow .loop-flow{grid-template-columns:repeat(2,minmax(0,1fr));}#flow .notes{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.case-container{width:calc(100% - 40px);}.case-nav-inner{width:calc(100% - 32px);flex-direction:column;gap:0;align-items:flex-start;min-height:104px;padding-top:12px;}.case-nav-brand{font-size:var(--type-label);}.case-nav-brand img{width:25px;height:25px;}.case-nav-links{width:100%;justify-content:space-between;gap:6px;}.case-nav-links a{font-size:var(--type-label);padding:12px 0 10px;}section[id],.case-section [id]{scroll-margin-top:124px;}#cover.case-hero{padding-top:150px;padding-bottom:60px;}.case-hero-copy h1{font-size:42px;margin:22px 0;white-space:normal;}.case-hero-value{font-size:23px;}.case-cta{gap:10px;}.case-cta .case-button{flex:1;padding:12px 10px;gap:10px;font-size:var(--type-caption);}.case-meta{grid-template-columns:1fr 1fr;gap:22px;margin-top:32px;}.case-meta dd{font-size:var(--type-caption);}.case-hero-art{margin-top:8px;aspect-ratio:1 / 1.18;}.case-hero-phone-main{left:3%;width:47%;}.case-hero-phone-scan{width:35%;left:51%;}.case-hero-ip{bottom:10%;right:0;width:39%;}.case-heading{margin-bottom:32px;}.case-heading h2{font-size:var(--type-h2);}.case-heading>p:last-child:not(.case-kicker){font-size:var(--type-body);}.case-lede{font-size:21px;}.case-context-photo img{aspect-ratio:1.35 / 1;}.case-scenarios li{grid-template-columns:1fr;gap:6px;}.case-process{display:block;margin-top:36px;}.case-process p{margin-top:10px;}.case-process i{margin:0 5px;}.case-problem-list article{grid-template-columns:1fr;gap:12px;padding:24px 0;}.case-problem-list h3{font-size:var(--type-component-title);}.case-problem-list h3 br{display:none;}.case-statement{font-size:28px;padding-top:32px;}.case-statement br{display:none;}.case-research-grid h3,.case-comparison h3{font-size:var(--type-h3);}.case-table{display:block;table-layout:auto;}.case-table caption{display:block;}.case-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}.case-table tbody{display:block;}.case-table tr{display:block;margin-bottom:20px;border-top:2px solid #ddc5ad;}.case-table tbody th{display:block;font-size:var(--type-body);padding:14px 12px;}.case-table td{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:14px 12px;}.case-table td:before{content:attr(data-label);color:#6c5949;font-weight:650;font-size:var(--type-label);}.case-opportunity{flex-wrap:wrap;gap:18px;padding:28px 0;}.case-opportunity>div{width:100%;}.case-opportunity>b{transform:rotate(90deg);font-size:24px;}.case-opportunity p{font-size:25px;}.case-evidence summary span{display:block;margin-left:0;}.case-values{grid-template-columns:1fr;gap:26px;}.case-ai-chain li{grid-template-columns:110px 1fr;gap:10px;}.case-decisions>h3{font-size:var(--type-h3);}.case-decisions dl>div{grid-template-columns:1fr;gap:8px;}.case-map-root{align-items:flex-start;flex-direction:column;gap:6px;padding:20px;}.case-map-grid{grid-template-columns:1fr;gap:24px;}.case-map-column h3{font-size:var(--type-component-title);}.case-map-column span{font-size:var(--type-body);}#flow .loop-flow{grid-template-columns:1fr;gap:32px;}#flow .flow-preview{width:210px;}#flow .notes{grid-template-columns:1fr;}.case-source-note{font-size:var(--type-label);}}
@media(prefers-reduced-motion:reduce){.case-button{transition:none;}}

/* Final Polish: shared editorial tokens and rhythm, with the 01–15 structure frozen. */
:root{
  --type-display:clamp(34px,4.3vw,64px);--type-h1:clamp(42px,4.8vw,72px);
  --type-h2:clamp(32px,3.35vw,48px);--type-h3:clamp(24px,2.3vw,32px);
  --type-body-large:18px;--type-body:16px;--type-caption:14px;--type-label:12px;
  --type-component-title:22px;--type-leading:1.85;--case-label-color:#98400e;
  --case-action:#b94308;--case-focus:#277954;--case-reading-width:740px;
  --case-section-space:clamp(64px,6.3vw,96px);--case-join-space:clamp(40px,4vw,64px);
}
.case-polished:before,.case-polished:after,.case-polished .grid-bg{display:none;}
.case-polished #case-study>section:not(:where(#cover,#next-project)){padding-block:var(--case-section-space);}
.case-polished :is(.case-container,.p2-container,.p3-container):not(.case-wide):not(.p3-wide){width:calc(100% - 96px);max-width:1280px;}
.case-polished :is(.case-heading,.p2-heading,.p3-heading){max-width:850px;margin-bottom:44px;}
.case-polished :is(.case-kicker,.p2-kicker,.p3-kicker){font-size:var(--type-label);font-weight:750;letter-spacing:.075em;line-height:1.5;color:var(--case-label-color);}
.case-polished :is(.case-label,.p2-label,.p3-label){letter-spacing:.04em;}
.case-polished :is(.case-section,.phase-two,.phase-three){font-size:var(--type-body);line-height:var(--type-leading);}
.case-polished :is(.case-heading,.p2-heading,.p3-heading)>h2{font-size:var(--type-h2);line-height:1.3;letter-spacing:-.02em;}
.case-polished :is(.case-heading,.p2-heading,.p3-heading)>p:not(:first-child){max-width:var(--case-reading-width);}
.case-polished :is(.case-heading,.p2-heading,.p3-heading)>p:last-child:not(:first-child){font-size:var(--type-body-large);line-height:var(--type-leading);}
.case-polished .case-hero-copy h1{font-size:var(--type-h1);}
.case-polished :is(.case-statement,.p3-learning blockquote){letter-spacing:-.015em;}
.case-polished .case-cta .case-primary{background:var(--case-action);border-color:var(--case-action);}
.case-polished .case-nav-brand{min-height:44px;}
.case-polished :is(a,button,input,summary,[tabindex]):focus-visible{outline:3px solid var(--case-focus);outline-offset:4px;}
.case-polished :is(button,summary){touch-action:manipulation;}
.case-polished .case-skip-link{position:fixed;left:20px;top:12px;z-index:100;padding:12px 18px;background:#fffaf5;color:#2b1b12;border:2px solid var(--case-focus);transform:translateY(-160%);}
.case-polished .case-skip-link:focus{transform:none;}
.case-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
.case-polished #case-study:focus{outline:none;}
/* Linked chapters share a surface and a shorter join; content still determines height. */
.case-polished #problem,.case-polished #market-analysis{background:#fffdfa;}
.case-polished #role,.case-polished #architecture,.case-polished #flow{background:#fffaf5;}
.case-polished main #system,.case-polished main #states{background:#fff8ef;}
.case-polished main #validation,.case-polished main #results{background:#fffdfa;}
.case-polished #case-study :is(#problem,#role,#architecture,#system,#validation){padding-bottom:var(--case-join-space);}
.case-polished #case-study :is(#market-analysis,#architecture,#flow,#states,#results){padding-top:var(--case-join-space);}
.case-polished #case-study #background{padding-block:72px;}
.case-polished #flow .notes{margin-top:36px;}
.case-polished #flow .flow-preview.food>img{display:block;width:100%;height:100%;object-fit:contain;}
.case-polished .case-table{backdrop-filter:none;}
.case-polished #screens .p2-phone-scene{background:#f5eee4;padding:24px;}
.case-polished #screens .p2-recommend,.case-polished #screens .p2-execution{margin-top:80px;}
.case-polished #system :is(.p2-components,.p2-visual-language,.p2-brand){margin-top:64px;}
.case-polished #states .p2-principle{padding-block:44px;}
.case-polished #states .state-demo small{font-size:12px;line-height:1.5;}
.case-polished #states .state-demo{backdrop-filter:none;}
.case-polished #states .state-demo :is(.state-reason-text,.reason-bubble){font-size:14px;}
.case-polished #demo .demostat{background:transparent;box-shadow:none;backdrop-filter:none;border:0;border-right:1px solid #e2d4c7;border-radius:0;}
.case-polished #demo .demostat:last-child{border-right:0;}
.case-polished #demo .drow{background:transparent;box-shadow:none;border-radius:0;}
.case-polished #demo .demoframe{background:white;backdrop-filter:none;}
.case-polished #demo .btn.primary{background:var(--case-action);color:#fff;}
.case-polished #demo .live:before{box-shadow:none;}
.case-polished #demo .prototype-note{max-width:var(--case-reading-width);}
.case-polished #demo #video{max-width:1120px;grid-template-columns:.9fr 1.1fr;margin-top:64px;gap:40px;}
.case-polished #demo .scenario-story-scene{height:320px;}
.case-polished .scenario-story-progress{min-height:44px;touch-action:manipulation;}
.case-polished .scenario-story-progress:focus-visible{outline-offset:3px;}
.case-polished #implementation .p3-evidence{margin-top:64px;}
.case-polished #implementation .p3-evidence h3{font-size:var(--type-component-title);}
.case-polished #implementation .p3-prompts{margin-top:24px;}
.case-polished #implementation .p3-evidence dd{font-size:var(--type-caption);}
.case-polished .p3-qa-case{gap:64px;}
.case-polished .p3-qa-case dl dt{color:#8d3c0c;}
.case-polished .p3-qa-case .p3-outcome{margin-top:22px;padding-left:16px;border-left:2px solid #89a781;color:#315a37;font-size:var(--type-caption);}
.case-polished #results>.p3-container{max-width:1120px;}
.case-polished #results .p3-heading{margin-bottom:56px;}
.case-polished #results .p3-reflection-row{border:0;grid-template-columns:180px 1fr;gap:56px;padding-block:36px;}
.case-polished #results .p3-learning blockquote{font-size:clamp(26px,2.4vw,34px);font-weight:600;line-height:1.75;}
.case-polished #results .p3-learning dl{margin-top:36px;}
.case-polished #next-project .p3-kicker{color:#a6c3fa;}

.case-polished #modal .modalbox{background:#fffaf5;backdrop-filter:none;box-shadow:none;}
.case-polished #modal .online{color:#276b45;font-size:12px;}
.case-polished #modal .bubble.ai>span{color:#276b45;}
.case-polished #toast{font-size:14px;max-width:calc(100vw - 40px);}
@media(max-width:1100px){.case-polished :is(.case-container,.p2-container,.p3-container):not(.case-wide):not(.p3-wide){width:calc(100% - 64px);}.case-polished .p3-qa-case{gap:40px;}}
@media(max-width:800px){.case-polished #demo #video{grid-template-columns:1fr;}.case-polished #demo .scenario-story-scene{height:340px;}.case-polished #results .p3-reflection-row{grid-template-columns:1fr;gap:24px;}.case-polished #screens .p2-recommend,.case-polished #screens .p2-execution{margin-top:64px;}}
@media(max-width:600px){:root{--type-h1:42px;--type-body-large:16px;--case-section-space:64px;--case-join-space:36px;}.case-polished :is(.case-container,.p2-container,.p3-container):not(.case-wide):not(.p3-wide){width:calc(100% - 40px);}.case-polished :is(.case-heading,.p2-heading,.p3-heading){margin-bottom:32px;}.case-polished #case-study #background{padding-block:64px;}.case-polished #states .p2-principle{padding-block:36px;}.case-polished #demo .demostat{border-right:0;border-bottom:1px solid #e2d4c7;}.case-polished #demo .demostat:last-child{border-bottom:0;}.case-polished #demo .scenario-story-scene{height:300px;}.case-polished #results .p3-reflection-row{padding-block:28px;}.case-polished #results .p3-heading{margin-bottom:32px;}}
@media(prefers-reduced-motion:reduce){html,body{scroll-behavior:auto!important;}.case-polished *,.case-polished *:before,.case-polished *:after{animation:none!important;transition:none!important;}}

/* Final contrast pass: text within the preserved HTML state examples. */
.case-polished .case-values article>span{color:#815b3b;}
.case-polished .case-map-root small{color:#425d34;}
.case-polished #states .success-copy,.case-polished #states .health-list span{color:#286b45;}
.case-polished #states .confirm-list .add span,.case-polished #states .match-meta span b{color:#98400e;}
.case-polished #states .timer-steps b{color:#286b45;}
.case-polished #states .timer-steps span:nth-child(2) b{color:#98400e;}
.case-polished #states .timer-steps span:nth-child(3) b{color:#68584b;}
.case-polished #demo .demoside button.on{color:#a43b08;}
.case-polished #demo .drow .avatar{background:#fff0e7;color:#8d3c0c;font-size:var(--type-label);min-width:30px;}
.case-polished #demo .scenario-story-scene-copy small{color:#8d310b;font-size:var(--type-label);line-height:1.4;max-width:100%;}
.case-polished #states .success-copy{font-size:var(--type-caption);}
.case-polished #states .confirm-list .add span,.case-polished #states .match-meta span b,.case-polished #states .health-list span{font-size:var(--type-label);}
.case-polished .p2-wire>h3{font-size:var(--type-component-title);}

.case-polished #states .permission-card em{font-size:var(--type-label);font-style:normal;}
.case-polished #states .permission-card em:first-child{background:var(--case-action);}
.case-polished #states .confirm-list div:not(.add)>i{background:#286b45;}
.case-polished #states .confirm-list div.missing>i{background:#a63e1d;}
.case-polished #states .confirm-list em{color:#68584b;font-size:var(--type-label);}
.case-polished #states .confirm-list .add>i,.case-polished #states .timer-steps i{color:#98400e;}
