:root{--ink:#2a1f3d;--plum:#6b46c1;--plum-d:#5433a3;--lav:#efe6ff;--mint:#3fb59a;--mint-d:#1f7f69;--peach:#ff8f6b;--linen:#faf6ef;--line:#e6dfef;--mute:#5d5470;--r:16px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#fff;line-height:1.6;font-size:17px}
h1,h2,h3,h4{font-family:"Young Serif",Georgia,serif;font-weight:400;line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.4vw,3.1rem)}h2{font-size:clamp(1.55rem,3vw,2.2rem)}h3{font-size:1.2rem}
p{margin:0 0 1em}a{color:var(--plum-d)}a:hover{color:var(--ink)}
img,svg{max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.hdr .bar{display:flex;align-items:center;gap:18px;height:70px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:"Young Serif",Georgia,serif;font-size:1.45rem;white-space:nowrap}
.brand svg{width:42px;height:42px}.brand b{font-weight:400;color:var(--plum)}
.nav{display:flex;gap:18px;margin-left:auto}.nav a{text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem}.nav a:hover,.nav a[aria-current]{color:var(--plum)}
.hcall{display:flex;align-items:center;gap:6px;font-weight:700;text-decoration:none;color:var(--ink);white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--plum);color:#fff;border:0;border-radius:999px;padding:12px 22px;font-weight:700;text-decoration:none;font-size:1rem;cursor:pointer;font-family:inherit}
.btn:hover{background:var(--plum-d);color:#fff}.btn.alt{background:var(--mint-d)}.btn.alt:hover{background:#17604f}
.btn.ghost{background:transparent;border:2px solid currentColor;color:var(--ink)}
.menu-t{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--ink)}
.strip{background:var(--lav);border-top:1px solid var(--line);overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
.strip .wrap{display:flex;gap:6px;padding-top:8px;padding-bottom:8px}
.strip a{display:inline-flex;align-items:center;gap:6px;font-size:.86rem;font-weight:600;text-decoration:none;color:var(--ink);padding:5px 12px;border-radius:999px;background:#fff;border:1px solid var(--line)}
.strip a:hover{border-color:var(--plum)}.strip svg{width:16px;height:16px;color:var(--plum)}
@media(max-width:980px){.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;flex-direction:column;padding:16px 20px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-t{display:block;margin-left:auto}.hcall span{display:none}.hdr .btn{display:none}}
/* hero */
.hero{background:linear-gradient(180deg,var(--linen),#fff);padding:46px 0 56px}
.hero .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
.hero .lede{font-size:1.15rem;color:var(--mute);max-width:40em}
.ticks{list-style:none;padding:0;margin:18px 0 22px;display:grid;gap:8px}.ticks li{display:flex;gap:10px;align-items:flex-start}.ticks li::before{content:"";flex:0 0 20px;height:20px;border-radius:50%;background:var(--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat;margin-top:3px}
.hero-art{margin-top:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:0 12px 40px rgba(42,31,61,.08)}
.qform h2{font-size:1.45rem}.qform .sub{color:var(--mute);font-size:.95rem}
.f{display:grid;gap:4px;margin-bottom:12px}.f label{font-weight:600;font-size:.9rem}
.f input,.f select,.f textarea{font:inherit;padding:11px 12px;border:1.5px solid #d4cbe2;border-radius:10px;width:100%;background:#fff;color:var(--ink)}
.f input:focus,.f select:focus,.f textarea:focus{outline:3px solid #cbb8f5;border-color:var(--plum)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hp{position:absolute;left:-5000px}
.small{font-size:.85rem;color:var(--mute)}
@media(max-width:900px){.hero .grid{grid-template-columns:1fr}.f2{grid-template-columns:1fr}}
/* sections */
.sec{padding:56px 0}.sec.tint{background:var(--linen)}.sec.lav{background:var(--lav)}
.sec-h{max-width:760px;margin-bottom:26px}.sec-h p{color:var(--mute)}
.trust{background:var(--ink);color:#fff}.trust .wrap{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding-top:18px;padding-bottom:18px}
.trust div{display:flex;gap:10px;align-items:center;font-weight:600;font-size:.92rem}.trust svg{color:var(--mint);flex:0 0 26px;width:26px;height:26px}
@media(max-width:900px){.trust .wrap{grid-template-columns:1fr 1fr}}
.usp{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.usp div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}.usp svg{width:34px;height:34px;color:var(--plum);margin-bottom:8px}
@media(max-width:900px){.usp{grid-template-columns:1fr 1fr}}@media(max-width:520px){.usp{grid-template-columns:1fr}}
.cat-h{font-size:1.05rem;font-family:inherit;font-weight:700;color:var(--plum-d);text-transform:uppercase;letter-spacing:.06em;margin:26px 0 12px}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.tile{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.tile:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(42,31,61,.1);color:var(--ink)}
.tile .ico{width:54px;height:54px;border-radius:14px;background:var(--lav);display:grid;place-items:center;margin-bottom:12px}.tile .ico svg{width:30px;height:30px;color:var(--plum)}
.tile h3{margin-bottom:6px}.tile p{color:var(--mute);font-size:.95rem;flex:1}.tile .pr{font-weight:700;color:var(--mint-d);font-size:.92rem;margin-bottom:6px}.tile .more{font-weight:700;color:var(--plum)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:s}
.steps li{list-style:none;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px;counter-increment:s}
.steps li::before{content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--peach);color:var(--ink);font-weight:800;margin-bottom:10px}
.steps{padding:0;margin:0}.two .steps{grid-template-columns:1fr 1fr}@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}@media(max-width:520px){.steps{grid-template-columns:1fr}}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:0 18px}
.faq summary{cursor:pointer;font-weight:700;padding:15px 0;list-style:none;display:flex;justify-content:space-between;gap:10px}.faq summary::after{content:"+";font-size:1.3rem;color:var(--plum)}.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:6px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips a{padding:6px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:.9rem;font-weight:600}.chips a:hover{border-color:var(--plum);color:var(--plum)}
.cta{background:var(--ink);color:#fff;border-radius:24px;padding:40px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cta h2{color:#fff;margin:0}.cta p{margin:6px 0 0;color:#d8cfe8}.cta .btn.ghost{color:#fff}
.revs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.revs div{background:#fff;border:1px dashed #cdbff0;border-radius:var(--r);padding:20px}
@media(max-width:900px){.revs{grid-template-columns:1fr}}
.crumbs{font-size:.86rem;color:var(--mute);padding:14px 0 0}.crumbs a{color:var(--mute)}
.two{display:grid;grid-template-columns:1.5fr 1fr;gap:36px;align-items:start}@media(max-width:900px){.two{grid-template-columns:1fr}}
.side{position:sticky;top:130px}
.prose h2{margin-top:1.4em}.prose ul{padding-left:1.2em}.prose li{margin-bottom:.35em}
.incl{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.incl li{padding-left:26px;position:relative}.incl li::before{content:"✓";position:absolute;left:0;color:var(--mint-d);font-weight:800}
@media(max-width:620px){.incl{grid-template-columns:1fr}}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.facts div{background:var(--linen);border-radius:12px;padding:14px}.facts b{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mute)}
@media(max-width:620px){.facts{grid-template-columns:1fr}}
table.pt{width:100%;border-collapse:collapse;margin:12px 0 20px;font-size:.95rem}table.pt th,table.pt td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left}table.pt th{background:var(--lav)}
/* footer */
.ftr{background:#1d1530;color:#d8cfe8;padding:50px 0 100px;margin-top:40px;font-size:.93rem}
.ftr a{color:#fff;text-decoration:none}.ftr a:hover{text-decoration:underline}
.ftr .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}.ftr h4{font-family:inherit;font-weight:700;color:#fff;font-size:1rem}
.ftr ul{list-style:none;padding:0;margin:0}.ftr li{margin-bottom:6px}
.ftr .bottom{border-top:1px solid #3a2e52;margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.psrc{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--ink)!important;border-radius:999px;padding:7px 14px;font-weight:700;font-size:.85rem;margin:6px 0 14px}
.psrc svg{width:18px;height:18px}
@media(max-width:900px){.ftr .cols{grid-template-columns:1fr 1fr}}@media(max-width:520px){.ftr .cols{grid-template-columns:1fr}}
/* floating */
.wa{position:fixed;left:16px;bottom:18px;z-index:60;width:54px;height:54px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.wa svg{width:30px;height:30px}
.mbar{display:none}
@media(max-width:720px){.mbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:55;background:#fff;border-top:1px solid var(--line);padding:8px;gap:8px}.mbar a{justify-content:center}.wa{bottom:78px}}
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:0 18px 40px rgba(0,0,0,.18);display:none}
.cookie.show{display:block}.cookie p{font-size:.9rem;margin-bottom:10px}.cookie .btn{padding:9px 16px;font-size:.9rem}
/* quote tool */
.qt{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:start}@media(max-width:900px){.qt{grid-template-columns:1fr}}
.qt-prog{display:flex;gap:6px;margin-bottom:16px}.qt-prog span{flex:1;height:6px;border-radius:3px;background:var(--line)}.qt-prog span.on{background:var(--plum)}
.qt-step{display:none}.qt-step.on{display:block}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}@media(max-width:520px){.opts{grid-template-columns:1fr}}
.opt{border:1.5px solid #d4cbe2;border-radius:12px;padding:12px;cursor:pointer;background:#fff;text-align:left;font:inherit;color:var(--ink)}
.opt b{display:block}.opt small{color:var(--mute)}.opt[aria-pressed=true]{border-color:var(--plum);background:var(--lav)}
.qt-nav{display:flex;justify-content:space-between;gap:10px;margin-top:10px}
.qt-out{background:var(--ink);color:#fff;border-radius:var(--r);padding:22px;position:sticky;top:130px}.qt-out .price{font-family:"Young Serif",Georgia,serif;font-size:2.2rem;color:#fff}
.qt-out svg{display:block;margin:0 auto 10px;max-width:220px}
/* photos */
.tile .ph{display:block;margin:-20px -20px 14px;border-radius:var(--r) var(--r) 0 0;overflow:hidden;aspect-ratio:3/2;background:var(--lav)}
.tile .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.tile:hover .ph img{transform:scale(1.04)}
.hero-media{position:relative;margin-top:18px;border-radius:24px;overflow:hidden;aspect-ratio:3/2;background:var(--lav);box-shadow:0 18px 50px rgba(42,31,61,.18)}
.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hero-media video{opacity:0;transition:opacity .6s}.hero-media video.on{opacity:1}
.pimg{margin:18px 0 22px;border-radius:18px;overflow:hidden;aspect-ratio:3/2;background:var(--lav)}
.pimg.wide{aspect-ratio:16/7}
.pimg img{width:100%;height:100%;object-fit:cover;display:block}
.trust div{justify-content:center;text-align:center}
