/* Bulwark Assurance: full-bleed photography, generous darkness, burgundy and apricot */
:root{
  --ground:#140A0D;--surface:#1F1216;--surface2:#2A181D;--ink:#F7EFEA;--primary:#8E1B3A;--primary-hi:#A82248;--rose:#F0A5B5;--accent:#E8B27A;--muted:#C2ADB1;
  --cream:#F6EEE7;--cream2:#EFE3D9;--c-ink:#2A1318;--c-muted:#6E5559;--line:rgba(247,239,234,.14);--c-line:rgba(42,19,24,.14);
  --fd:'Gabarito',system-ui,sans-serif;--fb:'Mulish',system-ui,sans-serif;--wrap:1240px;--r:6px;
  color-scheme:dark;
}
@view-transition{navigation:auto}
::view-transition-old(root){animation:.3s ease both vt-out}
::view-transition-new(root){animation:.4s ease both vt-in}
@keyframes vt-out{to{opacity:0}}@keyframes vt-in{from{opacity:0}}
.vt-title{view-transition-name:hero-title}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:110px}
body{margin:0;background:var(--ground);color:var(--ink);font:400 16px/1.65 var(--fb);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
h1,h2,h3{font-family:var(--fd);line-height:1.02;margin:0 0 .45em;letter-spacing:-.02em;font-weight:700}
h1{font-size:clamp(2.6rem,8.4vw,6.2rem);font-weight:800;letter-spacing:-.035em}
h2{font-size:clamp(2rem,5vw,3.6rem)}
h3{font-size:1.35rem;letter-spacing:-.01em}
p{margin:0 0 1em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:1000;background:var(--accent);color:var(--ground);padding:10px 16px;font-weight:700}
.skip:focus{top:60px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
@media(min-width:760px){.wrap{padding:0 40px}}
.eyebrow{display:flex;align-items:center;gap:10px;font:700 .76rem/1.3 var(--fb);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 1em}
.eyebrow::before{content:"";width:28px;height:2px;background:currentColor;flex:none}
.lead{font-size:clamp(1.05rem,1.7vw,1.3rem);max-width:56ch;color:#EADCD6}
.intro{color:var(--muted);max-width:60ch;font-size:1.06rem}
.note,.small{font-size:.86rem;color:var(--muted)}
.ic{width:24px;height:24px;flex:none}.ic-s{width:16px;height:16px;vertical-align:-3px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:50px;padding:.75em 1.5em;border-radius:var(--r);font:700 .98rem var(--fb);text-decoration:none;cursor:pointer;border:2px solid transparent;transition:background .25s,color .25s,border-color .25s,transform .3s}
.btn-solid{background:var(--primary);color:#fff}
.btn-solid:hover{background:var(--primary-hi)}
.btn-line{border-color:rgba(247,239,234,.5);color:var(--ink);background:rgba(20,10,13,.25)}
.btn-line:hover{border-color:var(--accent);color:var(--accent)}
.btn-s{min-height:44px;padding:.4em 1em;font-size:.88rem}
.btn:disabled{opacity:.5;cursor:not-allowed}
button{font:inherit;color:inherit}
.acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

/* header: transparent over photos */
.hd{position:fixed;top:0;left:0;right:0;z-index:60;transition:background .35s,padding .35s}
.hd-in{max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:18px 16px;transition:padding .35s}
.hd.is-scrolled{background:rgba(20,10,13,.92);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.hd.is-scrolled .hd-in{padding-top:10px;padding-bottom:10px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:500 1.15rem var(--fd);letter-spacing:-.01em;min-height:44px;color:var(--ink)}
.logo b{font-weight:800}
.mono{width:32px;height:35px;flex:none}
.hd-nav{display:none;gap:2px;margin-left:auto}
.hd-nav a{text-decoration:none;font-weight:600;font-size:.95rem;padding:10px 14px;color:#EADCD6}
.hd-nav a:hover,.hd-nav a[aria-current]{color:var(--accent)}
.hd-q{display:none}
.hd-menu{margin-left:auto;display:flex;align-items:center;gap:12px;min-height:46px;padding:0 6px 0 14px;background:none;border:0;cursor:pointer;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem}
.hd-menu i{width:36px;height:36px;border-radius:50%;border:2px solid rgba(247,239,234,.6);position:relative}
.hd-menu i::before,.hd-menu i::after{content:"";position:absolute;left:9px;right:9px;height:2px;background:currentColor}
.hd-menu i::before{top:13px}.hd-menu i::after{top:19px}
@media(min-width:1080px){.hd-nav{display:flex}.hd-q{display:inline-flex}.hd-menu{margin-left:0}.hd-in{padding:20px 40px}}
.menu{position:fixed;inset:0;z-index:2000;background:var(--ground);overflow:auto}
.menu-in{max-width:1400px;margin:0 auto;padding:64px 16px 40px}
@media(min-width:760px){.menu-in{padding:72px 40px 48px}}
.menu-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.menu-x{display:flex;align-items:center;gap:8px;min-height:46px;padding:0 16px;border:2px solid var(--line);background:none;cursor:pointer;font-weight:700;border-radius:var(--r)}
.menu-grid{display:grid;gap:32px}
@media(min-width:980px){.menu-grid{grid-template-columns:1.6fr 1fr;gap:64px}}
.menu-list{list-style:none;padding:0;margin:0;display:grid;gap:0}
@media(min-width:700px){.menu-list{grid-template-columns:1fr 1fr;column-gap:32px}}
.menu-list a{display:grid;grid-template-columns:40px 1fr;align-items:baseline;gap:0 12px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none}
.menu-list .mn{grid-row:span 2;color:var(--accent);font:700 .8rem var(--fb)}
.menu-list b{font:700 clamp(1.3rem,2.6vw,1.9rem)/1.15 var(--fd);letter-spacing:-.02em;transition:color .2s,transform .3s}
.menu-list small{color:var(--muted);font-size:.85rem}
.menu-list a:hover b,.menu-list a[aria-current] b{color:var(--accent)}
.menu-side{background:var(--surface);padding:28px;border-radius:var(--r);align-self:start}
.menu-big{font:800 clamp(1.6rem,3vw,2.3rem) var(--fd);letter-spacing:-.02em}
.menu-big a{text-decoration:none}
.menu-side p{color:#E0D0CB}

/* photos */
.ph{margin:0;background:linear-gradient(135deg,#3A1A24,#1E1216 60%,#2C1C14);overflow:hidden;position:relative}
.ph img{width:100%;height:100%;object-fit:cover}

/* full bleed */
.bleed{position:relative;min-height:78svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.bleed-tall{min-height:100svh}
.bleed-ph{position:absolute;inset:-8% 0;z-index:-2}
.bleed-ph .ph{height:100%;aspect-ratio:auto!important}
.bleed-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,10,13,.55) 0%,rgba(20,10,13,.25) 30%,rgba(20,10,13,.72) 68%,rgba(20,10,13,.97) 100%),linear-gradient(90deg,rgba(20,10,13,.7),transparent 70%)}
.bleed-in{position:relative;width:100%;padding-top:150px;padding-bottom:56px}
@media(min-width:900px){.bleed-in{padding-bottom:88px}}
.bleed h1{max-width:15ch;text-wrap:balance}
.bleed-home h1{max-width:12ch}
.crumb{font-size:.85rem;color:#E0D0CB;margin-bottom:18px}
.crumb a{color:#E0D0CB}
.bchips{display:flex;flex-wrap:wrap;gap:0;margin-top:22px;border-top:1px solid var(--line);padding-top:16px;max-width:760px}
.bchip{padding:0 22px 0 0;margin:0 22px 8px 0;border-right:1px solid var(--line)}
.bchip:last-child{border:0}
.bchip span{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.bchip b{font:700 1.15rem var(--fd);color:var(--accent)}
.start-l{margin:28px 0 12px;font-weight:700}
.starts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:720px}
@media(min-width:700px){.starts{grid-template-columns:repeat(6,1fr)}}
.start{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:14px;min-height:96px;border:1px solid rgba(247,239,234,.3);background:rgba(20,10,13,.45);backdrop-filter:blur(8px);text-decoration:none;font-weight:700;border-radius:var(--r);transition:background .25s,border-color .25s,transform .3s}
.start:hover{background:var(--primary);border-color:var(--primary);transform:translateY(-3px)}
.start .ic{color:var(--accent)}.start:hover .ic{color:#fff}
.big-tel{display:flex;align-items:center;gap:12px;font:800 clamp(1.8rem,5vw,3.2rem) var(--fd);letter-spacing:-.02em;margin:14px 0}
.big-tel a{text-decoration:none}.big-tel .ic{width:36px;height:36px;color:var(--accent)}
.small-tel{font-size:1.6rem}

/* stats */
.stats{background:var(--primary);padding:48px 0 24px}
.stats-in{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px}
@media(min-width:900px){.stats-in{grid-template-columns:repeat(4,1fr)}}
.stats b{display:block;font:800 clamp(2.2rem,5vw,3.6rem)/1 var(--fd);letter-spacing:-.03em}
.stats span{color:#F6DCE2;font-size:.92rem}
.stats .note{color:#F6DCE2;margin-top:22px}

/* chapters */
.chapter{position:relative;min-height:100svh;display:flex;align-items:center;isolation:isolate;overflow:hidden}
.ch-ph{position:absolute;inset:0;z-index:-2}
.ch-ph .ph{height:100%;aspect-ratio:auto!important}
.chapter .bleed-scrim{background:linear-gradient(90deg,rgba(20,10,13,.94) 0%,rgba(20,10,13,.72) 45%,rgba(20,10,13,.2) 100%),linear-gradient(0deg,rgba(20,10,13,.8),transparent 40%)}
.ch-in{padding-top:96px;padding-bottom:96px}
.ch-in h2{max-width:14ch}
.ch-price{font-size:1.05rem;margin-top:20px}
.ch-price b{font:800 2rem var(--fd);color:var(--accent);margin:0 4px}
.ch-price span{display:block;font-size:.78rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}

/* sections */
.sec{padding:72px 0}
@media(min-width:900px){.sec{padding:112px 0}}
.sec-h{max-width:800px;margin-bottom:40px}
.sec-light{background:var(--cream);color:var(--c-ink)}
.sec-light .eyebrow{color:var(--primary)}
.sec-light .intro,.sec-light .note,.sec-light .small{color:var(--c-muted)}
.talls{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin:0 -16px;padding-left:16px;padding-right:16px;scrollbar-width:thin}
.tall{position:relative;flex:0 0 78%;scroll-snap-align:start;min-height:440px;display:flex;align-items:flex-end;text-decoration:none;overflow:hidden;border-radius:var(--r);isolation:isolate;transition:transform .35s}
.tall .ph{position:absolute;inset:0;z-index:-2;aspect-ratio:auto!important;height:100%;transition:transform .8s}
.tall::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,rgba(20,10,13,.95))}
.tall:hover .ph{transform:scale(1.05)}
.tall-in{padding:24px}
.tall-in>span{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--primary);margin-bottom:14px}
.tall-in p{color:#E0D0CB;margin-bottom:.6em}
.tall-in em{font-style:normal;color:var(--accent);font-weight:700;display:flex;gap:6px;align-items:center}
@media(min-width:900px){.talls{overflow:visible;margin:0;padding:0}.tall{flex:1;min-height:560px}}

.four{display:grid;gap:28px}
@media(min-width:980px){.four{grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}}
.four-steps{list-style:none;padding:0;margin:0;display:grid;gap:0}
.four-steps li{display:grid;grid-template-columns:64px 1fr;gap:0 16px;padding:20px 0;border-top:1px solid var(--line)}
.four-steps b{grid-row:span 2;font:800 2.4rem/1 var(--fd);color:var(--primary);-webkit-text-stroke:1px var(--rose);color:transparent}
.four-steps h3{margin:0 0 .3em}.four-steps p{margin:0;color:var(--muted)}
.four-card{background:var(--cream);color:var(--c-ink);padding:28px;border-radius:var(--r);box-shadow:0 40px 80px rgba(0,0,0,.5)}
.four-card .eyebrow{color:var(--primary)}
.fc-t{color:var(--c-muted);font-size:.95rem}
.fc-p{font-size:1.05rem}.fc-p b{font:800 3rem var(--fd);letter-spacing:-.03em;color:var(--primary)}
.four-card ul{list-style:none;padding:0;margin:0 0 20px}
.four-card li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--c-line)}

.bleed-claims{min-height:100svh;align-items:center}
.cl-steps{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:10px;max-width:880px}
@media(min-width:760px){.cl-steps{grid-template-columns:repeat(4,1fr)}}
.cl-steps li{border-top:2px solid var(--accent);padding-top:12px;font-weight:600}
.cl-steps b{display:block;font:800 1.4rem var(--fd);color:var(--accent)}

.rec{display:grid;gap:28px}
@media(min-width:900px){.rec{grid-template-columns:1.3fr 1fr;gap:56px;align-items:center}}
.rec-chart{display:grid;gap:14px}
.rc-row{display:grid;grid-template-columns:80px 1fr 50px;align-items:center;gap:12px}
.rc-row span{font-weight:600;color:#E0D0CB}
.rc-row i{height:14px;background:linear-gradient(90deg,var(--primary) calc(var(--v)*1%),rgba(247,239,234,.1) 0);border-radius:2px}
.rc-row b{font:700 1rem var(--fd);color:var(--accent)}
.rec-txt p{color:#E0D0CB}

.qb{padding:96px 0;position:relative;isolation:isolate;overflow:hidden}
.qb-ph-on{min-height:80svh;display:flex;align-items:center}
.qb-ph{position:absolute;inset:-8% 0;z-index:-2}.qb-ph .ph{height:100%;aspect-ratio:auto!important}
.qb .bleed-scrim{background:rgba(20,10,13,.72)}
.qb blockquote{margin:0;max-width:24ch}
.qb blockquote p{font:700 clamp(1.8rem,4.4vw,3.4rem)/1.12 var(--fd);letter-spacing:-.025em}
.qb blockquote p::before{content:"\201C";color:var(--accent)}
.qb blockquote p::after{content:"\201D";color:var(--accent)}
.qb-who{color:var(--accent);font-weight:700}

.office{display:grid;gap:28px}
@media(min-width:900px){.office{grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}}
.office-ph .ph{border-radius:var(--r)}
.dl{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:18px 0}
.dl dt{color:var(--muted)}.dl dd{margin:0;font-weight:600}
.sec-light .dl dt{color:var(--c-muted)}
.posts{display:grid;gap:16px}
@media(min-width:800px){.posts{grid-template-columns:1fr 1fr;gap:28px}}
.post{display:block;text-decoration:none;transition:transform .35s}
.post .ph{border-radius:var(--r);margin-bottom:18px}
.post h3{font-size:clamp(1.3rem,2.4vw,1.8rem)}
.post>span{color:var(--muted);font-size:.9rem}
.post:hover h3{color:var(--accent)}

.cta{padding:24px 0 96px}
.cta-in{display:grid;gap:24px;padding:40px 24px;background:linear-gradient(120deg,var(--primary),#5E1026);border-radius:var(--r)}
.cta-in p{color:#F6DCE2;margin:0;max-width:52ch}
.cta-in h2{font-size:clamp(1.8rem,4vw,3rem)}
.cta-acts{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.cta .btn-solid{background:var(--cream);color:var(--primary)}
.cta .btn-solid:hover{background:#fff}
@media(min-width:900px){.cta-in{grid-template-columns:1.4fr auto;padding:56px;align-items:center}}

/* cards etc */
.cards{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
@media(min-width:700px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1050px){.cards{grid-template-columns:repeat(4,1fr)}.cards.six{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--ground);padding:28px}
.card .ic{width:32px;height:32px;color:var(--accent);margin-bottom:16px}
.card p{color:var(--muted);margin:0}
.sec-light .cards{background:var(--c-line);border-color:var(--c-line)}
.sec-light .card{background:var(--cream)}
.sec-light .card .ic{color:var(--primary)}.sec-light .card p{color:var(--c-muted)}
.plans{display:grid;gap:16px}
@media(min-width:900px){.plans{grid-template-columns:repeat(3,1fr);align-items:stretch}}
.plan{background:var(--surface);padding:28px;border-radius:var(--r);display:flex;flex-direction:column;border-top:4px solid var(--surface2)}
.plan-hl{background:var(--cream);color:var(--c-ink);border-top-color:var(--primary)}
.plan-hl .eyebrow{color:var(--primary)}
.plan-p{font:800 1.4rem var(--fd);margin:0}.plan-p b{font-size:3rem;letter-spacing:-.03em}
.plan-u{color:var(--muted);font-size:.9rem}.plan-hl .plan-u{color:var(--c-muted)}
.plan ul{list-style:none;padding:0;margin:8px 0 24px;display:grid;gap:10px;flex:1}
.plan li{display:flex;gap:10px;align-items:flex-start}
.plan li .ic{color:var(--accent);margin-top:4px}.plan-hl li .ic{color:var(--primary)}
.disc{margin-top:20px;max-width:80ch}
.split-bleed{display:grid;background:var(--surface)}
.sb-ph .ph{height:100%;min-height:360px;aspect-ratio:auto!important}
.sb-txt{padding:56px 16px}
.sb-txt p{color:#E0D0CB;max-width:56ch}
@media(min-width:900px){.split-bleed{grid-template-columns:1fr 1fr}.sb-txt{padding:96px 64px;align-self:center}}
.excl{list-style:none;padding:0;margin:0;display:grid;gap:10px;max-width:880px}
@media(min-width:800px){.excl{grid-template-columns:1fr 1fr}}
.excl li{display:flex;gap:12px;padding:16px;background:var(--surface);border-left:3px solid var(--rose)}
.excl .ic{color:var(--rose);margin-top:4px}
.tbl-wrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line)}
.tbl{width:100%;border-collapse:collapse;min-width:480px}
.tbl th,.tbl td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line)}
.tbl thead th{font:700 1rem var(--fd);color:var(--accent);background:var(--surface)}
.tbl tbody th{font-weight:600}
.tbl tr:last-child>*{border-bottom:0}
.sec-light .tbl-wrap{border-color:var(--c-line);background:#fff}
.sec-light .tbl th,.sec-light .tbl td{border-color:var(--c-line)}
.sec-light .tbl thead th{background:var(--cream2);color:var(--primary)}
.cmp{min-width:640px}
.cmp td.yes .ic{color:#1E7A4A}.cmp td.no .ic{color:#A6343F}
.hsteps{list-style:none;padding:0;margin:0;display:grid;gap:16px;counter-reset:a}
@media(min-width:800px){.hsteps{grid-template-columns:repeat(4,1fr)}}
.hsteps li{padding-top:18px;border-top:2px solid var(--primary)}
.hsteps b{font:800 2rem var(--fd);color:var(--accent)}
.hsteps p{color:#E0D0CB;margin:.4em 0 0}
.tline{list-style:none;padding:0;margin:0;display:grid;gap:0;max-width:900px}
.tline li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line)}
.tline b{font:700 1.1rem var(--fd);color:var(--accent)}
.tline p{margin:0;color:#E0D0CB}
@media(max-width:600px){.tline li{grid-template-columns:1fr;gap:4px}}
.two{display:grid;gap:28px}
@media(min-width:900px){.two{grid-template-columns:1fr 1fr;gap:56px}}
.two p{color:#E0D0CB}
.sec-light .two p{color:var(--c-ink)}
.panel{background:var(--surface);padding:28px;border-radius:var(--r);align-self:start}
.sec-light .panel{background:#fff;color:var(--c-ink)}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ticks li{padding-left:26px;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:7px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.sec-light .ticks li::before{border-color:var(--primary)}
.rel{display:grid;gap:12px}
@media(min-width:800px){.rel{grid-template-columns:repeat(3,1fr)}}
.rel-c{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;gap:2px 16px;align-items:center;padding:22px;background:var(--surface);text-decoration:none;border-radius:var(--r);transition:transform .35s,background .3s}
.rel-c>.ic{grid-row:span 2;color:var(--accent);width:30px;height:30px}
.rel-c b{font:700 1.2rem var(--fd)}
.rel-c span{color:var(--muted);font-size:.9rem;grid-column:2}
.rel-c em{grid-row:1/3;grid-column:3;color:var(--accent)}
.rel-c:hover{background:var(--surface2)}
.team{display:grid;gap:16px}
@media(min-width:700px){.team{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1050px){.team{grid-template-columns:repeat(4,1fr)}}
.person{background:var(--surface);padding:24px;border-radius:var(--r)}
.person p:last-child{color:var(--muted);margin:0}
.avatar{width:60px;height:60px;border-radius:50%;background:var(--primary);display:grid;place-items:center;font:800 1.2rem var(--fd);margin-bottom:14px;color:#fff;flex:none}
.newslist{list-style:none;padding:0;margin:0;display:grid;gap:0;max-width:900px}
.newslist li{display:grid;gap:4px;padding:18px 0;border-top:1px solid var(--line)}
@media(min-width:700px){.newslist li{grid-template-columns:180px 1fr}}
.newslist b{color:var(--accent)}

/* faq */
.faq{display:grid;gap:0;max-width:900px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer;font:700 1.15rem var(--fd);min-height:56px}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{width:16px;height:16px;position:relative;flex:none}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:0;top:7px;width:16px;height:2px;background:var(--accent);transition:transform .3s}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i::after{transform:rotate(0)}
.faq-a{padding:0 0 22px;color:#E0D0CB;max-width:70ch}
.sec-light .faq,.sec-light .faq details{border-color:var(--c-line)}
.sec-light .faq-a{color:var(--c-ink)}
.sec-light .faq summary i::before,.sec-light .faq summary i::after{background:var(--primary)}

/* forms */
.formwrap{max-width:900px}
.form{display:grid;gap:16px}
@media(min-width:700px){.form{grid-template-columns:1fr 1fr}.field.full,.form-foot{grid-column:1/-1}}
.field{display:grid;gap:6px}
.field label{font-weight:700;font-size:.92rem}
.opt{font-weight:400;opacity:.75}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:12px 14px;border:2px solid var(--line);background:var(--surface);color:var(--ink);font:400 16px var(--fb);border-radius:var(--r)}
.sec-light .field input,.sec-light .field select,.sec-light .field textarea{background:#fff;border-color:rgba(42,19,24,.22);color:var(--c-ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--accent);outline-offset:1px}
.sec-light .field input:focus,.sec-light .field select:focus,.sec-light .field textarea:focus{outline-color:var(--primary)}
.field input[type=file]{padding:10px}
.field.is-bad input,.field.is-bad select,.field.is-bad textarea{border-color:#C0394B}
.err{font-size:.84rem;color:#FF9AA8}
.sec-light .err{color:#A6233A}
.hint{font-size:.8rem;opacity:.8}
.form-foot{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.form-foot .small{margin:0}
.thanks{padding:28px;border-left:4px solid var(--accent);background:var(--surface)}
.sec-light .thanks{background:#fff;border-color:var(--primary)}
.thanks-k{font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;color:var(--accent)}
.sec-light .thanks-k{color:var(--primary)}
.chk{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer;padding:6px 0;border-bottom:1px solid var(--c-line)}
.chk input{width:22px;height:22px;accent-color:var(--primary);flex:none}
.chk em{margin-left:auto;font-style:normal;font-weight:700;color:var(--primary);white-space:nowrap;font-size:.9rem}

/* quote wizard */
.qz{background:#fff;color:var(--c-ink);border-radius:var(--r);padding:20px 16px;box-shadow:0 30px 80px rgba(42,19,24,.12);position:relative;overflow:hidden}
@media(min-width:800px){.qz{padding:40px 48px}}
.qz-prog{position:absolute;left:0;top:0;right:0;height:5px;background:var(--cream2)}
.qz-prog i{display:block;height:100%;background:var(--primary);transition:width .6s cubic-bezier(.16,1,.3,1)}
.qz-steps{list-style:none;padding:0;margin:8px 0 24px;display:flex;gap:6px 18px;flex-wrap:wrap;counter-reset:q}
.qz-steps li{counter-increment:q;font-weight:700;font-size:.85rem;color:var(--c-muted);display:flex;align-items:center;gap:8px}
.qz-steps li::before{content:counter(q);display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:2px solid var(--c-line);font-size:.75rem}
.qz-steps li.on{color:var(--c-ink)}.qz-steps li.on::before{background:var(--primary);border-color:var(--primary);color:#fff}
.qz-steps li.now{color:var(--primary)}
.qz-h{font-size:clamp(1.6rem,3.4vw,2.4rem);margin-bottom:20px}
.tcards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(min-width:800px){.tcards{grid-template-columns:repeat(3,1fr)}}
.tcard{position:relative;cursor:pointer}
.tcard input{position:absolute;opacity:0;inset:0}
.tcard span{display:flex;flex-direction:column;gap:6px;padding:18px;border:2px solid var(--c-line);border-radius:var(--r);min-height:130px;transition:border-color .2s,background .2s}
.tcard .ic{width:32px;height:32px;color:var(--primary)}
.tcard b{font:700 1.2rem var(--fd)}.tcard small{color:var(--c-muted)}
.tcard input:checked+span{border-color:var(--primary);background:#FBF3F4;box-shadow:inset 0 0 0 1px var(--primary)}
.tcard input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
.qgroup{display:grid;gap:16px}
@media(min-width:700px){.qgroup{grid-template-columns:1fr 1fr}}
.qz .field input,.qz .field select{background:#fff;border-color:rgba(42,19,24,.22);color:var(--c-ink)}
.qz-fs{border:0;padding:0;margin:0 0 24px}
.qz-fs legend{font:700 1.15rem var(--fd);margin-bottom:12px}
.segs{display:flex;flex-wrap:wrap;gap:8px}
.seg{position:relative;flex:1;min-width:120px}
.seg input{position:absolute;opacity:0;inset:0}
.seg span{display:flex;flex-direction:column;justify-content:center;min-height:56px;padding:8px 14px;border:2px solid var(--c-line);border-radius:var(--r);font-weight:700;cursor:pointer;text-align:center}
.seg small{font-weight:400;color:var(--c-muted);font-size:.78rem}
.seg input:checked+span{border-color:var(--primary);background:#FBF3F4;color:var(--primary)}
.seg input:focus-visible+span{outline:3px solid var(--accent)}
.qz-res{display:grid;gap:24px}
@media(min-width:900px){.qz-res{grid-template-columns:1fr 1fr;gap:48px}}
.qz-big{background:var(--ground);color:var(--ink);padding:28px;border-radius:var(--r)}
.qz-price{margin:0}.qz-price b{font:800 clamp(2.6rem,7vw,4.2rem)/1 var(--fd);letter-spacing:-.04em;color:var(--accent)}
.qz-price span{color:var(--muted)}
.qz-alt{color:var(--muted);margin-top:8px}
.qz-big .btn-solid{width:100%}
.qz-lines ul{list-style:none;padding:0;margin:0 0 16px}
.qz-lines li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--c-line)}
.qz-lines li b{white-space:nowrap}
.qz-lines li.tot{font-weight:800;color:var(--primary);border-bottom:0}
.qz-save{margin-top:24px}
.qz-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}
.qz-nav [data-qz-next]{margin-left:auto}

/* pay finder, agents */
.pfind{display:grid;gap:24px}
@media(min-width:900px){.pfind{grid-template-columns:1fr 1fr;gap:48px}}
.pf-form{display:grid;gap:14px;align-content:start}
.pf-out{background:#fff;padding:28px;border-radius:var(--r);border-top:4px solid var(--primary)}
.pill-ok{display:inline-block;padding:2px 10px;border-radius:999px;background:#DDF1E5;color:#1E5E3A;font-size:.85rem}
.pf-due{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;margin-top:12px;padding-top:16px;border-top:1px solid var(--c-line)}
.pf-due span{display:block;color:var(--c-muted);font-size:.85rem}
.pf-due b{font:800 2rem var(--fd);color:var(--primary)}
.af-bar{display:grid;gap:14px;margin-bottom:20px}
@media(min-width:900px){.af-bar{grid-template-columns:340px 1fr auto;align-items:end}}
.af-btns{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.af-btns button{white-space:nowrap;min-height:44px;padding:0 14px;border:2px solid var(--c-line);background:#fff;cursor:pointer;font-weight:700;border-radius:var(--r);color:var(--c-ink)}
.af-btns [aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff}
.af-n{margin:0;color:var(--c-muted)}
.agents{list-style:none;padding:0;margin:0;display:grid;gap:10px}
@media(min-width:800px){.agents{grid-template-columns:1fr 1fr}}
@media(min-width:1150px){.agents{grid-template-columns:1fr 1fr 1fr}}
.agent{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:center;background:#fff;padding:18px;border-radius:var(--r)}
.agent h3{margin:0;font-size:1.1rem}.agent p{margin:0;color:var(--c-muted);font-size:.9rem}
.agent .btn{grid-column:1/-1;margin-top:10px;color:var(--primary);border-color:rgba(142,27,58,.4);background:none}
.ag-t span{display:inline-block;font-size:.75rem;padding:2px 8px;margin:4px 4px 0 0;background:var(--cream2);border-radius:999px;color:var(--c-ink)}
.empty{padding:20px;border:2px dashed var(--c-line);text-align:center}
.tablist{display:flex;gap:6px;margin-bottom:18px;flex-wrap:wrap}
.tablist [role=tab]{display:flex;align-items:center;gap:8px;min-height:48px;padding:0 18px;border:2px solid var(--c-line);background:#fff;cursor:pointer;font-weight:700;border-radius:var(--r);color:var(--c-ink)}
.tablist [aria-selected=true]{background:var(--primary);border-color:var(--primary);color:#fff}
.mapwrap{display:grid;gap:24px}
@media(min-width:900px){.mapwrap{grid-template-columns:1.4fr 1fr;gap:48px;align-items:center}}
.map{position:relative;overflow:hidden;border-radius:var(--r)}
.map svg{display:block;width:100%;height:auto}
.map-note{position:absolute;left:12px;bottom:10px;font-size:.75rem;background:rgba(20,10,13,.85);padding:4px 8px;color:var(--muted)}
.art{display:grid;gap:32px}
@media(min-width:960px){.art{grid-template-columns:1fr 320px;gap:72px}.art-side{position:sticky;top:110px;align-self:start}}
.art-s{max-width:68ch;margin-bottom:28px}
.art-s h2{font-size:clamp(1.5rem,3vw,2.2rem)}
.art-s p{font-size:1.08rem}

/* footer */
.ft{background:#0C0608}
.ft-band{background:var(--surface);padding:48px 0}
.ft-band-in{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}
.ft-say{font:800 clamp(1.6rem,4vw,2.8rem)/1.08 var(--fd);letter-spacing:-.025em;max-width:22ch;margin:0}
.ft-in{display:grid;gap:32px;grid-template-columns:1fr 1fr;padding-top:56px;padding-bottom:40px}
.ft-brand,.ft-contact{grid-column:1/-1}
.ft-brand p{color:var(--muted);max-width:42ch;margin-top:12px}
.ft-h{font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;color:var(--accent)}
.ft-col{display:flex;flex-direction:column}
.ft-col a{text-decoration:none;color:#E0D0CB;padding:7px 0}
.ft-col a:hover{color:var(--accent)}
.ft-contact p{color:#E0D0CB}
@media(min-width:960px){.ft-in{grid-template-columns:1.5fr 1fr 1fr 1fr 1.4fr}.ft-brand,.ft-contact{grid-column:auto}}
.ft-base{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;padding-top:20px;padding-bottom:100px;border-top:1px solid var(--line);font-size:.84rem;color:var(--muted)}
.ft-base p{margin:0;max-width:60ch}
@media(min-width:900px){.ft-base{padding-bottom:28px}}
.ld{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:2px solid var(--line);background:none;cursor:pointer;font-weight:700;font-size:.84rem;border-radius:var(--r)}
.ld i{width:32px;height:18px;border-radius:9px;background:rgba(247,239,234,.2);position:relative}
.ld i::after{content:"";position:absolute;left:2px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--ink);transition:transform .2s}
.ld[aria-pressed=true] i{background:var(--primary)}.ld[aria-pressed=true] i::after{transform:translateX(14px)}

/* phone quote pill */
.qpill{position:fixed;left:12px;bottom:14px;z-index:80;display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:0 18px;background:var(--primary);color:#fff;font-weight:800;text-decoration:none;border-radius:999px;box-shadow:0 12px 30px rgba(0,0,0,.45)}
@media(min-width:1080px){.qpill{display:none}}
.pg-quote .qpill{display:none}

/* Vablus */
.vb{position:fixed;right:12px;bottom:14px;z-index:900}
@media(min-width:900px){.vb{right:28px;bottom:28px}}
.vb-launch{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;text-align:left;min-height:50px;padding:6px 16px 6px 10px;background:var(--cream);color:var(--c-ink);border:0;border-radius:999px;cursor:pointer;box-shadow:0 14px 40px rgba(0,0,0,.5)}
.vb-dot{grid-row:span 2;width:32px;height:32px;border-radius:50%;background:var(--primary);box-shadow:inset 0 0 0 8px var(--primary),inset 0 0 0 16px var(--rose)}
.vb-l1{font-weight:800;font-size:.86rem}.vb-l2{font-size:.68rem;color:var(--c-muted)}
@media(max-width:420px){.vb-l1{font-size:.8rem}.vb-l2{font-size:.62rem}}
.vb.is-open .vb-launch{display:none}
.vb-panel{width:min(390px,calc(100vw - 24px));height:min(580px,calc(100svh - 100px));display:flex;flex-direction:column;background:var(--cream);color:var(--c-ink);border-radius:14px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.6)}
.vb-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:var(--primary);color:#fff}
.vb-head strong{display:block;font:700 1.05rem var(--fd)}.vb-head span{font-size:.75rem;color:#F6DCE2}
.vb-x{width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.4);background:none;cursor:pointer;font-size:1.3rem;color:#fff}
.vb-log{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:8px}
.vb-m{max-width:88%;padding:11px 14px;border-radius:12px;font-size:.94rem;line-height:1.5}
.vb-bot{background:#fff;border-bottom-left-radius:3px}
.vb-me{align-self:flex-end;background:var(--ground);color:var(--ink);border-bottom-right-radius:3px}
.vb-m a{color:var(--primary);font-weight:700}
.vb-typing{display:flex;gap:4px}.vb-typing i{width:6px;height:6px;border-radius:50%;background:var(--c-muted);animation:dots 1s infinite}
.vb-typing i:nth-child(2){animation-delay:.15s}.vb-typing i:nth-child(3){animation-delay:.3s}
@keyframes dots{50%{opacity:.3}}
.vb-chips{display:flex;gap:6px;overflow-x:auto;padding:10px 16px;border-top:1px solid var(--c-line);scrollbar-width:none}
.vb-chips button{white-space:nowrap;min-height:40px;padding:0 12px;border:2px solid rgba(142,27,58,.3);border-radius:999px;background:none;cursor:pointer;font-size:.82rem;font-weight:700;color:var(--primary)}
.vb-form{display:flex;gap:8px;padding:10px 16px 16px}
.vb-form input{flex:1;min-width:0;min-height:48px;border:2px solid var(--c-line);border-radius:8px;padding:0 12px;font:16px var(--fb);background:#fff;color:var(--c-ink)}
.vb-form button{min-height:48px;padding:0 16px;border:0;border-radius:8px;background:var(--primary);color:#fff;font-weight:800;cursor:pointer}

/* modals */
.modal{position:fixed;inset:0;z-index:3000;background:rgba(10,4,6,.78);display:grid;place-items:center;padding:16px;overflow:auto}
.rcv-box{width:min(440px,100%);background:#fff;color:#1B1D2E;border-radius:16px;padding:22px;box-shadow:0 40px 90px rgba(0,0,0,.5)}
.rcv-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}
.rcv-brand{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:800;color:#1D3FD6;margin:0 0 6px}
.rcv-brand span{color:#5A6080;font-weight:400}
.rcv-amt{font:800 2rem var(--fb);margin:0;color:#1B1D2E;letter-spacing:-.01em}
.rcv-for{color:#5A6080;font-size:.9rem;margin:0}
.rcv-x{width:44px;height:44px;border-radius:50%;border:1px solid #D8DBE8;background:none;cursor:pointer;font-size:1.3rem;color:#1B1D2E}
.rcv-tabs{display:grid;grid-template-columns:1fr 1fr;background:#EEF0F6;border-radius:10px;padding:4px;margin-bottom:14px}
.rcv-tabs button{min-height:42px;border:0;background:none;border-radius:8px;cursor:pointer;font-weight:700;color:#1B1D2E}
.rcv-tabs [aria-selected=true]{background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.rcv-f{display:grid;gap:4px;font-size:.82rem;color:#5A6080;margin-bottom:10px}
.rcv-f input{width:100%;min-width:0;min-height:46px;border-radius:8px;border:1px solid #D8DBE8;padding:0 12px;font:16px var(--fb);color:#1B1D2E;background:#fff}
.rcv-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rcv-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.92rem;color:#1B1D2E}
.rcv-dl dt{color:#5A6080}.rcv-dl dd{margin:0;font-weight:700}
.rcv-pane p{color:#1B1D2E}
.rcv-note{font-size:.8rem;color:#5A6080}
.rcv-go,.rcv-ok,.rcv-print{min-height:50px;width:100%;border-radius:10px;border:0;background:#1D3FD6;color:#fff;font-weight:800;cursor:pointer}
.rcv-step[data-s=wait]{text-align:center;padding:30px 0;color:#1B1D2E}
.rcv-spin{width:44px;height:44px;margin:0 auto 14px;border-radius:50%;border:4px solid #D8DBE8;border-top-color:#1D3FD6;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.rcv-tick{width:56px;color:#1E9E5A;margin-bottom:8px}
.rcv-step[data-s=done] h3{color:#1B1D2E;font-family:var(--fb);font-weight:800}
.rcv-receipt dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;background:#F7F8FB;border:1px dashed #C6CADB;border-radius:10px;padding:14px;font-size:.9rem;margin:0 0 10px;color:#1B1D2E}
.rcv-receipt dt{color:#5A6080}.rcv-receipt dd{margin:0}
.rcv-acts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rcv-print{background:#EEF0F6;color:#1B1D2E}
html.modal-open,html.menu-open{overflow:hidden}

/* motion + low-data */
.tall,.rel-c,.post{transform:perspective(900px) rotateX(0deg) rotateY(0deg) translateY(0px)}
html.lowdata .bleed-ph,html.lowdata .qb-ph{inset:0}
html.lowdata *{animation-duration:0s!important;transition-duration:0s!important}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}@view-transition{navigation:none}}
@media print{body *{visibility:hidden}html.print-receipt .rcv-box,html.print-receipt .rcv-box *{visibility:visible}html.print-receipt .rcv-box{position:absolute;left:0;top:0}.rcv-acts,.rcv-x{display:none}}
.sec-light .btn-line,.qz .qz-nav .btn-line,.pf-out .btn-line{color:var(--c-ink);border-color:rgba(42,19,24,.35);background:none}
.sec-light .btn-line:hover,.qz .qz-nav .btn-line:hover{color:var(--primary);border-color:var(--primary)}
.qb blockquote{max-width:920px}
.ch-in{width:100%}
