/* Host UI only. No selectors affect hero, gallery, routes, forms or menu. */
.case-anatomy{padding:90px 6vw;background:#0b0b0c;color:#f0eee8;overflow-anchor:none;scroll-margin-top:80px}
.case-anatomy [hidden]{display:none!important}
.case-anatomy .anatomy-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:22px 60px;margin-bottom:42px}
.case-anatomy .anatomy-heading>.label{grid-column:1/-1;color:#b7b5af}
.case-anatomy h2{font-size:clamp(34px,4.8vw,70px);line-height:1.1;font-weight:500;letter-spacing:-.025em;margin:0}
.case-anatomy h2 span{color:#a8a69f}
.case-anatomy .anatomy-heading>p:last-child{font-size:17px;line-height:1.7;max-width:510px;align-self:end;color:#b7b5af;margin:0}
.case-anatomy .anatomy-entry{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:6vw;align-items:center;border-block:1px solid #363637;padding-block:30px}
.case-anatomy .anatomy-entry img{width:100%;height:auto;max-height:500px;object-fit:contain}
.case-anatomy h3{font-size:clamp(24px,2.5vw,36px);font-weight:450;line-height:1.1;letter-spacing:-.02em;margin:0 0 24px}
.case-anatomy p{font-size:15px;line-height:1.7}
.case-anatomy .anatomy-entry p{color:#b7b5af}
.case-anatomy button{font:inherit;cursor:pointer;min-height:48px;border-radius:0;padding:12px 18px;scroll-margin-top:100px}
.case-anatomy .anatomy-open{background:#f04a23;border:1px solid #f04a23;color:#0b0b0c;font-weight:600;margin-top:14px}
.case-anatomy .anatomy-open:hover{background:#ff8c70;border-color:#ff8c70}
.case-anatomy :focus-visible{outline:2px solid #ff8c70;outline-offset:5px}
.case-anatomy .anatomy-note,.case-anatomy .anatomy-source{font-size:12px;line-height:1.7;color:#b7b5af}
.case-anatomy .anatomy-live{scroll-margin-top:95px}
.case-anatomy .anatomy-live-heading{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:20px}
.case-anatomy .anatomy-live-heading p{font-size:11px;letter-spacing:.1em;color:#b7b5af}
.case-anatomy .anatomy-close{background:transparent;color:inherit;border:1px solid #747474;font-size:13px;flex-shrink:0}
.case-anatomy .anatomy-close:hover{background:#262627}
.case-anatomy .anatomy-status:empty{display:none}
.case-anatomy .anatomy-reading{border-bottom:1px solid #363637;margin-block:24px}
.case-anatomy summary{cursor:pointer;padding:18px 0;min-height:48px;font-size:14px}
.case-anatomy .anatomy-reading-content{padding-bottom:30px;max-width:900px}
.case-anatomy .anatomy-reading-content h3{font-size:26px;margin:28px 0 12px}
.case-anatomy .anatomy-reading-content details{border-top:1px solid #363637}
.case-anatomy .anatomy-reading-content p,.case-anatomy .anatomy-reading-content li{font-size:14px;line-height:1.7;color:#b7b5af}
.case-anatomy .anatomy-reading-content a{display:inline-block;min-height:44px;padding:12px 0}
.case-anatomy .anatomy-source{max-width:920px;margin:24px 0}
.case-anatomy a{text-underline-offset:5px}
.case-anatomy .anatomy-return{display:inline-block;font-size:14px;padding:14px 0;min-height:48px}
@media(max-width:760px){.case-anatomy{padding:56px 5vw}.case-anatomy .anatomy-heading,.case-anatomy .anatomy-entry{grid-template-columns:minmax(0,1fr);gap:24px}.case-anatomy .anatomy-heading>p:last-child{font-size:15px}.case-anatomy .anatomy-entry>div{grid-row:1}.case-anatomy .anatomy-entry img{max-height:330px}.case-anatomy .anatomy-live-heading{gap:12px}.case-anatomy .anatomy-close{padding:10px;font-size:12px}.case-anatomy .anatomy-live-heading p{font-size:9px}}

.anatomy-cancel{padding:12px 16px;margin-bottom:12px;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;cursor:pointer}.case-anatomy [hidden]{display:none!important}
/* Contrast remediation only; retain the approved geometry and dark palette. */
.intro .label,
.contact .label,
.route-reading .label,
.content-band:not(.dark) .label,
.content-band:not(.dark) .number,
.content-band:not(.dark) .plain-list > li > b,
.content-band:not(.dark) .service-card > a,
.content-band:not(.dark) .compact-service-row:is(:hover,:focus-visible){color:#bd371b}
.intro h2 .dim{color:#817b72}
.content-band:not(.dark) a:focus-visible{outline:2px solid #bd371b;outline-offset:4px}

/* Reference index only. No global typography, hero or model changes. */
.reference-index{--ref-muted:#c6c1b9;--ref-border:#44413d;background:var(--charcoal,#101010);color:var(--paper,#f0ece4);padding-inline:clamp(1rem,7vw,8rem)}
.reference-index *{box-sizing:border-box}
.reference-index a:focus-visible{outline:2px solid #ff9a70;outline-offset:5px}
.reference-index .ref-intro{padding:8.25rem 0 2.5rem;min-height:0}
.reference-index .ref-crumbs{display:flex;align-items:center;gap:.8rem;font-size:.75rem;color:var(--ref-muted);margin-bottom:2rem}
.reference-index .ref-crumbs a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-underline-offset:5px}
.reference-index .ref-intro-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:end}
.reference-index .ref-eyebrow,.reference-index .ref-category{margin:0;font-size:.72rem;line-height:1.6;letter-spacing:.12em;text-transform:uppercase;color:var(--ref-muted)}
.reference-index .ref-intro h1{margin:.75rem 0 0;font-size:clamp(2.3rem,4.5vw,4.4rem);font-weight:800;line-height:1.1;letter-spacing:-.025em;max-width:none}
.reference-index .ref-intro h1 em{font-style:normal;color:var(--ember,#ff6b3a)}
.reference-index .ref-intro-grid>p{max-width:42ch;margin:0 0 .25rem;line-height:1.65;font-size:1.05rem;color:var(--ref-muted)}
.reference-index .ref-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 2.5rem;padding:0;background:none}
.reference-index .ref-project{display:flex;flex-direction:column;min-width:0;min-height:0;border-top:1px solid var(--ref-border);padding:1.25rem 0 0;scroll-margin-top:100px}
.reference-index .ref-preview{display:block;min-width:0;color:var(--ref-muted);text-decoration:none;background:#20201f;border:1px solid var(--ref-border);padding:0;margin:0}
.reference-index .ref-domain{display:flex;justify-content:space-between;gap:.5rem;padding:.65rem .9rem;font-size:.72rem;line-height:1.5;letter-spacing:.04em}
.reference-index .ref-preview img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center;filter:none;transform:none;transition:none;margin:0;border:0;max-width:100%}
.reference-index .ref-preview:hover,.reference-index .ref-preview:focus-visible{border-color:var(--ember,#ff6b3a)}
.reference-index .ref-copy{display:flex;flex-direction:column;flex:1;padding:1.5rem 0 0;min-width:0}
.reference-index .ref-category span{color:var(--ember,#ff6b3a)}
.reference-index .ref-copy h2{margin:.65rem 0 .85rem;font-size:clamp(1.7rem,2.4vw,2.5rem);line-height:1.1;letter-spacing:-.02em;font-weight:750;overflow-wrap:anywhere;color:var(--paper,#f0ece4)}
.reference-index .ref-description{margin:0 0 1.35rem;max-width:54ch;font-size:1rem;line-height:1.65;color:var(--ref-muted)}
.reference-index .ref-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem 1.5rem;margin-top:auto}
.reference-index .ref-actions a{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;font-size:.83rem;font-weight:700;line-height:1.4;text-decoration:none;padding:.5rem 0;border-bottom:1px solid transparent}
.reference-index .ref-case-link{color:var(--ember,#ff6b3a)}
.reference-index .ref-model-link{color:var(--paper,#f0ece4)}
.reference-index .ref-actions a:hover{text-decoration:underline;text-underline-offset:5px}
.reference-index .ref-project-featured{grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:center}
.reference-index .ref-project-featured .ref-copy{padding:1rem 0}
.reference-index .ref-project-featured h2{font-size:clamp(2rem,3vw,3rem)}
.reference-index .ref-project-featured .ref-actions{margin-top:.25rem}
.reference-index .ref-index-note{display:flex;justify-content:space-between;gap:1rem 3rem;border-top:1px solid var(--ref-border);margin-top:3rem;padding:1.25rem 0 2.75rem}
.reference-index .ref-index-note p{margin:0;color:var(--ref-muted);font-size:.78rem;line-height:1.6;max-width:52ch}
.reference-index .ref-followup{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;border-top:1px solid var(--ref-border);padding:3rem 0 4rem}
.reference-index .ref-followup h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.1;letter-spacing:-.025em;margin:.9rem 0}
.reference-index .ref-followup h2 span{color:var(--ember,#ff6b3a)}
.reference-index .ref-followup a{display:inline-flex;align-items:center;min-height:44px;color:var(--ember,#ff6b3a);font-weight:700;text-underline-offset:6px}
.reference-index .ref-method{max-width:40ch;align-self:center}
.reference-index .ref-method h3{font-size:1.35rem;line-height:1.3;margin:.7rem 0;letter-spacing:-.01em}
.reference-index .ref-method>p:not(.ref-eyebrow){color:var(--ref-muted);font-size:.95rem;line-height:1.6}
@media(max-width:1000px){
 .reference-index .ref-intro-grid{grid-template-columns:1fr;gap:1.25rem}
 .reference-index .ref-intro-grid>p{max-width:65ch}
 .reference-index .ref-project-featured{gap:2rem;grid-template-columns:1.2fr 1fr}
 .reference-index .ref-collection{gap:2.5rem 1.5rem}
}
@media(max-width:700px){
 .reference-index{padding-inline:1rem}
 .reference-index .ref-intro{padding:6.5rem 0 1.6rem}
 .reference-index .ref-crumbs{margin-bottom:.85rem}
 .reference-index .ref-intro h1{font-size:clamp(1.8rem,7.9vw,3.2rem);line-height:1.1;letter-spacing:-.025em}
 .reference-index .ref-intro-grid{gap:1rem}
 .reference-index .ref-intro-grid>p{font-size:.95rem;line-height:1.6}
 .reference-index .ref-collection{grid-template-columns:1fr;gap:2rem}
 .reference-index .ref-project-featured{display:flex;gap:0}
 .reference-index .ref-copy,.reference-index .ref-project-featured .ref-copy{padding:1.1rem 0 0}
 .reference-index .ref-copy h2,.reference-index .ref-project-featured h2{font-size:1.85rem}
 .reference-index .ref-actions{gap:.35rem 1rem}
 .reference-index .ref-description{margin-bottom:.75rem}
 .reference-index .ref-index-note{flex-direction:column;padding-bottom:2rem}
 .reference-index .ref-followup{grid-template-columns:1fr;gap:2.5rem;padding:2.5rem 0 3rem}
}
