/* Homepage sections. Loaded on the front page only. */
.is-front > *,.dark-open *,.home-sheet > *,.home-sheet .wp-block-template-part > *{margin-block-start:0;}
.hb-body,.hero-b > .stage-ctas,.sd-body,.trust,.sec-wrap{width:100%;max-width:1240px;margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter);}

/* ---------- Dark opening: pins, then the ivory sheet slides over it ---------- */
.dark-open{position:sticky;top:0;z-index:1;transform-origin:50% calc(100% - 50vh);will-change:transform;--tx:50%;--ty:30%;overflow:hidden;}
.dark-open > .hero-b,.dark-open > .statement{position:relative;z-index:1;}
.torch-light{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle 300px at var(--tx) var(--ty),rgba(232,65,26,.09),transparent 70%);}

/* ---------- Hero "Torch" ---------- */
.hero-b{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;color:#fff;padding-top:84px;}
.hb-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:clamp(28px,5vh,56px);padding-top:4vh;padding-bottom:3vh;position:relative;z-index:2;}
.ghost-logo{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:calc(min(94vw,1320px) * 1.0533);max-width:none;height:auto;pointer-events:none;z-index:1;opacity:0;transition:opacity .6s;}
.ghost-logo.ready{opacity:1;}
.ghost-logo.lit{-webkit-mask-image:radial-gradient(circle var(--r,230px) at var(--lx,50%) var(--ly,50%),#000 0 52%,rgba(0,0,0,.55) 66%,transparent 80%);mask-image:radial-gradient(circle var(--r,230px) at var(--lx,50%) var(--ly,50%),#000 0 52%,rgba(0,0,0,.55) 66%,transparent 80%);}
.is-style-dark .hb-kicker{font:500 clamp(18px,1.8vw,22px)/1.3 var(--sans);color:var(--muted);margin:0 0 16px;}
.hb-title{margin:0;font-size:clamp(30px,4.4vw,64px);line-height:1;letter-spacing:-.035em;color:#fff;text-shadow:0 0 28px #141414,0 0 56px #141414;text-wrap:initial;}
.hb-title .rot{display:block;position:relative;height:1.28em;overflow:hidden;margin-top:.04em;font:italic 600 min(8vw,104px)/1.2 var(--serif);letter-spacing:-.03em;color:var(--ember);}
.hb-title .rot .w{position:absolute;left:0;top:0;padding:0 .2em 0 .04em;white-space:nowrap;transition:transform .75s cubic-bezier(.7,0,.2,1),opacity .75s ease;}
.hb-title .rot .w.in{transform:translateY(0);opacity:1;}
.hb-title .rot .w.out{transform:translateY(105%);opacity:0;}
.hb-title .rot .w.wait{transform:translateY(-105%);opacity:0;transition:none;}
.hb-words{display:none;}
.hb-row{display:grid;grid-template-columns:1fr minmax(0,440px);gap:32px;align-items:end;}
.is-style-dark .hb-text{font:400 17px/1.6 var(--sans);color:rgba(255,255,255,.72);margin:0 0 22px;}
.scroll{display:flex;align-items:center;gap:10px;font:500 13px var(--sans);color:var(--muted);}
.scroll i{width:10px;height:10px;border-radius:50%;background:var(--ember);animation:incPulse 2s ease-in-out infinite;}
@keyframes incPulse{50%{transform:scale(1.5);opacity:.6;}}
.hero-b > .stage-ctas{position:relative;z-index:3;margin-bottom:9vh;gap:12px;}
.stage-ctas .is-style-ghost .wp-element-button{background:rgba(20,20,20,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
@media (max-width:760px){
  .ghost-logo{width:calc(150vw * 1.0533);top:58%;}
  .hb-title .rot{height:2.5em;font-size:11vw;}
  .hb-title .rot .w{white-space:normal;right:0;}
  .hb-row{grid-template-columns:1fr;}
  .scroll{order:2;}
  .stage-ctas .wp-element-button{padding:16px 22px;font-size:16px;}
}

/* ---------- Statement: words light up as you scroll ----------
   New type rule: Switzer bold, only "10" and "50" switch to the serif. */
.stmt-d{display:flex;flex-direction:column;min-height:88vh;}
.sd-body{flex:1;padding-top:4vh;padding-bottom:10vh;}
.is-style-dark .stmt-lead{display:block;margin:0 0 .45em;font:700 clamp(28px,4.4vw,64px)/1 var(--head);letter-spacing:-.035em;color:#fff;}
.is-style-dark .stmt-main{margin:0;max-width:17ch;font:700 clamp(40px,6.4vw,92px)/1.04 var(--head);letter-spacing:-.035em;color:#fff;}
.statement .w{color:#fff;opacity:.28;transition:opacity .15s linear,color .3s;}
.statement .w.num{font-family:var(--serif);font-style:italic;font-weight:600;letter-spacing:-.02em;}
.statement .w.num.on{color:var(--ember);}
@media (max-width:760px){.stmt-d{min-height:75vh;} .sd-body{padding-top:6vh;display:flex;flex-direction:column;justify-content:center;}}

/* ---------- Ivory sheet + client logos ---------- */
.home-sheet{margin-top:0;}
@media (max-width:760px){.home-sheet{border-radius:20px 20px 0 0;}}
.trust{display:flex;align-items:center;flex-wrap:wrap;gap:16px 40px;padding-top:44px;}
.trust-label{font:500 13px var(--sans);color:var(--ash);border:1px solid rgba(20,20,20,.2);border-radius:999px;padding:7px 14px;white-space:nowrap;margin:0;}
.trust-logos{flex:1;min-width:0;}
.marquee{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.mq-track{display:flex;width:max-content;animation:incMq 45s linear infinite;}
.mq-set{display:flex;align-items:center;}
.mq-set img{height:40px;width:auto;max-width:150px;object-fit:contain;margin-right:56px;filter:grayscale(1) contrast(1.15);mix-blend-mode:multiply;opacity:.8;}
.marquee:hover .mq-track{animation-play-state:paused;}
@keyframes incMq{to{transform:translateX(-50%);}}
@media (max-width:760px){.marquee,.trust-logos{flex:1 1 100%;}}

@media (prefers-reduced-motion:reduce){
  .ghost-logo.lit{-webkit-mask-image:none;mask-image:none;opacity:.35;}
  .mq-track{animation:none;flex-wrap:wrap;width:auto;}
  .mq-set[aria-hidden]{display:none;}
}

/* Editor: show everything in flow so it can be edited. */
.editor-styles-wrapper .dark-open{position:relative;}
.editor-styles-wrapper .hb-words{display:block;color:var(--ember);font-style:italic;}
.editor-styles-wrapper .ghost-logo{display:none;}
.editor-styles-wrapper .hero-b{min-height:0;}

/* ---------- Sections on the sheet ---------- */
.home-sec{--paper:#ECEADC;padding:clamp(56px,8vw,96px) 0 clamp(32px,4vw,56px);}
.part-logos + .part-about .home-sec{padding-top:clamp(56px,8vw,100px);}
.home-sec .lede{font:400 18px/1.65 var(--sans);color:#3a3836;max-width:58ch;margin:16px 0 0;}
.home-sec h2{margin:0;}

/* About: text + research plate */
.about2{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,80px);align-items:center;}
@media (max-width:900px){.about2{grid-template-columns:1fr;}}
.plate{position:relative;margin:0;background:radial-gradient(ellipse at 50% 40%,#F6F5EC 0%,var(--paper) 75%);border:1px solid rgba(20,20,20,.18);padding:18px;}
.plate::before{content:"";position:absolute;inset:8px;border:1px solid rgba(20,20,20,.1);pointer-events:none;}
.plate svg{display:block;width:100%;height:auto;overflow:visible;}
.plate-head{display:flex;justify-content:space-between;font:500 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);padding:4px 6px;}
.plate-cap{padding:10px 6px 4px;border-top:1px solid rgba(20,20,20,.12);margin-top:6px;}
.plate .fig-title{margin:0 0 6px;font:600 15px var(--head);letter-spacing:-.01em;}
.plate .fig-text{margin:0;font:400 14.5px/1.6 var(--sans);color:#3a3836;}
.plate .fig-text em{font-style:normal;font-weight:600;color:var(--ink);}
.plate svg text{font-family:var(--sans);fill:var(--ink);}
.plate .grid line{stroke:rgba(20,20,20,.06);stroke-width:1;}
.plate .con{fill:none;stroke:rgba(20,20,20,.3);stroke-width:.8;}
.plate .main{fill:none;stroke:var(--ink);stroke-width:1.5;}
.plate .inner{fill:none;stroke:var(--ember);stroke-width:1.1;}
.plate .tick{stroke:var(--ink);stroke-width:.8;}
.plate .arc{fill:none;stroke:var(--ember);stroke-width:1.1;}
.plate .node{fill:var(--paper);stroke:var(--ink);stroke-width:1.2;}
.plate .dot{fill:var(--ember);}
.plate .lead{fill:none;stroke:var(--ink);stroke-width:.8;}
.plate .lbl{font:700 13px var(--sans);letter-spacing:.16em;}
.plate .q{font:italic 400 13px var(--sans);fill:#2b2926;}
.plate .lev{font:500 10.5px var(--sans);letter-spacing:.04em;fill:var(--ember-text);}
.plate .small{font:400 11px var(--sans);fill:var(--ash);letter-spacing:.06em;}
.plate .edge{font:600 13.5px var(--head);letter-spacing:-.005em;fill:var(--ink);}
.plate .edge-s{font:500 12px var(--sans);letter-spacing:.1em;fill:var(--ember-text);}
/* draws itself on scroll, then keeps moving */
.plate .dr{stroke-dasharray:1;stroke-dashoffset:1;}
.plate .fd{opacity:0;}
.plate .pop{transform-box:fill-box;transform-origin:center;transform:scale(0);}
.plate.go .dr{animation:incDr 1.3s var(--d,0s) cubic-bezier(.6,0,.2,1) forwards;}
.plate.go .fd{animation:incFd .9s var(--d,0s) ease forwards;}
.plate.go .pop{animation:incPop .55s var(--d,0s) cubic-bezier(.3,1.6,.5,1) forwards;}
.plate .spin{transform-box:view-box;transform-origin:320px 300px;}
.plate.go .spin{animation:incSpin 80s linear 2.5s infinite;}
.plate.go .spin.rev{animation:incSpin 50s linear 2.5s infinite reverse;}
.plate .orbit{transform-box:view-box;transform-origin:320px 300px;opacity:0;}
.plate.go .orbit{animation:incFd .6s 3.2s forwards,incSpin 16s linear 3.2s infinite;}
.plate.go .orbit.o2{animation:incFd .6s 3.6s forwards,incSpin 24s linear 3.6s infinite reverse;}
.plate .pulse{transform-box:fill-box;transform-origin:center;fill:none;stroke:var(--ember);stroke-width:1;opacity:0;}
.plate.go .pulse{animation:incRing 2.8s ease-out 3s infinite;}
.plate.go .pulse.p2{animation-delay:3.9s;} .plate.go .pulse.p3{animation-delay:4.8s;}
.plate .breathe{transform-box:fill-box;transform-origin:center;}
.plate.go .breathe{animation:incFd .9s var(--d) forwards,incBreathe 5s ease-in-out 3s infinite;}
.plate .scan{stroke:var(--ember);stroke-width:1;opacity:0;}
.plate.go .scan{animation:incScan 7s ease-in-out 3s infinite;}
.plate.go .gdot{animation:incPop .5s 2.2s cubic-bezier(.3,1.6,.5,1) forwards,incGpulse 2.4s ease-in-out 3s infinite;}
@keyframes incDr{to{stroke-dashoffset:0;}}
@keyframes incFd{to{opacity:1;}}
@keyframes incPop{to{transform:scale(1);}}
@keyframes incSpin{to{transform:rotate(360deg);}}
@keyframes incRing{0%{transform:scale(1);opacity:.8;}100%{transform:scale(2.8);opacity:0;}}
@keyframes incBreathe{0%,100%{opacity:1;}50%{opacity:.35;}}
@keyframes incScan{0%{transform:translateY(40px);opacity:0;}10%{opacity:.35;}90%{opacity:.35;}100%{transform:translateY(500px);opacity:0;}}
@keyframes incGpulse{0%,100%{transform:scale(1);}50%{transform:scale(1.8);}}
/* the three questions as a list on phones (the drawing keeps only the triangle) */
.plate .plate-q{display:none;list-style:none;padding:0;margin:0 0 12px;}
.plate .plate-q li{padding:9px 0;border-bottom:1px solid rgba(20,20,20,.12);font:400 14.5px/1.45 var(--sans);color:#3a3836;}
.plate .plate-q li em{display:block;margin-top:3px;font:italic 400 14px var(--sans);color:var(--ember-text);}
.plate .plate-q li strong{margin-right:6px;font:700 13px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);}
@media (max-width:600px){
  .plate .q,.plate .lev,.plate .small,.plate .edge-s,.plate .lbl,.plate .edge,.plate .lead{display:none;}
  .plate .plate-q{display:block;}
}

/* Framework library: a shelf */
.lib-head{margin-top:clamp(64px,8vw,100px);padding-top:28px;border-top:1px solid var(--ink);}
.lib-title{margin:0;font-size:28px;}
.shelf{margin-top:28px;overflow-x:auto;overflow-y:visible;padding:18px 0 4px;scrollbar-width:thin;}
.shelf-row{position:relative;display:flex;align-items:flex-end;gap:8px;width:max-content;min-width:100%;height:290px;padding:0 4px;margin-bottom:14px;}
.shelf-row::after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:12px;background:linear-gradient(#2a2622,#141414);border-radius:2px;box-shadow:0 14px 22px -10px rgba(20,20,20,.45);}
.pl{position:relative;width:clamp(160px,14vw,206px);height:100%;flex:none;background:var(--paper);border:1px solid rgba(20,20,20,.16);padding:12px;display:flex;flex-direction:column;gap:8px;transition:transform .3s,box-shadow .3s;}
.pl > *{margin:0;}
.pl:hover{transform:translateY(-8px);box-shadow:0 18px 30px -20px rgba(20,20,20,.55);}
.pl .no{font:500 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);}
.pl svg{width:100%;height:92px;}
.pl .pl-title{font-size:17px;line-height:1.2;letter-spacing:-.01em;}
.pl .pl-text{font:400 13px/1.45 var(--sans);color:#3a3836;}
.pl .tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:auto;list-style:none;padding:0;}
.pl .tags li{font:600 10.5px var(--sans);border:1px solid rgba(20,20,20,.2);border-radius:999px;padding:2px 8px;}
.pl .tags.is-live li{background:var(--ember-btn);border-color:var(--ember-btn);color:#fff;}
.pl .tags.is-live a{color:#fff;}
.spines{display:flex;align-items:flex-end;gap:3px;height:100%;margin-left:6px;}
.spine{width:30px;flex:none;border:1px solid rgba(20,20,20,.22);display:flex;align-items:center;justify-content:center;transition:transform .3s;}
.spine:nth-child(3n){width:36px;} .spine:nth-child(4n){width:26px;}
.spine span{writing-mode:vertical-rl;transform:rotate(180deg);font:600 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;}
.spine:hover{transform:translateY(-6px);}
.sp-a{background:#E4E1D0;color:var(--ash);} .sp-b{background:#D9D5C1;color:#4a4642;} .sp-c{background:#ECEADC;color:var(--ash);}
.sp-ink{background:#1D1A18;color:#C9C4B8;border-color:#1D1A18;}
.spine.lean{transform:rotate(-7deg);transform-origin:bottom left;margin-left:8px;}
.spine.lean:hover{transform:rotate(-7deg) translateY(-6px);}

/* Services: four 4D cards, details on hover (tap on phones) */
.sec-head{text-align:center;max-width:760px;margin:0 auto;}
.sec-head .lede{margin:16px auto 0;}
.dcards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:56px;}
@media (max-width:1140px){.dcards{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.dcards{grid-template-columns:1fr;}}
.dc{position:relative;height:500px;border:1px solid rgba(20,20,20,.16);border-radius:16px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:background-color .45s ease,color .45s ease,border-color .45s ease;outline:none;cursor:pointer;}
.dc > *{margin:0;}
.dc-n{font:600 14px var(--sans);letter-spacing:.04em;color:var(--ash);transition:color .45s;}
.dc-plus{position:absolute;top:18px;right:20px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(20,20,20,.2);display:grid;place-items:center;font:400 20px/1 var(--sans);transition:transform .45s ease,border-color .45s;}
.dc-main > *{margin:0;}
.dc .dc-title{font-size:clamp(26px,2.4vw,34px);line-height:1.05;}
.dc .dc-what{margin:10px 0 0;font:500 15px/1.45 var(--sans);color:#3a3836;max-width:26ch;transition:color .45s;}
.dc-more{max-height:0;opacity:0;transform:translateY(14px);overflow:hidden;transition:max-height .6s ease,opacity .4s ease .08s,transform .55s ease;}
.dc-more > *{margin:0;}
.dc-more .dc-poem{margin:14px 0 0;font:600 17px/1.3 var(--head);font-style:normal;letter-spacing:-.01em;color:var(--ember);}
.dc-more .dc-text{margin:12px 0 10px;font:400 15px/1.55 var(--sans);color:rgba(255,255,255,.75);}
.dc-more ul{list-style:none;padding:0;margin:0;font:500 14px/1.4 var(--sans);}
.dc-more li{padding:7px 0;border-top:1px solid rgba(255,255,255,.14);}
.dc:hover,.dc:focus,.dc.open{background:var(--ink);color:#fff;border-color:var(--ink);}
.dc:hover .dc-n,.dc:focus .dc-n,.dc.open .dc-n{color:var(--ember);}
.dc:hover .dc-what,.dc:focus .dc-what,.dc.open .dc-what{color:#fff;}
.dc:hover .dc-more,.dc:focus .dc-more,.dc.open .dc-more{max-height:440px;opacity:1;transform:none;}
.dc:hover .dc-plus,.dc:focus .dc-plus,.dc.open .dc-plus{transform:rotate(45deg);border-color:rgba(255,255,255,.3);}
.dc:focus-visible{outline:2px solid var(--ember);outline-offset:3px;}
.dc-art{position:absolute;left:50%;top:47%;width:132px;height:132px;transform:translate(-50%,-50%);transition:opacity .35s ease,transform .45s ease;pointer-events:none;}
.dc-art .k{fill:none;stroke:var(--ink);stroke-width:1.2;}
.dc-art .e{fill:none;stroke:var(--ember);stroke-width:1.6;}
.dc-art .f{fill:var(--ember);}
.dc:hover .dc-art,.dc:focus .dc-art,.dc.open .dc-art{opacity:0;transform:translate(-50%,-60%) scale(.9);}
@media (hover:none),(max-width:600px){.dc{height:auto;min-height:220px;} .dc-art{display:none;}}
@media (min-width:601px){.dc .dc-what{min-height:4.35em;} .dc .dc-title{min-height:2.1em;display:flex;align-items:flex-end;}}
.svc-ctas{margin-top:48px;gap:12px;}

@media (prefers-reduced-motion:reduce){
  .plate .dr{stroke-dashoffset:0;} .plate .fd,.plate .orbit{opacity:1;} .plate .pop{transform:none;} .plate.go *{animation:none!important;}
}
/* Editor: show the card details and the finished plate */
.editor-styles-wrapper .dc-more{max-height:none;opacity:1;transform:none;}
.editor-styles-wrapper .dc{height:auto;}
.editor-styles-wrapper .dc-art{display:none;}
.editor-styles-wrapper .plate .dr{stroke-dashoffset:0;}
.editor-styles-wrapper .plate .fd,.editor-styles-wrapper .plate .orbit{opacity:1;}
.editor-styles-wrapper .plate .pop{transform:none;}
.editor-styles-wrapper .dc-more .dc-text{color:#3a3836;}
.editor-styles-wrapper .dc-more li{border-top-color:rgba(20,20,20,.12);}

/* ---------- Testimonials: vertical slider, one at a time ---------- */
.ts{margin-top:40px;}
.ts-view{--h:clamp(300px,34vw,360px);height:var(--h);overflow:hidden;border-top:1px solid rgba(20,20,20,.14);border-bottom:1px solid rgba(20,20,20,.14);}
.ts-track{transition:transform .8s cubic-bezier(.65,0,.25,1);}
.ts-item{height:var(--h);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:900px;}
.ts-item .mark,.ts-full .mark{font:700 96px/.7 var(--head);color:var(--ember);display:block;height:50px;}
.ts-item blockquote{margin:0;font:500 clamp(22px,2.6vw,32px)/1.35 var(--sans);font-style:normal;letter-spacing:-.015em;}
.ts-cite{display:flex;align-items:center;gap:12px;margin:24px 0 0;font:400 15px var(--sans);color:var(--ash);}
.ts-cite b{color:var(--ink);font-weight:600;}
.ts-photo{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:none;}
.ts .more{margin-top:12px;padding:0;background:none;border:0;border-bottom:1px solid currentColor;font:600 14px var(--sans);color:var(--ember-text);cursor:pointer;}
.ts-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;}
.ts-dots{display:flex;gap:6px;}
.ts-dots button{width:24px;height:3px;padding:0;border:0;background:rgba(20,20,20,.15);cursor:pointer;}
.ts-dots button.on{background:var(--ink);}
.ts-nav{display:flex;gap:8px;}
.ts-nav button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(20,20,20,.2);background:transparent;font:500 18px var(--sans);cursor:pointer;color:var(--ink);}
.ts-nav button:hover{background:var(--ink);color:#fff;}
.ts-full{max-width:min(720px,calc(100% - 32px));max-height:85vh;border:0;border-radius:18px;padding:40px clamp(20px,4vw,48px) 32px;background:var(--ivory);color:var(--ink);box-shadow:0 30px 80px -20px rgba(0,0,0,.5);}
.ts-full::backdrop{background:rgba(20,20,20,.6);}
.ts-full-text{font:400 17px/1.7 var(--sans);}
.ts-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(20,20,20,.2);background:transparent;font:400 22px/1 var(--sans);cursor:pointer;}
@media (max-width:760px){.ts-view{--h:440px;}}
.editor-styles-wrapper .ts-view{height:auto;}
.editor-styles-wrapper .ts-item{height:auto;padding:16px 0;}

/* ---------- Insights preview: latest articles ---------- */
.row-head{display:flex;justify-content:space-between;align-items:end;gap:16px;}
.row-link{margin:0;}
.row-link a{font:600 14px var(--sans);color:var(--ember-text);border-bottom:1px solid currentColor;white-space:nowrap;}
.ins-cards .cards{display:grid;grid-auto-flow:column;grid-auto-columns:max(240px,calc((100% - 72px) / 4));gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:32px 0 8px;margin:0;list-style:none;scrollbar-width:thin;}
.ins-cards .cards > li{scroll-snap-align:start;margin:0;}
.ins-cards .cards > li > *{margin:0;}
.card-img{aspect-ratio:3/2;border-radius:6px;overflow:hidden;position:relative;}
.card-img img{width:100%;height:100%;object-fit:cover;}
.card-art svg{position:absolute;inset:0;width:100%;height:100%;}
.card-art.i1{background:var(--ink);} .card-art.i2{background:var(--ember);} .card-art.i3{background:#D9D5C3;} .card-art.i4{background:var(--char);}
.ins-cards .card-cat{margin-top:16px;font:600 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;}
.ins-cards .card-cat a{color:var(--ember-text);}
.ins-cards .card-title{margin:6px 0;font-size:21px;line-height:1.25;letter-spacing:-.01em;}
.ins-cards .card-title a:hover{color:var(--ember-text);}
.ins-cards .card-text p{font:400 14px/1.5 var(--sans);color:#3a3836;margin:0 0 8px;}
.ins-cards .card-meta{gap:8px;font:500 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ash);}
.ins-cards .card-meta > *{margin:0;}
.ins-cards .card-meta > * + *::before{content:"· ";}
.part-insights .home-sec{padding-bottom:clamp(72px,9vw,120px);}
/* Insights cards: one category only, no separators */
.ins-cards .card-cat a ~ a,.ins-cards .card-cat .wp-block-post-terms__separator{display:none;}
.ins-cards .card-cat abbr.lang{letter-spacing:.08em;}
/* Shelf plates: a plate with a link (e.g. in its tag) is clickable as a whole */
.pl:has(a){cursor:pointer;}
.pl a::after{content:"";position:absolute;inset:0;}
.pl:has(a):hover{transform:translateY(-8px);box-shadow:0 18px 30px -20px rgba(20,20,20,.55);}
.pl .tags a{color:inherit;}

/* Copy review v0.12.0: sub-lines under the statement and the About heading */
.is-style-dark .stmt-sub{margin:.6em 0 0;max-width:34ch;font:400 clamp(18px,1.8vw,24px)/1.45 var(--sans);color:rgba(255,255,255,.72);}
.about-sub{margin:10px 0 0!important;font:600 clamp(17px,1.6vw,20px)/1.4 var(--sans);color:var(--ink);}
/* v0.12 copy: longer 4D lists need a taller card in the 4-up row (2-up from 1140px) */
@media (hover:hover) and (min-width:1141px),(hover:hover) and (min-width:601px) and (max-width:860px){.dc{height:620px;} .dc:hover .dc-more,.dc:focus .dc-more,.dc.open .dc-more{max-height:560px;}}

/* Insights cards: air between image, topic and title (Kai, 2026-10-27). Beats the li > * reset above. */
.ins-cards .cards > li > .card-cat{margin-top:18px;}
.ins-cards .cards > li > .card-title{margin:10px 0 8px;}
