.choice-guide{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(2rem,6vw,7rem);padding-block:4rem;border-bottom:1px solid var(--line);scroll-margin-top:9rem}
.choice-intro .choice-title{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.08;letter-spacing:-.04em;margin:0 0 1rem;font-weight:500;hyphens:auto}
.choice-intro p:where(:not(.choice-title)){color:var(--text-muted);line-height:1.65;max-width:36em}.choice-intro .text-link{margin-top:1rem}
.choice-area{border-top:1px solid var(--line)}.choice-area summary{padding:1.25rem 2rem 1.25rem 0;cursor:pointer;font-weight:500;line-height:1.4;min-height:48px}
.choice-content{min-width:0}
.choice-question{font-size:0.875rem;color:var(--text-muted);margin:.25rem 0 1rem}
.choice-intent{border-bottom:1px solid var(--line)}
.choice-intent>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.05rem 0;cursor:pointer;font-size:1rem;font-weight:420;line-height:1.5;min-height:48px;list-style:none}
.choice-intent>summary::-webkit-details-marker{display:none}
.choice-intent>summary::after{content:'';flex:0 0 .45rem;width:.45rem;height:.45rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-right:.35rem;color:var(--gold-text)}
.choice-intent[open]>summary{color:var(--gold-text)}.choice-intent[open]>summary::after{transform:rotate(225deg)}
.choice-intent>summary:hover,.choice-area>summary:hover{color:var(--gold-text)}
.choice-intent>summary:focus-visible,.choice-area>summary:focus-visible{outline:2px solid var(--gold-text);outline-offset:3px}
.choice-answer{padding:.25rem 0 1.5rem}
.choice-service{padding:1.25rem 0;border-top:1px solid var(--line)}
.choice-service h3{font-size:1.125rem;line-height:1.45;font-weight:500;margin:0 0 .8rem;overflow-wrap:anywhere}
.choice-facts{margin:0 0 .8rem;font-size:1rem;line-height:1.55}
.choice-facts>div{padding:.6rem 0}.choice-facts dt{margin:0 0 .25rem;color:var(--text-muted)}
.choice-facts dd,.choice-single-facts{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin:0;font-variant-numeric:tabular-nums}
.choice-facts strong,.choice-single-facts strong{font-weight:500;white-space:nowrap}
.choice-single-facts{font-size:1rem;line-height:1.6;margin-bottom:1rem}
.choice-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem}
.choice-actions .button{min-height:44px;padding:.65rem 1rem;font-size:0.875rem}
.choice-service .text-link{font-size:0.875rem;min-height:44px}
.choice-note{font-size:1rem;line-height:1.65;margin:0 0 1.25rem;max-width:65ch}
.choice-followup{font-size:1rem;line-height:1.5;min-height:44px;margin-block:1rem}
.choice-rows .arrow-icon,.choice-all .arrow-icon,.choice-help .arrow-icon{flex-shrink:0}
.choice-all{display:flex;gap:1rem;align-items:center;padding-block:1.2rem;font-size:1rem}
.choice-source{font-size:0.8125rem;line-height:1.6;color:var(--text-muted);margin:0 0 2rem}
.choice-help{border-top:1px solid var(--line-strong);padding-top:1.5rem}
.choice-help h3{font-size:1.25rem;line-height:1.4;font-weight:500;margin:0 0 .65rem}
.choice-help p{font-size:1rem;line-height:1.65;margin:0 0 .8rem}
.choice-help .text-link{font-size:1rem;line-height:1.6;min-height:44px}
.catalog-service[id]{scroll-margin-top:10rem}
@media(max-width:767px){.choice-guide{grid-template-columns:1fr;gap:1.5rem;padding-block:2.5rem}.choice-intro p:where(:not(.choice-title)){margin-bottom:0}.choice-calculator{margin-left:0;display:flex;width:fit-content}}

/* Repeat appointments form a single booking surface in the studio's graphite palette. */
.repeat-visit{padding-block:clamp(2.5rem,5vw,5rem);scroll-margin-top:7rem;background:var(--graphite);color:var(--frost-bright);container:repeat / inline-size}
.repeat-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2rem;align-items:end;margin-bottom:2.5rem}
.repeat-heading h2{margin:0;max-width:19ch;font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.08;letter-spacing:-.035em;font-weight:300;text-wrap:balance}
.repeat-heading p{max-width:28em;margin:0 0 .15rem;color:var(--silver);font-size:1.125rem;line-height:1.6}
.repeat-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.repeat-navigation button{display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:4.75rem;padding:1rem;border:0;border-top:1px solid var(--silver);background:transparent;color:var(--frost-bright);font:inherit;font-size:1.125rem;cursor:pointer;transition:background-color .18s ease-out,color .18s ease-out}
.repeat-navigation button:hover{background:var(--graphite-soft)}
.repeat-navigation button[aria-selected="true"]{background:var(--frost-bright);border-top-color:var(--gold-on-graphite);color:var(--graphite);font-weight:500}
.repeat-navigation button[aria-selected="true"] .service-symbol{color:var(--gold-text)}
.repeat-navigation .service-symbol{width:1.8rem;height:1.8rem;flex-shrink:0}
.repeat-navigation button:focus-visible{outline:2px solid var(--gold-on-graphite);outline-offset:3px;position:relative;z-index:1}
.repeat-panels{background:var(--frost-bright);color:var(--graphite)}
.repeat-panel{padding:clamp(1.25rem,3vw,3rem)}
.repeat-panel+.repeat-panel{border-top:1px solid var(--line)}
.repeat-ready .repeat-panel{border:0}
.repeat-panel h3{margin:0 0 1.5rem;font-size:clamp(1.45rem,2.1vw,2rem);line-height:1.25;letter-spacing:-.025em;font-weight:420}
.repeat-intro{max-width:64ch;margin:0 0 1.5rem;color:var(--text-muted);font-size:1rem;line-height:1.65}
.repeat-links{display:grid;grid-template-columns:1fr 1fr;column-gap:3rem;margin:1.5rem 0}
.repeat-links>a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:5rem;padding:1rem 0;border-top:1px solid var(--line);color:var(--graphite);font-size:1.125rem;line-height:1.4;text-decoration:none}
.repeat-navigation .service-symbol{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* The whole row opens our form; the action remains explicit at every width. */
.repeat-booking-action{display:inline-flex;align-items:center;gap:.75rem;flex-shrink:0;min-height:44px;padding:.65rem .85rem;background:var(--graphite);color:var(--frost-bright);font-size:0.8125rem}
.repeat-links .repeat-booking-action .arrow-icon{color:inherit}
.repeat-links>a:focus-visible{outline:2px solid var(--gold-text);outline-offset:4px}
.repeat-links>a:hover .repeat-booking-action{background:var(--gold-text)}
.repeat-nail-options dt{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem}
.repeat-option-booking{min-height:44px;flex-shrink:0;font-size:0.875rem}
.repeat-links .arrow-icon,.repeat-links .ui-icon{flex-shrink:0;color:var(--gold-text)}
.repeat-links>a:hover{color:var(--gold-text)}
.repeat-secondary{font-size:1rem;line-height:1.5;min-height:44px}
.repeat-lash-layout,.repeat-nail-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem)}
.repeat-preferences{min-width:0}
.repeat-fields{display:grid;gap:1.75rem}
.repeat-fields fieldset{min-width:0;border:0;padding:0;margin:0}
.repeat-fields legend{padding:0;margin-bottom:.75rem;color:var(--text-muted);font-size:0.875rem;line-height:1.5}
.repeat-techniques{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}
.repeat-weeks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.repeat-choice{position:relative;min-width:0;cursor:pointer}
.repeat-choice input{position:absolute;inset:0;margin:0;width:100%;height:100%;opacity:0;cursor:pointer}
.repeat-choice>span{display:flex;align-items:center;justify-content:center;min-height:3.5rem;height:100%;padding:.65rem .4rem;border:1px solid var(--line-strong);font-size:1rem;line-height:1.35;text-align:center;font-variant-numeric:tabular-nums;transition:background-color .18s ease-out,color .18s ease-out,border-color .18s ease-out}
.repeat-choice:hover>span{border-color:var(--gold-text)}
.repeat-choice input:checked+span{background:var(--graphite);border-color:var(--graphite);color:var(--frost-bright)}
.repeat-choice input:focus-visible+span{outline:2px solid var(--gold-text);outline-offset:3px}
.repeat-help{margin-top:1.75rem}
.repeat-help summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;list-style:none;cursor:pointer;font-size:0.875rem;line-height:1.5;color:var(--text-muted)}
.repeat-help summary::-webkit-details-marker{display:none}
.repeat-help summary::after{content:'';width:.4rem;height:.4rem;flex:0 0 .4rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-right:.3rem}
.repeat-help[open] summary::after{transform:rotate(225deg)}
.repeat-help p{font-size:0.875rem;line-height:1.6;margin:.75rem 0}
.repeat-help .text-link{font-size:0.875rem;min-height:44px}
.repeat-summary{padding-inline-start:clamp(1.5rem,3vw,3rem);border-inline-start:1px solid var(--line);min-width:0}
.repeat-empty{display:grid;align-content:center;gap:1.5rem;min-height:13rem;padding-block:1rem;max-width:26ch}
.repeat-empty .service-symbol{width:3rem;height:3rem;color:var(--gold-text)}
.repeat-empty p{margin:0;color:var(--text-muted);font-size:1.2rem;line-height:1.5;letter-spacing:-.015em}
.repeat-result{padding-block:1.5rem;border-bottom:1px solid var(--line)}
.repeat-ready .repeat-result{padding:0;border:0}
.repeat-selected{margin:0 0 .65rem;font-size:1.125rem;line-height:1.5}
.repeat-price{margin:0;font-size:clamp(2.6rem,4vw,4rem);font-weight:300;line-height:1.1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.repeat-duration{margin:.5rem 0 1.5rem;color:var(--text-muted);font-size:1rem;font-variant-numeric:tabular-nums}
.repeat-result .button{width:100%;justify-content:space-between;gap:1rem;min-height:3.5rem;font-size:1rem;line-height:1.4;white-space:normal;text-align:left}
.repeat-note{margin:1.15rem 0 .75rem;font-size:0.875rem;line-height:1.6;color:var(--text-muted)}
.repeat-source{margin:.75rem 0 0;font-size:0.8125rem;line-height:1.6;color:var(--text-muted)}
.repeat-nail-options{margin:0}
.repeat-nail-options>div{padding:1rem 0;border-bottom:1px solid var(--line)}
.repeat-nail-options>div:first-child{padding-top:0}
.repeat-nail-options dt{font-size:1.125rem;line-height:1.5;margin-bottom:.5rem}
.repeat-nail-options dd{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:0;font-size:1rem;color:var(--text-muted);font-variant-numeric:tabular-nums}
.repeat-nail-options strong{font-size:1.5rem;line-height:1.3;font-weight:450;color:var(--graphite);white-space:nowrap}
.repeat-panel a:focus-visible,.repeat-help summary:focus-visible{outline:2px solid var(--gold-text);outline-offset:4px}
.repeat-visit [hidden]{display:none!important}
@container repeat (max-width:740px){
 .repeat-heading{grid-template-columns:1fr;gap:1rem;margin-bottom:1.75rem}
 .repeat-heading h2{max-width:22ch}
 .repeat-lash-layout,.repeat-nail-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}
 .repeat-summary{border-inline-start:0;padding-inline-start:0;padding-top:1.5rem;border-top:1px solid var(--line)}
 .repeat-empty{min-height:0;max-width:none;grid-template-columns:2rem minmax(0,1fr);align-items:center;padding:0;gap:1rem}
 .repeat-empty .service-symbol{width:2rem;height:2rem}
 .repeat-empty p{font-size:1rem}
 .repeat-links{grid-template-columns:1fr;margin-block:1rem}
 .repeat-links>a{font-size:1rem;min-height:4.5rem}
}
@container repeat (max-width:440px){
 .repeat-navigation{gap:.25rem}
 .repeat-navigation button{gap:.4rem;font-size:1rem;padding:.8rem .4rem;min-height:4rem}
 .repeat-navigation .service-symbol{width:1.35rem;height:1.35rem}
 .repeat-techniques{grid-template-columns:repeat(2,minmax(0,1fr))}
 .repeat-choice>span{font-size:1rem}
 .repeat-panel h3{margin-bottom:1.25rem}
}
@media(prefers-reduced-motion:reduce){.repeat-navigation button,.repeat-choice>span{transition:none}}
