@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--purple:#694291;--deep:#352244;--gold:#ffda79;--lavender:#f4eff8;--text:#403b46;--muted:#6f6677;--border:#e7dfee;--white:#fff;--display:'Manrope',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--text);background:var(--white);font:400 1rem/1.65 var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #9a6ac7;outline-offset:5px}img{max-width:100%;display:block}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:10px 20px;z-index:10}.skip-link:focus{top:8px}.local-bar{background:var(--purple);color:white;text-align:center;padding:9px 20px;font-size:.8125rem;letter-spacing:.035em}.local-bar span{color:var(--gold);padding:0 16px}.site-header{background:#fff;border-bottom:1px solid #f2edf6}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:106px}.brand{position:relative;width:210px;height:80px;display:block;overflow:hidden;flex-shrink:0}.brand img{width:230px;max-width:none;height:auto;position:absolute;left:-10px;top:50%;transform:translateY(-50%)}nav{display:flex;align-items:center;gap:34px;font-size:.9375rem;font-weight:550}nav>a:not(.button):hover{color:var(--purple)}.button{background:var(--purple);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:17px 25px;border:1px solid var(--purple);border-radius:7px;font-weight:600;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#523173;transform:translateY(-2px)}.button span{font-size:1.2rem;line-height:1}.button-small{padding:12px 20px;font-size:.875rem}.hero{display:grid;grid-template-columns:1.07fr 1fr;gap:66px;align-items:center;padding-top:58px;padding-bottom:70px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.14em;color:var(--purple);margin:0 0 20px;line-height:1.6}.small-spark{font-size:1.15rem;margin-right:10px;color:var(--purple)}h1,h2,h3{font-family:var(--display);color:var(--deep);margin:0;font-weight:650}h1{font-size:clamp(2.65rem,4.35vw,4.1rem);line-height:1.14;letter-spacing:-.055em}h1 em,h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--purple)}.hero-description{font-size:1.125rem;max-width:460px;margin:25px 0 29px;line-height:1.75;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{font-size:.9375rem;font-weight:600;color:var(--purple)}.text-link span{margin-left:7px}.text-link:hover{text-decoration:underline}.hero-note{display:flex;gap:12px;align-items:center;font-size:.8125rem;color:var(--muted);margin:27px 0 0}.hero-note span:first-child{color:var(--purple);font-weight:700}.hero-visual{position:relative;padding:0 0 20px 0}.home-image{width:100%;height:510px;object-fit:cover;border-radius:100px 10px 10px 10px;background:var(--lavender)}.image-note{position:absolute;bottom:0;left:-24px;right:30px;display:flex;gap:17px;align-items:center;background:#fff;padding:19px 25px;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 28px #3623480a}.note-spark{font-size:2.6rem;line-height:1;color:#d6ab40}.image-note strong{font-size:.9375rem;color:var(--deep);font-weight:600;display:block}.image-note div>span{display:block;color:var(--muted);font-size:.8125rem;margin-top:2px}.area-strip{background:var(--lavender);border-block:1px solid var(--border)}.area-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:90px}.area-inner>span{font-size:.6875rem;letter-spacing:.1em;font-weight:700;max-width:155px;line-height:1.7;color:var(--purple)}.area-inner p{margin:0;font-family:var(--display);font-size:1.25rem;font-weight:600;color:var(--purple);display:flex;gap:27px;align-items:center}.area-inner i{font-style:normal;color:#b392cc;font-size:.875rem}.area-inner a{font-size:.8125rem;font-weight:600;color:var(--purple)}.area-inner a span{margin-left:9px}.section-space{padding-top:88px;padding-bottom:88px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:37px}h2{font-size:clamp(2rem,3.2vw,2.9rem);line-height:1.18;letter-spacing:-.045em}.section-heading .eyebrow{margin-bottom:12px}.section-heading>p{max-width:355px;margin:0 0 2px;color:var(--muted);font-size:1rem}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{padding:28px 24px 24px;border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;background:#fdfcfe}.service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px}.service-top>span{color:#a69aaf;font-size:.75rem;letter-spacing:.1em}.service-top svg{width:33px;height:33px;stroke:var(--purple);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}h3{font-size:1.25rem;line-height:1.35;letter-spacing:-.025em}.service-card>p{color:var(--muted);font-size:.9375rem;line-height:1.7;margin:18px 0 26px}.service-card>a{font-size:.8125rem;font-weight:600;color:var(--purple);margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px}.service-card>a:hover{text-decoration:underline}.service-card>a span{font-size:1.1rem}.service-footnote{color:var(--muted);font-size:.875rem;margin:24px 0 0;text-align:center}.service-footnote span{color:#bc9343;padding-right:7px}.about-section{background:var(--lavender);border-block:1px solid var(--border)}.about-inner{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;padding-block:66px}.about-inner h2{font-size:2.65rem}.about-copy>p{margin:0 0 17px;color:#665a70;font-size:1rem;line-height:1.8}.about-signoff{display:flex;gap:13px;align-items:center;color:var(--purple);font-size:.875rem;margin-top:25px}.about-signoff span{font-size:1.4rem;color:#bd9340}.about-signoff strong{font-weight:600}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.contact-intro h2{font-size:3.35rem}.contact-intro>p:not(.eyebrow){color:var(--muted);max-width:445px;margin:24px 0;font-size:1.0625rem}.estimate-note{display:flex;gap:10px;align-items:baseline;max-width:390px;font-size:.875rem;color:var(--purple)}.contact-panel{padding:34px;border:1px solid var(--border);border-radius:12px;box-shadow:0 6px 30px #4c2d6710}.contact-panel>p{margin:9px 0 25px;color:var(--muted);font-size:.9375rem}.contact-row{display:flex;align-items:center;gap:15px;border-top:1px solid var(--border);padding:20px 0}.contact-icon{background:var(--lavender);border-radius:50%;display:grid;place-items:center;width:41px;height:41px;color:var(--purple);font-size:1.25rem;flex-shrink:0}.contact-row small{font-size:.6875rem;letter-spacing:.1em;display:block;color:var(--muted);font-weight:600;margin-bottom:3px}.contact-row strong{font-weight:550;font-size:1.125rem;color:var(--deep);overflow-wrap:anywhere}.row-arrow{margin-left:auto;color:var(--purple)}.contact-row:hover strong{color:var(--purple);text-decoration:underline}.text-button{width:100%;margin-top:8px;font-size:.9375rem;padding:15px}.contact-panel .contact-location{text-align:center;font-size:.8125rem;margin:17px 0 0}footer{background:var(--purple);color:#fff}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:29px}.footer-brand{width:200px;height:76px}.footer-brand img{width:219px;mix-blend-mode:lighten}.footer-top p{font-family:Georgia,serif;font-style:italic;font-size:1.125rem;color:#f7eafa;margin:0}.footer-top>a:last-child{font-size:.875rem;border-bottom:1px solid #c4a6df;padding-bottom:4px}.footer-top>a:last-child span{color:var(--gold);margin-left:8px}.footer-bottom{border-top:1px solid #ffffff2b;display:flex;justify-content:space-between;gap:20px;padding-block:20px;font-size:.75rem;color:#e2d7ec}
@media(min-width:1500px){.hero{gap:88px}.home-image{height:550px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero{gap:40px}.home-image{height:480px}.hero-actions{gap:17px}.hero-actions .button{padding:15px 20px}.area-inner p{gap:17px;font-size:1.1rem}.area-inner a{display:none}.area-inner>span{max-width:none}.service-grid{grid-template-columns:repeat(2,1fr);gap:20px}.service-card{padding:28px}.service-card h3 br{display:none}.service-top{margin-bottom:20px}.about-inner,.contact-section{gap:55px}.contact-panel{padding:27px}.contact-row strong{font-size:1rem}.footer-top p{max-width:250px;text-align:center}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.local-bar{font-size:.6875rem;padding:9px 10px}.local-bar span{padding:0 7px}.header-inner{min-height:89px;gap:12px}.brand{width:165px;height:68px}.brand img{width:180px;left:-8px}nav{gap:12px}nav>a:not(.button){display:none}.button-small{font-size:.75rem;padding:11px 13px;gap:10px}.hero{grid-template-columns:1fr;gap:33px;padding-top:35px;padding-bottom:42px}.hero-copy{max-width:560px}.eyebrow{font-size:.6875rem;margin-bottom:15px}h1{font-size:clamp(2.7rem,8.5vw,4rem);letter-spacing:-.055em}.hero-description{font-size:1rem;line-height:1.75;margin:21px 0 23px;max-width:510px}.hero-actions{gap:22px}.hero-actions .button{font-size:.875rem;padding:15px 18px;gap:15px}.text-link{font-size:.875rem}.hero-note{font-size:.75rem;gap:10px;margin-top:21px}.hero-visual{padding-bottom:20px}.home-image{height:390px;border-radius:65px 8px 8px 8px;object-position:center 55%}.image-note{left:14px;right:14px;padding:15px 18px;gap:13px}.image-note strong{font-size:.875rem}.image-note div>span{font-size:.75rem}.note-spark{font-size:2rem}.area-inner{flex-direction:column;gap:5px;padding-block:18px;min-height:0}.area-inner>span{font-size:.625rem}.area-inner p{font-size:1.125rem;gap:18px}.section-space{padding-block:55px}.section-heading{display:block;margin-bottom:27px}.section-heading>p{margin-top:18px;max-width:100%;font-size:.9375rem}h2{font-size:2.15rem}.service-grid{gap:13px}.service-card{padding:22px 19px}.service-card h3{font-size:1.125rem}.service-card h3 br{display:initial}.service-card>p{font-size:.875rem;margin:14px 0 23px}.service-card>a{font-size:.75rem}.service-top{margin-bottom:20px}.service-footnote{font-size:.8125rem;max-width:330px;margin:22px auto 0}.about-inner{grid-template-columns:1fr;gap:25px;padding-block:46px}.about-inner h2{font-size:2.2rem}.about-copy>p{font-size:.9375rem}.about-signoff{font-size:.8125rem;margin-top:21px}.contact-section{grid-template-columns:1fr;gap:29px}.contact-intro h2{font-size:2.65rem}.contact-intro h2 br{display:none}.contact-intro>p:not(.eyebrow){font-size:1rem;max-width:100%;margin:20px 0}.contact-panel{padding:26px}.contact-panel h3{font-size:1.15rem}.contact-row strong{font-size:1.0625rem}.footer-top{flex-direction:column;gap:17px;padding-block:26px}.footer-brand{width:205px;height:78px}.footer-brand img{width:222px}.footer-top p{max-width:none;font-size:1rem}.footer-bottom{flex-direction:column;gap:5px;text-align:center;font-size:.6875rem;padding-block:17px}}
@media(max-width:390px){.wrap{width:calc(100% - 32px)}.local-bar{font-size:.625rem}.brand{width:138px}.brand img{width:153px}.button-small{padding:10px;font-size:.6875rem;gap:6px}.hero-actions{gap:18px}.hero-note{gap:8px;font-size:.6875rem}.service-grid{grid-template-columns:1fr}.service-card h3 br{display:none}.service-card>a{font-size:.875rem}.service-card>p{font-size:.9375rem}.service-top{margin-bottom:15px}.contact-panel{padding:22px 18px}.contact-row{gap:10px}.contact-row strong{font-size:.9375rem}.text-button{font-size:.8125rem;gap:10px}.home-image{height:340px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Preserve the complete header logo at every responsive size. */
.site-header .brand{height:auto;aspect-ratio:3/2;overflow:visible}
.site-header .brand img{position:static;width:100%;max-width:100%;height:auto;transform:none}

/* Quote requests and extended service area */
.extended-area{margin-top:0;padding-bottom:21px;text-align:center;font-size:.875rem;line-height:1.7;color:var(--muted)}.extended-area strong{font-weight:600;color:var(--purple)}.extended-area a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}.contact-section{grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}.contact-intro{padding-top:12px}.contact-details{margin-top:35px;max-width:410px}.contact-details h3{font-size:1rem;margin-bottom:18px}.contact-details .text-link{display:inline-block;margin-top:7px}.quote-panel{padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}.form-wide{grid-column:1/-1}.form-field label,.email-fallback>label{font-size:.875rem;font-weight:600;color:var(--deep)}.required,.optional{font-size:.75rem;font-weight:400;color:var(--muted)}.form-field input,.form-field select,.form-field textarea,.email-fallback textarea{width:100%;min-width:0;padding:11px 12px;background:#fff;border:1px solid #cfc3da;border-radius:5px;color:var(--text);font:400 1rem/1.5 var(--body);min-height:46px}.form-field select{padding-right:25px}.form-field textarea,.email-fallback textarea{resize:vertical}.form-field input::placeholder,.form-field textarea::placeholder{color:#756c7c;opacity:1}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.email-fallback textarea:focus{outline:2px solid var(--purple);outline-offset:2px}.field-help{font-size:.75rem;color:var(--muted)}.form-note{font-size:.8125rem;line-height:1.7;margin:20px 0 16px;color:var(--muted)}.quote-submit{font:600 .9375rem/1.4 var(--body);width:100%;cursor:pointer}.quote-submit:focus-visible,.copy-request:focus-visible{outline:3px solid #9a6ac7;outline-offset:4px}.email-help{font-size:.75rem;color:var(--muted);line-height:1.6;text-align:center;margin:12px 0 0}#quote-status{font-size:.875rem;color:var(--purple);margin:16px 0 0}#quote-status:empty{display:none}.email-fallback{margin-top:18px;border-top:1px solid var(--border);padding-top:18px}.email-fallback[hidden]{display:none}.email-fallback textarea{margin-top:9px;font-size:.875rem}.email-fallback p{font-size:.8125rem;color:var(--muted)}.email-fallback a{text-decoration:underline;overflow-wrap:anywhere;color:var(--purple)}.copy-request{border:1px solid var(--purple);color:var(--purple);background:white;border-radius:5px;padding:10px 16px;font:600 .875rem var(--body);cursor:pointer}.copy-request:hover{background:var(--lavender)}
@media(max-width:1100px){.contact-section{gap:35px;grid-template-columns:.8fr 1.2fr}.quote-panel{padding:25px}.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}}
@media(max-width:760px){.extended-area{font-size:.8125rem;padding-bottom:20px;max-width:540px}.contact-section{grid-template-columns:1fr;gap:30px}.contact-intro{padding-top:0}.contact-details{margin-top:25px;max-width:none}.quote-panel{padding:25px}.form-grid{grid-template-columns:1fr 1fr}.form-wide{grid-column:1/-1}}
@media(max-width:520px){.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.quote-panel{padding:24px 20px}}

/* Launch review: legibility, intact logos and narrow-screen reflow. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#quote-fields{border:0;margin:0;padding:0;min-width:0}
#quote-fields:disabled .quote-submit{opacity:.55;cursor:not-allowed}
.brand{height:auto;aspect-ratio:3/2;overflow:visible}
.brand img{position:static;width:100%;max-width:100%;height:auto;transform:none}
.header-inner,nav,.hero-note{flex-wrap:wrap}
.header-inner{padding-block:8px}
.hero>*,.about-inner>*,.contact-section>*,.contact-row>span{min-width:0}
.area-inner p{flex-wrap:wrap;justify-content:center}
.service-card>p,.about-copy>p,.section-heading>p,.contact-panel>p{font-size:1rem}
.button-small,.service-card>a,.text-link,.form-note,.email-help,.field-help,.service-footnote,.extended-area{font-size:.875rem}
.service-card>a{min-height:44px}
.local-bar,.eyebrow,.area-inner>span,.contact-row small,.footer-bottom{font-size:.75rem}
.service-top>span{color:var(--muted)}
.contact-row strong{overflow-wrap:anywhere}
.footer-top>a:last-child{padding-block:10px}
@media(max-width:760px){.hero-note{font-size:.8125rem}.header-inner{justify-content:center}.header-inner nav{justify-content:center}.brand{width:155px}.footer-brand{width:205px}.image-note{position:relative;left:auto;right:auto;bottom:auto;margin:-24px 14px 0}.hero-visual{padding-bottom:0}.service-grid{grid-template-columns:1fr}.service-card h3 br{display:none}.service-card{padding:25px}.service-card>p{margin-bottom:15px}}

/* Quote submission states and spam trap. */
.form-honeypot{display:none}
.quote-submit:disabled{opacity:.65;cursor:wait}
#quote-status[data-state="success"]{color:#286441}
#quote-status[data-state="error"]{color:#963c35}
