
/* ------------------------------------------------------------------
   EBMG website.
   Home follows the twelve elements of the Homepage Design Requirements.
   Each Solutions page is a landing page on the same structure.
   Colour, type and shape per MK-242: two reading pairs, dark on ivory
   and ivory on black. Gold is a signal. Rectilinear only.
   ------------------------------------------------------------------ */

:root{
  --ink:#000000;
  --text:#12171A;
  --ivory:#F5F0E8;
  --gold:#B8975A;
  --gold-light:#D4AF6E;
  --silver:#ACA8A3;

  --ground:var(--ivory);
  --body:var(--text);
  --quiet:#5A5750;
  --rule-2:rgba(18,23,26,0.40);
  --signal:var(--gold);

  --gutter:clamp(20px,5vw,64px);
  --step:clamp(56px,7vw,96px);
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:var(--ink); --body:var(--ivory); --quiet:var(--silver);
    --rule-2:rgba(245,240,232,0.38); --signal:var(--gold-light); color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --ground:var(--ink); --body:var(--ivory); --quiet:var(--silver);
  --rule-2:rgba(245,240,232,0.38); --signal:var(--gold-light); color-scheme:dark;
}

*{box-sizing:border-box;}
body{
  background:var(--ground); color:var(--body);
  font-family:"DM Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased;
}
.wrap{ max-width:1140px; margin:0 auto; padding-inline:var(--gutter); }
section{ padding-block:var(--step); }

.onblack{ background:var(--ink); color:var(--ivory); }
.onblack .quiet{ color:var(--silver); }
.onblack .eyebrow{ color:var(--gold-light); }
.onblack .btn,.ctaband .btn,.quotepanel .btn,.restile .btn,.pcard .btn{ color:var(--ivory); border-color:var(--ivory); }
.onblack .btn.key,.ctaband .btn.key,.quotepanel .btn.key,.restile .btn.key,.pcard .btn.key{ color:var(--ink); background:var(--gold-light); border-color:var(--gold-light); }
.onblack .btn:hover,.onblack .btn:focus-visible,
.ctaband .btn:hover,.ctaband .btn:focus-visible,
.quotepanel .btn:hover,.quotepanel .btn:focus-visible,
.restile .btn:hover,.restile .btn:focus-visible,
.pcard .btn:hover,.pcard .btn:focus-visible{ color:var(--ink); background:var(--gold-light); border-color:var(--gold-light); }
.onblack .btn.key:hover,.onblack .btn.key:focus-visible,
.ctaband .btn.key:hover,.ctaband .btn.key:focus-visible{ color:var(--ink); background:var(--ivory); border-color:var(--ivory); }
.onblack .grid,.onblack .cell{ border-color:rgba(245,240,232,0.26); }
.onblack .cell p{ color:var(--silver); }
.onblack .rulemark{ background:var(--gold-light); }

.display{
  font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  font-weight:400; line-height:1.12; letter-spacing:-0.005em; text-wrap:balance; margin:0;
}
h1.display{ font-size:clamp(36px,5vw,54px); }
h2.display{ font-size:clamp(27px,3.4vw,40px); }
h3.display{ font-size:clamp(22px,2.3vw,29px); }
.accent{ color:var(--signal); font-style:italic; }
.onblack .accent{ color:var(--gold-light); }

.eyebrow{ font-size:12px; font-weight:700; letter-spacing:0.24em; text-transform:uppercase; color:var(--signal); margin:0; }
.lede{ font-size:clamp(16px,1.3vw,18px); line-height:1.65; margin:0; }
.caption{ font-size:14px; line-height:1.6; margin:0; }
p{ margin:0; }
.rulemark{ width:56px; height:2px; background:var(--signal); }

.center{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:20px; }
.center .lede{ max-width:58ch; }
.center h1,.center h2{ max-width:22ch; }

.actions{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }
.btn{
  font-family:inherit; font-size:12px; font-weight:700; letter-spacing:0.16em;
  text-transform:uppercase; text-decoration:none; padding:15px 28px; display:inline-block;
  border:1px solid var(--body); color:var(--body); background:transparent;
  transition:color .18s ease,border-color .18s ease;
}
.btn.key{ color:var(--ink); background:var(--gold); border-color:var(--gold); }
.btn:hover,.btn:focus-visible{ color:var(--ivory); background:var(--gold); border-color:var(--gold); }
.btn.key:hover,.btn.key:focus-visible{ color:var(--ivory); background:var(--ink); border-color:var(--ink); }
.btn{ transition:color .18s ease, background-color .18s ease, border-color .18s ease; }
.btn.sm{ padding:11px 20px; }

/* ---------- Navigation with dropdowns ---------- */
.topbar{ background:var(--ink); color:var(--ivory); padding-block:0; position:relative; z-index:50; box-shadow:0 1px 0 rgba(184,151,90,0.55), 0 16px 34px rgba(0,0,0,0.55); }
.topbar .wrap{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 20px; padding-block:16px; }
.brand{ display:block; text-decoration:none; color:var(--ivory); flex:0 0 auto; line-height:0; }
.brand .logo{
  display:block; width:clamp(132px,15vw,167px); aspect-ratio:2.609/1;
  background-image:var(--logo-image,none); background-size:contain;
  background-position:left center; background-repeat:no-repeat;
}

nav.primary{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 20px; }
.navitem{ position:relative; }
.navitem > a{
  font-size:14px; font-weight:500; color:var(--ivory); text-decoration:none;
  padding:6px 0 6px; display:inline-flex; align-items:center; gap:6px;
  border-bottom:1px solid transparent;
}
.navitem > a:hover,.navitem > a:focus-visible,.navitem:focus-within > a{ color:var(--gold-light); border-bottom-color:var(--gold-light); }
.navitem > a[aria-current="page"]{ color:var(--gold-light); }
.caret{ width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent; border-top:5px solid currentColor; }

.submenu{
  position:absolute; top:100%; left:-18px; min-width:236px;
  background:var(--ink); border:1px solid rgba(245,240,232,0.22);
  padding:8px 0; margin:0; list-style:none; display:none; z-index:60;
}
.navitem:hover .submenu,.navitem:focus-within .submenu{ display:block; }
.submenu a{
  display:block; padding:11px 22px; font-size:12px; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--ivory); text-decoration:none;
}
.submenu a:hover,.submenu a:focus-visible{ color:var(--gold-light); }
@media (max-width:960px){
  .submenu{ position:static; display:block; border:0; padding:0 0 6px; min-width:0; background:transparent; }
  .submenu a{ padding:6px 0 6px 14px; }
  .caret{ display:none; }
  nav.primary{ gap:2px 16px; }
}

/* ---------- Grids ---------- */
.grid{ display:grid; width:100%; gap:0; border-top:1px solid var(--rule-2); border-left:1px solid var(--rule-2); }
.grid.g2{ grid-template-columns:repeat(2,1fr); }
.grid.g3{ grid-template-columns:repeat(3,1fr); }
.grid.g4{ grid-template-columns:repeat(4,1fr); }
.cell{
  border-right:1px solid var(--rule-2); border-bottom:1px solid var(--rule-2);
  padding:clamp(22px,2.8vw,32px);
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:11px;
}
@media (max-width:860px){ .grid.g4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .grid.g2,.grid.g3,.grid.g4{ grid-template-columns:1fr; } }
.cell h3{ margin:0; }
.cell p{ font-size:15px; line-height:1.6; max-width:32ch; color:var(--quiet); }

.driver{ gap:5px; padding-block:clamp(16px,2vw,24px); }
.driver .n{ font-family:"Cormorant Garamond",Georgia,serif; font-size:21px; line-height:1; color:var(--gold-light); font-variant-numeric:tabular-nums; }
.driver .t{ font-size:14px; line-height:1.4; color:var(--silver); }

.pagehead{ padding-block:clamp(56px,7vw,96px); }

.steps{ counter-reset:s; }
.steps .cell::before{
  counter-increment:s; content:counter(s,decimal-leading-zero);
  font-family:"Cormorant Garamond",Georgia,serif; font-size:21px; line-height:1; color:var(--signal);
}
.onblack .steps .cell::before{ color:var(--gold-light); }

.article{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:16px; max-width:66ch; margin:0 auto; }

/* Two column band: supporting visual left, features right */
.twocol{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(26px,4vw,60px); align-items:stretch; width:100%; }
@media (max-width:860px){ .twocol{ grid-template-columns:1fr; } }
.col{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:20px; }
.col .grid{ margin-top:auto; }
/* Features: a plain list of names, as in the wireframe. No boxes. */
.featlist{ width:100%; margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:clamp(8px,1.4vw,16px); }
.featlist li,.featlist a{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(26px,3vw,38px); line-height:1.15; font-weight:400;
  text-decoration:none; color:inherit; display:inline-block;
  transition:color .18s ease;
}
.featlist a:hover,.featlist a:focus-visible{ color:var(--gold-light); }

/* Supporting visual panel, in the image position */
.visualpanel{
  background:var(--ink); color:var(--ivory);
  border:1px solid rgba(245,240,232,0.26);
  padding:clamp(24px,3vw,36px);
  display:flex; flex-direction:column; gap:18px; justify-content:center;
}
.visualpanel .eyebrow{ color:var(--gold-light); }
.visualpanel .grid,.visualpanel .cell{ border-color:rgba(245,240,232,0.26); }

/* Hero: the brand kit image, whose curved sweep carries into the next section */
.hero{
  position:relative; overflow:hidden; isolation:isolate;
  aspect-ratio:16/9; min-height:540px;
  display:flex; align-items:center;
  padding-block:clamp(40px,5vw,72px) clamp(120px,18vw,300px);
}
.hero .herobg{
  position:absolute; inset:0; z-index:-2;
  background-color:var(--ink);
  background-image:var(--hero-image, none);
  background-size:cover; background-position:center bottom; background-repeat:no-repeat;
}
.hero .heroscrim{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg,
    rgba(0,0,0,0.86) 0%, rgba(0,0,0,0.74) 30%,
    rgba(0,0,0,0.42) 52%, rgba(0,0,0,0.06) 72%, rgba(0,0,0,0) 100%);
  /* Lift the scrim off the bottom so the image's own sweep stays clean
     and meets the ivory band below with no tint across the seam. */
  -webkit-mask-image:linear-gradient(180deg, #000 0%, #000 52%, rgba(0,0,0,0) 66%);
  mask-image:linear-gradient(180deg, #000 0%, #000 52%, rgba(0,0,0,0) 66%);
}
.hero .wrap{ position:relative; z-index:1; width:100%; }
.heroinner{
  display:flex; flex-direction:column; align-items:flex-start; text-align:left;
  gap:20px; width:100%; max-width:min(600px,52%);
}
.heroinner h1,.heroinner .lede{ max-width:100%; }
.heroinner .actions{ justify-content:flex-start; }
@media (max-width:860px){
  .hero{ aspect-ratio:auto; min-height:0; padding-block:clamp(56px,10vw,90px) clamp(150px,42vw,260px); }
  .hero .herobg{ background-position:72% bottom; }
  .heroinner{ max-width:100%; }
  .hero .heroscrim{
    background:linear-gradient(180deg, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.66) 55%, rgba(0,0,0,0.40) 100%);
    -webkit-mask-image:linear-gradient(180deg, #000 0%, #000 62%, rgba(0,0,0,0) 80%);
    mask-image:linear-gradient(180deg, #000 0%, #000 62%, rgba(0,0,0,0) 80%);
  }
}

/* The band the hero sweeps into. Flat ivory, no gradient, no shadow. */
.ivoryband{ background:#F5F0E8; color:var(--text); box-shadow:none; }
.ivoryband .eyebrow{ color:var(--gold); }
.ivoryband .featlist li,.ivoryband .featlist a{ color:var(--text); }
.ivoryband .featlist a:hover,.ivoryband .featlist a:focus-visible{ color:var(--gold); }

/* Image card carrying its own title and description */
.imagecard{
  position:relative; overflow:hidden; isolation:isolate;
  aspect-ratio:4/3; min-height:300px;
  background-color:var(--ink);
  background-image:var(--whatwedo-image, none);
  background-size:cover; background-position:center;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; gap:12px; padding:clamp(28px,4vw,48px);
  color:var(--ivory);
}
.imagecard::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg, rgba(0,0,0,0.20) 0%, rgba(0,0,0,0.52) 58%, rgba(0,0,0,0.78) 100%);
}
.imagecard{ justify-content:flex-end; text-align:left; align-items:flex-start; }
.imagecard p{ max-width:40ch; color:#E7E2DA; }
.imagecard h3{ margin:0; color:var(--ivory); }
.imagecard p{ font-size:15px; line-height:1.65; color:var(--silver); max-width:36ch; margin:0; }
.imagecard{ min-width:0; max-width:100%; }
@media (max-width:560px){ .imagecard{ min-height:0; } }

/* Success Readiness Checklist: scored self assessment */
.segbar{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px clamp(14px,2.4vw,34px); width:100%; }
.segbar button{ appearance:none; background:none; border:0; cursor:pointer; padding:6px 2px;
  font-family:inherit; font-size:12px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--quiet); transition:color .18s ease; white-space:nowrap; }
.segbar button:hover,.segbar button:focus-visible{ color:var(--gold); }
.segbar button[aria-pressed="true"]{ color:var(--gold); border-bottom:1px solid var(--gold); }
.ckgfocus{ margin:0 0 16px; font-size:14px; line-height:1.6; color:var(--quiet); font-style:italic; }
.cksheet{ display:grid; grid-template-columns:1fr 1fr; gap:0 clamp(30px,4vw,60px); width:100%; align-items:start; }
@media (max-width:900px){ .cksheet{ grid-template-columns:1fr; } }
.ckgroup{ padding-block:clamp(22px,2.6vw,30px); border-top:1px solid rgba(18,23,26,0.16); }
.ckgroup:first-child,.cksheet > .ckgroup:nth-child(2){ border-top:0; }
@media (max-width:900px){ .cksheet > .ckgroup:nth-child(2){ border-top:1px solid rgba(18,23,26,0.16); } }
.ckgroup h3{ margin:0 0 4px; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(20px,2vw,25px); line-height:1.25; font-weight:400; }
.ckhint{ margin:0 0 16px; font-size:11px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); }
.ckitem{ display:flex; gap:13px; align-items:flex-start; padding:11px 10px 11px 6px; cursor:pointer; transition:background-color .2s ease; }
.ckitem:hover{ background:rgba(18,23,26,0.045); }
.ckitem input{ appearance:none; -webkit-appearance:none; flex:0 0 auto; width:19px; height:19px; margin:2px 0 0; border:1px solid rgba(18,23,26,0.45); background:transparent; cursor:pointer; position:relative; }
.ckitem input[type="radio"]{ border-radius:50%; }
.ckitem input:checked{ border-color:var(--gold); background:var(--gold); }
.ckitem input:checked::after{ content:""; position:absolute; left:6px; top:2px; width:5px; height:10px; border:solid #FFFFFF; border-width:0 2px 2px 0; transform:rotate(45deg); }
.ckitem input[type="radio"]:checked::after{ left:5px; top:5px; width:7px; height:7px; border:0; border-radius:50%; background:#FFFFFF; transform:none; }
.ckitem input:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.ckitem span{ font-size:15px; line-height:1.6; color:var(--quiet); }
.ckitem b{ color:var(--text); font-weight:600; }
.ckitem input:checked ~ span{ color:var(--text); }
.ckgroup.cktier{ grid-column:1 / -1; border-top:1px solid rgba(18,23,26,0.16); }
.cktier .tierrow{ display:grid; grid-template-columns:repeat(4,1fr); gap:0 clamp(14px,2vw,26px); }
@media (max-width:700px){ .cktier .tierrow{ grid-template-columns:repeat(2,1fr); } }

.ckresult{ border:1px solid rgba(245,240,232,0.26); background:var(--ink); color:var(--ivory);
  padding:clamp(26px,3.4vw,44px); display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; width:100%; }
.cknum{ margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(52px,7vw,86px); line-height:1; color:var(--gold-light); }
.cknum small{ font-size:0.32em; letter-spacing:0.18em; text-transform:uppercase; color:var(--silver); display:block; margin-top:10px; }
.ckband{ margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(23px,2.6vw,32px); line-height:1.25; font-weight:400; }
.ckdiag{ margin:0; font-size:15px; line-height:1.7; color:var(--silver); max-width:60ch; }
.ckfocus{ margin:0; font-size:13px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-light); }

/* Benefits panel: heading over three unbordered text columns */
.benefitpanel{
  background:#F5F0E8;
  padding:clamp(34px,5vw,68px) clamp(24px,4vw,56px);
  display:flex; flex-direction:column; align-items:center; gap:clamp(28px,4vw,46px);
  width:100%;
}
.benefitpanel h2{ color:var(--text); }
.benefitpanel .lab{ color:var(--gold); }
.benefitpanel p{ color:#5A5750; }
.benefitcols{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:0; width:100%;
}
@media (max-width:720px){ .benefitcols{ grid-template-columns:1fr; } }
.benefitcol{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px;
  padding:clamp(22px,2.6vw,32px) clamp(18px,2.4vw,34px);
  border-left:1px solid rgba(18,23,26,0.16);
  transition:background-color .22s ease;
}
.benefitcol:first-child{ border-left:0; }
@media (max-width:720px){
  .benefitcol{ border-left:0; border-top:1px solid rgba(18,23,26,0.16); }
  .benefitcol:first-child{ border-top:0; }
}
.benefitcol:hover{ background:rgba(18,23,26,0.045); }
.benefitcol .lab,.benefitcol p{ transition:color .22s ease; }
.benefitcol:hover p{ color:var(--text); }

.rettable{ width:100%; margin:clamp(22px,2.6vw,34px) 0 14px; text-align:left; }
.retrow{ display:grid; grid-template-columns:minmax(0,1.9fr) minmax(0,1fr); gap:clamp(14px,2vw,28px);
  padding:14px 0; border-top:1px solid rgba(18,23,26,0.16); align-items:baseline; }
.retrow span{ min-width:0; }
.retrow:last-child{ border-bottom:1px solid rgba(18,23,26,0.16); }
.rethead span{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
.rethead{ border-top:0; }
.retrow span:last-child{ font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(16px,1.5vw,19px); }
.rethead span:last-child{ font-family:"DM Sans",system-ui,sans-serif; font-size:12px; }
.retrow:not(.rethead):hover{ background:rgba(18,23,26,0.045); }
.onblack .retrow{ border-color:rgba(245,240,232,0.18); }
.onblack .retrow:not(.rethead):hover{ background:rgba(245,240,232,0.05); }
@media (max-width:620px){
  .retrow{ grid-template-columns:1fr; gap:4px; }
}

.doclist{ list-style:none; margin:clamp(20px,2.4vw,30px) auto 0; padding:0; max-width:900px;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px clamp(18px,2.4vw,32px); text-align:left; }
.doclist li{ position:relative; padding-left:18px; font-size:15px; line-height:1.5; min-width:0; }
.doclist li::before{ content:""; position:absolute; left:0; top:.62em; width:7px; height:1px; background:var(--accent); }
.onblack .doclist li{ color:var(--silver); }
@media (max-width:760px){ .doclist{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:440px){ .doclist{ grid-template-columns:1fr; } }

.statrow{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; width:100%;
  margin-top:clamp(28px,3.4vw,44px); border-top:1px solid rgba(245,240,232,0.26); }
.stat{ display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; min-width:0;
  padding:clamp(22px,2.6vw,32px) clamp(10px,1.6vw,22px);
  border-left:1px solid rgba(245,240,232,0.26); }
.stat:first-child{ border-left:0; }
.stat .num{ font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(30px,3.6vw,46px);
  line-height:1; font-weight:600; color:var(--gold-light); }
.stat .lab{ font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--silver); line-height:1.5; }
section:not(.onblack) .statrow,section:not(.onblack) .stat{ border-color:var(--rule-2); }
section:not(.onblack) .stat .num{ color:var(--gold); }
section:not(.onblack) .stat .lab{ color:var(--quiet); }
@media (max-width:720px){
  .statrow{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stat{ border-left:0; border-top:1px solid rgba(245,240,232,0.26); }
  .stat:first-child,.stat:nth-child(2){ border-top:0; }
  section:not(.onblack) .stat{ border-color:var(--rule-2); }
}

.timeline{ width:100%; text-align:left; margin-top:clamp(26px,3vw,42px);
  border-left:1px solid var(--rule-2); }
.tlrow{ position:relative; padding:0 0 clamp(26px,3vw,40px) clamp(22px,3vw,38px); }
.tlrow:last-child{ padding-bottom:0; }
.tlrow::before{ content:""; position:absolute; left:-4px; top:12px; width:7px; height:7px; background:var(--signal); }
.tlrow .yr{ display:block; font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(26px,3vw,36px); line-height:1; color:var(--gold); }
.tlrow h3{ margin:10px 0 6px; }
.tlrow p{ margin:0; max-width:66ch; }
.onblack .timeline{ border-color:rgba(245,240,232,0.26); }
.onblack .tlrow .yr{ color:var(--gold-light); }

section:not(.onblack) .hostcard,section:not(.onblack) .hostpic{ border-color:var(--rule-2); }

.quoteshot{
  position:relative; display:flex; flex-direction:column; justify-content:flex-end; gap:12px;
  aspect-ratio:16/9; width:100%; padding:clamp(20px,2.4vw,30px);
  background-image:linear-gradient(rgba(0,0,0,0.30) 0%,rgba(0,0,0,0.42) 45%,rgba(0,0,0,0.80) 100%),var(--img-impact);
  background-size:cover; background-position:center; background-color:#0B0E10;
  color:var(--ivory); text-align:left;
}
.quoteshot blockquote{
  margin:0; font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(17px,1.85vw,25px); line-height:1.26; text-wrap:balance;
}
.splitgrid.splitnum{ align-items:center; grid-template-columns:1.35fr 1fr; }
.numsection .wrap{ max-width:1240px; }
.focusgrid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,2.6vw,34px); width:100%; }
@media (max-width:760px){ .focusgrid{ grid-template-columns:1fr; } }
.focuscard{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px;
  padding:clamp(30px,4vw,54px) clamp(22px,3vw,40px);
  background:rgba(245,240,232,0.045); min-width:0;
}
.focuscard .eyebrow{ margin:0; }
.focuscard h3{ margin:0; font-size:clamp(28px,3.2vw,42px); line-height:1.1; }
.focuscard p:last-child{ margin:0; color:var(--silver); font-size:16px; line-height:1.6; max-width:44ch; }
@media (max-width:900px){ .splitgrid.splitnum{ grid-template-columns:1fr; } }
.splitnum .numblock .stat{ padding:clamp(15px,1.7vw,21px) clamp(10px,1.3vw,18px); gap:7px; }
.splitnum .numblock .stat .num{ font-size:clamp(28px,3vw,40px); }
.splitnum .splitcopy .display{ font-size:clamp(28px,3.2vw,40px); }
.splitnum .splitcopy{ padding-block:0; gap:16px; }
.splitnum .splitcopy .display{ margin:0; }
.quoteshot .qattr{ margin:0; font-size:11px; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--gold-light); }

.numblock{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; width:100%;
  border:1px solid rgba(245,240,232,0.26); margin-top:8px;
}
.numblock .stat{ border-left:1px solid rgba(245,240,232,0.26); border-top:1px solid rgba(245,240,232,0.26); }
.numblock .stat:nth-child(odd){ border-left:0; }
.numblock .stat:nth-child(-n+2){ border-top:0; }
@media (max-width:520px){
  .numblock{ grid-template-columns:1fr; }
  .numblock .stat{ border-left:0; border-top:1px solid rgba(245,240,232,0.26); }
  .numblock .stat:first-child{ border-top:0; }
}
.hostpic{ background-size:cover; background-position:center 18%; }
.benefitcol .lab{
  font-size:12px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--signal); margin:0;
}
.benefitcol p{ font-size:15px; line-height:1.7; color:var(--quiet); max-width:34ch; }

/* Fourth section: quote panel left, resource tile and badge stacked right */
.proofgrid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(22px,3vw,40px); align-items:stretch; width:100%; }
@media (max-width:860px){ .proofgrid{ grid-template-columns:1fr; } }
.quotepanel{
  border:1px solid rgba(245,240,232,0.26); background:var(--ink); color:var(--ivory);
  padding:clamp(28px,4vw,52px);
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:22px;
}
.quotepanel blockquote{ hanging-punctuation:first last;
  font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(23px,2.6vw,32px);
  line-height:1.3; margin:0; max-width:24ch; text-wrap:balance;
}
.quotepanel .qattr{ margin-top:12px; }
.qattr{ font-size:11px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--silver); }
.rightstack{ display:flex; flex-direction:column; gap:clamp(22px,3vw,40px); }
.restile{
  border:1px solid rgba(245,240,232,0.26); background:var(--ink); color:var(--ivory);
  padding:clamp(24px,3vw,36px); display:flex; flex-direction:column; gap:16px; flex:1;
}
.restile h3{ margin:0; }
.resgrid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2.2vw,26px); }
@media (max-width:560px){ .resgrid{ grid-template-columns:1fr; } }
.rescard{ display:flex; flex-direction:column; gap:12px; text-decoration:none; color:var(--ivory); }
.rescard .shot{ display:block; width:100%; aspect-ratio:4/3; background-size:cover; background-position:center; background-color:#0B0E10; }
.rescard h3{ margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(17px,1.45vw,20px); line-height:1.3; font-weight:400; text-wrap:balance; min-height:2.6em; }
.rescard .more{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-light); margin-top:auto; }
.rescard:hover h3,.rescard:focus-visible h3{ color:var(--gold-light); }
.reslist{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; }
.reslist li{ border-top:1px solid rgba(245,240,232,0.22); }
.reslist a{ display:block; padding:13px 0; font-size:15px; line-height:1.45; color:var(--ivory); text-decoration:none; }
.reslist a:hover,.reslist a:focus-visible{ color:var(--gold-light); }
.badgebar{
  border:1px solid var(--gold-light); color:var(--gold-light); background:var(--ink);
  padding:26px clamp(16px,2vw,26px);
  display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(12px,2vw,24px); align-items:center;
}

/* Form card, as on the landing page example */
.formcard{
  background:var(--ivory); color:var(--text);
  border:1px solid rgba(18,23,26,0.18);
  padding:clamp(24px,3vw,36px);
  max-width:520px; width:100%; margin:0 auto;
  display:flex; flex-direction:column; gap:16px; text-align:left;
}
.field{ display:flex; flex-direction:column; gap:6px; }
.field label{ font-size:11px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--quiet); }
.field input,.field textarea{
  font-family:inherit; font-size:15px; padding:12px 13px;
  border:1px solid rgba(18,23,26,0.32); background:#fff; color:var(--text);
}
.field input:focus-visible,.field textarea:focus-visible{ outline:2px solid var(--gold); outline-offset:1px; }
.field textarea{ resize:vertical; }
.fieldrow{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:520px){ .fieldrow{ grid-template-columns:1fr; } }
.formcard button{
  font-family:inherit; font-size:12px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
  padding:15px 22px; border:1px solid var(--ink); background:var(--ink); color:var(--gold-light); cursor:pointer;
}
.formcard button:hover{ background:transparent; color:var(--ink); }

/* Price table */
.pricetable{ width:100%; border-collapse:collapse; font-size:15px; }
.pricetable th,.pricetable td{ text-align:left; padding:13px 14px; border-bottom:1px solid var(--rule-2); }
.pricetable th{ font-size:11px; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--quiet); }
.pricetable td.fee{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.tablescroll{ width:100%; overflow-x:auto; }

footer{ background:var(--ink); color:var(--silver); padding-block:clamp(42px,6vw,60px) 28px; position:relative; z-index:5; box-shadow:0 -1px 0 rgba(184,151,90,0.55), 0 -16px 34px rgba(0,0,0,0.55); }
footer .cols{ display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:34px clamp(38px,6vw,84px); margin-bottom:36px; text-align:center; }
footer .cols > *{ min-width:132px; }
footer ul{ align-items:center; }
footer h5{ font-size:12px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--ivory); margin:0 0 13px; }
footer ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:8px; }
footer a{ color:var(--silver); text-decoration:none; border-bottom:1px solid transparent; font-size:15px; }
footer a:hover,footer a:focus-visible{ color:var(--gold-light); border-bottom-color:var(--gold-light); }
.legal{ border-top:1px solid rgba(245,240,232,0.18); padding-top:20px; text-align:center; font-size:14px; }

a:focus-visible,.btn:focus-visible,button:focus-visible{ outline:2px solid var(--signal); outline-offset:3px; }
/* Section 12 - success indicators */
.indcol{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; min-width:0; }
.indcol .num{ font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(34px,4vw,48px); line-height:1; font-weight:600; color:var(--ivory); }
.indcol .cap{ font-size:11px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-light); }
/* Index pages: case studies, blog, events */
.swash{ position:relative; display:inline-block; }
.swash::after{
  content:""; position:absolute; left:4%; right:4%; bottom:-0.16em; height:0.055em;
  background:var(--gold-light); border-radius:50%;
  transform:rotate(-0.6deg);
}
.filterbar{
  display:flex; flex-wrap:nowrap; justify-content:center; align-items:center;
  gap:clamp(14px,2.4vw,34px); width:100%;
  overflow-x:auto; scrollbar-width:none; -ms-overflow-style:none;
  padding-bottom:2px;
}
.filterbar::-webkit-scrollbar{ display:none; }
.filterbar button{ white-space:nowrap; flex:0 0 auto; }
.filterbar button{
  appearance:none; background:none; border:0; cursor:pointer; padding:6px 2px;
  font-family:inherit; font-size:12px; font-weight:700; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--quiet); transition:color .18s ease;
}
.onblack .filterbar button{ color:var(--silver); }
.filterbar button:hover,.filterbar button:focus-visible{ color:var(--gold); }
.onblack .filterbar button:hover,.onblack .filterbar button:focus-visible{ color:var(--gold-light); }
.filterbar button[aria-pressed="true"]{ color:var(--gold); }
.onblack .filterbar button[aria-pressed="true"]{ color:var(--gold-light); }

.cardgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,2.6vw,34px); width:100%; }
.cardgrid[data-grid="blog"]{ grid-template-columns:repeat(2,1fr); }
.cardgrid[data-grid="events"]{ grid-template-columns:minmax(0,380px); justify-content:center; }
@media (max-width:900px){ .cardgrid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ .cardgrid{ grid-template-columns:1fr; } }
.pcard[hidden]{ display:none !important; }
.pcard{
  display:flex; flex-direction:column; border:1px solid var(--rule-2);
  background:transparent; overflow:hidden;
}
.onblack .pcard{ border-color:rgba(245,240,232,0.26); }
.pcard .cap{
  min-height:190px;
  aspect-ratio:auto; display:flex; flex-direction:column; justify-content:flex-end;
  padding:clamp(16px,2vw,22px); background:var(--ink); color:var(--ivory); gap:4px;
  border-bottom:1px solid rgba(245,240,232,0.26);
}
.pcard .cap .kicker{ font-size:11px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-light); }
.pcard .cap .figure{ font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(30px,3.4vw,44px); line-height:1; font-weight:600; }
.pcard .cap .unit{ font-size:12px; line-height:1.4; color:var(--silver); max-width:26ch; }
.pcard .cap .unit{ margin-inline:auto; }
.pcard .body{ display:flex; flex-direction:column; gap:12px; padding:clamp(18px,2.2vw,26px); flex:1; }
.pcard h3{ margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(20px,2vw,25px); line-height:1.25; font-weight:400; min-height:2.5em; display:flex; align-items:center; justify-content:center; text-align:center; text-wrap:balance; }
.pcard p{ margin:0; font-size:14px; line-height:1.6; color:var(--quiet); }
.onblack .pcard p{ color:var(--silver); }
.pcard .foot{ margin-top:auto; padding-top:4px; }

.ctaband{ background:var(--ink); color:var(--ivory); }
.ctaband .wrap{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:18px; }
.ctaband .lede{ color:var(--silver); max-width:48ch; }
/* Case study detail */
.csmeta{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px 18px; font-size:13px; color:var(--silver); }
.csmeta span{ display:inline-flex; align-items:center; gap:8px; }
.csbody{ max-width:74ch; margin:0 auto; display:flex; flex-direction:column; gap:clamp(30px,4vw,48px); }
.csblock h2{
  font-size:12px; font-weight:700; letter-spacing:0.24em; text-transform:uppercase;
  color:var(--signal); margin:0 0 16px; font-family:inherit;
}
.onblack .csblock h2{ color:var(--gold-light); }
.csblock p{ margin:0 0 14px; font-size:17px; line-height:1.66; }
.csblock p:last-child{ margin-bottom:0; }
.cslist{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:14px; }
.cslist li{ position:relative; padding-left:26px; font-size:17px; line-height:1.6; }
.cslist li::before{ content:""; position:absolute; left:0; top:0.62em; width:12px; height:1px; background:var(--signal); }
.onblack .cslist li::before{ background:var(--gold-light); }
.cslist li b{ font-weight:600; }
.csintro{ font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(20px,2.2vw,26px); line-height:1.5; }
.pcard .shot{ display:block; width:100%; aspect-ratio:4/3; background-size:cover; background-position:center; background-color:var(--ink); margin:2px 0 4px; }
.csshot{ width:100%; aspect-ratio:16/9; background-size:cover; background-position:center; background-color:var(--ink); }
@media (max-width:620px){ .csshot{ aspect-ratio:4/3; } }
/* Event / webinar page */
.evhead{ background:#F5F0E8; color:var(--text); }
.evhead .eyebrow{ color:var(--quiet); }
.evhead .display{ text-transform:uppercase; font-size:clamp(24px,3.1vw,40px); line-height:1.1; letter-spacing:0.01em; text-wrap:balance; max-width:40ch; }
.evmeta{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px 30px; font-size:16px; color:var(--quiet); }
.evmeta span{ display:inline-flex; align-items:center; gap:9px; }
.evprice{ font-size:15px; letter-spacing:0.06em; color:var(--text); }
.evprice b{ color:var(--gold); letter-spacing:0.12em; }
.evcount{ display:flex; flex-direction:column; align-items:center; gap:12px; }
.evcount .lab{ font-size:12px; font-weight:700; letter-spacing:0.24em; text-transform:uppercase; color:var(--quiet); }
.evclock{ display:flex; gap:clamp(14px,3vw,34px); }
.evunit{ display:flex; flex-direction:column; align-items:center; gap:4px; min-width:58px; }
.evunit b{ font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(30px,4vw,46px); line-height:1; font-weight:600; color:var(--text); }
.evunit span{ font-size:10px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--quiet); }
.evtba{ font-size:15px; color:var(--quiet); }
.classgrid{ display:grid; grid-template-columns:minmax(0,0.92fr) minmax(0,1.08fr); gap:clamp(26px,4vw,58px); align-items:center; width:100%; }
@media (max-width:860px){ .classgrid{ grid-template-columns:1fr; gap:30px; } }
.classpic{ width:100%; aspect-ratio:4/3; background-image:var(--img-class); background-size:cover; background-position:center; background-color:var(--ink); }
.yeslist{ display:flex; flex-direction:column; gap:clamp(14px,1.8vw,20px); width:100%; text-align:left; margin:0; padding:0; list-style:none; }
.yeslist li{ display:flex; gap:14px; font-size:16px; line-height:1.55; }
.yeslist .tick{ flex:0 0 auto; width:22px; height:22px; border:1px solid var(--gold); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; margin-top:2px; }
.onblack .yeslist .tick{ border-color:var(--gold-light); color:var(--gold-light); }
.hostcard{ display:grid; grid-template-columns:clamp(240px,28vw,330px) 1fr; grid-template-rows:auto 1fr; column-gap:clamp(26px,4vw,54px); row-gap:18px; width:100%; text-align:left; border:1px solid rgba(245,240,232,0.26); padding:clamp(22px,3vw,38px); }
.hostpic{ grid-column:1; grid-row:2; display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 18%; background-color:var(--ink); border:1px solid rgba(245,240,232,0.26); }
@media (max-width:700px){ .hostcard{ grid-template-columns:1fr; grid-template-rows:auto auto auto; justify-items:center; text-align:center; }
  .hostcard .hostid{ grid-column:1; grid-row:1; align-items:center; }
  .hostcard .hostpic{ grid-column:1; grid-row:2; max-width:250px; }
  .hostcard .hostbio{ grid-column:1; grid-row:3; }
  .hostid .nm{ white-space:normal; } }
.hostid{ grid-column:1; grid-row:1; display:flex; flex-direction:column; gap:4px; }
.hostbio{ grid-column:2; grid-row:2; display:flex; flex-direction:column; gap:14px; }
.hostbio p{ margin:0; }
.hostid .nm{ font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(21px,2vw,26px); line-height:1.2; white-space:nowrap; }
.hostid .rl{ font-size:12px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-light); }
.agenda{ width:100%; border-top:1px solid rgba(18,23,26,0.22); }
.agenda details{ border-bottom:1px solid rgba(18,23,26,0.22); }
.agenda summary{ list-style:none; cursor:pointer; padding:22px 0; display:flex; gap:18px; align-items:baseline; justify-content:space-between; }
.agenda summary::-webkit-details-marker{ display:none; }
.agenda .slot{ font-size:12px; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); flex:0 0 auto; }
.agenda .ttl{ font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(19px,2.2vw,26px); line-height:1.25; flex:1; text-align:left; }
.agenda .plus{ font-size:22px; color:var(--gold); flex:0 0 auto; }
.agenda details[open] .plus{ transform:rotate(45deg); }
.sponsgrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:clamp(22px,4vw,52px); width:100%; align-items:center; justify-items:center; }
.sponsgrid a,.sponsgrid span{ display:flex; align-items:center; justify-content:center; width:100%; height:clamp(52px,7vw,84px); }
.sponsgrid img{ max-width:100%; max-height:100%; object-fit:contain; opacity:.86; transition:opacity .18s ease,transform .18s ease; }
.sponsgrid a:hover img,.sponsgrid a:focus-visible img{ opacity:1; transform:scale(1.03); }
.agenda .det{ padding:0 0 24px; font-size:16px; line-height:1.6; color:var(--quiet); text-align:left; max-width:70ch; }
.postbody .postq{
  font-family:inherit; font-style:normal; font-weight:600;
  font-size:clamp(17px,1.85vw,21px); line-height:1.55; color:var(--text);
  margin:0 0 28px; padding-left:20px; border-left:3px solid var(--gold);
}
.onblack .postbody .postq{ color:var(--ivory); border-left-color:var(--gold-light); }

.postbody p.todo{ padding-left:18px; border-left:2px solid var(--signal); }
.postbody p.todo span{ font-weight:700; letter-spacing:0.02em; }
.postbody h3.posth{ font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(22px,2.4vw,29px); line-height:1.25; font-weight:400; margin:34px 0 12px; }
.postbody p{ margin:0 0 16px; }
.postbody p:last-child{ margin-bottom:0; }
/* Med spa landing page: split hero, icon trio, numbered path */
.splithero{ background:var(--ink); color:var(--ivory); padding:0; }
.splithero .wrap{ max-width:1240px; }
.splitgrid{ display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(30px,5vw,72px); }
@media (max-width:900px){ .splitgrid{ grid-template-columns:1fr; gap:34px; } }
.splitcopy{ display:flex; flex-direction:column; align-items:flex-start; gap:20px; padding-block:clamp(48px,7vw,96px); }
.splitcopy .display{ font-size:clamp(30px,3.8vw,48px); line-height:1.12; }
.splitcopy .display,.splitcopy .lede{ max-width:100%; }
.splitcopy .lede{ color:var(--silver); }
.splitpic{ width:100%; aspect-ratio:4/5; max-height:640px; background-image:var(--img-medspa-hero); background-size:cover; background-position:center; background-color:#0B0E10; }
@media (max-width:900px){ .splitpic{ aspect-ratio:16/10; order:-1; } }

.icontrio{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(28px,4vw,60px); width:100%; }
@media (max-width:820px){ .icontrio{ grid-template-columns:1fr; } }
.icontrio .col{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:16px; }
.icontrio svg{ width:clamp(64px,7vw,88px); height:auto; display:block; }
.icontrio h3{ margin:0; }
.icontrio .rulemark{ width:44px; }
.icontrio p{ margin:0; font-size:15px; line-height:1.65; color:var(--quiet); max-width:34ch; }
.onblack .icontrio p{ color:var(--silver); }

.pathgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; width:100%; border-top:1px solid var(--rule-2); border-left:1px solid var(--rule-2); }
@media (max-width:820px){ .pathgrid{ grid-template-columns:1fr; } }
.onblack .pathgrid{ border-color:rgba(245,240,232,0.26); }
.pathstep{ border-right:1px solid var(--rule-2); border-bottom:1px solid var(--rule-2); padding:clamp(26px,3.4vw,44px); display:flex; flex-direction:column; gap:12px; text-align:left; }
.onblack .pathstep{ border-color:rgba(245,240,232,0.26); }
.pathstep .num{ font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(34px,4vw,52px); line-height:1; color:var(--gold); }
.onblack .pathstep .num{ color:var(--gold-light); }
.pathstep h3{ margin:0; }
.pathstep p{ margin:0; font-size:15px; line-height:1.65; color:var(--quiet); }
.onblack .pathstep p{ color:var(--silver); }
.csback{ display:flex; justify-content:center; }
.backlink{ font-size:12px; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--quiet); text-decoration:none; }
.backlink:hover,.backlink:focus-visible{ color:var(--gold); }
@media (prefers-reduced-motion: reduce){ *{ transition:none !important; } }
.page[hidden]{ display:none !important; }


/* ---------- WordPress integration ---------- */
.wp-site-blocks > *{ margin-block:0; }
body{ margin:0; }
.wp-block-template-part{ display:block; }
.entry-content > *{ margin-block:0; }
.admin-bar .topbar{ top:32px; }
@media (max-width:782px){ .admin-bar .topbar{ top:46px; } }

/* blog archive: query loop styled as the card grid */
.wp-block-post-template{
  list-style:none; margin:0; padding:0; width:100%;
  display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(18px,2.4vw,30px);
}
@media (max-width:760px){ .wp-block-post-template{ grid-template-columns:1fr; } }
.wp-block-post-template > li{
  display:flex; flex-direction:column; border:1px solid var(--rule-2);
  background:transparent; overflow:hidden; margin:0;
}
.onblack .wp-block-post-template > li{ border-color:rgba(245,240,232,0.26); }
.wp-block-post-template .wp-block-post-featured-image img{
  display:block; width:100%; aspect-ratio:16/10; object-fit:cover;
}
.wp-block-post-template .pbody{ padding:clamp(18px,2.2vw,26px); display:flex; flex-direction:column; gap:10px; }
.wp-block-post-template h3,.wp-block-post-template .wp-block-post-title{
  margin:0; font-family:"Cormorant Garamond",Georgia,serif; font-weight:400;
  font-size:clamp(19px,1.8vw,24px); line-height:1.25;
}
.wp-block-post-template .wp-block-post-title a{ text-decoration:none; color:inherit; }
.wp-block-post-template .wp-block-post-title a:hover{ color:var(--gold); }
.onblack .wp-block-post-template .wp-block-post-title a:hover{ color:var(--gold-light); }
.wp-block-post-template .wp-block-post-excerpt__excerpt{ margin:0; font-size:15px; line-height:1.65; color:var(--quiet); }
.onblack .wp-block-post-template .wp-block-post-excerpt__excerpt{ color:var(--silver); }
.wp-block-post-template .wp-block-read-more{
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--gold); text-decoration:none; margin-top:auto;
}
.onblack .wp-block-post-template .wp-block-read-more{ color:var(--gold-light); }
.wp-block-query-pagination{ margin-top:clamp(24px,3vw,40px); display:flex; gap:18px; justify-content:center; }
.wp-block-query-pagination a{ color:var(--gold); text-decoration:none; font-size:13px; letter-spacing:.1em; text-transform:uppercase; }

/* single post */
.singlewrap{ max-width:760px; margin:0 auto; text-align:left; }
.singlewrap p{ margin:0 0 1.1em; }

/* the blog index band. A real element, not a <section> split across two
   html blocks, so nothing depends on unbalanced tags surviving the parser. */
.querysec{ padding-block:var(--step); padding-top:0; }
main .wp-block-group{ margin-block:0; }
main .wp-block-query{ margin-block:0; }
