:root{--ink:#0B0818;--violet:#6A29D2;--violet-lt:#B69AF0;--violet-deep:#3D1A73;--paper:#fff;--lav:#F4F0FD;--lav-2:#EFE9FC;--line:#E2D9F7;--text:#0E0B1E;--body:#4A4560;--on-dark-3:#9C93BE;--gutter:clamp(20px,4.5vw,72px);font-family:'Outfit','Segoe UI',system-ui,sans-serif;color:var(--text);font-synthesis:none}html{scroll-behavior:auto}html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--lav);color:var(--text);-webkit-font-smoothing:antialiased}.lock{display:inline-flex;align-items:baseline;gap:.045em;font-weight:600;letter-spacing:-.025em;line-height:1;color:#fff;white-space:nowrap}.lock .dlock{height:.83em;width:auto;display:inline-block;vertical-align:baseline;overflow:visible;transform:translateY(.02em)}.lock span{display:inline-block}.dm{overflow:visible}.dm .s{fill:none;stroke:#6A29D2;stroke-width:80;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}.dm .bowl{stroke-linecap:butt}.dm .stem{stroke-dasharray:1 2;stroke-dashoffset:-1.001}
/* The preloader mirrors the booking route, then the quiz has its own entrance. */
#pre{position:fixed;inset:0;z-index:100;background:var(--ink);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:28px;overflow:hidden}#pre .mark{opacity:0;transform:translateY(20px) scale(.96)}#pre .bar{width:min(46vw,240px);height:1px;background:rgba(255,255,255,.14);position:relative;overflow:hidden}#pre .bar i{position:absolute;inset:0;background:var(--violet-lt);transform-origin:left;transform:scaleX(0)}#pre .curtain{position:absolute;inset:0;background:var(--ink);transform:translateY(100%)}#pre .dm{height:min(30vh,220px);width:auto}#pre .dm .s{stroke:#8B5CF6}.quote-loading-label{position:absolute;left:var(--gutter);bottom:10svh;margin:0;color:#fff;font-family:'Kalam','Segoe Print','Bradley Hand',cursive;font-size:clamp(21px,1.8vw,27px);line-height:1.25}#pre.static .s{stroke-dashoffset:0}#pre.static .mark{opacity:1;transform:none}
#nav .dlock path{fill:#fff;transition:fill .18s ease}#nav.nav-logo-onlight .dlock path{fill:url(#dg)}#nav .cta{background:#fff;color:var(--violet);transition:background-color .3s ease,color .3s ease}#nav.nav-logo-onlight .cta{background:var(--violet);color:#fff}
.quote-page{overflow-x:clip;overflow-y:visible;background:var(--lav)}.quote-stage{position:relative;isolation:isolate;background:var(--violet);color:#fff;padding:calc(96px + clamp(8px,1.4vw,18px)) 0 0}.quote-stage::after{content:"";position:absolute;z-index:-2;inset:auto 0 0;height:35%;background:var(--lav)}.quote-hero-art{position:absolute;inset:0;overflow:clip;pointer-events:none}.quote-hero-d{position:absolute;right:clamp(-130px,-7vw,-42px);top:-76px;width:min(56vw,620px);height:auto;opacity:.19;transform:rotate(8deg)}.quote-hero-d .s{fill:none;stroke:#fff;stroke-width:80;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}.quote-hero-d .bowl{stroke-linecap:butt}.quote-hero-d .stem{stroke-dasharray:1 2;stroke-dashoffset:-1.001}.quote-stage-layout{width:min(1240px,calc(100% - 2 * var(--gutter)));margin:0 auto;display:grid;grid-template-columns:minmax(200px,.42fr) minmax(0,1fr);gap:clamp(28px,5vw,78px);align-items:start;padding-bottom:clamp(28px,3.6vw,48px)}
.quote-process{position:relative;padding-top:10px}.quote-process-rail{position:absolute;left:35px;top:46px;bottom:36px;width:8px;pointer-events:none}.quote-process-rail svg{display:block;width:100%;height:100%;overflow:visible}.quote-process-rail line{stroke-width:3;vector-effect:non-scaling-stroke}.quote-process-rail line.quote-process-rail-base{stroke:rgba(255,255,255,.3);stroke-width:2px}.quote-process-rail line.quote-process-rail-progress{stroke:#fff;stroke-width:7px;filter:drop-shadow(0 0 5px rgba(255,255,255,.32));transform:scaleY(0);transform-origin:50% 0;transform-box:fill-box}.quote-process-rail-horizontal{display:none}.quote-process ol{position:relative;display:grid;gap:26px;margin:0;padding:0;list-style:none}.quote-process li{position:relative;z-index:1;display:grid;grid-template-columns:72px 1fr;gap:15px;align-items:center}.quote-process-number{display:grid;place-items:center;width:72px;height:72px;border:2px solid rgba(255,255,255,.32);border-radius:50%;background:var(--violet);color:rgba(255,255,255,.58);font-size:25px;font-weight:700;letter-spacing:-.05em;transition:background .3s ease,color .3s ease,border-color .3s ease}.quote-process li.is-active .quote-process-number,.quote-process li.is-complete .quote-process-number{border-color:#fff;color:var(--violet);background:#fff;box-shadow:0 10px 24px rgba(11,8,24,.18)}.quote-process-copy{display:grid;gap:3px}.quote-process-copy strong{text-transform:uppercase;font-size:14px;letter-spacing:.045em;line-height:1.1}.quote-process-copy small{color:rgba(255,255,255,.74);font-size:14px;line-height:1.35}
.quote-stage-intro{max-width:800px}.quote-kicker{margin:0 0 12px;color:#fff;font-family:'Kalam','Segoe Print','Bradley Hand',cursive;font-size:clamp(20px,1.7vw,26px);line-height:1.2}.quote-stage-intro h1{max-width:780px;margin:0;color:#fff;font-size:clamp(42px,5vw,72px);line-height:.99;letter-spacing:-.055em}.quote-stage-intro h1 .quote-word{display:inline-block;overflow:hidden;vertical-align:top;padding:.08em 0 .16em;margin:-.08em 0 -.16em}.quote-stage-intro h1 .quote-word>span{display:inline-block;will-change:transform}.quote-stage-intro>div>p{max-width:650px;margin:18px 0 0;color:rgba(255,255,255,.82);font-size:clamp(17px,1.35vw,20px);line-height:1.45}.quote-process-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,34px);margin-top:28px;max-width:760px}.quote-process-notes>div{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:start}.quote-process-notes b{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:26px;line-height:1}.quote-process-notes p{display:grid;gap:4px;margin:0;color:#fff;font-size:16px;line-height:1.35}.quote-process-notes strong{font-size:17px}.quote-process-notes span{color:rgba(255,255,255,.78)}
.quote-card{position:relative;width:min(1152px,calc(100% - 2 * var(--gutter)));margin:0 auto clamp(54px,7vw,100px);padding:clamp(28px,4.6vw,56px);overflow:hidden;border:1px solid rgba(255,255,255,.6);border-radius:26px;background:var(--paper);box-shadow:0 32px 72px -36px rgba(11,8,24,.66)}.quote-card-progress{height:8px;margin-bottom:clamp(26px,3vw,40px);overflow:hidden;border-radius:999px;background:var(--lav-2)}.quote-card-progress i{display:block;width:100%;height:100%;border-radius:inherit;background:var(--violet);transform:scaleX(.2);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.quote-step{max-width:980px;margin:auto}.quote-step-kicker{margin:0 0 10px;color:var(--violet);font-family:'Plus Jakarta Sans','Segoe UI',sans-serif;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.quote-step h2{max-width:760px;margin:0;color:var(--ink);font-size:clamp(32px,4vw,54px);line-height:1;letter-spacing:-.052em}.quote-step-copy{max-width:650px;margin:14px 0 0;color:var(--body);font-size:18px;line-height:1.45}.quote-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:clamp(28px,4vw,44px)}.quote-option{position:relative;display:grid;grid-template-columns:48px 1fr 22px;gap:14px;align-items:center;min-height:112px;padding:20px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(135deg,#fff,var(--lav));color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.quote-option:hover{transform:translateY(-3px);border-color:var(--violet-lt);box-shadow:0 16px 28px -22px rgba(61,26,115,.7)}.quote-option:focus-visible,.quote-back:focus-visible,.quote-submit:focus-visible{outline:3px solid var(--violet);outline-offset:3px}.quote-option-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--lav-2);color:var(--violet);font-size:24px;font-weight:600}.quote-option strong{font-size:20px;line-height:1.15}.quote-option span:not(.quote-option-icon):last-child{color:var(--violet);font-size:25px;line-height:1}.quote-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:30px}.quote-back{border:0;background:transparent;color:var(--violet);font:inherit;font-weight:600;cursor:pointer}.quote-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:30px}.quote-field{display:grid;gap:8px}.quote-field.full{grid-column:1/-1}.quote-field label,.quote-radio-legend{font-size:14px;font-weight:700}.quote-field input,.quote-field select{width:100%;min-height:52px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:0 14px;font:inherit}.quote-field input:focus,.quote-field select:focus{outline:3px solid rgba(106,41,210,.22);border-color:var(--violet)}.quote-preference{grid-column:1/-1;border:0;margin:4px 0 0;padding:0}.quote-radio-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px}.quote-radio{display:inline-flex;align-items:center;gap:8px;font-size:16px}.quote-radio input{width:19px;height:19px;accent-color:var(--violet)}.quote-sms-consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:11px;margin-top:6px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--lav)}.quote-sms-consent input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--violet);flex:0 0 auto}.quote-sms-consent label{color:var(--body);font-size:14px;line-height:1.5}.quote-sms-consent a{color:var(--violet);font-weight:600}.quote-what-next{grid-column:1/-1;display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;padding:18px;border-radius:14px;background:var(--lav)}.quote-what-next b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--violet);font-size:23px}.quote-what-next p{margin:0;color:var(--body);line-height:1.45}.quote-what-next strong{display:block;margin-bottom:3px;color:var(--ink)}.quote-submit{border:0;border-radius:999px;background:var(--violet);color:#fff;padding:15px 24px;font:inherit;font-weight:600;cursor:pointer;transition:transform .2s ease,background .2s ease}.quote-submit:hover{transform:translateY(-2px);background:#5420A9}.quote-submit[disabled]{opacity:.7;cursor:wait;transform:none}.quote-error{max-width:980px;margin:20px auto 0;padding:12px 14px;border-radius:10px;background:#fff1f1;color:#8a1a1a}.quote-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.quote-success{max-width:700px;margin:14px auto 0;padding:clamp(16px,3vw,32px);border-radius:16px;background:var(--lav);color:var(--body);font-size:18px;line-height:1.5}.quote-success h2{margin:0 0 8px;color:var(--ink);font-size:clamp(30px,4vw,46px);letter-spacing:-.045em}.quote-success p{margin:0}.quote-noscript{margin:18px 0 0;color:var(--body)}
@media(max-width:760px){.quote-stage{padding-top:86px}.quote-stage-layout{grid-template-columns:1fr;gap:26px;padding-bottom:28px}.quote-hero-d{top:20px;right:-168px;width:620px;opacity:.14;transform:rotate(12deg)}.quote-process{padding:0}.quote-process-rail{left:15%;right:15%;top:27px;bottom:auto;width:auto;height:4px}.quote-process-rail-vertical{display:none}.quote-process-rail-horizontal{display:block}.quote-process-rail line.quote-process-rail-progress.quote-process-rail-horizontal{transform:scaleX(0);transform-origin:0 50%}.quote-process ol{grid-template-columns:repeat(3,1fr);gap:8px}.quote-process li{grid-template-columns:1fr;gap:8px;text-align:center}.quote-process-number{justify-self:center;width:58px;height:58px;font-size:21px}.quote-process-copy{gap:2px}.quote-process-copy strong{font-size:11px}.quote-process-copy small{font-size:11px;line-height:1.25}.quote-stage-intro{text-align:center}.quote-kicker{margin-bottom:10px;font-size:22px}.quote-stage-intro h1{font-size:clamp(40px,11vw,56px)}.quote-stage-intro>div>p{margin:14px auto 0;font-size:17px}.quote-process-notes{grid-template-columns:1fr;gap:14px;margin:24px auto 0;max-width:460px;text-align:left}.quote-process-notes>div{grid-template-columns:38px 1fr;gap:10px}.quote-process-notes b{width:38px;height:38px}.quote-process-notes p{font-size:15px}.quote-card{width:min(100% - 32px,1152px);margin-bottom:50px;padding:24px 18px;border-radius:20px}.quote-options{grid-template-columns:1fr;gap:10px;margin-top:28px}.quote-option{grid-template-columns:42px 1fr 18px;min-height:74px;padding:14px}.quote-option-icon{width:40px;height:40px;font-size:21px}.quote-option strong{font-size:17px}.quote-form-grid{grid-template-columns:1fr;gap:16px}.quote-field.full,.quote-preference,.quote-sms-consent,.quote-what-next{grid-column:auto}.quote-radio-row{gap:13px}.quote-actions{margin-top:24px}.quote-submit{width:100%;min-height:52px}.quote-actions .quote-submit{width:auto}.quote-loading-label{position:static;margin:0 20px;text-align:center}}
@media(max-width:420px){.quote-stage-layout{width:min(100% - 40px,1240px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.quote-hero-d .s{stroke-dashoffset:0!important}.quote-process-rail-progress{transform:scaleY(.48)!important}.quote-process-number{transform:none!important}}@media(max-width:760px) and (prefers-reduced-motion:reduce){.quote-process-rail-progress{transform:scaleX(.48)!important}}

/* Quote-specific controls intentionally use the existing violet, ink, paper, and lavender palette. */
.quote-option{padding:0;background:var(--paper)}.quote-option>span,.quote-option>strong{margin:0}.quote-option-icon{overflow:hidden}.quote-option-icon svg,.quote-option-arrow svg,.quote-detail-continue svg,.quote-submit svg,.quote-what-next b svg{width:24px;height:24px}.quote-option-arrow{display:grid;place-items:center;color:var(--violet)}.quote-option-select{display:grid;grid-template-columns:48px 1fr 22px;gap:14px;align-items:center;width:100%;min-height:110px;padding:20px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.quote-option--expand{display:block;min-height:0}.quote-option--expand.is-expanded{border-color:var(--violet-lt);box-shadow:0 16px 28px -22px rgba(61,26,115,.7)}.quote-option-detail{display:grid;gap:9px;padding:0 20px 20px}.quote-option-detail label{font-size:14px;font-weight:700}.quote-option-detail label span{color:var(--body);font-weight:400}.quote-option-detail textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:12px 14px;font:inherit;line-height:1.4}.quote-option-detail textarea:focus{outline:3px solid rgba(106,41,210,.22);border-color:var(--violet)}.quote-detail-continue{display:inline-flex;align-items:center;justify-content:center;gap:8px;justify-self:start;min-height:44px;border:0;border-radius:999px;background:var(--violet);color:#fff;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer}.quote-detail-continue svg{width:18px;height:18px}.quote-form-section{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:14px}.quote-form-section h3{margin:0;color:var(--ink);font-size:21px;letter-spacing:-.035em}.quote-form-section p,.quote-field small,.quote-preference>p{margin:5px 0 0;color:var(--body);font-size:13px;line-height:1.4}.quote-field label b,.quote-radio-legend b{color:var(--violet)}.quote-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px}.quote-submit svg{width:18px;height:18px}.quote-what-next b{overflow:hidden}.quote-what-next b svg{width:22px;height:22px}.quote-option:focus-within,.quote-option-select:focus-visible,.quote-detail-continue:focus-visible{outline:3px solid var(--violet);outline-offset:3px}
@media(max-width:760px){.quote-option-select{grid-template-columns:42px 1fr 18px;min-height:72px;padding:14px}.quote-option-select .quote-option-icon{width:40px;height:40px}.quote-option-select strong{font-size:17px}.quote-option-detail{padding:0 14px 14px}.quote-form-section{grid-column:auto}.quote-detail-continue{width:100%}}

/* Service choice cards use the generous, unboxed line illustrations from the approved quote direction. */
.quote-option--service{grid-template-columns:58px minmax(0,1fr) 24px;gap:18px;min-height:126px;padding:24px 26px;background:var(--paper)}.quote-service-icon{display:grid;place-items:center;width:54px;height:54px;color:var(--violet)}.quote-service-icon svg{width:48px;height:48px}.quote-option--service strong{font-size:20px}.quote-option--choice{grid-template-columns:minmax(0,1fr) 24px;gap:18px;min-height:84px;padding:20px 24px;background:var(--paper)}.quote-option--choice strong{font-size:18px}.quote-option--choice .quote-option-arrow{justify-self:end}.quote-detail-step{max-width:760px}.quote-detail-field{display:grid;gap:9px;margin-top:30px}.quote-detail-field label{color:var(--ink);font-size:15px;font-weight:700}.quote-detail-field label span{color:var(--body);font-weight:400}.quote-detail-field textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:14px 16px;font:inherit;line-height:1.5}.quote-detail-field textarea:focus{outline:3px solid rgba(106,41,210,.22);border-color:var(--violet)}.quote-field label,.quote-radio-legend{color:var(--ink)}.quote-field small,.quote-preference>p{color:var(--body)}
@media(max-width:760px){.quote-option--service{grid-template-columns:44px minmax(0,1fr) 20px;gap:14px;min-height:76px;padding:15px 16px}.quote-service-icon{width:40px;height:40px}.quote-service-icon svg{width:38px;height:38px}.quote-option--service strong{font-size:17px}.quote-option--choice{min-height:72px;padding:16px}.quote-option--choice strong{font-size:17px}}
.quote-radio{color:var(--ink)}

/* The quote intro is a progressive enhancement; content paints without it. */
#pre{display:none}
