

.page-head{padding-top:var(--sect-hero)}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font:400 13.5px/1.4 var(--f-body);color:var(--muted)}
.crumbs a{color:var(--muted);transition:color var(--t-color)}
.crumbs a:hover{color:var(--ink)}
.crumbs span[aria-hidden]{opacity:.5}
.page-title{margin-top:var(--sp-4);font:500 clamp(28px,3.6vw,46px)/1.12 var(--f-display);letter-spacing:-.015em;color:var(--deep, var(--ink));max-width:22ch;text-wrap:balance}
.page-title em{font-style:normal;color:var(--sage, var(--accent-deep))}
.page-lead{margin-top:var(--sp-4);font:400 clamp(17px,1.6vw,19px)/1.6 var(--f-body);color:var(--ink-72);max-width:60ch}
.meta-row{margin-top:var(--sp-4);display:flex;flex-wrap:wrap;gap:8px 18px;font:500 13px/1.4 var(--f-body);color:var(--muted)}
.tag{display:inline-block;padding:5px 10px;border-radius:var(--r-sm);background:var(--accent-soft);font:600 11.5px/1.2 var(--f-body);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}

.prose{margin-top:var(--block);max-width:720px;font:400 17.5px/1.7 var(--f-body);color:var(--ink-72)}
.prose > * + *{margin-top:1.1em}
.prose h2{margin-top:2em;font:500 clamp(22px,2.4vw,28px)/1.25 var(--f-display);letter-spacing:-.01em;color:var(--ink)}
.prose h3{margin-top:1.8em;font:500 clamp(18px,1.8vw,21px)/1.3 var(--f-display);color:var(--ink)}
.prose h2 + *, .prose h3 + *{margin-top:.7em}
.prose strong{color:var(--ink);font-weight:600}
.prose em{font-style:italic}
.prose a{color:var(--accent-deep);border-bottom:1.5px solid var(--link-line)}
.prose code{font:500 .92em/1 "IBM Plex Mono",ui-monospace,monospace;background:var(--panel);padding:2px 5px;border-radius:4px}
.prose ul,.prose ol{padding-left:0;list-style:none;display:grid;gap:10px}
.prose ul li{position:relative;padding-left:22px}
.prose ul li::before{content:"";position:absolute;left:2px;top:.68em;width:7px;height:7px;border-radius:var(--r-xs);background:var(--accent)}
.prose blockquote{margin-top:1.6em;padding:22px 26px;border-radius:var(--r-lg);background:var(--panel);font:500 clamp(18px,1.9vw,22px)/1.45 var(--f-display);color:var(--ink)}
.prose blockquote footer{margin-top:12px;font:500 13px/1.4 var(--f-body);color:var(--muted)}
.prose .pull{margin:1.8em 0;padding-left:22px;border-left:3px solid var(--accent);font:500 clamp(19px,2vw,24px)/1.4 var(--f-display);color:var(--ink)}
.prose .lede{font-size:clamp(18px,1.8vw,20px);color:var(--ink)}
.byline{margin-top:var(--sp-3);font:500 14px/1.4 var(--f-body);color:var(--muted)}

.data{margin-top:1.6em}
.data figcaption{margin-bottom:10px;font:600 12px/1.3 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.data__scroll{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--ink-10)}
.data table{width:100%;border-collapse:collapse;font:400 15px/1.45 var(--f-body)}
.data th,.data td{padding:12px 16px;text-align:left;vertical-align:top;border-top:1px solid var(--ink-07)}
.data tr:first-child th,.data tr:first-child td{border-top:0}
.data th{font-weight:600;color:var(--ink);width:42%}
.data td{color:var(--ink-72)}

.idx-list{margin-top:var(--block);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.idx-card{display:flex;flex-direction:column;gap:12px;padding:clamp(22px,2.6vw,30px);border-radius:var(--r-lg);background:var(--white);border:1px solid var(--ink-07);transition:transform var(--t-card) var(--ease),box-shadow var(--t-card) var(--ease)}
.idx-card:hover{transform:translateY(var(--lift-md));box-shadow:var(--shadow-card)}
.idx-card .meta-row{margin-top:0}
.idx-card h2{font:500 clamp(19px,1.8vw,22px)/1.3 var(--f-display);letter-spacing:-.005em;color:var(--ink)}
.idx-card h2 em{font-style:normal;color:var(--sage, var(--accent-deep))}
.idx-card p{font:400 15.5px/1.55 var(--f-body);color:var(--ink-60)}
.idx-card .more{margin-top:auto;padding-top:6px;font:600 13.5px/1 var(--f-body);color:var(--accent-deep)}
@media(max-width:760px){.idx-list{grid-template-columns:1fr}}

.related{margin-top:var(--sect)}
.related .idx-list{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.related .idx-list{grid-template-columns:1fr}}

.numbered{margin-top:var(--block);display:grid;gap:clamp(18px,2vw,24px)}
.num-sect{padding:clamp(24px,3vw,40px);border-radius:var(--r-lg);background:var(--white);border:1px solid var(--ink-07)}
.num-sect > .num{display:block;font:600 12px/1 var(--f-body);letter-spacing:.08em;color:var(--accent-deep)}
.num-sect h2{margin-top:12px;font:500 clamp(21px,2.3vw,28px)/1.25 var(--f-display);letter-spacing:-.01em;color:var(--ink);max-width:30ch}
.num-sect h2 em{font-style:normal;color:var(--sage, var(--accent-deep))}
.num-sect > p{margin-top:14px;font:400 16.5px/1.65 var(--f-body);color:var(--ink-72);max-width:68ch}
.num-sect .grid2{margin-top:var(--sp-4);display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,40px)}
.num-sect h3{font:600 12px/1.3 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.num-sect ul{margin-top:12px;list-style:none;display:grid;gap:9px}
.num-sect li{position:relative;padding-left:18px;font:400 15.5px/1.5 var(--f-body);color:var(--ink-72)}
.num-sect li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:var(--r-xs);background:var(--accent)}
.num-sect .metarow{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--ink-07);display:flex;flex-wrap:wrap;gap:10px 28px;font:400 14px/1.4 var(--f-body);color:var(--ink-72)}
.num-sect .metarow b{display:block;margin-bottom:4px;font:600 11.5px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
@media(max-width:760px){.num-sect .grid2{grid-template-columns:1fr}}

.crit{margin-top:var(--sp-4);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.crit .card{padding:22px;border-radius:var(--r-lg);background:var(--accent-soft)}
.crit .card .num{font:600 12px/1 var(--f-body);letter-spacing:.08em;color:var(--accent-deep)}
.crit .card b{display:block;margin-top:10px;font:500 17px/1.3 var(--f-display);color:var(--ink)}
.crit .card p{margin-top:8px;font:400 15px/1.55 var(--f-body);color:var(--ink-72)}
@media(max-width:860px){.crit{grid-template-columns:1fr}}
.sub-h{margin-top:var(--block);font:500 clamp(21px,2.3vw,28px)/1.25 var(--f-display);color:var(--ink)}

.faq{margin-top:var(--block);max-width:860px;display:grid;gap:12px}
.qa{border-radius:var(--r-lg);background:var(--white);border:1px solid var(--ink-07)}
.qa summary{list-style:none;cursor:pointer;display:flex;gap:16px;align-items:baseline;padding:20px 24px;font:500 clamp(17px,1.7vw,19px)/1.4 var(--f-display);color:var(--ink)}
.qa summary::-webkit-details-marker{display:none}
.qa summary .num{flex:none;font:600 12px/1 var(--f-body);letter-spacing:.08em;color:var(--accent-deep)}
.qa summary::after{content:"";flex:none;margin-left:auto;width:10px;height:10px;border-right:2px solid var(--ink-45);border-bottom:2px solid var(--ink-45);transform:rotate(45deg) translateY(-3px);transition:transform var(--t-color)}
.qa[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.qa .qa-a{padding:0 24px 22px 52px;font:400 16px/1.65 var(--f-body);color:var(--ink-72)}
.qa .qa-a p + p{margin-top:.8em}
.qa .qa-a a{color:var(--accent-deep);border-bottom:1.5px solid var(--link-line)}
@media(max-width:600px){.qa summary{padding:18px}.qa .qa-a{padding:0 18px 18px}}

.legal h2{font-size:clamp(19px,2vw,23px)}
.legal table{width:100%;border-collapse:collapse;font-size:15px}
.legal td,.legal th{padding:8px 10px;border-top:1px solid var(--ink-07);text-align:left;vertical-align:top}

.cta-band{margin-top:var(--sect);padding:clamp(28px,4vw,52px);border-radius:var(--r-lg);background:var(--dark);color:var(--dark-text);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.cta-band h2{font:500 clamp(22px,2.6vw,32px)/1.2 var(--f-display);letter-spacing:-.01em;color:#fff;max-width:22ch}
.cta-band p{margin-top:10px;font:400 16px/1.55 var(--f-body);color:var(--dark-muted);max-width:52ch}
.cta-band .btn.primary{background:var(--beige, var(--accent));color:var(--deep, var(--ink))}

.case-grid{margin-top:var(--block);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,28px)}
.case-card{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:var(--white);border:1px solid var(--ink-07);transition:transform var(--t-card) var(--ease),box-shadow var(--t-card) var(--ease)}
.case-card:hover{transform:translateY(var(--lift-md));box-shadow:var(--shadow-card)}
.case-vis{position:relative;aspect-ratio:16/9;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:clamp(20px,2.4vw,28px);background:var(--dark) center/cover no-repeat;color:#fff}
.case-vis::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,24,20,.15),rgba(15,24,20,.78))}
.case-vis.nophoto::before{background:radial-gradient(circle at 85% 15%,rgba(201,183,154,.28),transparent 55%)}
.case-vis>*{position:relative}
.case-vis .tag{position:absolute;top:clamp(18px,2.2vw,24px);left:clamp(20px,2.4vw,28px);background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(6px)}
.case-vis b{font:500 clamp(34px,4vw,54px)/1 var(--f-display);letter-spacing:-.02em;color:var(--beige, #fff)}
.case-vis span.kl{font:400 15px/1.4 var(--f-body);color:rgba(255,255,255,.86);max-width:36ch}
.case-body{display:flex;flex-direction:column;gap:10px;flex:1;padding:clamp(20px,2.4vw,28px)}
.case-body h2{font:500 clamp(18px,1.7vw,21px)/1.32 var(--f-display);color:var(--ink)}
.case-body h2 em{font-style:normal;color:var(--sage, var(--accent-deep))}
.case-body p{font:400 15px/1.55 var(--f-body);color:var(--ink-60)}
.case-body .more{margin-top:auto;padding-top:8px;font:600 13.5px/1 var(--f-body);color:var(--accent-deep)}
.case-card.wide{grid-column:1 / -1;flex-direction:row}
.case-card.wide .case-vis{flex:0 0 55%;aspect-ratio:auto;min-height:340px}
@media(max-width:820px){.case-grid{grid-template-columns:1fr}.case-card.wide{flex-direction:column}.case-card.wide .case-vis{flex:none;aspect-ratio:16/10;min-height:0}}

.case-stats{margin-top:var(--block);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(14px,2vw,28px);padding:clamp(22px,2.6vw,32px) 0;border-top:1px solid var(--ink-10);border-bottom:1px solid var(--ink-10)}
.case-stats b{display:block;font:500 clamp(24px,2.6vw,34px)/1.05 var(--f-display);letter-spacing:-.01em;color:var(--deep, var(--accent-deep))}
.case-stats span{display:block;margin-top:8px;font:400 13.5px/1.45 var(--f-body);color:var(--ink-60)}
@media(max-width:900px){.case-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

.case-hero{margin-top:var(--block);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);border-radius:var(--r-lg);overflow:hidden;background:var(--dark);color:var(--dark-text)}
.case-hero .kv{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:clamp(26px,4vw,52px)}
.case-hero .kv b{font:500 clamp(46px,6vw,84px)/1 var(--f-display);letter-spacing:-.03em;color:var(--beige, var(--accent))}
.case-hero .kv span{font:400 clamp(16px,1.6vw,19px)/1.45 var(--f-body);color:var(--dark-text);max-width:30ch}
.case-hero .ph{min-height:320px;background:var(--dark-deep) center/cover no-repeat}
.case-hero.nophoto{grid-template-columns:1fr}
.case-hero.nophoto .kv{position:relative;min-height:240px}
.case-hero.nophoto .kv::after{content:"";position:absolute;right:-80px;top:-80px;width:360px;height:360px;border-radius:50%;background:radial-gradient(closest-side,rgba(201,183,154,.22),transparent);pointer-events:none}
@media(max-width:820px){.case-hero{grid-template-columns:1fr}.case-hero .ph{min-height:220px;order:-1}}

.case-facts{margin-top:var(--sp-4);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.case-facts div{padding:16px 18px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--ink-07)}
.case-facts small{display:block;font:600 11px/1.2 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.case-facts span{display:block;margin-top:6px;font:500 15px/1.35 var(--f-body);color:var(--ink)}
@media(max-width:820px){.case-facts{grid-template-columns:1fr 1fr}}

.case-sect{margin-top:var(--block);display:grid;grid-template-columns:minmax(0,.32fr) minmax(0,1fr);gap:clamp(18px,4vw,56px)}
.case-sect > h2{font:500 clamp(20px,2.1vw,26px)/1.25 var(--f-display);color:var(--ink)}
.case-sect .prose{margin-top:0}
@media(max-width:820px){.case-sect{grid-template-columns:1fr}}
.steps-list{list-style:none;counter-reset:st;display:grid;gap:12px;max-width:720px}
.steps-list li{counter-increment:st;position:relative;padding:16px 18px 16px 58px;border-radius:var(--r-lg);background:var(--white);border:1px solid var(--ink-07);font:400 16px/1.55 var(--f-body);color:var(--ink-72)}
.steps-list li::before{content:counter(st,decimal-leading-zero);position:absolute;left:18px;top:16px;font:600 13px/1.55 var(--f-body);letter-spacing:.06em;color:var(--accent-deep)}
.res-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.res-grid div{padding:20px 22px;border-radius:var(--r-lg);background:var(--accent-soft)}
.res-grid small{display:block;font:600 11.5px/1.3 var(--f-body);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.res-grid span{display:block;margin-top:8px;font:500 clamp(17px,1.7vw,20px)/1.35 var(--f-display);color:var(--ink)}
.res-grid em{font-style:normal;color:var(--deep, var(--accent-deep));font-weight:600}
@media(max-width:600px){.res-grid{grid-template-columns:1fr}}
.case-quote{margin-top:var(--block);padding:clamp(28px,4vw,52px);border-radius:var(--r-lg);background:var(--panel)}
.case-quote p{font:500 clamp(21px,2.5vw,32px)/1.35 var(--f-display);letter-spacing:-.01em;color:var(--ink);max-width:36ch}
.case-quote small{display:block;margin-top:16px;font:600 12px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.case-tags{margin-top:var(--sp-4);display:flex;flex-wrap:wrap;gap:8px}
.more-cases{margin-top:var(--sect)}

.lang{display:inline-flex;align-items:center;gap:2px;margin-right:6px;font:500 13px/1 var(--f-body)}
.lang a{padding:7px 8px;border-radius:8px;color:var(--ink-60);transition:color .2s,background .2s}
.lang a:hover{color:var(--ink)}
.lang a[aria-current]{color:var(--ink);background:rgba(45,58,54,.08)}
.m-menu .lang{margin:14px 0 0}
.foot .lang{margin:0 0 0 12px}
.foot .lang a{color:rgba(234,230,223,.6)}
.foot .lang a[aria-current]{color:#fff;background:rgba(255,255,255,.1)}
@media(max-width:900px){.top-cta .lang{display:none}}

