/* Crossroads Insure: brand front end (LD-062). Light scheme. Tokens live only in this block. */
@font-face{font-family:"Young Serif";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/young-serif-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Literata";font-style:italic;font-weight:200 900;font-display:swap;src:url(fonts/literata-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Literata";font-style:normal;font-weight:200 900;font-display:swap;src:url(fonts/literata-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  color-scheme:light;
  --paper:#F6F4FC; --surface:#FFFFFF; --ink:#1B1530; --muted:#574F70; --accent:#5B2BB5; --on-accent:#FFFFFF; --rule:#D6CEEC; --band:#5B2BB5; --on-band:#FFFFFF; --tint:#E7E0F7; --surface-2:#EFEBF9; --brand:#5B2BB5; --on-brand:#FFFFFF; --brand-ink:#5B2BB5; --band-deep:#3A1A80; --on-band-soft:#D9CCF5; --rule-soft:#E7E0F7; --decor:#D6CEEC; --road:#1B1530;
  --display:"Young Serif",ui-serif,Georgia,"Times New Roman",serif; --body:"Literata",ui-serif,Georgia,"Times New Roman",serif; --ui:"Literata",ui-serif,Georgia,"Times New Roman",serif;
  --dw:400; --radius:4px; --radius-m:8px; --radius-l:16px; --mark-radius:0; --name-h:0.719em;
}
/* The wiz mu-plugins colour themselves from these; point them at the tokens. */
:root{
  --wiz-primary:var(--ink); --wiz-accent:var(--accent); --wiz-on-accent:var(--on-accent);
  --wiz-bg:var(--paper); --wiz-text:var(--ink); --wiz-muted:var(--muted);
}

/* ==========================================================================
   Crossroads Insure, "The Intersection" (LD-062 v2, spec 2.5)
   Violet #5B2BB5 bands, deep violet #3A1A80 hero/footer on pale violet paper.
   Young Serif (display) + Literata (body, italic UI voice). Chamfered images,
   signpost-arrow buttons and flags, diamond-rule ornaments. No shadows.
   ========================================================================== */

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:16px}
body.cri{
  margin:0;background:var(--paper);color:var(--ink);
  font:400 1.0625rem/1.6 var(--body);
  font-optical-sizing:auto;
  --gap-xl:112px; --gap-l:80px; --gap-m:48px;
  --cut:24px; --focus:var(--ink);
}
@media (max-width:720px){ body.cri{--gap-xl:64px;--gap-l:48px;--gap-m:32px} }
.cri img{max-width:100%;height:auto;display:block}
.cri a{color:var(--brand);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px}
.cri a:hover{color:var(--band-deep)}
.cri :focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:1px}
.cri-wrap{max-width:1248px;margin:0 auto;padding:0 24px}
@media (max-width:720px){ .cri-wrap{padding:0 16px} }
.cri-skip{position:absolute;left:-9999px;top:8px;z-index:30;background:var(--ink);color:#fff!important;padding:12px 16px;text-decoration:none!important}
.cri-skip:focus{left:8px}
.cri-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.cri-main{display:block}
.cri h1,.cri h2,.cri h3,.cri h4{font-family:var(--display);font-weight:400;color:inherit;letter-spacing:-.005em;text-wrap:balance}

/* ---------- shared bits: kicker, meta, diamond rule, text links ---------- */
.cri-kicker{margin:0 0 .75rem;font-style:italic;font-size:1rem;line-height:1.4;color:var(--brand)}
.cri-kicker a{color:inherit;text-decoration:none;display:inline-block;padding:10px 0;margin:-10px 0}
.cri-kicker a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.cri-meta{margin:.5rem 0 0;font-style:italic;font-size:.9375rem;color:var(--muted);font-variant-numeric:lining-nums}
.cri-meta a{color:var(--muted);text-decoration:none}
.cri-meta a:hover{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}

.cri-drule{display:flex;align-items:center;gap:14px;max-width:220px;margin:0 auto;color:var(--brand)}
.cri-drule::before,.cri-drule::after{content:"";flex:1;height:1px;background:var(--rule)}
.cri-drule span{flex:none;width:10px;height:10px;background:currentColor;transform:rotate(45deg)}

.cri-link-arrow{display:inline-flex;align-items:center;gap:.4em;min-height:44px;font-style:italic;font-weight:600}
.cri-section-h{font-size:clamp(2rem,1.5rem + 1.6vw,2.75rem);line-height:1.12;margin:0}

/* ---------- buttons: the signpost arrow (shape on ::before so the focus ring is never clipped) ---------- */
.cri-btn,.cri .wiz-sub button,.cri-flag{
  position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 36px 0 22px;border:0;background:transparent;cursor:pointer;
  font:italic 600 1.0625rem/1.2 var(--body);color:#fff;text-decoration:none!important;
}
.cri-btn::before,.cri .wiz-sub button::before,.cri-flag::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--brand);
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);
  transition:background-color .15s ease;
}
.cri a.cri-btn,.cri a.cri-flag{color:#fff}
.cri-btn:hover::before,.cri .wiz-sub button:hover::before,.cri-flag:hover::before{background:var(--band-deep)}
.cri a.cri-btn:hover,.cri a.cri-flag:hover{color:#fff}
.cri-btn-light{color:var(--band-deep)!important}
.cri-btn-light::before{background:#fff}
.cri-btn-light:hover::before{background:var(--on-band-soft)}
.cri a.cri-btn-light:hover{color:var(--band-deep)}

/* flags: the spec's arrow, pointing right (r) or left (l) */
.cri-flag{justify-content:flex-start;text-align:left;min-height:44px;padding:.55em 2.1em .55em .95em;font-size:1rem;line-height:1.25;text-wrap:balance}
.cri-flag::before{clip-path:polygon(0 0,max(88%,calc(100% - 22px)) 0,100% 50%,max(88%,calc(100% - 22px)) 100%,0 100%)}
.cri-flag-l{padding:.55em .95em .55em 2.1em}
.cri-flag-l::before{clip-path:polygon(min(12%,22px) 0,100% 0,100% 100%,min(12%,22px) 100%,0 50%)}

/* ---------- header (atlas): Routes left, wordmark centred, CTA right, diamond rule ---------- */
.cri-header{position:relative;z-index:20;background:var(--paper)}
.cri-atlas{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:88px;gap:16px}
.cri-atlas-l{justify-self:start}
.cri-atlas-r{justify-self:end}
.cri-routes-btn,.cri-routes-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 4px;margin-left:-4px;
  background:none;border:0;cursor:pointer;font:italic 400 1.125rem/1 var(--body);color:var(--ink)!important;text-decoration:none!important}
.cri-routes-btn svg{transition:transform .2s ease;color:var(--brand)}
.cri-routes-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.cri-routes-btn:hover span,.cri-routes-link:hover{text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1.5px;text-underline-offset:6px}
.cri-js .cri-routes-link{display:none}
html:not(.cri-js) .cri-routes-btn{display:none}

.cri-logo{display:inline-flex;align-items:center;gap:.42em;min-height:44px;font-size:30px;color:var(--ink);text-decoration:none!important}
.cri a.cri-logo,.cri a.cri-logo:hover{color:var(--ink)}
.cri-logo-mark{display:block;flex:none;width:1.45em;height:1.45em}
.cri-logo-mark .m-post,.cri-logo-mark .m-up{fill:var(--brand)}
.cri-logo-mark .m-dn{fill:var(--band-deep)}
.cri-logo-name{display:block;flex:none;height:var(--name-h);width:calc(var(--name-h) * var(--r))}

.cri-head-cta{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-style:italic;font-weight:600;font-size:1.0625rem}
.cri-head-cta svg{flex:none;transition:transform .15s ease}
.cri-head-cta:hover svg{transform:translateX(3px)}
.cri-head-cta-t{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px}
.cri a.cri-head-cta{text-decoration:none}

.cri-drule-head{max-width:none;padding:0 24px;max-width:1248px}
@media (max-width:720px){ .cri-drule-head{padding:0 16px} }

/* the Routes panel: full-width white sheet under the header */
.cri-routes{display:none;position:absolute;left:0;right:0;top:100%;background:var(--surface);border-bottom:1px solid var(--rule);border-top:1px solid var(--rule)}
.cri-routes.is-open{display:block}
.cri-routes-in{padding-top:40px;padding-bottom:40px}
.cri-routes-q{font-family:var(--display);font-size:1.75rem;line-height:1.2;margin:0 0 20px;text-align:center}
.cri-routes-list{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:56px;max-width:960px}
.cri-routes-list li{border-top:1px solid var(--rule)}
.cri-routes-list a{display:flex;flex-direction:column;gap:2px;padding:14px 0;min-height:44px;text-decoration:none!important;color:var(--ink)}
.cri-routes-name{font-family:var(--display);font-size:1.25rem;line-height:1.25;color:var(--ink)}
.cri-routes-desc{font-style:italic;font-size:.9375rem;color:var(--muted);line-height:1.45}
.cri-routes-list a:hover .cri-routes-name,.cri-routes-list a[aria-current] .cri-routes-name{color:var(--brand);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.cri-routes-foot{display:flex;justify-content:center;gap:32px;margin:20px 0 0;font-style:italic}
.cri-routes-foot a{display:inline-flex;align-items:center;gap:.4em;min-height:44px}

@media (max-width:720px){
  .cri-atlas{min-height:64px;gap:8px}
  .cri-logo{font-size:17px}
  .cri-logo-mark{width:1.6em;height:1.6em}
  .cri-routes-btn,.cri-routes-link{font-size:1.0625rem}
  .cri-head-cta{width:44px;height:44px;justify-content:center;margin-right:-10px}
  .cri-head-cta-t{display:none}
  .cri-routes-in{padding-top:24px;padding-bottom:24px}
  .cri-routes-q{font-size:1.375rem;text-align:left}
  .cri-routes-list{grid-template-columns:1fr}
  .cri-routes-foot{justify-content:flex-start;gap:24px}
}
@media (max-width:360px){ .cri-logo{font-size:15px} }

/* ---------- home 1: deep violet hero ---------- */
.cri-hero{background:var(--band-deep);color:#fff;text-align:center;--focus:#fff;overflow:hidden}
.cri-hero-in{padding-top:var(--gap-xl);padding-bottom:0}
.cri-hero-k{margin:0 0 20px;font-style:italic;font-size:1.0625rem;color:var(--on-band-soft)}
.cri-hero-h{font-size:clamp(2.75rem,1.6rem + 4vw,5rem);line-height:1.05;max-width:18ch;margin:0 auto}
.cri-hero-sub{max-width:44ch;margin:28px auto 0;font-style:italic;font-size:1.25rem;line-height:1.55;color:var(--on-band-soft)}
.cri-hero-cta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 24px;margin:40px 0 0}
.cri-hero-count{font-style:italic;font-size:.9375rem;color:var(--on-band-soft)}
/* the road runs on from the hero into the map */
.cri-hero-in::after{content:"";display:block;width:3px;height:var(--gap-l);margin:48px auto 0;
  background:repeating-linear-gradient(to bottom,var(--on-band-soft) 0 12px,transparent 12px 24px)}

/* ---------- home 2: the intersection map ---------- */
.cri-x{padding:var(--gap-l) 0 var(--gap-xl)}
.cri-x-head{text-align:center;max-width:720px;margin:0 auto 48px}
.cri-x-sub{margin:16px auto 0;font-style:italic;font-size:1.125rem;color:var(--muted);max-width:52ch}
.cri-x-grid{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:56px;align-items:start;max-width:1120px;margin:0 auto}
.cri-x-map{position:relative;container-type:inline-size;width:100%;max-width:560px}
.cri-x-svg{display:block;width:100%;height:auto}
.cri-x-ground{fill:var(--surface-2)}
.cri-x-blocks rect{fill:var(--surface);stroke:var(--rule);stroke-width:1}
.cri-x-kerb{fill:none;stroke:var(--rule);stroke-width:14;stroke-linejoin:round}
.cri-x-road{fill:var(--road)}
.cri-x-arm{fill:transparent;transition:fill .2s ease}
.cri-x-dash path{fill:none;stroke:#fff;stroke-width:4;stroke-dasharray:16 12}
.cri-x-zebra rect{fill:#fff;opacity:.92}
.cri-x-here{fill:#fff;stroke:var(--road);stroke-width:2}
.cri-x-map:has(.cri-x-flag-n.is-active) .cri-x-arm-n,
.cri-x-map:has(.cri-x-flag-e.is-active) .cri-x-arm-e,
.cri-x-map:has(.cri-x-flag-s.is-active) .cri-x-arm-s,
.cri-x-map:has(.cri-x-flag-w.is-active) .cri-x-arm-w{fill:var(--brand)}
.cri-x-map:has(.cri-x-flag-more.is-active) .cri-x-here{fill:var(--brand);stroke:#fff}

.cri-x-flag{position:absolute;z-index:1;max-width:37cqi;font-size:max(.8125rem,2.9cqi)}
.cri-x-flag-n{left:62cqi;top:4.5cqi}
.cri-x-flag-e{right:3.5cqi;top:62cqi}
.cri-x-flag-s{right:62cqi;top:95.5cqi;transform:translateY(-100%)}
.cri-x-flag-w{left:3.5cqi;top:38cqi;transform:translateY(-100%)}
.cri-x-flag.is-active::before{background:var(--band-deep)}
.cri-x-flag.is-active{text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:4px}
.cri-x-more{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:20px}
.cri-x-more-h{flex:1 0 100%;margin:0;font-style:italic;color:var(--muted);font-size:.9375rem}
.cri-x-flag-more{position:relative;font-size:.9375rem;white-space:nowrap}
@container (max-width:480px){
  .cri-x-flag{max-width:41cqi;padding:.45em 1.6em .45em .7em;line-height:1.2}
  .cri-x-flag.cri-flag-l{padding:.45em .7em .45em 1.6em}
  .cri-x-flag-n{left:61cqi}
  .cri-x-flag-s{right:61cqi}
  .cri-x-flag-e,.cri-x-flag-w{max-width:38cqi}
  .cri-x-flag-more{max-width:none}
}

.cri-panel:not(.is-active){display:none}
.cri-x-panel{background:var(--surface);border:1px solid var(--rule);border-radius:16px;padding:36px 40px 28px}
.cri-x-panel-h{font-size:2rem;line-height:1.15;margin:0}
.cri-x-panel-h a{color:var(--ink);text-decoration:none}
.cri-x-panel-h a:hover{color:var(--brand);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.cri-x-panel-d{margin:10px 0 0;font-style:italic;color:var(--muted)}
.cri-x-list{list-style:none;margin:24px 0 0;padding:0;counter-reset:g}
.cri-x-list li{counter-increment:g;position:relative;padding:16px 0 16px 44px;border-top:1px solid var(--rule)}
.cri-x-list li::before{content:counter(g);position:absolute;left:0;top:15px;font-family:var(--display);font-size:1.25rem;color:var(--brand);width:28px;text-align:left}
.cri-x-list a{font-family:var(--display);font-size:1.1875rem;line-height:1.3;color:var(--ink);text-decoration:none;display:inline}
.cri-x-list a:hover{text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:4px}
.cri-x-list .cri-meta{font-size:.875rem;margin-top:4px}
.cri-x-all{margin:4px 0 0;border-top:1px solid var(--rule);padding-top:8px}

@media (max-width:960px){
  .cri-x-grid{grid-template-columns:minmax(0,1fr);gap:32px;justify-items:center}
  .cri-x-panels{width:100%;max-width:560px}
}
@media (max-width:720px){
  .cri-x-head{margin-bottom:32px;text-align:left}
  .cri-x-panel{padding:24px 20px 16px}
  .cri-x-panel-h{font-size:1.625rem}
  .cri-x-list li{padding-left:36px}
}

/* ---------- images: chamfered everywhere (cut top-right like a signpost) ---------- */
.cri-ch{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--tint);
  clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%)}
.cri-ch img{width:100%;height:100%;object-fit:cover}
.cri-ph{display:grid;place-items:center;background:
  repeating-linear-gradient(90deg,transparent 0 calc(50% - 2px),rgba(255,255,255,.75) calc(50% - 2px) calc(50% + 2px),transparent calc(50% + 2px)) center/100% 100% no-repeat,
  linear-gradient(160deg,var(--tint),var(--on-band-soft))}
.cri-ph::before{content:"";position:absolute;width:64px;height:64px;background:var(--surface);transform:rotate(45deg)}
.cri-ph svg{position:relative;width:28px;height:28px;color:var(--brand)}
.cri-ph .cri-x-glyph{width:34px;height:34px}
.cri-ph .cri-x-glyph .m-post,.cri-ph .cri-x-glyph .m-up{fill:var(--brand)}
.cri-ph .cri-x-glyph .m-dn{fill:var(--band-deep)}
.cri-ch-s{--cut:14px}

/* ---------- cards: no box; chamfered image, italic kicker, Young Serif title ---------- */
.cri-card{display:flex;flex-direction:column;min-width:0}
.cri-card-img{display:block;margin-bottom:18px}
.cri-card-title{font-size:1.375rem;line-height:1.25;margin:0}
.cri-card-title a{color:var(--ink);text-decoration:none}
.cri-card-title a:hover,.cri-card:hover .cri-card-title a{text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:4px}
.cri-card-ex{margin:10px 0 0;color:var(--muted);font-size:1rem;line-height:1.6}
.cri-card .cri-kicker{margin-bottom:6px;font-size:.9375rem}
.cri-card .cri-meta{font-size:.875rem}

/* ---------- home 3: recent reading (magazine, 2 columns) ---------- */
.cri-recent{padding:0 0 var(--gap-xl)}
.cri-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-top:1px solid var(--rule);padding-top:40px;margin-bottom:40px}
.cri-recent-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:56px;align-items:start}
.cri-card-lead .cri-ch{aspect-ratio:3/2;--cut:48px}
.cri-card-lead .cri-card-title{font-size:clamp(1.75rem,1.3rem + 1.2vw,2.375rem);line-height:1.15}
.cri-card-lead .cri-card-ex{font-size:1.125rem}
.cri-recent-four{display:grid;grid-template-columns:1fr 1fr;gap:44px 32px}
.cri-card-sm .cri-card-title{font-size:1.1875rem;line-height:1.3}
@media (max-width:900px){ .cri-recent-grid{grid-template-columns:minmax(0,1fr);gap:48px} }
@media (max-width:720px){
  .cri-sec-head{padding-top:32px;margin-bottom:28px}
  .cri-card-lead .cri-ch{--cut:32px}
  .cri-recent-four{gap:32px 16px}
  .cri-card-sm .cri-card-title{font-size:1.0625rem}
  .cri-card-sm .cri-card-img{margin-bottom:12px}
  .cri-card-sm .cri-ch{--cut:16px}
}

/* ---------- home 4: about band (violet) ---------- */
.cri-about-band{background:var(--brand);color:#fff;text-align:center;padding:var(--gap-xl) 0;--focus:#fff}
.cri-drule-band{color:#fff}
.cri-drule-band::before,.cri-drule-band::after{background:rgba(255,255,255,.45)}
.cri-about-q{margin:36px auto 0;max-width:940px;padding:0}
.cri-about-q p{margin:0;font-family:var(--display);font-size:clamp(1.75rem,1.2rem + 1.8vw,2.5rem);line-height:1.28;text-wrap:balance}
.cri-about-q p::before{content:"\201C"}
.cri-about-q p::after{content:"\201D"}
.cri-about-more{margin:32px 0 0;font-style:italic}
.cri .cri-about-more a{color:#fff;display:inline-flex;align-items:center;gap:.4em;min-height:44px}
.cri .cri-about-more a:hover{color:var(--on-band-soft)}

/* ---------- signup: borderless centred tint block around the unchanged wiz-sub form ---------- */
.cri-signup-band{padding:var(--gap-xl) 0}
.cri-signup-card{max-width:820px;margin:0 auto;background:var(--tint);padding:56px 64px 48px;text-align:center;
  clip-path:polygon(0 0,calc(100% - 48px) 0,100% 48px,100% 100%,0 100%)}
.cri-signup-h{font-size:clamp(1.875rem,1.5rem + 1.2vw,2.5rem);line-height:1.15;margin:0}
.cri-signup-intro{margin:14px auto 0;max-width:46ch;font-style:italic;font-size:1.125rem;color:var(--ink)}
.cri-signup-art{display:none}
.cri .cri-signup-right .wiz-sub{border:0!important;background:transparent!important;max-width:560px;margin:28px auto 0;padding:0!important;text-align:left;border-radius:0!important}
.cri .wiz-sub label{font:600 .9375rem/1.4 var(--body)!important;color:var(--ink)!important}
.cri .wiz-sub input[type=text],.cri .wiz-sub input[type=email]{height:50px;padding:0 14px!important;font:400 1rem var(--body)!important;color:var(--ink)!important;
  background:var(--surface)!important;border:1px solid var(--muted)!important;border-radius:0!important}
.cri .wiz-sub input:focus{outline:2px solid var(--brand)!important;outline-offset:2px!important}
.cri .wiz-sub .wiz-sub-field{margin-bottom:16px}
.cri .wiz-sub .wiz-sub-optin{min-height:44px;padding:4px 0;cursor:pointer;font:italic 400 .9375rem/1.5 var(--body)!important;color:var(--ink)!important;margin:4px 0 20px!important}
.cri .wiz-sub .wiz-sub-optin span{font-weight:400!important}
.cri .wiz-sub .wiz-sub-optin input{width:22px;height:22px;margin-top:1px;accent-color:var(--brand);flex:0 0 auto}
.cri .wiz-sub .wsf-actions{display:flex;justify-content:center}
.cri .wiz-sub button{min-height:52px;padding:0 44px 0 28px!important;border-radius:0!important;font-size:1.125rem!important;background:transparent!important;color:#fff!important;filter:none!important}
.cri .wiz-sub button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.cri .wiz-sub .wiz-sub-fine{text-align:center;color:var(--muted)!important;opacity:1!important;font-size:.875rem!important;font-style:italic;margin-top:16px!important}
.cri .wiz-sub .wiz-sub-note{border-radius:0!important;font-size:.9375rem!important}
.cri .wiz-sub .wiz-sub-ok{background:var(--surface)!important;color:var(--ink)!important;border-left:4px solid var(--brand)}
.cri .wiz-sub .wiz-sub-err{background:var(--surface)!important;color:var(--ink)!important;border-left:4px solid #B42318}
.cri .wiz-sub .cri-consent-err{color:#B42318!important;font-weight:600}
.cri .wiz-sub-band,.cri .wiz-sub-cta{display:none!important}
@media (max-width:720px){
  .cri-signup-card{padding:40px 20px 32px;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,0 100%)}
  .cri .wiz-sub input[type=text],.cri .wiz-sub input[type=email]{font-size:16px!important}
  .cri .wiz-sub button{width:100%}
}
/* the signup page: the card is the page */
.cri-signup-page{padding-top:var(--gap-l);padding-bottom:var(--gap-xl)}
.cri-signup-page .cri-signup-h{font-size:clamp(2.25rem,1.6rem + 2.4vw,3.5rem)}

/* ---------- article (journal): centred text header, drop cap, breakout figure, fork band ---------- */
.cri-j-head{text-align:center;max-width:960px;padding-top:var(--gap-l);padding-bottom:8px}
.cri-j-head .cri-kicker{font-size:1.0625rem}
.cri-h1-article{font-size:clamp(2.5rem,1.6rem + 3.4vw,4.5rem);line-height:1.05;margin:0 auto;max-width:20ch}
.cri-standfirst{margin:28px auto 0;max-width:36em;font-style:italic;font-size:1.375rem;line-height:1.5;color:var(--ink);font-weight:350}
.cri-j-head .cri-meta{margin:24px 0 32px;font-size:1rem}
.cri-j-head .cri-drule{margin-bottom:var(--gap-m)}

.cri-prose{max-width:calc(680px + 48px);font-size:1.1875rem;line-height:1.75}
@media (max-width:720px){ .cri-prose{max-width:none;font-size:1.125rem;line-height:1.7} }
.cri-prose > *{margin-top:0;margin-bottom:1.3em}
.cri-prose p{hyphens:manual}
.cri-prose h2{font-size:1.875rem;line-height:1.2;text-align:center;margin:2.1em 0 .9em;scroll-margin-top:24px}
.cri-prose h2::before{content:"§";display:block;font-size:1.25rem;line-height:1;color:var(--brand);margin-bottom:.6em}
.cri-prose > h2:first-child{margin-top:.6em}
.cri-prose h3{font-size:1.375rem;line-height:1.3;margin:1.8em 0 .6em}
.cri-prose ul,.cri-prose ol{padding-left:1.4em}
.cri-prose li{margin:0 0 .55em}
.cri-prose ul li::marker{color:var(--brand);content:"◆  ";font-size:.7em}
.cri-prose ol li::marker{color:var(--brand);font-family:var(--display)}
.cri-prose strong{font-weight:650}
.cri-prose blockquote{margin:1.8em 0;padding:24px 28px;background:var(--tint);font-style:italic;border:0}
.cri-prose blockquote > :last-child{margin-bottom:0}
.cri-prose table{width:100%;border-collapse:collapse;font-size:1rem;display:block;overflow-x:auto}
.cri-prose th,.cri-prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule)}
.cri-prose hr{border:0;margin:2.4em auto;height:10px;width:10px;background:var(--brand);transform:rotate(45deg)}
.cri-prose img{height:auto}

/* drop cap: Young Serif, 5 lines (4 on mobile), violet */
.cri-j-body > p:first-of-type::first-letter{font-family:var(--display);color:var(--brand);float:left;font-size:5.2em;line-height:.86;margin:.06em .1em 0 0}
@supports (initial-letter:5){
  .cri-j-body > p:first-of-type::first-letter{float:none;font-size:inherit;line-height:inherit;margin:0 .14em 0 0;initial-letter:5}
  @media (max-width:720px){ .cri-j-body > p:first-of-type::first-letter{initial-letter:4} }
}

/* breakout figure after paragraph 2: 1040px, 3:2, chamfered 48px */
.cri-breakout{--w:min(1040px,100vw - 48px);width:var(--w);margin:2.4em calc((100% - var(--w)) / 2) 2.6em}
.cri-breakout img{width:100%;aspect-ratio:3/2;object-fit:cover;clip-path:polygon(0 0,calc(100% - 48px) 0,100% 48px,100% 100%,0 100%)}
.cri-breakout figcaption{margin-top:12px;font-style:italic;font-size:.9375rem;color:var(--muted);text-align:center}
@media (max-width:720px){ .cri-breakout{--w:calc(100vw - 32px)} .cri-breakout img{clip-path:polygon(0 0,calc(100% - 32px) 0,100% 32px,100% 100%,0 100%)} }

/* the fork: violet full-width band with two signpost flags (white on violet) */
.cri-fork{--w:min(1040px,100vw - 48px);width:var(--w);margin:2.6em calc((100% - var(--w)) / 2);padding:48px 0 52px;
  background:var(--brand);border-image:conic-gradient(var(--brand) 0 0) fill 0 / 0 / 0 100vw;color:#fff;text-align:center;--focus:#fff}
.cri-fork-q{margin:0 0 24px;font-style:italic;font-size:1.0625rem;color:#fff}
.cri-fork-flags{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cri .cri-fork .cri-flag{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;min-height:112px;color:var(--ink);text-decoration:none!important;
  padding:18px 64px 20px 28px;text-wrap:pretty}
.cri .cri-fork .cri-flag::before{background:#fff;clip-path:polygon(0 0,calc(100% - 40px) 0,100% 50%,calc(100% - 40px) 100%,0 100%)}
.cri .cri-fork .cri-flag-l{padding:18px 28px 20px 64px;align-items:flex-end;text-align:right}
.cri .cri-fork .cri-flag-l::before{clip-path:polygon(40px 0,100% 0,100% 100%,40px 100%,0 50%)}
.cri .cri-fork .cri-flag:hover::before{background:var(--tint)}
.cri .cri-fork .cri-flag:focus-visible{outline-color:#fff}
.cri-fork-k{font-style:italic;font-weight:600;font-size:.9375rem;color:var(--brand)}
.cri-fork-k::before{content:"← ";}
.cri-flag-r .cri-fork-k::before{content:none}
.cri-flag-r .cri-fork-k::after{content:" →"}
.cri-fork-t{font-family:var(--display);font-style:normal;font-weight:400;font-size:1.25rem;line-height:1.3;color:var(--ink)}
@media (max-width:720px){
  .cri-fork{--w:calc(100vw - 32px);padding:36px 0 40px}
  .cri-fork-flags{grid-template-columns:1fr;gap:14px}
  .cri .cri-fork .cri-flag{min-height:96px}
  .cri-fork-t{font-size:1.125rem}
}

/* end of article: where to next (2 chamfered cards) */
.cri-next{padding:var(--gap-l) 0 0;text-align:center}
.cri-next .cri-section-h{margin:24px 0 40px}
.cri-next-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:1040px;margin:0 auto;text-align:left}
.cri-card-next .cri-ch{aspect-ratio:3/2;--cut:40px}
.cri-card-next .cri-card-title{font-size:1.625rem;line-height:1.2}
@media (max-width:720px){ .cri-next-grid{grid-template-columns:1fr;gap:40px} .cri-card-next .cri-card-title{font-size:1.375rem} }

/* ---------- pages, 404 ---------- */
.cri-page-head{padding-bottom:0}
.cri-page-head .cri-h1-article{font-size:clamp(2.25rem,1.6rem + 2.4vw,3.5rem)}
.cri-page-head .cri-drule{margin-top:32px}
.cri-page-body{padding-bottom:var(--gap-xl)}
.cri-404{padding-bottom:var(--gap-xl)}
.cri-404 .cri-drule{margin:40px auto}
.cri-404-flags{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:820px}
.cri-404-home{margin:32px 0 0}
.cri .wiz-tool{font-family:var(--body)}
.cri .wiz-tool button{font-family:var(--body)}

/* ---------- archive (feature): deep violet header, a feature, then a ruled single column ---------- */
.cri-archive-head{background:var(--band-deep);color:#fff;text-align:center;min-height:240px;display:flex;align-items:center;padding:56px 0;--focus:#fff}
.cri-archive-head .cri-wrap{width:100%}
.cri-archive-k{margin:0 0 14px;font-style:italic;color:var(--on-band-soft);font-size:1.0625rem}
.cri-h1-archive{font-size:clamp(2.5rem,1.9rem + 2vw,3.5rem);line-height:1.08;margin:0 auto;max-width:22ch}
.cri-archive-desc{margin:16px auto 0;max-width:52ch;font-style:italic;font-size:1.125rem;color:var(--on-band-soft)}
.cri-archive-body{padding-top:var(--gap-l);padding-bottom:var(--gap-xl)}
.cri-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;max-width:1040px;margin:0 auto}
.cri-feature-img .cri-ch{--cut:48px}
.cri-feature-title{font-size:clamp(1.75rem,1.3rem + 1.4vw,2.5rem);line-height:1.15;margin:0}
.cri-feature-title a{color:var(--ink);text-decoration:none}
.cri-feature-title a:hover,.cri-row-title a:hover{text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:4px}
.cri-feature-ex{margin:16px 0 0;font-size:1.125rem;color:var(--muted)}
.cri-drule-list{margin:var(--gap-l) auto var(--gap-m)}
.cri-rows{list-style:none;margin:0 auto;padding:0;max-width:760px}
.cri-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:32px;align-items:start;padding:28px 0;border-top:1px solid var(--rule)}
.cri-row:last-child{border-bottom:1px solid var(--rule)}
.cri-row .cri-kicker{font-size:.9375rem;margin-bottom:4px}
.cri-row-title{font-size:1.375rem;line-height:1.25;margin:0}
.cri-row-title a{color:var(--ink);text-decoration:none}
.cri-row-ex{margin:8px 0 0;color:var(--muted);font-size:1rem;line-height:1.55}
.cri-row-img{display:block;margin-top:6px}
.cri-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:48px 0 0;font-style:italic}
.cri-pages .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 10px;color:var(--brand)}
.cri-pages .current{color:#fff;position:relative;isolation:isolate;font-style:normal}
.cri-pages .current::before{content:"";position:absolute;width:32px;height:32px;z-index:-1;background:var(--brand);transform:rotate(45deg)}
.cri-empty{text-align:center;font-style:italic;color:var(--muted)}
@media (max-width:720px){
  .cri-archive-head{min-height:200px;padding:40px 0}
  .cri-feature{grid-template-columns:minmax(0,1fr);gap:24px}
  .cri-feature-img .cri-ch{--cut:32px}
  .cri-row{grid-template-columns:minmax(0,1fr) 96px;gap:16px;padding:22px 0}
  .cri-row-title{font-size:1.1875rem}
  .cri-row-ex{display:none}
}

/* ---------- footer (atlas): deep violet, centred, absorbs wiz-footer ---------- */
.cri-foot-own .wiz-footer,.cri-foot-own .wiz-footer-legal{display:none!important}
.cri-footer{background:var(--band-deep);color:#fff;text-align:center;padding:72px 0 40px;--focus:#fff}
.cri-footer a{color:#fff}
.cri .cri-footer a:hover{color:var(--on-band-soft)}
.cri-footer-in{display:flex;flex-direction:column;align-items:center}
.cri .cri-footer a.cri-logo-foot,.cri .cri-footer a.cri-logo-foot:hover{color:#fff;font-size:30px}
.cri-footer .cri-logo-mark .m-post,.cri-footer .cri-logo-mark .m-up{fill:#fff}
.cri-footer .cri-logo-mark .m-dn{fill:var(--on-band-soft)}
.cri-foot-tag{margin:12px 0 0;font-style:italic;color:var(--on-band-soft);max-width:44ch}
.cri-drule-foot{width:100%;max-width:320px;margin:32px auto;color:var(--on-band-soft)}
.cri-drule-foot::before,.cri-drule-foot::after{background:rgba(217,204,245,.4)}
.cri-foot-routes{width:100%}
.cri-foot-h{font-size:1.5rem;margin:0 0 12px}
.cri-foot-routes ul{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;max-width:820px}
.cri-foot-routes a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-style:italic;text-decoration:none}
.cri-foot-routes a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.cri-foot-groups{display:flex;flex-direction:column;align-items:center;gap:4px;margin:32px 0 0;padding-top:24px;border-top:1px solid rgba(217,204,245,.3);width:100%;max-width:820px}
.cri-foot-inline{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 20px}
.cri-foot-il{font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-band-soft)}
.cri-foot-inline ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:0 20px}
.cri-foot-inline a{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;text-underline-offset:4px;text-decoration-thickness:1px}
.cri-indep{margin:20px 0 0;font-style:italic;color:var(--on-band-soft)}
.cri .cri-indep a{color:var(--on-band-soft);text-decoration-thickness:1px;text-underline-offset:4px}
.cri .cri-indep a:hover{color:#fff}
.cri-copy{margin:8px 0 0;font-size:.875rem;color:var(--on-band-soft)}
@media (max-width:720px){
  .cri-footer{padding:56px 0 32px}
  .cri .cri-footer a.cri-logo-foot{font-size:20px}
  .cri-foot-routes ul{grid-template-columns:1fr 1fr;gap:0 16px}
  .cri-foot-routes a{font-size:.9375rem;line-height:1.3;padding:4px 0}
  .cri-foot-il{flex:1 0 100%;margin-top:8px}
}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .cri *,.cri *::before,.cri *::after{transition:none!important;animation:none!important}
}

/* category views: the row kicker would repeat the H1 */
.category .cri-archive-body .cri-kicker{display:none}
.cri-nw{white-space:nowrap}
