:root{--color-logo-purple:#3533cd;--color-logo-cyan:#89f1ff;--color-logo-black:#000;--color-logo-white:#fff;--color-background:#15143a;--color-background-soft:#89f1ff1a;--color-background-mute:#89f1ff29;--color-surface:#f8fdff;--color-surface-soft:#eefcff;--color-border:#89f1ff38;--color-border-hover:#89f1ff85;--color-heading:var(--color-logo-white);--color-text:#ffffffc7;--color-surface-heading:#111124;--color-surface-text:#111124c2;--color-accent:var(--color-logo-cyan);--color-accent-soft:var(--color-logo-cyan);--color-accent-contrast:var(--color-logo-black);--section-gap:160px}*,:before,:after{box-sizing:border-box;margin:0;font-weight:400}html,body{width:100%;max-width:100%;overflow-x:hidden}body{min-height:100vh;color:var(--color-text);background:var(--color-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.6;transition:color .5s,background-color .5s}#app{width:min(1120px,100% - 32px);max-width:100%;margin:0 auto;padding:24px 0 56px;font-weight:400}a{color:inherit;text-decoration:none}.app-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:24px;padding:14px 0;display:flex}.brand{color:var(--color-heading);align-items:center;gap:10px;font-weight:700;display:inline-flex}.brand-logo{object-fit:contain;border-radius:8px;width:44px;height:44px;display:block}.brand-name{font-size:1rem;font-weight:700}.main-nav{align-items:center;gap:8px;display:flex}.main-nav a{color:var(--color-text);border-radius:8px;padding:8px 12px;font-weight:600}.main-nav a:hover,.main-nav a.router-link-active{background:var(--color-background-mute);color:var(--color-accent)}.app-main{min-width:0;min-height:calc(100vh - 210px);padding-top:64px}.home-layout{grid-template-columns:minmax(0,1fr) minmax(360px,460px);align-items:start;gap:48px;min-width:0;display:grid}.home-hero{grid-template-columns:minmax(0,1fr) minmax(360px,520px);align-items:center;gap:48px;min-width:0;display:grid}.home-hero-content{min-width:0}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.secondary-hero-link{color:var(--color-accent);border-radius:8px;align-items:center;margin-top:32px;padding:12px 0;font-weight:800;display:inline-flex}.secondary-hero-link:hover{color:var(--color-logo-white)}.home-hero-image{aspect-ratio:4/3;border:1px solid var(--color-border);object-fit:cover;border-radius:8px;width:100%;box-shadow:0 18px 50px #00000038}.home-section,.home-split-section,.home-feature-band,.home-contact-section{margin-top:72px}.section-heading{max-width:740px}.section-heading p:not(.eyebrow){margin-top:16px;font-size:1.05rem}.home-services-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:32px;display:grid}.home-service-card{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-surface-text);border-radius:8px;overflow:hidden;box-shadow:0 14px 40px #0003}.home-service-card img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block}.home-service-card div{gap:12px;padding:22px;display:grid}.home-service-card h3{color:var(--color-surface-heading)}.home-service-card a{width:fit-content;color:var(--color-logo-purple);font-weight:800}.home-service-price{background:var(--color-surface-soft);width:fit-content;color:var(--color-logo-purple);border-radius:8px;padding:6px 10px;font-weight:900}.home-service-card a:hover{color:var(--color-surface-heading)}.home-split-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;min-width:0;display:grid}.home-feature-band{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-surface-text);border-radius:8px;grid-template-columns:minmax(280px,.8fr) minmax(0,1fr);align-items:center;gap:32px;padding:28px;display:grid;box-shadow:0 14px 40px #0003}.home-feature-band img,.home-image-panel img{object-fit:cover;border-radius:8px;width:100%}.home-feature-band img{aspect-ratio:16/11}.home-feature-band h2{color:var(--color-surface-heading)}.home-feature-band p:not(.eyebrow){margin-top:14px}.home-image-panel img{aspect-ratio:16/9;margin-bottom:20px}.home-contact-section{grid-template-columns:minmax(0,1fr) minmax(360px,460px);align-items:start;gap:48px;min-width:0;display:grid}.hero-section,.page-heading{max-width:760px}.eyebrow{color:var(--color-accent);letter-spacing:0;text-transform:uppercase;margin-bottom:12px;font-size:.82rem;font-weight:800}h1{color:var(--color-heading);font-size:clamp(2.1rem,6vw,4.25rem);font-weight:800;line-height:1.05}h2{color:var(--color-heading);font-size:1.15rem;font-weight:750;line-height:1.25}h3{color:var(--color-heading);font-size:.95rem;font-weight:800;line-height:1.3}.hero-copy,.page-heading p:not(.eyebrow){max-width:640px;margin-top:20px;font-size:1.1rem}.primary-link{background:var(--color-accent);color:var(--color-accent-contrast);border-radius:8px;align-items:center;margin-top:32px;padding:12px 18px;font-weight:700;display:inline-flex}.primary-link:hover{background:var(--color-logo-white);color:var(--color-logo-black)}.appointment-panel,.service-detail,.content-section,.service-card{color:var(--color-surface-text)}.appointment-panel h2,.appointment-panel h3,.appointment-panel label,.appointment-panel legend,.service-detail h2,.service-detail h3,.content-section h2,.content-section h3,.service-card h2,.service-card h3{color:var(--color-surface-heading)}.appointment-panel .eyebrow{color:var(--color-logo-purple)}.appointment-panel .primary-link{background:var(--color-logo-purple);color:var(--color-logo-white)}.appointment-panel .primary-link:hover{background:var(--color-logo-black);color:var(--color-logo-white)}.appointment-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;min-width:0;padding:28px;box-shadow:0 18px 50px #00000038}.appointment-form{gap:18px;margin-top:24px;display:grid}.appointment-form label,.appointment-form fieldset{gap:8px;display:grid}.appointment-form label,.appointment-form legend{color:var(--color-heading);font-weight:700}.appointment-form fieldset{border:0;min-width:0;padding:0}.appointment-form input,.appointment-form textarea{background:var(--color-logo-white);width:100%;color:var(--color-surface-heading);font:inherit;border:1px solid #3533cd2e;border-radius:8px;padding:11px 12px}.appointment-form input:focus,.appointment-form textarea:focus{border-color:var(--color-border-hover);outline:3px solid var(--color-background-mute)}.date-picker-field{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.date-picker-field button{background:var(--color-logo-white);color:var(--color-logo-purple);cursor:pointer;font:inherit;border:1px solid #3533cd2e;border-radius:8px;padding:11px 14px;font-weight:800}.date-picker-field button:hover,.date-picker-field button:focus{border-color:var(--color-border-hover);background:var(--color-background-mute)}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.time-option,.meeting-options label{cursor:pointer;position:relative}.time-option input,.meeting-options input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;inset:0}.time-option span,.meeting-options span{background:var(--color-logo-white);color:var(--color-surface-text);text-align:center;border:1px solid #3533cd2e;border-radius:8px;padding:10px 12px;font-weight:700;display:block}.time-option input:checked+span,.meeting-options input:checked+span{border-color:var(--color-logo-purple);background:var(--color-logo-purple);color:var(--color-logo-white)}.time-option input:focus-visible+span,.meeting-options input:focus-visible+span{outline:3px solid var(--color-background-mute)}.time-option.is-unavailable{cursor:not-allowed}.time-option.is-unavailable span,.time-option input:disabled+span{opacity:.5;text-decoration:line-through}.meeting-options{gap:10px;display:grid}.form-help,.form-status,.form-error{font-weight:700}.form-status{color:var(--color-logo-purple)}.form-error{color:#b00020}.text-button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0 0 0 6px;font-weight:800;text-decoration:underline}.form-submit{cursor:pointer;border:0;justify-content:center;margin-top:0}.form-submit:disabled{cursor:wait;opacity:.68}.services-list{gap:18px;margin-top:48px;display:grid}.service-detail{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;grid-template-columns:minmax(220px,.8fr) minmax(260px,1fr);gap:28px;min-width:0;padding:28px;display:grid;box-shadow:0 14px 40px #0003}.service-image{aspect-ratio:16/7;object-fit:cover;object-position:center;border-radius:8px;grid-column:1/-1;width:100%}.service-description{margin-top:12px}.service-prices{flex-wrap:wrap;gap:8px;margin-top:16px;padding:0;list-style:none;display:flex}.service-prices li{background:var(--color-surface-soft);color:var(--color-logo-purple);border-radius:8px;padding:7px 10px;font-size:.92rem;font-weight:900}.service-detail ul{gap:8px;margin-top:12px;padding-left:20px;display:grid}.service-detail li::marker{color:var(--color-accent)}.service-reassurance{border-left:4px solid var(--color-logo-purple);background:var(--color-surface-soft);border-radius:8px;grid-column:1/-1;padding:16px 18px}.secondary-link{width:fit-content;color:var(--color-logo-purple);border-radius:8px;grid-column:1/-1;padding:8px 0;font-weight:800}.secondary-link:hover{color:var(--color-heading)}.services-appointment{grid-template-columns:minmax(0,1fr) minmax(360px,460px);align-items:start;gap:48px;min-width:0;margin-top:64px;display:grid}.appointment-intro{max-width:580px}.appointment-intro p:not(.eyebrow){margin-top:16px;font-size:1.05rem}.service-hero{max-width:840px}.service-hero p:not(.eyebrow){max-width:720px;margin-top:22px;font-size:1.12rem}.content-sections{gap:24px;margin-top:56px;display:grid}.content-section{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;min-width:0;padding:28px;box-shadow:0 14px 40px #0003}.content-section p{margin-top:14px}.content-list,.included-grid,.process-list{margin-top:18px}.content-list{gap:10px;padding-left:20px;display:grid}.content-list li::marker{color:var(--color-accent)}.included-grid li::marker{color:var(--color-accent)}.process-list li::marker{color:var(--color-accent)}.included-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;padding-left:20px;display:grid}.process-list{gap:16px;padding-left:22px;display:grid}.process-list p{margin-top:6px}.pricing-list{gap:10px;margin-top:20px;display:grid}.pricing-list div{background:var(--color-surface-soft);border:1px solid #3533cd24;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 14px;display:grid}.pricing-list dt{color:var(--color-surface-heading);font-weight:800}.pricing-list dd{color:var(--color-logo-purple);text-align:right;font-weight:900}.website-contact-section,.about-contact-section{grid-template-columns:minmax(0,1fr) minmax(360px,460px);align-items:start;gap:48px;min-width:0;margin-top:64px;display:grid}.contact-details{color:var(--color-heading);gap:6px;margin-top:24px;font-style:normal;font-weight:700;display:grid}.contact-details a{width:fit-content;color:var(--color-accent)}.contact-details a:hover{color:var(--color-heading)}.services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px;display:grid}.service-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;min-height:190px;padding:24px;box-shadow:0 14px 40px #0003}.service-card p{margin-top:12px}.app-footer{border-top:1px solid var(--color-border);color:var(--color-text);justify-content:space-between;align-items:center;gap:24px;margin-top:72px;padding-top:24px;display:flex}.footer-identity{grid-template-columns:auto 1fr;align-items:center;column-gap:12px;display:grid}.footer-identity p:last-child{grid-column:2}.footer-logo{object-fit:contain;border-radius:8px;grid-row:span 2;width:40px;height:40px}.footer-brand{color:var(--color-heading);font-weight:800}.app-footer a{color:var(--color-accent);border-radius:8px;padding:8px 0;font-weight:700}.app-footer a:hover{color:var(--color-heading)}@media (width<=860px){.home-layout,.home-hero,.home-services-grid,.home-split-section,.home-feature-band,.home-contact-section,.service-detail,.services-appointment,.website-contact-section,.about-contact-section,.included-grid{grid-template-columns:1fr}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){#app{width:min(100% - 24px,1120px);padding-top:12px}.app-header{flex-direction:column;align-items:flex-start}.main-nav{width:100%}.main-nav a{text-align:center;flex:1}.app-main{padding-top:40px}.app-footer{flex-direction:column;align-items:flex-start;margin-top:56px}.services-grid{grid-template-columns:1fr}.appointment-panel{padding:20px}.service-detail{gap:20px;padding:20px}.service-image{aspect-ratio:16/10}.pricing-list div{grid-template-columns:1fr;gap:4px}.pricing-list dd{text-align:left}.form-row,.time-grid,.date-picker-field{grid-template-columns:1fr}.service-card{min-height:0}}
