@charset "UTF-8";
:root{--paper:#f8f7f2;--white:#fffefa;--ink:#303b33;--muted:#657067;--green:#415d48;--sage:#e9eee5;--line:#dce1d7;--serif:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--header-height:88px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.9 var(--sans);-webkit-text-size-adjust:100%;overflow-wrap:anywhere}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;height:auto}svg{display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{overflow-wrap:normal}h2{font:400 clamp(28px,3vw,39px)/1.7 var(--serif);letter-spacing:.065em}h3{font-weight:500}p+p{margin-top:20px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #996d33;outline-offset:5px}.container{width:min(1160px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:10px;line-height:1.6;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:#687860;margin-bottom:18px}.section-description{margin-top:24px;font-size:15px;line-height:2.1;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:42px}.section-heading>p{font-size:14px;line-height:2;color:var(--muted)}.small-note{font-size:12px!important;line-height:1.9!important;color:var(--muted)}.mobile-only{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;background:#fff;padding:10px 20px;z-index:100}.skip-link:focus{top:8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:11px 23px;border:1px solid var(--green);border-radius:6px;background:var(--green);color:white;font-size:13px;line-height:1.6;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#304a37;transform:translateY(-2px)}.button-large{min-height:58px;padding:16px 25px;font-size:14px;box-shadow:0 5px 15px #304a3714}.button:disabled{transform:none;background:#e2e8dd;color:#53634e;border-color:#d4ddce;box-shadow:none}.text-link{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;font-size:13px;text-decoration:underline;text-decoration-color:#b9c4b4;text-underline-offset:7px}.bubble-icon{display:inline-block;width:19px;height:15px;border:1.4px solid currentColor;border-radius:6px;position:relative;flex:none}.bubble-icon:after{content:"";position:absolute;bottom:-4px;left:4px;width:5px;height:5px;border-left:1.4px solid currentColor;transform:skewY(-35deg)}.pill{display:inline-block;border:1px solid #cfd9c9;border-radius:30px;background:#f6f8f2;color:#5f7057;padding:4px 12px;font-size:11px;line-height:1.8}.status-dot{width:7px;height:7px;border-radius:50%;background:#8a9f7b;display:inline-block;flex:none}
/* Compact navigation; content remains available without JavaScript. */
.site-header{position:sticky;top:0;z-index:30;background:#fffefaed;border-bottom:1px solid #e6e8e0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.header-inner{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:inline-flex;gap:10px;align-items:center;flex:none}.brand-mark{display:block;width:43px;height:43px;color:#7e8c73}.brand-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1}.brand-mark path{fill:#7e8c732b;stroke-width:.7}.brand strong{display:block;font:400 21px/1.3 Georgia,serif;letter-spacing:.11em;white-space:nowrap}.brand small{display:block;font-size:9px;line-height:1.8;letter-spacing:.14em}.desktop-nav{display:flex;gap:23px;align-items:center;margin-left:auto;font-size:12px;white-space:nowrap}.desktop-nav a{padding-block:12px}.desktop-nav a:hover{color:#748568}.header-cta{font-size:12px;min-height:44px;padding:10px 17px;gap:14px}.menu-toggle{display:none}.mobile-menu[hidden]{display:none}
.hero{padding:52px 0 0;background:linear-gradient(110deg,#f8f7f2 50%,#eeeee5 100%)}.hero-grid{display:grid;grid-template-columns:1fr 1.02fr;gap:55px;align-items:center}.hero-copy{padding-block:13px 30px}.service-label{display:flex;align-items:center;gap:8px;font-size:11px;color:#5c6c56;letter-spacing:.08em;margin-bottom:27px}.service-label>span{width:5px;height:5px;border-radius:50%;background:#8b9c7f}.hero .eyebrow{font-size:9px;letter-spacing:.13em;margin:0 0 16px;color:#7d8475}.hero h1{font:400 clamp(35px,3.5vw,48px)/1.75 var(--serif);letter-spacing:.075em}.hero h1 em{font-style:normal;position:relative;z-index:0}.hero h1 em:after{content:"";position:absolute;left:-2%;right:-2%;height:12px;bottom:4px;background:#dce4d1a8;z-index:-1;border-radius:20%}.hero-description{font-size:14px;line-height:2.2;color:#59645a;margin-top:25px}.hero-actions{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;margin-top:29px}.hero-note{font-size:11px;color:#757e70;margin-top:14px}.hero-image{position:relative;isolation:isolate;margin-block:16px 45px}.hero-image:before{content:"";position:absolute;inset:24px -18px -22px 24px;border:1px solid #cdd6c5;border-radius:130px 16px 16px 16px;z-index:-1}.hero-image>img{width:100%;height:590px;object-fit:cover;object-position:54% 50%;border-radius:130px 14px 14px 14px}.hero-image figcaption{position:absolute;bottom:-19px;left:-28px;right:23px;background:#fffef9ee;border:1px solid white;box-shadow:0 10px 35px #4e584a0c;padding:20px 25px;border-radius:4px;color:#44533f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.image-caption-en{display:block;font:9px/1.7 var(--sans);letter-spacing:.16em;margin-bottom:8px;color:#7f8b72}.hero-image figcaption>span+span{font:400 17px/1.9 var(--serif);letter-spacing:.04em}.preparation-notice{margin-top:34px;display:flex;align-items:baseline;justify-content:center;gap:10px;padding-block:16px;border-top:1px solid #d8ded1}.preparation-notice p{font-size:11px;color:#69735f;line-height:1.9}.preparation-notice strong{font-weight:500;margin-right:12px}.trust-strip{background:#eff2e9;border-block:1px solid #e0e6d8}.trust-items{display:flex;justify-content:center;gap:80px;padding-block:22px}.trust-items>span{display:flex;gap:10px;align-items:center;font-size:13px;letter-spacing:.03em}.trust-items svg{width:23px;height:23px;fill:none;stroke:#7c8f6f;stroke-width:1.3;flex:none}
.concerns-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center}.concerns-list{list-style:none;margin:0;padding:0}.concerns-list li{position:relative;padding:17px 0 17px 35px;border-bottom:1px solid var(--line);font-size:15px}.concerns-list li:before{content:"✓";position:absolute;left:0;top:18px;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#e8eedf;color:#6c805c;font-size:11px}.concerns-list li:first-child{border-top:1px solid var(--line)}.approach-section{padding-top:5px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.editorial-image{position:relative;padding-bottom:27px}.editorial-image img{width:100%;height:520px;object-fit:cover;border-radius:12px}.editorial-image figcaption{position:absolute;bottom:0;right:0;padding:15px 24px;background:var(--paper);font:15px/1.8 var(--serif);letter-spacing:.07em}.approach-copy>p:not(.eyebrow){font-size:15px;line-height:2.1;color:var(--muted);margin-top:22px}.small-signature{display:block;margin-top:27px;font:20px/1.6 Georgia,serif;letter-spacing:.1em;color:#7a846e}.small-signature span{display:block;font:9px/1.8 var(--sans);letter-spacing:.1em}.session-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.session-card{overflow:hidden;border:1px solid #dfe4d9;border-radius:12px;background:var(--white)}.session-image{position:relative}.session-image img{width:100%;aspect-ratio:1.52;object-fit:cover}.session-image>span{position:absolute;bottom:-19px;left:25px;width:42px;height:42px;border:1px solid #e1e6da;background:var(--white);border-radius:50%;display:grid;place-items:center;font:italic 17px Georgia,serif;color:#7b8a70}.session-body{padding:38px 25px 26px}.card-eyebrow{font-size:8px;line-height:1.8;letter-spacing:.13em;color:#8c967e;margin-bottom:8px}.session-body h3{font:400 23px/1.7 var(--serif);letter-spacing:.06em}.session-body>p:not(.card-eyebrow){font-size:14px;line-height:2;margin-top:15px;color:var(--muted)}.session-tag{display:block;font-size:12px;margin-top:23px;padding-top:16px;border-top:1px solid #e7e9e1;color:#667b59}.legal-note{display:flex;gap:25px;align-items:start;margin-top:38px;padding:29px 34px;background:#eeefe7;border:1px solid #e0e3d7;border-radius:10px}.legal-icon{display:grid;place-items:center;flex:none;width:50px;height:50px;border:1px solid #cbd3bf;border-radius:50%;color:#78866a;font:28px/1 Georgia,serif}.legal-note .eyebrow{font-size:9px;margin-bottom:8px}.legal-note h3{font:400 20px/1.8 var(--serif)}.legal-note p:not(.eyebrow){font-size:13px;line-height:1.95;color:var(--muted);margin-top:12px}.legal-note .small-note{margin-top:9px!important}
.promises-section{background:var(--sage);border-block:1px solid #e1e6d9}.center-heading{text-align:center}.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:47px}.promise-grid article{border-top:1px solid #c5d0bc;padding-top:22px}.promise-number{font:italic 19px/1.5 Georgia,serif;color:#91a081}.promise-grid h3{font:400 23px/1.7 var(--serif);margin-top:12px;letter-spacing:.06em}.promise-grid p{font-size:14px;line-height:2;color:#5c6959;margin-top:17px}.promise-footnote{font-size:11px;line-height:1.9;color:#6e7a63;margin-top:35px;text-align:center}.counselor-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.counselor-card{display:flex;align-items:center;gap:28px;padding:38px 32px;background:#fdfcf7;border:1px solid #e0e3d9;border-radius:12px}.outline-compass{display:grid;place-items:center;flex:none;font:400 56px/1 Georgia,serif;color:#98a58b;width:84px;height:84px;border:1px solid #c4ceb9;border-radius:50%;position:relative}.outline-compass:before{content:"";position:absolute;inset:7px;border:1px solid #d7decc;border-radius:50%}.counselor-card h3{font:400 20px/1.7 var(--serif);margin-top:16px}.counselor-card p{font-size:13px;line-height:1.95;color:var(--muted);margin-top:15px}.story-section{padding-top:15px;padding-bottom:0}.story-card{display:grid;grid-template-columns:1.12fr 1fr;background:#efede4;border-radius:14px;overflow:hidden}.story-card>div{padding:47px 45px}.story-card .eyebrow{margin-bottom:17px}.story-card .pill{font-size:10px;background:#f8f6ef;border-color:#d8dacd}.story-card h2{font-size:29px;margin-top:20px}.story-card p:not(.eyebrow){font-size:14px;line-height:2;color:var(--muted);margin-top:20px}.story-card .small-note{margin-top:18px!important}.story-card>img{width:100%;height:100%;min-height:470px;object-fit:cover}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.price-card{padding:33px;border:1px solid #d9dfd1;background:var(--white);border-radius:12px}.price-card:first-child{border-top:3px solid #7b906c;padding-top:31px}.price-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.price-card-top .eyebrow{margin:0;font-size:9px}.price-card h3{font:400 22px/1.7 var(--serif)}.price-value{font:400 40px/1.6 var(--serif);margin:22px 0 19px}.price-value>span{font:12px/1.8 var(--sans);margin-left:16px;color:var(--muted)}.price-value.price-pending{font-size:23px;padding-block:13px}.price-card>p:not(.price-value){font-size:14px;color:var(--muted);line-height:1.95}.price-card ul{list-style:none;padding:20px 0 0;margin:22px 0 0;border-top:1px solid var(--line);font-size:12px;color:#65745c}.price-card li+li{margin-top:6px}.price-card li:before{content:"✓";margin-right:9px;color:#879a74}.flow-section{background:#f0f2e9}.flow-list{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:34px;padding:0;margin:40px 0 25px}.flow-list li{border-top:1px solid #c7d2bc;padding-top:24px}.step-number{font:italic 26px/1.5 Georgia,serif;color:#8c9d7e}.flow-list h3{font-size:16px;font-weight:500;margin-top:13px;line-height:1.8}.flow-list p{font-size:13px;line-height:1.95;color:var(--muted);margin-top:10px}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:flex;gap:22px;align-items:start;justify-content:space-between;padding:22px 4px;line-height:1.9;font-size:14px;font-weight:500}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span:first-child{position:relative;padding-left:25px}.faq-list summary>span:first-child:before{content:"Q";position:absolute;top:0;left:0;font:italic 17px/1.8 Georgia,serif;color:#829674}.faq-plus{position:relative;flex:none;width:15px;height:15px;margin-top:6px}.faq-plus:before,.faq-plus:after{content:"";position:absolute;background:#8b9c7d;width:13px;height:1px;top:7px;left:1px}.faq-plus:after{transform:rotate(90deg);transition:transform .2s}.faq-list details[open] .faq-plus:after{transform:rotate(0)}.faq-list details>p{font-size:14px;color:var(--muted);line-height:2;padding:0 27px 24px;margin:0}.faq-list details[open]{background:#ffffff70}
.booking-section{padding-bottom:85px}.booking-card{position:relative;overflow:hidden;text-align:center;background:#e7eddf;border:1px solid #d9e1d0;border-radius:16px;padding:52px 35px 43px}.booking-card:before,.booking-card:after{content:"";position:absolute;pointer-events:none;width:400px;height:400px;border:1px solid #ffffffc9;border-radius:50%;top:-140px;right:-240px}.booking-card:after{top:auto;right:auto;bottom:-250px;left:-220px;width:500px;height:500px}.booking-symbol{width:40px;height:40px;border:1px solid #acbba0;border-radius:50%;display:grid;place-items:center;font:25px/1 Georgia,serif;color:#879d76;margin:0 auto 20px}.booking-card>.eyebrow{font-size:9px}.booking-card h2{font-size:36px;line-height:1.8}.booking-description{font-size:15px;line-height:2.1;color:#5f6e56;margin-top:20px}.booking-status{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;color:#667a5b;margin-top:27px}.booking-button{margin:14px auto 0;min-height:58px;padding:15px 35px;font-size:14px}.booking-card #line-status{font-size:11px;line-height:2;color:#6c7962;margin-top:16px}.privacy-link{display:inline-flex;align-items:center;justify-content:center;gap:15px;border:0;background:none;padding:10px 5px;min-height:44px;color:#5c6b53;font-size:11px;text-decoration:underline;text-underline-offset:4px;margin-top:13px}.site-footer{border-top:1px solid var(--line);padding:45px 0 24px;background:#f4f4ed}.footer-main{display:flex;align-items:center;gap:35px}.footer-message{font:400 16px/1.9 var(--serif);letter-spacing:.06em;color:#7a8571;margin-left:auto}.back-top{display:grid;place-items:center;border:1px solid #c5cebb;width:44px;height:44px;border-radius:50%;color:#7c8e6c}.footer-information{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);margin-top:30px;padding-top:23px}.footer-information p{font-size:11px;line-height:1.9;color:#737f69}.footer-information div{text-align:right}.footer-information div>p{margin-top:8px}.footer-link{border:0;background:none;padding:4px 0;min-height:44px;font-size:11px;color:#59694f;text-decoration:underline;text-underline-offset:4px}.copyright{font-size:10px;letter-spacing:.04em;color:#8b9482;margin-top:25px}.mobile-consultation{display:none}
dialog{max-width:580px;width:calc(100% - 32px);max-height:calc(100dvh - 48px);overflow:auto;border:1px solid #dce3d5;border-radius:14px;padding:30px 32px;background:var(--white);color:var(--ink);box-shadow:0 20px 70px #21342520}dialog::backdrop{background:#263a2b80;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-heading .eyebrow{margin:0;font-size:9px}.dialog-close{background:none;border:0;font-size:28px;font-weight:300;color:#6e7c64;width:44px;height:44px;line-height:1}.dialog-done{display:flex;min-width:140px;margin:25px auto 0}dialog h2{font-size:25px;margin:8px 0 14px}dialog p:not(.eyebrow){font-size:13px;line-height:2;margin-top:20px}
@media(min-width:1400px){.hero-grid{gap:75px}.hero-image>img{height:610px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.desktop-nav{gap:16px;font-size:11px}.header-inner{gap:18px}.brand strong{font-size:18px}.brand-mark{width:38px;height:38px}.header-cta{padding:10px 13px;font-size:11px}.hero-grid{gap:34px}.hero h1{font-size:39px}.hero-image>img{height:550px}.hero-image figcaption{left:-18px;right:18px;padding:17px 20px}.hero-actions{gap:9px 19px}.hero-actions .text-link{font-size:12px}.trust-items{gap:45px}.approach-grid{gap:45px}.concerns-grid,.faq-grid{gap:45px}.session-grid{gap:18px}.session-body{padding-inline:20px}.promise-grid{gap:35px}.counselor-grid{gap:35px}.counselor-card{padding:30px 23px;gap:20px}.outline-compass{width:64px;height:64px;font-size:43px}.story-card>div{padding:37px 30px}.story-card h2{font-size:27px}.flow-list{gap:23px}}
@media(max-width:900px){.desktop-nav{display:none}.header-cta{margin-left:auto}.hero h1{font-size:35px}.hero-grid{gap:28px}.hero-description{font-size:13px}.hero-image>img{height:535px}.hero .button-large{padding:14px 20px;font-size:13px}.hero-image figcaption>span+span{font-size:15px}.trust-items{gap:32px}.trust-items>span{font-size:12px}.session-grid{gap:15px}.session-body h3{font-size:21px}.session-body{padding-inline:18px}.session-body>p:not(.card-eyebrow){font-size:13px}.promise-grid{gap:25px}.counselor-card{flex-direction:column;align-items:start}.flow-list{grid-template-columns:1fr 1fr;gap:28px 35px}.faq-grid{gap:30px}}
/* Mobile: readable line lengths, generous touch targets and a safe-area-aware shortcut. */
@media(max-width:760px){:root{--header-height:72px}.container{width:calc(100% - 40px)}.section{padding-block:64px}h2{font-size:28px;line-height:1.7;letter-spacing:.045em}.eyebrow{font-size:9px;margin-bottom:15px}.section-description{font-size:14px;margin-top:18px;line-height:2}.mobile-only{display:initial}.header-inner{gap:12px}.brand{gap:7px}.brand-mark{width:34px;height:34px}.brand strong{font-size:17px;letter-spacing:.07em}.brand small{font-size:8px;letter-spacing:.08em}.header-cta{font-size:10px;min-height:44px;padding:8px 12px;gap:8px}.menu-toggle{display:flex;position:relative;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:none;border:0;min-width:44px;min-height:44px;padding:8px;color:var(--green)}.menu-toggle>span:not(.sr-only){display:block;width:21px;height:1px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded="true"]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"]>span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{position:fixed;top:var(--header-height);inset-inline:0;background:#fffefa;padding:12px 24px 28px;border-bottom:1px solid var(--line);box-shadow:0 15px 30px #304a3714;max-height:calc(100dvh - var(--header-height) - 30px);overflow-y:auto}.mobile-menu a{display:flex;justify-content:space-between;align-items:center;padding:17px 1px;border-bottom:1px solid #e3e7dc;font-size:14px}.mobile-menu a>span{color:#8b9a7c}.hero{padding-top:32px;background:linear-gradient(160deg,#f9f8f3 45%,#edeee4)}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:0}.service-label{font-size:10px;margin-bottom:21px;letter-spacing:.06em}.hero .eyebrow{font-size:8px;letter-spacing:.11em;margin-bottom:13px}.hero h1{font-size:34px;line-height:1.65;letter-spacing:.07em}.hero h1 em:after{height:9px;bottom:2px}.hero-description{font-size:14px;line-height:2.05;margin-top:23px}.hero-actions{display:grid;grid-template-columns:1fr;margin-top:26px;gap:4px}.hero .button-large{min-height:54px;font-size:14px;gap:16px;width:100%}.hero-actions .text-link{font-size:12px;min-height:48px;justify-self:center}.hero-note{font-size:10px;margin-top:5px;text-align:center}.hero-image{margin:27px 0 18px;padding-bottom:28px}.hero-image:before{inset:14px -8px 10px 14px;border-radius:70px 10px 10px 10px}.hero-image>img{height:auto;aspect-ratio:1.19;object-position:50% 54%;border-radius:70px 10px 10px 10px}.hero-image figcaption{bottom:0;left:12px;right:12px;padding:16px 20px;border-radius:4px}.image-caption-en{font-size:8px;letter-spacing:.12em;margin-bottom:6px}.hero-image figcaption>span+span{font-size:15px;line-height:1.8}.preparation-notice{margin-top:19px;padding-block:16px;justify-content:start;gap:8px}.preparation-notice p{font-size:10px}.preparation-notice strong{display:block;margin-right:0}.preparation-notice p>span{display:block}.trust-items{justify-content:space-between;padding-block:18px;gap:10px}.trust-items>span{flex-direction:column;gap:7px;font-size:10px;letter-spacing:0;line-height:1.6;text-align:center}.trust-items svg{width:22px;height:22px}.concerns-grid{grid-template-columns:1fr;gap:29px}.concerns-list li{font-size:14px;padding-block:16px}.concerns-list li:before{top:18px}.approach-section{padding-top:2px}.approach-grid{display:flex;flex-direction:column;gap:28px;align-items:stretch}.approach-copy{order:-1}.approach-copy>p:not(.eyebrow){font-size:14px;margin-top:18px}.small-signature{font-size:19px;margin-top:23px}.editorial-image{padding-bottom:23px}.editorial-image img{height:auto;aspect-ratio:1.25;border-radius:10px}.editorial-image figcaption{font-size:13px;padding:12px 17px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:13px;line-height:1.95;margin-top:18px}.session-grid{grid-template-columns:1fr;gap:24px}.session-card{border-radius:10px}.session-image img{aspect-ratio:1.85}.session-image>span{left:23px}.session-body{padding:34px 23px 23px}.card-eyebrow{font-size:8px;margin-bottom:6px}.session-body h3{font-size:23px}.session-body>p:not(.card-eyebrow){font-size:14px;margin-top:12px;line-height:1.95}.session-tag{font-size:12px;margin-top:19px;padding-top:14px}.legal-note{margin-top:25px;padding:24px 20px;display:block}.legal-icon{width:39px;height:39px;margin-bottom:16px;font-size:24px}.legal-note .eyebrow{font-size:8px}.legal-note h3{font-size:19px;line-height:1.9}.legal-note p:not(.eyebrow){font-size:13px;line-height:2}.legal-note .small-note{font-size:11px!important}.center-heading{text-align:left}.promise-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.promise-grid article{display:grid;grid-template-columns:32px 1fr;column-gap:12px;padding-top:20px}.promise-number{font-size:17px;grid-row:1/3;padding-top:4px}.promise-grid h3{font-size:21px;margin:0;line-height:1.7}.promise-grid h3 br{display:none}.promise-grid p{font-size:13px;line-height:2;margin-top:11px}.promise-footnote{text-align:left;font-size:10px;line-height:1.9;margin-top:25px}.counselor-grid{grid-template-columns:1fr;gap:27px}.counselor-card{padding:25px;gap:20px;flex-direction:row}.outline-compass{width:48px;height:48px;font-size:31px}.counselor-card h3{font-size:18px;margin-top:13px}.counselor-card p{font-size:12px;line-height:2;margin-top:12px}.counselor-card .pill{font-size:10px;padding:3px 10px}.story-section{padding-top:0;padding-bottom:0}.story-card{grid-template-columns:1fr;border-radius:12px}.story-card>div{padding:29px 24px}.story-card h2{font-size:25px;line-height:1.8}.story-card p:not(.eyebrow){font-size:13px;line-height:2}.story-card .small-note{font-size:10px!important}.story-card>img{min-height:0;height:auto;aspect-ratio:1.65;object-position:50% 66%}.story-card .pill{font-size:9px}.pricing-grid{grid-template-columns:1fr;gap:20px}.price-card{padding:26px 23px}.price-card:first-child{padding-top:24px}.price-card h3{font-size:21px}.price-card-top{margin-bottom:18px}.price-card-top .eyebrow{font-size:8px}.price-card-top .pill{font-size:10px}.price-value{font-size:35px;margin-block:19px}.price-value.price-pending{font-size:21px;padding-block:10px}.price-card>p:not(.price-value){font-size:13px}.price-card ul{font-size:11px}.flow-list{grid-template-columns:1fr;gap:0;margin:29px 0 21px}.flow-list li{display:grid;grid-template-columns:40px 1fr;gap:15px;padding-block:20px}.flow-list li:last-child{border-bottom:1px solid #c7d2bc}.step-number{font-size:23px;margin-top:1px}.flow-list h3{font-size:15px;margin:0}.flow-list p{font-size:12px;margin-top:6px}.flow-section .small-note{font-size:10px!important}.faq-grid{grid-template-columns:1fr;gap:28px}.faq-list summary{font-size:13px;padding:21px 2px;gap:16px}.faq-list summary>span:first-child{padding-left:23px}.faq-list summary>span:first-child:before{font-size:16px}.faq-list details>p{font-size:13px;padding:0 25px 21px;line-height:2}.booking-section{padding-bottom:52px}.booking-card{padding:33px 20px 28px;border-radius:12px}.booking-symbol{width:36px;height:36px;font-size:23px;margin-bottom:16px}.booking-card h2{font-size:29px;line-height:1.8;letter-spacing:.04em}.booking-card>.eyebrow{font-size:8px;margin-bottom:14px}.booking-description{font-size:13px;line-height:2.1;margin-top:18px}.booking-status{font-size:10px;margin-top:22px}.booking-button{width:100%;min-height:55px;font-size:12px;padding:14px 12px;gap:10px}.booking-card #line-status{font-size:10px;line-height:2;margin-top:14px}.privacy-link{font-size:10px;margin-top:8px}.site-footer{padding-top:31px;padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}.footer-main{flex-wrap:wrap;gap:20px 12px}.footer-main .brand{margin-right:auto}.footer-message{order:3;font-size:14px;width:100%;margin-left:0}.back-top{font-size:16px}.footer-information{display:block;margin-top:23px;padding-top:21px}.footer-information p{font-size:10px;line-height:2}.footer-information div{text-align:left;margin-top:12px}.footer-link{font-size:11px;min-height:44px}.footer-information div>p{margin-top:3px}.copyright{font-size:9px;margin-top:20px}.mobile-consultation{display:flex;position:fixed;bottom:0;inset-inline:0;align-items:center;justify-content:space-between;gap:12px;z-index:25;background:#fffefaee;border-top:1px solid #dfe5d6;box-shadow:0 -4px 20px #304a3708;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.mobile-consultation>div{flex:none}.mobile-consultation strong{display:block;font-size:10px;font-weight:500;line-height:1.8}.mobile-consultation>div>span{display:block;font-size:9px;color:#7a856e;line-height:1.8}.mobile-consultation .button{font-size:11px;min-height:46px;padding:11px 14px;gap:10px;flex:1;max-width:225px}.mobile-consultation.is-hidden{visibility:hidden;pointer-events:none}dialog{padding:22px 24px;max-height:calc(100dvh - 32px)}dialog h2{font-size:22px}dialog p:not(.eyebrow){font-size:13px}}
@media(max-width:374px){.container{width:calc(100% - 32px)}.header-inner{gap:6px}.brand strong{font-size:15px}.brand-mark{width:29px;height:29px}.brand small{font-size:7px}.header-cta{font-size:9px;padding-inline:8px;gap:6px}.menu-toggle{min-width:44px;padding:7px}.hero h1{font-size:31px}.hero-description{font-size:13px}.trust-items>span{font-size:9px}.counselor-card{flex-direction:column;align-items:start;padding:23px}.mobile-consultation{padding-inline:16px;gap:10px}.mobile-consultation strong{font-size:9px}.mobile-consultation>div>span{font-size:8px}.mobile-consultation .button{font-size:10px;gap:8px;padding-inline:10px}.booking-button{font-size:11px}.booking-card{padding-inline:17px}.booking-card h2{font-size:27px}.hero-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.button:hover{transform:none}}

/* Keep the photo in the first mobile view and prevent header-label wrapping. */
.brand{min-height:44px}.header-cta{white-space:nowrap;flex-shrink:0}
.card-eyebrow{color:#65735b}
@media(max-width:760px){
  .hero-copy{display:contents}
  .hero-grid>.hero-copy>.service-label{order:0}
  .hero-grid>.hero-copy>.eyebrow{order:1}
  .hero-grid>.hero-copy>h1{order:2}
  .hero-grid>.hero-image{order:3; margin-top:24px;margin-bottom:0}
  .hero-grid>.hero-copy>.hero-description{order:4;margin-top:23px;font-size:15px}
  .hero-grid>.hero-copy>.hero-actions{order:5}
  .hero-grid>.hero-copy>.hero-note{order:6}
  .hero-image>img{aspect-ratio:1.35}
  .small-note{font-size:12px!important}
  .price-card ul{font-size:12px}
  .booking-status{font-size:11px}
  .booking-card #line-status{font-size:11px}
  .footer-information p{font-size:11px}
  body.menu-open .mobile-consultation{visibility:hidden;pointer-events:none}
}
@media(max-width:374px){.hero-grid>.hero-copy>.hero-description{font-size:14px}}
