:root{
  --navy:#0d2c56;
  --navy-2:#153e70;
  --ink:#16243a;
  --muted:#677489;
  --line:#dce5ef;
  --panel:#f7fafe;
  --white:#ffffff;
  --shadow:0 18px 55px rgba(29,53,87,.12);
  --radius:28px;
  --max:1240px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:84px}
body{margin:0;background:linear-gradient(180deg,#f8fbff 0%,#fff 24%,#f7faff 100%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8;letter-spacing:.02em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
iframe{display:block;max-width:100%}
button,input,textarea{font:inherit}
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,252,255,.86);backdrop-filter:blur(22px);border-bottom:1px solid rgba(184,201,220,.38)}
.header-inner{max-width:1360px;margin:auto;height:84px;padding:0 42px;display:flex;align-items:center;gap:36px}
.brand{display:inline-flex;align-items:center;line-height:1;color:var(--navy);min-width:122px}
.brand img{width:auto;height:52px;object-fit:contain}
.brand-mark{font-family:"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif;font-size:34px;font-style:italic;letter-spacing:-.03em}
.brand-sub{font-size:8px;letter-spacing:.3em;margin-top:7px;font-weight:700}
.global-nav{display:flex;align-items:center;gap:24px;margin-left:auto;font-size:12px;font-weight:400;white-space:nowrap}
.global-nav a{position:relative;padding:31px 0 28px}
.global-nav a:after{content:"";position:absolute;left:0;bottom:22px;width:0;height:2px;background:var(--navy);transition:.3s}
.global-nav a:hover:after{width:100%}
.nav-toggle{display:none;margin-left:auto;border:0;background:none;width:42px;height:42px;position:relative}
.nav-toggle span{position:absolute;left:8px;width:26px;height:1px;background:var(--navy);transition:.25s}.nav-toggle span:first-child{top:15px}.nav-toggle span:last-child{top:25px}
.section-shell{max-width:var(--max);margin:0 auto;padding:92px 28px}.section-shell.compact{padding-top:0;padding-bottom:42px}
.hero{padding-top:36px;padding-bottom:34px}
.hero-card{min-height:560px;border-radius:36px;overflow:hidden;position:relative;display:grid;grid-template-columns:47% 53%;background:#eef4fb;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.9)}
.hero-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.96),rgba(255,255,255,.55) 36%,transparent 62%);pointer-events:none;z-index:2}
.hero-copy{padding:68px 24px 58px 68px;z-index:3;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.eyebrow,.section-kicker{font-size:12px;font-weight:800;letter-spacing:.24em;color:var(--navy);margin:0 0 12px}
.hero h1,.section-heading h2,.feature-copy h2,.approach-copy h2,.contact-intro h2,.experience-card h2{font-family:"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;letter-spacing:.01em}
.hero h1{font-size:92px;line-height:.9;margin:0 0 26px;color:var(--navy)}
.hero-lead{font-size:15px;font-weight:600;line-height:1.9;margin:0 0 26px}
.hero h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:34px;font-weight:500;margin:0 0 10px;color:var(--navy)}
.hero-note{font-size:13px;color:var(--muted);margin:0 0 24px;max-width:520px}
.hero-visual{background-image:linear-gradient(90deg,rgba(245,249,255,.18),rgba(13,44,86,.03)),url('../images/hero.png');background-size:cover;background-position:center;min-height:560px}
.preserved-hero{min-height:calc(100svh - 84px);background:#f4f8fb;overflow:hidden}
.preserved-hero-layout{display:grid;grid-template-columns:minmax(430px,43%) minmax(0,57%);width:100%;min-height:calc(100svh - 84px)}
.preserved-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;padding:clamp(56px,6vw,112px) clamp(40px,5.5vw,104px);background:radial-gradient(circle at 8% 10%,rgba(255,255,255,.98) 0,rgba(255,255,255,0) 38%),linear-gradient(135deg,#fbfdff 0%,#f4f8fb 58%,#e8f1f7 100%)}
.preserved-hero-copy:after{content:"";position:absolute;top:0;right:-96px;bottom:0;width:98px;background:linear-gradient(90deg,rgba(232,241,247,.98),rgba(232,241,247,0));pointer-events:none}
.preserved-hero-copy>*{position:relative;z-index:1}
.preserved-hero-title{margin:0 0 30px;font-family:"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;line-height:1.25;color:var(--ink)}
.preserved-hero-title span{display:block}.preserved-hero-kicker{margin-bottom:8px;font-size:clamp(.9rem,1.15vw,1.25rem);letter-spacing:.22em}.preserved-hero-brand{font-size:clamp(3.4rem,5.2vw,6rem);letter-spacing:.035em;line-height:1.05}
.preserved-hero-eyebrow{margin:0 0 34px;font-family:"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(.78rem,.9vw,.95rem);font-weight:500;line-height:2.05;letter-spacing:.06em;color:var(--muted)}
.preserved-hero-message{width:100%;max-width:560px}.preserved-hero-message p{margin:0 0 34px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:400;color:var(--ink)}.preserved-hero-message p span,.preserved-hero-message p small{display:block}.preserved-hero-message p span{margin-bottom:12px;font-size:clamp(1.4rem,1.9vw,2.1rem);line-height:1.65;letter-spacing:.07em}.preserved-hero-message p small{max-width:520px;font-size:clamp(.82rem,.88vw,.95rem);line-height:2;letter-spacing:.04em;color:var(--muted)}
.preserved-hero-cta{box-sizing:border-box;width:min(100%,420px);margin:0 auto;justify-content:center;padding:18px 30px;background:#4a6b8c;box-shadow:0 10px 24px rgba(74,107,140,.18)}
.preserved-hero-media{width:100%;min-width:0;min-height:calc(100svh - 84px);overflow:hidden;position:relative}.preserved-hero-slideshow{width:100%;height:100%;min-height:inherit;position:relative;background:#e9eef1}.preserved-hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 1.1s ease}.preserved-hero-slide.is-active{opacity:1;visibility:visible}.preserved-hero-slide-person{object-position:38% center}
.preserved-hero-control{position:absolute;right:22px;bottom:22px;z-index:2;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(37,54,69,.48);color:#fff;cursor:pointer;backdrop-filter:blur(8px);transition:.25s}.preserved-hero-control:hover,.preserved-hero-control:focus-visible{background:rgba(37,54,69,.72);transform:scale(1.04)}.preserved-hero-control span{font-size:.72rem;line-height:1;letter-spacing:-.08em}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:54px;padding:0 24px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.03em;transition:.25s}.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--navy),#1f568f);color:white;box-shadow:0 12px 25px rgba(13,44,86,.24)}
.btn-outline{border:1px solid #b7c6d8;background:#fff;color:var(--navy)}
.btn-light{background:white;color:var(--navy)}
.problem-panel{display:grid;grid-template-columns:235px 1fr;gap:30px;padding:28px 32px;border:1px solid rgba(190,205,223,.75);border-radius:26px;background:rgba(255,255,255,.78);box-shadow:0 12px 40px rgba(45,70,100,.08);backdrop-filter:blur(16px)}
.problem-heading{align-self:center}.problem-heading h2{font-family:"Yu Mincho",serif;font-size:26px;line-height:1.5;margin:0;color:var(--navy)}
.problem-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.problem-item{padding:18px 12px;border-left:1px solid var(--line);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:132px}.problem-item:first-child{border-left:0}.problem-item p{font-size:11px;line-height:1.65;margin:8px 0 0}.line-icon{flex:0 0 38px;width:38px;height:38px;line-height:1;border:1px solid #9eb0c6;border-radius:12px;display:grid;place-items:center;color:var(--navy);font-size:18px;font-weight:800}
.split-feature{display:grid;grid-template-columns:38% 62%;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,#f0f5fb,#fff);box-shadow:var(--shadow);border:1px solid var(--line)}.causes-feature{display:block}
.feature-photo{min-height:650px;overflow:hidden;background-size:cover;background-position:center}.why-photo{background-image:linear-gradient(180deg,rgba(8,32,63,.04),rgba(8,32,63,.18)),url('../current-images/strength_section/strength_section1.jpg');background-position:center}
.feature-copy{padding:56px}.feature-copy h2,.approach-copy h2{font-family:"Yu Mincho",serif;font-size:34px;margin:0 0 18px;color:var(--navy);font-weight:500}.lead-copy{font-size:15px;color:#405068;margin-bottom:34px}
.cause-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cause-grid article{min-width:0;overflow:hidden;border-radius:16px;background:rgba(255,255,255,.9);border:1px solid #dce6f1}.cause-image{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center}.cause-grid article>div{padding:18px}.cause-grid h3{font-size:14px;margin:0 0 6px;color:var(--navy)}.cause-grid p{font-size:12px;line-height:1.65;margin:0;color:var(--muted)}.feature-cta{position:relative;z-index:2;display:flex;justify-content:center;margin-top:32px;padding-bottom:8px}.feature-cta .btn{min-width:min(100%,360px)}
.approach-panel{display:grid;grid-template-columns:52% 48%;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,#eff6fd,#fff);border:1px solid var(--line);box-shadow:var(--shadow)}
.approach-copy{padding:58px}.approach-copy p{font-size:13px;color:#465771}.approach-photo{min-height:500px;background-color:#fff;background-image:url('../current-images/section-images/hypothesis-approach.jpg');background-repeat:no-repeat;background-size:contain;background-position:center}
.concept-block{margin-top:32px;border-radius:var(--radius);padding:52px;background:rgba(255,255,255,.82);border:1px solid var(--line);box-shadow:0 14px 45px rgba(38,60,90,.08)}
.section-heading{max-width:880px;margin-bottom:34px}.section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}.section-heading h2{font-size:38px;line-height:1.35;margin:0 0 14px;color:var(--navy)}.section-heading p{font-size:13px;color:var(--muted);margin:0}.subheadline{font-size:18px;color:var(--navy);margin:0 0 10px;font-family:"Yu Mincho",serif}
.concept-grid{display:grid;grid-template-columns:1fr 46px 1fr 46px 1fr;align-items:center;gap:12px}.concept-card{padding:30px 24px;border-radius:20px;background:linear-gradient(160deg,#fff,#f2f6fb);border:1px solid #d9e4ef;text-align:center}.concept-card span{font-family:"Times New Roman",serif;font-size:16px;color:#8ca1bb}.concept-card h3{font-family:"Yu Mincho",serif;font-size:26px;color:var(--navy);margin:8px 0}.concept-card p{font-size:13px;margin:0}.concept-cross{text-align:center;font-size:28px;color:#758aa3}.concept-footnote{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}.concept-footnote p{font-size:11px;color:var(--muted);margin:0;padding-top:14px;border-top:1px solid var(--line)}
.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.flow-card{position:relative;padding:14px 14px 22px;background:#fff;border-radius:22px;border:1px solid var(--line);box-shadow:0 10px 30px rgba(38,60,90,.07)}.flow-image{height:150px;border-radius:14px;background-size:cover;background-position:center;margin-bottom:20px}.p1{background-image:url('../current-images/section-images/process-observation.png')}.p2{background-image:url('../current-images/section-images/process-assessment.png')}.p3{background-image:url('../current-images/section-images/process-intervention.jpg')}.p4{background-image:url('../current-images/section-images/process-reassessment.jpg')}.flow-number{font-family:"Times New Roman",serif;font-size:42px;color:#aec0d5;position:absolute;right:18px;top:148px}.flow-card h3{font-family:"Yu Mincho",serif;font-size:19px;color:var(--navy);margin:0 0 8px}.flow-card p{font-size:12px;color:var(--muted);margin:0}
.nutrition-section{padding-top:52px}.nutrition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.nutrition-card{min-width:0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;padding-bottom:22px;box-shadow:0 10px 30px rgba(38,60,90,.06)}.nutrition-photo{height:160px;background-size:cover;background-position:center}.n1{background-image:url('../current-images/section-images/diet-mental.png')}.n2{background-image:url('../current-images/section-images/diet-mechanical.png')}.n3{background-image:url('../current-images/section-images/diet-metabolic.png')}.n4{background-image:url('../current-images/section-images/diet-lifestyle.png')}.nutrition-card>:not(.nutrition-photo){margin-left:20px;margin-right:20px}.eng-label{font-family:"Times New Roman",serif;font-size:25px;color:var(--navy);margin-top:18px;margin-bottom:0}.nutrition-card h3{font-size:14px;margin-top:0}.nutrition-card strong{display:block;font-size:12px;margin-bottom:6px}.nutrition-card p:last-child{font-size:11px;color:var(--muted);line-height:1.7}.nutrition-note{max-width:860px;margin:30px auto 0;padding:0;color:#536176;font-size:13px;text-align:center}
.audience-grid{display:grid;grid-template-columns:55% 45%;border-radius:var(--radius);overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.audience-copy{padding:58px}.audience-copy h2{font-family:"Yu Mincho",serif;font-size:34px;color:var(--navy);margin:0 0 24px}.audience-copy p{font-size:13px;color:#536176}.check-list{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}.check-list li{position:relative;padding-left:28px;font-size:13px}.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--navy);font-weight:900}.audience-photo{background-image:linear-gradient(0deg,rgba(13,44,86,.2),transparent),url('../current-images/gallery/gym1.jpg');background-size:cover;background-position:center}
.trainer-card{display:grid;grid-template-columns:38% 62%;align-items:start;background:linear-gradient(135deg,#ecf4fc,#fff);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.trainer-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:21% center;background:transparent}.trainer-copy{padding:58px}.trainer-copy h2{font-family:"Yu Mincho",serif;font-size:38px;color:var(--navy);margin:0 0 6px}.trainer-copy h3{font-family:"Yu Mincho",serif;font-size:24px;margin:0 0 12px}.trainer-copy h3 span{font-family:serif;font-size:14px;color:#718198;font-weight:400}.trainer-copy>p{font-size:12.5px;color:#4b5d73}.trainer-lead{font-size:17px!important;color:var(--navy)!important;font-family:"Yu Mincho",serif}.trainer-social{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 22px}.trainer-social a{padding:8px 13px;border:1px solid #cbd8e6;border-radius:999px;background:rgba(255,255,255,.72);font-size:11px;font-weight:700;color:var(--navy)}.trainer-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.trainer-meta>div{padding:17px;border-radius:15px;background:rgba(255,255,255,.8);border:1px solid var(--line)}.trainer-meta h4{font-size:13px;color:var(--navy);margin:0 0 8px}.trainer-meta ul{padding-left:18px;margin:0}.trainer-meta li{font-size:10.5px;color:var(--muted);margin-bottom:4px}
.cases-scroller{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.case-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 12px 34px rgba(38,60,90,.07)}.case-visual{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;background:#dce5ef}.case-visual figure{position:relative;margin:0;min-width:0;overflow:hidden;background:#edf2f7}.case-visual img{width:100%;max-width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top}.case-visual span{position:absolute;left:10px;top:10px;z-index:1;padding:4px 8px;border-radius:999px;background:rgba(13,44,86,.76);color:#fff;font-size:9px;font-weight:800;letter-spacing:.08em}.case-head{padding:22px 22px 8px}.case-head h3{font-family:"Yu Mincho",serif;font-size:24px;color:var(--navy);margin:0}.case-head p{font-size:11px;color:var(--muted);margin:2px 0}.case-card table{width:calc(100% - 44px);margin:12px 22px;border-collapse:collapse;font-size:10.5px}.case-card th,.case-card td{padding:8px 5px;border-bottom:1px solid #e4ebf3;text-align:right}.case-card th:first-child,.case-card td:first-child{text-align:left}.case-card .note{font-size:10px;color:var(--muted);padding:0 22px 22px;margin:0}
.voice-list{display:grid;gap:12px}.voice-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.voice-card summary,.faq-item summary{cursor:pointer;list-style:none;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;font-family:"Yu Mincho",serif;font-size:16px;color:var(--navy)}.voice-card summary::-webkit-details-marker,.faq-item summary::-webkit-details-marker{display:none}.voice-body{padding:0 24px 24px;border-top:1px solid var(--line)}.voice-body h4{font-size:12px;margin:18px 0 4px}.voice-body p{font-size:12px;color:var(--muted);margin:0}
.first-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.first-grid article{padding:34px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 28px rgba(38,60,90,.06)}.first-grid span{font-family:"Times New Roman",serif;font-size:32px;color:#b6c5d7}.first-grid h3{font-family:"Yu Mincho",serif;color:var(--navy);font-size:19px;margin:4px 0 12px}.first-grid p{font-size:12px;color:var(--muted);margin:0}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.primary-prices{grid-template-columns:repeat(4,1fr)}.price-card{position:relative;padding:28px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 32px rgba(38,60,90,.06)}.price-card.featured{background:linear-gradient(155deg,#0d2c56,#1d4f83);color:white;border-color:transparent}.price-card h3,.price-card h4{font-family:"Yu Mincho",serif;font-size:21px;margin:0}.price-card .tier{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#718198;margin:0 0 8px}.price-card.featured .tier,.price-card.featured li{color:#dbe7f5}.price-card .price{font-family:"Times New Roman",serif;font-size:34px;line-height:1.1;margin:16px 0 8px}.price-card>p:not(.tier):not(.price):not(.badge){font-size:11px}.price-card ul{padding-left:16px;margin:16px 0 0}.price-card li{font-size:10.5px;margin:5px 0;color:#5e6f84}.price-card.mini{display:flex;flex-direction:column;justify-content:center}.badge{display:inline-block;width:max-content;padding:5px 10px;background:#dce9f7;color:var(--navy);border-radius:999px;font-size:10px;font-weight:800;margin:0 0 10px}.price-subsection{margin-top:28px;padding:30px;border:1px solid var(--line);border-radius:22px;background:#f7fafe}.price-subsection>h3{font-family:"Yu Mincho",serif;color:var(--navy);font-size:22px;margin:0 0 20px}.price-simple-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.price-simple-grid>div{padding:22px;background:white;border-radius:16px;border:1px solid var(--line)}.price-simple-grid h4{margin:0;font-size:15px}.price-simple-grid strong{font-family:"Times New Roman",serif;font-size:28px;color:var(--navy)}.price-simple-grid p{font-size:11px;margin:0}.certified-grid{grid-template-columns:repeat(4,1fr)}.price-notes{margin-top:24px;padding:24px 28px;border-radius:18px;background:#eef4fb}.price-notes p{font-size:11px;color:#536278;margin:5px 0}
.experience-card{display:grid;grid-template-columns:1fr;overflow:hidden;border-radius:32px;background:linear-gradient(145deg,#0b274d,#163f70);color:#fff;box-shadow:0 22px 60px rgba(13,44,86,.2)}.experience-card>div:first-child{padding:58px}.section-kicker.light{color:#b9cee7}.experience-card h2{font-family:"Yu Mincho",serif;font-size:36px;margin:0 0 22px}.experience-card p{max-width:820px;font-size:12.5px;color:#d9e5f2}.experience-card .btn{margin-top:12px}
.faq-list{display:grid;gap:10px}.faq-item{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.faq-item summary:after{content:"＋";font-family:sans-serif}.faq-item[open] summary:after{content:"−"}.faq-item>div{padding:0 24px 22px;border-top:1px solid var(--line)}.faq-item p{font-size:12px;color:var(--muted)}
.access-card{display:grid;grid-template-columns:48% 52%;border-radius:var(--radius);overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.access-copy{min-width:0;padding:56px}.access-copy h2{font-family:"Yu Mincho",serif;font-size:36px;color:var(--navy);margin:0 0 16px}.access-copy ul{padding-left:20px;margin-bottom:28px}.access-copy li{font-size:13px;margin:7px 0;overflow-wrap:anywhere}.access-map{width:100%;height:100%;min-height:440px;border:0}
.gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-auto-rows:200px;gap:12px}.gallery-image{border-radius:18px;background-size:cover;background-position:center;box-shadow:0 10px 26px rgba(38,60,90,.08)}.g1{grid-row:span 2;background-image:url('../current-images/gallery/gym10.jpg')}.g2{background-image:url('../current-images/gallery/gym1.jpg')}.g3{background-image:url('../current-images/gallery/gym2.jpg')}.g4{background-image:url('../current-images/gallery/gym3.jpg')}.g5{background-image:url('../current-images/gallery/gym4.jpg')}.g6{background-image:url('../current-images/gallery/gym5.jpg')}.g7{background-image:url('../current-images/gallery/gym6.jpg')}.g8{background-image:url('../current-images/gallery/gym7.jpg');background-position:center 38%}.g9{background-image:url('../current-images/gallery/gym8.jpg')}.g10{background-image:url('../current-images/gallery/gym9.jpg')}.g11{background-image:url('../current-images/gallery/gym11.jpg')}.g12{background-image:url('../current-images/gallery/gym12.jpg')}
.contact-card{display:grid;grid-template-columns:46% 54%;border-radius:32px;overflow:hidden;background:linear-gradient(145deg,#0b274d,#183f6b);color:white;box-shadow:0 22px 60px rgba(13,44,86,.22)}.contact-intro{padding:58px}.contact-intro h2{font-family:"Yu Mincho",serif;font-size:38px;margin:0 0 16px}.contact-intro>p,.contact-note p,.trial-details p{font-size:11.5px;color:#d5e2ef}.contact-note,.trial-details{margin-top:26px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16)}.contact-note h3,.trial-details h3{font-size:15px;margin:0 0 10px}.contact-form{background:rgba(255,255,255,.97);color:var(--ink);padding:44px;display:grid;gap:16px}.contact-form label,.contact-form legend{font-size:12px;font-weight:700}.contact-form label>span,.contact-form legend>span{font-size:9px;color:#a93434;margin-left:6px}.contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="tel"],.contact-form textarea{width:100%;margin-top:7px;border:1px solid #cfdae7;border-radius:12px;padding:13px 14px;background:#f8fbff;outline:none;transition:.2s}.contact-form input:focus,.contact-form textarea:focus{border-color:#6f94be;box-shadow:0 0 0 3px rgba(60,100,145,.1)}.contact-form fieldset{border:0;padding:0;margin:0}.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}.option-grid label{font-weight:500;padding:9px 10px;background:#f7fafe;border:1px solid #dfe7f0;border-radius:10px}.option-grid.two{grid-template-columns:repeat(2,1fr)}.form-submit{border:0;background:var(--navy);color:#fff;cursor:pointer;margin-top:8px}.form-demo-note{font-size:10px!important;color:#8a98aa!important;margin:0}
.contact-form-panel{min-width:0;background:rgba(255,255,255,.97);color:var(--ink)}
.form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-other-input[hidden]{display:none}
.form-error-message{padding:12px 14px;border:1px solid #dca6a6;border-radius:12px;background:#fff1f1;color:#8f2929;font-size:12px}
.form-success{height:100%;min-height:520px;padding:56px 36px;display:grid;place-content:center;text-align:center;background:#fff;color:var(--ink)}
.form-success[hidden],.form-error-message[hidden]{display:none}
.form-success strong{font-family:"Yu Mincho",serif;font-size:24px;color:var(--navy)}
.form-success p{font-size:13px;color:var(--muted)}
.form-submit:disabled{cursor:wait;opacity:.65}
.business-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.business-card{padding:36px;border-radius:22px;background:#fff;border:1px solid var(--line);transition:.25s;box-shadow:0 10px 28px rgba(38,60,90,.05)}.business-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(38,60,90,.12)}.business-card span{font-family:"Times New Roman",serif;color:#aebed0;font-size:30px}.business-card h3{font-family:"Yu Mincho",serif;color:var(--navy);font-size:24px;margin:2px 0 10px}.business-card p{font-size:12px;color:var(--muted)}.business-card strong{font-size:12px;color:var(--navy)}
.site-footer{background:#0b274a;color:#c9d6e5;padding:44px 28px}.footer-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:180px 1fr auto;gap:28px;align-items:center}.footer-brand{color:white}.footer-brand img{filter:brightness(0) invert(1);opacity:.9}.footer-nav{display:flex;gap:18px;flex-wrap:wrap;font-size:10px}.site-footer p{font-size:10px;margin:0}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media (max-width:1100px){.global-nav{gap:13px;font-size:10px}.header-inner{padding:0 22px}.hero-copy{padding-left:48px}.problem-grid{grid-template-columns:repeat(3,1fr)}.problem-item:nth-child(4){border-left:0}.concept-footnote{grid-template-columns:1fr}.cause-grid,.flow-grid,.nutrition-grid,.price-grid,.primary-prices,.certified-grid{grid-template-columns:repeat(2,1fr)}.trainer-meta{grid-template-columns:1fr}.cases-scroller{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){section[id]{scroll-margin-top:70px}.header-inner{height:70px}.nav-toggle{display:block}.global-nav{position:absolute;top:70px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:rgba(250,252,255,.98);padding:14px 24px 22px;border-bottom:1px solid var(--line);max-height:72vh;overflow:auto}.global-nav.open{display:flex}.global-nav a{padding:9px 0}.global-nav a:after{display:none}.section-shell{padding:64px 18px}.hero{padding-top:18px}.hero-card{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:46px 26px 28px}.hero-card:before{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.73) 60%,rgba(255,255,255,.25))}.hero h1{font-size:72px}.hero-visual{min-height:320px}.problem-panel{grid-template-columns:1fr;padding:24px}.problem-grid{grid-template-columns:repeat(2,1fr)}.problem-item:nth-child(odd){border-left:0}.split-feature,.approach-panel,.audience-grid,.trainer-card,.experience-card,.access-card,.contact-card{grid-template-columns:1fr}.feature-photo{min-height:320px}.feature-copy,.approach-copy,.audience-copy,.trainer-copy,.access-copy,.contact-intro,.contact-form,.experience-card>div:first-child{padding:34px 26px}.approach-photo,.audience-photo,.trainer-photo,.experience-image{min-height:340px}.access-map{min-height:380px}.concept-block{padding:34px 22px}.concept-grid{grid-template-columns:1fr}.concept-cross{transform:rotate(90deg)}.flow-grid,.nutrition-grid,.first-grid,.price-grid,.primary-prices,.certified-grid,.price-simple-grid,.business-grid{grid-template-columns:1fr}.cases-scroller{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.g1{grid-row:span 1;grid-column:span 2}.section-heading h2,.feature-copy h2,.approach-copy h2,.trainer-copy h2,.access-copy h2,.contact-intro h2,.experience-card h2{font-size:30px}.footer-inner{grid-template-columns:1fr;text-align:center}.footer-brand{margin:auto}.footer-nav{justify-content:center}.trainer-meta{grid-template-columns:1fr}.problem-heading h2{font-size:24px}}
@media (max-width:520px){.hero h1{font-size:64px}.hero h2{font-size:27px}.hero-lead{font-size:13px}.problem-grid{grid-template-columns:1fr}.problem-item{border-left:0;border-top:1px solid var(--line);min-height:auto;flex-direction:row;text-align:left;gap:12px}.problem-item:first-child{border-top:0}.line-icon{flex:0 0 38px}.cause-grid{grid-template-columns:1fr}.contact-form{padding:28px 20px}.option-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.g1{grid-column:span 1}.site-footer{padding-bottom:44px}}

@media (max-width:820px){
  .brand img{height:46px}
  .preserved-hero{min-height:auto}
  .preserved-hero-layout{grid-template-columns:1fr;min-height:auto}
  .preserved-hero-copy{align-items:center;padding:48px 26px 36px;text-align:center}
  .preserved-hero-copy:after{top:auto;right:0;bottom:-64px;left:0;width:auto;height:66px;background:linear-gradient(180deg,rgba(232,241,247,.98),rgba(232,241,247,0))}
  .preserved-hero-title{margin-bottom:22px}
  .preserved-hero-kicker{font-size:.82rem}
  .preserved-hero-brand{font-size:clamp(3.2rem,15vw,4.6rem)}
  .preserved-hero-eyebrow{margin-bottom:24px;font-size:.76rem}
  .preserved-hero-message p{margin-bottom:26px}
  .preserved-hero-message p span{font-size:clamp(1.3rem,5.7vw,1.7rem)}
  .preserved-hero-message p small{font-size:.78rem}
  .preserved-hero-media,.preserved-hero-slideshow{min-height:0;aspect-ratio:4/3}
  .preserved-hero-control{right:14px;bottom:14px;width:38px;height:38px}
  .trainer-photo{min-height:0;width:100%;max-width:500px;margin:0 auto;aspect-ratio:4/5;object-fit:cover;object-position:21% center}
  .feature-cta{padding-bottom:42px}
}

@media (max-width:520px){
  .preserved-hero-copy{padding:40px 20px 30px}
  .preserved-hero-cta{width:min(100%,286px);min-height:48px;padding:10px 17px;font-size:11px}
  .case-visual img{aspect-ratio:4/5}
}

@media (prefers-reduced-motion:reduce){
  .preserved-hero-slide{transition:none}
  .preserved-hero-control{display:none}
}

/* Concern list alignment */
.problem-panel{grid-template-columns:minmax(220px,250px) minmax(0,1fr);align-items:stretch}
.problem-heading{display:flex;flex-direction:column;justify-content:center}
.problem-grid{gap:0;align-items:stretch;grid-auto-rows:1fr}
.problem-item{min-width:0;min-height:188px;height:100%;padding:22px 14px;display:grid;grid-template-rows:38px minmax(0,1fr);align-content:start;justify-items:center;justify-content:stretch}
.problem-item p{width:100%;margin:14px 0 0}

/* Mobile navigation CTA */
.global-nav .nav-cta{display:none}

/* Flowing portrait gallery */
.gallery-section{max-width:none;padding-left:0;padding-right:0;overflow:hidden}
.gallery-section .section-heading{width:min(calc(100% - 56px),var(--max));margin-left:auto;margin-right:auto}
.gallery-marquee{width:100%;overflow:hidden;padding:6px 0 30px}
.gallery-track{display:flex;width:max-content;will-change:transform;animation:gallery-flow 104s linear infinite}
.gallery-set{display:flex;gap:14px;padding-right:14px}
.gallery-set .gallery-image{flex:0 0 clamp(320px,38vw,520px);width:clamp(320px,38vw,520px);aspect-ratio:3/2;background-size:cover;background-position:center;border-radius:20px}
.gallery-set .g1{background-position:center}
.gallery-set .g3{background-position:58% center}
.gallery-set .g8{background-position:58% center}
.gallery-marquee:hover .gallery-track,.gallery-marquee:focus-within .gallery-track{animation-play-state:paused}
@keyframes gallery-flow{to{transform:translate3d(-50%,0,0)}}

/* Fixed trial and back-to-top actions */
.floating-actions{position:fixed;right:22px;bottom:22px;z-index:45;display:flex;flex-direction:column;align-items:center;gap:12px}
.floating-actions a{display:grid;place-items:center;box-shadow:0 12px 30px rgba(13,44,86,.22);transition:transform .25s ease,box-shadow .25s ease}
.floating-actions a:hover,.floating-actions a:focus-visible{transform:translateY(-3px);box-shadow:0 16px 34px rgba(13,44,86,.3)}
.floating-trial{width:58px;min-height:142px;padding:14px 10px;border-radius:18px;background:#d6aa48;color:#fff;font-size:12px;font-weight:800;line-height:1.7;letter-spacing:.08em;text-align:center}
.floating-trial span{writing-mode:vertical-rl;text-orientation:upright}
.floating-top{width:52px;height:52px;border-radius:50%;background:#607f9f;color:#fff;font-size:25px;font-weight:300}

@media (max-width:1100px){
  .problem-item:nth-child(n+4){border-top:1px solid var(--line)}
}

@media (max-width:820px){
  .global-nav{max-height:calc(100svh - 70px);padding-bottom:24px}
  .problem-panel{grid-template-columns:1fr}
  .problem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .problem-item{min-height:176px}
  .problem-item:nth-child(n+3){border-top:1px solid var(--line)}
  .problem-item:nth-child(4){border-left:1px solid var(--line)}
  .global-nav .nav-cta{position:static;display:flex;align-items:center;justify-content:space-between;min-height:52px;margin-top:8px;padding:0 20px;border-radius:999px;background:var(--navy);color:#fff;font-weight:400;box-shadow:0 10px 24px rgba(13,44,86,.2)}
  .site-header:has(.global-nav.open) ~ .floating-actions{opacity:0;pointer-events:none}
  .gallery-section .section-heading{width:calc(100% - 36px)}
  .gallery-set .gallery-image{flex-basis:360px;width:360px}
  .floating-actions{right:14px;bottom:14px;gap:9px}
  .floating-trial{width:44px;min-height:104px;padding:10px 6px;border-radius:14px;font-size:10px}
  .floating-top{width:44px;height:44px;font-size:19px}
}

@media (max-width:520px){
  .section-shell.compact{padding-top:34px;padding-bottom:0}
  .section-shell.compact + #philosophy{padding-top:28px}
  .problem-panel{padding:24px 20px 18px}
  .problem-grid{grid-template-columns:1fr;grid-auto-rows:auto}
  .problem-item{min-height:0;height:auto;padding:20px 0;grid-template-columns:84px minmax(0,1fr);grid-template-rows:auto;align-items:center;justify-items:stretch;text-align:left;gap:0}
  .problem-item:nth-child(n+2){border-top:1px solid var(--line)}
  .problem-item:nth-child(4){border-left:0}
  .problem-item .line-icon{justify-self:center}
  .problem-item p{margin:0;padding-right:8px;text-align:left;font-size:12px}
  .gallery-set{gap:12px;padding-right:12px}
  .gallery-set .gallery-image{flex-basis:300px;width:300px}
}

@media (prefers-reduced-motion:reduce){
  .gallery-marquee{overflow-x:auto;overscroll-behavior-inline:contain}
  .gallery-track{animation:none}
  .gallery-set[aria-hidden="true"]{display:none}
}

@media (max-width:1100px){
  .approach-panel{grid-template-columns:1fr}
  .approach-photo{min-height:0;aspect-ratio:3012/1652}
}
