@charset "UTF-8";
:root{--bg:#171816;--panel:#20211e;--ink:#f0eee7;--muted:#a5a69d;--line:#393a34;--accent:#ff693b;--paper:#e8e6dc;--dark:#20241e;--radius:2px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button{touch-action:manipulation}button:disabled{cursor:wait}p{font-size:16px;line-height:1.65;color:var(--muted);margin:0 0 22px}h1,h2,h3{margin:0;letter-spacing:-.055em;line-height:1.03}h1{font-size:clamp(58px,8.3vw,128px);font-weight:700}h2{font-size:clamp(36px,4.15vw,64px);font-weight:500}h3{font-size:26px;font-weight:500;letter-spacing:-.035em}em{font-style:normal;color:var(--accent)}ul{padding-left:20px}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}.eyebrow{font:11px/1.5 'Courier New',monospace;letter-spacing:.12em;font-weight:600;color:var(--muted);text-transform:uppercase}.muted{color:var(--muted)}.section{padding-block:104px}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:40px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-small{font-size:9px;letter-spacing:.04em;max-width:27px;line-height:1.1;font-weight:700}.brand-mark{font-size:37px;font-weight:900;letter-spacing:-.08em;line-height:1;position:relative}.brand-dot{font-size:10px;position:absolute;top:0;right:-10px;letter-spacing:0}.site-header nav{display:flex;align-items:center;gap:34px;font-size:13px}.site-header nav a{padding:12px 0;color:#c9cac1}.site-header nav a:hover,.site-header nav a[aria-current]{color:var(--accent)}.site-header nav .nav-cta{margin-left:24px;color:var(--ink);display:flex;gap:28px;align-items:center;border-bottom:1px solid var(--ink)}.nav-cta span{font-size:22px}.menu-toggle{background:none;border:1px solid var(--line);color:var(--ink);padding:10px 16px}.skip-link{position:absolute;top:-100px;background:var(--accent);color:var(--bg);padding:16px;z-index:10}.skip-link:focus{top:0}.hero{padding-top:38px;padding-bottom:68px}.hero-kicker{display:flex;align-items:center;gap:10px;margin-bottom:54px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #ff693b44}.edition{margin-left:auto;color:#73776e;font-size:10px}.hero h1{position:relative;line-height:.98;letter-spacing:-.065em}.hero h1 em{display:inline-block}.hero-asterisk{position:absolute;right:4%;bottom:6%;color:var(--accent);font-size:clamp(110px,15vw,222px);line-height:1;font-family:Arial,sans-serif;font-weight:400;animation:turn 40s linear infinite}.hero-bottom{margin-top:46px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:36px}.hero-bottom p{font-size:15px;margin:0}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:15px 21px;border:1px solid var(--line);border-radius:var(--radius);font-size:13px;font-weight:600;background:transparent;color:var(--ink);transition:background .2s,transform .2s}.button:hover{background:var(--panel);transform:translateY(-2px)}.button.primary{background:var(--accent);color:#191916;border-color:var(--accent)}.button.primary:hover{background:#ff835d}.button span{font-size:22px;line-height:1}.text-link{font-size:13px;display:inline-flex;align-items:center;gap:23px;padding-block:10px;border-bottom:1px solid var(--line);width:fit-content}.text-link:hover{color:var(--accent);border-color:var(--accent)}.text-link span{font-size:20px}.scroll-note{font:9px/1.5 'Courier New',monospace;letter-spacing:.1em;text-align:right;color:var(--muted)}.scroll-note span{display:block;font-size:25px;margin-top:14px;color:var(--ink)}.discipline-strip{border-block:1px solid var(--line);background:#1e1f1b}.discipline-strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-block:24px;font:12px 'Courier New',monospace;letter-spacing:.12em}.discipline-strip b{font-size:18px;color:var(--accent);font-weight:400}.strip-arrow{font-size:27px}.section-heading{display:grid;grid-template-columns:1fr 2fr 1.1fr;gap:32px;align-items:start;margin-bottom:48px}.section-heading .eyebrow{padding-top:8px}.section-heading h2{font-size:clamp(32px,3.4vw,49px)}.section-heading>p:last-child{font-size:14px;padding-top:6px;max-width:280px}.section-heading>.text-link{justify-self:end;align-self:end}.division-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.division-card{padding:24px 25px 27px;display:flex;flex-direction:column;border-right:1px solid var(--line);transition:background .2s}.division-card:last-child{border:0}.division-card:hover{background:#282923}.card-top{display:flex;align-items:center;justify-content:space-between}.card-top>span:last-child{font-size:22px;color:var(--muted)}.division-symbol{height:108px;display:flex;align-items:center;color:var(--accent);font-size:64px;line-height:1}.symbol-web{font-size:54px}.symbol-media{font-size:42px}.division-card h3{margin-bottom:16px;font-size:30px}.division-card p{font-size:13px;line-height:1.65;margin-bottom:32px}.card-tags{font:9px/1.8 'Courier New',monospace;letter-spacing:.025em;text-transform:uppercase;color:var(--muted);margin-top:auto}.system-section{background:var(--paper);color:var(--dark);color-scheme:light}.system-section .eyebrow,.system-section p,.system-section .muted{color:#62685b}.system-map{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:#bfc3b6;border:1px solid #bfc3b6}.system-step{border:0;background:var(--paper);padding:28px 20px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:17px;color:var(--dark);transition:background .2s}.system-step span{color:#737b68}.system-step:hover{background:#d7d9cb}.system-step[aria-pressed=true]{background:var(--accent)}.system-caption{display:flex;align-items:center;justify-content:space-between;padding-top:26px;gap:20px}.system-caption p{margin:0;font-size:14px}.system-caption>span:last-child{font-size:34px}.work-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:28px}.project-art{min-height:370px;padding:24px;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:filter .3s}.work-card:hover .project-art{filter:brightness(1.1)}.art-meta{display:flex;justify-content:space-between;gap:20px;font:8px/1.5 'Courier New',monospace;letter-spacing:.06em;z-index:1}.gym-art{background:#323c31;color:#dfe3ce;background-image:repeating-linear-gradient(0deg,transparent,transparent 44px,#89997c14 45px),repeating-linear-gradient(90deg,transparent,transparent 44px,#89997c14 45px)}.gym-type{font-size:clamp(50px,5.5vw,80px);font-weight:900;line-height:.88;letter-spacing:-.06em;position:relative;z-index:1;margin-block:30px}.gym-type em{color:#c3cc80}.gym-art:after{content:'';width:270px;height:270px;border:1px solid #b0bd8c55;border-radius:50%;position:absolute;right:-60px;bottom:-20px;box-shadow:0 0 0 25px #b0bd8c0b,0 0 0 50px #b0bd8c08}.art-caption{font-size:10px;position:relative;z-index:1}.art-circle{border:1px solid currentColor;border-radius:50%;width:38px;height:38px;position:absolute;right:24px;bottom:24px;display:grid;place-items:center;font-size:21px;z-index:1}.cafe-art{background:#bdcee0;color:#263c63}.cafe-type{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(70px,7.5vw,112px);text-align:center;line-height:1;letter-spacing:-.07em;margin-block:22px}.cafe-type span{display:block;font:9px Arial,sans-serif;letter-spacing:.3em;margin-top:16px}.cafe-type i{display:block;font-size:45px;margin-top:26px;line-height:.7}.work-caption{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-top:22px}.work-caption h3{font-size:16px;letter-spacing:-.02em;line-height:1.3}.work-caption span{font:9px/1.5 'Courier New',monospace;color:var(--muted);white-space:nowrap}.quiet-note{font-size:11px;line-height:1.65;color:var(--muted);display:block;margin-top:20px}.about-band{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr 1.1fr;gap:32px;padding-block:86px}.about-band h2{font-size:clamp(36px,3.8vw,55px)}.about-band p:not(.eyebrow){margin-top:28px;max-width:490px;font-size:15px}.monogram{align-self:center;justify-self:center;font-size:90px;font-weight:900;letter-spacing:-.12em;transform:rotate(-10deg)}.monogram span{color:var(--accent);font-weight:400}.contact-band{padding:65px 0 80px;border-top:1px solid var(--line)}.contact-band>a{display:flex;align-items:center;justify-content:space-between;gap:28px}.contact-band h2{font-size:clamp(52px,7.2vw,105px);line-height:1;letter-spacing:-.055em}.contact-band>a>span{font-size:110px;color:var(--accent);transition:transform .25s}.contact-band>a:hover>span{transform:translate(6px,-6px)}.contact-band>p:last-child{margin-top:26px;font-size:14px}.site-footer{border-top:1px solid var(--line)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:44px}.footer-top p{margin:0;font-size:13px}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:22px 0 30px;font:9px/1.5 'Courier New',monospace;color:var(--muted)}.footer-bottom a:hover{color:var(--accent)}.page-hero{padding-block:70px 78px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(50px,7vw,100px);margin:30px 0}.page-hero>p:last-child{max-width:530px;margin-bottom:0;font-size:17px}.service-row{display:grid;grid-template-columns:1fr 1.5fr 1.2fr;gap:40px;padding-block:48px;border-bottom:1px solid var(--line);scroll-margin-top:30px}.service-row h2{font-size:36px}.service-row p{font-size:14px;margin:0 0 20px}.service-row .card-tags{font-size:10px}.offer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.offer-card{border:1px solid var(--line);padding:36px;display:flex;flex-direction:column;background:var(--panel)}.offer-card h3{font-size:34px;max-width:370px;min-height:70px}.price{color:var(--ink);font-size:30px;letter-spacing:-.04em;margin:26px 0 0}.offer-card .quiet-note{margin-top:5px}.offer-card ul{list-style:none;padding:0;margin:26px 0 35px}.offer-card li{font-size:14px;color:var(--muted);padding-block:10px;border-bottom:1px solid var(--line)}.offer-card li:before{content:'↗';color:var(--accent);padding-right:12px}.offer-card .button{margin-top:auto}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid var(--line);padding-block:70px}.split-section h3{font-size:24px;margin:0 0 16px}.price-list{margin:24px 0}.price-list>div{padding:18px 0;border-bottom:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;font-size:13px;line-height:1.5}.price-list dd{margin:0;white-space:nowrap;color:var(--muted)}.faq-section{padding-bottom:80px}.faq-section details{border-bottom:1px solid var(--line);padding:23px 0}.faq-section summary{cursor:pointer;font-size:22px;letter-spacing:-.03em}.faq-section details p{margin:18px 0 0;max-width:700px}.case-study{padding-block:65px;border-bottom:1px solid var(--line);scroll-margin-top:24px}.case-heading{display:grid;grid-template-columns:1fr 2fr;gap:30px;margin-bottom:35px}.case-heading h2{font-size:45px}.wide-art{min-height:400px;padding:32px}.wide-art .gym-type{font-size:clamp(50px,7vw,100px)}.wide-art .cafe-type{font-size:120px}.case-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding-top:35px}.case-columns h3{font-size:22px;margin-bottom:14px}.case-columns p{font-size:14px}.case-status{border-left:2px solid var(--accent);padding-left:18px;font-size:12px;margin-top:25px}.about-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;padding-top:75px;align-items:center}.about-poster{min-height:460px;background:var(--accent);color:var(--bg);display:flex;flex-direction:column;justify-content:space-between;padding:28px;overflow:hidden}.about-poster>span{font:10px/1.6 'Courier New',monospace;letter-spacing:.1em}.about-poster strong{font-size:clamp(90px,12vw,170px);letter-spacing:-.1em;transform:rotate(-90deg);align-self:center}.about-intro h2{margin-bottom:18px}.large-copy{font-size:25px;color:var(--ink);letter-spacing:-.04em}.path-list{list-style:none;padding:0;margin:0}.path-list li{display:grid;grid-template-columns:70px 1fr 1.2fr;gap:30px;padding:30px 0;border-top:1px solid var(--line);align-items:start}.path-list li>span{color:var(--accent);font:12px 'Courier New',monospace;padding-top:5px}.path-list p{margin:0;font-size:15px}.sport-launch{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-block:70px;align-items:center}.sport-poster{background:#bec78a;color:var(--bg);min-height:440px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;gap:30px}.sport-poster>span{font:11px 'Courier New',monospace;letter-spacing:.1em}.sport-poster strong{font-size:clamp(65px,7vw,100px);line-height:.9;letter-spacing:-.07em}.sport-launch h2{margin-bottom:25px}.notice{border-left:2px solid var(--accent);padding:12px 18px;background:var(--panel);font-size:13px}.intake-layout{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-block:65px 90px}.intake-aside h2{font-size:32px;margin-bottom:20px}.intake-aside p{font-size:14px}.intake-aside ol{padding-left:18px;font-size:13px;line-height:2.2;color:var(--muted)}.intake-form fieldset{border:0;padding:0;margin:0 0 38px;min-width:0}.intake-form legend{font-size:23px;letter-spacing:-.035em;margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-field{display:flex;flex-direction:column;gap:9px;font-size:13px;color:var(--ink)}.form-field.full{grid-column:1/-1}.form-field small{color:var(--muted);font-size:11px;line-height:1.5}input,select,textarea{width:100%;background:#20211e;border:1px solid #494b41;border-radius:2px;color:var(--ink);padding:14px;min-height:48px}textarea{resize:vertical;min-height:140px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}input::placeholder,textarea::placeholder{color:#85897d}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:#ffa78a}.field-error{color:#ffa78a;font-size:12px;line-height:1.5}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:13px 12px;font-size:12px;cursor:pointer;line-height:1.4}.choice:has(input:checked){border-color:var(--accent);background:#ff693b0a}.choice input,.consent input{width:16px;height:16px;min-height:16px;flex-shrink:0;margin:0;accent-color:var(--accent)}.consent{display:flex;gap:12px;align-items:start;font-size:13px;line-height:1.6;color:var(--muted);margin:20px 0}.consent input{margin-top:3px}.consent a{text-decoration:underline}.form-error{padding:22px;border:1px solid #ff9f80;background:#3a2820;margin-bottom:28px;scroll-margin-top:25px}.form-error h2{font-size:23px}.form-error p,.form-error ul{font-size:14px;color:#f8d2c6;margin-bottom:0}.form-error a{text-decoration:underline}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.success-panel{padding:80px 0;max-width:780px}.success-panel .success-icon{display:block;color:var(--accent);font-size:65px;margin-bottom:30px}.success-panel h1{font-size:65px;margin-bottom:25px}.prose{max-width:800px;padding-block:60px 90px}.prose h2{font-size:30px;margin:40px 0 18px}.prose a{text-decoration:underline}.prose li{color:var(--muted);line-height:1.7}.admin-shell{padding-block:45px 80px}.admin-bar{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:24px;border-bottom:1px solid var(--line);margin-bottom:35px}.admin-bar nav{display:flex;gap:25px;align-items:center}.admin-bar form{margin:0}.admin-bar .button{min-height:38px;padding:8px 15px}.admin-title{font-size:48px;margin:20px 0 35px}.admin-login{max-width:470px;padding-block:70px}.admin-login h1{font-size:46px;margin-bottom:25px}.admin-login .form-field{margin-bottom:20px}.admin-table-wrap{overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th,.admin-table td{text-align:left;padding:18px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table th{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.admin-table a{text-decoration:underline;text-underline-offset:4px}.admin-table small{display:block;color:var(--muted);margin-top:6px}.badge{display:inline-block;padding:5px 9px;background:#30352a;color:#c8d89c;font:10px 'Courier New',monospace}.admin-filters{display:flex;align-items:end;gap:15px;margin-bottom:28px;flex-wrap:wrap}.admin-filters .form-field:first-child{flex:1;min-width:200px}.admin-detail{display:grid;grid-template-columns:1.5fr 1fr;gap:40px}.admin-panel{padding:28px;background:var(--panel);border:1px solid var(--line);margin-bottom:25px}.admin-panel h2{font-size:26px;margin-bottom:25px}.admin-panel dl>div{margin-bottom:18px}.admin-panel dt{font-size:10px;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.admin-panel dd{font-size:14px;line-height:1.7;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.admin-panel .form-field{margin-bottom:20px}.activity{border-left:1px solid var(--accent);padding-left:20px;margin-bottom:25px}.activity p{font-size:13px;margin-bottom:7px;white-space:pre-wrap;overflow-wrap:anywhere}.activity small{font-size:10px;color:var(--muted)}.pagination{display:flex;justify-content:space-between;padding-top:25px}.pagination span{font-size:13px;color:var(--muted)}
@keyframes turn{to{transform:rotate(360deg)}}
@media(min-width:1600px){.hero{padding-block:50px 85px}.hero-kicker{margin-bottom:70px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero h1{font-size:9.6vw}.hero-asterisk{right:1%;font-size:17vw}.hero-bottom{grid-template-columns:1fr 1fr}.scroll-note{display:none}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child,.section-heading>.text-link{grid-column:2;justify-self:start;max-width:500px}.section-heading>p:last-child{margin:0}.division-grid{grid-template-columns:repeat(2,1fr)}.division-card:nth-child(2){border-right:0}.division-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.division-card p{max-width:350px}.about-band{grid-template-columns:1fr 2fr}.monogram{display:none}.work-grid{grid-template-columns:1fr 1fr}.project-art{min-height:330px}.work-caption{flex-direction:column;gap:8px}.service-row{grid-template-columns:1fr 1.4fr}.service-row>div{grid-column:2}.about-intro,.sport-launch{gap:40px}.intake-layout{gap:35px}.choice-grid{grid-template-columns:repeat(2,1fr)}.system-step{font-size:14px;padding:23px 14px}.split-section{gap:40px}.price-list>div{flex-direction:column;gap:5px}}
@media(max-width:720px){.wrap{width:calc(100% - 40px)}.site-header{height:auto;min-height:90px;flex-wrap:wrap;gap:0;padding-block:22px}.brand-mark{font-size:32px}.site-header nav{width:100%;flex-wrap:wrap;gap:12px 22px;padding-top:20px;font-size:12px}.site-header nav .nav-cta{margin-left:0;gap:15px}.js .menu-toggle{display:flex;gap:20px}.js .site-header nav{display:none}.js .site-header nav.is-open{display:flex}.hero{padding-top:29px;padding-bottom:42px}.hero-kicker{font-size:8px;letter-spacing:.08em;margin-bottom:45px}.edition{display:none}.hero h1{font-size:clamp(53px,11.6vw,82px);line-height:1.04}.hero-asterisk{font-size:20vw;right:0;bottom:0}.hero-bottom{grid-template-columns:1fr;gap:28px;margin-top:32px}.hero-bottom p{font-size:14px}.hero-actions{gap:22px}.button{font-size:12px;min-height:48px;padding:14px 18px;gap:25px}.text-link{font-size:12px;gap:16px}.discipline-strip .wrap{font-size:8px;letter-spacing:.03em;gap:8px;padding-block:18px}.discipline-strip b{font-size:13px}.strip-arrow{display:none}.section{padding-block:60px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.section-heading .eyebrow{margin:0;padding:0}.section-heading>p:last-child,.section-heading>.text-link{grid-column:auto}.section-heading h2{font-size:36px}.division-card{padding:20px 16px}.division-symbol{height:90px;font-size:49px}.symbol-media{font-size:35px}.division-card h3{font-size:25px}.division-card p{font-size:12px;margin-bottom:24px}.card-tags{font-size:8px}.system-map{grid-template-columns:repeat(2,1fr)}.system-step{padding:20px 14px;font-size:15px}.system-caption{flex-wrap:wrap;gap:12px}.system-caption p{width:100%;order:3;font-size:13px}.system-caption>span:last-child{font-size:25px}.work-grid{grid-template-columns:1fr;gap:32px}.project-art{min-height:330px}.gym-type{font-size:68px}.cafe-type{font-size:96px}.work-caption{flex-direction:row}.work-caption h3{font-size:14px;max-width:220px}.work-caption span{font-size:8px}.about-band{grid-template-columns:1fr;gap:15px;padding-block:50px}.about-band h2{font-size:42px}.about-band p:not(.eyebrow){margin-top:20px}.contact-band{padding-block:45px 55px}.contact-band h2{font-size:clamp(42px,9.5vw,68px)}.contact-band>a>span{font-size:58px}.contact-band>p:last-child{font-size:13px}.footer-top{flex-wrap:wrap;padding-block:30px;gap:24px}.footer-top p{font-size:12px}.footer-top .text-link{width:100%;justify-content:space-between}.footer-bottom{flex-wrap:wrap;font-size:8px;gap:14px}.footer-bottom>span:nth-child(2){order:3;width:100%}.page-hero{padding-block:45px 50px}.page-hero h1{font-size:clamp(45px,10vw,72px);margin-block:25px}.page-hero>p:last-child{font-size:15px}.service-row{grid-template-columns:1fr;gap:20px;padding-block:35px}.service-row>div{grid-column:auto}.service-row h2{font-size:33px}.service-row .eyebrow{margin:0}.service-row p{margin-bottom:12px}.offer-grid{grid-template-columns:1fr}.offer-card{padding:27px}.offer-card h3{font-size:32px;min-height:auto}.split-section{grid-template-columns:1fr;gap:28px;padding-block:45px}.split-section h2{font-size:38px}.price-list>div{flex-direction:row;font-size:12px}.price-list dd{font-size:11px}.faq-section{padding-bottom:55px}.faq-section summary{font-size:19px;line-height:1.4}.faq-section details p{font-size:14px}.case-heading{grid-template-columns:1fr;gap:15px}.case-heading h2{font-size:36px}.case-study{padding-block:45px}.wide-art{padding:22px;min-height:320px}.wide-art .gym-type{font-size:55px}.wide-art .cafe-type{font-size:90px}.case-columns{grid-template-columns:1fr;gap:15px}.about-intro{grid-template-columns:1fr;gap:40px;padding-top:45px}.about-poster{min-height:300px}.about-poster strong{transform:none;font-size:125px;padding-right:10px}.path-list li{grid-template-columns:35px 1fr;gap:14px}.path-list p{grid-column:2;font-size:14px}.sport-launch{grid-template-columns:1fr;gap:35px;padding-block:45px}.sport-poster{min-height:350px}.sport-poster strong{font-size:85px}.intake-layout{grid-template-columns:1fr;padding-block:40px 60px;gap:25px}.intake-aside ol{display:none}.form-grid{grid-template-columns:1fr;gap:20px}.choice-grid{grid-template-columns:1fr 1fr}.choice{font-size:11px}.success-panel h1{font-size:48px}.admin-bar{align-items:start;flex-direction:column}.admin-detail{grid-template-columns:1fr}.admin-panel{padding:20px}.admin-title{font-size:36px}.admin-bar nav{flex-wrap:wrap;gap:18px}.admin-filters .form-field{width:100%}.prose{padding-block:35px 60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* CXM palette: off-white, catfish grey-blue, and a restrained Khmer-inspired red. */
:root{--bg:#f5f3ed;--panel:#eeede6;--ink:#253740;--muted:#5f6e73;--line:#d4d8d4;--accent:#4d7183;--red:#a64049;--paper:#dce5e7;--dark:#253740;color-scheme:light}
:root[data-theme=dark]{--bg:#18232a;--panel:#202e36;--ink:#f0f0e8;--muted:#b0c0c7;--line:#3e515b;--accent:#a0bdcc;--red:#ee8c91;--paper:#263943;--dark:#edf0e9;color-scheme:dark}
.site-header nav a{color:var(--muted)}.site-header nav .nav-cta{color:var(--ink)}.brand-dot,.hero-asterisk,.status-dot,.discipline-strip b{color:var(--red)}.status-dot{background:var(--red);box-shadow:none}.hero-asterisk{font-size:clamp(105px,14vw,200px)}.edition{color:var(--muted)}.discipline-strip{background:var(--panel)}.division-card:hover{background:var(--panel)}.division-symbol{color:var(--accent)}.system-section .eyebrow,.system-section p,.system-section .muted{color:var(--muted)}.system-map{background:var(--line);border-color:var(--line)}.system-step:hover{background:var(--panel)}.system-step[aria-pressed=true]{background:var(--accent);color:var(--bg)}.system-step[aria-pressed=true] span{color:var(--bg)}.system-step span{color:var(--muted)}.system-step:focus-visible{outline-color:var(--red);outline-offset:-4px}.button.primary{color:var(--bg)}.button.primary:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}.contact-band>a>span{color:var(--red)}.gym-art{background-color:#3e5967;color:#f2eee5;background-image:repeating-linear-gradient(0deg,transparent,transparent 44px,#b4cad614 45px),repeating-linear-gradient(90deg,transparent,transparent 44px,#b4cad614 45px)}.gym-type em{color:#d4e2e7}.gym-art:after{border-color:#c9dce455;box-shadow:0 0 0 25px #bdd1df0b,0 0 0 50px #bdd1df08}.cafe-art{background:#e4ded2;color:#685548}.about-poster{background:#78929f;color:#152e3a}.sport-poster{background:#526f7e;color:#f3f0e6}.notice{background:var(--panel)}input,select,textarea{background:var(--bg);border-color:var(--line);color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted)}.choice:has(input:checked){background:var(--paper)}.form-error{background:var(--panel);border-color:var(--red)}.form-error p,.form-error ul,.field-error{color:var(--red)}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--red)}.badge{background:var(--paper);color:var(--ink)}.header-controls{display:flex;align-items:center;gap:15px;order:3}.theme-toggle{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:11px;padding:9px 12px;min-height:40px}.theme-toggle[hidden]{display:none}.theme-toggle>span:first-child{font-size:19px}.site-header{gap:30px}.site-header nav{margin-left:auto;gap:25px}.site-header nav .nav-cta{margin-left:10px}.menu-toggle[hidden]{display:none}
@media(max-width:900px){.site-header{gap:16px}.site-header nav{gap:18px}.site-header nav .nav-cta{margin-left:0}.theme-label{display:none}.theme-toggle{padding:8px 10px}}
@media(max-width:720px){.header-controls{order:0;margin-left:auto;gap:10px}.site-header nav{order:4;margin-left:0;gap:12px 22px}.hero-asterisk{font-size:18vw}.theme-toggle{min-height:38px}.theme-label{display:inline}.js .menu-toggle{min-height:38px}.site-header{gap:0}}

@media(min-width:721px){.menu-toggle{display:none!important}}

.admin-actions{display:flex;gap:12px;flex-wrap:wrap}.admin-actions .button{font-size:12px;gap:14px}

/* Material, light, and motion — shared across the public site. */
:root {
    --radius: 10px;
    --glass: rgba(250, 249, 245, .82);
    --glass-edge: rgba(255, 255, 255, .8);
    --glass-shadow: 0 16px 48px rgba(37, 55, 64, .07);
    --ease-out: cubic-bezier(.22, 1, .36, 1);
}
:root[data-theme=dark] {
    --glass: rgba(32, 46, 54, .88);
    --glass-edge: rgba(176, 192, 199, .14);
    --glass-shadow: 0 16px 48px rgba(0, 0, 0, .18);
}
html { scroll-padding-top: 124px; scrollbar-gutter: stable; }
body { position: relative; isolation: isolate; }
body::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: radial-gradient(ellipse at 85% 12%, rgba(120, 146, 159, .17), transparent 48%),
        radial-gradient(ellipse at 8% 58%, rgba(166, 64, 73, .055), transparent 42%);
}
.site-header {
    position: sticky;
    top: 16px;
    z-index: 80;
    height: 84px;
    margin-top: 16px;
    padding-inline: 28px;
    border: 1px solid var(--glass-edge);
    border-radius: 14px;
    background: var(--glass);
    box-shadow: var(--glass-shadow), inset 0 1px 0 var(--glass-edge);
    -webkit-backdrop-filter: blur(24px) saturate(145%);
    backdrop-filter: blur(24px) saturate(145%);
}
.site-header nav a { transition: color .2s, background .2s; }
.site-header nav .nav-cta {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 10px 16px;
    gap: 20px;
    background: var(--bg);
}
.site-header nav .nav-cta:hover { background: var(--paper); }
.nav-intro, .nav-outro, .nav-backdrop { display: none; }
.theme-toggle, .menu-toggle { border-radius: var(--radius); background: var(--glass); }
.theme-toggle { transition: background .2s, border-color .2s; }
.theme-toggle:hover, .menu-toggle:hover { border-color: var(--accent); }
.skip-link { position: fixed; z-index: 100; border-radius: 0 0 10px 0; }
.hero { position: relative; padding-top: 48px; }
.hero::before {
    content: '';
    position: absolute;
    width: min(35vw, 420px);
    aspect-ratio: 1;
    top: 12%;
    right: 0;
    border: 1px solid var(--line);
    border-radius: 50%;
    box-shadow: 0 0 0 24px rgba(120, 146, 159, .04), 0 0 0 68px rgba(120, 146, 159, .025);
    z-index: -1;
    pointer-events: none;
}
.hero-asterisk { text-shadow: 0 12px 48px rgba(166, 64, 73, .12); }
.hero-kicker .status-dot { box-shadow: 0 0 0 5px rgba(166, 64, 73, .07); }
.hero-actions .button, .hero-actions .text-link { flex-shrink: 0; }
.button { transition: background .25s, border-color .25s, box-shadow .3s, transform .4s var(--ease-out); }
.button.primary { box-shadow: 0 6px 18px rgba(77, 113, 131, .16); }
.button:hover { transform: translateY(-3px); box-shadow: var(--glass-shadow); }
.button span, .text-link span { transition: transform .4s var(--ease-out); }
.button:hover span, .text-link:hover span { transform: translate(3px, -3px); }
.button:active { transform: translateY(0); }
.discipline-strip { background: var(--glass); }
.division-grid { gap: 14px; border: 0; }
.division-card, .offer-card, .intake-form {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--glass);
    box-shadow: inset 0 1px 0 var(--glass-edge);
}
.division-card, .offer-card {
    transition: border-color .3s, box-shadow .4s var(--ease-out), background .3s;
}
.division-card:last-child { border: 1px solid var(--line); }
.division-card:hover, .offer-card:hover { border-color: var(--accent); box-shadow: var(--glass-shadow); }
.division-symbol { transition: transform .6s var(--ease-out); }
.division-card:hover .division-symbol { transform: translateY(-5px) rotate(-5deg); }
.card-top > span:last-child { transition: transform .4s var(--ease-out); }
.division-card:hover .card-top > span:last-child { transform: translate(3px, -3px); }
.system-section {
    position: relative;
    background: linear-gradient(120deg, var(--paper), var(--panel));
    border-block: 1px solid var(--line);
}
.system-map { padding: 10px; gap: 8px; border-radius: 14px; background: var(--glass); box-shadow: var(--glass-shadow); }
.system-step { border: 1px solid var(--line); border-radius: var(--radius); background: transparent; }
.system-step[aria-pressed=true] { border-color: var(--accent); }
.system-step span { transition: transform .3s var(--ease-out); }
.system-step:hover span { transform: translate(2px, -2px); }
.system-caption { min-height: 65px; }
.project-art, .about-poster, .sport-poster { border-radius: var(--radius); }
.project-art { border: 1px solid var(--line); transition: filter .4s, box-shadow .4s; }
.project-art .gym-type, .project-art .cafe-type { transition: transform .8s var(--ease-out); }
.work-card:hover .gym-type, .work-card:hover .cafe-type { transform: translateY(-6px); }
.work-card:hover .project-art { box-shadow: var(--glass-shadow); }
.art-circle { background: rgba(255, 255, 255, .08); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.contact-band > a > span { transition: transform .5s var(--ease-out); }
.intake-form { padding: 32px; }
input, select, textarea, .choice, .notice, .form-error, .admin-panel, .badge { border-radius: var(--radius); }
.choice { transition: background .2s, border-color .2s; }
.faq-section details { padding-inline: 20px; border: 1px solid var(--line); border-radius: var(--radius); margin-bottom: 10px; background: var(--glass); }
.service-row, .case-study { scroll-margin-top: 124px; }
.reveal-ready [data-reveal] {
    opacity: 0;
    transform: translateY(28px);
    filter: blur(4px);
    transition: opacity .8s var(--ease-out), transform .9s var(--ease-out), filter .8s var(--ease-out);
}
.reveal-ready [data-reveal].is-revealed { opacity: 1; transform: none; filter: none; }
.reveal-ready [data-reveal-delay="1"] { transition-delay: 70ms; }
.reveal-ready [data-reveal-delay="2"] { transition-delay: 140ms; }
.reveal-ready [data-reveal-delay="3"] { transition-delay: 210ms; }
@media (min-width: 721px) and (prefers-reduced-motion: no-preference) {
    .hero-kicker, .hero h1, .hero-bottom, .page-hero > * { animation: arrive .9s var(--ease-out) both; }
    .hero h1, .page-hero h1 { animation-delay: .08s; }
    .hero-bottom, .page-hero > p:last-child { animation-delay: .18s; }
}
@keyframes arrive { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (max-width: 1100px) {
    .division-card:nth-child(2) { border-right: 1px solid var(--line); }
    .about-band { grid-template-columns: 1fr 2fr; gap: 24px; }
}
@media (min-width: 721px) and (max-width: 900px) {
    .site-header { padding-inline: 18px; gap: 14px; }
    .site-header nav { gap: 14px; }
    .site-header nav .nav-cta { padding: 10px 12px; gap: 12px; }
}
@media (max-width: 720px) {
    html { scroll-padding-top: 108px; }
    .site-header { width: calc(100% - 24px); top: 12px; margin-top: 12px; min-height: 70px; height: 70px; padding: 14px 16px; flex-wrap: nowrap; }
    .theme-label { display: none; }
    .theme-toggle { width: 40px; min-height: 40px; }
    .js .menu-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 40px; min-width: 96px; padding: 10px 12px; font-size: 12px; }
    .menu-icon { display: block; width: 18px; height: 18px; position: relative; }
    .menu-icon > span { position: absolute; left: 0; top: 8px; width: 18px; height: 1.5px; border-radius: 2px; background: currentColor; transition: transform .5s var(--ease-out); }
    .menu-icon > span:first-child { transform: translateY(-3px); }
    .menu-icon > span:last-child { transform: translateY(3px); }
    .menu-toggle[aria-expanded=true] .menu-icon > span:first-child { transform: rotate(45deg); }
    .menu-toggle[aria-expanded=true] .menu-icon > span:last-child { transform: rotate(-45deg); }
    .nav-backdrop:not([hidden]) { display: block; position: fixed; inset: 0; width: 100%; height: 100%; z-index: 70; border: 0; border-radius: 0; padding: 0; background: rgba(24, 35, 42, .18); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); opacity: 0; visibility: hidden; transition: opacity .45s, visibility 0s .45s; }
    .menu-open { overflow: hidden; }
    .menu-open .nav-backdrop { opacity: 1; visibility: visible; transition-delay: 0s; }
    .js .site-header nav, .js .site-header nav.is-open {
        display: flex;
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        width: 100%;
        max-height: calc(100dvh - 116px);
        overflow-y: auto;
        overscroll-behavior: contain;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        margin: 0;
        padding: 26px;
        border: 1px solid var(--glass-edge);
        border-radius: 14px;
        background: var(--glass);
        -webkit-backdrop-filter: blur(28px) saturate(145%);
        backdrop-filter: blur(28px) saturate(145%);
        box-shadow: var(--glass-shadow);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-12px) scale(.97);
        transform-origin: top center;
        transition: opacity .3s, transform .5s var(--ease-out), visibility 0s .5s;
    }
    .js .site-header nav.is-open { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
    .site-header nav .nav-intro, .site-header nav .nav-outro { display: block; font-size: 9px; line-height: 1.6; }
    .nav-intro { margin-bottom: 18px; }
    .nav-outro { padding-top: 22px; margin-top: 16px; border-top: 1px solid var(--line); }
    .js .site-header nav > * { opacity: 0; transform: translateY(-8px); transition: opacity .2s, transform .25s; }
    .js .site-header nav.is-open > * { opacity: 1; transform: none; transition: opacity .5s var(--ease-out), transform .65s var(--ease-out); }
    .js .site-header nav.is-open > :nth-child(2) { transition-delay: 45ms; }
    .js .site-header nav.is-open > :nth-child(3) { transition-delay: 90ms; }
    .js .site-header nav.is-open > :nth-child(4) { transition-delay: 135ms; }
    .js .site-header nav.is-open > :nth-child(5) { transition-delay: 180ms; }
    .js .site-header nav.is-open > :nth-child(6) { transition-delay: 225ms; }
    .site-header nav a { font-size: clamp(28px, 7.5vw, 38px); font-weight: 500; letter-spacing: -.055em; padding: 12px 0; color: var(--ink); }
    .site-header nav .nav-cta { font-size: 24px; padding: 16px; margin: 14px 0 0; justify-content: space-between; background: var(--ink); color: var(--bg); border-color: var(--ink); }
    .site-header nav .nav-cta:hover { background: var(--accent); color: var(--bg); }
    .site-header nav .nav-cta[aria-current] { color: var(--bg); }
    .hero { padding-top: 35px; }
    .hero::before { width: 50vw; right: 5%; top: 20%; box-shadow: 0 0 0 18px rgba(120, 146, 159, .03); }
    .division-grid { gap: 10px; }
    .division-card { padding: 20px 16px; }
    .division-card h3 { font-size: 23px; }
    .system-map { padding: 8px; gap: 6px; }
    .system-step { padding: 19px 12px; }
    .about-band { grid-template-columns: 1fr; gap: 18px; }
    .intake-form { padding: 22px 18px; }
    .service-row, .case-study { scroll-margin-top: 108px; }
    .reveal-ready [data-reveal] { transform: translateY(20px); filter: none; }
    .reveal-ready [data-reveal].is-revealed { transform: none; }
    /* Preserve the full navigation when scripting is unavailable. */
    html:not(.js) .site-header { position: relative; height: auto; flex-wrap: wrap; }
    html:not(.js) .site-header nav { gap: 8px 20px; }
    html:not(.js) .site-header nav a { font-size: 16px; letter-spacing: -.02em; }
    html:not(.js) .site-header nav .nav-intro, html:not(.js) .site-header nav .nav-outro { display: none; }
}
@media (max-width: 380px) {
    .division-grid { grid-template-columns: 1fr; }
    .division-card { padding: 24px; }
    .division-symbol { height: 78px; }
    .header-controls { gap: 8px; }
    .site-header { padding-inline: 12px; }
    .choice-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .reveal-ready [data-reveal] { opacity: 1; transform: none; filter: none; }
}
@media print {
    .site-header { position: static; box-shadow: none; }
    .nav-backdrop, .theme-toggle, .menu-toggle { display: none !important; }
    .reveal-ready [data-reveal] { opacity: 1; transform: none; filter: none; }
}
