@charset "UTF-8";
/* Top page only. The static state is the baseline; motion is enabled by JS. */
.chaos-home{--room-rotate:0deg;--room-shift:0px;--room-scale:1;--room-tilt:0deg}
.chaos-home main{overflow:clip}
.chaos-home .site-header{z-index:50}
.motion-toolbar{position:fixed;right:22px;bottom:20px;z-index:60;display:none}
.chaos-ready .motion-toolbar{display:block}
.motion-toggle{display:flex;align-items:center;gap:12px;min-height:44px;border:1px solid #254e4960;background:#fcfbf8f5;color:var(--green);padding:9px 14px;box-shadow:0 3px 14px #193c3b10;font-size:11px;line-height:1.4;letter-spacing:.04em}
.motion-symbol{font:18px/1 Georgia,serif;min-width:13px;text-align:center}
.motion-state{font:9px/1 Georgia,serif;border-left:1px solid var(--line);padding-left:12px;min-width:33px;letter-spacing:.08em}
.chaos-home .hero{min-height:760px;grid-template-columns:1fr 1.15fr;padding-block:110px 140px;gap:40px;isolation:isolate;background:linear-gradient(110deg,#fcfbf8 0%,#fcfbf8 45%,#e9f0e7 45%,#f0f3ed 100%)}
.chaos-home .hero-copy{z-index:8}
.chaos-home .hero h1{font-size:clamp(36px,3.7vw,55px);letter-spacing:.04em;line-height:1.72}
.chaos-home .hero-lead{letter-spacing:.04em}
.hero-coordinate-label{display:flex;align-items:center;gap:12px;margin-top:42px;font:8px/1.5 Georgia,serif;letter-spacing:.12em;color:#79867b}
.hero-coordinate-label i{height:1px;width:32px;background:#a6b6a5}
.hero-coordinates{display:none;position:absolute;inset:7px -60% auto -10%;z-index:-1;overflow:hidden;transform:rotate(-7deg);pointer-events:none}
.coordinate-track{display:flex;width:max-content;font:500 clamp(76px,10vw,155px)/1.3 var(--serif);letter-spacing:.05em;white-space:nowrap;color:#b6cbbb38}
.coordinate-track>span{flex-shrink:0}
.chaos-home .hero-visual{min-width:0;min-height:440px;padding:76px 0;position:relative;perspective:1100px;isolation:isolate}
.lounge-space{position:relative;z-index:2;transform:translateY(var(--room-shift)) scale(var(--room-scale)) rotate(var(--room-rotate)) rotateY(var(--room-tilt));transform-origin:50% 50%;will-change:auto}
.chaos-home .hero-comparison{padding:13px;border:1px solid #fff;box-shadow:0 20px 60px #1e4b3d18}
.interior-gallery{display:grid;position:relative;isolation:isolate}
.interior-slide{grid-area:1/1;min-width:0;position:relative;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(18%) rotate(8deg) scale(.9);z-index:0}
.interior-slide.is-active{opacity:1;visibility:visible;transform:none;z-index:2}
.interior-slide.is-leaving{opacity:0;visibility:visible;transform:translateX(-18%) rotate(-8deg) scale(.95);z-index:1}
.interior-nav{position:relative;z-index:10;display:flex;justify-content:flex-end;align-items:center;gap:20px;margin-top:18px;color:var(--green)}
.interior-nav[hidden]{display:none}
.interior-nav>span{font-size:10px;letter-spacing:.1em}
.interior-buttons{display:flex;gap:4px}
.interior-buttons button{border:1px solid transparent;border-radius:50%;background:transparent;color:var(--green);width:44px;height:44px;padding:0;font:12px/1 Georgia,serif;transition:background .2s,border-color .2s}
.interior-buttons button:hover{border-color:#78998070}
.interior-buttons button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff}
.chaos-home .hero-lounge picture{display:block}
.chaos-home .hero-lounge img{width:100%;height:auto;object-fit:contain}
.chaos-home .hero-lounge figcaption{padding:13px 3px 3px;gap:16px;font-size:10px}
.hero-lounge figcaption i{font:8px/1.5 Georgia,serif;white-space:nowrap;margin-left:auto;color:var(--green)}
.clinic-orbit{position:absolute;inset:15px -26px 15px;border:1px solid #78998060;border-radius:50%;z-index:0;pointer-events:none;display:none}
.clinic-orbit span{position:absolute;left:25%;top:-7px;background:#ecf1e8;padding:0 12px;font:8px/1.5 Georgia,serif;letter-spacing:.2em;color:#6f8874;white-space:nowrap}
.orbit-one{transform:rotate(-18deg) rotateX(53deg)}
.orbit-two{transform:rotate(58deg) rotateX(53deg);inset:-28px 16px}
.orbit-two span{top:auto;bottom:-7px;left:12%;font-size:6px}
.room-axis{position:absolute;inset:auto -12px 22px 0;display:flex;justify-content:space-between;gap:10px;font:8px/1.5 Georgia,serif;letter-spacing:.22em;color:#69826b}
.room-axis:after{content:"";height:1px;background:#a3b7a360;position:absolute;inset:19px 0 auto}
.room-number{position:absolute;right:0;top:7px;font:60px/.9 Georgia,serif;letter-spacing:-.08em;color:#8eac9170;z-index:0}
.room-number span{font-size:13px;letter-spacing:.06em;margin-left:6px}
.chaos-home .scroll-link{bottom:31px;left:max(48px,calc((100% - 1200px)/2));z-index:9}
.clinic-name-band{position:relative;overflow:hidden;border-block:1px solid #ccd7c9;background:#e4ecdf;color:var(--green);padding:23px 0;isolation:isolate}
.name-band-track{display:flex;width:max-content;font:500 clamp(22px,3.4vw,48px)/1.45 var(--serif);letter-spacing:.05em;white-space:nowrap}
.name-band-track>span{flex-shrink:0}
.name-direction{color:transparent;-webkit-text-stroke:1px var(--green)}
.philosophy-seal{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:120px;height:120px;border:1px solid #c6d2c4;border-radius:50%;margin-top:36px;color:var(--green)}
.philosophy-seal:before{content:"";position:absolute;inset:6px;border:1px solid #c6d2c4;border-radius:50%}
.philosophy-seal span{font:6px/1.6 Georgia,serif;letter-spacing:.2em}
.philosophy-seal b{font:32px/1.65 var(--serif);font-weight:400}
.chaos-home .preview-grid{row-gap:48px}
.chaos-home .philosophy{padding-bottom:70px}
.chaos-home .case-preview{padding-top:70px;border-top:1px solid var(--line)}
.preview-summary{font-size:12px;line-height:2;color:var(--muted);margin-top:14px}
.chaos-home .site-footer{padding-bottom:70px}
.motion-running .hero-coordinates,.motion-running .clinic-orbit{display:block}
.motion-running .lounge-space{will-change:transform}
.motion-running .interior-gallery{animation:lounge-breathe 10s ease-in-out infinite;will-change:transform}
.motion-running .interior-slide{transition:transform 1.1s cubic-bezier(.2,.7,.2,1),opacity .9s ease,visibility 0s 1.1s;will-change:transform,opacity}
.motion-running .interior-slide.is-active{transition-delay:0s}
.chaos-home:not(.motion-running) .interior-slide{transition:none}
.motion-running .coordinate-track{animation:coordinate-flow 36s linear infinite}
.motion-running .name-band-track{animation:name-flow 25s linear infinite}
.motion-running .orbit-one{animation:orbit-turn 24s linear infinite}
.motion-running .orbit-two{animation:orbit-turn-reverse 31s linear infinite}
.motion-running .room-number{animation:floor-shift 12s ease-in-out infinite}
.motion-running .philosophy-seal{animation:seal-turn 32s linear infinite}
.hero-offscreen .hero-visual *,.hero-offscreen .coordinate-track,.page-hidden *{animation-play-state:paused!important}
@keyframes coordinate-flow{to{transform:translateX(-50%)}}
@keyframes name-flow{to{transform:translateX(-50%)}}
@keyframes lounge-breathe{0%,100%{transform:translateY(0) rotate(-3deg) rotateX(3deg) rotateY(-3deg)}50%{transform:translateY(-16px) rotate(4deg) rotateX(-3deg) rotateY(5deg)}}
@keyframes orbit-turn{from{transform:rotate(-18deg) rotateX(53deg)}to{transform:rotate(342deg) rotateX(53deg)}}
@keyframes orbit-turn-reverse{from{transform:rotate(58deg) rotateX(53deg)}to{transform:rotate(-302deg) rotateX(53deg)}}
@keyframes floor-shift{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(27px) rotate(13deg)}}
@keyframes seal-turn{to{transform:rotate(360deg)}}
@media(min-width:1600px){.chaos-home .hero{min-height:800px;gap:65px}.chaos-home .hero-visual{min-height:490px}}
@media(max-width:1120px){.chaos-home .hero{min-height:690px;padding-inline:40px;gap:30px;grid-template-columns:1fr 1.03fr}.chaos-home .hero h1{font-size:39px}.chaos-home .hero-visual{min-height:390px;padding-block:64px}.chaos-home .scroll-link{left:40px}.hero-coordinate-label{flex-wrap:wrap;max-width:330px;row-gap:4px}.clinic-orbit{inset:10px -12px}.orbit-two{inset:-25px 18px}}
@media(max-width:900px){.chaos-home .hero{padding:82px 32px 110px;gap:22px;min-height:630px}.chaos-home .hero h1{font-size:32px}.chaos-home .hero-visual{min-height:350px;padding-block:72px}.hero-coordinate-label{font-size:7px}.chaos-home .hero-lounge figcaption{gap:10px;font-size:8px}.chaos-home .hero-lounge figcaption>span:first-child{font-size:8px}.room-number{font-size:45px}.chaos-home .scroll-link{left:32px}.interior-nav{gap:12px}.interior-nav>span{font-size:9px}.interior-buttons{gap:0}}
@media(max-width:600px){.chaos-home .hero{display:block;min-height:0;padding:56px 24px 58px;background:linear-gradient(155deg,#fcfbf8 0%,#fcfbf8 49%,#e9f0e7 49%,#f0f3ed 100%)}.chaos-home .hero h1{font-size:37px}.chaos-home .hero-copy{padding-bottom:0}.hero-coordinate-label{margin-top:29px;max-width:none;font-size:6px;gap:9px}.hero-coordinate-label i{width:20px}.hero-coordinates{inset:14px -110% auto -15%;transform:rotate(-12deg)}.coordinate-track{font-size:82px;color:#b6cbbb30}.chaos-home .hero-visual{min-height:330px;margin-top:13px;padding:64px 0 61px;perspective:700px}.chaos-home .hero-comparison{padding:8px}.chaos-home .hero-lounge figcaption{font-size:9px;gap:10px;padding:11px 3px 2px}.chaos-home .hero-lounge figcaption>span:first-child{font-size:8px}.clinic-orbit{inset:9px -16px;border-color:#78998055}.clinic-orbit span{font-size:6px;left:20%;padding-inline:7px}.orbit-two{inset:0 21px}.orbit-two span{font-size:5px;left:4%}.room-axis{inset:auto 0 18px 0;font-size:7px;letter-spacing:.18em}.room-number{font-size:48px;top:9px;right:3px}.room-number span{font-size:11px}.chaos-home .scroll-link{left:24px;bottom:19px;font-size:7px}.clinic-name-band{padding-block:17px}.name-band-track{font-size:28px}.philosophy-seal{width:83px;height:83px;margin-top:24px}.philosophy-seal b{font-size:26px;line-height:1.5}.philosophy-seal span{font-size:5px}.chaos-home .philosophy .section-intro{position:relative}.chaos-home .philosophy{padding-bottom:48px}.chaos-home .philosophy-copy{margin-top:30px}.chaos-home .case-preview{padding-top:48px}.chaos-home .preview-item+.preview-item{margin-top:38px}.preview-summary{font-size:11px;line-height:2;margin-top:11px}.motion-toolbar{right:12px;bottom:12px}.motion-toggle{gap:8px;padding:8px 11px;font-size:10px;min-height:44px}.motion-state{padding-left:8px;font-size:8px;min-width:27px}.motion-symbol{font-size:16px}.chaos-home .site-footer{padding-bottom:78px}.interior-nav{justify-content:center;gap:18px;margin-top:15px}.interior-buttons{gap:3px}}
@media(max-width:350px){.chaos-home .hero{padding-inline:20px}.chaos-home .hero h1{font-size:32px}.chaos-home .hero-visual{min-height:297px;padding-top:58px;padding-bottom:56px}.chaos-home .hero-lounge figcaption{font-size:8px;gap:7px}.chaos-home .hero-lounge figcaption>span:first-child{font-size:7px}.chaos-home .hero-lounge figcaption i{font-size:7px}.hero-coordinate-label{font-size:5px}.hero-coordinate-label i{width:14px}.chaos-home .scroll-link{left:20px}.interior-nav{gap:11px}.interior-buttons{gap:1px}}
@media(prefers-reduced-motion:reduce){.chaos-home:not(.motion-running) .lounge-space{transform:none}.chaos-home .motion-toolbar{position:fixed}}
/* Keep the entire opening scene and its controls in one phone viewport. */
@media(max-width:600px){
  .chaos-home .hero{min-height:430px;padding:26px 24px 20px}
  .chaos-home .hero h1{font-size:clamp(26px,7.4vw,30px);line-height:1.45;letter-spacing:.04em;margin-bottom:18px;white-space:nowrap}
  .hero-title-break{display:none}
  .chaos-home .hero .button{min-height:44px;height:44px;padding:0 20px;gap:40px;font-size:12px;line-height:1.4}
  .chaos-home .hero .button span{font-size:18px;line-height:1}
  .chaos-home .hero-visual{min-height:0;margin-top:20px;padding:0}
  .hero-coordinate-label,.chaos-home .room-axis,.chaos-home .room-number,.chaos-home .scroll-link{display:none}
  .chaos-home .hero-comparison{padding:6px}
  .chaos-home .hero-lounge figcaption{padding:8px 2px 2px;gap:8px;font-size:8px;line-height:1.4}
  .chaos-home .hero-lounge figcaption>span:first-child{font-size:7px}
  .chaos-home .hero-lounge figcaption i{font-size:7px}
  .chaos-home .interior-nav{margin-top:8px;gap:18px;min-height:44px}
  .chaos-home .interior-buttons{gap:3px}
  .chaos-home .clinic-orbit{inset:-8px -8px 40px}
  .chaos-home .orbit-two{inset:-10px 15px 35px}
  .chaos-home .menu-toggle:not([hidden]){min-width:44px}
}
@media(max-width:600px) and (max-height:620px){
  .chaos-home .hero{min-height:420px;padding-top:20px;padding-bottom:16px}
  .chaos-home .hero h1{margin-bottom:14px}
  .chaos-home .hero-visual{margin-top:14px}
}
