:root{--ink:#493851;--muted:#75667d;--purple:#805a98;--line:#e2d7e9;--lavender:#f0e7f7}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:#f8f4fb;color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:4px}button,input,textarea{font:inherit;color:inherit}button,a,input,label{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a278bd;outline-offset:4px}header{max-width:1120px;margin:auto;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font:38px Georgia,serif;text-decoration:none;display:flex;align-items:center;gap:15px}.brand span{font:12px system-ui;letter-spacing:2px}.brand small{display:block;font-size:8px;margin-top:5px}.account{font-size:12px}.intro h1{font:clamp(48px,5.5vw,72px)/1.08 Georgia,serif;margin:22px 0;letter-spacing:-2px}.intro em{font-weight:normal;color:var(--purple)}.intro>p:not(.eyebrow){color:var(--muted);line-height:1.8}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--purple)}main{max-width:1050px;margin:45px auto 85px;padding:0 24px;display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:start}.intro{position:sticky;top:55px;padding-top:45px}.location{border-top:1px solid var(--line);margin-top:35px;padding-top:25px;font-size:13px;line-height:1.8}.booking-card{background:#fffdfd;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:0 20px 60px #5e3c7910;min-width:0}.steps{display:flex;list-style:none;padding:0 0 25px;margin:0 0 26px;border-bottom:1px solid var(--line);gap:14px;justify-content:space-between;font-size:10px;color:var(--muted)}.steps li{display:flex;align-items:center;gap:6px}.steps b{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:25px;height:25px;font-size:11px}.steps [aria-current]{color:var(--purple);font-weight:700}.steps [aria-current] b{background:var(--purple);color:white;border-color:var(--purple)}h2{font:30px/1.2 Georgia,serif;margin:8px 0 24px}h3{font-size:17px;margin:25px 0 7px}fieldset{border:0;padding:0;margin:20px 0;min-width:0}legend,label{font-size:13px;font-weight:600}.length{display:flex;gap:10px}.length legend{margin-bottom:10px}.length label{flex:1;position:relative}.length input,.service input,.time input{position:absolute;opacity:0;width:1px;height:1px}.length span{display:block;text-align:center;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff}.length input:checked+span{background:var(--lavender);border-color:var(--purple)}input:focus-visible+span,input:focus-visible+.service-inner{outline:3px solid #a278bd;outline-offset:3px}#services{display:grid;gap:10px}.service{position:relative;font-weight:400;cursor:pointer}.service-inner{display:flex;align-items:center;gap:15px;justify-content:space-between;border:1px solid var(--line);border-radius:16px;padding:17px 16px}.service-inner:after{content:'';width:17px;height:17px;border:1px solid #b99bc9;border-radius:50%;flex-shrink:0}.service input:checked+.service-inner{background:var(--lavender);border-color:var(--purple)}.service input:checked+.service-inner:after{background:var(--purple);box-shadow:inset 0 0 0 4px var(--lavender)}.service strong{font-size:16px;display:block}.service small{display:block;color:var(--muted);font-size:12px;margin:5px 0}.price{display:block;font-weight:700;font-size:15px}.idea-link{display:block;text-decoration:none;border-top:1px solid var(--line);padding-top:18px;font-size:13px;color:var(--purple)}.hint{font-size:12px;color:var(--muted);font-weight:400;line-height:1.6}.primary{display:flex;justify-content:center;gap:20px;align-items:center;width:100%;border:0;background:var(--purple);color:white;padding:16px;border-radius:14px;font-weight:600;margin-top:22px;min-height:54px}.primary:hover:not(:disabled){background:#694780}.back{border:0;background:none;font-size:12px;padding:0 0 20px;color:var(--purple)}.selection-summary,.deposit-note{background:var(--lavender);border-radius:12px;padding:14px;font-size:13px}input:not([type=radio]):not([type=checkbox]),textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:11px;background:white;font-size:16px;min-width:0}#booking-form>label:not(.check){display:block;margin:15px 0 7px}input[type=date]{min-height:52px;-webkit-appearance:none}#times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:230px;overflow:auto;padding:4px;margin:20px -4px}#times legend{padding-bottom:12px}#times>p{grid-column:1/-1;font-size:13px}.time{position:relative;cursor:pointer}.time span{display:block;border:1px solid var(--line);border-radius:10px;text-align:center;font-size:13px;padding:10px 3px}.time input:checked+span{background:var(--purple);color:white;border-color:var(--purple)}.optional,.rules{border-top:1px solid var(--line);margin:22px 0;padding-top:16px;font-size:13px}summary{cursor:pointer;font-weight:600;padding:5px 0}summary span{font-weight:400;color:var(--muted)}textarea{margin-top:12px;resize:vertical}.rules img{width:100%;height:auto;display:block;margin-top:15px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400}.check input{width:19px;height:19px;flex-shrink:0;accent-color:var(--purple);margin:1px}.centered{text-align:center}.success-mark{width:58px;height:58px;display:grid;place-items:center;font-size:28px;color:var(--purple);background:var(--lavender);border-radius:50%;margin:10px auto 20px}#step3>h2,#step3>.pill{text-align:center}.pill{display:table;margin:0 auto 25px;background:var(--lavender);color:var(--purple);padding:6px 13px;border-radius:30px;font-size:12px}#appointment{border:1px solid var(--line);border-radius:14px;padding:16px;margin:20px 0;font-size:14px}#appointment strong,#appointment span{display:block;margin:4px 0}#payment{background:#f8f3fc;border-radius:18px;padding:20px}#deposit-amount{font-size:34px;margin:6px 0}#payment>.eyebrow{font-size:9px}#copy-rows{margin-top:22px}.copy-row{background:white;border:1px solid var(--line);border-radius:12px;padding:13px;margin:10px 0}.copy-row label{display:block;font-size:11px;color:var(--muted)}.copy-row textarea{border:0;padding:4px 0;margin:5px 0;font-size:13px;resize:none;overflow:auto;white-space:pre-wrap}.copy-row button{background:var(--lavender);border:0;border-radius:8px;padding:8px 12px;font-size:12px}.mail-state{font-size:13px;margin-top:24px}.secondary{width:100%;padding:13px;border:1px solid var(--line);border-radius:12px;background:white}.home-link{display:block;text-align:center;font-size:13px;margin-top:25px}#error{padding:14px;background:#fff0f1;border:1px solid #e9bfc8;border-radius:12px;font-size:13px}#notice:empty{display:none}#notice{font-size:13px;color:var(--purple)}#resume{display:inline-block;margin-top:25px;font-size:13px}footer{padding:25px 30px;border-top:1px solid var(--line);max-width:1120px;margin:auto;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px}footer span{letter-spacing:0;color:var(--muted)}.sr-only,.trap{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:760px){header{padding:20px}.brand{font-size:30px}.brand span{font-size:10px;letter-spacing:1px}.brand small{font-size:7px}.account{font-size:10px;max-width:100px;text-align:right}main{display:block;margin:10px auto 45px;padding:0 16px;max-width:520px}.intro{position:static;padding:12px 10px 22px}.intro h1{font-size:43px;margin:14px 0}.intro>p:not(.eyebrow){font-size:14px}.location{margin-top:18px;padding-top:15px;font-size:12px}.booking-card{padding:23px 20px;border-radius:24px}.steps{gap:8px}.steps li{font-size:10px;gap:5px}h2{font-size:28px}footer{padding:20px;font-size:9px;gap:15px}.compact .intro{display:none}.compact main{margin-top:20px}}@media(prefers-reduced-motion:no-preference){button,.service-inner{transition:background .15s,border-color .15s}}
.planner-invite{display:block;width:100%;padding:18px;text-align:left;background:#f2e7f9;border:1px solid #cfb7df;border-radius:16px;margin:0 0 22px}.planner-invite strong{display:block;font-size:15px}.planner-invite span{display:block;font-size:12px;color:var(--purple);margin-top:5px}.planner-invite[aria-expanded=true]{background:white}.planner-group{border-top:1px solid var(--line);padding:12px 0}.planner-group>summary{font-size:15px;padding:10px 0}.planner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 0}.planner-tile{border:1px solid var(--line);border-radius:14px;background:white;overflow:hidden}.planner-tile:has(input:checked){border-color:var(--purple);background:#f3eaf8}.planner-tile>label:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:13px;cursor:pointer;min-height:115px}.planner-tile input{accent-color:var(--purple);width:18px;height:18px}.planner-tile strong{display:block;font-size:12px}.planner-tile small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:4px}.planner-tile>label>span:last-child{width:100%}.nail-swatch{display:block;width:30px;height:43px;border-radius:15px 15px 8px 8px;background:linear-gradient(120deg,#fff8,#fff0 45%),#dbb4d7;box-shadow:inset 0 0 0 1px #86638c30}.nail-swatch[data-pattern=baby]{background:linear-gradient(#e5bad5,#fdf9fb)}.nail-swatch[data-pattern=ombre]{background:linear-gradient(#d3a0d4,#9f86c4)}.nail-swatch[data-pattern=glitter-ombre],.nail-swatch[data-pattern=glitter]{background:radial-gradient(circle at 20% 75%,white 1px,transparent 2px),radial-gradient(circle at 65% 87%,white 1px,transparent 2px),linear-gradient(#eacbdc,#b18bc2)}.nail-swatch[data-pattern=cat]{background:linear-gradient(130deg,#9c70ad 20%,#eee1f6 49%,#a47bb8 70%)}.nail-swatch[data-pattern=chrome],.nail-swatch[data-pattern=pearl]{background:linear-gradient(100deg,#af8fae,#fff5fb 35%,#c5aac9 55%,#eee6f5 80%,#af8fae)}.nail-swatch[data-pattern=aura]{background:radial-gradient(ellipse,#cc7ba3,#f3dbe5 70%)}.nail-swatch[data-pattern=marble]{background:repeating-linear-gradient(140deg,#f5ecf7 0 10px,#c2a3cf 11px,#eee3f1 13px,#fcf7fc 22px)}.nail-swatch[data-pattern=animal]{background:repeating-radial-gradient(ellipse at 10% 20%,#f0d7d0 0 4px,#946b80 5px 6px,#e3bfae 7px 10px)}.nail-swatch[data-pattern=painted-french]{background:linear-gradient(#e6c2d7 70%,#fff 70%)}.nail-swatch[data-pattern=foil]{background:linear-gradient(145deg,transparent 35%,#d4b17a 36% 46%,transparent 47%),#d9b7d9}.nail-swatch[data-pattern=simple-stones]{background:radial-gradient(circle at 50% 20%,white 2px,#b9a3cf 3px,transparent 4px),#e3c3dd}.nail-swatch[data-pattern=stones]{background:radial-gradient(ellipse at 50% 35%,#fff 3px,#bca5ce 5px,transparent 6px),radial-gradient(circle at 25% 60%,#fff 2px,#bca5ce 3px,transparent 4px),radial-gradient(circle at 75% 60%,#fff 2px,#bca5ce 3px,transparent 4px),#e3c3dd}.nail-swatch[data-pattern=lines]{background:repeating-linear-gradient(50deg,#e6c8df 0 10px,#fff 11px 12px)}.nail-swatch[data-pattern=flowers],.nail-swatch[data-pattern=bloom],.nail-swatch[data-pattern="3d"]{background:radial-gradient(ellipse at 38% 40%,#fff 0 4px,transparent 5px),radial-gradient(ellipse at 62% 40%,#fff 0 4px,transparent 5px),radial-gradient(ellipse at 50% 58%,#fff 0 4px,transparent 5px),#dcb4d4}.planner-count{display:block;font-size:11px;padding:0 12px 12px;font-weight:400}.planner-count select,.planner-option select{display:block;width:100%;margin-top:6px;padding:9px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font:14px system-ui}.planner-french{border-top:1px solid var(--line);padding-top:15px}.planner-french legend{padding-top:20px}.planner-french label{display:flex;gap:9px;align-items:center;padding:10px 0;font-weight:400}.planner-french input{accent-color:var(--purple)}.planner-option{display:block;margin:20px 0}#planner-result{background:#eee2f6;border:1px solid #d8c1e6;padding:18px;border-radius:16px;margin:20px 0}#planner-result h3{font:25px Georgia;margin:8px 0}#planner-result strong{font-size:24px}#planner-result p{font-size:12px}#planner-review{border-color:var(--purple);color:var(--purple);font-weight:600}.planner-active .idea-link{margin-top:22px}
#direct-choice{margin-bottom:12px;text-align:left;font-size:13px}#nearest{margin:6px 0 0;background:var(--lavender);border-color:#cbb1dc;font-size:14px}#review-panel{border:1px solid var(--line);padding:20px;border-radius:18px;background:#f8f2fc}#review-title{font:27px Georgia;margin-top:0}#review-details{font-size:14px;overflow-wrap:anywhere}#review-details>strong{font-size:18px}#review-details p{margin:14px 0}#review-panel .secondary{margin-top:15px}.photo-box{border-top:1px solid var(--line);padding-top:20px;margin:20px 0}.photo-box input[type=file]{font-size:12px;padding:12px 4px}#image-previews{display:grid;grid-template-columns:1fr 1fr;gap:10px}#image-previews>div{border:1px solid var(--line);border-radius:12px;padding:8px;min-width:0}#image-previews img{width:100%;height:120px;object-fit:cover;border-radius:8px}#image-previews small{display:block;overflow-wrap:anywhere;font-size:10px}#image-previews button{background:white;border:1px solid var(--line);border-radius:8px;padding:8px;font-size:11px;width:100%;margin-top:8px}.booking-progress{list-style:none;padding:0;margin:22px 0;font-size:12px;color:var(--muted)}.booking-progress li{padding:8px 0}.booking-progress li:before{content:'○';display:inline-block;width:24px}.booking-progress .completed:before{content:'✓';color:var(--purple)}.booking-progress [aria-current]{color:var(--purple);font-weight:700}#confirmed-actions{padding:15px;background:var(--lavender);border-radius:14px;margin-bottom:20px}

.custom-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.custom-counts label{font-size:14px}.custom-counts input{width:100%;min-width:0}.custom-options h3{font-size:24px;line-height:1.2}.photo-box{margin:24px 0}
