:root{--brand:hsl(174 62% 24%);--brand-soft:hsl(174 40% 92%);--brand-mid:hsl(174 45% 38%);--sun:hsl(38 92% 54%);--sun-deep:hsl(32 88% 46%);--ink:hsl(210 26% 13%);--ink-soft:hsl(210 12% 36%);--paper:hsl(42 48% 97%);--card:hsl(0 0% 100%);--line:hsl(174 18% 86%);--r:.875rem}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Public Sans",system-ui,sans-serif;font-size:1rem;line-height:1.65;color:var(--ink);background:var(--paper)}
h1,h2,h3,h4{font-family:"Fraunces",Georgia,serif;line-height:1.18;margin:0 0 .6em;font-weight:600}
h1{font-size:clamp(2rem,4.6vw,3.35rem)}
h2{font-size:clamp(1.55rem,3vw,2.3rem)}
h3{font-size:clamp(1.15rem,2vw,1.4rem)}
p{margin:0 0 1em}
img{max-width:100%;width:100%;height:auto;display:block}
a{color:var(--brand-mid)}
.wrap{width:min(72.5rem,100% - 2.5rem);margin-inline:auto}
.mast{position:sticky;top:0;z-index:60;background:var(--card);border-bottom:1px solid var(--line)}
.mast-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}
.wordmark{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink);font-family:"Fraunces",Georgia,serif;font-size:1.45rem;font-weight:700}
.wordmark svg{flex:none}
.nav-links{display:none;list-style:none;margin:0;padding:0;gap:.15rem;align-items:center}
.nav-links a{display:inline-block;padding:.6rem .72rem;text-decoration:none;color:var(--ink-soft);font-weight:500;font-size:.95rem;border-radius:.55rem}
.nav-links a:hover{background:var(--brand-soft);color:var(--brand)}
.nav-links a.now{color:var(--brand);font-weight:700}
a.nav-cta{display:none}
.burger{appearance:none;border:1px solid var(--line);background:var(--card);border-radius:.55rem;width:2.85rem;height:2.85rem;display:grid;place-items:center;cursor:pointer}
.burger span,.burger span::before,.burger span::after{content:"";display:block;width:1.2rem;height:2px;background:var(--ink);position:relative;transition:transform .2s}
.burger span::before{position:absolute;top:-6px}
.burger span::after{position:absolute;top:6px}
.mast.open .burger span{background:transparent}
.mast.open .burger span::before{transform:translateY(6px) rotate(45deg)}
.mast.open .burger span::after{transform:translateY(-6px) rotate(-45deg)}
.mob-panel{display:none;border-top:1px solid var(--line);padding:.6rem 0 1rem}
.mast.open .mob-panel{display:block}
.mob-panel a{display:block;padding:.78rem .35rem;text-decoration:none;color:var(--ink);font-weight:600;border-bottom:1px solid var(--line)}
.mob-panel a.now{color:var(--brand)}
.btn{display:inline-block;padding:.82rem 1.55rem;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;font-size:1rem;cursor:pointer;min-height:2.75rem}
.btn-sun{background:var(--sun);color:var(--ink);border-color:var(--sun)}
.btn-sun:hover{background:var(--sun-deep);border-color:var(--sun-deep)}
.btn-line{border-color:var(--brand);color:var(--brand);background:transparent}
.btn-line:hover{background:var(--brand);color:#fff}
.btn-ghost{border-color:hsl(0 0% 100% / .55);color:#fff;background:transparent}
.btn-ghost:hover{background:hsl(0 0% 100% / .14)}
.hero{background:linear-gradient(160deg,hsl(174 62% 17%),hsl(174 55% 26%) 55%,hsl(168 42% 33%));color:#fff;overflow:hidden}
.hero-grid{display:grid;gap:2.2rem;padding:3.2rem 0 3.6rem}
.hero-copy .kicker{color:hsl(38 92% 68%)}
.hero-copy p{color:hsl(174 30% 88%);font-size:1.08rem;max-width:34rem}
.hero-acts{display:flex;flex-wrap:wrap;gap:.85rem;margin:1.6rem 0 2rem}
.hero-figure{position:relative;min-width:0}
.hero-figure img{border-radius:1.4rem;box-shadow:0 24px 60px hsl(174 60% 8% / .45)}
.float-stat{position:absolute;left:-.6rem;bottom:-1.1rem;background:var(--card);color:var(--ink);border-radius:var(--r);padding:.85rem 1.2rem;box-shadow:0 14px 34px hsl(174 40% 12% / .28);display:flex;gap:.7rem;align-items:center}
.float-stat b{font-size:1.35rem;font-family:"Fraunces",Georgia,serif;color:var(--brand)}
.float-stat small{color:var(--ink-soft);line-height:1.3;display:block}
.kicker{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--sun-deep);margin-bottom:.7rem}
.band{padding:3.6rem 0}
.band-tint{background:hsl(174 32% 93%)}
.band-deep{background:var(--brand);color:#fff}
.band-deep h2{color:#fff}
.band-deep p{color:hsl(174 30% 86%)}
.lede{max-width:42rem;color:var(--ink-soft);font-size:1.06rem}
.center{text-align:center}
.center .lede{margin-inline:auto}
.stat-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}
.stat-row article{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.2rem;min-width:0}
.stat-row b{display:block;font-family:"Fraunces",Georgia,serif;font-size:1.9rem;color:var(--brand)}
.stat-row span{color:var(--ink-soft);font-size:.92rem}
.card-grid{display:grid;gap:1.3rem;margin-top:2.2rem}
.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.7rem 1.5rem;min-width:0;display:flex;flex-direction:column}
.tile .ico{width:3rem;height:3rem;border-radius:.8rem;background:var(--brand-soft);display:grid;place-items:center;margin-bottom:1.05rem;color:var(--brand)}
.tile p{color:var(--ink-soft);font-size:.97rem;margin-bottom:0}
.tile .more{margin-top:auto;padding-top:1rem;font-weight:700;text-decoration:none;color:var(--brand)}
.tile .more:hover{text-decoration:underline}
.dest-card{position:relative;border-radius:var(--r);overflow:hidden;min-width:0;border:1px solid var(--line);background:var(--card)}
.dest-card figure{margin:0}
.dest-card .dest-body{padding:1.35rem 1.4rem 1.5rem}
.dest-card .dest-body p{color:var(--ink-soft);font-size:.96rem}
.steps{counter-reset:st;display:grid;gap:1.15rem;margin:2.2rem 0 0;padding:0;list-style:none}
.steps li{counter-increment:st;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.35rem 1.35rem 1.35rem 4.4rem;position:relative;min-width:0}
.steps li::before{content:counter(st,decimal-leading-zero);position:absolute;left:1.15rem;top:1.25rem;font-family:"Fraunces",Georgia,serif;font-weight:700;font-size:1.5rem;color:var(--sun-deep)}
.steps h3{margin-bottom:.3em}
.steps p{margin:0;color:var(--ink-soft);font-size:.96rem}
.split{display:grid;gap:2.2rem;align-items:center}
.split figure{margin:0;min-width:0}
.split img{border-radius:1.2rem}
.check-list{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.8rem}
.check-list li{padding-left:2rem;position:relative;color:var(--ink-soft)}
.check-list li::before{content:"";position:absolute;left:0;top:.32rem;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--brand) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="none"><path d="M4 8.5 7 11l5-6" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/72% no-repeat}
.check-list b{color:var(--ink)}
.quote-rail{display:grid;gap:1.3rem;margin-top:2.2rem}
.quote-rail blockquote{margin:0;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--sun);border-radius:var(--r);padding:1.5rem;min-width:0}
.quote-rail p{font-size:.98rem;color:var(--ink-soft)}
.quote-rail footer{font-weight:700;font-size:.92rem}
.quote-rail footer small{display:block;color:var(--ink-soft);font-weight:500}
.faq-set{margin-top:2rem;display:grid;gap:.85rem}
.faq-set details{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:0;min-width:0}
.faq-set summary{cursor:pointer;font-weight:700;padding:1.15rem 3rem 1.15rem 1.35rem;list-style:none;position:relative;font-size:1.02rem}
.faq-set summary::-webkit-details-marker{display:none}
.faq-set summary::after{content:"+";position:absolute;right:1.25rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--brand);font-weight:400}
.faq-set details[open] summary::after{content:"−"}
.faq-set details p{padding:0 1.35rem 1.25rem;margin:0;color:var(--ink-soft)}
.cta-panel{border-radius:1.4rem;background:linear-gradient(135deg,hsl(174 62% 20%),hsl(174 48% 30%));color:#fff;padding:2.8rem 1.8rem;text-align:center;position:relative;overflow:hidden}
.cta-panel h2{color:#fff}
.cta-panel p{color:hsl(174 30% 87%);max-width:36rem;margin-inline:auto}
.cta-panel .btn{margin-top:.9rem}
.guide-grid{display:grid;gap:1.4rem;margin-top:2.2rem}
.guide-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;min-width:0;display:flex;flex-direction:column}
.guide-card figure{margin:0}
.guide-card .g-body{padding:1.3rem 1.35rem 1.5rem;display:flex;flex-direction:column;flex:1}
.guide-card time{color:var(--sun-deep);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.guide-card h3{margin:.45rem 0 .55rem}
.guide-card h3 a{color:var(--ink);text-decoration:none}
.guide-card h3 a:hover{color:var(--brand)}
.guide-card p{color:var(--ink-soft);font-size:.95rem;margin-bottom:0}
.article-head{padding:3rem 0 2rem}
.article-head p{color:var(--ink-soft);max-width:44rem}
.article-body{max-width:46rem}
.article-body h2{margin-top:2.2rem}
.article-body figure{margin:2rem 0}
.article-body img{border-radius:1rem}
.article-body ul{color:var(--ink-soft)}
.page-head{background:var(--brand);color:#fff;padding:3.4rem 0}
.page-head h1{color:#fff;margin-bottom:.35em}
.page-head p{color:hsl(174 30% 86%);max-width:42rem;margin:0;font-size:1.06rem}
.legal-body{max-width:46rem;padding:3rem 0 4rem}
.legal-body h2{font-size:1.35rem;margin-top:2rem}
.legal-body p,.legal-body li{color:var(--ink-soft)}
.contact-grid{display:grid;gap:2.4rem;padding:3.2rem 0 4rem}
.c-info address{font-style:normal;color:var(--ink-soft);line-height:1.8}
.c-info h3{margin-top:1.6rem}
.c-info a{color:var(--brand);font-weight:600;text-decoration:none}
.c-info a:hover{text-decoration:underline}
.enq-form{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.9rem 1.6rem;min-width:0}
.enq-form .f-row{margin-bottom:1.15rem;min-width:0}
.enq-form label{display:block;font-weight:700;font-size:.92rem;margin-bottom:.4rem}
.enq-form input,.enq-form select,.enq-form textarea{width:100%;min-width:0;padding:.8rem .9rem;border:1.5px solid var(--line);border-radius:.6rem;font:inherit;font-size:1rem;background:var(--paper);color:var(--ink);min-height:2.85rem}
.enq-form input:focus,.enq-form select:focus,.enq-form textarea:focus{outline:2px solid var(--brand-mid);border-color:var(--brand-mid)}
.enq-form .f-err{color:hsl(4 72% 44%);font-size:.85rem;display:none;margin-top:.3rem}
.enq-form .bad .f-err{display:block}
.enq-form .bad input,.enq-form .bad select,.enq-form .bad textarea{border-color:hsl(4 72% 52%)}
.foot{background:hsl(210 26% 11%);color:hsl(210 14% 74%);padding:3.4rem 0 1.8rem;margin-top:auto}
.foot-grid{display:grid;gap:2.2rem}
.foot h4{color:#fff;font-size:1.02rem;margin-bottom:.9rem}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.foot a{color:hsl(210 14% 74%);text-decoration:none;font-size:.95rem}
.foot a:hover{color:#fff}
.foot .wordmark{color:#fff;margin-bottom:.8rem}
.foot-blurb{font-size:.93rem;max-width:20rem}
.foot address{font-style:normal;font-size:.93rem;line-height:1.7}
.foot-base{border-top:1px solid hsl(210 15% 22%);margin-top:2.6rem;padding-top:1.5rem;font-size:.86rem;display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;justify-content:space-between}
.thanks-box{min-height:52vh;display:grid;place-items:center;padding:4rem 0}
.thanks-box .inner{text-align:center;max-width:34rem}
.thanks-box .ok-ring{width:4.5rem;height:4.5rem;border-radius:50%;background:var(--brand-soft);display:grid;place-items:center;margin:0 auto 1.4rem;color:var(--brand)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.reveal.in{opacity:1;transform:none}
#ck-card{position:fixed;right:1rem;bottom:1rem;left:1rem;z-index:90;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 18px 48px hsl(210 30% 10% / .25);padding:1.25rem 1.3rem;display:none;max-width:26rem}
#ck-card.on{display:block}
#ck-card h3{font-size:1.05rem;margin-bottom:.4em}
#ck-card p{font-size:.88rem;color:var(--ink-soft);margin-bottom:1rem}
#ck-card .ck-acts{display:flex;gap:.6rem;flex-wrap:wrap}
#ck-card .btn{padding:.6rem 1.2rem;font-size:.92rem}
#ck-chip{position:fixed;left:1rem;bottom:1rem;z-index:89;width:2.9rem;height:2.9rem;border-radius:50%;border:1px solid var(--line);background:var(--card);box-shadow:0 8px 24px hsl(210 30% 10% / .2);display:none;place-items:center;cursor:pointer;color:var(--brand)}
#ck-chip.on{display:grid}
@media (min-width:38em){.stat-row{grid-template-columns:repeat(4,1fr)}.card-grid{grid-template-columns:repeat(2,1fr)}.guide-grid{grid-template-columns:repeat(2,1fr)}.quote-rail{grid-template-columns:repeat(2,1fr)}.hero-acts .btn{flex:none}#ck-card{left:auto}}
@media (min-width:57em){.nav-links{display:flex}a.nav-cta{display:inline-block}.burger{display:none}.mob-panel{display:none !important}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;padding:4.6rem 0 5rem}.card-grid{grid-template-columns:repeat(3,1fr)}.card-grid.four{grid-template-columns:repeat(4,1fr)}.guide-grid{grid-template-columns:repeat(3,1fr)}.split{grid-template-columns:1fr 1fr}.split.rev figure{order:2}.contact-grid{grid-template-columns:.85fr 1.15fr}.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}.steps{grid-template-columns:repeat(2,1fr)}.quote-rail{grid-template-columns:repeat(3,1fr)}.cta-panel{padding:3.6rem 3rem}}
@media (max-width:37.9375em){.row-tight{--gap-cap:.8rem}h1{font-size:clamp(1.85rem,8vw,2.4rem)}.float-stat{left:.6rem}}
