@font-face{font-family:'General Sans';src:url('assets/fonts/general-sans-regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:'General Sans';src:url('assets/fonts/general-sans-medium.woff2') format('woff2');font-weight:500 700;font-display:swap}@font-face{font-family:'Bodoni Moda';src:url('assets/fonts/bodoni-moda-italic.ttf') format('truetype');font-style:italic;font-weight:400;font-display:swap}
:root{--paper:oklch(92.9% .012 90);--ink:oklch(29% .035 205);--muted:oklch(45% .025 205);--rule:oklch(75% .022 190);--copper:oklch(52% .115 42);--dark:oklch(25% .029 205);--light:oklch(91% .014 90);--space-xs:.5rem;--space-sm:.75rem;--space-md:1.5rem;--space-lg:3rem;--space-xl:6rem;--gutter:clamp(1.25rem,4.4vw,6rem);--ease:cubic-bezier(.22,1,.36,1);--sans:'General Sans',sans-serif;--serif:'Bodoni Moda',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;font-weight:400;-webkit-font-smoothing:antialiased}::selection{background:var(--copper);color:var(--paper)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.5}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--copper);outline-offset:6px}p{line-height:1.65}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}em{font-family:var(--serif);font-weight:400;line-height:1.12}button{border:0;background:none}svg{display:block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;z-index:30;top:8px;left:8px;padding:16px;background:var(--ink);color:var(--paper);transform:translateY(-200%)}.skip-link:focus{transform:none}
.header{position:absolute;z-index:10;top:0;left:0;width:100%;padding:24px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:28px}.brand-logo{display:block;width:auto;height:84px;margin:0}.wordmark{font-size:64px;font-weight:500;letter-spacing:-6px;line-height:.85;position:relative}.brand-dot{position:absolute;font-size:11px;letter-spacing:0;top:3px;right:-14px}.brand-description{font-size:.56rem;line-height:1.5;letter-spacing:.1em}.header nav{display:flex;align-items:center;gap:40px;font-size:.75rem}.nav-link{position:relative;padding:14px 0}.nav-link:after{content:'';position:absolute;bottom:6px;left:0;right:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.nav-link:hover:after{transform:scaleX(1)}.btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 30px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:.8rem;font-weight:500;letter-spacing:.01em;white-space:nowrap;text-align:center;transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease)}.btn:before,.btn:after{content:'';position:absolute;z-index:-1;inset:0;border-radius:inherit;border:1px solid var(--copper);opacity:0;transform:scale(1);pointer-events:none}.btn:hover{background:var(--dark);transform:translateY(-1px)}.btn:hover:before{animation:btn-contour 1.1s var(--ease) forwards}.btn:hover:after{animation:btn-contour 1.1s var(--ease) .18s forwards}.btn:active{transform:translateY(0)}@keyframes btn-contour{0%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(1.28)}}.btn-lg{height:60px;padding:0 36px;font-size:.9rem}.btn-light{background:var(--paper);color:var(--ink)}.btn-light:hover{background:#fff;color:var(--ink)}.appointment-link{position:fixed;top:40px;right:var(--gutter);z-index:20;box-shadow:0 0 0 3px var(--paper)}.appointment-link:hover{box-shadow:0 0 0 3px var(--paper),0 12px 28px -16px oklch(25% .03 205 / .9)}.header nav{padding-right:calc(var(--cta-w,128px) + 40px)}
.experience{position:relative;height:440svh;min-height:2800px}.stage{height:100svh;min-height:680px;position:sticky;top:0;overflow:hidden;isolation:isolate}.stage-rules{position:absolute;inset:0;pointer-events:none;z-index:0}.rule-top,.rule-bottom{position:absolute;left:var(--gutter);right:var(--gutter);height:1px;background:var(--rule);opacity:.6}.rule-top{top:130px}.rule-bottom{bottom:54px}.ruler{position:absolute;width:8px;top:160px;bottom:130px;background:repeating-linear-gradient(to bottom,var(--rule) 0,var(--rule) 1px,transparent 1px,transparent 12px);opacity:.6}.ruler-left{left:18px}.ruler-right{right:18px}.cross{position:absolute;width:11px;height:11px}.cross:before,.cross:after{content:'';position:absolute;background:var(--ink);opacity:.5}.cross:before{height:1px;left:0;right:0;top:5px}.cross:after{width:1px;top:0;bottom:0;left:5px}.cross-a{top:140px;left:48%}.cross-b{bottom:155px;right:5%}.hero-overline{position:absolute;top:142px;left:var(--gutter);font-size:.56rem;letter-spacing:.13em;display:flex;align-items:center;gap:10px;z-index:3}.status-dot{width:5px;height:5px;background:var(--copper);border-radius:50%}.hero-title{line-height:.95;letter-spacing:-.075em;position:absolute;inset:0;pointer-events:none;z-index:1}.title-first{position:absolute;top:21%;left:calc(var(--gutter) - .04em);font-size:clamp(6rem,10.8vw,12rem)}.title-second{position:absolute;right:var(--gutter);top:59%;font-size:clamp(7rem,12.5vw,14rem);letter-spacing:-.065em}.hero-note{position:absolute;top:172px;right:var(--gutter);width:207px;z-index:3}.micro,.eyebrow{font-size:.56rem;letter-spacing:.12em;line-height:1.5}.hero-note p{font-size:.875rem;line-height:1.6;margin-top:16px}.sculpture{position:absolute;inset:0;z-index:2;pointer-events:none}.sculpture canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity .9s var(--ease);touch-action:pan-y;pointer-events:auto;cursor:grab}.sculpture canvas:active{cursor:grabbing}.sculpture.ready canvas{opacity:1}.poster{position:absolute;top:12%;left:24%;height:78%;width:58%;object-fit:contain;transition:opacity .7s var(--ease)}.sculpture.ready .poster{opacity:0}.specimen-label{position:absolute;right:6.4%;top:45%;display:flex;gap:12px;align-items:center;z-index:3;pointer-events:none}.label-line{width:44px;height:1px;background:var(--ink);opacity:.4;position:relative}.label-line:before{content:'';position:absolute;left:-3px;top:-2px;border:1px solid var(--ink);width:5px;height:5px;border-radius:50%;background:var(--paper)}.specimen-label b{font-size:.5rem;letter-spacing:.08em;font-weight:500}.specimen-label small{display:block;font-size:.67rem;color:var(--muted);margin-top:6px}.hero-intro{position:absolute;z-index:4;left:var(--gutter);bottom:120px}.hero-cta{margin-bottom:34px}.hero-intro>p{font-size:clamp(1.25rem,1.6vw,1.75rem);line-height:1.3;letter-spacing:-.03em}.text-link{display:inline-flex;align-items:center;padding:15px 0 10px;border-bottom:1px solid color-mix(in oklch,currentColor 40%,transparent);font-size:.8rem;line-height:1.4}.text-link:hover{border-bottom-color:var(--copper)}.hero-intro .text-link{margin-top:12px;font-size:.68rem}.scroll-cue{position:absolute;left:50%;bottom:87px;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:13px;font-size:.5rem;letter-spacing:.12em;min-height:44px}.scroll-track{height:32px;width:1px;background:var(--rule);position:relative;overflow:hidden}.scroll-track:after{content:'';position:absolute;top:-16px;height:16px;width:1px;background:var(--ink);animation:scroll-line 2s var(--ease) infinite}@keyframes scroll-line{to{transform:translateY(48px)}}.scene-controls{position:absolute;right:var(--gutter);bottom:86px;display:flex;gap:20px;z-index:6}.scene-controls button{display:flex;align-items:center;gap:6px;padding:10px 2px;min-height:44px;font-size:18px}.scene-controls button span{font-size:.61rem}.scene-controls button:hover{color:var(--copper)}.stage-bottom{position:absolute;z-index:3;left:var(--gutter);right:var(--gutter);bottom:21px;display:flex;align-items:center;gap:40px;font-size:.5rem;letter-spacing:.12em}.stage-index{color:var(--muted);font-variant-numeric:tabular-nums}.stage-index b{color:var(--ink);font-weight:500}.visual-caption{margin-left:auto;letter-spacing:.03em;color:var(--muted)}.chapter-visual-label{position:absolute;top:152px;left:var(--gutter);opacity:0;z-index:3;display:flex;align-items:center;gap:30px}.chapter-visual-label>span{font-size:4.5rem;letter-spacing:-.075em}.chapter-visual-label small{font-size:.5rem;letter-spacing:.1em;max-width:70px;line-height:1.8}.narrative{position:relative;margin-top:-100svh;z-index:5;pointer-events:none}.opening-spacer{height:110svh;min-height:748px}.chapter{height:100svh;min-height:680px;display:flex;align-items:center;justify-content:flex-end;padding:0 8.5% 0 var(--gutter);scroll-margin-top:0}.chapter-copy{width:34%;max-width:480px;pointer-events:auto}.chapter-copy .eyebrow{display:block;color:var(--copper);margin-bottom:28px}.chapter h2{font-size:clamp(2.75rem,4.5vw,5rem);line-height:1.03;letter-spacing:-.055em;margin-bottom:28px}.chapter-copy>p{font-size:1rem;line-height:1.65;max-width:29ch}.chapter-copy .chapter-detail{font-size:.82rem;color:var(--muted);margin-top:18px;max-width:34ch}.chapter-footnote{font-size:.5rem;letter-spacing:.09em;display:flex;align-items:center;gap:10px;margin-top:40px}.chapter-footnote i{height:6px;width:6px;border:1px solid var(--copper);border-radius:50%}.chapter .text-link{margin-top:28px}.stage.chapter-mode .specimen-label{opacity:0}.stage.chapter-mode .scene-controls{right:auto;left:var(--gutter)}
.section-pad{padding:90px var(--gutter)}.section-kicker{display:flex;justify-content:space-between;gap:24px;font-size:.55rem;letter-spacing:.12em;line-height:1.6}.manifesto{position:relative;background:var(--dark);color:var(--light);padding-top:60px;padding-bottom:72px}.manifesto h2{font-size:clamp(3rem,6vw,7rem);line-height:1.08;letter-spacing:-.055em;margin-top:95px;max-width:1300px}.manifesto h2 em{color:oklch(77% .04 78)}.manifesto-bottom{margin-top:72px;display:flex;justify-content:space-between;align-items:end;gap:48px}.manifesto-bottom p{max-width:410px;font-size:.875rem;color:oklch(79% .02 150)}.coordinate{font-size:.5rem;line-height:1.8;letter-spacing:.1em;color:oklch(71% .02 160)}.care{padding-top:70px;padding-bottom:110px}.care-layout{display:grid;grid-template-columns:38% 1fr;gap:13%;margin-top:65px;align-items:center}.portrait{position:relative}.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;filter:grayscale(100%);mix-blend-mode:multiply}.portrait:before{content:'FEEL / PEOPLE';position:absolute;right:10px;top:12px;color:var(--paper);font-size:.48rem;letter-spacing:.15em;z-index:1}.portrait figcaption{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--rule);margin-top:16px;padding-top:12px;font-size:.58rem;letter-spacing:.09em}.care h2,.details-section h2{font-size:clamp(2.4rem,3.9vw,4.6rem);line-height:1.1;letter-spacing:-.055em}.care-lead{font-size:1.25rem;line-height:1.5;margin:35px 0 20px;letter-spacing:-.02em}.care-copy>p:not(.care-lead){max-width:39ch;color:var(--muted);font-size:.875rem}.care-copy .text-link{margin-top:25px}blockquote{margin:50px 0 0;padding-top:30px;border-top:1px solid var(--rule);max-width:445px}blockquote>p{font-family:var(--serif);font-style:italic;font-size:1.65rem;line-height:1.4}blockquote footer{font-size:.5rem;letter-spacing:.09em;margin-top:22px;display:flex;justify-content:space-between}blockquote footer span{color:var(--muted);letter-spacing:0}.details-section{background:oklch(89% .016 90);padding-top:65px;padding-bottom:100px}.details-layout{display:grid;grid-template-columns:1fr 1fr;gap:13%;margin-top:65px}.details-intro{font-size:.875rem;color:var(--muted);margin-top:28px}.price-list{margin-top:44px;max-width:420px}.price-list>div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--rule);font-size:.8rem;align-items:center}.price-list strong{font-size:1.5rem;font-weight:400;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.price-note{font-size:.62rem;color:var(--muted);margin-top:15px;max-width:370px}.questions details{border-top:1px solid var(--rule)}.questions details:last-child{border-bottom:1px solid var(--rule)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.875rem;padding:26px 0}summary::-webkit-details-marker{display:none}summary span{font-size:22px;font-weight:400;transition:transform .25s var(--ease)}details[open] summary span{transform:rotate(45deg)}.questions details>p{font-size:.82rem;color:var(--muted);max-width:48ch;padding-bottom:28px}.questions details a{border-bottom:1px solid var(--muted);display:inline-block;margin-top:12px;color:var(--ink)}.visit{background:var(--dark);color:var(--light);padding-top:60px;padding-bottom:28px;overflow:hidden}.visit-layout{display:grid;grid-template-columns:1fr 1fr;gap:13%;margin-top:75px}.visit h2{font-size:clamp(3.5rem,5.5vw,6rem);letter-spacing:-.06em;line-height:1.04}.visit h2 em{color:oklch(78% .048 75)}.visit-layout>div>p{font-size:.875rem;color:oklch(79% .018 150);margin-top:30px}.contact-phone{font-size:1.5rem;letter-spacing:-.035em;margin-top:36px;display:block;width:fit-content}.contact-email{display:block;font-size:.75rem;margin-top:15px;width:fit-content}form label{display:block;font-size:.82rem;line-height:1.5;color:var(--light)}form label>span{color:oklch(78% .015 150);font-size:.74rem}form label>input,form label>textarea{margin-top:10px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}input,textarea{width:100%;border:1px solid oklch(58% .025 190);border-radius:6px;background:oklch(30% .03 205);color:var(--paper);padding:15px 18px;font-size:1rem;line-height:1.5;resize:vertical;transition:border-color .2s,background .2s,box-shadow .2s}input::placeholder,textarea::placeholder{color:oklch(70% .015 150)}input:hover,textarea:hover{border-color:oklch(72% .025 190)}input:focus-visible,textarea:focus-visible{outline:0;border-color:oklch(78% .1 42);background:oklch(32% .03 205);box-shadow:0 0 0 3px oklch(52% .115 42 / .45)}form>label{margin-top:26px}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px}.form-footer>p{font-size:.74rem;line-height:1.6;color:oklch(82% .015 150);max-width:30ch}.form-status{font-size:.85rem;line-height:1.5;min-height:1.7em;margin-top:16px;color:oklch(86% .04 75)}.form-status:not(:empty){padding:12px 16px;border-radius:6px;background:oklch(32% .03 205);border:1px solid oklch(52% .115 42 / .6)}.footer-wordmark{font-size:clamp(15rem,35vw,40rem);line-height:.9;letter-spacing:-.09em;font-weight:500;margin-left:-.055em;margin-top:90px;position:relative;width:fit-content}.footer-wordmark>span{font-size:.035em;position:absolute;top:.65em;right:-1.8em;letter-spacing:0;font-weight:400}.footer{display:flex;justify-content:space-between;gap:24px;padding-top:36px;border-top:1px solid oklch(43% .02 180);margin-top:22px;font-size:.5rem;letter-spacing:.07em}.footer a{padding:10px 0;margin-top:-10px;min-height:44px}
@media(min-width:1700px){.care-layout,.details-layout,.visit-layout{max-width:1560px;margin-left:auto;margin-right:auto}.chapter-copy{width:35%}.stage{max-height:none}}
@media(max-width:1050px){.header nav{gap:24px}.brand-description{display:none}.hero-note{width:175px}.hero-note p{font-size:.8rem}.title-first{font-size:12vw}.title-second{font-size:14vw;top:62%}.specimen-label{right:5%;top:48%}.specimen-label .label-line{width:24px}.chapter{padding-right:6%}.chapter-copy{width:38%}.care-layout{gap:8%;grid-template-columns:40% 1fr}.care-lead{font-size:1.1rem}.details-layout,.visit-layout{gap:7%}.form-footer{align-items:start;flex-direction:column;gap:16px}.manifesto h2{font-size:6.4vw}}
/* ---------- Mobile (≤700px): a flow layout, not a scaled-down desktop ---------- */
.mobile-cta{display:none}
@media(max-width:700px){
:root{--gutter:22px}html{scroll-padding-top:84px}
.header{padding:16px var(--gutter)}.brand-logo{height:56px;margin:0}.header .nav-link{display:none}.header nav{padding-right:0;gap:0}.appointment-link{position:static;box-shadow:none;height:42px;padding:0 18px;font-size:.74rem}.appointment-link:hover{box-shadow:none}
.btn{height:48px;padding:0 22px}
/* Hero: one grid, everything in flow. The foot gets a full-bleed band of its own. */
.experience{height:auto;min-height:0}
.stage{position:relative;height:auto;min-height:0;overflow:hidden;padding:98px var(--gutter) 0;display:grid;grid-template-columns:1fr auto;grid-template-areas:"overline overline" "title title" "note note" "sculpture sculpture" "caption caption" "intro intro";align-items:center}
.stage-rules .ruler,.stage-rules .cross,.rule-bottom{display:none}.rule-top{top:88px}
.hero-overline{grid-area:overline;position:static;font-size:.625rem;letter-spacing:.14em;gap:8px}
.hero-title{grid-area:title;position:relative;inset:auto;pointer-events:auto;margin-top:20px;line-height:.9}
.title-first{position:static;display:block;font-size:clamp(3.6rem,17vw,4.6rem);margin-left:-.05em}
.title-second{position:static;display:block;font-size:clamp(4.2rem,19.5vw,5.3rem);letter-spacing:-.06em;margin:-.04em 0 0 -.02em;line-height:1}
.hero-note{grid-area:note;position:static;width:auto;margin-top:16px}.hero-note .micro{display:none}.hero-note p{font-size:.95rem;line-height:1.5;margin:0;max-width:27ch}.hero-note br,.care-lead br{display:none}
.sculpture{grid-area:sculpture;position:relative;inset:auto;height:clamp(300px,47svh,430px);margin:6px calc(-1*var(--gutter)) 0;pointer-events:auto}
.poster{top:0;left:0;width:100%;height:100%}
.specimen-label,.chapter-visual-label{display:none}
.stage-bottom{grid-area:caption;position:static;display:flex;align-items:center;gap:12px;font-size:.625rem;letter-spacing:.14em;padding:14px 0;border-top:1px solid var(--rule)}.visual-caption{display:none}
.scene-controls{grid-area:caption;position:static;display:flex;gap:14px;padding:0;justify-self:end;align-self:center}.scene-controls button{font-size:16px;gap:5px;padding:8px 0;min-height:40px}.scene-controls button span{font-size:.7rem}.scene-controls #reset{display:none}
.hero-intro{grid-area:intro;position:static;display:flex;flex-direction:column;margin-top:22px;max-width:none;padding-bottom:34px}.hero-intro>p{order:1;font-size:1.2rem;line-height:1.3;letter-spacing:-.03em}.hero-cta{order:2;margin:18px 0 0}.hero-cta .btn{width:100%;height:56px;font-size:.95rem;padding:0 24px}.hero-intro .text-link{order:3;align-self:flex-start;font-size:.85rem;max-width:none;margin-top:12px;padding:12px 0 8px}
.scroll-cue{display:none}
/* Chapters: the illustration sits between the heading and the copy, cropped to its subject. */
.narrative{margin-top:0;pointer-events:auto}.opening-spacer{display:none}
.chapter{height:auto;min-height:0;padding:52px var(--gutter) 56px;display:block;border-top:1px solid var(--rule)}
.chapter-copy{width:100%;max-width:none;display:flex;flex-direction:column;position:relative}
.chapter-copy .eyebrow{order:1;font-size:.625rem;letter-spacing:.14em;margin-bottom:16px}
.chapter h2{order:2;font-size:clamp(2.55rem,11.4vw,3.4rem);line-height:1;margin-bottom:0}
.chapter-copy:after{content:'';order:3;display:block;height:clamp(250px,68vw,320px);margin:18px calc(-1*var(--gutter)) 22px;background:url('assets/poster.png?v=continuous-rim-20260924') 50% 50%/auto 118% no-repeat}
.chapter-scan .chapter-copy:after{background-image:url('assets/scan-poster.webp?v=continuous-rim-20260924');background-size:auto 118%;background-position:50% 48%}
.chapter-shape .chapter-copy:after{background-image:url('assets/shape-poster.webp?v=continuous-rim-20260924');background-size:auto 168%;background-position:50% 54%}
.chapter-fit .chapter-copy:after{background-image:url('assets/fit-poster.webp?v=continuous-rim-20260924');background-size:auto 135%;background-position:50% 27%}
.chapter:after{display:none}
.chapter-copy>p{order:4;font-size:1rem;max-width:34ch}.chapter-copy .chapter-detail{order:5;font-size:.9rem;max-width:36ch;margin-top:14px}
.chapter-footnote{order:6;font-size:.625rem;letter-spacing:.12em;margin-top:24px}.chapter .text-link{order:6;width:fit-content;margin-top:22px;font-size:.9rem}
/* Sections */
.section-pad{padding:60px var(--gutter)}
.section-kicker{flex-direction:column;gap:6px;font-size:.625rem;letter-spacing:.14em}.section-kicker>span:last-child{text-align:left;opacity:.72}
.manifesto{padding-top:56px;padding-bottom:64px}.manifesto h2{font-size:clamp(2.3rem,9.6vw,3.6rem);margin-top:40px;line-height:1.1;letter-spacing:-.05em}.manifesto-bottom{margin-top:36px;flex-direction:column-reverse;align-items:start;gap:28px}.manifesto-bottom p{max-width:34ch}.coordinate{font-size:.625rem;letter-spacing:.12em}
.care{padding-top:56px;padding-bottom:72px}.care-layout{grid-template-columns:1fr;gap:34px;margin-top:32px}.portrait{width:100%}.portrait:before{font-size:.625rem}.portrait figcaption{font-size:.625rem;letter-spacing:.12em}.care h2,.details-section h2{font-size:clamp(2.3rem,10vw,3rem)}.care-lead{font-size:1.15rem;margin:24px 0 16px}.care-copy>p:not(.care-lead){max-width:none}.care-copy .text-link{font-size:.9rem}blockquote{margin-top:36px;padding-top:24px;max-width:none}blockquote>p{font-size:1.35rem}blockquote footer{font-size:.625rem;letter-spacing:.12em;margin-top:18px}
.details-section{padding-top:56px;padding-bottom:64px}.details-layout,.visit-layout{grid-template-columns:1fr;gap:40px;margin-top:32px}.details-intro{margin-top:20px}.details-intro br{display:none}.price-list{margin-top:28px;max-width:none}.price-list>div{font-size:.9rem}.price-list strong{font-size:1.4rem}.price-note{font-size:.72rem;max-width:none}summary{font-size:.95rem;padding:20px 0}.questions details>p{padding-bottom:24px;max-width:none}
.visit{padding-top:56px;padding-bottom:22px}.visit h2{font-size:clamp(2.8rem,13vw,3.8rem)}.visit-layout>div>p{margin-top:22px}.visit-layout>div>p br{display:none}.contact-phone{font-size:1.6rem;margin-top:26px;padding:6px 0}.contact-email{font-size:.9rem;margin-top:8px;padding:6px 0}
.field-pair{grid-template-columns:1fr;gap:0}.field-pair label+label{margin-top:22px}form>label{margin-top:22px}form label{font-size:.85rem}input,textarea{font-size:16px;padding:14px 16px}textarea{min-height:112px}.form-footer{flex-direction:column-reverse;align-items:stretch;gap:18px;margin-top:26px}.form-footer button{width:100%;height:56px;justify-content:center;font-size:.95rem}.form-footer>p{font-size:.78rem;max-width:none}.form-footer>p br{display:none}
.footer-wordmark{margin-top:56px;font-size:41vw;margin-left:-.05em}.footer-wordmark>span{font-size:.05em;right:-1.4em}.footer{gap:16px;font-size:.625rem;letter-spacing:.1em;padding-top:22px;flex-wrap:wrap}.footer>span:nth-child(2){display:none}
/* Floating booking pill: appears once the hero has scrolled away, retires at the form. */
.mobile-cta{display:inline-flex;position:fixed;z-index:25;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%,150%);opacity:0;height:52px;padding:0 26px;font-size:.85rem;box-shadow:0 0 0 3px var(--paper),0 16px 30px -14px oklch(25% .03 205 / .85);transition:transform .45s var(--ease),opacity .3s var(--ease);pointer-events:none}
body.cta-visible .mobile-cta{transform:translate(-50%,0);opacity:1;pointer-events:auto}
}
@media(max-width:360px){:root{--gutter:18px}.header{padding-left:18px;padding-right:18px}.title-first{font-size:3.4rem}.title-second{font-size:3.9rem}.chapter h2{font-size:2.4rem}.care h2,.details-section h2{font-size:2.2rem}.visit h2{font-size:2.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.experience{height:auto;min-height:0}.stage{position:relative}.narrative{margin-top:0}.opening-spacer{display:none}.chapter{min-height:580px;height:auto;padding-top:70px;padding-bottom:70px;justify-content:space-between;border-top:1px solid var(--rule)}.chapter:before{content:'';display:block;width:50%;height:400px;background:url('assets/poster.png?v=continuous-rim-20260924') center/contain no-repeat}.chapter-scan:before{background-image:url('assets/scan-poster.webp?v=continuous-rim-20260924')}.chapter-shape:before{background-image:url('assets/shape-poster.webp?v=continuous-rim-20260924')}.chapter-fit:before{background-image:url('assets/fit-poster.webp?v=continuous-rim-20260924')}.chapter-copy{width:40%}.sculpture canvas{cursor:default}}
@media(prefers-reduced-motion:reduce) and (max-width:700px){.chapter:before{display:none}.chapter-copy{width:100%}.chapter{min-height:0}}
.no-webgl .experience{height:auto;min-height:0}.no-webgl .stage{position:relative}.no-webgl .narrative{margin-top:0}.no-webgl .opening-spacer{display:none}.no-webgl .chapter{height:auto;min-height:550px;padding-top:80px;padding-bottom:80px;justify-content:space-between}.no-webgl .chapter:before{content:'';width:50%;height:400px;background:url('assets/poster.png?v=continuous-rim-20260924') center/contain no-repeat}.no-webgl .chapter-scan:before{background-image:url('assets/scan-poster.webp?v=continuous-rim-20260924')}.no-webgl .chapter-shape:before{background-image:url('assets/shape-poster.webp?v=continuous-rim-20260924')}.no-webgl .chapter-fit:before{background-image:url('assets/fit-poster.webp?v=continuous-rim-20260924')}.no-webgl .scene-controls{display:none}
@media(max-width:700px){.no-webgl .chapter:before{display:none}.no-webgl .chapter{min-height:0}}

.no-js form{display:none}
.hp{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.form-status[data-state=sent]{border-color:oklch(70% .1 150 / .7)}.form-status[data-state=pending]{opacity:.8}

/* Readable supporting copy; compact annotation type remains deliberately secondary. */
.manifesto-bottom p,.care-copy>p:not(.care-lead),.details-intro,.questions details>p,.visit-layout>div>p{font-size:1rem}
