/* Wider evidence-led layout. Text stays readable; the page no longer stays narrow. */
:root{--paper:#f6f4e9;--ink:#20352c;--muted:#5c665c;--line:#cbd1bd;--green:#2e563d;--wash:#e9eedc;--accent:#ae472b;--yellow:#e6d57a}
body{border-top:6px solid var(--green)}
.wrap{width:calc(100% - clamp(36px,8vw,240px));max-width:none}
.masthead{padding-block:21px}
.brand{font-size:23px;font-weight:750;letter-spacing:-.8px}
.masthead nav a:last-child{background:var(--green);color:var(--paper);padding:9px 16px;border-radius:3px}
.masthead nav{align-items:center}
.hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.65fr);column-gap:7vw;padding-block:45px 38px;align-items:center}
h1{font-size:clamp(40px,4.2vw,72px);grid-column:1}
.hero-deck{max-width:73ch;grid-column:1;margin-bottom:0}
.credit{grid-column:2;grid-row:1 / 3;border-left:2px solid var(--yellow);padding:15px 0 15px 25px;max-width:400px}
.rory-credit{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);font-size:13px}
.rory-credit strong{display:block;font-size:18px;text-decoration:underline;font-weight:650}
.rory-credit img{width:58px;height:58px;border-radius:50%;object-fit:cover;flex-shrink:0}
.credit-note{font-size:11px;display:block;line-height:1.5;margin-top:12px;max-width:34ch}
.section-heading h2{font-size:22px}
.archive-intro{max-width:90ch;font-size:14px}
.archive-tools{grid-template-columns:minmax(0,1fr) 290px;max-width:none}
.archive-tools input,.archive-tools select{background:#fffef8}
.case{padding:26px 0}
.case h3{font-size:22px}
.case-copy{flex:1 1 0%;align-self:center}
.case-top{gap:clamp(24px,3vw,60px);align-items:center}
.case-status{display:inline-block;padding:2px 8px;background:var(--wash);color:#34583d;border-radius:2px;margin-bottom:9px;font-size:12px}
.identity-note{margin-top:2px}
.recovery-note,.case-limits{max-width:64ch}
.capture-preview{display:block;border:0;padding:0;width:clamp(280px,31vw,500px);flex-shrink:0;background:none;color:var(--green);text-align:left;font:inherit;cursor:zoom-in}
.capture-preview img{display:block;width:100%;height:auto;aspect-ratio:1.75;object-fit:contain;object-position:center;background:#e6e9dc;border:1px solid #b7c1a5;border-radius:3px;padding:6px;transition:border-color .15s}
.capture-preview:hover img{border-color:var(--green)}
.capture-preview span{display:block;font-size:12px;margin-top:7px}
.evidence-item{max-width:1100px}
.evidence-item .image-trigger{max-width:920px}
.evidence-item img{max-height:650px}
.guide-layout{display:block}
.signs{background:var(--wash);padding:clamp(24px,3vw,54px);border-top:3px solid var(--green);margin-bottom:35px}
.guide-heading{max-width:900px;margin-bottom:32px}
.guide-heading h2{font-size:clamp(32px,3vw,46px)}
.guide-heading>p{max-width:80ch;font-size:15px}
.pattern{padding:32px 0;border-top:1px solid #bfc9ae;margin:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,120px);align-items:start}
.pattern>div:first-child{max-width:74ch}
.pattern h3{font-size:clamp(24px,2.1vw,32px);max-width:28ch;line-height:1.2;margin-bottom:18px}
.pattern p{font-size:15px;line-height:1.7}
.pattern .check{padding-left:16px;border-left:3px solid #8fa471;margin-top:20px}
.pattern .advice-label{font-size:12px}
.pattern-examples{display:grid;gap:24px;min-width:0}
.example-figure{margin:0;min-width:0}
.image-trigger{display:block;border:0;background:transparent;padding:0;width:100%;text-align:left;cursor:zoom-in;color:var(--green);font:inherit}
.annotated-image{display:block;position:relative;line-height:0;border:1px solid #9fac8c;overflow:hidden;background:#fcfcf6}
.annotated-image img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.annotated-image svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.annotated-image rect{fill:transparent;stroke:#d77530;stroke-width:3}
.enlarge-label{display:block;font-size:12px;margin-block:7px 10px;text-decoration:underline;text-underline-offset:3px}
.example-figure .callout{position:relative;font-size:16px;line-height:1.5;font-weight:650;margin:0 0 8px;padding-left:23px;color:#77351e;max-width:70ch}
.callout::before{content:'↳';position:absolute;left:0;top:-1px;font-size:21px}
.example-figure .example-source{font-size:12px;line-height:1.6;color:#53604f;margin:0 0 4px;max-width:80ch}
.example-figure figcaption>a{font-size:12px}
.pattern:not(.has-examples){display:block}
.pattern:not(.has-examples)>div{max-width:90ch}
.report-grid{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:clamp(40px,6vw,160px)}
.report-intro{max-width:62ch}
.report-intro h2{font-size:clamp(29px,2.5vw,39px);max-width:23ch}
.tip-sheet{max-width:1000px;width:100%}
.footer-bottom{flex-wrap:wrap;align-items:center;font-size:12px}
.footer-bottom strong{color:var(--green)}
#policy-content{display:flex;flex-wrap:wrap;align-items:start;gap:12px 30px}
#policy-content .policy-document{margin:0;font-size:13px}
#policy-content .policy-document[open]{flex-basis:100%;padding-bottom:20px;font-size:14px}
.policy-state,.form-privacy{font-size:12px;color:var(--muted)}
.policy-state{background:var(--wash);padding:10px 12px}
.form-privacy{margin-top:20px}
.policy-links{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:13px}
.policy-links a{font-size:13px}
.policy-document{font-size:14px;max-width:95ch;scroll-margin-top:30px;margin:20px 0}
.policy-document summary{color:var(--green);cursor:pointer;font-weight:600}
.policy-document h3{font-size:17px;margin-top:20px}
.policy-document p{margin-top:12px}
body.viewer-open{overflow:hidden}
#image-viewer{padding:0;border:1px solid #596858;border-radius:5px;width:min(1440px,94vw);max-width:94vw;max-height:92dvh;color:var(--ink);background:#f7f6ef;box-shadow:0 20px 70px #101c1950}
#image-viewer::backdrop{background:#0b1717dc}
.viewer-shell{display:flex;flex-direction:column;max-height:90dvh}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border-bottom:1px solid var(--line);flex-shrink:0}
.viewer-toolbar h2{font:600 16px/1.4 Archivo,sans-serif;letter-spacing:0;margin:0;overflow-wrap:anywhere}
.viewer-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex-shrink:0}
.viewer-controls button{border:1px solid #aeb89f;padding:9px 13px;min-height:42px;border-radius:3px;background:#e9eddc;font-size:13px}
.viewer-controls #viewer-close{background:var(--green);color:var(--paper);border-color:var(--green)}
#viewer-stage{min-height:80px;overflow:auto;overscroll-behavior:contain;background:#dce1d4;flex:1;padding:16px;scrollbar-gutter:stable}
#viewer-image{display:block;margin:auto;max-width:100%;height:auto;background:#fff}
#viewer-stage[data-zoom=true] #viewer-image{max-width:none;margin:0}
#viewer-caption{flex-shrink:0;font-size:12px;line-height:1.55;margin:0;padding:12px 20px;overflow-wrap:anywhere;max-height:20dvh;overflow:auto}
#viewer-error{padding:30px;max-width:60ch}
/* Keep the watchlist in one continuous column, including ultrawide screens. */
#cases{display:block}
@media(max-width:1000px){
 .hero{column-gap:35px;grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr)}
 .credit{padding-left:18px}
 .rory-credit{align-items:start;gap:10px}
 .rory-credit strong{font-size:16px}
 .capture-preview{width:32vw;min-width:240px}
 .pattern{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}
 .signs{padding-inline:25px}
 .report-grid{gap:40px;grid-template-columns:minmax(230px,.65fr) minmax(0,1fr)}
}
@media(max-width:700px){
 .wrap{width:calc(100% - 36px)}
 .masthead{display:block;padding-block:17px}
 .masthead nav{margin-top:14px;justify-content:space-between}
 .masthead nav a:last-child{padding:6px 12px}
 .hero{display:block;padding-block:28px}
 h1{font-size:clamp(39px,8.6vw,53px);max-width:none}
 .hero-deck{font-size:16px}
 .credit{padding:15px 0 0;margin-top:20px;border:0;max-width:none}
 .rory-credit img{width:44px;height:44px}
 .rory-credit{align-items:center;font-size:12px}
 .rory-credit strong{font-size:15px;display:inline}
 .credit-note{font-size:10px;max-width:none;margin-top:9px}
 .case-top{display:flex;flex-direction:column;gap:16px;align-items:stretch}
 .case-copy{flex:auto;align-self:stretch}
 .case h3{font-size:20px}
 .capture-preview{width:100%;min-width:0;max-width:none}
 .capture-preview img{height:auto;aspect-ratio:1.65;padding:5px}
 .archive-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
 .archive-intro{font-size:12px}
 .signs{padding:27px 18px;margin-inline:0;width:100%;border-top-width:3px}
 .guide-heading{margin-bottom:20px}
 .guide-heading>p{font-size:14px}
 .pattern{display:flex;flex-direction:column;gap:20px;padding-block:26px}
 .pattern-examples{width:100%}
 .pattern h3{font-size:27px;max-width:none}
 .pattern p{font-size:14px}
 .example-figure .callout{font-size:15px}
 .example-figure .example-source{font-size:11px}
 .report-grid{display:block}
 .viewer-toolbar{display:block;padding:12px}
 .viewer-toolbar h2{font-size:14px;margin-bottom:10px}
 .viewer-controls{justify-content:flex-start;gap:6px}
 .viewer-controls button{font-size:12px;padding:8px 10px}
 #viewer-stage{padding:8px}
 #viewer-caption{padding:10px 12px;font-size:11px;max-height:22dvh}
 #image-viewer{max-height:96dvh;width:96vw;max-width:96vw}
 .viewer-shell{max-height:94dvh}
 .footer-bottom{gap:15px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.capture-preview img{transition:none}}
