/* Plain case template. One normal-flow layout path with native scrolling. */
:root{--cp-gutter:clamp(20px,4vw,56px);--cp-container:min(1200px,100% - 2 * var(--cp-gutter));--cp-frame-pad:0px;--cp-frame-radius:0px;--cp-frame-bg:transparent;--cp-frame-shadow:none;--cp-img-radius:0px;--cp-frame-border:0}
.cp{width:var(--cp-container);margin-inline:auto;padding-bottom:var(--cp-gap-section)}
.cp-sec{padding-top:var(--cp-gap-section)}
.cp-sec:first-child{padding-top:calc(var(--cp-gap-section) * .5)}
.cp-rule{height:0;border-top:1px solid var(--bd-border-2);margin:0 0 var(--cp-gap-rule-label)}
.cp-label{font:var(--cp-label-weight) var(--cp-label-size)/var(--cp-label-lh) var(--cp-label-font);letter-spacing:var(--cp-label-ls);text-transform:var(--cp-label-case);color:var(--cp-label-color);margin:0 0 var(--cp-gap-label-p)}
.cp-text{width:min(100%,var(--cp-text))}
.cp-text p{font:400 var(--cp-body-size)/var(--cp-body-lh) var(--cp-body-font);color:var(--cp-body-color);margin:0 0 var(--cp-gap-p-p);text-wrap:pretty}
.cp-text p:last-child{margin-bottom:0}
.cp-text ul,.cp-text ol{font:400 var(--cp-body-size)/var(--cp-body-lh) var(--cp-body-font);color:var(--cp-body-color);margin:var(--cp-gap-p-p) 0 0;padding-left:1.4em}
.cp-text li+li{margin-top:.55em}
.cp-text p b{font-weight:700;color:var(--bd-fg)}
.cp-label + .cp-text{margin-top:0}
.cp-media{width:min(100%,var(--cp-img));margin:var(--cp-gap-p-media) 0 var(--cp-gap-media-p)}
.cp-label + .cp-media{margin-top:0}
.cp-media:last-child{margin-bottom:0}
.cp-row{display:flex;gap:var(--cp-set-gap);align-items:flex-start}
.cp-row + .cp-row{margin-top:var(--cp-row-gap)}
.cp-fig{margin:0;flex:var(--r) 1 0;min-width:0}
.cp-frame{padding:var(--cp-frame-pad);border-radius:var(--cp-frame-radius);background:var(--cp-frame-bg);box-shadow:var(--cp-frame-shadow);border:var(--cp-frame-border);position:relative}
.cp-frame img{display:block;width:100%;height:auto;border-radius:var(--cp-img-radius)}
.cp-fig figcaption{font:var(--cp-cap-weight) var(--cp-cap-size)/var(--cp-cap-lh) var(--cp-cap-font);font-style:var(--cp-cap-style);color:var(--cp-cap-color);margin-top:var(--cp-gap-media-cap);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* row kinds */
.cp-row--banner .cp-fig{flex:1 1 100%}
.cp-row--tall .cp-fig{flex:var(--w) 1 0;max-width:calc(var(--w) * 1px)}
.cp-row--solo.cp-row--tall .cp-fig{max-width:min(calc(var(--w) * 1px),var(--cp-text))}
.cp-contact{font:400 var(--cp-body-size)/var(--cp-body-lh) var(--cp-body-font);color:var(--cp-body-color);margin:0}
.cp-contact a{color:var(--bd-accent-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.cp-contact a:hover{text-decoration-thickness:2px}
.cp-fig a{color:inherit}
/* the one control that stays: pause for inline video (WCAG 2.2.2). 44px target, plate, bottom-right of the image. Hover state only. */
.cp-vctl{position:absolute;right:12px;bottom:12px;z-index:2;width:44px;height:44px;border:0;border-radius:var(--bd-r-md);background:rgba(10,10,12,.82);display:flex;gap:5px;align-items:center;justify-content:center;cursor:pointer;padding:0}
.cp-vctl i{width:4px;height:16px;background:#fff;border-radius:1px}
.cp-vctl:hover{background:rgba(10,10,12,.96)}
.cp-vctl:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px #141517}
html[data-theme=retro] .cp-vctl{border-radius:0}html[data-theme=primitives] .cp-vctl,html[data-theme=gel] .cp-vctl,html[data-theme=frost] .cp-vctl{border-radius:50%}
@media (max-width:720px){
  .cp-media{width:100%}
  .cp-row{flex-direction:column;gap:var(--cp-set-gap)}
  .cp-row .cp-fig{flex:0 0 auto;width:100%;max-width:none}
  .cp-row + .cp-row{margin-top:var(--cp-set-gap)}
  .cp-row--tall{flex-direction:row;flex-wrap:wrap}   /* exception: tall crops stay 2-up, never a column of five 655px slivers */
  .cp-row--tall .cp-fig{flex:0 0 calc(50% - var(--cp-set-gap) / 2);width:auto;max-width:calc(var(--w) * 1px)}
  .cp-row--tall .cp-fig:last-child:nth-child(odd){flex-basis:100%;max-width:calc(var(--w) * 1px)}
  .cp-row--solo.cp-row--tall .cp-fig{flex-basis:100%;max-width:min(calc(var(--w) * 1px),100%)}
  .cp-fig figcaption{white-space:normal}
}

html[data-theme=modern]{--cp-label-weight:700;--cp-label-ls:.08em;--cp-label-case:uppercase;--cp-label-font:var(--bd-sans);--cp-label-color:var(--bd-accent-text);--cp-label-lh:1.2;--cp-body-lh:1.6;--cp-body-font:var(--bd-sans);--cp-body-color:var(--bd-fg-2);--cp-cap-lh:1.45;--cp-cap-font:var(--bd-sans);--cp-cap-color:var(--bd-fg-3);--cp-cap-style:normal;--cp-cap-weight:400;--cp-gap-rule-label:20px;--cp-gap-label-p:14px;--cp-gap-p-p:20px;--cp-gap-p-media:44px;--cp-gap-media-p:44px;--cp-gap-media-cap:12px;--cp-gap-section:112px;--cp-body-size:18px;--cp-label-size:13px;--cp-cap-size:14px;--cp-set-gap:24px;--cp-text:680px;--cp-img:1200px;--cp-row-gap:32px;--cp-frame-radius:12px;--cp-frame-shadow:var(--bd-sh-1);--cp-img-radius:12px;--cp-frame-bg:var(--bd-surface)}
html[data-theme=extrude]{--cp-label-weight:700;--cp-label-ls:.06em;--cp-label-case:uppercase;--cp-label-font:var(--bd-sans);--cp-label-color:var(--bd-accent-text);--cp-label-lh:1.2;--cp-body-lh:1.6;--cp-body-font:var(--bd-sans);--cp-body-color:var(--bd-fg-2);--cp-cap-lh:1.45;--cp-cap-font:var(--bd-sans);--cp-cap-color:var(--bd-fg-3);--cp-cap-style:normal;--cp-cap-weight:400;--cp-gap-rule-label:24px;--cp-gap-label-p:14px;--cp-gap-p-p:20px;--cp-gap-p-media:48px;--cp-gap-media-p:48px;--cp-gap-media-cap:18px;--cp-gap-section:120px;--cp-body-size:18px;--cp-label-size:13px;--cp-cap-size:14px;--cp-set-gap:32px;--cp-text:700px;--cp-img:960px;--cp-row-gap:40px;--cp-frame-pad:14px;--cp-frame-radius:28px;--cp-frame-bg:var(--bd-surface);--cp-frame-shadow:var(--bd-sh-3);--cp-img-radius:22px}
html[data-theme=primitives]{--cp-label-weight:800;--cp-label-ls:.08em;--cp-label-case:uppercase;--cp-label-font:var(--bd-sans);--cp-label-color:var(--bd-accent-text);--cp-label-lh:1.2;--cp-body-lh:1.6;--cp-body-font:var(--bd-sans);--cp-body-color:var(--bd-fg-2);--cp-cap-lh:1.45;--cp-cap-font:var(--bd-sans);--cp-cap-color:var(--bd-fg-2);--cp-cap-style:normal;--cp-cap-weight:600;--cp-gap-rule-label:20px;--cp-gap-label-p:14px;--cp-gap-p-p:20px;--cp-gap-p-media:44px;--cp-gap-media-p:44px;--cp-gap-media-cap:18px;--cp-gap-section:104px;--cp-body-size:18px;--cp-label-size:13px;--cp-cap-size:14px;--cp-set-gap:28px;--cp-text:680px;--cp-img:1200px;--cp-row-gap:40px;--cp-frame-radius:28px;--cp-frame-border:2px solid #141210;--cp-frame-shadow:6px 6px 0 0 #141210;--cp-img-radius:26px;--cp-frame-bg:var(--bd-surface)}
html[data-theme=gel]{--cp-label-weight:800;--cp-label-ls:.08em;--cp-label-case:uppercase;--cp-label-font:var(--bd-sans);--cp-label-color:var(--bd-accent-text);--cp-label-lh:1.2;--cp-body-lh:1.6;--cp-body-font:var(--bd-sans);--cp-body-color:var(--bd-fg-2);--cp-cap-lh:1.45;--cp-cap-font:var(--bd-sans);--cp-cap-color:var(--bd-fg-3);--cp-cap-style:normal;--cp-cap-weight:500;--cp-gap-rule-label:22px;--cp-gap-label-p:14px;--cp-gap-p-p:20px;--cp-gap-p-media:44px;--cp-gap-media-p:44px;--cp-gap-media-cap:16px;--cp-gap-section:112px;--cp-body-size:18px;--cp-label-size:13px;--cp-cap-size:14px;--cp-set-gap:28px;--cp-text:700px;--cp-img:1040px;--cp-row-gap:40px;--cp-frame-pad:6px;--cp-frame-radius:30px;--cp-frame-bg:var(--bd-surface);--cp-frame-shadow:var(--bd-sh-2);--cp-img-radius:24px}
html[data-theme=frost]{--cp-label-weight:700;--cp-label-ls:.08em;--cp-label-case:uppercase;--cp-label-font:var(--bd-sans);--cp-label-color:var(--bd-accent-text);--cp-label-lh:1.2;--cp-body-lh:1.6;--cp-body-font:var(--bd-sans);--cp-body-color:var(--bd-fg-2);--cp-cap-lh:1.45;--cp-cap-font:var(--bd-sans);--cp-cap-color:var(--bd-fg-3);--cp-cap-style:normal;--cp-cap-weight:400;--cp-gap-rule-label:20px;--cp-gap-label-p:14px;--cp-gap-p-p:20px;--cp-gap-p-media:44px;--cp-gap-media-p:44px;--cp-gap-media-cap:14px;--cp-gap-section:112px;--cp-body-size:18px;--cp-label-size:13px;--cp-cap-size:14px;--cp-set-gap:24px;--cp-text:700px;--cp-img:1200px;--cp-row-gap:36px;--cp-frame-pad:8px;--cp-frame-radius:30px;--cp-frame-bg:var(--bd-surface);--cp-frame-shadow:var(--bd-sh-2);--cp-img-radius:22px}
html[data-theme=skeuomorph]{--cp-label-weight:700;--cp-label-ls:.06em;--cp-label-case:uppercase;--cp-label-font:var(--bd-sans);--cp-label-color:var(--bd-accent-text);--cp-label-lh:1.2;--cp-body-lh:1.6;--cp-body-font:var(--bd-sans);--cp-body-color:var(--bd-fg-2);--cp-cap-lh:1.45;--cp-cap-font:var(--bd-sans);--cp-cap-color:var(--bd-fg-3);--cp-cap-style:italic;--cp-cap-weight:400;--cp-gap-rule-label:18px;--cp-gap-label-p:12px;--cp-gap-p-p:20px;--cp-gap-p-media:40px;--cp-gap-media-p:40px;--cp-gap-media-cap:14px;--cp-gap-section:96px;--cp-body-size:18px;--cp-label-size:12px;--cp-cap-size:13.5px;--cp-set-gap:20px;--cp-text:660px;--cp-img:880px;--cp-row-gap:28px;--cp-frame-pad:10px;--cp-frame-radius:var(--bd-r-lg);--cp-frame-bg:#fbf9f3;--cp-frame-shadow:var(--bd-sh-3);--cp-img-radius:6px}
html[data-theme=retro]{--cp-label-weight:400;--cp-label-ls:0;--cp-label-case:uppercase;--cp-label-font:var(--bd-p-pixel);--cp-label-color:var(--bd-accent-text);--cp-label-lh:1.5;--cp-body-lh:1.65;--cp-body-font:var(--bd-sans);--cp-body-color:var(--bd-fg);--cp-cap-lh:1.5;--cp-cap-font:var(--bd-sans);--cp-cap-color:var(--bd-fg-3);--cp-cap-style:normal;--cp-cap-weight:400;--cp-gap-rule-label:24px;--cp-gap-label-p:16px;--cp-gap-p-p:20px;--cp-gap-p-media:48px;--cp-gap-media-p:52px;--cp-gap-media-cap:20px;--cp-gap-section:96px;--cp-body-size:17px;--cp-label-size:12px;--cp-cap-size:15px;--cp-set-gap:40px;--cp-text:640px;--cp-img:960px;--cp-row-gap:48px;--cp-frame-pad:0px;--cp-frame-radius:0;--cp-img-radius:0;--cp-frame-shadow:0 0 0 4px #fbf1d6,6px 6px 0 4px #140a10}

html[data-theme=skeuomorph] .cp-rule{border-top:1px solid rgba(40,30,15,.30);box-shadow:0 1px 0 #fff}
html[data-theme=skeuomorph] .cp-label{text-shadow:0 1px 0 #fff}
html[data-theme=skeuomorph] .cp-frame img{box-shadow:var(--bd-sh-inset)}
html[data-theme=extrude] .cp-rule{border:0;height:4px;border-radius:2px;box-shadow:inset 2px 2px 3px var(--ex-lo),inset -2px -2px 3px var(--ex-hi)}
html[data-theme=primitives] .cp-rule{border-top:2px solid #141210}
html[data-theme=primitives] .cp-label:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--bd-accent);margin-right:10px;vertical-align:-1px}
html[data-theme=primitives] .cp-fig figcaption:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#141210;margin-right:8px;vertical-align:0}
html[data-theme=gel] .cp-rule{border:0;height:6px;border-radius:999px;background:rgba(91,75,224,.18)}
html[data-theme=frost] .cp-rule{border-top:1px solid rgba(255,255,255,.8);box-shadow:0 1px 0 rgba(31,47,176,.15)}
html[data-theme=retro] .cp-rule{border-top:4px solid #4a4c9a}
html[data-theme=retro] .cp-fig figcaption{border-left:4px solid var(--bd-accent);padding-left:12px;margin-left:4px}
html[data-theme=retro] .cp-text p{max-width:100%}

@media (max-width:720px){
html[data-theme=modern]{--cp-gap-rule-label:16px;--cp-gap-label-p:12px;--cp-gap-p-p:18px;--cp-gap-p-media:28px;--cp-gap-media-p:32px;--cp-gap-media-cap:10px;--cp-gap-section:72px;--cp-body-size:17px;--cp-label-size:12px;--cp-cap-size:13px;--cp-set-gap:16px}html[data-theme=modern] .cp-media{width:100vw;margin-inline:calc(50% - 50vw)}html[data-theme=modern] .cp-frame{border-radius:0;box-shadow:none}html[data-theme=modern] .cp-frame img{border-radius:0}html[data-theme=modern] .cp-fig figcaption{padding-inline:var(--cp-gutter)}
html[data-theme=extrude]{--cp-gap-rule-label:18px;--cp-gap-label-p:12px;--cp-gap-p-p:18px;--cp-gap-p-media:32px;--cp-gap-media-p:32px;--cp-gap-media-cap:14px;--cp-gap-section:80px;--cp-body-size:17px;--cp-label-size:12px;--cp-cap-size:13px;--cp-set-gap:20px}html[data-theme=extrude]{--cp-frame-pad:8px;--cp-frame-radius:20px;--cp-img-radius:14px;--cp-frame-shadow:var(--bd-sh-2)}
html[data-theme=primitives]{--cp-gap-rule-label:16px;--cp-gap-label-p:12px;--cp-gap-p-p:18px;--cp-gap-p-media:28px;--cp-gap-media-p:32px;--cp-gap-media-cap:14px;--cp-gap-section:72px;--cp-body-size:17px;--cp-label-size:12px;--cp-cap-size:13px;--cp-set-gap:20px}html[data-theme=primitives]{--cp-frame-radius:20px;--cp-img-radius:18px;--cp-frame-shadow:4px 4px 0 0 #141210}
html[data-theme=gel]{--cp-gap-rule-label:16px;--cp-gap-label-p:12px;--cp-gap-p-p:18px;--cp-gap-p-media:28px;--cp-gap-media-p:32px;--cp-gap-media-cap:12px;--cp-gap-section:72px;--cp-body-size:17px;--cp-label-size:12px;--cp-cap-size:13px;--cp-set-gap:18px}html[data-theme=gel]{--cp-frame-pad:4px;--cp-frame-radius:22px;--cp-img-radius:18px}
html[data-theme=frost]{--cp-gap-rule-label:16px;--cp-gap-label-p:12px;--cp-gap-p-p:18px;--cp-gap-p-media:28px;--cp-gap-media-p:32px;--cp-gap-media-cap:12px;--cp-gap-section:72px;--cp-body-size:17px;--cp-label-size:12px;--cp-cap-size:13px;--cp-set-gap:14px}html[data-theme=frost]{--cp-frame-pad:6px;--cp-frame-radius:20px;--cp-img-radius:14px}
html[data-theme=skeuomorph]{--cp-gap-rule-label:14px;--cp-gap-label-p:10px;--cp-gap-p-p:18px;--cp-gap-p-media:28px;--cp-gap-media-p:28px;--cp-gap-media-cap:12px;--cp-gap-section:64px;--cp-body-size:17px;--cp-label-size:12px;--cp-cap-size:13px;--cp-set-gap:14px}html[data-theme=skeuomorph]{--cp-frame-pad:6px}
html[data-theme=retro]{--cp-gap-rule-label:20px;--cp-gap-label-p:14px;--cp-gap-p-p:18px;--cp-gap-p-media:32px;--cp-gap-media-p:36px;--cp-gap-media-cap:16px;--cp-gap-section:72px;--cp-body-size:16px;--cp-label-size:12px;--cp-cap-size:14px;--cp-set-gap:28px}html[data-theme=retro]{--cp-frame-shadow:0 0 0 4px #fbf1d6,4px 4px 0 4px #140a10}
}
/* ===== shell: gate, opening, closing (served header markup ed-hero--nomedia kept) ===== */
body.is-gated #cp-root{display:none}
body:not(.is-gated) .s-case__head,body:not(.is-gated) .bd-crumbs,body:not(.is-gated) #cp-gate{display:none}
body:not(.is-gated) .s-case{padding:0}
.s-case__head--gate{grid-template-columns:1fr}
#cp-root{overflow-x:clip;color:var(--bd-fg)}
#cp-root *{box-sizing:border-box}
.ed-hero{position:relative}
.ed-hero__body{width:var(--cp-container);margin-inline:auto;padding:calc(var(--bd-nav-h) + 48px) 0 40px;color:var(--bd-fg)}
.ed-hero__h1{font-size:clamp(34px,5.6vw,72px);line-height:1.04;max-width:18ch;margin:14px 0 0;text-wrap:balance}
.ed-hero__h1:focus{outline:none}
.ed-hero__h1:focus-visible{outline:3px solid #1456D8;outline-offset:6px}
.ed-hero__lede{font-size:clamp(18px,1.6vw,22px);line-height:1.5;color:var(--bd-fg-2);max-width:40ch;margin:18px 0 0}
.ed-hero__org{display:flex;align-items:center;gap:12px;margin-top:22px}
.ed-hero__org img{width:auto;opacity:.95}
.ed-hero__logo--light{display:none}
html[data-theme=retro] .ed-hero__logo--dark{display:none}
html[data-theme=retro] .ed-hero__logo--light{display:inline}
html[data-theme=retro] .ed-hero__h1{font-family:var(--bd-p-pixel);font-size:clamp(22px,3.4vw,44px);line-height:1.4;max-width:22ch}
.cp-sec{scroll-margin-top:calc(var(--bd-nav-h) + 16px)}
.cp-end{padding-top:var(--cp-gap-section)}
.cp-contact a{display:inline-block;min-height:24px}
.cp-fine{padding:32px 0 64px;color:var(--bd-fg-3);font-size:13px;display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.cp-fine .bd-btn{min-height:44px}
.s-foot nav a{display:inline-flex;align-items:center;min-height:44px}
.cp-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0}
/* images: the zoom button is the image */
.cp-zoom{display:block;width:100%;padding:0;margin:0;border:0;background:none;cursor:zoom-in;font:inherit;color:inherit;border-radius:inherit}
.cp-zoom:focus-visible,.cp-vctl:focus-visible{outline:3px solid #1456D8;outline-offset:3px;box-shadow:0 0 0 6px rgba(20,86,216,.28)}
.cp-v{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--cp-img-radius);background:var(--bd-surface)}
.cp-frame img{max-width:100%}
/* video control: only exists inside a frame that has size (the video carries its aspect-ratio) */
.cp-vctl{border:0}
.cp-vctl__tri{display:none;width:0;height:0;border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #fff;margin-left:3px}
.cp-vctl.is-paused .cp-vctl__bars{display:none}
.cp-vctl.is-paused .cp-vctl__tri{display:block}
.cp-vctl__bars{display:flex;gap:5px;align-items:center}
.cp-vctl:focus-visible{outline-color:#fff;box-shadow:0 0 0 6px #1456D8}
.cp-media img,.cp-media video{max-width:100%}
.cp-text a{color:var(--bd-accent-text)}

/* image caps (t_3de5f32f): a still never renders above 1.25x its source at 1440@2x (--cp-fw) or 390@3x (--cp-fm, only set for small sources) */
.cp-fig{max-width:var(--cp-fw,none)}
@media (max-width:720px){.cp-row .cp-fig{max-width:var(--cp-fm,none)}}
