
    *{box-sizing:border-box}
    :root{--forest:#0b4b3a;--deep:#052c24;--ink:#173f33;--muted:#5a7468;--caramel:#a86643;--sage:#d4e4da;--white:#fbfdfb}
    html{min-height:100%;background:#031c17}
    body{margin:0;min-height:100vh;padding:18px 11px 52px;font-family:"Avenir Next","SF Pro Rounded",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eef7f2;background:radial-gradient(circle at 98% 1%,rgba(93,191,152,.35),transparent 27rem),radial-gradient(circle at -12% 44%,rgba(168,102,65,.14),transparent 25rem),linear-gradient(180deg,#06271f,#0a4335 54%,#031b16)}
    body:before{content:"";position:fixed;right:-98px;top:-74px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(114,218,176,.30),rgba(44,121,94,.12) 50%,transparent 73%);filter:blur(15px);pointer-events:none}
    .reviews{display:grid;justify-items:end;gap:2px}.review-stars{display:flex;gap:1px;color:#f6c84f;font-size:12px;line-height:1;letter-spacing:.015em;text-shadow:0 1px 7px rgba(246,200,79,.18)}.review-meta{color:#c2d9ce;font-size:9px;font-weight:800;line-height:1.1;letter-spacing:.035em}
    button,input,textarea{font:inherit}.shell{position:relative;width:min(820px,100%);margin:auto;z-index:1}#details-view{width:min(720px,100%);margin-right:auto;margin-left:auto}.top{display:flex;align-items:center;justify-content:space-between;margin:0 5px 22px}.brand{display:inline-flex;align-items:center;padding:8px 13px;border:1px solid rgba(224,241,232,.25);border-radius:999px;background:rgba(3,43,34,.65);font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;box-shadow:inset 0 1px rgba(255,255,255,.09);backdrop-filter:blur(18px)}.brand b{margin-left:7px;color:#b97952}.secure{display:flex;align-items:center;gap:7px;color:#b5d0c4;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.secure:before{content:"";width:8px;height:8px;border-radius:50%;background:#71e4a7;box-shadow:0 0 0 4px rgba(113,228,167,.12)}
    .hero{text-align:center;max-width:620px;margin:0 auto 20px}.eyebrow{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(223,239,231,.18);border-radius:999px;background:rgba(4,48,38,.62);color:#c4d9cf;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:#73dfa7}.hero h1{margin:13px 0 8px;font-size:clamp(32px,8vw,48px);line-height:1.02;letter-spacing:-.05em}.hero h1 em{color:#b97952;font-style:normal}.hero p{max-width:520px;margin:auto;color:#b4cec3;font-size:15px;line-height:1.55}
    .view{display:none;animation:enter .42s cubic-bezier(.2,.82,.24,1)}.view.active{display:block}@keyframes enter{from{opacity:0;transform:translateY(12px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
    .glass{border:1px solid rgba(232,244,237,.62);background:linear-gradient(105deg,rgba(210,227,217,.96) 0%,rgba(176,201,188,.93) 70%,rgba(137,175,156,.90) 100%);color:var(--ink);box-shadow:0 22px 56px rgba(0,19,13,.32),inset 0 1px rgba(255,255,255,.72);backdrop-filter:blur(30px) saturate(122%)}
    .service-panel{padding:16px;border-radius:24px}.service-list{display:grid;gap:11px}.service{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) 32px;align-items:center;gap:14px;width:100%;min-height:124px;padding:15px;border:1px solid rgba(53,101,81,.28);border-radius:20px;background:rgba(238,246,240,.76);color:var(--ink);text-align:left;cursor:pointer;transition:.2s}.service:hover,.service:focus-visible{transform:translateY(-2px);border-color:#a86643;background:#fff;box-shadow:0 14px 28px rgba(23,75,55,.12)}.service-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:rgba(255,255,255,.76);box-shadow:inset 0 1px #fff;color:#1d7659}.service:nth-child(2) .service-icon{color:#3d7896;background:rgba(208,237,246,.62)}.service:nth-child(3) .service-icon{color:#a86643;background:rgba(241,219,205,.62)}.service-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.service-copy small{display:block;color:#6a8176;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.service-copy .new-badge{position:absolute;top:11px;right:11px;display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border:1px solid rgba(168,102,67,.25);border-radius:999px;background:rgba(255,247,241,.72);color:#91583b;font-size:8.5px;line-height:1;letter-spacing:.1em;box-shadow:inset 0 1px rgba(255,255,255,.68)}.service-copy strong{display:block;margin:3px 0;color:#153f31;font-size:18px;letter-spacing:-.02em}.service-copy span{display:block;color:#587166;font-size:12px;line-height:1.42}.service-copy b{display:inline-flex;margin-top:7px;padding:5px 9px;border-radius:999px;background:rgba(168,102,67,.12);color:#895238;font-size:10px}.arrow{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(25,83,62,.09);font-size:20px}
    .back{display:inline-flex;align-items:center;gap:6px;width:max-content;margin:0 0 10px;padding:6px 10px 6px 7px;border:1px solid rgba(222,239,231,.22);border-radius:999px;background:rgba(3,45,35,.58);color:#d7e9e0;font-size:11px;font-weight:850;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(16px)}.back-arrow{display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:rgba(168,102,67,.18);color:#e0ac88;font-size:18px;line-height:1}.back:hover,.back:focus-visible{border-color:rgba(192,126,86,.48);background:rgba(7,59,46,.78)}.selected{display:flex;align-items:center;gap:7px;width:max-content;max-width:100%;margin:0 auto 13px;padding:5px 10px 5px 6px;border:1px solid rgba(225,240,233,.24);border-radius:999px;background:rgba(3,45,35,.64);color:#d5e8df;font-size:11px;font-weight:850;box-shadow:inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(18px)}.selected-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(214,236,225,.13);color:#76c7a5}.selected-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.selected[data-kind="virtual"] .selected-icon{background:rgba(164,210,230,.14);color:#8fc6df}.selected[data-kind="in-person"] .selected-icon{background:rgba(222,174,143,.14);color:#deb18f}.selected b{color:#edf8f3}.details-head{text-align:center;margin:4px auto 19px}.details-head h2{margin:0;font-size:29px;letter-spacing:-.04em}.details-head h2 em{color:#c27b51;font-style:normal}.details-head p{margin:6px auto 0;color:#b2cdc1;font-size:14px}.sections{display:grid;gap:17px}.section{padding:21px;border-radius:24px}.section-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:18px}.step{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid rgba(255,255,255,.52);border-radius:15px;background:rgba(245,249,246,.70);color:var(--caramel);font-size:18px;font-weight:950;box-shadow:inset 0 1px #fff,0 8px 18px rgba(31,82,62,.08)}.section-head h3{margin:1px 0 4px;font-size:23px;line-height:1.12;letter-spacing:-.03em}.section-head p{margin:0;color:#567166;font-size:13px;line-height:1.45}
    .consultation-pill{margin:0 auto 13px}.consultation-pill b{color:inherit;font:inherit;letter-spacing:inherit}.consultation-icon{display:inline-grid;place-items:center;margin-left:1px;color:#f3c958}.consultation-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.consultation-pill[data-kind="virtual"] .consultation-icon{color:#72c4ec}.consultation-pill[data-kind="in-person"] .consultation-icon{color:#ed945d}.title-row{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center}.title-row .back{display:grid;place-items:center;width:32px;height:32px;margin:0;padding:0;border-radius:999px}.title-row .back-arrow{width:auto;height:auto;border-radius:0;background:transparent}.title-spacer{width:34px}
    .fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field{display:grid;gap:6px}.field.full{grid-column:1/-1}.field label{color:#31594b;font-size:12px;font-weight:850}.control{position:relative;border-radius:15px;background:#fff;isolation:isolate}.control svg{position:absolute;z-index:2;left:9px;top:50%;width:30px;height:30px;padding:5px;transform:translateY(-50%);border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 22%,transparent);border-radius:10px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;box-shadow:inset 0 1px rgba(255,255,255,.45)}.control-name svg{color:#23775e;background:rgba(70,160,124,.12)}.control-email svg{color:#477b96;background:rgba(75,137,165,.12)}.control-phone svg{color:#9a6548;background:rgba(174,111,74,.13)}.control-address svg{color:#77618d;background:rgba(119,97,141,.12)}.control input,.field textarea{width:100%;border:1px solid rgba(81,119,102,.34);border-radius:15px;background:#fff!important;color:#6f887e;outline:0;-webkit-appearance:none;appearance:none;background-clip:padding-box;color-scheme:light}.control input{height:52px;padding:0 14px 0 49px;font-size:15px;font-weight:450;letter-spacing:.005em}.control input:not(:placeholder-shown),.control input:focus,.control input:active{background:#fff!important}.control input:-webkit-autofill,.control input:-webkit-autofill:hover,.control input:-webkit-autofill:focus,.control input:-webkit-autofill:active{-webkit-background-clip:text!important;background-clip:text!important;-webkit-box-shadow:0 0 0 1000px #fff inset!important;box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:#6f887e!important;caret-color:#6f887e!important;background-color:transparent!important;color:#6f887e!important;filter:none!important;transition:background-color 999999s ease-out 0s!important}.control input:autofill{background-clip:text!important;box-shadow:0 0 0 1000px #fff inset!important;background-color:transparent!important;color:#6f887e!important}.control.has-action input{padding-right:55px}.cc-add{position:absolute;z-index:3;right:8px;top:50%;display:grid;place-items:center;min-width:38px;height:34px;padding:0 8px;transform:translateY(-50%);border:1px solid rgba(71,123,150,.24);border-radius:11px;background:rgba(222,238,244,.72);color:#477b96;font-size:10px;font-weight:900;letter-spacing:.06em;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.72)}.cc-add[aria-expanded="true"]{border-color:rgba(168,102,67,.28);background:rgba(248,231,219,.72);color:#92593b}.cc-field{display:none;grid-column:1/-1}.cc-field.on{display:grid;animation:ccIn .24s ease-out}@keyframes ccIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.field textarea{min-height:95px;padding:13px;font-size:15px;font-weight:450;resize:vertical}.control input:focus,.field textarea:focus{border-color:#a86643;box-shadow:0 0 0 3px rgba(168,102,67,.09);background:#fff!important}.control input::placeholder,.field textarea::placeholder{color:#91a49b;font-weight:450}
    .timing-grid,.brands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.timing{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:11px;min-height:116px;padding:14px;border:1px solid rgba(70,111,93,.31);border-radius:19px;background:rgba(225,237,229,.82);color:#315c4c;text-align:left;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.65)}.timing[aria-checked="true"],.brand-option[aria-selected="true"]{border-color:#a86643;background:#fff;box-shadow:0 0 0 3px rgba(168,102,67,.10),0 12px 26px rgba(33,82,63,.09)}.timing-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:rgba(245,250,246,.74);color:#25846a}.timing:nth-child(2) .timing-icon{color:#8c57b0}.timing:nth-child(3) .timing-icon{color:#4b9a72}.timing-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.timing strong{display:block;color:#183f33;font-size:15px;line-height:1.18}.timing small{display:block;margin-top:6px;color:#5e776c;font-size:11px;line-height:1.38}.rush{grid-template-columns:minmax(0,1fr) auto}.switch{display:flex;align-items:center;width:52px;height:31px;padding:3px;border-radius:999px;background:#9f9d89}.switch i{width:25px;height:25px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(25,53,42,.2);transition:.2s}.rush[aria-checked="true"] .switch{background:#a86643}.rush[aria-checked="true"] .switch i{transform:translateX(21px)}.date-wrap{display:none;position:relative;width:min(230px,70%);margin:20px auto 2px;text-align:center}.date-wrap.on{display:grid;gap:7px}.date-wrap label{color:#587368;font-size:9px;font-weight:850;letter-spacing:.075em;text-transform:uppercase}.date-trigger{display:grid;grid-template-columns:29px minmax(0,1fr) 16px;align-items:center;gap:6px;width:100%;min-height:44px;padding:0 10px;border:1px solid rgba(92,130,111,.34);border-radius:14px;background:linear-gradient(108deg,rgba(246,251,247,.92),rgba(219,235,225,.88));color:#58766a;text-align:left;cursor:pointer;box-shadow:0 8px 18px rgba(20,66,49,.09),inset 0 1px rgba(255,255,255,.9);transition:.18s}.date-trigger:hover,.date-trigger[aria-expanded="true"]{border-color:rgba(168,102,67,.62);background:linear-gradient(108deg,#fbfdfb,#e6f0e9);box-shadow:0 0 0 3px rgba(168,102,67,.09),0 10px 21px rgba(20,66,49,.10)}.date-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(11,75,58,.10);color:#1b684f}.date-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.date-copy{font-size:13px;font-weight:550;letter-spacing:.005em}.date-copy.empty{color:#8ba097;font-weight:480}.date-chevron{color:#98705c;font-size:15px;transform:rotate(90deg)}.calendar-pop{display:none;position:absolute;z-index:30;right:auto;bottom:calc(100% + 9px);left:50%;width:min(342px,94vw);padding:15px;transform:translateX(-50%);border:1px solid rgba(230,243,235,.82);border-radius:21px;background:linear-gradient(126deg,#dcebe2,#a9c9b8);box-shadow:0 25px 60px rgba(0,30,21,.30),inset 0 1px #fff;backdrop-filter:none;-webkit-backdrop-filter:none;text-align:left}.calendar-pop.on{display:block;animation:calIn .22s ease-out}@keyframes calIn{from{opacity:0;transform:translate(-50%,5px) scale(.98)}to{opacity:1;transform:translate(-50%,0) scale(1)}}.cal-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;margin-bottom:12px}.cal-head strong{text-align:center;color:#345f50;font-size:15px;font-weight:750}.cal-nav{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(68,108,90,.18);border-radius:12px;background:rgba(248,251,249,.56);color:#416b5b;font-size:21px;cursor:pointer}.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-week span{text-align:center;color:#6a8177;font-size:9px;font-weight:850;text-transform:uppercase}.cal-grid{margin-top:5px}.cal-day{aspect-ratio:1;border:0;border-radius:11px;background:transparent;color:#527065;font-size:13px;font-weight:600;cursor:pointer}.cal-day:hover{background:rgba(255,255,255,.54)}.cal-day.out{opacity:.26;pointer-events:none}.cal-day.today{box-shadow:inset 0 0 0 1px rgba(168,102,67,.55);color:#8d5538}.cal-day.selected{background:#155640;color:#fff;box-shadow:0 6px 14px rgba(10,67,48,.22)}
    .brand-option{display:flex;align-items:center;gap:12px;min-height:76px;padding:11px 13px;border:1px solid rgba(70,111,93,.31);border-radius:18px;background:rgba(225,237,229,.82);color:#244f40;font-size:13px;font-weight:900;text-align:left;cursor:pointer}.mark{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid rgba(59,100,82,.17);border-radius:14px;background:rgba(255,255,255,.69);font-size:12px}.brand-option[data-brand="sw"] .mark{color:#536f7c}.brand-option[data-brand="bm"] .mark{color:#825d56}.brand-option[data-brand="fb"] .mark{color:#6f6178}.brand-option[data-brand="help"] .mark{color:#39725a;font-size:22px}.grades{display:grid;gap:9px;margin-top:12px}.grade{display:none;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:10px;min-height:66px;padding:11px 13px;border:1px solid rgba(71,111,94,.28);border-radius:16px;background:rgba(232,241,234,.76);color:#31574a;text-align:left;cursor:pointer}.grade.visible{display:grid}.grade[aria-checked="true"]{border-color:#a86643;background:#fff}.grade strong{font-size:13px;text-transform:uppercase}.grade small{display:block;margin-top:3px;color:#6b8076;font-size:10px}.tier{padding:5px 8px;border-radius:999px;background:rgba(38,97,75,.10);font-size:8px;font-weight:900;text-transform:uppercase}.dot{width:18px;height:18px;border:2px solid #81958b;border-radius:50%}.grade[aria-checked="true"] .dot{border-color:#a86643;background:radial-gradient(circle,#a86643 0 42%,transparent 46%)}
    .date-trigger{grid-template-columns:29px minmax(0,1fr) 29px}.date-copy{text-align:center}.date-chevron{display:grid;place-items:center}
    .sections>.section:nth-child(2){position:relative;z-index:5}.date-trigger{outline:0!important;-webkit-tap-highlight-color:transparent}.date-trigger:focus,.date-trigger:focus-visible{outline:0!important}.calendar-scrim{display:none;position:fixed;z-index:990;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(2,28,22,.14);backdrop-filter:none;-webkit-backdrop-filter:none}.actions{display:flex;justify-content:flex-end;margin-top:17px}.primary{min-height:54px;padding:0 22px;border:0;border-radius:16px;background:linear-gradient(135deg,#164e3d,#28745a);color:#fff;font-size:13px;font-weight:900;cursor:pointer;box-shadow:0 14px 28px rgba(11,58,43,.26)}.privacy{margin:15px 20px 0;text-align:center;color:#99b9ab;font-size:10px;line-height:1.5}
    @media(max-width:560px){body{padding:15px 5px 44px}.hero p{font-size:13px}.service-panel{padding:10px}.service{grid-template-columns:50px minmax(0,1fr) 28px;min-height:121px;padding:12px;gap:11px}.service-icon{width:50px;height:50px}.service-copy strong{font-size:16px}.service-copy span{font-size:11px}#details-view{width:95%}.section{padding:16px;border-radius:22px}.section-head h3{font-size:20px}.section-head p{font-size:11.5px}.step{flex-basis:40px;width:40px;height:40px;font-size:16px}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.control input,.field textarea{font-size:16px;transform:none!important;touch-action:manipulation}.control input:focus,.field textarea:focus{transform:none!important}.name-field{order:1}.email-field{order:2}.cc-field{order:3}.mobile-field{order:4}.address-field{order:5}.timing{min-height:108px;padding:11px;grid-template-columns:41px minmax(0,1fr);gap:9px}.timing-icon{width:39px;height:39px}.timing strong{font-size:13px}.timing small{font-size:10px}.rush{grid-template-columns:minmax(0,1fr) auto}.brand-option{min-height:70px;padding:9px;font-size:11.5px;gap:9px}.mark{flex-basis:38px;width:38px;height:38px}.details-head h2{font-size:26px}.calendar-scrim.on{display:block}.calendar-pop{position:fixed;z-index:1000;top:50%;right:auto;bottom:auto;left:50%;width:min(320px,calc(100vw - 28px));padding:13px;transform:translate(-50%,-50%);border-radius:22px;box-shadow:0 28px 72px rgba(0,24,17,.42),inset 0 1px #fff}.calendar-pop.on{animation:calMobileIn .24s cubic-bezier(.2,.82,.24,1)}.cal-head{margin-bottom:9px}.cal-nav{width:34px;height:34px}.cal-grid{gap:3px}.cal-day{height:38px;aspect-ratio:auto;border-radius:10px}@keyframes calMobileIn{from{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}}
    @media(min-width:561px){#service-view{width:min(720px,100%);margin-right:auto;margin-left:auto}.review-stars{font-size:14px}.review-meta{font-size:10.3px}}
    @media(max-width:560px){#details-view .sections>.section:first-child .control input{height:49px;color:#6f887e!important;font-weight:450!important;-webkit-text-fill-color:#6f887e!important}#details-view .sections>.section:first-child .control input:-webkit-autofill,#details-view .sections>.section:first-child .control input:-webkit-autofill:hover,#details-view .sections>.section:first-child .control input:-webkit-autofill:focus,#details-view .sections>.section:first-child .control input:-webkit-autofill:active{-webkit-text-fill-color:#6f887e!important;color:#6f887e!important;font-weight:450!important}}
    @media(max-width:560px){#service-view{width:95%;margin-right:auto;margin-left:auto}}
    /* Page 3 + conditional appointment design. Pages 1 and 2 remain frozen. */
    .conditional-section[hidden]{display:none!important}.appointment-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.appointment-day{min-height:68px;padding:9px 5px;border:1px solid rgba(69,109,91,.27);border-radius:16px;background:rgba(238,246,240,.72);color:#315b4b;text-align:center;cursor:pointer;transition:.2s}.appointment-day span{display:block;color:#71887d;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.appointment-day strong{display:block;margin-top:3px;font-size:19px}.appointment-day small{display:block;margin-top:1px;color:#70877c;font-size:9px}.appointment-day[aria-pressed="true"]{border:2px solid var(--caramel);background:#fff;box-shadow:0 8px 18px rgba(35,82,64,.10)}.appointment-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px}.appointment-time{min-height:46px;padding:7px;border:1px solid rgba(69,109,91,.27);border-radius:14px;background:rgba(238,246,240,.72);color:#315b4b;font-size:11px;font-weight:850;cursor:pointer}.appointment-time[aria-pressed="true"]{border:2px solid var(--caramel);background:#fff;color:#75482f;box-shadow:0 8px 18px rgba(35,82,64,.10)}.appointment-note{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.38);color:#557066;font-size:10px;line-height:1.35}.appointment-note svg{flex:0 0 18px;width:18px;height:18px;fill:none;stroke:#41856c;stroke-width:1.8}.section.attention{animation:attention .6s ease}@keyframes attention{0%,100%{transform:none}35%{transform:translateY(-3px);box-shadow:0 0 0 4px rgba(168,102,67,.18),0 22px 56px rgba(0,19,13,.32)}}
    #confirmation-view,#quote-view{width:min(720px,100%);margin-right:auto;margin-left:auto}.final-head{text-align:center;margin:4px auto 20px}.final-head h2{margin:11px 0 5px;font-size:clamp(30px,8vw,44px);line-height:1.02;letter-spacing:-.045em}.final-head h2 em{color:#c27b51;font-style:normal}.final-head p{max-width:480px;margin:auto;color:#b8d0c5;font-size:13px;line-height:1.5}.paint-celebration{position:relative;width:min(390px,90%);height:122px;margin:0 auto 18px;overflow:hidden}.paint-track{position:absolute;left:5%;right:5%;top:55px;height:28px;border-radius:999px;background:linear-gradient(90deg,#8fbca7,#5e9f81,#b97952);transform-origin:left;animation:paintGrow 1.05s .12s both cubic-bezier(.2,.78,.25,1)}.paint-track:after{content:"";position:absolute;inset:3px 8px auto;height:7px;border-radius:999px;background:rgba(255,255,255,.30)}.paint-roller{position:absolute;z-index:2;left:5%;top:23px;width:58px;height:58px;animation:rollerMove 1.05s .12s both cubic-bezier(.2,.78,.25,1)}.paint-roller svg{width:100%;height:100%;fill:none;stroke:#f1faf5;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 6px 9px rgba(0,25,17,.18))}.paint-check{position:absolute;z-index:3;left:50%;top:38px;display:grid;place-items:center;width:58px;height:58px;transform:translateX(-50%) scale(.4);border:1px solid rgba(255,255,255,.76);border-radius:50%;background:#f7fbf8;color:#185b45;font-size:27px;font-weight:900;box-shadow:0 14px 28px rgba(2,37,26,.24);animation:checkIn .52s 1.05s both cubic-bezier(.2,1.5,.4,1)}.paint-speck{position:absolute;width:8px;height:8px;border-radius:50%;background:#dfaa81;opacity:0}.paint-speck.s1{left:20%;top:26px;animation:speck 1.8s 1s infinite}.paint-speck.s2{right:18%;top:20px;width:6px;height:6px;background:#73c29f;animation:speck 1.9s 1.15s infinite}.paint-speck.s3{right:30%;top:92px;width:5px;height:5px;animation:speck 1.6s 1.25s infinite}@keyframes paintGrow{from{transform:scaleX(.04);opacity:.25}to{transform:scaleX(1);opacity:1}}@keyframes rollerMove{from{transform:translateX(0) rotate(-5deg)}to{transform:translateX(275px) rotate(4deg)}}@keyframes checkIn{to{transform:translateX(-50%) scale(1)}}@keyframes speck{0%{opacity:0;transform:translateY(5px) scale(.7)}35%,65%{opacity:.9}100%{opacity:0;transform:translateY(-12px) scale(1.15)}}
    .confirmation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.confirm-card{min-height:112px;padding:16px;border:1px solid rgba(237,247,241,.61);border-radius:20px;background:linear-gradient(125deg,rgba(227,239,232,.93),rgba(175,203,189,.90));color:#174436;box-shadow:0 14px 32px rgba(0,26,18,.19),inset 0 1px rgba(255,255,255,.74)}.confirm-card.wide{grid-column:1/-1}.confirm-label{display:flex;align-items:center;gap:7px;color:#6a7f75;font-size:8px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.confirm-label svg{width:17px;height:17px;fill:none;stroke:#a86643;stroke-width:1.8}.confirm-card strong{display:block;margin-top:10px;font-size:17px;line-height:1.2}.confirm-card p{margin:5px 0 0;color:#5b7469;font-size:11px;line-height:1.4}.final-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.secondary{min-height:52px;border:1px solid rgba(226,241,233,.30);border-radius:16px;background:rgba(5,55,43,.72);color:#dcece4;font-size:12px;font-weight:850;cursor:pointer}.confirmation-ref{margin-top:14px;text-align:center;color:#8fb3a3;font-size:9px;letter-spacing:.06em}.quote-start{padding:18px;border-radius:25px}.quote-room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quote-room{display:grid;grid-template-columns:38px 1fr 26px;align-items:center;gap:9px;min-height:72px;padding:11px;border:1px solid rgba(67,108,89,.27);border-radius:17px;background:rgba(237,246,240,.76);color:#255241;text-align:left;font-size:11px;font-weight:900;letter-spacing:.035em;cursor:pointer}.quote-room svg{width:27px;height:27px;fill:none;stroke:#367d62;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.quote-room i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#155740;color:#d9a47e;font-size:18px;font-style:normal}.quote-room[aria-pressed="true"]{border:2px solid var(--caramel);background:#fff}.quote-room[aria-pressed="true"] i{background:#a86643;color:#fff}.quote-start-copy{text-align:center;margin-bottom:16px}.quote-start-copy h3{margin:0;color:#173f33;font-size:24px;letter-spacing:-.035em}.quote-start-copy p{margin:5px auto 0;color:#5b7469;font-size:12px}.quote-basket{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding:11px 13px;border-radius:16px;background:rgba(7,67,51,.12);color:#275846;font-size:11px}.quote-basket strong{color:#854f34}.quote-basket .primary{min-height:44px;padding:0 15px}.flow-hidden{display:none!important}
    @media(max-width:560px){#confirmation-view,#quote-view{width:95%}.appointment-days{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.appointment-times{grid-template-columns:repeat(2,minmax(0,1fr))}.confirmation-grid{grid-template-columns:1fr}.confirm-card.wide{grid-column:auto}.final-actions{grid-template-columns:1fr}.paint-celebration{height:108px}.paint-track{top:49px}.paint-roller{top:18px}.paint-check{top:32px}@keyframes rollerMove{from{transform:translateX(0) rotate(-5deg)}to{transform:translateX(calc(100vw - 150px)) rotate(4deg)}}.quote-room-grid{grid-template-columns:1fr}}
    @media(prefers-reduced-motion:reduce){.paint-track,.paint-roller,.paint-check,.paint-speck{animation:none!important}.paint-check{transform:translateX(-50%) scale(1)}}
    /* Separate project timing from consultation scheduling, and compact the latter. */
    #project-timing-section .section-head{margin-bottom:14px}#project-timing-section .section-head p strong{color:#7d4d34;font-weight:900}.appointment-kicker{display:inline-flex;align-items:center;gap:6px;margin-bottom:5px;padding:4px 8px;border-radius:999px;background:rgba(60,126,157,.11);color:#3d7590;font-size:8px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.appointment-kicker:before{content:"";width:6px;height:6px;border-radius:50%;background:#5ba8cb}.conditional-section[data-kind="in-person"] .appointment-kicker{background:rgba(168,102,67,.11);color:#885036}.conditional-section[data-kind="in-person"] .appointment-kicker:before{background:#c17b52}.appointment-picker-head{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;margin:-2px 0 8px}.appointment-picker-head strong{text-align:center;color:#345d4d;font-size:12px}.appointment-nav{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid rgba(67,108,89,.20);border-radius:10px;background:rgba(249,252,250,.55);color:#4a705f;font-size:18px;cursor:pointer}.appointment-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.appointment-day{min-height:50px;padding:6px 2px;border-radius:11px}.appointment-day span{font-size:7px}.appointment-day strong{margin-top:1px;font-size:15px}.appointment-day small{font-size:7px}.appointment-times{gap:6px;margin-top:9px}.appointment-time{min-height:40px;padding:5px;border-radius:11px;font-size:10px}.appointment-note{margin-top:9px;padding:8px 10px}.appointment-day[aria-pressed="true"],.appointment-time[aria-pressed="true"]{border-width:1.5px}.conditional-section#appointment-section{padding-top:16px;padding-bottom:16px}.conditional-section#appointment-section .section-head{margin-bottom:11px}.conditional-section#appointment-section .section-head p{font-size:11px}.conditional-section#appointment-section .step{flex-basis:39px;width:39px;height:39px;font-size:15px}
    @media(max-width:560px){.appointment-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.appointment-times{grid-template-columns:repeat(3,minmax(0,1fr))}.appointment-day{min-height:47px}.conditional-section#appointment-section{padding:13px}.appointment-note{font-size:9px}}
  
/* Native booking behavior: invisible security, live data, and accessibility states. */
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
button:focus-visible,.control input:focus-visible,.field textarea:focus-visible{outline:3px solid #a86643;outline-offset:2px}
.appointment-day:disabled{opacity:.3;cursor:not-allowed}
.primary[aria-busy="true"]{cursor:wait}
.control input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#a86643;box-shadow:0 0 0 3px rgba(168,102,67,.12)}
@media(prefers-reduced-motion:reduce){.view,.cc-field.on,.section.attention{animation:none!important;scroll-behavior:auto!important}}
/* Blocked-date status (Slice 3B-1) — additions only, kept AFTER the Native
   booking behavior marker so the approved design prefix stays byte-stable.
   "Fully booked" is a deliberate warm amber (--caramel) day card: the status
   line must read at full strength instead of washing out under the generic
   .appointment-day:disabled opacity, while the weekday/number stay visibly
   muted. "Unavailable" keeps the quieter generic disabled treatment. */
.appointment-day.day-blocked--fully-booked{opacity:1;border-color:rgba(168,102,67,.42);background:rgba(247,240,233,.82)}
.appointment-day.day-blocked--fully-booked span{color:#8f9a93;opacity:.6}
.appointment-day.day-blocked--fully-booked strong{color:#8f9a93;opacity:.6}
.appointment-day.day-blocked--fully-booked small{color:var(--caramel);font-weight:900;letter-spacing:.02em;text-transform:uppercase;font-size:8px}
.appointment-day.day-blocked--unavailable small{letter-spacing:.02em}
/* Slice A owner contact line — CSP forbids inline styles (style-src 'self'). */
.appointment-note-contact{display:block;margin-top:3px}
.appointment-note-contact a{color:inherit;font-weight:850}
/* Manage page (Slice 1 2026-09-02) — additions only, kept AFTER the Native
   booking behavior marker so the approved design prefix stays byte-stable.
   The manage surface reuses the booking glass primitives (.view visibility
   law, .section glass, hero, confirmation-grid/confirm-card, final-actions,
   appointment-note, primary/secondary); below is ONLY what booking never
   needed: manage width, status/danger variants, the reschedule slot list,
   the cancel dialog, and centered result states. Danger is the existing
   copper family carried to its red pole so destructive actions read
   unmistakably red while staying in the page's warm register. */
#manage-app{max-width:560px}
#manage-app .hero{margin-bottom:14px}
.noscript{margin:24px auto;max-width:520px;text-align:center;color:#dcece4;font-size:13px}
.appointment-summary{font-size:20px;letter-spacing:-.01em}
.appointment-meta{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.meta-pill{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid rgba(53,101,81,.24);border-radius:999px;background:rgba(238,246,240,.76);color:#31594b;font-size:10px;font-weight:850;letter-spacing:.02em}
.inline-status{margin:12px 0 0;padding:9px 12px;border-radius:12px;background:rgba(238,246,240,.72);color:#31594b;font-size:11px;line-height:1.45}
.inline-status[hidden]{display:none}
.inline-status[data-tone="loading"]{background:rgba(208,237,246,.5);color:#3d7896}
.inline-status[data-tone="success"]{background:rgba(38,97,75,.12);color:#1b684f}
.inline-status[data-tone="error"]{border:1px solid rgba(160,53,38,.22);background:rgba(160,53,38,.10);color:#8c3423}
.danger{min-height:52px;padding:0 18px;border:0;border-radius:16px;background:linear-gradient(135deg,#7a2418,#a03526);color:#fff;font-size:12px;font-weight:900;cursor:pointer;box-shadow:0 12px 24px rgba(122,36,24,.24)}
.primary:disabled,.secondary:disabled,.danger:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;pointer-events:none}
[aria-busy="true"]{cursor:progress}
.final-actions.solo{grid-template-columns:1fr}
.primary-link{display:grid;place-items:center;text-decoration:none}
.manage-review{display:grid;gap:3px;margin:0 0 12px;color:#587166;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.manage-review strong{color:#153f31;font-size:14px;letter-spacing:0;text-transform:none}
.option-fieldset{margin:12px 0 0;padding:0;border:0}
.field-error{margin:10px 0 0;min-height:1em;color:#8c3423;font-size:11px;font-weight:700}
.result-card{text-align:center}
.result-card .result-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto;border-radius:18px;background:rgba(255,255,255,.76);box-shadow:inset 0 1px #fff;color:#1d7659;font-size:24px;font-weight:900}
.result-card .result-copy{margin:7px auto 0;max-width:40ch;color:#587166;font-size:12px;line-height:1.5}
.result-card .inline-status{display:inline-block}
.result-card[data-tone="error"] .result-icon{background:rgba(160,53,38,.10);color:#8c3423}
.result-card[data-tone="rescheduled"] .result-icon{background:rgba(38,97,75,.12);color:#1b684f}
.result-card[data-tone="cancelled"] .result-icon{background:rgba(160,53,38,.12);color:#8c3423}
.status-badge{display:block;margin:0 0 12px;padding:8px 12px;border:1px solid rgba(160,53,38,.32);border-radius:12px;background:rgba(160,53,38,.12);color:#8c3423;font-size:11px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.status-badge[hidden]{display:none}
.status-badge--ok{border-color:rgba(38,97,75,.32);background:rgba(38,97,75,.12);color:#1b684f}
#manage-book-link,#manage-retry,#manage-return{grid-column:1/-1}
.confirm-dialog{width:min(360px,calc(100vw - 32px));padding:0;border:1px solid rgba(237,247,241,.5);border-radius:22px;background:linear-gradient(155deg,#f2f8f4,#dcebe2);color:var(--ink);box-shadow:0 28px 72px rgba(0,24,17,.4)}
.confirm-dialog::backdrop{background:rgba(3,27,22,.55);backdrop-filter:blur(3px)}
.dialog-body{padding:20px}
.dialog-body h2{margin:0;font-size:19px;color:#153f31}
.dialog-body p{margin:8px 0 0;color:#587166;font-size:12px;line-height:1.5}
.dialog-actions{margin-top:16px}
/* Slice 5A (2026-09-02) — owner title + focus corrections, appended only.
   1) Programmatically focused PAGE TITLES (focusHeading sets tabindex="-1")
      never draw the native blue contour — one NARROW rule, never *:focus.
   2) Real interactive controls keep/gain a clear 3px caramel
      focus-visible ring; the approved date-trigger outline suppression is
      !important, so its keyboard correction must be too.
   3) Branded caramel text selection + warm WebKit tap highlight. The
      intentional sky accents (Virtual icon/kicker, loading state) are
      untouched — the owner objected to selection/focus blue only. */
.page-title[tabindex="-1"]:focus{outline:0}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,.date-trigger:focus-visible{outline:3px solid var(--caramel)!important;outline-offset:2px}
::selection{background:rgba(168,102,67,.4);color:var(--white)}
html{-webkit-tap-highlight-color:rgba(168,102,67,.18)}
/* Continuous swipe calendar: every date uses the same narrow vertical pill.
   The strip contains the complete booking horizon and is the only horizontal
   scroller; there are no artificial date windows or arrow controls. */
.appointment-picker-head{display:none}
.appointment-days{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;max-width:100%;padding:3px 3px 9px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.appointment-days::-webkit-scrollbar{display:none}
.appointment-day{flex:0 0 68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:68px;min-width:68px;min-height:86px;padding:9px 5px;border-radius:999px;scroll-snap-align:start}
.appointment-day span{font-size:8px}
.appointment-day strong{margin-top:0;font-size:16px}
.appointment-day small{max-width:52px;font-size:8px;line-height:1.05;text-align:center;white-space:normal;text-wrap:balance}
.appointment-day.day-blocked--fully-booked,.appointment-day.day-blocked--unavailable{width:68px;min-width:68px}
.appointment-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:11px}
.appointment-time{min-height:44px;padding:6px;border-radius:999px;font-size:11px}
.appointment-time--disabled{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:44px;opacity:1;border-color:rgba(85,112,101,.2);background:rgba(240,243,240,.58);color:#788b83;cursor:default;white-space:nowrap;box-shadow:none}
.appointment-time--booked{border-color:rgba(168,102,67,.3);background:rgba(168,102,67,.1);color:#84533b}
.appointment-time--unavailable{color:#718079}
.appointment-time__clock{font-size:10px;line-height:1}
.appointment-time__status{font-size:8px;font-weight:950;line-height:1;letter-spacing:.05em;text-transform:uppercase}
.schedule-pills{display:flex!important;flex-wrap:nowrap;gap:6px;align-items:center;width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
.schedule-pills::-webkit-scrollbar{display:none}
.schedule-pill{display:inline-flex;align-items:center;min-height:36px;padding:7px 13px;border:1px solid rgba(53,101,81,.3);border-radius:999px;background:rgba(238,246,240,.85);color:#153f31;font-size:12px;font-weight:850;letter-spacing:.05em;white-space:nowrap}
.confirm-card .schedule-pill{background:rgba(255,255,255,.72)}
.date-copy{font-weight:850;letter-spacing:.05em}
.cal-day.selected{border-radius:999px}
@media(max-width:560px){.appointment-days{gap:7px}.appointment-day{flex-basis:64px;width:64px;min-width:64px;min-height:82px}.appointment-day.day-blocked--fully-booked,.appointment-day.day-blocked--unavailable{width:64px;min-width:64px}.appointment-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.appointment-time{min-height:46px;font-size:12px}.appointment-time--disabled{height:46px}.appointment-time__clock{font-size:11px}.appointment-time__status{font-size:9px}.schedule-pill{padding-inline:11px;font-size:11px}}
/* Slice 5B CORRECTION (2026-09-02) — containment at the sizing ROOTS, not a
   cosmetic overflow-x:hidden. QA-measured defects: (a) .sections is an
   implicit-track grid, so its auto column adopted the nowrap day strip's
   min-content (390px viewport → 1078px document); (b) the manage fieldset
   keeps the UA min-inline-size:min-content and expanded to ~496px. The day
   STRIP must be the only horizontal scroller. */
.sections{grid-template-columns:minmax(0,1fr)}
.sections>.section{min-width:0;max-width:100%}
#appointment-section{min-width:0;width:100%}
.appointment-days{width:100%;max-width:100%;min-width:0}
.appointment-times{width:100%;max-width:100%;min-width:0}
#manage-slot-fieldset{min-inline-size:0;min-width:0;width:100%;max-width:100%}
/* Predictive address menu mirrors the intake-link interaction while staying
   inside the booking card and above the sections that follow it. */
.sections>.section.address-menu-open{position:relative;z-index:100}
.address-field{position:relative;z-index:8}
.control-address{z-index:2}
.address-suggestions{position:absolute;z-index:200;top:calc(100% + 6px);right:0;left:0;display:grid;gap:3px;padding:6px;border:1px solid rgba(53,101,81,.28);border-radius:16px;background:#fbfdfb;box-shadow:0 22px 46px rgba(6,39,31,.28);backdrop-filter:none;-webkit-backdrop-filter:none}
.address-suggestions[hidden]{display:none}
.address-suggestion{width:100%;min-height:44px;padding:9px 11px;border:0;border-radius:11px;background:transparent;color:#426d5e;font-size:13px;font-weight:650;line-height:1.3;text-align:left;cursor:pointer}
.address-suggestion:hover,.address-suggestion.is-active,.address-suggestion:focus-visible{background:rgba(168,102,67,.12);color:#6f3f28}
.address-hint{display:block;padding:0 3px;color:#587166;font-size:10px;font-weight:700;line-height:1.35}
@media(max-width:560px){.address-suggestion{min-height:48px;font-size:14px}.address-hint{font-size:11px}}
