/* Tidepool Hair + Massage (fictional sample). Guide (Oct 26, 2026 distinct rebuild): Morning Mist, Harbor Blue,
   Deep Harbor, Fog, Pearl, Shell Pink (small accents only); Fraunces light italic + Figtree. Layout language: centered,
   arches, ripples. Token names are kept from the first build (shell = Pearl, sand = a Fog tint, tide = Deep Harbor,
   glass = Fog, teal = Harbor Blue, blush = Shell Pink); the page background is Morning Mist. Motion: slow and soft. Things settle
   into focus, ripples spread, light drifts like water. Nothing snaps. */
@font-face{font-family:"Fraunces";src:url(/assets/sx/t/t-head-italic.woff2) format("woff2");font-style:italic;font-weight:300 600;font-display:swap}
@font-face{font-family:"Fraunces";src:url(/assets/sx/t/t-head.woff2) format("woff2");font-style:normal;font-weight:300 600;font-display:swap}
@font-face{font-family:"Figtree";src:url(/assets/sx/t/t-body.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{--shell:#FBFCFD;--sand:#D6E1EA;--tide:#22354A;--glass:#C6D5E2;--teal:#3B5A7C;--blush:#E9CFC4;--muted:#46586C;
 --mist:#E9EFF4;--bg:var(--mist);--fg:var(--tide);--head:var(--tide);--rule:#C9D6E1;--btn:var(--teal);--on-btn:var(--shell);--focus:#3B5A7C;--bad:#A04E3E;
 --field-line:#7F95AC;--field-bg:#fff;--menu-bg:rgba(251,252,253,.97);--menu-fg:var(--tide);--menu-rule:#C9D6E1;
 --hf:"Fraunces",Georgia,"Times New Roman",serif;--bf:"Figtree","Segoe UI",system-ui,sans-serif;--brad:999px;--rad:18px;--ease:cubic-bezier(.22,.61,.36,1)}
body{font-weight:400}
h1,h2,h3{font-style:italic;font-weight:300;line-height:1.1;letter-spacing:-.01em}
h3{font-weight:400}
h1{font-size:clamp(40px,5.4vw,72px)}
h2{font-size:clamp(30px,3.6vw,46px)}
h3{font-size:24px}
.sx-rv [data-rv]{--rv-from:translateY(14px);filter:blur(6px);transition-duration:1.1s,1.2s,1.2s}
/* WebKit: never combine a filter with backdrop-filter on one element (it can crash the page) */
.sx-rv .t-day[data-rv],.sx-rv .t-plan[data-rv]{filter:none}
.t-eye{font-weight:600;font-size:12.5px;letter-spacing:.32em;text-transform:uppercase;color:#3B5A7C;margin-bottom:14px}
.t-lead{font-size:clamp(18px,1.5vw,20px);max-width:48ch;color:var(--muted)}
.t-c{text-align:center;margin-inline:auto}
.t-small{font-size:14px;color:var(--muted);margin:10px 0 0}
.t-link{color:var(--teal);font-weight:700;text-decoration:none;border-bottom:1.5px solid var(--glass);padding-bottom:2px;transition:border-color .3s}
.t-link:hover{border-color:var(--teal)}
/* header */
.sx-head{background:rgba(251,252,253,.7);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}
.sx-head.is-scrolled{box-shadow:0 10px 40px -24px rgba(34,53,74,.45);background:rgba(251,252,253,.85)}
.sx-wm{display:flex;flex-direction:column;line-height:1;color:var(--tide)}
.sx-wm b{font-family:var(--hf);font-style:italic;font-weight:400;font-size:32px;letter-spacing:-.01em}
.sx-wm small{font-weight:600;font-size:10px;letter-spacing:.42em;color:var(--teal);margin-top:2px;padding-left:2px}
.sx-nav a:not(.sx-btn){font-weight:600;font-size:15.5px;color:var(--tide);transition:background-color .3s}
.sx-nav a:not(.sx-btn):hover{background:rgba(198,213,226,.35)}
.sx-nav a[aria-current]{background:rgba(198,213,226,.5)}
.sx-nav a[aria-current]:not(.sx-btn){border-radius:999px}
.sx-nav a:not(.sx-btn){border-radius:999px}
.sx-btn-cta{margin-left:8px}
@media (max-width:900px){.sx-nav a:not(.sx-btn){font-style:italic;font-weight:400;font-size:36px;border-radius:0;background:none!important}.sx-nav a[aria-current]{color:var(--teal)}}
/* buttons: soft pills */
.sx-btn{font-weight:700;letter-spacing:.02em;padding:13px 26px;box-shadow:0 10px 24px -14px rgba(59,90,124,.9)}
.sx-btn:hover{background:var(--tide);border-color:var(--tide);transform:translateY(-2px);box-shadow:0 16px 30px -16px rgba(34,53,74,.9)}
.sx-btn-soft{background:rgba(251,252,253,.6);color:var(--teal);border-color:var(--teal);box-shadow:none}
.sx-btn-soft:hover{background:var(--teal);color:var(--shell)}
.sx-btn-light{background:var(--shell);color:var(--tide);border-color:var(--shell)}
.sx-btn-light:hover{background:var(--glass);border-color:var(--glass);color:var(--tide)}
/* ripples */
.t-rings{position:absolute;pointer-events:none;width:900px;height:900px;z-index:0}
.t-rings circle{fill:none;stroke:var(--glass);stroke-width:1.4;opacity:0;transform-origin:center;animation:t-ripple 8s var(--d) linear infinite}
@keyframes t-ripple{0%{transform:scale(.4);opacity:0}12%{opacity:.75}100%{transform:scale(4.6);opacity:0}}
@media (max-width:760px){.t-rings circle{animation-duration:11s}}
/* hero */
.t-hero{position:relative;min-height:min(92vh,880px);display:flex;align-items:center;overflow:hidden;isolation:isolate}
.t-hero-img{position:absolute;inset:-5% 0;z-index:-3}
.t-hero-img img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;animation:t-focus 2.4s var(--ease) both}
@keyframes t-focus{from{filter:blur(10px) saturate(.9);transform:scale(1.06)}to{filter:none;transform:none}}
.t-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(251,252,253,.55),rgba(251,252,253,0) 65%)}
.t-caustic{position:absolute;inset:-20%;z-index:-1;pointer-events:none;mix-blend-mode:soft-light;opacity:.55;
 background:radial-gradient(40% 30% at 30% 40%,rgba(255,255,255,.9),transparent 70%),radial-gradient(30% 24% at 70% 60%,rgba(198,213,226,.9),transparent 70%),radial-gradient(26% 20% at 50% 20%,rgba(255,255,255,.7),transparent 70%);
 animation:t-drift 18s ease-in-out infinite alternate}
@keyframes t-drift{0%{transform:translate3d(-4%,-2%,0) rotate(0)}50%{transform:translate3d(3%,3%,0) rotate(6deg)}100%{transform:translate3d(-2%,4%,0) rotate(-4deg)}}
.t-rings-hero{left:-160px;top:50%;margin-top:-450px;z-index:-1}
.t-rings-hero circle{stroke:#fff;stroke-width:1.6}
.t-hero-in{position:relative;padding:80px 0}
.t-glass{max-width:600px;padding:clamp(28px,4vw,52px);border-radius:28px;background:rgba(251,252,253,.55);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);
 border:1px solid rgba(255,255,255,.7);box-shadow:0 40px 80px -40px rgba(34,53,74,.6),inset 0 1px 0 rgba(255,255,255,.8);animation:t-rise 1.6s .2s var(--ease) both}
@keyframes t-rise{from{opacity:0;transform:translateY(24px)}}
.t-glass h1{margin-bottom:18px}
.t-glass .t-lead{color:var(--tide)}
.t-acts{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0}
@media (max-width:760px){.t-hero{display:block;min-height:auto}.t-hero-img{position:relative;inset:auto;height:62vw;min-height:250px}.t-hero::before{display:none}.t-hero-in{padding:0 0 36px;margin-top:-64px}.t-glass{background:rgba(251,252,253,.86);border-radius:24px}.t-rings-hero{display:none}.t-caustic{display:none}}
/* trio */
.t-three h2{max-width:20ch;margin-bottom:48px}
.t-trio{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.t-card{display:block;text-decoration:none;border-radius:var(--rad);overflow:hidden;background:#fff;box-shadow:0 30px 60px -44px rgba(34,53,74,.6);transition:transform .6s var(--ease),box-shadow .6s var(--ease);height:100%}
.t-card:hover{transform:translateY(-6px);box-shadow:0 40px 70px -40px rgba(34,53,74,.7)}
.t-card-img{display:block;aspect-ratio:4/3;overflow:hidden}
.t-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.t-card:hover .t-card-img img{transform:scale(1.05)}
.t-card-t{display:block;padding:22px 24px 26px;color:var(--muted)}
.t-card-t b{display:block;font-family:var(--hf);font-style:italic;font-weight:400;font-size:34px;color:var(--tide);margin-bottom:6px}
@media (max-width:860px){.t-trio{grid-template-columns:1fr}}
/* calm band with a sample afternoon */
.t-calm{background:var(--tide);color:var(--shell);position:relative;overflow:hidden}
.t-calm h2{color:var(--shell)}.t-calm .t-eye{color:var(--glass)}
.t-calm-in{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.t-day{background:rgba(251,252,253,.07);border:1px solid rgba(198,213,226,.3);border-radius:var(--rad);padding:26px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.t-day-h{font-family:var(--hf);font-style:italic;font-size:24px;margin-bottom:16px}
.t-day ol{list-style:none;display:grid;grid-template-columns:repeat(14,1fr);gap:4px;min-height:120px}
.t-day li{grid-column:calc(var(--s) + 1)/span var(--w);background:var(--glass);color:var(--tide);border-radius:12px;padding:10px;font-size:13px;font-weight:700;display:flex;flex-direction:column;gap:2px;line-height:1.2;transform-origin:left;transition:transform 1s var(--ease),opacity 1s}
.t-day li b{font-weight:600;font-size:12px;opacity:.75}
.t-day li.t-gap{background:repeating-linear-gradient(135deg,rgba(233,207,196,.25) 0 6px,transparent 6px 12px);border:1px dashed var(--blush);color:var(--blush);writing-mode:vertical-rl;transform:rotate(180deg);padding:8px 4px;font-size:11px;align-items:center;justify-content:center;transform-origin:center}
.t-day li.t-gap b{display:none}
.sx-rv .t-day:not(.in) li:not(.t-gap){transform:scaleX(.2);opacity:0}
.t-day li:nth-child(3){transition-delay:.3s}.t-day li:nth-child(5){transition-delay:.6s}
.t-day .t-small{color:var(--glass)}
@media (max-width:900px){.t-calm-in{grid-template-columns:1fr;gap:32px}.t-day ol{grid-template-columns:1fr;min-height:0}.t-day li{grid-column:1!important}.t-day li.t-gap{writing-mode:horizontal-tb;transform:none;padding:6px 10px}}
/* planner */
.t-plan-sec{background:radial-gradient(60% 80% at 100% 0,rgba(198,213,226,.35),transparent 70%),var(--shell)}
.t-plan-in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.t-plan{background:rgba(255,255,255,.72);border:1px solid #fff;border-radius:24px;padding:clamp(22px,3.5vw,40px);box-shadow:0 40px 80px -50px rgba(34,53,74,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.t-order{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:22px}
.t-order legend{font-weight:700;font-size:15px;margin-bottom:8px;width:100%}
.t-order label{display:flex;align-items:center;gap:8px;min-height:44px}
.t-order input{width:20px;height:20px;accent-color:var(--teal)}
.t-bar{display:flex;height:46px;border-radius:999px;overflow:hidden;background:var(--sand);margin-bottom:14px}
.t-bar i{display:block;height:100%;flex:var(--f,1) 1 0;transition:flex-grow .8s var(--ease)}
.t-bar-a{background:var(--teal)}.t-bar-b{background:var(--glass)}
.t-bar-g{background:repeating-linear-gradient(135deg,var(--blush) 0 5px,#F5E6E0 5px 10px)}
.t-plan-out{font-weight:600;min-height:3.2em}
@media (max-width:900px){.t-plan-in{grid-template-columns:1fr;gap:28px}}
/* film band (video slot) */
.t-film{position:relative;min-height:min(78vh,700px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.t-film-v{position:absolute;inset:0;z-index:-2}
.t-film-v img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.t-film::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(34,53,74,.72),rgba(34,53,74,0) 60%)}
.t-film-in{padding:64px 0}
.t-quote{font-family:var(--hf);font-style:italic;font-size:clamp(34px,4.6vw,60px);color:var(--shell);max-width:16ch;line-height:1.08;margin:0}
/* team minis */
.t-meet{display:grid;grid-template-columns:1fr 1.4fr;gap:48px;align-items:center}
.t-minis{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.t-mini{display:block;text-decoration:none;text-align:center}
.t-mini img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px var(--rad) var(--rad);transition:transform .8s var(--ease),border-radius .8s var(--ease)}
.t-mini:hover img{transform:translateY(-6px);border-radius:var(--rad)}
.t-mini span{display:flex;flex-direction:column;padding-top:12px;font-size:14px;color:var(--muted)}
.t-mini b{font-family:var(--hf);font-style:italic;font-weight:400;font-size:28px;color:var(--tide)}
@media (max-width:860px){.t-meet{grid-template-columns:1fr}.t-minis{gap:10px}.t-mini b{font-size:22px}.t-mini span{font-size:12.5px}}
/* visit */
.t-visit{padding:0 0 clamp(64px,9vw,120px)}
.t-visit-in{display:flex;justify-content:center}
.t-visit-card{width:min(760px,100%);text-align:center;padding:clamp(32px,5vw,60px);border-radius:28px;background:var(--sand);position:relative;overflow:hidden}
.t-visit-card::before{content:"";position:absolute;right:-110px;top:-110px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(59,90,124,.35);box-shadow:0 0 0 36px transparent,0 0 0 37px rgba(59,90,124,.2),0 0 0 80px transparent,0 0 0 81px rgba(59,90,124,.12)}
.t-visit-card h2{margin-bottom:18px;position:relative}
.t-visit-card dl{display:grid;grid-template-columns:auto auto;justify-content:center;gap:6px 18px;margin:0 0 24px;position:relative}
.t-visit-card dt{font-weight:700}.t-visit-card dd{margin:0;text-align:left}
/* page header */
.t-ph{position:relative;overflow:hidden;padding:clamp(56px,8vw,110px) 0 clamp(48px,6vw,80px);background:linear-gradient(180deg,#DDE6EE,var(--shell))}
.t-ph .t-rings{right:-260px;top:-300px;opacity:.9}
.t-ph-in{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
.t-ph.has-img .t-ph-in{grid-template-columns:1.1fr .9fr}
.t-ph h1{margin-bottom:18px;max-width:14ch}
.t-ph-img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 28px 28px;box-shadow:0 40px 80px -50px rgba(34,53,74,.8)}
@media (max-width:860px){.t-ph.has-img .t-ph-in{grid-template-columns:1fr}.t-ph-img{max-width:420px}.t-ph-img img{aspect-ratio:1}}
/* service menus */
.t-menu{display:grid;grid-template-columns:1fr 2fr;gap:48px;align-items:start}
.t-menu-h{position:sticky;top:110px}
.t-menu-h h2{margin-bottom:16px}
.t-tabs{display:flex;flex-wrap:wrap;gap:8px}
.t-tabs button{min-height:44px;padding:10px 18px;border:1.5px solid var(--glass);background:transparent;border-radius:999px;font-weight:700;color:var(--tide);cursor:pointer;transition:background-color .3s,border-color .3s}
.t-tabs button[aria-pressed=true]{background:var(--tide);border-color:var(--tide);color:var(--shell)}
.t-tabs button:hover{border-color:var(--teal)}
.t-svcs{list-style:none}
.t-svc{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid var(--rule)}
.t-svc:first-child{border-top:1px solid var(--rule)}
.t-svc.pop{animation:t-in .6s var(--ease)}
@keyframes t-in{from{opacity:0;transform:translateY(8px);filter:blur(4px)}}
.t-svc h3{margin-bottom:4px}
.t-svc p{margin:0;color:var(--muted)}
.t-svc .t-who{font-size:14px;color:var(--teal);font-weight:600;margin-top:6px}
.t-dur{display:flex;align-items:center;gap:16px;flex:none}
.t-dur span{font-weight:700;color:var(--tide);white-space:nowrap;padding:6px 12px;background:rgba(198,213,226,.35);border-radius:999px;font-size:14px}
.t-dur a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--teal);color:var(--teal);font-weight:700;text-decoration:none;transition:background-color .3s,color .3s}
.t-dur a:hover{background:var(--teal);color:var(--shell)}
@media (max-width:860px){.t-menu{grid-template-columns:1fr;gap:20px}.t-menu-h{position:static}.t-svc{flex-direction:column;align-items:flex-start;gap:12px}}
.t-sand{background:var(--sand)}
.t-gal{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.t-gal a{display:block;border-radius:var(--rad);overflow:hidden;aspect-ratio:1}
.t-gal img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.t-gal a:hover img{transform:scale(1.05)}
.t-gal a{aspect-ratio:4/5}.t-gal li:nth-child(3n+2){margin-top:40px}.t-gal li:nth-child(3n+2)+li{margin-top:0}
@media (max-width:760px){.t-gal{grid-template-columns:1fr 1fr;gap:10px}.t-gal li:nth-child(3n+2){margin-top:0}}
.t-care{display:grid;grid-template-columns:1fr 1.6fr;gap:48px;align-items:start}
.t-care-l{list-style:none;display:grid;gap:14px;counter-reset:c}
.t-care-l li{counter-increment:c;display:grid;grid-template-columns:56px 1fr;column-gap:16px;align-items:baseline;padding:20px 22px;background:#fff;border-radius:var(--rad);color:var(--muted)}
.t-care-l li::before{content:counter(c);grid-row:span 2;font-family:var(--hf);font-style:italic;font-size:44px;color:var(--teal);line-height:1}
.t-care-l b{color:var(--tide);font-size:18px}
@media (max-width:860px){.t-care{grid-template-columns:1fr;gap:20px}}
/* CTA */
.t-cta{position:relative;overflow:hidden;background:var(--teal);color:var(--shell);padding:clamp(64px,9vw,120px) 0;text-align:center;isolation:isolate}
.t-cta .t-rings{left:50%;top:50%;margin:-450px 0 0 -450px;z-index:-1}
.t-cta .t-rings circle{stroke:rgba(251,252,253,.55)}
.t-cta h2{color:var(--shell);max-width:18ch;margin:0 auto 26px}
/* pressure guide */
.t-press-sec{background:linear-gradient(180deg,var(--shell),#E4ECF4)}
.t-press-in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.t-press{background:#fff;border-radius:24px;padding:clamp(24px,3.5vw,40px);box-shadow:0 40px 80px -50px rgba(34,53,74,.6)}
.t-press label{font-weight:700;display:block;margin-bottom:14px}
.t-press input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:44px;background:transparent;margin:0;cursor:pointer}
.t-press input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:99px;background:linear-gradient(90deg,var(--glass),var(--teal) 60%,var(--tide))}
.t-press input[type=range]::-moz-range-track{height:8px;border-radius:99px;background:linear-gradient(90deg,var(--glass),var(--teal) 60%,var(--tide))}
.t-press input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;margin-top:-11px;border-radius:50%;background:var(--shell);border:3px solid var(--teal);box-shadow:0 0 0 6px rgba(198,213,226,.45),0 6px 14px rgba(34,53,74,.35);transition:box-shadow .3s}
.t-press input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--shell);border:3px solid var(--teal);box-shadow:0 0 0 6px rgba(198,213,226,.45)}
.t-press input[type=range]:active::-webkit-slider-thumb{box-shadow:0 0 0 12px rgba(198,213,226,.4),0 6px 14px rgba(34,53,74,.35)}
.t-press-s{display:flex;justify-content:space-between;font-size:14px;color:var(--muted);margin:2px 0 22px}
.t-press-out{border-top:1px solid var(--rule);padding-top:20px;min-height:200px}
.t-press-n{font-family:var(--hf);font-style:italic;font-size:34px;line-height:1.1;margin-bottom:8px}
.t-press-d{color:var(--muted)}
.t-press-out.swap .t-press-n,.t-press-out.swap .t-press-d{animation:t-in .6s var(--ease)}
@media (max-width:860px){.t-press-in{grid-template-columns:1fr;gap:28px}}
.t-room{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.t-room-img img{width:100%;border-radius:28px;aspect-ratio:4/3;object-fit:cover}
.t-room h2{margin-bottom:18px}
.t-room .sx-acc{border-color:#B7C7D6}
.t-room .sx-acc summary{font-family:var(--hf);font-style:italic;font-weight:400;font-size:24px}
@media (max-width:860px){.t-room{grid-template-columns:1fr;gap:28px}}
/* team page */
.t-people{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.t-person figure{margin:0;background:#fff;border-radius:28px;overflow:hidden;height:100%;box-shadow:0 30px 60px -46px rgba(34,53,74,.7)}
.t-person img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;transition:transform 1.4s var(--ease)}
.t-person:hover img{transform:scale(1.04)}
.t-person figcaption{padding:24px 26px 28px;color:var(--muted)}
.t-person h2{font-size:40px;margin-bottom:2px}
.t-role{color:var(--teal);font-weight:700;letter-spacing:.04em;margin-bottom:14px}
.t-person b{color:var(--tide)}
@media (max-width:900px){.t-people{grid-template-columns:1fr;max-width:480px;margin:auto}}
/* booking */
.t-book{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:32px;align-items:start}
.t-book-f,.t-appt-wrap{grid-column:1;background:#fff;border-radius:28px;padding:clamp(22px,3.5vw,44px);box-shadow:0 40px 80px -50px rgba(34,53,74,.6)}
.t-prog{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:30px}
.t-prog li{font-size:13px;font-weight:700;color:var(--muted);text-align:center;padding-bottom:10px;border-bottom:3px solid var(--sand);transition:color .4s,border-color .4s}
.t-prog li.is-on,.t-prog li.is-done{color:var(--tide);border-color:var(--teal)}
.t-step legend{font-family:var(--hf);font-style:italic;font-weight:400;font-size:36px;margin-bottom:18px}
.t-step:not([hidden]){animation:t-in .7s var(--ease)}
.t-step h3{font-size:22px;margin:18px 0 10px;color:var(--teal)}
.t-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.t-opt,.t-who-o{position:relative;cursor:pointer;display:block}
.t-opt input,.t-who-o input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.t-opt span{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1.5px solid var(--field-line);border-radius:16px;transition:border-color .25s,background-color .25s,box-shadow .25s;height:100%}
.t-opt b{font-weight:700}.t-opt small{color:var(--muted);font-size:14px}
.t-opt input:checked+span,.t-who-o input:checked+span{border-color:var(--teal);background:#E4ECF4;box-shadow:inset 0 0 0 1px var(--teal)}
.t-opt input:focus-visible+span,.t-who-o input:focus-visible+span,.t-day-b input:focus-visible+span,.t-slot input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}
.t-opts-wrap[aria-invalid=true] .t-opt span,#t-day[aria-invalid=true],#t-time[aria-invalid=true] .t-slot span{border-color:var(--bad)}
#t-who{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.t-who-o span{display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:12px 14px;border:1.5px solid var(--field-line);border-radius:16px;transition:border-color .25s,background-color .25s,opacity .3s}
.t-who-o img,.t-any{grid-row:span 2;width:56px;height:56px;border-radius:50%;object-fit:cover}
.t-any{background:radial-gradient(circle,var(--glass) 0 30%,transparent 31% 45%,var(--glass) 46% 50%,transparent 51%);border:1.5px solid var(--glass)}
.t-who-o b{font-weight:700}
.t-who-o small{color:var(--muted);font-size:13px}
.t-who-o.is-off{display:none}
.t-note-m{color:var(--teal);font-weight:600}
.t-cal{margin-bottom:22px}
.t-cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.t-cal-h button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--glass);background:transparent;font-size:24px;cursor:pointer;color:var(--tide)}
.t-cal-h button:disabled{opacity:.35;cursor:default}
.t-cal-m{margin:0;font-weight:700}
.t-cal-w,.t-cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.t-cal-w span{text-align:center;font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.06em}
.t-cal-g{margin:6px 0 0;border-radius:12px}
.t-day-b{position:relative;display:block}
.t-day-b input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.t-day-b input:disabled{cursor:default}
.t-day-b span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:54px;border-radius:14px;border:1.5px solid var(--field-line);font-weight:700;transition:background-color .25s,color .25s,border-color .25s}
.t-day-b small{font-weight:600;font-size:11px;color:var(--muted)}
.t-day-b input:disabled+span{border-color:transparent;color:#7E8C9A;background:#E3E9EF;text-decoration:line-through}
.t-day-b input:checked+span{background:var(--teal);border-color:var(--teal);color:var(--shell)}.t-day-b input:checked+span small{color:var(--shell)}
.t-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.t-slots>p{grid-column:1/-1}
.t-slot{position:relative;display:block}
.t-slot input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.t-slot span{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;border:1.5px solid var(--field-line);font-weight:700;font-size:15px;transition:background-color .25s,color .25s}
.t-slot input:checked+span{background:var(--tide);border-color:var(--tide);color:var(--shell)}
.t-slot.pop{animation:t-in .5s calc(var(--i)*25ms) var(--ease) both}
.t-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.t-opt-l{font-weight:400;color:var(--muted)}
.t-check label{display:flex;align-items:center;gap:10px;font-weight:600;min-height:44px}
.t-check input{width:20px;height:20px;accent-color:var(--teal)}
.t-demo{font-size:14px;color:var(--muted);background:#DDE6EE;padding:10px 14px;border-radius:12px}
.t-nav-b{display:flex;justify-content:space-between;gap:12px;margin-top:20px}
.t-nav-b .sx-btn:only-child{margin-left:auto}
.t-sum{position:sticky;top:110px}
.t-sum-in{background:rgba(198,213,226,.35);border:1px solid rgba(198,213,226,.8);border-radius:24px;padding:26px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.t-sum dl{margin:0;display:grid;gap:2px}
.t-sum dt{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#3B5A7C;margin-top:10px}
.t-sum dd{margin:0;font-weight:600}
.t-sum dd.flash{animation:t-flash .9s var(--ease)}
@keyframes t-flash{from{color:var(--teal);transform:translateX(4px)}}
/* the confirmation looks like the guide's appointment card */
.t-appt{display:flex;max-width:520px;border-radius:20px;overflow:hidden;border:1px solid var(--rule);box-shadow:0 20px 40px -24px rgba(34,53,74,.5);margin:8px 0 24px;animation:t-rise 1s var(--ease) both}
.t-appt-l{width:120px;flex:none;background:var(--sand);display:grid;place-items:center;padding:16px}
.t-appt-l svg{width:72px;height:72px}
.t-appt-r{flex:1;padding:20px 22px;background:var(--shell)}
.t-appt-h{font-family:var(--hf);font-style:italic;font-size:30px;margin:0 0 6px}
.t-appt-row{display:flex;gap:10px;align-items:baseline;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin:10px 0 0;color:var(--muted)}
.t-appt-row span{flex:1;border-bottom:1px solid #9DB2C6;letter-spacing:0;text-transform:none;font-size:16px;color:var(--tide);padding-bottom:2px}
@media (max-width:900px){.t-book{grid-template-columns:1fr}.t-sum{position:static;grid-row:1}.t-opts,#t-who,.t-2{grid-template-columns:1fr}.t-slots{grid-template-columns:repeat(3,1fr)}.t-step legend{font-size:30px}.t-prog li{font-size:12px}}
@media (max-width:420px){.t-appt{flex-direction:column}.t-appt-l{width:auto}}
/* footer */
.sx-foot{position:relative;overflow:hidden;background:var(--tide);color:#D5E0EA;padding:72px 0 0;font-size:15px}
.t-foot-rings{position:absolute;right:-200px;bottom:-260px;width:560px;height:560px;border-radius:50%;border:1px solid rgba(198,213,226,.22);box-shadow:0 0 0 70px transparent,0 0 0 71px rgba(198,213,226,.14),0 0 0 150px transparent,0 0 0 151px rgba(198,213,226,.08)}
.sx-foot-in{position:relative;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
.sx-foot h2{font-family:var(--bf);font-style:normal;font-size:12.5px;letter-spacing:.28em;text-transform:uppercase;font-weight:700;color:var(--glass);margin-bottom:14px}
.sx-foot ul{list-style:none;display:grid;gap:8px}
.sx-foot a{text-decoration:none}.sx-foot a:hover{color:#fff}
.sx-foot .sx-wm,.sx-foot .sx-wm b{color:var(--shell)}.sx-foot .sx-wm small{color:var(--glass)}
.sx-foot-lead p{font-family:var(--hf);font-style:italic;font-size:26px;color:var(--shell);margin:18px 0 22px}
.sx-foot .sx-btn{background:var(--shell);color:var(--tide);border-color:var(--shell)}
.sx-foot-base{position:relative;border-top:1px solid rgba(198,213,226,.22);margin-top:52px;padding:18px 0 22px;font-size:14px}
.sx-foot-base p{margin:0}.sx-foot-base a{text-decoration:underline}
@media (max-width:900px){.sx-foot-in{grid-template-columns:1fr 1fr}.sx-foot-lead{grid-column:1/-1}}
/* icon on dark: the guide's dark version */
.sx-foot .sx-ic path[fill="#22354A"]{fill:#FBFCFD}.sx-foot .sx-ic path[stroke="#22354A"]{stroke:#FBFCFD}.sx-foot .sx-ic path[stroke="#3B5A7C"]{stroke:#C6D5E2}.sx-foot .sx-ic circle{opacity:.16}
/* owner view demo */
.t-own{margin-top:24px}
.t-own-b,.t-own-r{min-height:44px;padding:10px 18px;border-radius:999px;border:1.5px dashed var(--teal);background:transparent;color:var(--teal);font-weight:700;cursor:pointer;transition:background-color .3s,color .3s}
.t-own-b[aria-pressed=true]{background:var(--teal);color:var(--shell);border-style:solid}
.t-own-n{margin-top:14px;padding:14px 16px;border-radius:16px;background:rgba(233,207,196,.35);font-size:14.5px}
.t-own-n p{margin:0 0 10px}
.t-own-r{min-height:40px;padding:6px 14px;font-size:14px}
.t-svcs.is-owner [contenteditable]{outline:1.5px dashed var(--glass);outline-offset:3px;border-radius:6px;cursor:text;transition:background-color .2s}
.t-svcs.is-owner [contenteditable]:focus{outline:2px solid var(--teal);background:#fff}
/* ===== Distinct layout language (Oct 26, 2026): centered, arches, ripples ===== */
/* header: the mark sits in the middle, the links split around it */
.sx-head{background:rgba(233,239,244,.82)}
.sx-head.is-scrolled{background:rgba(233,239,244,.92)}
.sx-head-in{min-height:84px}
@media (min-width:901px){
 .sx-head-in{position:relative}
 .sx-head .sx-brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);flex-direction:column;gap:4px;text-align:center}
 .sx-head .sx-brand .sx-ic{width:36px;height:36px}
 .sx-head .sx-brand .sx-wm{align-items:center}
 .sx-head .sx-brand .sx-wm b{font-size:26px}
 .sx-head .sx-brand .sx-wm small{font-size:9px;padding-left:.42em}
 .sx-head-in{min-height:96px}
 .sx-nav{flex:1;gap:4px}
 .sx-nav a:nth-child(3){margin-left:auto}
}
/* hero: centered words, then one wide arch of the salon with ripples spreading behind it */
.t-hero{display:block;min-height:0;padding:clamp(48px,7vw,96px) 0 0;text-align:center;background:radial-gradient(70% 60% at 50% 100%,rgba(198,213,226,.7),transparent 70%),var(--mist)}
.t-hero::before{display:none}
.t-hero-in{padding:0}
.t-glass{max-width:760px;margin:0 auto;padding:0;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.t-glass .t-lead{margin-inline:auto;color:var(--muted)}
.t-glass h1{font-size:clamp(44px,6vw,84px)}
.t-acts{justify-content:center}
.t-hero-img{position:relative;inset:auto;z-index:1;width:min(920px,calc(100% - 48px));aspect-ratio:16/10;margin:clamp(40px,5vw,64px) auto 0;border-radius:50% 50% 0 0/46% 46% 0 0;overflow:hidden;isolation:isolate}
.t-hero-img img{position:absolute;inset:-6% 0;height:112%}
.t-caustic{z-index:1}
.t-rings-hero{left:50%;top:auto;bottom:-450px;margin:0 0 0 -450px;width:900px;height:900px;z-index:0}
.t-rings-hero circle{stroke:var(--teal);stroke-width:1.1}
.t-hero .sx-wrap{position:relative;z-index:1}
@media (max-width:760px){
 .t-hero{padding-top:36px}
 .t-hero-in{margin-block:0;padding:0 0 4px}
 .t-hero-img{height:auto;width:calc(100% - 36px);aspect-ratio:4/5;min-height:0;margin-top:32px}
 .t-acts .sx-btn{flex:1 1 100%;justify-content:center}
 .t-rings-hero{display:block;width:600px;height:600px;margin-left:-300px;bottom:-300px}
}
/* trio: no boxes, arch-topped photos and centered names */
.t-three h2{margin-inline:auto}
.t-card{background:none;box-shadow:none;border-radius:0;text-align:center;overflow:visible}
.t-card:hover{box-shadow:none}
.t-card-img{aspect-ratio:4/5;border-radius:999px 999px 0 0/50% 50% 0 0;overflow:hidden}
.t-card-t{padding:22px 10px 0}
.t-card-t b{font-weight:300;font-size:38px}
/* the calm band is the dark harbor blue */
.t-calm{background:var(--tide)}
.t-calm h2{margin-bottom:14px}
.t-day li.t-gap{color:var(--blush)}
/* sections centre their headings */
.t-plan-sec{background:radial-gradient(60% 80% at 50% 0,rgba(198,213,226,.6),transparent 70%),var(--mist)}
.t-plan,.t-press,.t-book-f,.t-appt-wrap,.t-person figure{box-shadow:none;border:1px solid #fff;background:var(--shell)}
.t-meet{text-align:center;grid-template-columns:1fr}
.t-meet .t-minis{max-width:760px;margin:0 auto}
.t-meet p{margin-inline:auto}
.t-visit{background:var(--mist)}
.t-visit-card{border-radius:999px 999px 28px 28px/320px 320px 28px 28px;padding-top:clamp(64px,8vw,96px);background:var(--sand)}
.t-sand{background:var(--sand)}
/* inner page heads: centered, image as an arch below the words */
.t-ph{text-align:center;background:linear-gradient(180deg,#DDE6EE,var(--mist));padding:clamp(48px,6vw,80px) 0 clamp(40px,5vw,64px)}
.t-ph .t-rings{left:50%;right:auto;margin-left:-450px;top:-420px}
.t-ph-in,.t-ph.has-img .t-ph-in{grid-template-columns:1fr;justify-items:center;gap:32px}
.t-ph h1{margin-inline:auto;max-width:18ch}
.t-ph .t-lead{margin-inline:auto}
.t-ph-img{width:min(440px,100%)}
.t-ph-img img{aspect-ratio:4/3;border-radius:999px 999px 0 0/75% 75% 0 0;box-shadow:none}
@media (max-width:860px){.t-ph-img{max-width:none;width:100%}.t-ph-img img{aspect-ratio:4/3}}
.t-person figure{border-radius:999px 999px 28px 28px/240px 240px 28px 28px;text-align:center}
.t-room-img img{border-radius:999px 999px 0 0/60% 60% 0 0}
.t-gal{grid-template-columns:repeat(4,1fr)}
.t-gal a{border-radius:999px 999px 0 0/40% 40% 0 0}
.t-gal li:nth-child(3n+2){margin-top:0}.t-gal li:nth-child(even){margin-top:40px}
@media (max-width:760px){.t-gal{grid-template-columns:1fr 1fr}.t-gal li:nth-child(even){margin-top:24px}}
.t-cta{background:var(--teal)}
.t-cta .sx-btn-light{color:var(--tide)}
/* booking page: no extra gap under the header; on phones the form comes first, the summary after it */
.t-book-sec{padding-top:clamp(28px,4vw,48px)}
.t-ph:not(.has-img){padding-bottom:clamp(24px,3vw,40px)}
@media (max-width:900px){.t-sum{grid-row:auto}}
.t-meet h2{margin-bottom:14px}
