/* ============================================================
   DEALS TO GROW — shared page-level components (V3)
   Used across all interior pages. Load AFTER dtg.css.
   ============================================================ */

/* ---------- Page hero (interior) ---------- */
.phero{padding:52px 0 52px;position:relative;overflow:hidden;background:var(--beige);}
.phero.grid-bg::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(var(--beige-edge) 1px,transparent 1px),linear-gradient(90deg,var(--beige-edge) 1px,transparent 1px);
  background-size:54px 54px;opacity:.4;mask-image:radial-gradient(120% 90% at 85% 0%,#000 30%,transparent 70%);pointer-events:none;}
.phero .container{position:relative;}
.phero-grid{display:grid;grid-template-columns:1.04fr 1.05fr;gap:54px;align-items:center;}
.phero-grid.wide-media{grid-template-columns:1fr 1.2fr;}
.phero h1{margin:20px 0 24px;}
.phero .lede{font-size:18px;color:#3f3f3d;max-width:480px;margin-bottom:28px;}
.phero-media{position:relative;}
.phero-media image-slot{width:100%;height:auto;aspect-ratio:4/3;}
.phero-media.tall image-slot{height:auto;aspect-ratio:4/3;}
.nofluff{display:flex;flex-direction:column;gap:11px;margin-bottom:28px;}
.nofluff li{display:flex;gap:10px;align-items:center;font-size:15.5px;color:#3f3f3d;}
.nofluff li svg{flex:none;color:var(--orange);}
.mini-feats{display:flex;gap:14px;margin-top:42px;flex-wrap:wrap;}
.mini-feat{flex:1;min-width:200px;background:var(--white);border:1.5px solid var(--black);border-radius:0;
  padding:16px 18px;display:flex;gap:13px;align-items:flex-start;box-shadow:var(--card-shadow);}
.mini-feat .mf-ico{width:38px;height:38px;border:1.5px solid var(--black);border-radius:0;display:flex;
  align-items:center;justify-content:center;flex:none;color:var(--black);}
.mini-feat .mf-t{font-family:var(--head);text-transform:uppercase;font-size:15px;font-weight:600;letter-spacing:.02em;}
.mini-feat .mf-d{font-size:12.5px;color:#65655f;margin-top:3px;line-height:1.4;}

/* ---------- Centered section head ---------- */
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;max-width:760px;}
.section-head.center .label{justify-content:center;}

/* ---------- Image+caption cards (converted dark feature sections) ---------- */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.cards2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.icard{background:var(--white);border:1.5px solid var(--black);border-radius:0;overflow:hidden;
  box-shadow:var(--card-shadow);display:flex;flex-direction:column;}
.icard image-slot{width:100%;aspect-ratio:3/2;height:auto;border-radius:0;flex:none;}
.icard .ic-body{padding:22px 22px 26px;}
.icard .ic-tag{margin-bottom:12px;}
.icard h3{font-size:20px;margin-bottom:9px;}
.icard p{font-size:14.5px;color:#54544f;line-height:1.55;}
.icard.pad-only .ic-body{padding:28px 24px 30px;}

/* ---------- Numbered step row ---------- */
.steprow{display:grid;gap:26px;grid-template-columns:repeat(3,1fr);}
.steprow.four{grid-template-columns:repeat(4,1fr);}
.steprow.five{grid-template-columns:repeat(5,1fr);}
.stepitem{position:relative;}
.stepitem .sn{font-family:var(--head);font-weight:700;color:var(--orange-display);font-size:34px;line-height:1;display:block;margin-bottom:12px;}
.stepitem h3{font-size:19px;margin-bottom:8px;}
.stepitem p{font-size:14.5px;color:#54544f;}
.stepitem image-slot{width:100%;aspect-ratio:4/3;height:auto;margin-top:16px;border-radius:0;border:1.5px solid var(--black);}
.stepitem.bordered{background:var(--white);border:1.5px solid var(--black);border-radius:0;padding:24px;box-shadow:var(--card-shadow);}
.steprow.connected .stepitem:not(:last-child)::after{content:"\203A";position:absolute;right:-18px;top:6px;
  color:var(--orange);font-size:24px;font-weight:700;font-family:var(--head);}

/* ---------- Checklist / value list ---------- */
.vlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px;}
.vlist li{display:flex;gap:11px;align-items:flex-start;font-size:15.5px;color:#3f3f3d;}
.vlist li svg{flex:none;margin-top:2px;color:var(--orange);}

/* ---------- Split feature (text + image) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.split.media-left{grid-template-columns:1fr 1fr;}
.split image-slot{width:100%;height:auto;aspect-ratio:4/3;border:1.5px solid var(--black);border-radius:0;box-shadow:var(--card-shadow);}

/* ---------- Feature rows (zig-zag) — compact, framed, denser ---------- */
.featrows{display:flex;flex-direction:column;gap:0;border-top:1.5px solid var(--black);}
.featrow{display:grid;grid-template-columns:.95fr 1.05fr;gap:0;align-items:stretch;
  border-bottom:1.5px solid var(--black);background:var(--white);}
.featrow .fr-media{position:relative;border-right:1.5px solid var(--black);overflow:hidden;background:var(--beige-deep);}
.featrow .fr-media image-slot{width:100%;height:100%;min-height:248px;border:0;box-shadow:none;}
.featrow .fr-num{position:absolute;top:0;left:0;background:var(--orange-btn);color:#fff;
  font-family:var(--head);font-weight:700;font-size:15px;letter-spacing:.04em;padding:6px 12px;z-index:2;}
.featrow.flip .fr-media{order:2;border-right:0;border-left:1.5px solid var(--black);}
.featrow .fr-body{padding:34px 40px;display:flex;flex-direction:column;justify-content:center;position:relative;}
.featrow .fr-body::before{content:"";position:absolute;left:0;top:34px;bottom:34px;width:3px;background:var(--orange);}
.featrow .fr-body .fr-step{font-family:var(--head);font-weight:700;color:var(--orange-text);font-size:12.5px;
  letter-spacing:.18em;text-transform:uppercase;display:block;margin-bottom:8px;}
.featrow .fr-body h3{font-size:clamp(21px,2.1vw,28px);margin:0 0 10px;}
.featrow .fr-body p{font-size:15.5px;color:#54544f;line-height:1.55;}
.featrow .fr-body .vlist{margin-top:14px;}
@media(max-width:820px){
  .featrow{grid-template-columns:1fr;}
  .featrow .fr-media{border-right:0;border-bottom:1.5px solid var(--black);}
  .featrow.flip .fr-media{order:0;border-left:0;border-bottom:1.5px solid var(--black);}
  .featrow .fr-media image-slot{min-height:200px;aspect-ratio:16/9;}
  .featrow .fr-body{padding:26px 22px 26px 26px;}
  .featrow .fr-body::before{top:26px;bottom:26px;}
}

/* ---------- Numbered stack (editorial list — text-forward, no images) ---------- */
.numstack{display:flex;flex-direction:column;border-top:1.5px solid var(--black);}
.numstack .ns-item{display:grid;grid-template-columns:78px 1fr;gap:26px;align-items:baseline;
  padding:26px 14px;border-bottom:1px solid var(--line);transition:background .18s ease,padding .18s ease;}
.numstack .ns-item:hover{background:var(--white);}
.numstack .ns-n{font-family:var(--head);font-weight:700;font-size:44px;color:var(--orange-display);line-height:.9;}
.numstack .ns-c h3{font-size:clamp(20px,2.1vw,26px);margin:0 0 8px;}
.numstack .ns-c p{font-size:15.5px;color:#54544f;line-height:1.6;max-width:760px;}
.numstack .ns-c .ns-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
/* media variant — keeps a dedicated image box per row */
.numstack.media .ns-item{grid-template-columns:64px 280px 1fr;gap:30px;align-items:center;}
.numstack.media .ns-item image-slot{width:100%;height:auto;aspect-ratio:16/9;border:1.5px solid var(--black);box-shadow:var(--card-shadow);}
@media(max-width:900px){
  .numstack.media .ns-item{grid-template-columns:54px 1fr;grid-auto-rows:auto;}
  .numstack.media .ns-item image-slot{grid-column:1 / -1;height:auto;aspect-ratio:16/9;margin-top:6px;order:3;}
}
@media(max-width:560px){
  .numstack .ns-item{grid-template-columns:1fr;gap:8px;padding:22px 4px;}
  .numstack .ns-n{font-size:34px;}
  .numstack.media .ns-item{grid-template-columns:1fr;}
}

/* ---------- Stat band (horizontal proof strip) ---------- */
/* Accept both naming conventions: .statband/.sb-cell and .stat-band/.sb-item */
.statband,.stat-band{display:grid;grid-template-columns:repeat(4,1fr);background:var(--white);border:1.5px solid var(--black);box-shadow:var(--card-shadow);}
.statband .sb-cell,.stat-band .sb-item{padding:34px 28px;border-right:1px solid var(--line);}
.statband .sb-cell:last-child,.stat-band .sb-item:last-child{border-right:0;}
.statband .sb-v,.stat-band .sb-v{font-family:var(--head);font-weight:700;font-size:clamp(32px,3.4vw,44px);line-height:1;color:var(--black);}
.statband .sb-v.orange,.stat-band .sb-v.orange{color:var(--orange);}
.statband .sb-l,.stat-band .sb-l{font-family:var(--head);text-transform:uppercase;font-size:11px;letter-spacing:.14em;color:var(--steel);margin-top:10px;}
@media(max-width:820px){
  .statband,.stat-band{grid-template-columns:1fr 1fr;}
  .statband .sb-cell:nth-child(2),.stat-band .sb-item:nth-child(2){border-right:0;}
  .statband .sb-cell:nth-child(1),.statband .sb-cell:nth-child(2),.stat-band .sb-item:nth-child(1),.stat-band .sb-item:nth-child(2){border-bottom:1px solid var(--line);}}
@media(max-width:480px){
  .statband,.stat-band{grid-template-columns:1fr;}
  .statband .sb-cell,.stat-band .sb-item{border-right:0;border-bottom:1px solid var(--line);}
  .statband .sb-cell:last-child,.stat-band .sb-item:last-child{border-bottom:0;}}

/* ---------- Territory scarcity strip (conversion driver) ---------- */
.terr-strip{background:var(--black);color:#EDEBE4;border-top:2px solid var(--orange);border-bottom:1px solid #2a2a2d;}
.terr-strip .ts-in{display:flex;align-items:center;gap:28px;padding:22px 0;flex-wrap:wrap;}
.terr-strip .ts-pulse{width:11px;height:11px;background:var(--green);flex:none;position:relative;}
.terr-strip .ts-pulse::after{content:"";position:absolute;inset:0;background:var(--green);animation:tsPulse 2s ease-out infinite;}
@keyframes tsPulse{0%{transform:scale(1);opacity:.7;}100%{transform:scale(2.6);opacity:0;}}
.terr-strip .ts-lead{font-family:var(--head);text-transform:uppercase;font-weight:700;font-size:clamp(16px,1.9vw,21px);letter-spacing:.02em;line-height:1.1;}
.terr-strip .ts-lead .o{color:var(--orange);}
.terr-strip .ts-sub{font-size:13.5px;color:#9a988f;font-family:var(--head);text-transform:uppercase;letter-spacing:.12em;}
.terr-strip .ts-meta{display:flex;gap:26px;margin-left:auto;align-items:center;flex-wrap:wrap;}
.terr-strip .ts-stat{display:flex;flex-direction:column;}
.terr-strip .ts-stat .n{font-family:var(--head);font-weight:700;font-size:26px;line-height:1;color:#fff;}
.terr-strip .ts-stat .n.open{color:var(--green);}
.terr-strip .ts-stat .n.taken{color:var(--orange);}
.terr-strip .ts-stat .l{font-family:var(--head);text-transform:uppercase;font-size:10px;letter-spacing:.16em;color:#7c7a72;margin-top:4px;}
.terr-strip .ts-divider{width:1px;height:34px;background:#2f2f31;}
.terr-strip .btn{flex:none;}
@media(max-width:820px){
  .terr-strip .ts-meta{margin-left:0;width:100%;gap:18px;}
  .terr-strip .ts-in{gap:18px;}
}

/* ---------- Spec metric tiles ---------- */
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.metric-tile{background:var(--white);border:1.5px solid var(--black);border-radius:0;padding:28px 26px;box-shadow:var(--card-shadow);}
.metric-tile .mt-label{font-family:var(--head);text-transform:uppercase;font-size:11px;letter-spacing:.16em;color:var(--steel);}
.metric-tile .mt-v{font-family:var(--head);font-weight:700;font-size:40px;color:var(--black);line-height:1.05;margin:6px 0;}
.metric-tile .mt-v.orange{color:var(--orange);}
.metric-tile .mt-sub{font-size:13.5px;color:#65655f;}

/* ---------- Comparison plate (us vs them small) ---------- */
.diffcols{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.diffcol{border:1.5px solid var(--line);border-radius:0;padding:22px 20px;background:var(--white);}
.diffcol.dtg{border:2px solid var(--orange);box-shadow:var(--card-shadow);}
.diffcol .dc-h{font-family:var(--head);text-transform:uppercase;font-size:15px;font-weight:700;letter-spacing:.04em;
  margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.diffcol > image-slot{width:100%;height:auto;aspect-ratio:4/3;margin-bottom:16px;border:1.5px solid var(--black);}
.diffcol.dtg .dc-h{color:var(--orange-text);}
.diffcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.diffcol li{display:flex;gap:9px;font-size:13.5px;color:#3f3f3d;align-items:flex-start;}
.diffcol li svg{flex:none;margin-top:1px;}

/* ---------- Forms ---------- */
.form-card{background:var(--white);border:1.5px solid var(--black);border-radius:0;padding:32px;box-shadow:var(--card-shadow-lg);}
.form-card .fc-title{font-family:var(--head);text-transform:uppercase;font-size:13px;letter-spacing:.16em;color:var(--orange-text);margin-bottom:22px;font-weight:600;}
.field{margin-bottom:16px;}
.field label{font-family:var(--head);text-transform:uppercase;font-size:11.5px;letter-spacing:.12em;color:#55554f;display:block;margin-bottom:7px;}
.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1.5px solid var(--line);border-radius:0;
  font-family:var(--body);font-size:15px;background:var(--white);color:var(--ink);}
.field input::placeholder,.field textarea::placeholder{color:#a7a59c;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--black);}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2.5px solid var(--orange-text);outline-offset:2px;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-note{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--steel);margin-top:14px;}

/* ---------- Status plates (territory availability) ---------- */
.statuscards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.statuswrap{background:var(--white);border:1.5px solid var(--black);border-radius:0;padding:30px 26px;text-align:center;box-shadow:var(--card-shadow);}
.plate{border:3px solid;border-radius:0;padding:20px 14px;margin-bottom:20px;font-family:var(--head);text-transform:uppercase;}
.plate .pl-main{font-size:30px;font-weight:700;line-height:1;letter-spacing:.02em;}
.plate .pl-sub{font-size:11px;letter-spacing:.18em;margin-top:8px;font-weight:500;}
.plate.available{border-color:var(--green-deep);color:var(--green-deep);}
.plate.review{border-color:var(--orange-text);color:var(--orange-text);}
.plate.locked{border-color:#c23b1c;color:#c23b1c;}
.statuswrap h3{font-size:19px;margin-bottom:9px;}
.statuswrap p{font-size:14px;color:#54544f;}

/* ---------- Accordion (FAQ, native details) ---------- */
.acc{background:var(--white);border:1.5px solid var(--black);border-radius:0;overflow:hidden;box-shadow:var(--card-shadow);}
.acc details{border-top:1px solid var(--line);}
.acc details:first-child{border-top:0;}
.acc summary{padding:20px 24px;font-family:var(--head);text-transform:uppercase;font-size:16px;letter-spacing:.02em;
  cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;gap:20px;}
.acc summary::-webkit-details-marker{display:none;}
.acc summary:hover{color:var(--orange-text);}
.acc .plus{width:18px;height:18px;flex:none;position:relative;transition:transform .2s ease;}
.acc .plus::before,.acc .plus::after{content:"";position:absolute;background:var(--orange);}
.acc .plus::before{left:8px;top:0;width:2px;height:18px;}
.acc .plus::after{top:8px;left:0;height:2px;width:18px;}
.acc details[open] .plus{transform:rotate(45deg);}
.acc .ac-body{padding:0 24px 22px;font-size:15px;color:#54544f;line-height:1.6;max-width:760px;}

/* numbered accordion variant — thumbnail row layout */
.acc.numbered summary{font-size:18px;padding:0;gap:0;align-items:stretch;min-height:88px;}
.acc.numbered .acc-n{font-family:var(--head);color:var(--orange);font-weight:700;font-size:22px;flex:none;line-height:1;}
.acc.numbered .faq-thumb{width:132px;min-width:132px;min-height:88px;height:100%;display:block;flex:none;
  border-right:1.5px solid var(--line);border-radius:0!important;overflow:hidden;}
.acc.numbered .sum-text{flex:1;display:flex;align-items:center;gap:16px;padding:16px 20px;}
.acc.numbered summary .plus{align-self:center;margin-right:24px;}
@media(max-width:640px){
  .acc.numbered summary{min-height:72px;}
  .acc.numbered .faq-thumb{width:88px;min-width:88px;min-height:72px;}
  .acc.numbered .sum-text{padding:14px 14px;gap:10px;}
  .acc.numbered summary .plus{margin-right:14px;}
  .acc.numbered .acc-n{font-size:18px;}
}

/* ============================================================
   PRICING — elite joined plan unit (.pricing-cols / .pk)
   One monolithic framed grid, 3 equal columns, internal rules.
   ============================================================ */
.pricing-cols{display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch;
  background:var(--white);border:2px solid var(--black);border-radius:0;overflow:hidden;
  box-shadow:var(--card-shadow-lg);}
.pk{position:relative;display:flex;flex-direction:column;border-right:1.5px solid var(--black);min-width:0;}
.pk:last-child{border-right:0;}
.pk.popular::before{content:"";position:absolute;top:0;left:-1px;right:-1px;height:4px;background:var(--orange);z-index:2;}

/* plan header band */
.pk-head{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:17px 24px 15px;background:var(--beige);border-bottom:1.5px solid var(--black);}
.pk-name{font-family:var(--head);text-transform:uppercase;font-weight:700;font-size:21px;
  letter-spacing:.02em;color:var(--ink);line-height:1;}
.pk-num{font-family:var(--head);font-weight:700;font-size:13px;letter-spacing:.18em;color:var(--steel);}
.pk.popular .pk-num{color:var(--steel-light);} /* popular header is black — lighter steel passes there (9.3:1) */
.pk.popular .pk-head{background:var(--black);}
.pk.popular .pk-name{color:#fff;}
.pk-flag{font-family:var(--head);text-transform:uppercase;font-weight:700;font-size:10px;letter-spacing:.14em;
  background:var(--orange-btn);color:#fff;padding:5px 9px 4px;border-radius:0;line-height:1;white-space:nowrap;}

/* plan media */
.pk-media image-slot{display:block;width:100%;height:auto;aspect-ratio:1536/1024;
  border-radius:0;border-bottom:1.5px solid var(--black);}

/* plan body */
.pk-body{flex:1;display:flex;flex-direction:column;padding:24px 24px 26px;}
.pk-price{font-family:var(--head);font-weight:700;font-size:42px;line-height:1;color:var(--ink);}
.pk-price span{font-size:15px;font-weight:500;color:var(--steel);margin-left:2px;letter-spacing:.02em;}
.pk-site{font-size:12.5px;color:var(--steel);margin-top:7px;}
.pk-for{font-family:var(--head);text-transform:uppercase;font-size:11.5px;letter-spacing:.08em;font-weight:600;
  color:var(--orange-deep);margin-top:14px;line-height:1.5;}
.pk-desc{font-size:14.5px;color:#54544f;line-height:1.55;margin:7px 0 0;}
.pk-list{list-style:none;margin:18px 0 22px;padding:18px 0 0;border-top:1px dashed var(--line);flex:1;}
.pk-list li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;padding:6.5px 0;color:#2e2e2c;}
.pk-list li svg{flex:none;margin-top:2.5px;color:var(--green-deep);}
.pk-list li strong{font-weight:700;color:var(--ink);}
.pk-list li .lv{color:var(--steel);font-weight:500;}
.pk-list li.no{color:var(--steel);}
.pk-list li.no svg{color:var(--steel);}
.pk-more{display:block;text-align:center;margin-top:13px;font-family:var(--head);text-transform:uppercase;
  font-size:11.5px;letter-spacing:.12em;font-weight:600;color:var(--ink);text-decoration:none;}
.pk-more:hover{color:var(--orange-text);}
.pk-note{text-align:center;font-family:var(--head);text-transform:uppercase;font-size:10.5px;letter-spacing:.14em;
  color:var(--steel);margin-top:9px;}

/* Authority Website — dark add-on banner below the plans */
.pricing-addon{margin-top:28px;background:var(--black);border:2px solid var(--black);border-radius:0;
  overflow:hidden;display:grid;grid-template-columns:300px 1fr auto;align-items:stretch;
  box-shadow:var(--card-shadow-lg);}
.pricing-addon .pa-img{position:relative;border-right:2px solid var(--orange);}
.pricing-addon .pa-img image-slot{width:100%;height:100%;min-height:200px;display:block;border-radius:0;}
.pricing-addon .pa-body{padding:30px 36px;display:flex;flex-direction:column;justify-content:center;min-width:0;}
.pricing-addon .pa-tag{font-family:var(--head);text-transform:uppercase;font-size:10.5px;letter-spacing:.2em;
  font-weight:600;color:var(--orange);margin-bottom:10px;}
.pricing-addon .pa-title{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
.pricing-addon .pa-name{font-family:var(--head);text-transform:uppercase;font-weight:700;font-size:29px;
  line-height:1;color:#fff;}
.pricing-addon .pa-price{font-family:var(--head);font-weight:700;font-size:24px;line-height:1;color:var(--orange);}
.pricing-addon .pa-price span{font-size:13px;font-weight:500;color:rgba(255,255,255,.55);}
.pricing-addon .pa-desc{font-size:14.5px;color:rgba(255,255,255,.62);line-height:1.6;margin-top:10px;max-width:560px;}
.pricing-addon .pa-points{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;}
.pricing-addon .pa-points span{display:inline-flex;align-items:center;gap:7px;font-family:var(--head);
  text-transform:uppercase;font-size:10.5px;letter-spacing:.12em;color:rgba(255,255,255,.78);}
.pricing-addon .pa-points svg{color:var(--orange);flex:none;}
.pricing-addon .pa-cta{display:flex;align-items:center;padding:30px 36px;border-left:1px solid rgba(255,255,255,.14);}

@media(max-width:1080px){
  .pricing-cols{grid-template-columns:1fr;}
  .pk{border-right:0;border-bottom:1.5px solid var(--black);}
  .pk:last-child{border-bottom:0;}
  .pk-media image-slot{aspect-ratio:21/10;}
  .pricing-addon{grid-template-columns:1fr;}
  .pricing-addon .pa-img{border-right:0;border-bottom:2px solid var(--orange);}
  .pricing-addon .pa-img image-slot{height:220px;min-height:0;}
  .pricing-addon .pa-cta{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding:22px 28px;}
  .pricing-addon .pa-cta .btn{width:100%;justify-content:center;}
}
@media(max-width:680px){
  .pk-head{padding:15px 20px 13px;}
  .pk-body{padding:20px 20px 24px;}
  .pk-media image-slot{aspect-ratio:1536/1024;}
  .pricing-addon .pa-body{padding:24px 22px;}
  .pricing-addon .pa-cta{padding:20px 22px;}
}

/* plain accordion with thumbnail in summary (.acc.thumb-faq) */
.acc.thumb-faq summary{padding:0;gap:0;align-items:stretch;min-height:72px;}
.acc.thumb-faq .faq-thumb-sm{width:108px;min-width:108px;min-height:72px;height:100%;display:block;flex:none;
  border-right:1.5px solid var(--line);border-radius:0!important;overflow:hidden;}
.acc.thumb-faq .sum-text{flex:1;display:flex;align-items:center;padding:14px 18px;font-size:15px;}
.acc.thumb-faq summary .plus{align-self:center;margin-right:20px;}
@media(max-width:640px){
  .acc.thumb-faq .faq-thumb-sm{width:72px;min-width:72px;}
  .acc.thumb-faq .sum-text{padding:12px 12px;font-size:14px;}
  .acc.thumb-faq summary .plus{margin-right:12px;}
}

/* ---------- Q&A 3-col (lightweight FAQ) ---------- */
.qa3{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.qa3 .qa .q{font-family:var(--head);text-transform:uppercase;font-size:18px;margin-bottom:10px;}
.qa3 .qa .a{font-size:14.5px;color:#54544f;}
.qa3 .qa{border-top:2px solid var(--orange);padding-top:18px;}

/* ---------- Trade/territory list tiles ---------- */
.trade-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.trade-card{background:var(--white);border:1.5px solid var(--black);border-radius:0;overflow:hidden;box-shadow:var(--card-shadow);}
a.trade-card{display:block;color:inherit;text-decoration:none;}
.trade-card image-slot{width:100%;height:auto;aspect-ratio:4/3;border-radius:0;}
.trade-card .tc-body{padding:22px 24px 26px;}
.trade-card h3{font-size:21px;margin-bottom:8px;}
.trade-card p{font-size:14.5px;color:#54544f;}

/* ---------- Territory map block ---------- */
.mapblock{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:30px;align-items:center;}
.mapblock image-slot{width:100%;height:auto;aspect-ratio:16/9;border:1.5px solid var(--black);border-radius:0;}

/* ---------- Closing CTA reuse from home (.cta-panel) ---------- */
.cta-panel{background:var(--beige-deep);border:2px solid var(--black);border-radius:0;overflow:hidden;
  display:grid;grid-template-columns:1.1fr 1fr;box-shadow:var(--card-shadow-lg);}
.cta-panel .left{padding:58px 50px;}
.cta-panel .left h2{margin-bottom:18px;}
.cta-panel .left .sub{color:#3f3f3d;font-size:17px;margin-bottom:28px;max-width:400px;}
.cta-panel .right{position:relative;border-left:2px solid var(--black);}
.cta-panel .right image-slot{width:100%;height:100%;min-height:340px;border-radius:0;}
.cta-badges{display:flex;gap:22px;flex-wrap:wrap;margin-top:32px;font-family:var(--head);text-transform:uppercase;
  font-size:12px;letter-spacing:.12em;color:#4a4a48;}
.cta-badges span{display:inline-flex;gap:8px;align-items:center;}
.cta-badges .dot{width:5px;height:5px;border-radius:50%;background:var(--orange);}

/* ---------- testimonial quote cards ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.quote-card{background:var(--white);border:1.5px solid var(--black);border-radius:0;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:var(--card-shadow);}
.quote-card image-slot{width:100%;height:auto;aspect-ratio:4/3;border-radius:0;}
.quote-card .qc-body{padding:24px;}
.quote-card .qc-text{font-size:16px;color:var(--ink);line-height:1.5;margin-bottom:18px;}
.quote-card .qc-name{font-family:var(--head);text-transform:uppercase;font-size:15px;color:var(--orange-text);font-weight:600;}
.quote-card .qc-meta{font-size:13px;color:#65655f;margin-top:2px;}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .phero-grid,.phero-grid.wide-media{grid-template-columns:1fr;gap:38px;}
  .cards3,.cards4,.quotes,.statuscards,.qa3,.trade-row,.metrics{grid-template-columns:1fr 1fr;}
  .steprow,.steprow.four,.steprow.five{grid-template-columns:1fr 1fr;}
  .steprow.connected .stepitem::after{display:none;}
  .split{grid-template-columns:1fr;gap:36px;}
  .diffcols{grid-template-columns:1fr 1fr;}
  .mapblock{grid-template-columns:1fr;}
  .cta-panel{grid-template-columns:1fr;}
  .cta-panel .right{border-left:0;border-top:2px solid var(--black);}
  .mini-feats{flex-direction:column;}
}
@media(max-width:680px){
  .cards3,.cards4,.cards2,.quotes,.statuscards,.qa3,.trade-row,.metrics,.diffcols{grid-template-columns:1fr;}
  .steprow,.steprow.four,.steprow.five{grid-template-columns:1fr;}
  .frow{grid-template-columns:1fr;}
  .phero{padding:48px 0 52px;}
  .phero-media image-slot,.phero-media.tall image-slot{height:auto;aspect-ratio:4/3;}
  .section-head{margin-bottom:36px;}
  .mini-feats{gap:10px;margin-top:30px;}
}
@media(max-width:560px){
  h1{font-size:clamp(34px,9.5vw,46px);}
  h2{font-size:clamp(27px,7.5vw,38px);}
  .phero .lede,.hero p.lede{font-size:16.5px;}
  .btn{padding:14px 20px;font-size:14px;}
  .cta-row{gap:10px;}
  .cta-row .btn{flex:1 1 auto;justify-content:center;}
  .car-dots{margin-top:10px;}
  .split{gap:30px;}
  .split image-slot{height:auto;aspect-ratio:4/3;}
}

/* ============================================================
   MOTION + CAROUSEL (applied site-wide via site.js)
   ============================================================ */

/* scroll reveal — JS-staggered; resting state always visible (off-screen safe) */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;}
  .reveal.in{opacity:1;animation:dtgReveal .55s cubic-bezier(.22,.7,.2,1);}
  .reveal.rev-left.in{animation-name:dtgRevealL;}
  .reveal.rev-right.in{animation-name:dtgRevealR;}
}
@keyframes dtgReveal{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@keyframes dtgRevealL{from{opacity:0;transform:translateX(-26px);}to{opacity:1;transform:none;}}
@keyframes dtgRevealR{from{opacity:0;transform:translateX(26px);}to{opacity:1;transform:none;}}

/* carousel */
.carousel-wrap{position:relative;}
.carousel{display:flex;gap:22px;overflow-x:auto;-webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:6px 2px 16px;-ms-overflow-style:none;scrollbar-width:none;cursor:grab;}
.carousel:active{cursor:grabbing;}
.carousel::-webkit-scrollbar{display:none;}
.carousel > *{flex:0 0 clamp(282px,40%,440px);scroll-snap-align:start;}
.carousel.tight > *{flex:0 0 clamp(240px,30%,330px);}
.carousel.wide > *{flex:0 0 clamp(320px,62%,640px);}
.car-arrow{position:absolute;top:46%;transform:translateY(-50%);width:48px;height:48px;
  border:1.5px solid var(--black);background:var(--white);color:var(--black);
  display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:6;
  box-shadow:var(--card-shadow);font-size:22px;line-height:1;font-family:var(--head);transition:background .15s,color .15s;}
.car-arrow:hover{background:var(--black);color:#fff;}
.car-arrow[disabled]{opacity:.28;cursor:default;pointer-events:none;}
.car-prev{left:-16px;}
.car-next{right:-16px;}
.car-dots{display:flex;gap:7px;justify-content:center;margin-top:6px;}
.car-dots i{width:8px;height:8px;background:var(--steel-light);display:block;transition:all .2s ease;cursor:pointer;}
.car-dots i.on{background:var(--orange);width:24px;}
@media(max-width:680px){
  .car-arrow{display:none;}
  .carousel > *,.carousel.tight > *,.carousel.wide > *{flex:0 0 86%;}
}

/* count-up keeps tabular alignment while animating */
.statbar .big,.metric-tile .mt-v,.casefile .metric .v,.hero-chip .n{font-variant-numeric:tabular-nums;}

/* interactive hover lift on content cards */
.icard,.trade-card,.quote-card,.metric-tile,.statuswrap,.casefile,.res-card,.step,.trade-tile,.diffcol{
  transition:transform .18s ease, box-shadow .18s ease;
}
.icard:hover,.trade-card:hover,.quote-card:hover,.metric-tile:hover,.statuswrap:hover,.casefile:hover,.step:hover,.res-card:hover,.diffcol:hover{
  transform:translateY(-4px);box-shadow:var(--card-shadow-lg);
}
.trade-tile:hover image-slot{transform:scale(1.04);}
.trade-tile{overflow:hidden;}
.trade-tile image-slot{transition:transform .4s ease;}

/* ---------- Full-bleed hero media with left fade (matches mockups) ---------- */
/* Hero image must cover the ENTIRE height of the hero section. The media box is
   absolutely positioned against the .phero section (top/bottom:0 => full height)
   and the image-slot is forced to fill it — overriding the per-page inline
   height:auto / aspect-ratio that would otherwise leave a gap. */
@media(min-width:901px){
  .phero .container{position:static;}
  .phero-grid{min-height:480px;}
  .phero-grid > div:first-child{position:relative;z-index:2;}
  .phero-media{position:absolute;top:0;right:0;bottom:0;left:auto;width:62vw;margin:0;z-index:1;}
  .phero-media image-slot,
  .phero-media.tall image-slot{
    width:100% !important;height:100% !important;aspect-ratio:auto !important;
    min-height:100%;border:0;box-shadow:none;display:block;
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 12%);
    mask-image:linear-gradient(to right,transparent 0,#000 12%);
  }
  /* image-slot renders the picture in an inner part="image" / "frame" — make
     both stretch so fit=cover fills the full section height, no letterboxing. */
  .phero-media image-slot::part(frame){inset:0;}
  /* Keep headline + lede legible where a wide hero image runs behind their right edge */
  .phero h1,.phero .lede{text-shadow:0 1px 2px var(--beige),0 0 10px var(--beige),0 0 22px var(--beige);}
}

/* ---------- City landing page ---------- */
.city-stamps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}
.city-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:32px;}
.stat-card{background:var(--white);border:1.5px solid var(--black);border-radius:0;padding:24px 20px;box-shadow:var(--card-shadow);}
.stat-card .sc-label{font-family:var(--head);font-size:10px;letter-spacing:1.4px;color:var(--steel);font-weight:700;margin-bottom:8px;text-transform:uppercase;}
.stat-card .sc-value{font-family:var(--head);font-weight:700;font-size:20px;color:var(--ink);text-transform:uppercase;}
.city-context{font-size:16.5px;color:#3f3f3d;line-height:1.65;max-width:820px;margin-top:32px;}
.city-hoods{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.city-hoods .tag{padding:7px 14px;border:1.5px solid var(--line);border-radius:0;font-family:var(--head);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#4a4a46;background:var(--white);}

/* ---------- Trade hub page ---------- */
.trade-trust{background:var(--ink);border-bottom:2px solid var(--orange);padding:22px 0;}
.trade-trust .container{display:flex;gap:32px;align-items:center;flex-wrap:wrap;}
.trust-stat{display:flex;flex-direction:column;gap:4px;}
.trust-stat .ts-v{font-family:var(--head);font-weight:700;font-size:28px;color:#fff;line-height:1;}
.trust-stat .ts-l{font-family:var(--head);text-transform:uppercase;font-size:10px;letter-spacing:.18em;color:rgba(255,255,255,.45);}
.trust-divider{width:1px;height:32px;background:rgba(255,255,255,.12);}
.trade-physics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.phys-card{background:var(--white);border:1.5px solid var(--black);border-radius:0;padding:24px 20px;box-shadow:var(--card-shadow);}
.phys-card .pc-t{font-family:var(--head);text-transform:uppercase;font-size:11px;letter-spacing:.14em;color:var(--steel);margin-bottom:8px;}
.phys-card .pc-v{font-family:var(--head);font-weight:700;font-size:32px;color:var(--orange);line-height:1;margin-bottom:8px;}
.phys-card .pc-d{font-size:13.5px;color:#54544f;line-height:1.45;}
.trade-features{columns:2;gap:32px;margin-top:8px;}
.trade-features .feat-item{break-inside:avoid;display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);}
.trade-features .feat-item:last-child{border-bottom:0;}
.feat-ico{width:36px;height:36px;border:1.5px solid var(--black);border-radius:0;display:flex;align-items:center;justify-content:center;flex:none;color:var(--orange);}
.feat-body .feat-t{font-family:var(--head);text-transform:uppercase;font-size:14px;letter-spacing:.04em;margin-bottom:5px;}
.feat-body .feat-d{font-size:13.5px;color:#54544f;line-height:1.45;}
.trade-cities{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;}
.city-chip{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1.5px solid var(--line);border-radius:0;font-family:var(--head);font-size:13px;text-transform:uppercase;letter-spacing:.04em;background:var(--white);}
.city-chip.open .dot{background:var(--green);}
.city-chip.locked .dot{background:#c23b1c;}
.city-chip .dot{width:8px;height:8px;border-radius:50%;flex:none;}
@media(max-width:1080px){.trade-physics{grid-template-columns:1fr 1fr;}.trade-features{columns:1;}}
@media(max-width:680px){.trade-physics{grid-template-columns:1fr;}.trade-trust .container{gap:20px;}}

/* ---------- Blog article ---------- */
.art-hero{padding:64px 0 48px;background:var(--beige-deep);border-bottom:1.5px solid var(--black);}
.art-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:24px;}
.art-meta a.label{text-decoration:none;}
.art-readtime{font-family:var(--head);font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--steel);}
.art-title{font-size:clamp(34px,5.5vw,64px);line-height:.95;margin:0 0 20px;}
.art-lede{font-size:18px;color:#3f3f3d;max-width:620px;line-height:1.55;margin:0;}
.art-body{max-width:740px;margin:0 auto;font-size:17px;line-height:1.75;color:#2a2a30;}
.art-body h2{font-family:var(--head);font-size:clamp(24px,3vw,36px);line-height:1.05;text-transform:uppercase;
  letter-spacing:-.01em;color:var(--ink);margin:52px 0 16px;padding-top:8px;}
.art-body h3{font-family:var(--head);font-size:clamp(18px,2vw,24px);line-height:1.1;text-transform:uppercase;
  color:var(--ink);margin:36px 0 12px;}
.art-body p{margin:0 0 20px;}
.art-body ul,.art-body ol{padding-left:24px;margin:0 0 20px;}
.art-body li{margin-bottom:8px;}
.art-body a{color:var(--orange-text);font-weight:600;}
.art-body strong{color:var(--ink);}
.art-callout{background:var(--ink);color:var(--beige);padding:24px 28px;margin:32px 0;border-left:4px solid var(--orange);}
.art-callout .ac-label{font-family:var(--head);font-size:11px;letter-spacing:1.4px;color:var(--orange);
  font-weight:700;margin-bottom:8px;text-transform:uppercase;display:block;}
.art-callout p{font-size:16px;line-height:1.55;margin:0 0 12px;color:var(--beige);}
.art-callout p:last-child{margin:0;}
/* Mid-article image break */
.art-img-break{margin:40px 0;border:1.5px solid var(--black);overflow:hidden;display:block;}
.art-img-break image-slot{width:100%;height:auto;aspect-ratio:16/9;display:block;border-radius:0;}
/* Related articles grid */
.art-related{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:16px;}
.art-related .icard .ic-body h3{font-size:15px;line-height:1.35;color:var(--ink);}
@media(max-width:820px){.art-related{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.art-related{grid-template-columns:1fr;}.art-hero{padding:48px 0 38px;}}

/* ---------- Jump nav (sticky in-article section navigator) ---------- */
.jump-nav{position:sticky;z-index:50;background:var(--white);border-bottom:1.5px solid var(--black);}
/* horizontal swipe-scroll on touch: links past the right edge must stay reachable */
.jump-nav .jn-inner{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;-ms-overflow-style:none;scrollbar-width:none;}
.jump-nav .jn-inner::-webkit-scrollbar{display:none;}
.jump-nav a{flex:none;padding:13px 18px;font-family:var(--head);text-transform:uppercase;font-size:10.5px;
  letter-spacing:.14em;color:var(--steel);text-decoration:none;border-bottom:2.5px solid transparent;
  white-space:nowrap;transition:color .15s,border-color .15s;}
.jump-nav a:hover{color:var(--ink);}
.jump-nav a.active{color:var(--orange-text);border-bottom-color:var(--orange-text);}
@media(max-width:680px){
  .jump-nav a{padding:10px 14px;font-size:10px;}
  /* subtle right-edge fade so users know the bar swipes horizontally */
  .jump-nav::after{content:"";position:absolute;top:0;right:0;bottom:0;width:32px;
    background:linear-gradient(to left,var(--white) 12%,rgba(255,255,255,0));pointer-events:none;}
}

/* ---------- Scroll CTA (fixed bottom bar — desktop only) ---------- */
.scroll-cta{position:fixed;bottom:0;left:0;right:0;z-index:70;background:var(--ink);
  border-top:2px solid var(--orange);padding:14px 24px;display:flex;align-items:center;gap:20px;
  transform:translateY(100%);transition:transform .3s cubic-bezier(.22,.7,.2,1);}
.scroll-cta.visible{transform:translateY(0);}
.scroll-cta .sc-txt{flex:1;min-width:0;}
.scroll-cta .sc-head{font-family:var(--head);text-transform:uppercase;color:#fff;font-size:15px;
  letter-spacing:.04em;display:block;}
.scroll-cta .sc-sub{font-size:12.5px;color:rgba(255,255,255,.5);display:block;margin-top:2px;}
.scroll-cta .sc-actions{display:flex;gap:10px;align-items:center;flex:none;}
.scroll-cta .sc-close{background:none;border:none;color:rgba(255,255,255,.4);font-size:20px;
  cursor:pointer;padding:4px 8px;flex:none;line-height:1;transition:color .15s;}
.scroll-cta .sc-close:hover{color:#fff;}
@media(max-width:680px){.scroll-cta{display:none;}}

/* ---------- Blog index page ---------- */
.blog-filter-bar{
  position:sticky;top:74px;z-index:50;
  background:var(--white);border-bottom:1.5px solid var(--black);
}
.bfb-inner{
  display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;
  -ms-overflow-style:none;scrollbar-width:none;padding:0 4px;
}
.bfb-inner::-webkit-scrollbar{display:none;}
.bfb-pill{
  flex:none;padding:14px 20px;
  font-family:var(--head);text-transform:uppercase;font-size:11px;letter-spacing:.12em;
  color:var(--steel);background:none;border:0;cursor:pointer;
  border-bottom:2.5px solid transparent;white-space:nowrap;
  transition:color .15s,border-color .15s;
}
.bfb-pill:hover{color:var(--ink);}
.bfb-pill.active{color:var(--orange-text);border-bottom-color:var(--orange-text);}

/* Blog search box */
.blog-search{position:relative;max-width:560px;margin-top:28px;}
.blog-search > svg{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:var(--steel);pointer-events:none;}
.blog-search input{width:100%;padding:16px 18px 16px 50px;border:1.5px solid var(--black);background:var(--white);
  font-family:var(--body);font-size:15.5px;color:var(--ink);}
.blog-search input::placeholder{color:#9a988f;}
.blog-search input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(250,96,21,.16);}

/* Featured article card — image + content, two-up */
.blog-feat{
  display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;overflow:hidden;
  background:var(--ink);border:1.5px solid var(--black);
  margin-bottom:28px;text-decoration:none;
  box-shadow:var(--card-shadow-lg);
  transition:transform .2s ease,box-shadow .2s ease;
}
.blog-feat:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(18,18,20,.22);}
.blog-feat .blog-feat-body{padding:40px 44px;display:flex;flex-direction:column;justify-content:center;}
.blog-feat-img{order:2;width:100%;height:100%;min-height:290px;object-fit:cover;display:block;
  border-left:1.5px solid #000;}
.blog-feat-tag{background:var(--orange-btn) !important;color:#fff !important;border-color:var(--orange-btn) !important;display:inline-block;margin-bottom:18px;}
.blog-feat h3{
  font-family:var(--head);font-size:clamp(26px,3.2vw,40px);line-height:1.0;
  color:#fff;text-transform:uppercase;letter-spacing:-.01em;margin:0 0 14px;max-width:860px;
}
.blog-feat p{
  font-size:16px;color:rgba(255,255,255,.62);line-height:1.65;margin:0 0 22px;max-width:720px;
}
.blog-feat-read{
  font-family:var(--head);text-transform:uppercase;font-size:12px;letter-spacing:.12em;
  color:var(--orange);font-weight:700;
}

/* Blog cards grid */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.blog-card{
  background:var(--white);border:1.5px solid var(--black);border-top:3px solid transparent;
  box-shadow:var(--card-shadow);overflow:hidden;display:flex;flex-direction:column;
  transition:border-top-color .15s,transform .2s ease;
}
.blog-card:hover{border-top-color:var(--orange);transform:translateY(-2px);}
.blog-card:hover .blog-card-img{transform:scale(1.04);}
.blog-card-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;
  border-bottom:1.5px solid var(--black);transition:transform .4s ease;}
.blog-card-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1;}
.blog-card-body .label{margin-bottom:10px;display:inline-block;}
.blog-card-body .label::before,.blog-feat-body .label::before{display:none;}
.blog-card-body h3{
  font-family:var(--head);font-size:17px;line-height:1.2;text-transform:uppercase;
  letter-spacing:-.01em;margin:0 0 10px;
}
a.blog-card{display:block;color:inherit;text-decoration:none;}
a.blog-card:hover .blog-card-body h3{color:var(--orange-text);}
.blog-card-body h3 a{color:var(--ink);text-decoration:none;}
.blog-card-body h3 a:hover{color:var(--orange-text);}
.blog-card-body p{font-size:13.5px;color:#54544f;line-height:1.55;margin:0;flex:1;}
.blog-card-read{font-family:var(--head);text-transform:uppercase;font-size:11px;letter-spacing:.1em;color:var(--orange-text);font-weight:700;margin-top:14px;display:block;}
.blog-sh{margin-bottom:28px;}
.blog-sh h2{margin:10px 0 0;}
/* No-results message for search */
.blog-noresults{padding:64px 0 84px;text-align:center;color:#54544f;font-size:17px;}
.blog-noresults strong{color:var(--ink);}
@media(max-width:820px){.blog-grid{grid-template-columns:1fr 1fr;}.blog-feat .blog-feat-body{padding:30px 30px;}}
@media(max-width:680px){
  .blog-feat{grid-template-columns:1fr;}
  .blog-feat-img{order:0;min-height:0;aspect-ratio:16/9;border-left:0;border-bottom:1.5px solid #000;}
}
@media(max-width:560px){.blog-grid{grid-template-columns:1fr;}.blog-feat h3{font-size:22px;}}

/* View toggle */
.bvt{display:flex;gap:4px;margin-left:auto;flex-shrink:0;align-items:center;padding:8px 0;}
.bvt-btn{width:34px;height:34px;border:1.5px solid var(--line);background:transparent;color:var(--steel);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .15s;}
.bvt-btn:hover{border-color:var(--ink);color:var(--ink);}
.bvt-btn.active{background:var(--ink);border-color:var(--ink);color:var(--white);}

/* List view mode */
.blog-grid.list-view{grid-template-columns:1fr;}
.blog-grid.list-view .blog-card{flex-direction:row;max-height:160px;}
.blog-grid.list-view .blog-card-img{width:210px;min-width:210px;aspect-ratio:unset;height:100%;border-bottom:none;border-right:1.5px solid var(--black);}
.blog-grid.list-view .blog-card-body{padding:18px 22px;}
.blog-grid.list-view .blog-card-body h3{font-size:15px;}
.blog-grid.list-view .blog-card-body p{display:none;}
@media(max-width:680px){
  .blog-grid.list-view .blog-card{flex-direction:column;max-height:none;}
  .blog-grid.list-view .blog-card-img{width:100%;min-width:0;aspect-ratio:16/9;height:auto;border-right:none;border-bottom:1.5px solid var(--black);}
  .blog-grid.list-view .blog-card-body p{display:block;}
}

/* ============================================================
   BLOG ARTICLE — high-impact editorial layout (applies to every post)
   ============================================================ */

/* Reading progress bar — thin orange fill pinned to the very top */
.read-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:90;
  background:rgba(18,18,20,.06);pointer-events:none;}
.read-progress i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--orange),#ff8c52);
  transform:scaleX(0);transform-origin:0 50%;will-change:transform;}

/* Hero — orange top accent + tighter, bolder treatment */
.art-hero{border-top:4px solid var(--orange);position:relative;}
.art-meta{align-items:center;}
.art-meta .label{background:var(--ink);color:var(--beige) !important;border-color:var(--ink) !important;}
.art-meta .art-readtime{display:inline-flex;align-items:center;gap:7px;}
.art-meta .art-readtime::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--orange);display:inline-block;}
.art-title{letter-spacing:-.015em;}
.art-lede{font-weight:500;color:#33332f;}

/* Lead image under the hero — frame + cover */
.art-hero + section image-slot{border:1.5px solid var(--black);box-shadow:var(--card-shadow);}

/* Body measure + readability */
.art-body{font-size:18px;line-height:1.78;color:#26262b;counter-reset:artsec;}
.art-body > p:first-of-type{font-size:1.06em;color:#1f1f24;}
/* Drop cap on the opening paragraph (tagged by site.js) */
.art-body p.has-dropcap::first-letter{
  float:left;font-family:var(--head);font-weight:700;font-size:3.4em;line-height:.78;
  margin:4px 14px 0 0;color:var(--orange-display);}

/* Numbered, scannable section headings */
.art-body h2{
  display:flex;gap:16px;align-items:flex-start;border-left:0;padding-left:0;
  margin:58px 0 18px;scroll-margin-top:150px;}
.art-body h2::before{
  counter-increment:artsec;content:counter(artsec,decimal-leading-zero);
  font-family:var(--head);font-weight:700;font-size:.62em;line-height:1.5;color:#fff;
  background:var(--orange-btn);padding:4px 10px;flex:none;letter-spacing:.02em;margin-top:.18em;}
.art-body h3{color:var(--ink);margin-top:34px;}

/* Links, emphasis, lists */
.art-body a{color:var(--orange-text);font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;}
.art-body strong{color:var(--ink);font-weight:700;}
.art-body ul{list-style:none;padding-left:0;}
.art-body ul li{position:relative;padding-left:30px;margin-bottom:12px;}
.art-body ul li::before{content:"";position:absolute;left:0;top:.55em;width:11px;height:11px;
  background:var(--orange);transform:translateY(-50%);}
.art-body ol{padding-left:22px;}
.art-body ol li{margin-bottom:12px;padding-left:6px;}
.art-body ol li::marker{font-family:var(--head);font-weight:700;color:var(--orange-text);}

/* Pull quote (blockquote) */
.art-body blockquote{margin:36px 0;padding:6px 0 6px 28px;border-left:4px solid var(--orange);
  font-family:var(--head);font-weight:500;font-size:clamp(22px,2.4vw,30px);line-height:1.25;
  color:var(--ink);font-style:normal;}
.art-body blockquote p{margin:0;}

/* Callout — bolder editorial card */
.art-callout{box-shadow:var(--card-shadow-lg);}
.art-callout .ac-label::before{content:"// ";color:var(--orange);}

/* Mid-article image break + optional caption */
.art-img-break{box-shadow:var(--card-shadow);}
.art-img-break image-slot{height:auto;aspect-ratio:16/9;}
.art-img-break figcaption{font-family:var(--head);text-transform:uppercase;font-size:11px;
  letter-spacing:.14em;color:var(--steel);padding:10px 2px 0;}

/* Share row (appended by site.js) */
.art-share{display:flex;gap:12px;align-items:center;max-width:740px;margin:44px auto 0;
  padding-top:26px;border-top:1.5px solid var(--line);}
.art-share .sh-l{font-family:var(--head);text-transform:uppercase;font-size:11px;letter-spacing:.16em;color:var(--steel);}
.art-share a{width:40px;height:40px;border:1.5px solid var(--black);display:inline-flex;
  align-items:center;justify-content:center;color:var(--ink);background:var(--white);transition:all .15s ease;}
.art-share a:hover{background:var(--orange);border-color:var(--orange);color:#fff;transform:translateY(-2px);}

/* Related articles — make them real image cards */
.art-related{grid-template-columns:repeat(3,1fr);}
.art-related .blog-card{height:100%;}
@media(max-width:820px){.art-related{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.art-related{grid-template-columns:1fr;}}
