:root{--ink:#254637;--green:#557a2c;--lime:#b6cf73;--pale:#f0f5e8;--yellow:#f0d66c;--paper:#fffef9;--line:#d9dfd0;--serif:'Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 var(--sans)}button,a{font:inherit}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:5px}button{color:inherit}img{max-width:100%;display:block}.skip{position:fixed;top:-100px;z-index:30;background:white;padding:12px}.skip:focus{top:0}.preview-note{background:#eff2e8;color:#46543d;font-size:11px;letter-spacing:.08em;text-align:center;padding:5px 15px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 5vw;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:700;font-size:14px;line-height:1.6}.brand img{width:53px;height:53px;object-fit:contain;border-radius:50%}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:.2em}nav{display:flex;gap:25px;font-size:13px;align-items:center}nav a{text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;border:1px solid var(--green);background:var(--green);color:white;text-decoration:none;padding:15px 26px;font-weight:700;border-radius:4px;min-height:52px}.btn.secondary{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn::after{content:'↗';font-size:19px;font-weight:400}.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:700;display:flex;align-items:center;gap:10px}.eyebrow::before{content:'';width:25px;height:2px;background:var(--green)}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);font-weight:500;line-height:1.6;font-size:clamp(34px,3.55vw,56px);letter-spacing:.045em}h1 em{font-style:normal;border-bottom:4px solid var(--yellow)}.hero{position:relative}.hero-copy{position:relative;z-index:1}.hero p{max-width:560px;font-size:15px;margin:22px 0 27px}.hero .eyebrow{margin-bottom:22px}.cta-row{display:flex;gap:12px;flex-wrap:wrap}.phone{font-size:12px;margin-top:16px;letter-spacing:.03em}.art{overflow:hidden;position:relative;background:#e8eee3}.art img{width:100%;height:100%;object-fit:cover}.art small{position:absolute;bottom:12px;right:18px;background:#fffef9e8;padding:3px 10px;font-size:10px;color:#405746}.concept-line{position:absolute;bottom:32px;left:6vw;font-family:var(--serif);font-size:15px;letter-spacing:.15em}.proof-strip{display:flex;justify-content:center;gap:50px;padding:23px 5vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}.proof-strip b{font-weight:500}.proof-strip span{color:#617247;font-size:12px;margin-right:10px}.section{max-width:1160px;margin:auto;padding:88px 42px}.section h2{font:500 32px/1.55 var(--serif);letter-spacing:.05em}.section-heading{display:flex;gap:40px;justify-content:space-between;align-items:end;margin-bottom:38px}.section-heading p{max-width:390px;font-size:14px}.section .eyebrow{margin-bottom:14px}.audiences{display:grid;grid-template-columns:1fr 1fr;gap:38px}.audience{border-top:1px solid #87986f;padding-top:25px}.audience h3{font-size:21px;font-weight:500;margin-bottom:12px}.audience p{font-size:14px}.audience a{display:inline-block;margin-top:18px;text-underline-offset:5px;font-size:14px}.guide-band{background:var(--pale)}.guide-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px}.cost{padding:28px 0;border-top:1px solid var(--line)}.cost h3{font-size:14px;margin-bottom:10px}.cost strong{font:500 38px/1.5 var(--serif)}.cost small{font-size:13px;display:block;margin-top:12px;max-width:470px}.cost .review{font-size:12px;color:#675822;border-left:3px solid var(--yellow);padding-left:12px;margin-top:12px}.steps{list-style:none;padding:0;margin:25px 0}.steps li{display:grid;grid-template-columns:35px 1fr;gap:18px;border-bottom:1px solid var(--line);padding:18px 0}.steps b{font-family:var(--serif);font-size:22px;font-weight:400}.steps strong{font-size:15px}.steps p{font-size:13px}.person{display:grid;grid-template-columns:260px 1fr;gap:65px;align-items:center}.portrait{width:260px;height:310px;object-fit:cover;object-position:center 30%}.person p{font-size:15px;margin-top:22px}.person .name{margin-top:22px;font-size:18px}.person .name small{font-size:12px;margin-right:14px}details{border-bottom:1px solid var(--line);padding:21px 0}summary{cursor:pointer;font-size:15px;font-weight:600;display:flex;justify-content:space-between;gap:16px;list-style:none}summary::after{content:'＋';font-weight:400}details[open] summary::after{content:'−'}details p{font-size:14px;padding:18px 30px 0 0;max-width:900px}.contact{background:var(--brand-soft);text-align:center;position:relative;overflow:hidden}.contact::before{content:'';position:absolute;width:80px;height:80px;background:var(--yellow);border-radius:50%;left:8%;top:40px;opacity:.5}.contact p{margin:20px auto 28px;max-width:600px}.contact .cta-row{justify-content:center}.contact .eyebrow{justify-content:center}footer{max-width:1160px;margin:auto;padding:48px 42px 90px;font-size:12px;display:grid;grid-template-columns:1fr 1fr;gap:45px}footer strong{display:block;font-size:15px;margin-bottom:14px}.footer-note{font-size:11px;color:#59674f}.mobile-contact{display:none}.intro{position:fixed;inset:0;z-index:20;background:#e8eee3;opacity:0;visibility:hidden;transition:opacity .45s ease}.intro.active{opacity:1;visibility:visible}.intro-art{height:100%;width:100%;overflow:hidden;position:relative}.intro-art img{width:100%;height:100%;object-fit:cover}.intro-skip{position:absolute;right:24px;bottom:25px;background:var(--paper);border:1px solid var(--line-strong);border-radius:50%;width:52px;height:52px;font-size:24px}.intro.active.motion-a img{animation:slide 1.9s cubic-bezier(.2,.6,.3,1) both}.intro.active.motion-b img{animation:fade 1.9s ease both}.intro.active.motion-c img{animation:zoom 1.9s cubic-bezier(.2,.6,.3,1) both}@keyframes slide{from{transform:translateX(2.2%) scale(1.07)}to{transform:translateX(0) scale(1.07)}}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes zoom{from{transform:scale(1.2)}to{transform:scale(1)}}dialog{border:1px solid var(--line);border-radius:14px;max-width:520px;width:calc(100% - 36px);padding:36px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#16372770}dialog h2{font:500 25px var(--serif);margin-bottom:18px}dialog p{font-size:14px;margin:12px 0}dialog .source-url{overflow-wrap:anywhere;font-size:12px}dialog button{margin-top:20px}.design-a .hero{display:grid;grid-template-columns:1.02fr 1fr;min-height:660px}.design-a .hero-copy{padding:75px 2vw 95px 7vw}.design-a .art{margin:26px 26px 32px 0;border-radius:200px 200px 6px 6px}.design-a .art img{object-position:57% center}.design-b{--paper:#fdfcf6;--pale:#f3f2e6;--green:#5f7d2c;--lime:#c5d783}.design-b .hero{display:grid;grid-template-columns:1fr 1fr;min-height:660px;gap:30px;padding:45px 7vw 58px}.design-b .hero-copy{align-self:center;grid-column:2;grid-row:1;padding:5px 0}.design-b h1{font-family:var(--sans);font-size:clamp(31px,3.1vw,47px);font-weight:600;letter-spacing:.015em;line-height:1.7}.design-b .art{grid-column:1;grid-row:1;border-radius:48% 48% 42% 44%;aspect-ratio:1/1;align-self:center;box-shadow:20px 22px 0 #e6edcb}.design-b .art img{object-position:51% center}.design-b .concept-line{display:none}.design-b .btn{border-radius:50px}.design-b .proof-strip{background:#f1f4e4;border:0;gap:38px}.design-b .audience{padding:30px;border:0;background:var(--pale);border-radius:24px}.design-b .portrait{border-radius:48% 48% 8% 8%}.design-b .contact{border-radius:80px 80px 0 0}.design-b .section{padding-top:75px;padding-bottom:75px}.design-c{--paper:#fff;--pale:#f4f7ef;--green:var(--green)}.design-c header{padding-top:19px;padding-bottom:19px}.design-c .hero{display:grid;grid-template-columns:1.15fr 1fr;min-height:610px;margin:34px 5vw 0;background:var(--pale);border-top:3px solid var(--lime)}.design-c .hero-copy{padding:54px 35px 54px 48px}.design-c h1{font-family:var(--sans);font-weight:700;font-size:clamp(32px,3vw,46px);letter-spacing:0;line-height:1.6}.design-c .art{margin:30px 30px 30px 0}.design-c .art img{object-position:56% center}.design-c .concept-line{display:none}.design-c .quick{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:22px 0}.quick a{background:white;padding:10px 12px;text-decoration:none;border:1px solid var(--line);font-size:13px}.design-c .hero p{margin:14px 0 20px}.design-c .hero .eyebrow{margin-bottom:16px}.design-c .proof-strip{margin:0 5vw;padding:20px 15px;gap:25px;font-size:12px}.design-c .section{padding-top:70px;padding-bottom:70px}.design-c h2{font-family:var(--sans);font-weight:600;font-size:28px}.design-c .portrait{border-radius:2px}.design-c .btn{border-radius:2px}.design-c .audiences{gap:0}.design-c .audience{padding:24px;border:1px solid var(--line)}.design-c .person{gap:42px}
@media(max-width:1000px){nav a{display:none}header{padding:18px 25px}.design-a .hero-copy{padding-left:5vw}h1{font-size:36px}.hero p{font-size:14px}.proof-strip{gap:22px}.guide-grid{gap:35px}.design-b .hero{padding-left:5vw;padding-right:5vw}.design-c .hero-copy{padding:40px 25px}.design-c .hero{margin:25px 3vw 0}.design-c .proof-strip{margin:0 3vw}}
@media(max-width:700px){body{font-size:15px}.preview-note{font-size:10px}header{padding:13px 20px;gap:10px}.brand{font-size:11px;gap:7px}.brand img{width:40px;height:40px}.brand small{font-size:8px}nav{gap:0}nav .btn{min-height:42px;padding:7px 12px;font-size:11px}nav .btn::after{display:none}.design-a .hero,.design-b .hero,.design-c .hero{display:flex;flex-direction:column;min-height:0;gap:0;margin:0;padding:0}.design-a .hero-copy,.design-b .hero-copy,.design-c .hero-copy{padding:34px 24px 30px;order:0}.hero .eyebrow{font-size:10px;margin-bottom:15px}h1,.design-b h1,.design-c h1{font-size:31px;line-height:1.6}.hero p{margin:18px 0 22px;font-size:13px}.cta-row{gap:10px}.cta-row .btn{padding:12px 18px;font-size:13px;min-height:48px}.phone{font-size:10px;margin-top:12px}.design-a .art{height:255px;margin:0 24px 28px;border-radius:130px 130px 3px 3px}.design-b .art{order:1;width:calc(100% - 64px);aspect-ratio:1.2/1;margin:0 32px 45px;box-shadow:12px 15px 0 #e6edcb}.design-c .art{height:210px;margin:0 24px 24px}.art small{font-size:8px;right:8px;bottom:8px}.concept-line{display:none}.proof-strip,.design-b .proof-strip,.design-c .proof-strip{display:grid;grid-template-columns:1fr;gap:8px;padding:18px 24px;margin:0;font-size:12px}.proof-strip span{display:inline-block;min-width:80px}.section,.design-b .section,.design-c .section{padding:52px 24px}.section h2,.design-c h2{font-size:26px}.section-heading{display:block;margin-bottom:25px}.section-heading p{margin-top:16px;font-size:13px}.audiences,.guide-grid{grid-template-columns:1fr;gap:30px}.audience h3{font-size:19px}.design-b .audience{padding:25px}.cost strong{font-size:34px}.person{grid-template-columns:1fr;gap:27px}.portrait{width:180px;height:215px}.person p{font-size:14px}.design-b .contact{border-radius:40px 40px 0 0}.contact::before{width:48px;height:48px;left:-12px}.contact p{font-size:13px}footer{grid-template-columns:1fr;gap:22px;padding:35px 24px 100px}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:8;align-items:center;justify-content:space-between;padding:10px 18px;background:#fffef9f5;border-top:1px solid var(--line);padding-bottom:max(10px,env(safe-area-inset-bottom))}.mobile-contact small{font-size:10px}.mobile-contact .btn{font-size:12px;padding:9px 19px;min-height:43px}.design-c .quick{margin:18px 0}.quick a{font-size:12px}.intro-art img{object-position:53% center}.intro-skip{right:16px;bottom:90px}dialog{padding:27px}summary{font-size:14px}}
.design-b .art small{left:16%;right:auto;bottom:12%;width:68%;text-align:center;font-size:9px;line-height:1.6}
/* Narrow first views retain a deliberate two-line headline. */
@media(max-width:700px){h1,.design-b h1,.design-c h1{font-size:clamp(22px,7vw,29px)}}
.intro{transition:opacity .45s ease,visibility 0s .45s}.intro.active{transition:opacity .45s ease,visibility 0s}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.intro{display:none}}

/* Adopted image: preserve all four people, sunrise and sea without cropping. */
.intro{background:#f4f1e8}.intro-art{display:flex;align-items:center;justify-content:center}.intro-art img{object-fit:contain;object-position:center;transform:none}
.design-a .art,.design-b .art,.design-c .art{display:flex;flex-direction:column;justify-content:center;padding:24px;background:#e8eee3}
.art img{height:auto;object-fit:contain;flex-shrink:0}.art small,.design-b .art small{position:static;width:auto;margin:12px 0 0;padding:4px 7px;font-size:10px;text-align:center}
.design-a .art{border-radius:150px 150px 8px 8px}.design-b .art{border-radius:32px;padding:22px}.design-c .art{padding:14px}
@media(max-width:700px){.design-a .art,.design-b .art,.design-c .art{height:auto;min-height:0;aspect-ratio:auto;padding:14px;border-radius:18px}.intro-skip{bottom:24px}.art small,.design-b .art small{font-size:8px}}

/* Adopted A: image-led first view; semantic name outside the photograph. */
.adopted-a>.preview-note,.adopted-a>header{display:none}.adopted-a .adopted-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100svh;padding:26px 5vw 32px;background:var(--paper);gap:22px}.sea-image{margin:0;width:min(100%,1100px)}.sea-image img{width:100%;height:auto;max-height:72svh;object-fit:contain}.adopted-hero h1{text-align:center;line-height:1.4;font-size:42px;letter-spacing:.15em}.adopted-hero h1 small{display:block;font-size:17px;letter-spacing:.2em;margin-top:7px;font-weight:400}.service-intro{border-top:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:22px}.service-grid p{font-size:15px;margin-top:22px}.service-facts h3{font-size:14px;font-weight:600;margin-top:22px}.service-facts h3:first-child{margin-top:0}.service-facts p{margin-top:8px}.service-facts .cta-row{margin-top:26px}.service-facts .trial-note{font-size:12px}.image-note{font-size:11px;color:#59674f;margin-top:36px}.adopted-a .mobile-contact{display:none}
@media(max-width:700px){.adopted-a .adopted-hero{min-height:100svh;padding:24px 0;gap:28px}.sea-image{width:100%}.adopted-hero h1{font-size:34px!important}.adopted-hero h1 small{font-size:14px}.service-grid{grid-template-columns:1fr;gap:30px}.service-grid p{font-size:14px}.service-intro{padding-top:48px!important}}

@media(max-width:700px){.service-intro h2{font-size:24px}}


.fusion-two{--paper:var(--paper);--pale:var(--pale)}.fusion-two .service-intro{max-width:none;border:0;background:var(--pale);border-radius:110px 110px 0 0;padding:90px max(42px,calc((100vw - 1076px)/2));position:relative}.fusion-two .service-facts{background:var(--paper);border-radius:38px;padding:32px}.fusion-two #about{padding-top:92px;padding-bottom:92px}.fusion-two .audience{background:var(--pale);border:0;border-radius:38px;padding:35px}.fusion-two .audience h3{font-family:var(--serif);font-size:23px}.fusion-two .guide-band{border-radius:130px 130px 60px 60px;margin:0 28px}.fusion-two .guide-band .section{padding-top:95px;padding-bottom:85px}.fusion-two .cost{background:var(--paper);border:0;border-radius:30px;padding:26px;margin:20px 0}.fusion-two .steps li{background:var(--paper);border:0;border-radius:22px;padding:18px;margin-bottom:12px}.fusion-two .steps b{color:var(--green)}.fusion-two .portrait{border-radius:48% 48% 14% 14%}.fusion-two .person{background:var(--pale);padding:38px;border-radius:60px;gap:45px}.fusion-two #faq{padding-top:28px!important;padding-bottom:90px}.fusion-two details{background:var(--pale);border:0;border-radius:22px;padding:22px 26px;margin-top:14px}.fusion-two .contact{border-radius:130px 130px 0 0;background:var(--brand-soft)}.fusion-two .contact::before{width:56px;height:56px;top:52px;left:9%;opacity:.55}.fusion-two .btn{border-radius:999px}.fusion-two .btn.secondary{background:var(--paper)}.fusion-two .service-grid{gap:48px}.fusion-two .service-intro .image-note{margin-top:28px}
@media(max-width:700px){.fusion-two .service-intro{border-radius:58px 58px 0 0;padding:60px 24px 46px!important}.fusion-two .service-facts{border-radius:28px;padding:24px 20px}.fusion-two .service-grid{gap:28px}.fusion-two .audience{border-radius:30px;padding:27px}.fusion-two #about{padding-top:55px;padding-bottom:55px}.fusion-two .guide-band{margin:0 12px;border-radius:62px 62px 34px 34px}.fusion-two .guide-band .section{padding:60px 20px}.fusion-two .cost{padding:23px 18px;border-radius:25px}.fusion-two .person{padding:26px 22px;border-radius:38px;gap:26px}.fusion-two .person h2{font-size:23px}.fusion-two #faq{padding-bottom:55px}.fusion-two details{padding:20px;border-radius:20px}.fusion-two .contact{border-radius:60px 60px 0 0}.fusion-two .contact h2{font-size:23px}.fusion-two .contact::before{left:-14px;top:35px}.fusion-two .cta-row .btn{font-size:12px;padding:12px 16px}}
@media(max-width:700px){.fusion-two #about h2{font-size:22px}.fusion-two .audience h3{font-size:20px}}


.fv-study{min-height:100svh;position:relative;display:flex;align-items:center;justify-content:center;background:var(--paper);padding:30px 4vw;isolation:isolate;overflow:hidden}.fv-scene{position:relative;width:min(100%,1100px);aspect-ratio:1467/808;background:var(--paper);overflow:hidden}.fv-photo,.fv-nature{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.fv-photo{opacity:.18}.fv-nature{opacity:0}.fv-name{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:0!important;font-family:var(--serif)!important;line-height:1.5!important;letter-spacing:.14em!important;font-size:48px!important;text-align:center;color:var(--ink)}.fv-name span,.fv-name small{background:transparent;padding:5px 20px}.fv-name small{font-size:18px;font-weight:400;letter-spacing:.16em}.fv-skip{position:absolute;bottom:24px;right:24px;width:52px;height:52px;border-radius:50%;border:1px solid var(--line-strong);background:var(--paper);font-size:24px}.fv-study.playing .fv-photo{animation:fvFade 4s ease both}.fv-study.playing .fv-name{animation:fvName 4s ease both}.fv-study.motion-b .fv-scene{width:min(94%,1100px)}.fv-study.motion-b .fv-photo{width:97.6%;height:97.6%;margin:auto}.fv-study.playing.motion-b .fv-photo{animation:fvDrift 4s ease both}.fv-study.motion-c .fv-nature{opacity:.2}.fv-study.motion-c .fv-photo{opacity:.07}.fv-study.playing.motion-c .fv-photo{animation:fvSwitch 4s ease both}.fv-study.playing.motion-c .fv-nature{animation:fvNature 4s ease both}.fv-study:not(.playing) .fv-skip{display:none}
@keyframes fvFade{0%,20%{opacity:1}70%,100%{opacity:.18}}@keyframes fvName{0%,38%{opacity:0}80%,100%{opacity:1}}@keyframes fvDrift{0%,20%{opacity:1;transform:translateX(-1.2%)}70%,100%{opacity:.18;transform:translateX(1.2%)}}@keyframes fvSwitch{0%,20%{opacity:1}80%,100%{opacity:.07}}@keyframes fvNature{0%,30%{opacity:0}65%,100%{opacity:.2}}
@media(max-width:700px){.fv-study{padding:24px 0}.fv-name{font-size:30px!important;letter-spacing:.1em!important}.fv-name small{font-size:13px;letter-spacing:.1em}.fv-name span,.fv-name small{padding:3px 12px}.fv-skip{right:18px;bottom:24px}}
@media(prefers-reduced-motion:reduce){.fv-study.playing .fv-photo,.fv-study.playing .fv-name,.fv-study.playing .fv-nature{animation:none!important}.fv-name{opacity:1}.fv-skip{display:none}}


.fv-name{font-size:clamp(64px,7.5vw,104px)!important;letter-spacing:.16em!important;line-height:1.35!important}.fv-name small{font-size:clamp(24px,2.3vw,32px);letter-spacing:.13em;margin-top:16px}.fv-photo{opacity:var(--remaining)}.fv-study.playing.motion-b .fv-photo{animation:fvFinalDrift 4s ease both}.fv-study.playing .fv-name{animation:fvFinalName 4s ease both}@keyframes fvFinalDrift{0%,20%{opacity:1;transform:translateX(-1.2%)}75%,100%{opacity:var(--remaining);transform:translateX(1.2%)}}@keyframes fvFinalName{0%,48%{opacity:0}85%,100%{opacity:1}}@media(max-width:700px){.fv-name{font-size:clamp(40px,13.2vw,56px)!important;letter-spacing:.1em!important}.fv-name small{font-size:clamp(16px,4.8vw,21px);letter-spacing:.08em;margin-top:12px}.fv-name span,.fv-name small{padding:3px 6px}}


.fv-photo{filter:var(--sunlight)}.fv-study.playing.motion-b .fv-photo{animation:fvSoftB 4.4s ease both}.fv-study.playing .fv-name{animation:fvSoftName 4.4s ease both}@keyframes fvSoftB{0%,20%{opacity:1;transform:translateX(-1.2%)}60%,100%{opacity:0;transform:translateX(1.2%)}}@keyframes fvSoftName{0%,65%{opacity:0}95%,100%{opacity:1}}.photo-review .fv-photo{opacity:1!important;animation:none!important;transform:none!important}.photo-review .fv-name{visibility:hidden}.photo-review .fv-skip{display:none}

/* Limited FV sizing revision; body below FV unchanged. */
.fv-study{padding:0;min-height:0}.fv-study.motion-b .fv-scene{width:100%;max-width:none;aspect-ratio:1467/808}.fv-study.motion-b .fv-photo{width:100%;height:100%;margin:0;object-fit:contain}.fv-name{font-size:clamp(92px,12vw,156px)!important;letter-spacing:.12em!important;line-height:1.15!important}.fv-name span{white-space:nowrap}.fv-name small{font-size:clamp(28px,3.1vw,40px);letter-spacing:.12em;margin-top:24px;white-space:nowrap}
@media(max-width:700px){.fv-study.motion-b .fv-scene{aspect-ratio:4/5}.fv-study.motion-b .fv-photo{object-fit:cover;object-position:28% center}.fv-name{font-size:clamp(48px,16vw,76px)!important;letter-spacing:.1em!important}.fv-name small{font-size:clamp(16px,5.2vw,24px);letter-spacing:.06em;margin-top:18px;padding:3px 6px}.fv-skip{bottom:18px}}

/* Stage2: shared site components; adopted FV rules above retained. */
.stage2{font-size:16px}.site-header{display:flex!important;position:sticky;top:0;z-index:12;gap:22px;padding:15px 4vw;background:#fffef9f7;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.site-header .brand{font-size:13px;flex-shrink:0}.site-header .brand img{width:44px;height:44px}.site-header nav{gap:18px;display:flex;align-items:center;flex-wrap:wrap}.site-header nav a{display:block;text-decoration:none;font-size:13px}.site-header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:8px;text-decoration-color:var(--green)}.menu-toggle{display:none;background:var(--paper);border:1px solid var(--line-strong);border-radius:22px;padding:9px 14px;min-height:44px}.test-banner{padding:8px 24px;text-align:center;background:var(--pale);font-size:11px;line-height:1.5}.site-main{min-height:65vh}.page-lead{background:var(--pale);border-radius:0 0 110px 110px;padding:66px max(32px,calc((100vw - 1080px)/2)) 64px}.page-lead h1{font-family:var(--serif);font-size:clamp(32px,4vw,52px);line-height:1.5;letter-spacing:.04em;font-weight:500}.page-lead p{font-size:15px;margin-top:20px;max-width:660px}.breadcrumbs{font-size:12px;margin-bottom:25px}.breadcrumbs a{text-underline-offset:4px}.content-wrap{max-width:1160px;margin:auto;padding:72px 42px}.content-wrap h2{font:500 32px/1.6 var(--serif);margin-bottom:24px;letter-spacing:.04em}.content-wrap h3{font:500 22px/1.65 var(--serif);margin-bottom:12px}.content-wrap p{font-size:15px;margin:14px 0}.content-wrap ul{padding-left:22px;font-size:15px}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:28px}.info-card{background:var(--pale);padding:32px;border-radius:34px}.info-card.white{background:var(--paper)}.soft-band{background:var(--pale);border-radius:110px 110px 60px 60px;margin:0 24px}.content-wrap .cta-row{margin-top:27px}.facts{margin:0}.facts>div{display:grid;grid-template-columns:140px 1fr;gap:18px;border-bottom:1px solid var(--line);padding:16px 0}.facts dt{font-weight:600;font-size:13px}.facts dd{margin:0;font-size:15px}.link-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.link-card{display:block;background:var(--pale);padding:30px;border-radius:32px;text-decoration:none;border:1px solid transparent}.link-card:hover{border-color:var(--line-strong)}.link-card b{font:500 22px/1.6 var(--serif)}.link-card p{font-size:14px;margin-top:14px}.link-card .arrow{display:block;margin-top:22px;font-size:18px}.site-footer{display:block;max-width:none;background:var(--paper);padding:40px max(32px,calc((100vw - 1080px)/2));font-size:12px}.site-footer .footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px}.footer-links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:26px}.footer-links a{font-size:12px;text-underline-offset:4px}.footer-test{font-size:11px;margin-top:26px;color:#59674f}.steps-page{list-style:none;counter-reset:step;padding:0;margin:0}.steps-page li{display:grid;grid-template-columns:56px 1fr;gap:24px;padding:28px;border-radius:28px;background:var(--pale);margin-bottom:18px;counter-increment:step}.steps-page li::before{content:'0' counter(step);font:32px/1.5 var(--serif);color:var(--green)}.steps-page h2{font-size:25px;margin-bottom:10px}.steps-page p{margin:0}.price-main{font:500 46px/1.4 var(--serif)}.price-main small{font:13px/1.6 var(--sans)}.price-note{font-size:13px!important}.section-kicker{font-size:12px;letter-spacing:.1em;font-weight:600;color:var(--green);margin-bottom:14px}.faq-list details{background:var(--pale);border:0;border-radius:24px;padding:22px 28px;margin:15px 0}.faq-list details p{padding:12px 0 0;margin:0}.form-card{border-radius:36px;background:var(--pale);padding:36px}.test-warning{padding:18px 22px;border:1px solid var(--line-strong);border-radius:18px;font-size:13px}.field{margin-top:22px}.field label{display:block;font-weight:600;font-size:14px;margin-bottom:8px}.field input,.field select,.field textarea{display:block;width:100%;max-width:100%;font:16px/1.6 var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:12px;padding:12px;min-height:48px}.field textarea{min-height:140px;resize:vertical}.field small{font-size:12px}.form-card button{margin-top:24px}.status-message{font-size:14px;line-height:1.8;min-height:2em;margin-top:18px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.menu-toggle:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.contact-options{margin-top:26px}.contact-options .btn{margin:8px 8px 0 0}button{touch-action:manipulation}.stage2 .service-intro{scroll-margin-top:100px}.stage2 .person{padding:32px}.stage2 .contact{margin-top:20px}.stage2 .contact p{font-size:15px}.stage2 .contact h2{font:500 32px/1.7 var(--serif)}.review-placeholder{border-left:3px solid #c6cf87;padding-left:18px}.back-top{display:inline-block;padding:10px 0;margin-top:16px}html{scroll-padding-top:100px}.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}
@media(max-width:1000px){.site-header{flex-wrap:wrap;justify-content:space-between;padding:12px 24px}.menu-toggle{display:block}.site-header nav{display:none;width:100%;padding:15px 0 6px;gap:0;grid-template-columns:1fr 1fr}.site-header[data-open=true] nav{display:grid}.site-header nav a{padding:12px 8px;border-top:1px solid var(--line);min-height:44px}.link-cards{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.site-header{padding:11px 18px}.site-header .brand{font-size:11px;gap:8px}.site-header .brand img{width:36px;height:36px}.page-lead{padding:38px 24px 44px;border-radius:0 0 54px 54px}.page-lead h1{font-size:30px}.page-lead p{font-size:14px}.content-wrap{padding:48px 24px}.content-wrap h2{font-size:26px}.content-wrap h3{font-size:21px}.content-wrap p,.content-wrap ul{font-size:14px}.grid-two,.link-cards{grid-template-columns:1fr}.info-card{padding:25px;border-radius:28px}.soft-band{margin:0 12px;border-radius:60px 60px 34px 34px}.soft-band .content-wrap{padding-left:20px;padding-right:20px}.facts>div{grid-template-columns:1fr;gap:6px;padding:14px 0}.site-footer{padding:32px 24px}.site-footer .footer-grid{grid-template-columns:1fr;gap:25px}.steps-page li{grid-template-columns:38px 1fr;gap:15px;padding:24px 18px}.steps-page li::before{font-size:26px}.steps-page h2{font-size:21px}.price-main{font-size:38px}.form-card{padding:26px 20px;border-radius:28px}.stage2 .contact h2{font-size:25px}.stage2 .person{padding:26px 22px}.test-banner{font-size:10px;padding:7px 18px}.breadcrumbs{font-size:11px}.link-card{padding:26px}.stage2 .service-intro h2{font-size:24px}.stage2 .service-facts .cta-row{gap:9px}.stage2 .service-facts .btn{padding:11px 14px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.site-header{backdrop-filter:none}}

.content-wrap .price-main{font-size:46px}@media(max-width:700px){.content-wrap .price-main{font-size:38px}}

.grid-two>*{min-width:0}.source-url{overflow-wrap:anywhere}.stage2 .btn{max-width:100%;white-space:normal}.info-card .btn,.form-card .btn{font-size:14px;padding:13px 18px;gap:12px}

.section-kicker{color:var(--green)}

.page-lead h1 span{display:inline-block}

/* Keep in-page navigation immediate; FV remains the only timed motion. */
html{scroll-behavior:auto}

/* Shared readability and consultation improvement; adopted FV untouched. */
.stage2{font-size:18px;line-height:1.9}
.stage2 .page-lead p,.stage2 .content-wrap p,.stage2 .content-wrap ul,.stage2 .person p,.stage2 .link-card p,.stage2 .service-intro p,.stage2 .service-facts p,.stage2 .facts dd{font-size:18px;line-height:1.9}
.stage2 .content-wrap h2,.stage2 .section h2{font-size:clamp(28px,2.8vw,36px);line-height:1.6}
.stage2 .content-wrap h3,.stage2 .link-card b,.stage2 .service-facts h3{font-size:24px;line-height:1.65}
.stage2 .facts dt,.stage2 .field label,.stage2 summary{font-size:18px}
.stage2 .content-wrap .price-note,.stage2 .price-main small,.stage2 .test-warning,.stage2 .field small,.stage2 .image-note{font-size:15px!important;line-height:1.85}
.stage2 .eyebrow,.stage2 .section-kicker,.stage2 .breadcrumbs{font-size:14px}
.stage2 .site-footer,.stage2 .footer-links a{font-size:15px;line-height:1.9}
.stage2 .footer-test,.stage2 .test-banner{font-size:13px}
.stage2 .site-header nav a{font-size:15px}.stage2 .site-header nav{gap:14px}
.stage2 .btn,.stage2 .cta-row .btn,.stage2 .info-card .btn,.stage2 .form-card .btn,.stage2 .service-facts .btn{font-size:18px;line-height:1.5;min-height:60px;padding:16px 22px;gap:10px}
.stage2 .field input,.stage2 .field select,.stage2 .field textarea{font-size:18px;line-height:1.7;min-height:54px}
.stage2 .status-message{font-size:17px}.stage2 .faq-list summary{font-size:19px;line-height:1.7}
.stage2 dialog{max-width:620px}.stage2 dialog p,.stage2 dialog .source-url{font-size:17px;line-height:1.85}
.stage2 .consultation-area .section{max-width:1200px;padding:90px 42px 84px}
.stage2 .consultation-area h2{font-size:clamp(27px,2.8vw,38px);line-height:1.6}
.stage2 .consultation-copy{max-width:780px;font-size:19px;line-height:1.9;margin:24px auto 36px}
.consultation-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;text-align:left}
.consultation-card{background:var(--paper);border-radius:36px;padding:34px;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.consultation-card h3{font:500 27px/1.6 var(--serif)}
.stage2 .consultation-card p{font-size:18px;line-height:1.85;margin:16px 0;max-width:none}
.stage2 .consultation-card .consultation-number{font-size:clamp(28px,3vw,38px);line-height:1.4;font-weight:700;white-space:nowrap;letter-spacing:0;margin:18px 0 6px}
.consultation-card .btn{width:100%;margin-top:auto;text-align:center}
.stage2 .consultation-card .consultation-note{font-size:15px;margin-bottom:0}
.stage2 .consultation-eligibility{font-size:17px;max-width:850px;margin:30px auto 0}
#form-info,#telephone{scroll-margin-top:100px}
@media(max-width:1100px) and (min-width:1001px){.stage2 .site-header nav{gap:9px}.stage2 .site-header nav a{font-size:14px}}
@media(max-width:700px){
 .stage2{font-size:17px;line-height:1.9}
 .stage2 .page-lead p,.stage2 .content-wrap p,.stage2 .content-wrap ul,.stage2 .person p,.stage2 .link-card p,.stage2 .service-intro p,.stage2 .service-facts p,.stage2 .facts dd{font-size:17px}
 .stage2 .content-wrap h2,.stage2 .section h2,.stage2 .service-intro h2{font-size:28px;line-height:1.6}
 .stage2 .content-wrap h3,.stage2 .link-card b,.stage2 .service-facts h3{font-size:22px}
 .stage2 .content-wrap{padding:54px 24px}.stage2 .info-card{padding:26px 22px}
 .stage2 .btn,.stage2 .cta-row .btn,.stage2 .info-card .btn,.stage2 .form-card .btn,.stage2 .service-facts .btn{font-size:17px;padding:16px 18px;min-height:60px}
 .stage2 .faq-list details{padding:22px 20px}.stage2 .faq-list summary{font-size:18px}
 .stage2 .consultation-area .section{padding:62px 24px 58px}
 .stage2 .consultation-area h2{font-size:27px}.stage2 .consultation-copy{font-size:17px;margin:22px auto 28px}
 .consultation-grid{grid-template-columns:1fr;gap:22px}.consultation-card{border-radius:30px;padding:28px 22px}
 .consultation-card h3{font-size:25px}.stage2 .consultation-card p{font-size:17px}
 .stage2 .consultation-card .consultation-number{font-size:clamp(24px,7vw,30px)}
 .stage2 .consultation-card .consultation-note{font-size:14px}.stage2 .consultation-eligibility{font-size:16px}
 .stage2 .steps-page li{grid-template-columns:1fr;gap:8px}.stage2 .steps-page h2{font-size:24px}
}

.consultation-area h2 span{display:inline-block}.stage2 #telephone .price-main{font-size:32px;line-height:1.5}

/* Shared Color System and balanced content spacing. */
.stage2{--paper:#fffef9;--pale:#f0f5e8;--brand-soft:#e6efcf;--lime:#b6cf73;--ink:#254637;--green:#557a2c;--yellow:#f0d66c;--line:#d9dfd0;--line-strong:#80946e;--content-width:1160px;--section-space:56px}
.stage2 .site-header{background:var(--paper)}
.stage2 .section,.stage2 .content-wrap{max-width:var(--content-width);padding-top:var(--section-space);padding-bottom:var(--section-space)}
.stage2 .page-lead{padding-top:44px;padding-bottom:46px}
.stage2 .service-intro{padding-top:64px!important;padding-bottom:56px!important;background:var(--pale)}
.stage2 .service-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start}
.stage2 .service-grid>*{min-width:0}
.stage2 .service-facts{background:var(--paper)}
.stage2 .soft-band,.stage2 .page-lead,.stage2 .info-card,.stage2 .link-card,.stage2 .faq-list details,.stage2 .steps-page li,.stage2 .form-card,.stage2 .test-banner{background:var(--pale)}
.stage2 .info-card.white,.stage2 .consultation-card{background:var(--paper)}
.stage2 .soft-band{margin:0 24px}
.stage2 .person{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:36px;align-items:center;padding:30px;background:var(--pale);border-radius:44px}
.stage2 .person>*{min-width:0}
.stage2 .person .portrait{width:100%;max-width:320px;height:auto;aspect-ratio:260/310;object-fit:cover;justify-self:center}
.stage2 .person p{max-width:640px;margin-top:18px}
.stage2 .grid-two:has(>:nth-child(3):last-child)>:last-child{grid-column:1/-1}
.stage2 .consultation-area{background:var(--brand-soft)}
.stage2 .consultation-area .section{padding-top:68px;padding-bottom:62px}
.stage2 .consultation-card .btn{margin-top:12px}
.stage2 .section-kicker{color:var(--ink)}
@media(max-width:820px){.stage2 .person{grid-template-columns:1fr;gap:24px}.stage2 .person .portrait{max-width:220px}.stage2 .service-grid{grid-template-columns:1fr;gap:26px}}
@media(max-width:700px){
 .stage2{--section-space:42px}
 .stage2 .page-lead{padding-top:30px;padding-bottom:34px}
 .stage2 .service-intro{padding-top:44px!important;padding-bottom:42px!important}
 .stage2 .soft-band{margin:0 12px}
 .stage2 .person{padding:26px 22px;border-radius:32px;gap:22px}
 .stage2 .person .portrait{max-width:200px}
 .stage2 .consultation-area .section{padding-top:48px;padding-bottom:46px}
}

/* Keep the longer service facts from leaving an empty left column. */
.stage2 .service-grid{grid-template-columns:1fr;gap:28px}
.stage2 .service-grid>div:first-child p{max-width:850px}
.stage2 .service-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 30px}
.stage2 .service-facts>h3:nth-of-type(1){grid-column:1;grid-row:1}
.stage2 .service-facts>p:nth-of-type(1){grid-column:1;grid-row:2}
.stage2 .service-facts>h3:nth-of-type(2){grid-column:2;grid-row:1}
.stage2 .service-facts>p:nth-of-type(2){grid-column:2;grid-row:2}
.stage2 .service-facts>.cta-row,.stage2 .service-facts>p:nth-of-type(n+3){grid-column:1/-1}
.stage2 .service-facts p{margin-top:0}
@media(max-width:700px){.stage2 .service-facts{display:block}.stage2 .service-facts h3:not(:first-child){margin-top:24px}}

@media(min-width:701px){.stage2 .service-facts>h3{margin:0;align-self:start}}

/* Five-point co-design revision: adopted scene and keyframes retained. */
.stage2{--pale:var(--brand-soft)}
.stage2 .fv-name{justify-content:flex-start;align-items:flex-start;text-align:left;padding:10.5% 8% 0;font-size:clamp(92px,12vw,156px)!important}
.stage2 .fv-name span{padding:0;line-height:1.2}
.stage2 .fv-name small{align-self:flex-start;margin:26px 0 0 12vw;padding:0;font-size:clamp(26px,3vw,40px);line-height:1.6;letter-spacing:.1em}
.stage2 .service-facts{display:block;background:transparent;padding:0;border-radius:0}
.service-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.service-detail{background:var(--paper);border-radius:30px;padding:28px;min-width:0}
.stage2 .service-detail h3{margin:0 0 18px}
.stage2 .service-detail p{margin:0 0 14px}
.stage2 .service-detail p:last-child{margin-bottom:0}
.stage2 .service-detail .service-note{font-size:16px}
.service-actions{margin-top:28px}
.stage2 .service-actions .cta-row{margin-bottom:20px;gap:14px}
.stage2 .service-actions p{margin:12px 0 0}
.stage2 .service-actions .trial-note{font-size:16px}
.stage2 .service-actions .phone{font-size:17px}
.stage2 .service-overview{background:var(--pale);border-radius:44px;margin:24px auto}
.overview-copy{max-width:900px;margin-bottom:32px}
.stage2 .overview-copy p{margin:18px 0 0}
.stage2 .guide-title{margin-bottom:22px}
.stage2 .link-card,.stage2 .info-card,.stage2 .faq-list details,.stage2 .steps-page li,.stage2 .form-card{background:var(--paper)}
.mobile-only{display:none}
@media(max-width:700px){
 .stage2 .fv-name{padding:18% 7% 0;font-size:clamp(44px,15vw,72px)!important;letter-spacing:.08em!important}
 .stage2 .fv-name small{margin:22px 0 0 12vw;font-size:clamp(15px,4.8vw,22px);letter-spacing:.04em}
 .service-detail-grid{grid-template-columns:1fr;gap:20px}
 .service-detail{padding:24px 22px;border-radius:26px}
 .stage2 .service-detail h3{margin-bottom:14px}
 .stage2 .service-actions .cta-row .btn{width:100%}
 .stage2 .service-overview{margin:18px 12px;border-radius:32px}
 .stage2 .service-overview h2{font-size:26px}
 .mobile-only{display:inline}
}

.stage2 .service-intro h2 span{display:inline-block}.stage2 .info-card,.stage2 .link-card,.stage2 .faq-list details,.stage2 .steps-page li,.stage2 .form-card{border:1px solid var(--line)}

/* FV typography only: larger name and a clearer descending step. */
.stage2 .fv-name{font-size:clamp(110px,15vw,196px)!important}
.stage2 .fv-name small{font-size:clamp(24px,3.5vw,48px);margin:48px 0 0 26vw;letter-spacing:.08em}
@media(max-width:700px){
 .stage2 .fv-name{font-size:clamp(52px,18.5vw,84px)!important}
 .stage2 .fv-name small{font-size:clamp(17px,5.3vw,28px);margin:32px 0 0 20vw;letter-spacing:.04em}
}

/* Approved mobile FV viewport height and stepped name position; desktop unchanged. */
@media(max-width:700px){
 .stage2 .fv-study{height:100vh;height:100svh;height:100dvh;min-height:100svh;padding:0}
 .stage2 .fv-study.motion-b .fv-scene{height:100%;aspect-ratio:auto}
 .stage2 .fv-study.motion-b .fv-photo{height:min(100%,125vw);top:0;bottom:0;margin:auto;object-fit:cover;object-position:28% center}
 .stage2 .fv-name{padding-top:clamp(96px,18svh,168px)}
}

/* Mobile-only: center the two-line name group vertically; retain stepped alignment. */
@media(max-width:700px){
 .stage2 .fv-name{justify-content:center;padding-top:0;padding-bottom:0}
}

/* Desktop-only: center the complete stepped name group within the FV. */
@media(min-width:701px){
 .stage2 .fv-name{inset:auto;left:50%;top:50vh;top:min(50dvh,calc(100% - 20vh));transform:translate(-50%,-50%);width:max-content;max-width:100%;height:max-content;padding:0;justify-content:flex-start;align-items:flex-start}
}
