/* Doc-Rep: styling for pages built from core blocks. Maps block markup onto the design components. */

/* ── reset core block spacing; the design controls spacing ── */
:where(.wp-block-group,.wp-block-heading,.wp-block-buttons,.wp-block-button,.wp-block-list,.wp-block-details,.wp-block-html){margin:0}
mark.has-inline-color{background:none;color:inherit}
mark.has-maroon-color{color:var(--m)}
.dk mark.has-maroon-color,.fcta mark.has-maroon-color{color:var(--y)}
.shero h1 mark.has-maroon-color{display:block}
.hero h1 mark.has-maroon-color{display:inline}
p.lb{margin-bottom:18px}
.lead,.sub{margin-bottom:0}
p.lead{margin-top:14px}
.shead p.lead{margin-top:0}

/* ── buttons: core Button block looks like .btn ── */
.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.wp-block-button__link{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 24px;border-radius:10px;background:var(--m);color:#fff;font-weight:700;font-size:14.5px;line-height:1;transition:transform .35s var(--ease),background .25s,box-shadow .35s;white-space:nowrap;text-decoration:none;border:0}
.wp-block-button__link::after{content:"";flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:var(--i-arrow) center/contain no-repeat;mask:var(--i-arrow) center/contain no-repeat;transition:transform .35s var(--ease)}
.wp-block-button__link:hover{background:var(--m-d);transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(131,9,72,.55);color:#fff}
.wp-block-button__link:hover::after{transform:translateX(4px)}
.btn-o .wp-block-button__link{background:transparent;color:var(--m);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn-o .wp-block-button__link:hover{background:var(--m-t);box-shadow:inset 0 0 0 1.5px var(--m);color:var(--m)}
.btn-y .wp-block-button__link{background:var(--y);color:var(--m-x)}.btn-y .wp-block-button__link:hover{background:#FFE35C;color:var(--m-x);box-shadow:0 12px 24px -12px rgba(255,217,48,.7)}
.btn-g .wp-block-button__link{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35)}.btn-g .wp-block-button__link:hover{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1.5px #fff;color:#fff}
.btn-s .wp-block-button__link{height:40px;padding:0 18px;font-size:13.5px}
.trial .wp-block-button__link{background:var(--m-x);color:#fff}.trial .wp-block-button__link:hover{background:#000;color:#fff}
.trial .btn-o .wp-block-button__link{background:transparent;color:var(--m-x);box-shadow:inset 0 0 0 1.5px rgba(58,4,33,.4)}.trial .btn-o .wp-block-button__link:hover{background:rgba(58,4,33,.08);color:var(--m-x)}
.trial .btn-y .wp-block-button__link{background:var(--m-x);color:#fff}

/* ── icon masks (decorate lists without markup inside list items) ── */
:root{
  --i-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --i-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}
.wp-block-list.cl2,.wp-block-list.ck,.wp-block-list.bl,.wp-block-list.chips,.wp-block-list.rs,.wp-block-list.tk{list-style:none;padding:0}
.cl2>li,.ck>li,.bl>li,.chips>li,.tk>li{display:flex;gap:10px}
.cl2>li::before,.ck>li::before,.bl>li::before,.chips>li::before,.tk>li::before,.q .a::before{content:"";flex:none;width:16px;height:16px;margin-top:5px;background:var(--m);-webkit-mask:var(--i-check) center/contain no-repeat;mask:var(--i-check) center/contain no-repeat}
.ck>li::before{width:18px;height:18px;background:currentColor;margin-top:3px}
.bl>li::before{width:18px;height:18px;background:var(--y);margin-top:3px}
.tk>li::before{width:18px;height:18px;background:currentColor;margin-top:3px}
.q .a::before{display:none}
.chips>li{align-items:center;padding:8px 14px;border:1px solid var(--line);border-radius:99px;background:#fff;font-weight:600;font-size:13px;color:var(--ink);gap:8px}
.chips>li::before{width:15px;height:15px;margin-top:0}
.wp-block-list.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.wp-block-list.rs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 14px}
.rs>li{padding:8px 14px;border-radius:99px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;font-weight:600;font-size:13px}
.wp-block-list.cl2{display:grid}
.pn.nov .cl2>li{align-items:flex-start}
.wp-block-list.ck{display:grid}
.wp-block-list.bl{display:grid;gap:12px}
.bl>li{align-items:flex-start}

/* specialty tiles: list of links styled like .vt */
.wp-block-list.sv{display:grid}
.sv>li{list-style:none}
.sv>li>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px;background:#fff;border:1px solid var(--line);border-radius:12px;font:600 15px var(--h);color:var(--ink);position:relative;overflow:hidden;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
.sv>li>a::after{content:"";flex:none;width:16px;height:16px;background:var(--m);-webkit-mask:var(--i-arrow) center/contain no-repeat;mask:var(--i-arrow) center/contain no-repeat;transition:.35s var(--ease)}
.sv>li>a:hover{transform:translateY(-3px);border-color:var(--m);box-shadow:0 14px 28px -20px rgba(131,9,72,.5)}
.sv>li>a:hover::after{transform:translateX(4px)}

/* ── tabs built from blocks ── */
.tab-label{font:700 11px var(--b);letter-spacing:.14em;text-transform:uppercase;color:var(--m);margin-bottom:6px}
.dr-ready .tab-label{display:none}
.dr-tabs .sp>.pn,.dr-tabs .pc>.pnl{display:none}
.dr-tabs .sp>.pn.on{display:block}
.dr-tabs .pc>.pnl.on{display:block;animation:pin .6s var(--ease)}
.dr-tabs:not(.dr-ready) .sp>.pn,.dr-tabs:not(.dr-ready) .pc>.pnl{display:block;margin-bottom:28px}
p.kk{display:flex;align-items:center;gap:8px;font:700 11px var(--b);letter-spacing:.14em;text-transform:uppercase;color:var(--m);margin-bottom:10px}
p.tag{margin-bottom:22px}
.pc .st{display:block}
.pc p.oc{display:inline-flex;gap:10px;align-items:center;font-size:13.5px;font-weight:700;color:var(--ink);background:var(--soft);padding:10px 16px;border-radius:10px;margin-bottom:0}
.pc p.oc::before{content:"";width:16px;height:16px;background:var(--m);-webkit-mask:var(--i-check) center/contain no-repeat;mask:var(--i-check) center/contain no-repeat}

/* ── FAQ: core Details block as an accordion ── */
.faqlist{border-top:1px solid var(--line)}
details.q{border-bottom:1px solid var(--line)}
details.q>summary{list-style:none;cursor:pointer;display:flex;gap:18px;align-items:center;padding:22px 0;font:600 17px/1.4 var(--h);color:var(--ink)}
details.q>summary::-webkit-details-marker{display:none}
details.q>summary::after{content:"+";margin-left:auto;flex:none;width:30px;height:30px;border-radius:50%;background:var(--soft);color:var(--m);display:grid;place-items:center;font:700 18px/1 var(--b);transition:.4s var(--ease)}
details.q[open]>summary::after{content:"–";background:var(--m);color:#fff}
details.q>p{padding:0 48px 22px 0;margin:0}
details.q.gone{display:none}

/* ── groups mapped to components ── */
.shero>.wrap>.wp-block-group{min-width:0}
.sc>.ic,.vi>.ic,.rel .ic{display:grid}
.wy>.vi{display:flex}
.wy .vi>.wp-block-html{flex:none}
.fcta>.wp-block-group{position:relative}
.faqlist{margin:0}
.fqs .arrow{display:inline-flex}
p.pr{font:700 clamp(64px,8vw,104px)/1 var(--h);letter-spacing:-.04em;color:var(--m-x);margin:6px 0 8px}
p.pr em{font-size:.26em;font-weight:600;letter-spacing:0;font-style:normal}
.trial p.lead{margin:14px 0 26px}
.bn p.note{margin-top:18px}
.dk .bn>.wp-block-group>p:not(.lb){margin-top:16px;max-width:480px;color:rgba(255,255,255,.76)}
.wp-block-group.tgrid>.wp-block-group,.wp-block-group.bn>.wp-block-group{min-width:0}

@media(max-width:980px){.wp-block-group.fcta .wp-block-buttons{justify-content:flex-start}}

/* spacing helpers used by generated pages */
p.gap44{margin-bottom:44px}
.mt44{margin-top:44px}
.h2.mb44{margin-bottom:44px}
.lead.wide{max-width:640px}
.wwg .ps{margin-bottom:14px}
.mt72{margin-top:72px}
.h2r{font-size:clamp(22px,2.4vw,30px)}
.rel{margin-top:36px}
