:root{--brand:hsl(177,72%,24%);--branddeep:hsl(182,48%,13%);--spark:hsl(35,89%,54%);--paper:hsl(42,38%,97%);--ink:hsl(202,20%,16%);--mist:hsl(170,26%,91%);--line:hsl(170,15%,84%);--curve:.625rem}
body{font-family:'Mulish',system-ui,sans-serif;background:var(--paper);color:var(--ink);font-size:1rem;line-height:1.65}
h1,h2,h3,h4,h5,.footbrand{font-family:'Epilogue',sans-serif;font-weight:600;color:var(--branddeep);line-height:1.2}
a{color:var(--brand)}a:hover{color:var(--branddeep)}
img{max-width:100%;height:auto}
.mast{position:sticky;top:0;z-index:1040;background:hsl(42,38%,97%,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.markline{display:inline-flex;align-items:center;gap:.55rem;font-family:'Epilogue',sans-serif;font-weight:700;font-size:1.3rem;color:var(--branddeep);text-decoration:none}
.markbox{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.55rem;background:var(--brand);color:#fff;font-size:1.15rem}
.markbox::after{content:'';position:absolute}
.navbar-nav .nav-link{color:var(--ink);font-weight:600;padding:.65rem 1rem;min-height:44px;display:flex;align-items:center}
.navbar-nav .nav-link:hover{color:var(--brand)}
.nav-link.liveleaf{color:var(--brand);box-shadow:inset 0 -3px 0 var(--spark)}
.talkbtn{background:var(--brand);color:#fff;font-weight:700;border-radius:var(--curve);padding:.7rem 1.3rem;min-height:44px;border:1px solid var(--brand)}
.talkbtn:hover,.talkbtn:focus{background:var(--branddeep);color:#fff;border-color:var(--branddeep)}
.ghostbtn{border:2px solid var(--brand);color:var(--brand);font-weight:700;border-radius:var(--curve);padding:.7rem 1.3rem;min-height:44px;background:transparent}
.ghostbtn:hover{background:var(--mist);color:var(--branddeep);border-color:var(--branddeep)}
.sparkbtn{background:var(--spark);border:1px solid var(--spark);color:hsl(30,60%,14%);font-weight:700;border-radius:var(--curve);padding:.7rem 1.3rem;min-height:44px}
.sparkbtn:hover{background:hsl(35,89%,46%);color:hsl(30,60%,10%)}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--brand);font-size:1rem;margin-bottom:.5rem}
.heroband{padding:3rem 0 3.5rem;background:linear-gradient(180deg,var(--mist),var(--paper) 78%)}
.heroband h1{font-size:clamp(2rem,4.5vw,3.15rem);font-weight:700}
.heroband .lede{font-size:1.15rem;max-width:34rem}
.photoframe{border-radius:1rem;overflow:hidden;box-shadow:0 18px 44px hsl(180,40%,20%,.18)}
.photoframe img{display:block;width:100%;height:auto}
.ribbon{background:var(--branddeep);color:hsl(42,38%,94%);padding:2.4rem 0}
.ribbon strong{display:block;font-family:'Epilogue',sans-serif;font-size:2rem;color:var(--spark)}
.ribbon span{font-size:1rem}
.slab{padding:4rem 0}
.slab-tint{background:var(--mist)}
.slab h2{font-size:clamp(1.6rem,3vw,2.3rem);margin-bottom:.75rem}
.slab .leadin{max-width:44rem}
.stepcard{background:#fff;border:1px solid var(--line);border-radius:var(--curve);padding:1.6rem;height:100%}
.stepcard .stepno{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--spark);color:hsl(30,60%,14%);font-weight:700;font-family:'Epilogue',sans-serif;font-size:1.15rem;margin-bottom:1rem}
.destcard{position:relative;display:block;background:#fff;border:1px solid var(--line);border-radius:var(--curve);padding:1.4rem 1.5rem;height:100%;text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.destcard:hover{border-color:var(--brand);transform:translateY(-3px);color:var(--ink)}
.destcard h3{font-size:1.2rem}
.destcard .goarrow{color:var(--spark);font-weight:700}
.chipwall{display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:0;list-style:none}
.chipwall a{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 1.1rem;background:#fff;border:1px solid var(--line);border-radius:2rem;color:var(--branddeep);font-weight:600;text-decoration:none}
.chipwall a:hover{border-color:var(--spark);background:hsl(35,89%,54%,.12)}
.splitpic{border-radius:1rem;overflow:hidden}
.splitpic img{display:block;width:100%;height:auto}
.ctaband{background:linear-gradient(120deg,var(--brand),var(--branddeep));border-radius:1rem;color:#fff;padding:2.6rem 2rem}
.ctaband h2{color:#fff}
.ctaband p{color:hsl(170,30%,88%)}
.voicecard{background:#fff;border:1px solid var(--line);border-radius:var(--curve);padding:1.5rem;height:100%}
.voicecard img{border-radius:50%;width:64px;height:64px;object-fit:cover}
.voicecard blockquote{margin:1rem 0 .75rem;font-size:1.02rem}
.voicecard .whotag{color:var(--brand);font-weight:700}
.faqroll{max-width:50rem;margin:0}
.faqroll dt{font-family:'Epilogue',sans-serif;font-size:1.12rem;color:var(--branddeep);padding-top:1.4rem}
.faqroll dd{margin:.5rem 0 1.2rem;border-bottom:1px solid var(--line);padding-bottom:1.4rem}
.faqroll dd:last-child{border-bottom:0}
.qfold{background:#fff;border:1px solid var(--line);border-radius:var(--curve);margin-bottom:.8rem;overflow:hidden}
.qfold summary{cursor:pointer;padding:1rem 1.3rem;font-weight:700;font-family:'Epilogue',sans-serif;color:var(--branddeep);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:44px}
.qfold summary::-webkit-details-marker{display:none}
.qfold summary::after{content:'+';font-size:1.4rem;color:var(--spark);flex:0 0 auto}
.qfold[open] summary::after{content:'\2212'}
.qfold .foldbody{padding:0 1.3rem 1.2rem}
.costtable{background:#fff}
.costtable th{background:var(--branddeep);color:#fff;font-family:'Epilogue',sans-serif;white-space:nowrap}
.costtable td,.costtable th{padding:.85rem 1rem;border-color:var(--line)}
.factside{background:#fff;border-left:5px solid var(--spark);border-radius:0 var(--curve) var(--curve) 0;padding:1.4rem 1.5rem}
.factside h3{font-size:1.15rem}
.factside ul{margin:0;padding-left:1.1rem}
.factside li{margin-bottom:.4rem}
.timedot{position:relative;padding-left:1.9rem;margin-bottom:1.6rem}
.timedot::before{content:'';position:absolute;left:.35rem;top:.45rem;width:.75rem;height:.75rem;border-radius:50%;background:var(--spark)}
.timedot::after{content:'';position:absolute;left:.68rem;top:1.4rem;bottom:-1.4rem;width:2px;background:var(--line)}
.timedot:last-child::after{display:none}
.timedot h3{font-size:1.15rem;margin-bottom:.25rem}
.pagefoot{background:var(--branddeep);color:hsl(170,20%,86%);padding:3.2rem 0 1.4rem;margin-top:4rem}
.pagefoot a{color:hsl(170,30%,80%)}
.pagefoot a:hover{color:var(--spark)}
.footbrand{color:#fff;font-size:1.25rem;margin-bottom:.9rem}
.footnote{max-width:26rem}
.foothead{font-family:'Epilogue',sans-serif;color:#fff;font-weight:600;margin-bottom:.8rem}
.footlinks{list-style:none;padding:0;margin:0}
.footlinks li{margin-bottom:.55rem}
.footlinks a{text-decoration:none;display:inline-block;padding:.15rem 0;min-height:28px}
.footaddr{font-style:normal;line-height:1.8}
.footbase{border-top:1px solid hsl(180,30%,24%);margin-top:2.4rem;padding-top:1.3rem;display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;align-items:center}
.footbase p{margin:0}
.cclink{background:none;border:0;color:hsl(170,30%,80%);text-decoration:underline;padding:.5rem 0;min-height:44px}
.cclink:hover{color:var(--spark)}
.ccveil{display:none;position:fixed;inset:0;background:hsl(200,35%,8%,.58);z-index:1090;align-items:center;justify-content:center;padding:1rem}
.ccveil.on{display:flex}
.ccbox{background:#fff;border-radius:1rem;max-width:32rem;padding:2rem;box-shadow:0 24px 60px hsl(200,40%,10%,.35)}
.ccbox h2{font-size:1.35rem}
.ccrow{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.2rem}
.ccgear{position:fixed;left:1rem;bottom:1rem;z-index:1075;display:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--brand);box-shadow:0 6px 18px hsl(200,30%,20%,.2)}
.ccgear.on{display:grid;place-items:center}
.ccgear:hover{color:var(--branddeep)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.seen{opacity:1;transform:none}
.fieldbox label{font-weight:700;margin-bottom:.35rem;display:block}
.fieldbox input,.fieldbox select,.fieldbox textarea{width:100%;min-width:0;font-size:1rem;padding:.72rem .9rem;border:1px solid var(--line);border-radius:var(--curve);background:#fff;color:var(--ink);min-height:44px}
.fieldbox input:focus,.fieldbox select:focus,.fieldbox textarea:focus{outline:3px solid hsl(177,72%,24%,.25);border-color:var(--brand)}
.fieldbox .flagnote{color:hsl(4,72%,42%);display:none;margin-top:.3rem}
.fieldbox.bad .flagnote{display:block}
.fieldbox.bad input,.fieldbox.bad select,.fieldbox.bad textarea{border-color:hsl(4,72%,50%)}
.notecard{border-radius:var(--curve);padding:1rem 1.3rem;margin-bottom:1.5rem;font-weight:600}
.notecard-good{background:hsl(150,45%,92%);border:1px solid hsl(150,40%,60%);color:hsl(152,50%,20%)}
.notecard-bad{background:hsl(4,70%,95%);border:1px solid hsl(4,60%,70%);color:hsl(4,60%,30%)}
.contactcard{background:#fff;border:1px solid var(--line);border-radius:var(--curve);padding:1.6rem;height:100%}
.contactcard h3{font-size:1.15rem}
.policyflow{max-width:50rem}
.policyflow h2{font-size:1.45rem;margin-top:2.2rem}
.policyflow ul{padding-left:1.2rem}
.herolite{background:linear-gradient(180deg,var(--mist),var(--paper));padding:3rem 0 2.5rem}
.herolite h1{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:700}
.herolite .lede{font-size:1.12rem;max-width:38rem}
@media (max-width:607.98px){.row{--bs-gutter-x:1.25rem}.heroband{padding-top:2rem}.ctaband{padding:1.8rem 1.3rem}.footbase{justify-content:flex-start}}
@media (min-width:1184px){.heroband h1{letter-spacing:-.02em}}
