/* AI concept covers and attributed external evidence remain visibly distinct. */
.map-layout{grid-template-columns:minmax(0,1fr);gap:24px}
.ranch-map{aspect-ratio:3/2;border-radius:18px;overflow:hidden;background:#d4ddc7;box-shadow:0 12px 40px #253e2515;margin-bottom:18px}
.ranch-plan-image{display:block;width:100%;height:100%;object-fit:cover}
.plan-badge{position:absolute;left:18px;bottom:18px;color:#fffdf0;background:#183628d9;border:1px solid #fff8;border-radius:6px;padding:5px 11px;font-size:9px;letter-spacing:.07em;pointer-events:none}
.map-hotspot{padding:0;min-width:44px;min-height:44px;width:44px;height:44px;border-radius:50%;border:1px solid #fff9;background:#fffdf2eF;box-shadow:0 0 0 6px #fff3,0 4px 14px #142b2140;color:#244834;z-index:2;font-size:12px}
.map-hotspot[aria-pressed=true]{box-shadow:0 0 0 6px #e3e8ca70,0 4px 16px #132b2560;border:1px solid #fff9}
.map-pin-label{position:absolute;left:50%;top:calc(100% + 11px);transform:translateX(-50%);background:#183628ed;color:#fffdf0;padding:6px 10px;border-radius:5px;opacity:0;pointer-events:none;transition:opacity .2s;font-size:10px;letter-spacing:0;white-space:nowrap}
.map-hotspot:hover .map-pin-label,.map-hotspot:focus-visible .map-pin-label{opacity:1}
.map-legend{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.map-legend-button{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--ink);background:#fffdf5;border:1px solid var(--line);border-radius:25px;padding:7px 12px;min-height:38px}
.map-legend-button b{font-size:9px;border-radius:50%;width:20px;height:20px;display:grid;place-items:center;background:#e8e9d7;color:#45614a;font-weight:500}
.map-legend-button[aria-pressed=true]{border-color:var(--forest);color:white;background:var(--forest)}
.area-panel{display:grid;grid-template-columns:1fr 2fr;gap:0 30px;min-height:0;border-radius:12px;padding:27px}
.area-panel .eyebrow{grid-column:1;margin-bottom:12px}.area-panel h3{grid-column:1;margin:0;align-self:start}
#area-scenes{grid-column:2;grid-row:1/3;display:flex;gap:28px}.area-scene{flex:1;min-width:0}.area-scene h4{margin:0 0 9px}.area-scene p{font-size:13px}
.references-heading{margin-top:55px;max-width:860px}.references-heading h3{font:31px/1.25 Georgia,'Songti SC',serif}.references-heading>p{font-size:13px;margin-bottom:12px;color:var(--muted)}
.life-cards{gap:25px;margin-top:30px;align-items:start}
.life-card{border-radius:14px;background:#fffef8;box-shadow:0 8px 24px #203b2207;border-color:#d7decc}
.life-card>summary{display:block;padding:0;min-height:0}.life-card>summary:after{content:none!important}
.scene-visual{position:relative;aspect-ratio:3/2;overflow:hidden;background:#dae1d2}.scene-visual img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.scene-image-label{position:absolute;bottom:12px;left:12px;background:#173728c9;color:#fffdf1;border:1px solid #ffffff30;border-radius:18px;font-size:8px;letter-spacing:.02em;padding:4px 9px;backdrop-filter:blur(7px)}
.scene-heading{padding:23px}.scene-title-row{display:flex;gap:11px;align-items:baseline}.scene-title-row h3{font-size:21px!important;letter-spacing:-.025em;font-weight:500;flex:1}.scene-number{font-size:12px;flex-shrink:0}.scene-plus{font-size:22px;line-height:1;color:#62775b;font-weight:300}
.life-card[open] .scene-plus{font-size:0}.life-card[open] .scene-plus:after{content:'−';font-size:22px}
.life-card>summary small{font-size:9px;margin:12px 0 17px;line-height:1.5}
.case-kind{display:inline-block;border:1px solid #cdd8be;background:#edf2e4;color:#426047;border-radius:4px;padding:3px 7px;font-size:9px;font-weight:500;letter-spacing:.02em}
.case-kind.product{background:#f2eddd;border-color:#ded8c5;color:#76694a}
.case-preview{font-size:12px;line-height:1.5;margin:9px 0 0;color:#66705c}
.external-reference{padding:0 0 22px;margin-bottom:27px;border-bottom:1px solid var(--line)}
.external-reference .eyebrow{font-size:9px;margin-bottom:13px}.external-reference h4{font-size:18px;line-height:1.4;margin:0 0 7px;font-weight:500}.case-setting{display:block;font-size:10px;color:#738465;margin:0 0 13px}
.external-reference>p:not(.eyebrow){font-size:13px;line-height:1.8;margin-bottom:18px}
.case-sources{display:flex;flex-direction:column;align-items:start;gap:10px}.case-sources a{font-size:11px;line-height:1.7;overflow-wrap:anywhere}
.source-date{display:block;font-size:9px;color:#8a927c;margin-top:13px}
.case-fit{background:#edf0e3;border-left:2px solid #9fae87;padding:14px 16px;margin-top:20px}.case-fit b{font-size:10px;font-weight:500}.case-fit p{font-size:12px;line-height:1.8;margin:7px 0 0}
.source-photo{margin:18px 0 22px}.source-photo img{display:block;max-width:100%;width:100%;height:auto;border-radius:6px}.source-photo figcaption{font-size:9px;line-height:1.65;color:#7a836e;margin-top:8px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.life-card>summary:hover .scene-visual img{transform:scale(1.035)}}
@media(max-width:1100px){.life-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.area-panel{grid-template-columns:1fr 2fr}}
@media(max-width:760px){.ranch-map{aspect-ratio:3/2;border-radius:12px}.map-hotspot{width:44px;height:44px;min-width:44px;min-height:44px;font-size:11px;box-shadow:0 0 0 3px #ffffff40}.map-hotspot[aria-pressed=true]{box-shadow:0 0 0 3px #e3e8ca80}.plan-badge{left:10px;bottom:10px;font-size:8px;padding:4px 7px}.map-pin-label{display:none}.map-legend{gap:7px}.map-legend-button{min-height:44px;font-size:10px;padding:6px 10px}.area-panel{display:block;padding:22px}.area-panel h3{margin-bottom:20px}#area-scenes{display:block}.area-scene+.area-scene{margin-top:25px}.references-heading{margin-top:38px}.references-heading h3{font-size:28px}.references-heading>p{font-size:12px}.life-cards{grid-template-columns:1fr;gap:24px;margin-top:25px}.scene-heading{padding:22px}.scene-title-row h3{font-size:24px!important}.scene-image-label{font-size:9px}.scene-body{padding:22px}.external-reference h4{font-size:20px}.external-reference>p:not(.eyebrow){font-size:14px}.case-fit p{font-size:13px}.map-layout>div>h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.scene-visual img,.map-pin-label{transition:none}}
