/*
Theme Name: Dobrev Consulting
Theme URI: https://dobrev.pro
Author: Vess Dobrev
Description: Landing-first consulting theme. Front page is the full funnel landing; blog and pages are fully Gutenberg-editable in the same design system.
Version: 1.2
Requires PHP: 7.4
Text Domain: dobrev
*/
/* ============ SELF-HOSTED FONTS ============
   Served from this theme instead of fonts.googleapis.com: removes a
   third-party stylesheet from the critical path plus the DNS/TLS round
   trip to two Google hosts. Latin subset only. Manrope is variable, so
   one file covers weights 400-700. */
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;
  src:url("assets/instrumentserif-400.woff2") format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;
  src:url("assets/instrumentserif-italic.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400 700;font-display:swap;
  src:url("assets/manrope-var.woff2") format("woff2-variations"),url("assets/manrope-var.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url("assets/plexmono-400.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;
  src:url("assets/plexmono-500.woff2") format("woff2")}

:root{
  --n0:#06100D; --n1:#0A1713; --n2:#0F211B; --n3:#173026; --n4:#224537;
  --au:#D9B26A; --au-2:#F2DCAE; --au-d:#94742F; --au-m:#B8934C;
  --jade:#4ED9A4; --loss:#B8524B;
  --pc:#F3F4F0; --pc-2:#E9EBE4; --wh:#FCFDFB;
  --tx:#111A16; --tx-2:#3D4A44;
  --mu:#6E7C75; --mu-l:#9BADA3;

  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --sans:"Manrope","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",Consolas,monospace;
  --gut:clamp(20px,5vw,64px); --maxw:1220px;
  --hair:linear-gradient(90deg,transparent,rgba(217,178,106,.28),transparent);
  --hair-lt:linear-gradient(90deg,transparent,rgba(17,26,22,.16),transparent);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--pc);color:var(--tx);font-family:var(--sans);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;z-index:9;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:inherit}
:focus-visible{outline:1px solid var(--au-d);outline-offset:4px;border-radius:2px}
img,svg{max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut);position:relative;z-index:2}
h1,h2{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.02em}
h2{font-size:clamp(32px,4.7vw,58px)}
h3{font-family:var(--sans);font-weight:600;font-size:19.5px;letter-spacing:-.015em;line-height:1.25}
p{text-wrap:pretty}
.gold{background:linear-gradient(100deg,var(--au-2),var(--au) 45%,var(--au-d));-webkit-background-clip:text;background-clip:text;color:transparent}
.gold-lt{background:linear-gradient(100deg,var(--au-m),var(--au-d) 60%,#6E5620);-webkit-background-clip:text;background-clip:text;color:transparent}
.it{font-style:italic}
.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--au-d);font-weight:500}
.eyebrow--l{color:var(--au)}
.lede{font-size:clamp(16px,1.7vw,19px);line-height:1.58;color:var(--tx-2)}
.sec--dk .lede{color:var(--mu-l)}

.btn{display:inline-block;font-weight:600;font-size:14.5px;padding:15px 30px;border-radius:2px;text-decoration:none;border:1px solid transparent;transition:transform .18s,background .18s,color .18s,border-color .18s,box-shadow .18s;cursor:pointer}
.btn--au{background:linear-gradient(160deg,var(--au-2),var(--au) 55%,#C79E56);color:#251A06;box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 10px 30px -14px rgba(148,116,47,.7)}
.btn--au:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 16px 38px -14px rgba(148,116,47,.85)}
.btn--gh{border-color:rgba(217,178,106,.34);color:var(--au-2)}
.btn--gh:hover{border-color:var(--au);background:rgba(217,178,106,.08)}
.btn--gh-lt{border-color:rgba(17,26,22,.24);color:var(--tx)}
.btn--gh-lt:hover{border-color:var(--tx);background:rgba(17,26,22,.04)}
.btn--dk{background:var(--n1);color:var(--wh);border-color:var(--n4)}
.btn--dk:hover{transform:translateY(-2px);background:var(--n2)}
.btn--ink{background:var(--n0);color:var(--wh)}
.btn--ink:hover{transform:translateY(-2px);background:var(--n2)}

.sec{padding:clamp(58px,7.5vw,110px) 0;position:relative;overflow:hidden}
.sec--dk{background:var(--n0);color:var(--wh)}
.sec--dk h2,.sec--dk h3{color:var(--wh)}
.sec--tint{background:var(--pc-2)}
/* light-section ambience: dot grid + soft washes */
.amb{position:absolute;inset:0;pointer-events:none;z-index:1}
.amb--grid{background-image:radial-gradient(rgba(17,26,22,.13) 1px,transparent 1px);background-size:26px 26px;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 12%,transparent 72%);mask-image:radial-gradient(120% 90% at 50% 0%,#000 12%,transparent 72%);opacity:.55}
.amb--wash-a{background:radial-gradient(680px 420px at 88% 8%,rgba(217,178,106,.20),transparent 65%),radial-gradient(620px 480px at 4% 84%,rgba(34,69,55,.11),transparent 68%)}
.amb--wash-b{background:radial-gradient(720px 460px at 10% 6%,rgba(217,178,106,.17),transparent 66%),radial-gradient(560px 420px at 92% 88%,rgba(78,180,140,.10),transparent 68%)}
.amb--rings{background:
  radial-gradient(circle at 92% 14%,transparent 118px,rgba(148,116,47,.13) 119px,transparent 120px),
  radial-gradient(circle at 92% 14%,transparent 188px,rgba(148,116,47,.10) 189px,transparent 190px),
  radial-gradient(circle at 92% 14%,transparent 262px,rgba(148,116,47,.07) 263px,transparent 264px)}

.sec__head{max-width:36em;margin-bottom:clamp(34px,5vw,58px)}
.sec__head h2{margin:14px 0 16px}
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.22,.7,.3,1),transform .7s cubic-bezier(.22,.7,.3,1)}
.rv.in{opacity:1;transform:none}

.glass{background:linear-gradient(158deg,rgba(255,255,255,.055),rgba(255,255,255,.012) 42%,rgba(255,255,255,0));border:1px solid rgba(217,178,106,.16);border-radius:10px;box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 30px 70px -40px rgba(0,0,0,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.card{background:var(--wh);border:1px solid rgba(17,26,22,.09);border-radius:10px;box-shadow:0 1px 2px rgba(17,26,22,.04),0 22px 48px -34px rgba(17,26,22,.30)}

/* ============ HERO ============ */
.hero{position:relative;padding:clamp(44px,6vw,84px) 0 clamp(56px,7vw,96px);background:var(--n0);color:var(--wh)}
.hero__bg{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(760px 420px at 82% 2%,rgba(217,178,106,.15),transparent 62%),
  radial-gradient(900px 620px at 8% 48%,rgba(34,69,55,.6),transparent 66%),
  radial-gradient(520px 400px at 62% 100%,rgba(78,217,164,.07),transparent 70%)}
.topbar{position:sticky;top:0;z-index:60;background:rgba(6,16,13,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(217,178,106,.16);color:var(--wh)}
.nav{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:15px 0}
.brand{font-family:var(--serif);font-size:20px;text-decoration:none;white-space:nowrap}
.brand b{font-weight:400;font-style:italic;color:var(--au)}
.nav__l{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.nav a.n{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mu-l);text-decoration:none;transition:color .18s}
.nav a.n:hover{color:var(--au)}
.hgrid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(32px,4.5vw,64px);align-items:center}
.hero h1{font-size:clamp(40px,6.2vw,74px);margin:20px 0 24px;letter-spacing:-.025em;line-height:.99}
.hero__sub{color:var(--mu-l);max-width:31em;font-size:clamp(16px,1.6vw,18.5px)}
.hcta{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hnote{margin-top:20px;font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--mu-l)}
.trust{margin-top:clamp(44px,5.5vw,72px);padding-top:30px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.trust::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--hair)}
.trust__k{font-family:var(--serif);font-size:clamp(26px,3.1vw,38px);line-height:1;letter-spacing:-.02em}
.trust__v{font-size:12.5px;color:var(--mu-l);margin-top:10px;line-height:1.45}

.panel{padding:clamp(20px,2.4vw,30px)}
.panel__h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:16px;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mu-l);position:relative}
.panel__h::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--hair)}
.panel__f{font-size:11.5px;color:var(--mu-l);margin-top:16px;line-height:1.5}
.stage{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.045)}
.stage:last-of-type{border-bottom:0}
.stage__t{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:9px}
.stage__n{font-size:13px;font-weight:600;color:#DCE5E0}
.stage__v{font-family:var(--mono);font-size:11.5px;color:var(--mu-l)}
.bar{height:7px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden;display:flex}
.bar i{display:block;height:100%;width:0;transition:width 1.05s cubic-bezier(.25,.85,.3,1)}
.bar i.ok{background:linear-gradient(90deg,var(--au-d),var(--au))}
.bar i.gone{background:repeating-linear-gradient(115deg,rgba(184,82,75,.62) 0 4px,rgba(184,82,75,.22) 4px 9px)}
.stage__c{display:flex;justify-content:space-between;gap:10px;margin-top:9px;font-family:var(--mono);font-size:10px;color:var(--mu-l)}
.stage__c .loss{color:#D7756D}
.stage--leak .stage__n::after{content:"leak";font-family:var(--mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:#D7756D;border:1px solid rgba(215,117,109,.42);padding:2px 6px;border-radius:99px;margin-left:10px;vertical-align:1.5px}
.tot{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-top:20px;padding-top:20px;position:relative}
.tot::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--hair)}
.tot__k{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--au)}
.tot__v{font-family:var(--serif);font-size:clamp(30px,3.9vw,44px);letter-spacing:-.02em;line-height:1}

/* ============ SYMPTOMS ============ */
.sym{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.2vw,26px)}
.sym__c{padding:clamp(22px,2.5vw,32px)}
.sym__c h3{margin:18px 0 10px}
.sym__c p{font-size:14.5px;color:var(--tx-2);line-height:1.58}
.ico{width:34px;height:34px;display:block}

/* ============ COMPARE ============ */
.vs{border:1px solid rgba(17,26,22,.1);border-radius:10px;overflow:hidden;background:var(--wh);box-shadow:0 22px 48px -34px rgba(17,26,22,.3)}
.vs__r{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.05fr;border-bottom:1px solid rgba(17,26,22,.08)}
.vs__r:last-child{border-bottom:0}
.vs__r--h{background:var(--n0);color:var(--wh)}
.vs__c{padding:16px 20px;font-size:14px;line-height:1.45;border-left:1px solid rgba(17,26,22,.06);color:var(--tx-2)}
.vs__c:first-child{border-left:0;font-weight:600;color:var(--tx)}
.vs__r--h .vs__c{border-left-color:rgba(255,255,255,.08);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;color:var(--mu-l)}
.vs__c--me{background:rgba(217,178,106,.11);color:var(--tx)}
.vs__r--h .vs__c--me{background:rgba(217,178,106,.16);color:var(--au)}

/* ============ TIERS ============ */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(15px,1.9vw,22px);align-items:stretch}
.tier{padding:clamp(23px,2.4vw,31px);display:flex;flex-direction:column;position:relative}
.tier--f{border-color:rgba(217,178,106,.5);background:linear-gradient(158deg,rgba(217,178,106,.12),rgba(217,178,106,.02) 45%,rgba(255,255,255,0))}
.tier__tag{position:absolute;top:-10px;left:clamp(23px,2.4vw,31px);background:linear-gradient(160deg,var(--au-2),var(--au));color:#251A06;font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;padding:5px 11px;border-radius:99px}
.tier__s{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--au-m)}
.tier--f .tier__s{color:var(--au)}
.tier h3{margin:11px 0 7px;font-size:21px}
.tier__for{font-size:13.5px;color:var(--mu-l);line-height:1.5;min-height:3.6em}
.tier__p{font-family:var(--serif);font-size:clamp(38px,4.4vw,50px);letter-spacing:-.025em;margin:22px 0 3px;line-height:1}
.tier--f .tier__p{color:var(--au-2)}
.tier__u{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mu-l);margin-bottom:22px}
.tier ul{list-style:none;margin-bottom:26px;flex:1}
.tier li{display:flex;gap:12px;font-size:13.8px;line-height:1.52;padding:9px 0;border-top:1px solid rgba(255,255,255,.055);color:var(--mu-l)}
.tier li:first-child{border-top:0}
.tier li strong{color:var(--wh);font-weight:600}
.mk{font-family:var(--mono);font-size:10px;color:var(--au-m);flex:none;padding-top:4px}
.tier--f .mk{color:var(--au)}
.tier .btn{text-align:center;width:100%}

.addon{margin-top:clamp(18px,2.2vw,24px);padding:clamp(20px,2.5vw,30px);display:grid;grid-template-columns:1fr auto;gap:clamp(18px,2.6vw,36px);align-items:center}
.addon h3{font-size:19px;margin:9px 0 7px}
.addon p{color:var(--mu-l);font-size:14px;max-width:52em;line-height:1.55}
.addon__p{font-family:var(--serif);font-size:clamp(30px,3.4vw,40px);letter-spacing:-.025em;line-height:1;text-align:center}
.addon__u{font-family:var(--mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--mu-l);margin-top:8px;text-align:center;line-height:1.7}
.ret{margin-top:clamp(20px,2.6vw,28px);padding:clamp(26px,3.2vw,44px);display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(26px,3.6vw,50px);align-items:center;border-color:rgba(217,178,106,.34)}
.ret h3{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.2vw,38px);letter-spacing:-.02em;margin:12px 0 14px}
.ret p{color:var(--mu-l);font-size:15.5px;max-width:44em}
.ret ul{list-style:none;margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:7px 26px}
.ret li{display:flex;gap:11px;font-size:13.8px;line-height:1.5;color:var(--mu-l)}
.ret__box{border:1px solid rgba(217,178,106,.2);border-radius:8px;padding:26px 22px;text-align:center;background:rgba(0,0,0,.22)}
.ret__p{font-family:var(--serif);font-size:clamp(42px,5vw,58px);letter-spacing:-.025em;line-height:1}
.ret__u{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mu-l);margin:10px 0 22px}
.ret__box .btn{width:100%;text-align:center}
.ret__n{font-family:var(--mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--mu-l);margin-top:15px}

/* ============ FIT ============ */
.fit{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2.6vw,32px)}
.fit__c{padding:clamp(23px,2.6vw,32px)}
.fit__c--n{background:transparent;border:1px dashed rgba(17,26,22,.2);box-shadow:none}
.fit__c h3{margin-bottom:18px}
.fit ul{list-style:none}
.fit li{display:flex;gap:13px;padding:10px 0;font-size:14.6px;line-height:1.52;border-top:1px solid rgba(17,26,22,.07);color:var(--tx-2)}
.fit li:first-child{border-top:0}
.fit__c--n li{color:var(--mu)}
.fit__c--n .mk{color:var(--mu)}
.plats{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.plat{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;border:1px solid rgba(148,116,47,.34);color:var(--au-d);border-radius:99px;padding:5px 11px;background:rgba(217,178,106,.07)}

/* ============ NETWORK ============ */
.net{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(13px,1.7vw,20px)}
.net__c{padding:clamp(19px,2.1vw,25px);border-radius:10px;background:var(--wh);border:1px solid rgba(17,26,22,.09);box-shadow:0 1px 2px rgba(17,26,22,.04)}
.net__k{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--au-d)}
.net__c h3{font-size:16.5px;margin:9px 0 7px}
.net__c p{font-size:13.2px;color:var(--tx-2);line-height:1.5}
.netnote{margin-top:clamp(20px,2.4vw,28px);border:1px dashed rgba(17,26,22,.2);border-radius:10px;padding:clamp(20px,2.4vw,28px);display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,2.6vw,30px);align-items:center}
.netnote svg{flex:none}
.netnote p{font-size:14.5px;color:var(--tx-2);max-width:54em}

/* ============ ABOUT ============ */
.about{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,4.5vw,64px);align-items:start}
.about p{color:var(--mu-l);margin-bottom:16px;font-size:16px;line-height:1.7}
.about p strong{color:var(--wh);font-weight:600}
.cv{border-radius:10px;overflow:hidden}
.cv__r{padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.055)}
.cv__r:last-child{border-bottom:0}
.cv__k{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--au)}
.cv__v{font-size:15px;margin-top:6px;line-height:1.4;color:var(--wh);font-weight:500}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.badge{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(217,178,106,.25);border-radius:99px;padding:9px 15px;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--au-2)}

/* ============ QUOTES ============ */
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(15px,2vw,24px)}
.q{padding:clamp(26px,2.6vw,34px);display:flex;flex-direction:column;border:1px solid rgba(17,26,22,.13);border-radius:10px;background:rgba(255,255,255,.6)}
.q blockquote{color:var(--tx-2);font-size:15.5px;line-height:1.65;flex:1;max-width:46em}
.q figcaption{margin-top:22px;padding-top:16px;border-top:1px solid rgba(17,26,22,.09);font-size:12.5px;line-height:1.45}
.q figcaption b{display:block;font-weight:600;color:var(--tx)}
.q figcaption span{color:var(--mu)}
.phtag{font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--loss);border:1px solid rgba(184,82,75,.4);padding:3px 9px;border-radius:99px;align-self:flex-start;margin-bottom:16px}

/* ============ PROCESS ============ */
.proc__s{display:grid;grid-template-columns:58px 1fr;gap:clamp(14px,2.2vw,30px);padding:27px 0;align-items:start;position:relative}
.proc__s::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--hair-lt)}
.proc__s:last-child::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--hair-lt)}
.proc__n{font-family:var(--mono);font-size:11px;color:var(--au-d);letter-spacing:.14em;padding-top:5px}
.proc__b p{font-size:15px;color:var(--tx-2);max-width:48em}
.proc__b h3{margin-bottom:7px}

/* ============ GUARANTEE ============ */
.guar{border-radius:12px;padding:clamp(28px,3.6vw,52px);display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,3.2vw,44px);align-items:center;background:var(--n0);color:var(--wh);position:relative;overflow:hidden;box-shadow:0 34px 80px -50px rgba(6,16,13,.9)}
.guar__bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(560px 320px at 12% 20%,rgba(217,178,106,.2),transparent 66%)}
.guar__s{font-family:var(--serif);font-size:clamp(52px,7vw,92px);line-height:.86;letter-spacing:-.035em;position:relative}
.guar h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.7vw,32px);letter-spacing:-.02em;margin-bottom:12px;line-height:1.15;color:var(--wh)}
.guar p{color:var(--mu-l);font-size:15.5px;max-width:47em;position:relative}
.guar>div{position:relative}

/* ============ FAQ ============ */
details{position:relative}
details::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--hair-lt)}
details:last-of-type::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--hair-lt)}
summary{cursor:pointer;list-style:none;padding:21px 44px 21px 0;position:relative;font-family:var(--serif);font-size:20px;letter-spacing:-.015em;line-height:1.25}
summary::-webkit-details-marker{display:none}
summary .pl,summary .pl2{position:absolute;background:var(--au-d);transition:transform .22s,opacity .22s}
summary .pl{right:8px;top:31px;width:13px;height:1.5px}
summary .pl2{right:13.7px;top:24.5px;width:1.5px;height:13px}
details[open] summary .pl2{opacity:0;transform:rotate(90deg)}
details p{padding:0 0 23px;font-size:15px;color:var(--tx-2);max-width:54em;line-height:1.65}

/* ============ FINAL ============ */
.final{text-align:center;position:relative;overflow:hidden;background:var(--n0);color:var(--wh)}
.final__bg{position:absolute;inset:0;pointer-events:none;background:radial-gradient(760px 420px at 50% 112%,rgba(217,178,106,.22),transparent 66%),radial-gradient(700px 400px at 12% 0%,rgba(34,69,55,.5),transparent 68%)}
.final h2{font-size:clamp(34px,5.4vw,64px);margin:16px auto 18px;max-width:14em;color:var(--wh)}
.final__n{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--mu-l);margin-top:24px}
.final .lede{margin:0 auto 34px;max-width:35em}
.final__l{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin-top:28px;font-size:13.5px}
.final__l a{color:var(--mu-l);text-decoration:none}
.final__l a:hover{color:var(--au)}
footer{background:var(--n0);color:var(--mu);padding:26px 0;font-size:12.5px;position:relative}
footer::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--hair)}
/* --mu on --n0 measures 4.41:1, just under the 4.5 AA minimum at this size.
   --mu-l clears it at 7.2:1. */
.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;color:var(--mu-l)}
.foot a{text-decoration:none}
.foot a:hover{color:var(--au)}
.foot .brand{color:var(--wh)}
.contact-link{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.contact-link:hover{color:var(--au)}
.contact-out a{color:inherit;text-decoration:underline}
.final__l button{color:var(--mu-l);text-decoration:none;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.final__l button:hover{color:var(--au)}

@media(max-width:1040px){.net{grid-template-columns:repeat(2,1fr)}}
@media(max-width:940px){
  .hgrid,.about,.fit,.tiers,.sym,.quotes,.ret{grid-template-columns:1fr}
  .trust{grid-template-columns:1fr 1fr}
  .ret ul{grid-template-columns:1fr}
  .proc__s{grid-template-columns:38px 1fr}
  .guar,.netnote,.addon{grid-template-columns:1fr}
  .tier__for{min-height:0}
  .vs{border:0;background:transparent;border-radius:0;box-shadow:none}
  .vs__r{grid-template-columns:1fr;background:var(--wh);border:1px solid rgba(17,26,22,.11);border-radius:10px;margin-bottom:12px;overflow:hidden}
  .vs__r--h{display:none}
  .vs__c{border-left:0;border-top:1px solid rgba(17,26,22,.06)}
  .vs__c:first-child{border-top:0;background:var(--n0);color:var(--wh)}
  .vs__c::before{content:attr(data-l);display:block;font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--mu);margin-bottom:6px}
  .vs__c:first-child::before{display:none}
}
@media(max-width:600px){.net{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.bar i{transition:none}.btn:hover{transform:none}html{scroll-behavior:auto}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
section[id],header[id],div[id]{scroll-margin-top:72px}
.skip{position:absolute;left:-9999px;top:0;background:var(--au);color:#251A06;padding:12px 20px;z-index:99;font-weight:600;border-radius:0 0 4px 0}
.skip:focus{left:0}
/* ===================== BLOG ===================== */
.blogwrap{max-width:760px;margin:0 auto;padding:clamp(48px,7vw,90px) var(--gut)}
.blogwrap h1{font-size:clamp(32px,5vw,52px);margin:10px 0 14px;color:var(--tx)}
.post-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--au-d);margin-bottom:26px}
.prose{font-size:17.5px;line-height:1.75;color:var(--tx-2)}
.prose h2{font-size:clamp(24px,3vw,32px);margin:44px 0 14px;color:var(--tx)}
.prose h3{margin:32px 0 10px;color:var(--tx)}
.prose p{margin:0 0 18px}
.prose a{color:var(--au-d);text-decoration-color:rgba(148,116,47,.4)}
.prose ul,.prose ol{margin:0 0 18px 22px}
.prose li{margin-bottom:8px}
.prose img{border-radius:10px;margin:8px 0 18px}
.prose blockquote{border-left:2px solid var(--au);padding:4px 0 4px 20px;margin:24px 0;font-family:var(--serif);font-size:20px;color:var(--tx)}
.prose pre{background:var(--n1);color:#DCE5E0;border-radius:10px;padding:18px 20px;overflow-x:auto;font-family:var(--mono);font-size:13.5px;line-height:1.6;margin:0 0 18px}
.prose code{font-family:var(--mono);font-size:.88em}
.post-card{display:block;text-decoration:none;padding:26px 0;position:relative}
.post-card::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--hair-lt)}
.post-card:last-of-type::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--hair-lt)}
.post-card h2{font-size:clamp(22px,2.8vw,30px);color:var(--tx);margin:6px 0 8px;transition:color .15s}
.post-card:hover h2{color:var(--au-d)}
.post-card p{color:var(--tx-2);font-size:15px}
.blog-cta{margin-top:48px;border:1px dashed rgba(148,116,47,.4);border-radius:10px;padding:24px 26px;background:rgba(217,178,106,.06)}
.blog-cta p{margin:0 0 14px;color:var(--tx-2);font-size:15px}
.sitehead{background:rgba(6,16,13,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:sticky;top:0;z-index:60;border-bottom:1px solid rgba(217,178,106,.16);color:var(--wh)}
.sitehead .nav{margin-bottom:0}

/* ===================== ARTICLE COMPONENTS =====================
   Reusable blocks for the audit article cluster. All sit inside .prose
   (760px column) on the light --pc ground. Note: --hair-lt is a gradient,
   so borders here use explicit rgba values. */

/* Table of contents, generated from the article's own H2s */
.toc{background:rgba(17,26,22,.04);border:1px solid rgba(17,26,22,.12);border-left:3px solid var(--au);border-radius:0 10px 10px 0;padding:20px 24px;margin:0 0 34px}
.toc__k{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--au-d);margin:0 0 12px}
.prose .toc ol{margin:0;padding:0;list-style:none;counter-reset:toc}
.prose .toc li{counter-increment:toc;margin:0 0 7px;padding-left:30px;position:relative;font-size:15px;line-height:1.5}
.prose .toc li::before{content:counter(toc,decimal-leading-zero);position:absolute;left:0;top:2px;font-family:var(--mono);font-size:11px;color:var(--mu)}
.toc a{color:var(--tx-2);text-decoration:none}
.toc a:hover{color:var(--au-d);text-decoration:underline}
.prose h2{scroll-margin-top:80px}

/* Breadcrumbs */
.crumbs{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);margin-bottom:18px}
.crumbs a{color:var(--au-d);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs .sep{opacity:.45;margin:0 7px}

/* Key takeaway / answer box — put the direct answer up top for featured snippets */
.keytake{background:var(--n0);color:var(--wh);border-radius:12px;padding:clamp(22px,3vw,28px);margin:30px 0}
.keytake__k{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--au);margin:0 0 12px}
.prose .keytake p{margin:0 0 11px;color:rgba(252,253,251,.85);font-size:16px;line-height:1.62}
.prose .keytake p:last-child{margin:0}
.keytake strong{color:var(--wh);font-weight:600}

/* Layered framework diagram */
.layers{margin:30px 0;border:1px solid rgba(17,26,22,.13);border-radius:12px;overflow:hidden;background:rgba(17,26,22,.05)}
.layer{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:15px 20px;background:var(--wh);align-items:start;border-top:1px solid rgba(17,26,22,.08);position:relative}
.layer:first-child{border-top:0}
.layer::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--au)}
.layer:nth-child(1)::before{opacity:.30}
.layer:nth-child(2)::before{opacity:.42}
.layer:nth-child(3)::before{opacity:.54}
.layer:nth-child(4)::before{opacity:.66}
.layer:nth-child(5)::before{opacity:.78}
.layer:nth-child(6)::before{opacity:.89}
.layer:nth-child(7)::before{opacity:1}
.layer__n{font-family:var(--mono);font-size:10.5px;color:var(--au-d);letter-spacing:.1em;padding-top:4px;white-space:nowrap}
.layer__b h4{margin:0 0 4px;font-family:var(--sans);font-size:15.5px;font-weight:700;color:var(--tx);line-height:1.35}
.prose .layer__b p{margin:0;font-size:14.5px;line-height:1.55;color:var(--tx-2)}

/* Audit finding card — problem / evidence / impact / fix / effort / priority */
.finding{border:1px solid rgba(17,26,22,.13);border-radius:12px;overflow:hidden;margin:30px 0;background:var(--wh)}
.finding__h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;background:var(--n0)}
.finding__t{font-family:var(--sans);font-weight:600;font-size:15px;color:var(--wh);line-height:1.35}
.finding__p{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:99px;white-space:nowrap}
.finding__p--hi{background:rgba(184,82,75,.2);color:#EBA9A3;border:1px solid rgba(184,82,75,.5)}
.finding__p--md{background:rgba(217,178,106,.16);color:var(--au-2);border:1px solid rgba(217,178,106,.45)}
.finding__r{display:grid;grid-template-columns:112px 1fr;gap:14px;padding:12px 20px;border-top:1px solid rgba(17,26,22,.08)}
.finding__k{font-family:var(--mono);font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--mu);padding-top:4px}
.prose .finding__v{margin:0;font-size:14.5px;line-height:1.55;color:var(--tx-2)}
.finding__v .num{font-family:var(--mono);color:var(--au-d);font-weight:600}

/* Process flow */
.flow{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:30px 0}
.flow__s{background:var(--wh);border:1px solid rgba(17,26,22,.12);border-radius:9px;padding:13px 9px;text-align:center}
.flow__n{font-family:var(--mono);font-size:9px;color:var(--au-d);letter-spacing:.12em}
.flow__t{font-size:12.5px;font-weight:600;color:var(--tx);margin-top:5px;line-height:1.3}

/* Article table */
.atable-wrap{overflow-x:auto;margin:30px 0;border:1px solid rgba(17,26,22,.13);border-radius:12px}
.atable{width:100%;border-collapse:collapse;background:var(--wh);min-width:540px;font-size:14.5px}
.atable th,.atable td{padding:12px 16px;text-align:left;border-bottom:1px solid rgba(17,26,22,.08);vertical-align:top;line-height:1.5}
.atable th{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);background:rgba(17,26,22,.035);font-weight:600}
.atable tr:last-child td{border-bottom:0}
.atable td:first-child{font-weight:600;color:var(--tx)}

/* Neutral note / caveat */
.note{background:rgba(17,26,22,.035);border:1px solid rgba(17,26,22,.11);border-left:3px solid var(--mu);border-radius:0 10px 10px 0;padding:15px 18px;margin:26px 0}
.prose .note p{margin:0;font-size:14.5px;color:var(--tx-2);line-height:1.6}

/* Mid-article contextual CTA */
.cta-mid{border-left:3px solid var(--au);background:rgba(217,178,106,.08);padding:18px 22px;margin:32px 0;border-radius:0 10px 10px 0}
.prose .cta-mid p{margin:0;font-size:15.5px;color:var(--tx-2);line-height:1.6}
.cta-mid a{font-weight:600;color:var(--au-d)}

/* End-of-article offer block */
.cta-end{background:var(--n0);color:var(--wh);border-radius:14px;padding:clamp(24px,4vw,36px);margin:46px 0 0}
.cta-end__k{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--au);margin:0 0 10px}
.cta-end h3{font-family:var(--serif);font-weight:400;font-size:clamp(23px,3.4vw,31px);margin:0 0 12px;color:var(--wh);line-height:1.15}
.prose .cta-end p{color:rgba(252,253,251,.8);font-size:15.5px;margin:0 0 6px;line-height:1.6}
.cta-end__tiers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0 20px}
.cta-end__tier{border:1px solid rgba(217,178,106,.28);border-radius:10px;padding:15px 17px;background:rgba(217,178,106,.05)}
.cta-end__price{font-family:var(--mono);font-size:18px;color:var(--au);font-weight:600}
.cta-end__name{font-size:14px;color:var(--wh);font-weight:600;margin-top:3px}
.prose .cta-end__d{font-size:13px;color:rgba(252,253,251,.6);margin:5px 0 0;line-height:1.45}
.cta-end .btn{margin-top:4px}
.cta-end__q{border-top:1px solid rgba(217,178,106,.2);margin-top:22px;padding-top:16px;font-size:14px;color:rgba(252,253,251,.7);font-style:italic;line-height:1.6}
.cta-end__q b{display:block;font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--au);margin-top:9px;font-weight:600}

/* ===================== BLOG INDEX ===================== */
.blogwrap--index{max-width:1020px}
.bloglede{color:var(--tx-2);font-size:17px;max-width:44em;margin:14px 0 0;line-height:1.65}
.catbar{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0 36px}
.catpill{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--tx-2);border:1px solid rgba(17,26,22,.18);border-radius:99px;padding:8px 16px;transition:border-color .15s,color .15s,background .15s}
.catpill:hover{border-color:var(--au-d);color:var(--au-d)}
.catpill.is-on{background:var(--n0);color:var(--au);border-color:var(--n0)}
.postgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.postgrid__empty{color:var(--mu);grid-column:1/-1}
.pcard{display:flex;flex-direction:column;text-decoration:none;border:1px solid rgba(17,26,22,.12);border-radius:12px;overflow:hidden;background:var(--wh);transition:transform .18s,box-shadow .18s}
.pcard:hover{transform:translateY(-3px);box-shadow:0 14px 34px -18px rgba(17,26,22,.35)}
.pcard[hidden]{display:none}
.pcard__img img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;border-radius:0;margin:0}
.pcard__b{padding:20px 22px 22px;display:flex;flex-direction:column;gap:9px;flex:1}
.pcard__meta{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--au-d);margin:0}
.pcard h2{font-size:clamp(20px,2.4vw,25px);color:var(--tx);line-height:1.16;margin:0;transition:color .15s}
.pcard:hover h2{color:var(--au-d)}
.pcard__ex{color:var(--tx-2);font-size:14.5px;line-height:1.6;margin:0;flex:1}
.pcard__go{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--au-d)}
.blogwrap--index .blog-cta{margin-top:56px;border-style:solid;border-color:rgba(148,116,47,.35)}
@media(max-width:760px){.postgrid{grid-template-columns:1fr}}

@media(max-width:640px){
  .flow{grid-template-columns:repeat(2,1fr)}
  .finding__r{grid-template-columns:1fr;gap:3px;padding:11px 18px}
  .finding__h{flex-direction:column;align-items:flex-start;gap:9px}
  .cta-end__tiers{grid-template-columns:1fr}
  .layer{grid-template-columns:42px 1fr;gap:12px;padding:14px 16px}
}
