:root{--ink:#162035;--body:#526070;--muted:#697588;--green:#197950;--blue:#1f64c8;--coral:#d75c45;--soft:#f4f7f2;--line:#dce4dc;--page:#fbfaf5;color:var(--body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#f8cd5838,#0000 28rem),linear-gradient(#fbfaf5 0%,#f7faf8 48%,#fff 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--body);margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}p{line-height:1.6}.site-shell{width:min(1180px,100% - 32px);margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:24px;min-height:74px;display:flex}.brand,.trust-row,.option-grid,.time-grid{align-items:center;display:flex}.brand{color:var(--ink);cursor:pointer;font:inherit;appearance:none;background:0 0;border:0;gap:10px;padding:0;font-weight:800;text-decoration:none}.brand:hover{opacity:.9}.brand-mark{color:#fff;background:var(--ink);letter-spacing:0;border-radius:8px;place-items:center;width:38px;height:38px;font-size:.82rem;display:grid}.phone-link{color:var(--ink);font-size:.95rem;font-weight:800;text-decoration:none}.intro-screen,.questionnaire-screen,.availability-screen{min-height:calc(100svh - 74px);padding:48px 0 72px}.intro-screen{grid-template-columns:minmax(0,1fr) 330px;align-items:center;gap:56px;display:grid}.intro-copy{max-width:740px}.eyebrow{color:var(--green);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-size:.82rem;font-weight:900}.intro-copy h1,.section-heading h1{max-width:760px;color:var(--ink);margin:0;font-size:clamp(3.3rem,7vw,5.9rem);line-height:.92}.hero-text,.section-heading p,.advisor-question p{max-width:620px;color:var(--body);margin:26px 0 0;font-size:1.12rem}.primary-action,.quote-submit,.option-card,.time-button,.consent-box input{cursor:pointer;font:inherit;border:0}.primary-action,.quote-submit{color:#fff;background:var(--green);border-radius:8px;justify-content:center;align-items:center;min-height:50px;padding:0 24px;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:0 12px 24px #19795038}.intro-copy .primary-action{margin-top:34px}.trust-row{flex-wrap:wrap;gap:10px;margin:34px 0 0;padding:0;display:flex}.trust-row span{color:var(--muted);background:#ffffffe6;border:1px solid #19795029;border-radius:999px;padding:8px 12px;font-size:.9rem;font-weight:700}.intro-card,.questionnaire-panel,.availability-panel{background:#fff;border:1px solid #1620350f;border-radius:20px;box-shadow:0 24px 60px #1e304c17}.intro-card{justify-items:start;gap:14px;padding:28px;display:grid}.intro-card-badge{color:var(--green);letter-spacing:.04em;text-transform:uppercase;background:#eef8f1;border-radius:999px;align-items:center;padding:7px 11px;font-size:.78rem;font-weight:900;display:inline-flex}.intro-card strong{color:var(--ink);font-size:1.8rem;line-height:1.1}.intro-card-list{color:var(--body);gap:8px;margin:0;padding:0;font-weight:700;list-style:none;display:grid}.intro-card-list li{padding-left:16px;position:relative}.intro-card-list li:before{content:"•";color:var(--green);position:absolute;left:0}.section-heading{margin-bottom:28px}.section-meta{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.section-badge{color:var(--green);letter-spacing:.04em;text-transform:uppercase;background:#eef8f1;border-radius:999px;align-items:center;padding:6px 10px;font-size:.78rem;font-weight:900;display:inline-flex}.section-badge--muted{color:var(--muted);background:#f5f7f8}.text-link{color:var(--green);cursor:pointer;font:inherit;background:0 0;border:0;margin-bottom:12px;padding:0;font-weight:800}.section-heading .eyebrow{margin-bottom:14px}.questionnaire-panel,.availability-panel{padding:32px}.question-block{border:0;border-top:1px solid var(--line);margin:0;padding:32px 0 0}.questionnaire-panel>.question-block:first-child{border-top:0;padding-top:8px}legend,.field>span{color:var(--ink);margin-bottom:14px;font-size:1.15rem;font-weight:900;display:block}.option-grid{gap:12px;margin-top:4px;display:grid}.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.option-card{border:1px solid var(--line);min-height:58px;color:var(--ink);background:var(--soft);text-align:center;border-radius:8px;justify-content:center;align-items:center;padding:0 16px;font-weight:900;line-height:1.2;transition:box-shadow .18s,border-color .18s,background-color .18s;display:flex}.option-card:hover,.time-button:hover,.primary-action:hover,.quote-submit:hover{box-shadow:0 10px 24px #1e304c1f}.option-card.is-active,.time-button.is-active{color:#fff;background:var(--green);border-color:#1979506b;box-shadow:0 12px 24px #1979502e}.field{color:var(--ink);gap:8px;font-weight:800;display:grid}.field input{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:14px}.calculator-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.quote-summary{color:var(--ink);background:#eef8f1;border-radius:8px;grid-template-columns:1fr auto;gap:2px 16px;margin:24px 0;padding:16px;display:grid}.quote-summary span{color:var(--body);font-weight:800}.quote-summary strong{font-size:1.45rem}.quote-summary small{color:var(--green);grid-column:1/-1;font-weight:800}.advisor-question{background:#fff6de;border-radius:8px;grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:24px;margin-top:24px;padding:22px;display:grid}.advisor-question h2{color:var(--ink);margin:0;font-size:1.7rem;line-height:1.1}.advisor-question p{margin-top:8px}.consent-actions{gap:14px;display:grid}.consent-box{color:var(--ink);background:#ffffffad;border:1px solid #b365153d;border-radius:8px;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;padding:14px;font-size:.9rem;font-weight:700;line-height:1.45;display:grid}.consent-box input{width:18px;height:18px;accent-color:var(--green);margin:2px 0 0}.quote-submit{width:100%}.quote-submit:disabled{cursor:not-allowed;box-shadow:none;background:#aeb8aa}.availability-panel{gap:16px;display:grid}.slot-day{border:1px solid var(--line);background:var(--soft);border-radius:8px;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:18px;padding:18px;display:grid}.slot-day strong,.booking-summary strong{color:var(--ink);font-size:1.2rem;display:block}.slot-day span,.booking-summary span{color:var(--muted);font-weight:800}.time-grid{flex-wrap:wrap;gap:10px}.time-button{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:8px;padding:0 16px;font-weight:900;transition:transform .18s,box-shadow .18s,border-color .18s}.booking-summary{background:#eef8f1;border-radius:8px;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:16px;margin-top:8px;padding:20px;display:grid}.booking-summary small{color:var(--muted);margin-top:6px;font-weight:700;display:block}.feedback-message{color:var(--green);margin:0;font-weight:800}.admin-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:42px 0 72px}.admin-header{justify-content:space-between;align-items:end;gap:28px;margin-bottom:30px;display:flex}.admin-header h1,.admin-card h2{color:var(--ink);margin:0;line-height:1.05}.admin-header h1{font-size:clamp(2.6rem,6vw,4.8rem)}.admin-header p:not(.eyebrow){color:var(--body);margin:14px 0 0;font-size:1.05rem}.admin-header-actions{flex-wrap:wrap;gap:10px;display:flex}.secondary-action,.small-action,.danger-action{border:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;font:inherit;background:#fff;border-radius:9px;justify-content:center;align-items:center;padding:0 14px;font-size:.9rem;font-weight:900;text-decoration:none;display:inline-flex}.secondary-action:hover,.small-action:hover,.danger-action:hover:not(:disabled){background:#f7fbf8;border-color:#1979504d}.admin-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:22px;display:grid}.admin-card{background:#fff;border:1px solid #1620350f;border-radius:20px;padding:28px;box-shadow:0 24px 60px #1e304c17}.admin-login{max-width:520px;margin:11vh auto 0}.admin-login h1{color:var(--ink);margin:0;font-size:clamp(2.2rem,5vw,3.5rem)}.admin-login p:not(.eyebrow){color:var(--body);margin:14px 0 22px}.admin-card-heading{justify-content:space-between;align-items:start;gap:16px;margin-bottom:22px;display:flex}.admin-card-heading .eyebrow{margin-bottom:8px}.admin-card h2{font-size:1.7rem}.admin-count,.status-pill{color:var(--green);white-space:nowrap;background:#eef8f1;border-radius:999px;align-items:center;padding:7px 10px;font-size:.78rem;font-weight:900;display:inline-flex}.status-pill.is-booked{color:#9a5a17;background:#fff3d6}.availability-form{background:var(--soft);border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(0,.75fr) auto;align-items:end;gap:12px;margin-bottom:24px;padding:16px;display:grid}.availability-form .primary-action{min-height:48px;box-shadow:none;white-space:nowrap;padding:0 18px}.admin-slot-list,.admin-booking-list{gap:10px;display:grid}.admin-slot,.admin-booking{border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:15px;display:flex}.admin-slot strong,.admin-booking strong{color:var(--ink);font-size:1rem;display:block}.admin-slot span:not(.status-pill),.admin-booking-details span{color:var(--muted);margin-top:5px;font-size:.85rem;font-weight:700;display:block}.admin-slot .status-pill{margin-top:8px}.danger-action{color:#a13d35;background:snow}.danger-action:disabled{cursor:not-allowed;opacity:.45}.admin-booking{align-items:start}.admin-booking-details{min-width:0}.admin-booking-actions,.booking-edit-controls{flex-wrap:wrap;justify-content:end;align-items:center;gap:8px;display:flex}.booking-edit-controls select{border:1px solid var(--line);max-width:190px;min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:9px;padding:0 10px;font-size:.85rem}.booking-edit-controls .text-link{margin:0;font-size:.85rem}.admin-empty,.admin-message{color:var(--muted);background:var(--soft);border-radius:12px;margin:0;padding:16px;font-weight:700}.admin-message{color:var(--green);background:#eef8f1;margin-bottom:22px}.admin-message.is-error{color:#a13d35;background:#fff3f1}.field input:focus,.consent-box input:focus-visible,.option-card:focus-visible,.time-button:focus-visible,.primary-action:focus-visible,.quote-submit:focus-visible,.phone-link:focus-visible,.brand:focus-visible,.secondary-action:focus-visible,.small-action:focus-visible,.danger-action:focus-visible,.booking-edit-controls select:focus-visible{outline-offset:3px;outline:3px solid #1f81ff47}@media (width<=900px){.site-shell{width:min(100% - 24px,680px)}.topbar{min-height:auto;padding:18px 0}.intro-screen{grid-template-columns:1fr;gap:28px;min-height:auto;padding-top:36px}.intro-copy h1,.section-heading h1{font-size:clamp(3rem,14vw,4.5rem)}.option-grid,.calculator-grid,.advisor-question,.slot-day,.booking-summary,.admin-grid{grid-template-columns:1fr}.option-grid{display:grid}.advisor-question{gap:18px}.admin-header{flex-direction:column;align-items:start}.availability-form{grid-template-columns:1fr 1fr}.availability-form .primary-action{grid-column:1/-1}}@media (width<=520px){.phone-link{display:none}.brand{font-size:.95rem}.questionnaire-panel,.availability-panel,.admin-card{padding:18px}.admin-shell{width:min(100% - 24px,680px);padding-top:24px}.availability-form{grid-template-columns:1fr}.availability-form .primary-action{grid-column:auto}.admin-slot,.admin-booking{flex-direction:column;align-items:stretch}.admin-booking-actions,.booking-edit-controls{justify-content:start}.booking-edit-controls select{width:100%;max-width:none}.intro-copy h1,.section-heading h1{font-size:2.85rem}legend,.field>span{font-size:1rem}.quote-summary{grid-template-columns:1fr}}
