:root{--ink:#313638;--muted:#5b6367;--aqua:#24bcc5;--aqua-dark:#187b83;--pink:#e75894;--paper:#fdfcf9;--lavender:#eae5f2;--line:#dedfe0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,canvas:focus-visible,summary:focus-visible{outline:3px solid #167b83;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;line-height:1.5;letter-spacing:-.045em}h2{font-size:clamp(30px,3.5vw,46px)}h3{font-size:22px}em{font-style:normal;color:var(--aqua-dark)}.section-inner{max-width:1200px;padding-left:48px;padding-right:48px;margin:auto}.eyebrow{font-size:12px;font-weight:650;letter-spacing:.13em;margin-bottom:22px;color:#596168}.skip-link{position:fixed;top:-100px;left:20px;z-index:20;background:white;padding:10px 20px}.skip-link:focus{top:10px}.header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 5.2%;background:var(--lavender)}.brand{font-size:33px;font-weight:750;letter-spacing:-1.7px;line-height:1}.brand-dot{color:var(--pink)}nav{display:flex;gap:30px;font-size:13px;font-weight:600}nav a:hover{color:var(--aqua-dark)}.nav-cta{background:var(--ink);color:white;font-size:13px;border-radius:40px;padding:12px 22px;white-space:nowrap}.nav-cta span{margin-left:20px}.nav-cta:hover{background:#4c5557}.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--lavender);height:calc(100svh - 88px);min-height:760px;max-height:1000px}.hero-copy{position:absolute;left:5.2%;bottom:105px;z-index:2;pointer-events:none}.hero-copy a{pointer-events:auto}.hero-copy .eyebrow{font-size:13px;letter-spacing:.07em;color:#595265}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pink);vertical-align:2px;margin-right:8px}h1{font-size:clamp(38px,4.1vw,62px);line-height:1.5;letter-spacing:-.07em}.hero-description{font-size:17px;line-height:1.9;margin-top:22px;color:#514c5a}.hero-link{display:inline-flex;align-items:center;gap:28px;margin-top:23px;font-size:15px;font-weight:600}.hero-link span{display:grid;place-items:center;width:31px;height:31px;border:1px solid #b9b0c7;border-radius:50%}.hero-link:hover span{background:#f9f6ff}.hero-visual{width:100%;height:100%;position:relative}.hero-visual canvas{position:absolute;right:-8%;top:-40px;width:86%;height:88%;touch-action:pan-y pinch-zoom;cursor:grab}.hero-visual canvas:active,.friends-visual canvas:active{cursor:grabbing}.scene-tools{position:absolute;right:5.2%;bottom:85px;display:flex;align-items:center;gap:18px;font-size:12px;color:#5d546a;z-index:3}.reset{font-size:12px;border:1px solid #bcb5c6;border-radius:25px;padding:8px 12px;background:transparent;color:inherit;cursor:pointer;min-height:38px}.reset:hover{background:#ffffff80}.hero-bottom{position:absolute;left:5.2%;right:5.2%;bottom:25px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.08em;color:#625a6b;z-index:3}.hero-bottom a span{margin-left:20px}.canvas-fallback{position:absolute;inset:40% 15%;text-align:center;color:var(--aqua-dark)}.entrances{padding-top:88px;padding-bottom:100px}.section-intro{position:relative}.section-intro>p:last-child{position:absolute;right:0;bottom:6px;color:var(--muted);font-size:16px;line-height:1.9}.compact h2{font-size:30px}.compact .eyebrow{margin-bottom:13px}.entrance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}.entrance-card{padding:25px 25px 20px;background:#eef7f5;border-radius:4px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.entrance-card:nth-child(2){background:#fbecf1}.entrance-card:nth-child(3){background:#efedf6}.entrance-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #31363808}.entrance-index{font-size:14px;color:#546268;display:flex;gap:13px;align-items:center}.entrance-index>span{font-size:10px;letter-spacing:.08em}.entrance-card h3{margin:26px 0 12px;font-size:21px}.entrance-card p{font-size:16px;color:#525b60;line-height:1.8}.card-link{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;margin-top:28px;padding-top:15px;border-top:1px solid #31363820}.card-link>span{font-size:20px}.approach{background:white;padding:98px 0 0}.role-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:75px;align-items:start}.role-heading>p:not(.eyebrow){font-size:16px;margin-top:24px;line-height:1.9;color:var(--muted)}.role-heading h2{font-size:39px}.friends-visual{width:100%;height:330px;position:relative;margin-top:5px}.friends-visual canvas{width:100%;height:290px;touch-action:pan-y pinch-zoom;cursor:grab}.friends-controls{display:flex;align-items:center;justify-content:center;gap:16px;font-size:12px;color:#536169}.friends-controls .reset{border-color:#cdd7d9;font-size:11px}.role-list{padding-top:27px}.role-item{display:flex;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.role-item:first-child{padding-top:0}.role-symbol{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:13px;font-size:25px;margin-top:5px}.aqua{background:#e1f4f2;color:#1c7880}.pink{background:#fae8ef;color:#ac3562}.yellow{background:#faf0d1;color:#856a20}.role-specialist{font-size:13px;color:#536068}.role-item h3{font-size:22px;margin:3px 0 10px}.role-item p{color:var(--muted);line-height:1.85;font-size:16px}.role-note{font-size:12px;color:#626c71;margin-top:18px}.connection-note{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:40px;padding-top:29px;padding-bottom:35px;margin-top:36px;align-items:start}.connection-label{font-size:19px;font-weight:650;letter-spacing:-.04em}.connection-note p{font-size:14px;color:var(--muted);line-height:1.9}.steps{padding-top:110px;padding-bottom:100px}.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;list-style:none;padding:0;margin:50px 0 0}.step-grid li{border-top:1px solid #cfd5d6;padding-top:19px}.step-number{font-size:14px;color:var(--aqua-dark);letter-spacing:.05em}.step-grid h3{margin:21px 0 12px;font-size:21px}.step-grid p{font-size:16px;line-height:1.9;color:var(--muted)}.section-note{border-left:2px solid #bcc7c9;margin-top:38px;padding-left:15px;font-size:13px;color:#596368}.partnership{background:#f2eff6;padding:96px 0 105px}.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:45px}.partner-card{display:flex;flex-direction:column;background:var(--paper);padding:36px;border-top:3px solid var(--pink);scroll-margin-top:30px}.company-card{border-color:var(--aqua)}.partner-label{font-size:13px;color:#675761;font-weight:600}.company-card .partner-label{color:#42666a}.partner-card h3{font-size:25px;margin:25px 0 20px}.partner-card>p{font-size:16px;color:var(--muted);line-height:1.9}.partner-card ul{list-style:none;padding:0;margin:23px 0 27px}.partner-card li{font-size:14px;padding:7px 0 7px 20px;position:relative}.partner-card li:before{content:'＋';position:absolute;left:0;color:var(--aqua-dark);font-size:13px}.partner-card .development-note{font-size:12px;line-height:1.8;background:#f1f0f3;padding:14px 16px;margin:0 0 22px}.development-note>span{display:block;font-weight:700;margin-bottom:4px}.round-link{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:20px;font-size:14px;font-weight:600;margin-top:auto}.round-link>span{display:grid;place-items:center;flex:0 0 31px;height:31px;background:#eaf3f2;border-radius:50%;font-size:17px}.round-link:hover>span{background:#cdeae9}.faq{padding-top:106px;padding-bottom:110px;display:grid;grid-template-columns:1fr 1.55fr;gap:70px}.faq-heading h2{font-size:36px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;position:relative;padding:24px 42px 24px 0;font-weight:600;line-height:1.8;font-size:16px}summary::-webkit-details-marker{display:none}summary:after{content:'＋';position:absolute;right:3px;top:24px;font-size:20px;color:var(--aqua-dark);font-weight:400}details[open]>summary:after{content:'−'}details p{font-size:16px;line-height:1.9;color:var(--muted);padding:0 25px 25px 0}.contact{text-align:center;background:#eaf3f1;padding:87px 0 75px}.contact h2{font-size:39px}.contact .eyebrow{color:#42716e}.contact h2+p{font-size:16px;color:#53625f;margin-top:21px;line-height:1.9}.message-hints{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-top:25px;font-size:12px;color:#53625f}.contact-panel{display:flex;text-align:left;justify-content:space-between;align-items:center;max-width:590px;margin:29px auto 20px;background:var(--ink);color:white;padding:25px 30px;border-radius:3px;gap:20px;transition:background .2s}.contact-panel:hover{background:#455450}.contact-panel>span:first-child{display:flex;flex-direction:column}.contact-label{font-size:12px;color:#d0e2dc;letter-spacing:.04em}.contact-panel strong{font-size:25px;letter-spacing:-.03em;line-height:1.6;margin:5px 0}.contact-sub{font-size:12px;color:#d4dfdc}.contact-mark{font-size:29px;color:#81ddd6}.contact-note{font-size:12px;color:#586761;line-height:1.9}.footer{display:flex;gap:28px;align-items:center;padding-top:37px;padding-bottom:37px}.footer .brand{font-size:28px}.footer p{font-size:11px;color:#596267;flex:1}.footer>span,.footer>a:last-child{font-size:11px;color:#596267}
@media(min-width:1600px){.hero{min-height:900px}.hero-copy{bottom:120px}.hero-visual canvas{height:90%}.hero-copy h1{font-size:66px}}
@media(max-width:1050px){nav{gap:17px;font-size:12px}.header{padding:0 4%;gap:15px}.section-inner{padding-left:34px;padding-right:34px}.hero-visual canvas{width:100%;right:-15%;top:-45px}.hero-copy{left:4%}.role-layout{gap:35px}.role-heading h2{font-size:33px}.section-intro>p:last-child{max-width:40%}.compact>p:last-child{font-size:14px}.entrance-card{padding:22px 20px}.entrance-card h3{font-size:18px}.entrance-card p{font-size:16px}.partner-card{padding:27px}.partner-card h3{font-size:23px}.faq{gap:45px}.step-grid{gap:20px}.step-grid h3{font-size:19px}}
@media(max-width:760px){html{scroll-padding-top:20px}.section-inner{padding-left:25px;padding-right:25px}.header{height:72px;padding:0 6%}.brand{font-size:29px}nav{display:none}.nav-cta{font-size:12px;padding:10px 16px}.nav-cta span{margin-left:12px}.hero{height:850px;min-height:850px;max-height:none}.hero-copy{left:6%;right:6%;bottom:81px}.hero-copy .eyebrow{font-size:11px;margin-bottom:15px}.hero-copy h1{font-size:clamp(31px,7.6vw,49px);line-height:1.5}.hero-description{font-size:16px;line-height:1.85;margin-top:19px}.hero-link{font-size:14px;margin-top:18px;gap:20px}.hero-visual{height:455px}.hero-visual canvas{width:130%;height:450px;top:-15px;left:-15%;right:auto}.scene-tools{right:0;left:0;bottom:0;justify-content:center;font-size:10px;gap:15px}.reset{font-size:11px;min-height:36px}.hero-bottom{left:6%;right:6%;bottom:23px;font-size:9px;letter-spacing:.04em}.hero-bottom a span{margin-left:9px}.eyebrow{font-size:11px;margin-bottom:15px}.entrances{padding-top:53px;padding-bottom:60px}.section-intro>p:last-child{position:static;max-width:none;font-size:16px;margin-top:20px}.compact h2{font-size:27px}.compact>p:last-child{font-size:14px;margin-top:13px}.entrance-grid{grid-template-columns:1fr;margin-top:27px;gap:12px}.entrance-card{padding:22px 24px;position:relative}.entrance-index{font-size:12px;gap:12px}.entrance-index>span{font-size:9px}.entrance-card h3{font-size:21px;margin:11px 0 6px}.entrance-card p{font-size:16px;line-height:1.8}.entrance-card p br{display:none}.card-link{font-size:13px;padding-top:12px;margin-top:17px}.approach{padding-top:60px}.role-layout{grid-template-columns:1fr;gap:29px}.role-heading h2{font-size:32px}.role-heading>p:not(.eyebrow){font-size:16px;line-height:1.9;margin-top:19px}.role-heading>p:not(.eyebrow) br{display:none}.friends-visual{height:290px;margin-top:4px}.friends-visual canvas{height:255px}.friends-controls{font-size:11px;gap:12px}.role-list{padding-top:0}.role-item{gap:15px;padding:22px 0}.role-symbol{flex-basis:35px;height:35px;font-size:23px;border-radius:10px}.role-specialist{font-size:12px}.role-item h3{font-size:21px;margin:3px 0 8px}.role-item p{font-size:16px}.role-note{font-size:12px;margin-top:16px}.connection-note{display:block;margin-top:30px;padding-top:24px;padding-bottom:30px}.connection-label{font-size:19px}.connection-note p{font-size:14px;margin-top:12px}.connection-note br{display:none}.steps{padding-top:65px;padding-bottom:60px}h2{font-size:32px}.step-grid{grid-template-columns:1fr;gap:0;margin-top:33px}.step-grid li{position:relative;padding:21px 0 22px 45px}.step-number{position:absolute;top:24px;left:0;font-size:13px}.step-grid h3{font-size:21px;margin:0 0 8px}.step-grid p{font-size:16px;line-height:1.8}.section-note{margin-top:13px;font-size:12px}.partnership{padding:60px 0}.partner-grid{grid-template-columns:1fr;margin-top:30px;gap:20px}.partner-card{padding:27px 24px}.partner-label{font-size:12px}.partner-card h3{font-size:23px;margin:20px 0 16px}.partner-card>p{font-size:16px}.partner-card ul{margin:18px 0 23px}.partner-card li{font-size:14px}.round-link{font-size:13px;padding-top:17px}.partner-card .development-note{font-size:12px;padding:13px}.faq{display:block;padding-top:65px;padding-bottom:65px}.faq-heading h2{font-size:31px}.faq-heading h2 br{display:none}.faq-list{margin-top:28px}summary{font-size:16px;padding:22px 32px 22px 0}summary:after{top:22px;font-size:18px}details p{font-size:16px;padding-right:0}.contact{padding:58px 0 49px}.contact h2{font-size:clamp(24px,6.3vw,35px)}.contact h2+p{font-size:16px;margin-top:18px}.message-hints{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:12px;margin-top:22px}.contact-panel{padding:22px 23px;margin-top:25px}.contact-panel strong{font-size:23px}.contact-note{font-size:12px;text-align:left}.contact-note br{display:none}.footer{padding:29px 0;margin:0 25px;gap:18px;flex-wrap:wrap}.footer .brand{font-size:27px}.footer p{font-size:10px;flex-basis:60%}.footer>span{flex:1}.footer>a:last-child{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Participating offices and clearly marked pending categories. */
.footer-service{font-size:19px;font-weight:700;letter-spacing:-.04em;white-space:nowrap}
@media(max-width:760px){.footer-service{font-size:17px;white-space:normal}}

/* v6: the three-dimensional chapters use the viewport as their stage. */
.hero{height:calc(100svh - 88px);min-height:710px;max-height:none;background:#e8e5ef}
.hero-visual{position:absolute;inset:0;width:100%;height:100%}
.hero-visual canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:pan-y pinch-zoom}
.hero-copy{left:5.2%;bottom:13%;width:min(53%,700px);padding:30px 38px 30px 0;background:linear-gradient(90deg,#e8e5efeb,#e8e5efaf 80%,transparent);border-radius:3px}
.hero-copy h1{font-size:clamp(39px,4.5vw,72px)}
.motion-toggle{color:#3a5156;font-size:12px;padding:8px 11px;min-height:38px;background:#ffffffac;border:1px solid #a9b5b9;border-radius:24px;cursor:pointer;white-space:nowrap}
.motion-toggle:hover,.motion-toggle[aria-pressed="true"]{background:#335e63;color:white;border-color:#335e63}
.motion-toggle:focus-visible{outline:3px solid #167b83;outline-offset:3px}
.approach{padding:0;background:#fff}
.approach-stage{position:relative;isolation:isolate;height:100svh;min-height:700px;overflow:hidden;background:radial-gradient(circle at 72% 38%,#f4f5f0 0,#e7e9e3 47%,#d8e3e3 100%)}
.approach-stage canvas{position:absolute;inset:0;width:100%;height:100%;cursor:default;touch-action:auto;z-index:0}
.approach-stage canvas:active{cursor:grabbing}
.approach-shade{position:absolute;inset:0;background:linear-gradient(90deg,#f5f7f1ec 0%,#f5f7f1dc 20%,#f5f7f17a 42%,transparent 67%);pointer-events:none;z-index:1}
.approach-story{position:absolute;left:0;right:0;bottom:17%;z-index:2;pointer-events:none}
.approach-story>*{max-width:585px}
.approach-story h2{font-size:clamp(38px,3.45vw,53px);line-height:1.42}
.approach-story>p:not(.eyebrow){font-size:17px;line-height:1.9;margin-top:24px;color:#46585b}
.approach-link{display:inline-flex;align-items:center;gap:14px;margin-top:25px;font-weight:650;font-size:14px;border-bottom:1px solid #6b898b;padding-bottom:5px;pointer-events:auto}
.approach-stage .friends-controls{position:absolute;left:auto;right:5.2%;bottom:6%;z-index:3;background:#fbfcf5d8;border:1px solid #ffffffd8;border-radius:40px;padding:9px 12px;backdrop-filter:blur(8px);justify-content:flex-end}
.approach-details{padding-top:58px;padding-bottom:72px}
.approach-details .role-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-top:0}
.approach-details .role-item{padding:20px 0 23px;border-top:1px solid var(--line);border-bottom:0}
.approach-details .role-item:first-child{padding-top:20px}
.approach-details .connection-note{margin-top:30px;padding-left:0;padding-right:0}
.approach-stage .canvas-fallback{z-index:1;top:38%;left:48%;right:4%}
.character-guide{position:absolute;z-index:2;left:5.2%;top:7%;max-width:min(48%,530px);display:grid;gap:2px;padding:12px 18px 12px 0;color:#31484b;text-shadow:0 1px 8px #f6f8f0}
.character-guide-kicker{font-size:10px;font-weight:700;letter-spacing:.16em;color:#567478}
.character-guide strong{font-size:19px;letter-spacing:-.04em}
.character-guide>span:not(.character-guide-kicker){font-size:12px;font-weight:650;line-height:1.6}
.character-guide small{font-size:10px;color:#5a6d70;line-height:1.4}
.role-symbol.mint{background:#e0f4ea;color:#32715a}
.approach-details .role-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:50px;row-gap:12px}
@media(max-width:1050px){.hero-copy{width:47%}.approach-details .role-list{gap:18px}.approach-details .role-item{gap:12px}.approach-story h2{font-size:40px}}
@media(max-width:760px){
 .hero{height:calc(100svh - 72px);min-height:730px;max-height:none}
 .hero-visual{height:100%}
 .hero-visual canvas{left:0;right:0;top:0;width:100%;height:100%}
 .hero-copy{left:6%;right:6%;bottom:6%;width:88%;padding:18px 8px 10px 0;background:linear-gradient(0deg,#e8e5effc 0%,#e8e5efd8 76%,transparent)}
 .hero-copy h1{font-size:clamp(32px,8vw,45px)}
 .hero-description{font-size:15px;margin-top:13px}
 .hero-link{margin-top:12px}
 .motion-toggle{font-size:10px;min-height:34px;padding:6px 8px}
 .hero-bottom{display:none}
 .approach-stage{height:100svh;min-height:730px}
 .approach-shade{background:linear-gradient(0deg,#f2f5effb 0%,#f2f5efde 22%,transparent 45%)}
 .approach-story{bottom:12%;padding-left:6%;padding-right:6%}
 .approach-story h2{font-size:clamp(30px,7.5vw,40px)}
 .approach-story>p:not(.eyebrow){font-size:15px;line-height:1.7;margin-top:12px}
 .approach-story>p:not(.eyebrow) br{display:none}
 .approach-link{margin-top:13px;font-size:13px}
 .approach-stage .friends-controls{right:auto;left:5%;bottom:2%;max-width:90%;padding:5px 7px;gap:7px}
 .approach-stage .friends-controls span{display:none}
 .character-guide{left:6%;right:6%;top:5%;max-width:none;padding:8px 0;gap:1px}
 .character-guide strong{font-size:17px}
 .character-guide>span:not(.character-guide-kicker){font-size:11px}
 .character-guide small{font-size:9px}
 .approach-details{padding-top:35px;padding-bottom:40px}
 .approach-details .role-list{display:block}
 .approach-details .role-item{padding:21px 0}
 .approach-details .role-item:first-child{padding-top:21px}
}

/* The hero is a passive scene; keep native touch scrolling available. */
.hero-visual canvas,.hero-visual canvas:active{cursor:default;touch-action:auto}

/* A direct answer for the first entry card. */
.patient-guide{background:#f0f6f3;padding:92px 0 96px;scroll-margin-top:24px}
.patient-guide .eyebrow{color:#47766d;margin-bottom:15px}
.patient-guide h2{font-size:clamp(31px,3.8vw,48px);line-height:1.42}
.patient-guide-intro{max-width:670px;margin-top:20px;color:#4e615c}
.patient-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:38px}
.patient-guide-card{display:flex;flex-direction:column;min-height:252px;background:#fff;padding:26px 30px 27px;border:1px solid #d7e4de;border-top:4px solid #61aaa0;border-radius:8px;box-shadow:0 8px 24px #37574b0a}
.patient-guide-card:nth-child(even){border-top-color:#df9eb8}
.patient-guide-label{color:#58736c;font-size:11px;font-weight:700;letter-spacing:.08em}
.patient-guide-card h3{font-size:21px;line-height:1.5;letter-spacing:-.04em;margin:4px 0 0}
.patient-guide-arrow{color:#338e85;font-size:25px;line-height:1;margin:11px 0 7px}
.patient-guide-card>p:last-child{font-size:15px;line-height:1.75;color:#4e5f5b;margin-top:6px}
.patient-guide-cta{display:inline-flex;align-items:center;gap:34px;margin-top:30px;padding:13px 20px;border-radius:30px;background:#304f4b;color:#fff;font-size:14px;font-weight:700}
.patient-guide-cta:hover{background:#1f716a}
.patient-guide-note{font-size:12px;color:#58716a;margin-top:15px}
@media(max-width:760px){.patient-guide{padding:58px 0 65px}.patient-guide h2{font-size:31px}.patient-guide-intro{font-size:15px;line-height:1.8;margin-top:17px}.patient-guide-grid{grid-template-columns:1fr;gap:13px;margin-top:27px}.patient-guide-card{min-height:0;padding:22px 23px 24px}.patient-guide-card h3{font-size:19px}.patient-guide-card>p:last-child{font-size:15px}.patient-guide-cta{margin-top:24px}}

@media(min-width:1060px){.hero-visual canvas{left:34%;width:66%}.hero-copy{width:45%;background:linear-gradient(90deg,#e8e5eff2,#e8e5efdb 77%,transparent)}}

/* Matching still artwork when WebGL is unavailable. */
.hero-visual .park-static-preview,.approach-stage .park-static-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.hero-visual .park-static-preview{object-position:center 22%;mask-image:radial-gradient(ellipse 72% 72% at 52% 52%,#000 62%,transparent 100%)}
.approach-stage .park-static-preview{object-position:center 35%}
.friends-controls[hidden]{display:none}
@media(min-width:1060px){.hero-visual .park-static-preview{left:34%;width:66%}}

/* Audience-specific consultation paths. All panels are visible until tabs.js enhances them. */
.hero-copy h1{font-size:clamp(35px,3.8vw,59px);line-height:1.38}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 28px;margin-top:23px}
.hero-actions .hero-link{margin-top:0}
.hero-secondary{font-size:14px;font-weight:650;border-bottom:1px solid #66777a;padding-bottom:3px;pointer-events:auto}
.hero-secondary:hover{color:var(--aqua-dark)}
.audience-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:34px}
.audience-tab{display:flex;align-items:center;gap:14px;min-height:88px;padding:20px 22px;background:#f1f5f5;border:2px solid transparent;border-radius:8px;font-size:16px;line-height:1.5;font-weight:700;transition:background .2s,border-color .2s}
.audience-tab:hover{background:#e8f3f1}
.audience-tab[aria-selected="true"]{background:#e0f2ed;border-color:#328e82;color:#204c49}
.audience-tab:focus-visible{outline:3px solid #167b83;outline-offset:3px}
.audience-tab-number{font-size:12px;color:#567471;font-weight:700;flex:0 0 auto}
.audience-help{font-size:13px;color:#5b676a;margin-top:13px}
.tabs-ready .audience-panel:not(.is-active){display:none}
.audience-panel{scroll-margin-top:24px}
.patient-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.patient-guide-card{min-height:210px}
.patient-guide-card h3{margin:0}
.patient-guide-card>p:last-child{font-size:16px;line-height:1.8;margin-top:15px}
.audience-note{font-size:13px;line-height:1.85;color:#576d67;margin-top:24px}
.audience-professionals{background:#eef4f7}
.audience-companies{background:#f4f0f6}
.audience-professionals .patient-guide-card{border-top-color:#6c9aad}
.audience-companies .patient-guide-card{border-top-color:#a393bf}
.contact-audience-prompt{display:inline-block;background:#d7ede6;border-radius:30px;margin-top:24px;padding:9px 22px;font-size:16px;font-weight:700;color:#2b5550}
.approach-story h2{font-size:clamp(35px,3.2vw,49px)}
@media(max-width:760px){
 .hero-copy h1{font-size:clamp(31px,7.5vw,42px)}
 .hero-description{font-size:16px}
 .hero-actions{gap:10px 18px;margin-top:16px}
 .hero-secondary{font-size:13px}
 .audience-tabs{grid-template-columns:1fr;gap:9px;margin-top:25px}
 .audience-tab{min-height:62px;padding:14px 18px;font-size:16px}
 .audience-help{font-size:12px}
 .patient-guide-grid{grid-template-columns:1fr}
 .patient-guide-card{min-height:0}
 .patient-guide-card>p:last-child{font-size:16px}
 .approach-story h2{font-size:clamp(29px,7vw,37px)}
 .contact-audience-prompt{font-size:15px}
}

/* New service mark and a quiet reveal after the visitor chooses a path. */
.brand-hotline{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;font-size:19px;font-weight:800;line-height:1.16;letter-spacing:-.04em;white-space:nowrap}
.brand-hotline img{width:42px;height:42px;flex:0 0 42px}
.brand-hotline>span>span{display:block}
.audience-tab[aria-selected="false"]{background:#f1f5f5}
.audience-tab[aria-selected="false"]:hover{background:#e8f3f1}
.tabs-ready .audience-panel.is-active{animation:audience-reveal .52s cubic-bezier(.2,.8,.25,1) both}
@keyframes audience-reveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.brand-hotline{gap:7px;font-size:16px}.brand-hotline img{width:36px;height:36px;flex-basis:36px}.header .nav-cta{font-size:11px;padding:10px 12px}.header .nav-cta span{margin-left:7px}}
@media(prefers-reduced-motion:reduce){.tabs-ready .audience-panel.is-active{animation:none}}

/* Keep the entire guidance below the choice out of the initial viewport and
   accessibility tree. A short boot class prevents a flash before tabs.js runs. */
.tabs-loading .audience-gated,
.tabs-ready:not(.details-open) .audience-gated,
.tabs-ready:not(.audience-chosen) .audience-panels{display:none}

/* Yomogi is self-hosted from Google Fonts; OFL text ships beside the four 66 KB subsets. */
@font-face{font-family:"Yomogi Intro";src:url("./assets/fonts/yomogi-109.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+9580}
@font-face{font-family:"Yomogi Intro";src:url("./assets/fonts/yomogi-110.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+5C02,U+652F}
@font-face{font-family:"Yomogi Intro";src:url("./assets/fonts/yomogi-114.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+5BB6}
@font-face{font-family:"Yomogi Intro";src:url("./assets/fonts/yomogi-118.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+3042,U+3048,U+304A,U+304C,U+3057,U+3059,U+305F,U+306A,U+307E,U+3092,U+30C1,U+30E0,U+30FC}

/* A first-visit welcome. Only the requested sentence is visible by default. */
.intro-screen{display:none;position:fixed;inset:0;z-index:100;place-items:center;overflow:auto;background:radial-gradient(circle at 50% 44%,#f8fbf8 0,#eae5f2 68%);color:#28413d;text-align:center;opacity:1;transition:opacity .9s cubic-bezier(.3,0,.2,1),transform .9s cubic-bezier(.3,0,.2,1)}
.intro-pending{overflow:hidden}
.intro-pending .intro-screen{display:grid}
.intro-leaving .intro-screen{opacity:0;transform:translateY(-8px);pointer-events:none}
.intro-message{max-width:calc(100vw - 48px);padding:0 12px;font-family:"Yomogi Intro","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;font-size:clamp(34px,4.5vw,58px);font-weight:400;letter-spacing:.015em;line-height:1.55;text-wrap:balance;margin:0;opacity:0;transform:translateY(20px)}
.intro-message-line{white-space:nowrap}
.intro-animate .intro-message{animation:intro-message-in 2s cubic-bezier(.22,.64,.25,1) forwards}
.intro-font-fallback .intro-message{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;font-weight:650;letter-spacing:-.04em}
.intro-skip{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.intro-skip:focus-visible{width:auto;height:auto;clip-path:none;overflow:visible;top:20px;right:20px;padding:11px 16px;margin:0;border:2px solid #167b83;border-radius:99px;background:#fff;color:#315653;font:700 13px sans-serif;outline:3px solid #fff;outline-offset:2px}
@keyframes intro-message-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.intro-message{font-size:clamp(32px,8.5vw,42px);line-height:1.65}.intro-message-line{display:block}}
@media(prefers-reduced-motion:reduce){.intro-screen,.intro-message{animation:none;transition:none}}

/* Patient concerns: quiet, tappable questions with native keyboard disclosure. */
.concern-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;margin-top:38px}
.concern-card{min-width:0;border:1px solid #dbe8e2;border-radius:23px;background:#fffdfb;box-shadow:0 12px 30px #38584b0a;overflow:hidden}
.concern-card:nth-child(3n+2){background:#fff9fb;border-color:#efdee5}
.concern-card:nth-child(3n){background:#f7fbfa}
.concern-card summary{display:flex;align-items:center;gap:17px;min-height:132px;padding:24px 54px 24px 24px;font-size:clamp(18px,1.55vw,23px);font-weight:700;line-height:1.55;letter-spacing:-.045em;cursor:pointer;list-style:none;position:relative}
.concern-card summary::-webkit-details-marker{display:none}
.concern-card summary:after{content:'＋';position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:22px;color:#678d86}
.concern-card[open] summary:after{content:'−'}
.concern-card summary:hover{color:#276e64}
.concern-icon{display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;border:1.6px solid #74aaa0;border-radius:50%;color:#46877f;font-size:22px;font-weight:400}
.concern-card:nth-child(3n+2) .concern-icon{border-color:#d8a5bb;color:#ac718c}
.concern-answer{margin:0 25px 26px 84px;padding-top:18px;border-top:1px solid #dce6e1}
.concern-answer h3{font-size:17px;line-height:1.55;letter-spacing:-.02em;color:#2f6961}
.concern-answer p{font-size:15px;line-height:1.85;color:#465d58;margin-top:9px}
.concern-reassurance{font-size:18px;font-weight:650;margin-top:32px;color:#365f56}
.patient-guide .patient-guide-cta{margin-top:17px}
.role-directory{margin-top:19px;border:1px solid #cbded9;border-radius:15px;overflow:hidden;background:#f8fbf8}
.role-directory summary{position:relative;cursor:pointer;padding:13px 50px 13px 18px;font-size:14px;font-weight:700;color:#27645c;list-style:none}
.role-directory summary::-webkit-details-marker{display:none}
.role-directory summary:after{content:'＋';position:absolute;right:17px;top:50%;transform:translateY(-50%);font-size:20px}
.role-directory[open] summary:after{content:'−'}
.role-directory .directory-content{padding:0 18px 20px}
.role-directory .directory-disclaimer{font-size:12px;color:#665768;margin:4px 0 12px;line-height:1.7}
.role-directory ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.role-directory li{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;border-radius:10px;background:#fff;border:1px solid #e1e9e5;font-size:13px;line-height:1.55}
.role-directory li strong{font-weight:700;color:#334e48}
.role-directory li span{color:#63726d}
.approach-story{top:6%;bottom:auto;max-width:none;padding-left:5.2%;padding-right:5.2%}
.approach-story>*{max-width:430px}
.approach-story h2{font-size:clamp(30px,2.75vw,41px);line-height:1.42}
.approach-story>p:not(.eyebrow){font-size:15px;line-height:1.75;margin-top:14px}
.approach-link{margin-top:14px}
@media(max-width:760px){
 .patient-guide-intro br{display:none}
 .concern-grid{grid-template-columns:1fr;gap:11px;margin-top:27px}
 .concern-card{border-radius:19px}
 .concern-card summary{min-height:100px;padding:18px 45px 18px 18px;font-size:19px;gap:13px}
 .concern-card summary:after{right:16px}
 .concern-icon{width:37px;height:37px;flex-basis:37px;font-size:19px}
 .concern-answer{margin:0 18px 21px 68px;padding-top:14px}
 .concern-reassurance{font-size:16px;margin-top:25px}
 .role-directory li{display:block}
 .role-directory li span{display:block;margin-top:3px}
 .approach-story{top:auto;bottom:7%;padding-left:6%;padding-right:6%}
 .approach-story h2{font-size:clamp(27px,7vw,34px)}
 .approach-story>p:not(.eyebrow){font-size:14px;line-height:1.65}
}

/* Refined service mark and illustrated, whole-card audience choices. */
.brand-hotline{gap:12px}
.brand-hotline img{width:44px;height:44px;flex-basis:44px}
.brand-hotline .brand-wordmark{display:flex;flex-direction:column;gap:2px;line-height:1.1}
.brand-hotline .brand-caption{font-size:12px;font-weight:800;letter-spacing:.15em;color:#46716b}
.brand-hotline .brand-main{font-size:21px;font-weight:800;letter-spacing:-.055em;color:#263e3c}
.hero-bottom{justify-content:flex-end}
.entrances .section-intro h2{margin-bottom:0}
.audience-tabs{gap:16px;margin-top:33px}
.audience-tab{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;min-height:226px;padding:14px 22px 20px;border-radius:22px;border:1px solid #dbe8e2;background:#f8fbf9;box-shadow:0 10px 26px #37584b0a;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease}
.audience-tab:nth-child(2){background:#f6f9fb;border-color:#dbe5ec}
.audience-tab:nth-child(3){background:#faf8fc;border-color:#e6e0ec}
.audience-tab:hover,.audience-tab[aria-selected="false"]:hover{transform:translateY(-5px);box-shadow:0 18px 32px #37584b1a;border-color:#8abbb1;background:#f2faf6}
.audience-tab[aria-selected="true"]{background:#e8f5ef;border-color:#458e81;box-shadow:0 0 0 2px #458e8130,0 15px 28px #37584b12}
.audience-tab:active{transform:translateY(-1px) scale(.992)}
.audience-tab:focus-visible{outline:3px solid #166f66;outline-offset:4px}
.audience-illustration{display:grid;place-items:center;min-height:136px}
.audience-illustration svg{width:160px;height:112px;max-width:100%}
.audience-tab-bottom{display:flex;align-items:end;justify-content:space-between;gap:8px;width:100%}
.audience-tab-label{display:flex;flex-direction:column;gap:5px;font-size:17px;line-height:1.45;letter-spacing:-.03em}
.audience-tab-label small{font-size:11px;font-weight:800;letter-spacing:.1em;color:#5b7973}
.audience-tab-arrow{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#fff;color:#286d63;font-size:20px;line-height:1;border:1px solid #cadfd8;transition:transform .25s ease,background .25s ease}
.audience-tab:hover .audience-tab-arrow,.audience-tab[aria-selected="true"] .audience-tab-arrow{transform:translate(2px,-2px);background:#d6eee4}
@media(max-width:760px){
 .brand-hotline{gap:8px}
 .brand-hotline img{width:38px;height:38px;flex-basis:38px}
 .brand-hotline .brand-caption{font-size:10px}
 .brand-hotline .brand-main{font-size:17px}
 .audience-tabs{gap:12px;margin-top:24px}
 .audience-tab{min-height:132px;padding:12px 16px;flex-direction:row;align-items:center;gap:10px;border-radius:19px}
 .audience-illustration{min-height:0;flex:0 0 112px}
 .audience-illustration svg{width:112px;height:84px}
 .audience-tab-bottom{align-items:center;flex:1;min-width:0;width:auto}
 .audience-tab-label{font-size:15px;gap:3px}
 .audience-tab-arrow{width:30px;height:30px;flex-basis:30px;font-size:18px}
}
@media(prefers-reduced-motion:reduce){.audience-tab,.audience-tab-arrow{transition:none}.audience-tab:hover,.audience-tab:active{transform:none}}
.approach-story h2{font-size:clamp(28px,2.1vw,31px);letter-spacing:-.04em}
@media(max-width:760px){.approach-story h2{font-size:clamp(22px,5.8vw,25px)}}

/* Four stills are rendered from the same GLB cat meshes, without extra WebGL contexts. */
.approach-details .role-item{align-items:flex-start;gap:16px}
.role-cat-frame{display:grid;place-items:center;flex:0 0 148px;width:148px;height:160px;border-radius:24px;background:radial-gradient(circle at 50% 42%,#eff7f2 0,#f7faf7 70%);overflow:hidden}
.role-item:nth-child(2) .role-cat-frame{background:radial-gradient(circle at 50% 42%,#f8f3ea 0,#faf9f5 70%)}
.role-item:nth-child(3) .role-cat-frame{background:radial-gradient(circle at 50% 42%,#eef7f7 0,#f8faf8 70%)}
.role-item:nth-child(4) .role-cat-frame{background:radial-gradient(circle at 50% 42%,#f4f0f8 0,#faf9fb 70%)}
.role-cat{display:block;width:100%;height:100%;object-fit:contain}
.approach-details .role-item>div{min-width:0;flex:1}

/* A connected four-step path with native text, not text baked into an image. */
.step-grid{gap:17px;margin-top:42px}
.step-grid li{position:relative;min-width:0;padding:19px 18px 24px;border:1px solid #dae8e1;border-radius:22px;background:#f8fbf8;box-shadow:0 10px 26px #315b4709}
.step-grid li:nth-child(2){background:#f7fafb;border-color:#dce8ec}
.step-grid li:nth-child(3){background:#f9f8fc;border-color:#e7e2ed}
.step-grid li:nth-child(4){background:#fffbf5;border-color:#ebe4d6}
.step-grid li:not(:last-child):after{content:'→';position:absolute;top:68px;right:-25px;z-index:2;color:#548b80;font-size:28px;font-weight:700}
.step-icon{display:grid;place-items:center;width:98px;height:98px;border-radius:50%;background:#e4f2eb;color:#3b8073}
.step-grid li:nth-child(2) .step-icon{background:#e8f1f5;color:#567b8c}
.step-grid li:nth-child(3) .step-icon{background:#eee9f5;color:#786b91}
.step-grid li:nth-child(4) .step-icon{background:#f6ebd9;color:#9e7950}
.step-icon svg{width:69px;height:69px}
.step-number{display:block;margin-top:19px;color:#5b7973;font-size:11px;font-weight:800;letter-spacing:.13em}
.step-grid h3{font-size:21px;margin:7px 0 8px;line-height:1.4}
.step-grid p{font-size:14px;line-height:1.75}
.mobile-break{display:none}
@media(max-width:760px){
 .mobile-break{display:inline}
 .approach-details .role-item{flex-direction:column;gap:14px}
 .role-cat-frame{flex-basis:auto;width:100%;height:165px;border-radius:20px}
 .role-cat{width:165px;height:165px}
 .approach-details .role-item>div{width:100%}
 .step-grid{grid-template-columns:1fr;gap:22px;margin-top:30px}
 .step-grid li{display:grid;grid-template-columns:76px minmax(0,1fr);column-gap:15px;align-items:center;padding:17px 20px}
 .step-icon{grid-row:1/4;width:76px;height:76px}
 .step-icon svg{width:55px;height:55px}
 .step-number{position:static;margin:0;font-size:11px}
 .step-grid h3{font-size:19px;margin:2px 0 0}
 .step-grid p{font-size:13px;line-height:1.6;margin:2px 0 0}
 .step-grid li:not(:last-child):after{content:'↓';top:auto;right:auto;bottom:-30px;left:48px;font-size:23px}
}

/* A quieter sage and warm-paper palette lets the park and main actions lead. */
:root{--ink:#2b3935;--muted:#52615b;--aqua-dark:#2b6b60;--pink:#cf7d88;--paper:#fbfaf6;--lavender:#e9f0eb;--line:#d9e3dc}
.hero{background:var(--lavender)}
.hero-copy{background:linear-gradient(90deg,#e9f0ebf2,#e9f0ebd8 77%,transparent)}
.hero-description{color:#40544c}
.hero-bottom{color:#466158}
.nav-cta,.contact-panel{background:#285e54}
.nav-cta:hover,.contact-panel:hover{background:#1e4c43}
.patient-guide-cta{background:#285e54}
.patient-guide-cta:hover{background:#1e4c43}
.contact{background:#e8f2eb}
.intro-screen{background:radial-gradient(circle at 50% 44%,#fbfcf8 0,#e9f0eb 68%)}
.audience-tab:nth-child(2){background:#f5f8f6;border-color:#dce8e2}
.audience-tab:nth-child(3){background:#f8f7f8;border-color:#e5e2e7}
.audience-professionals{background:#f1f6f4}
.audience-companies{background:#f6f4f6}

/* Equal-height role cards; crop only transparent image margins, not cat meshes. */
.approach-details{padding-top:52px;padding-bottom:80px}
.approach-details .role-list{gap:18px 22px;align-items:start}
.approach-details .role-item,.approach-details .role-item:first-child{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:start;gap:19px;padding:22px;border:1px solid #dbe7dd;border-radius:24px;background:#fffdfa;box-shadow:0 11px 27px #3357490a}
.approach-details .role-item:nth-child(2){background:#fdfbf8}
.approach-details .role-item:nth-child(3){background:#fbfdfb}
.approach-details .role-item:nth-child(4){background:#fcfbfd}
.role-cat-frame{--cat-shift-x:0px;flex:none;width:132px;height:164px;border-radius:20px}
.role-item:nth-child(2) .role-cat-frame{--cat-shift-x:2px}
.role-item:nth-child(3) .role-cat-frame{--cat-shift-x:3px}
.role-item:nth-child(4) .role-cat-frame{--cat-shift-x:2px}
.role-cat{width:164px;height:164px;max-width:none;object-fit:contain;transform:translate(var(--cat-shift-x),15px) scale(1.18)}
.approach-details .role-item>div{display:flex;flex-direction:column;min-width:0;align-self:stretch}
.role-specialist{font-size:12px;font-weight:750;color:#376c5e}
.approach-details .role-item h3{font-size:21px;line-height:1.48;min-height:2em;margin:5px 0 8px;color:#263f38}
.approach-details .role-item p{font-size:15px;line-height:1.75;color:#4e5f57}
.role-directory{margin-top:auto}
.role-directory summary{color:#28675b}
.mobile-role-break{display:none}

/* Give the team statement the visual weight of the opening headline. */
.approach-story>*{max-width:min(800px,68vw)}
.approach-story h2{font-size:clamp(38px,3.9vw,59px);line-height:1.34;letter-spacing:-.055em;text-wrap:balance}
.approach-story>p:not(.eyebrow){max-width:570px}

@media(max-width:1050px){
 .approach-details .role-list{gap:14px}
 .approach-details .role-item,.approach-details .role-item:first-child{grid-template-columns:112px minmax(0,1fr);gap:13px;padding:17px}
 .role-cat-frame{width:112px;height:146px}
 .role-cat{width:148px;height:148px;transform:translate(var(--cat-shift-x),13px) scale(1.16)}
 .approach-details .role-item h3{font-size:19px}
}
@media(max-width:760px){
 .hero-copy{background:linear-gradient(0deg,#e9f0ebfc 0%,#e9f0ebdb 76%,transparent)}
 .approach-story>*{max-width:100%}
 .approach-story h2{font-size:clamp(24px,6.4vw,30px);line-height:1.43}
 .approach-story>p:not(.eyebrow){max-width:100%}
 .approach-details{padding-top:31px;padding-bottom:55px}
 .approach-details .role-list{gap:12px}
 .approach-details .role-item,.approach-details .role-item:first-child{grid-template-columns:112px minmax(0,1fr);gap:9px 14px;padding:16px;border-radius:20px}
 .role-cat-frame{grid-column:1;grid-row:1/3;width:112px;height:135px;border-radius:17px}
 .approach-details .role-item>div{display:contents}
 .role-specialist{grid-column:2;grid-row:1;align-self:end}
 .approach-details .role-item h3{grid-column:2;grid-row:2;align-self:start;font-size:18px;min-height:0;margin:0}
 .mobile-role-break{display:inline}
 .approach-details .role-item p{grid-column:1/-1;grid-row:3;font-size:14px;line-height:1.7}
 .role-directory{grid-column:1/-1;grid-row:4;margin-top:2px}
 .role-directory summary{font-size:13px;line-height:1.5;padding:11px 34px 11px 14px}
 .role-directory summary:after{right:10px}
}

/* Questions look like the visitor's own speech, while native details stay intact. */
.concern-grid{gap:26px 20px}
.concern-card{--bubble-bg:#fffdfb;--bubble-line:#dbe8e2;position:relative;overflow:visible;border-color:var(--bubble-line);border-radius:34px 42px 33px 39px;background:var(--bubble-bg);box-shadow:0 12px 27px #38584b0c}
.concern-card:nth-child(3n+2){--bubble-bg:#fff9fb;--bubble-line:#efdee5}
.concern-card:nth-child(3n){--bubble-bg:#f8fcfa;--bubble-line:#dce9e3}
.concern-card:before{content:"";position:absolute;top:-9px;left:42px;width:48px;height:20px;border:1px solid var(--bubble-line);border-bottom:0;border-radius:50% 50% 0 0;background:var(--bubble-bg);pointer-events:none}
.concern-card:after{content:"";position:absolute;bottom:-9px;left:50px;width:18px;height:18px;transform:rotate(45deg);border-right:1px solid var(--bubble-line);border-bottom:1px solid var(--bubble-line);border-radius:0 0 5px 0;background:var(--bubble-bg);pointer-events:none}
.concern-card summary{border-radius:inherit}

/* A warm team welcome closes the page before the existing LINE destination. */
.contact{padding:70px 25px;background:linear-gradient(180deg,#e8f2eb,#f5f8f2)}
.contact-inner{position:relative;max-width:1050px;padding:57px 54px 62px;border:1px solid #dce8dc;border-radius:40px;background:radial-gradient(circle at 85% 12%,#f7f1e8,transparent 34%),#fffdf9;box-shadow:0 20px 55px #31564710;overflow:hidden}
.contact-team{display:flex;justify-content:center;gap:8px;margin:0 auto 24px}
.contact-team span{display:grid;place-items:center;width:82px;height:82px;overflow:hidden;border-radius:50%;background:#e8f3eb;border:1px solid #dceae0}
.contact-team span:nth-child(2){background:#f5eee9}
.contact-team span:nth-child(3){background:#ebf4f2}
.contact-team span:nth-child(4){background:#f0edf4}
.contact-team img{display:block;width:100px;height:100px;max-width:none;object-fit:contain;transform:translateY(8px) scale(1.02)}
.contact h2{font-size:clamp(31px,3.1vw,43px);line-height:1.45;text-wrap:balance}
.contact h2+p{margin-top:19px}
.contact-audience-prompt{margin-top:24px}
.contact-panel{max-width:540px;border-radius:20px;box-shadow:0 13px 28px #285e5430;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.contact-panel:hover{transform:translateY(-3px);box-shadow:0 17px 32px #285e5438}
.contact-mark{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#ffffff22;color:#e8fff5;font-size:23px}
@media(max-width:760px){
 .concern-grid{gap:24px}
 .concern-card{border-radius:28px 35px 30px 34px}
 .concern-card:before{left:30px;width:40px}
 .concern-card:after{left:38px}
 .contact{padding:50px 20px}
 .contact-inner{padding:39px 22px 43px;border-radius:30px}
 .contact-team{gap:4px;margin-bottom:21px}
 .contact-team span{width:62px;height:62px}
 .contact-team img{width:80px;height:80px;transform:translateY(6px) scale(1.02)}
 .contact h2{font-size:clamp(24px,6.2vw,31px)}
 .contact h2+p br{display:none}
 .contact-panel{padding:20px 18px;border-radius:17px}
 .contact-panel strong{font-size:21px}
 .contact-mark{width:38px;height:38px;flex-basis:38px}
}
@media(prefers-reduced-motion:reduce){.contact-panel{transition:none}.contact-panel:hover{transform:none}}

/* Warm preview palette: ivory and peach carry the page; charcoal keeps text clear. */
:root{--ink:#3d3e3f;--muted:#5b5b5a;--aqua-dark:#76554d;--pink:#ca897e;--paper:#fffaf5;--lavender:#f4e8dc;--line:#e6dbd2}
.header,.hero{background:var(--lavender)}
.hero-copy{background:linear-gradient(90deg,#f4e8dcf5,#f4e8dcdd 77%,transparent)}
.hero-description,.hero-bottom{color:#565759}
.brand-hotline .brand-main{color:#3d3e3f}
em{color:#76554d}
.approach-stage{background:radial-gradient(circle at 72% 38%,#fbf7ee 0,#f2eae1 50%,#e9e7dd 100%)}
.approach-shade{background:linear-gradient(90deg,#fffaf2f0 0,#fffaf2dc 21%,#fffaf27d 46%,transparent 69%)}
.approach-story>p:not(.eyebrow){color:#55585a}
.patient-guide{background:#fff3ea}
.audience-professionals{background:#f7f1eb}
.audience-companies{background:#f6eff0}
.nav-cta,.contact-panel,.patient-guide-cta{background:#844f43}
.nav-cta:hover,.contact-panel:hover,.patient-guide-cta:hover{background:#6f4037}
.contact{background:linear-gradient(180deg,#f7e6da,#faf1e8)}
.contact-inner{border-color:#eadbcf;background:radial-gradient(circle at 85% 12%,#fcefe5,transparent 36%),#fffdfa}
.contact-team span{background:#f7e7db;border-color:#eed7c7}
.contact-team span:nth-child(2){background:#f6ece5}
.contact-team span:nth-child(3){background:#f4eee8}
.contact-team span:nth-child(4){background:#f4eaf0}
.contact-audience-prompt{background:#f5e7da;color:#744b42}
.contact-mark{color:#fff8f1}

/* The three entrances have distinct warm, violet, and blue-green cues. */
.audience-tab:nth-child(1){--choice-bg:#fff0e7;--choice-border:#ebd3c2;--choice-hover:#fce7d9;--choice-selected:#f9e2d3;--choice-ink:#875447;--choice-ring:#b8786b38}
.audience-tab:nth-child(2){--choice-bg:#f4eff6;--choice-border:#dfd2e3;--choice-hover:#eee5f2;--choice-selected:#e9dff0;--choice-ink:#775d85;--choice-ring:#947aa738}
.audience-tab:nth-child(3){--choice-bg:#eef4f3;--choice-border:#d4e3df;--choice-hover:#e6f0ed;--choice-selected:#deece8;--choice-ink:#4e756d;--choice-ring:#67948838}
.audience-tab,.audience-tab[aria-selected="false"]{background:var(--choice-bg);border-color:var(--choice-border)}
.audience-tab:hover,.audience-tab[aria-selected="false"]:hover{background:var(--choice-hover);border-color:var(--choice-ink)}
.audience-tab[aria-selected="true"]{background:var(--choice-selected);border-color:var(--choice-ink);box-shadow:0 0 0 2px var(--choice-ring),0 15px 28px #70564b12}
.audience-tab:focus-visible{outline-color:#744b42}
.audience-tab-label small,.audience-tab-arrow{color:var(--choice-ink)}
.audience-tab-arrow{border-color:var(--choice-border)}
.audience-tab:hover .audience-tab-arrow,.audience-tab[aria-selected="true"] .audience-tab-arrow{background:#fffaf5}

/* Distinct role badges and a separate treatment for verified partner links. */
.approach-details .role-item{border-color:#e9ddd2;background:#fffdfa}
.approach-details .role-item:nth-child(2){background:#fffaf6}
.approach-details .role-item:nth-child(3){background:#fdfbf8}
.approach-details .role-item:nth-child(4){background:#fcf9f8}
.role-cat-frame{background:radial-gradient(circle at 50% 42%,#faeee3,#fffaf5 72%)}
.role-item:nth-child(2) .role-cat-frame{background:radial-gradient(circle at 50% 42%,#f8eae0,#fffaf5 72%)}
.role-item:nth-child(3) .role-cat-frame{background:radial-gradient(circle at 50% 42%,#f4efe5,#fffaf5 72%)}
.role-item:nth-child(4) .role-cat-frame{background:radial-gradient(circle at 50% 42%,#f7e9ec,#fffaf8 72%)}
.role-specialist{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:4px 11px;border:1px solid #e9d2c3;border-radius:999px;background:#f7e6da;color:#704b42;font-size:13px;font-weight:800;line-height:1.4}
.approach-details .role-item h3{color:#3d3e3f}
.approach-details .role-item p{color:#595b5a}
.role-directory{border-color:#e9d8cb;background:#fffaf5}
.role-directory summary{color:#744b42}
.role-directory li{border-color:#eadfd6}
.role-directory li strong{color:#3d3e3f}
.role-directory li span{color:#62615f}
.role-directory .directory-entry-confirmed{display:flex;flex-direction:column;align-items:flex-start;gap:6px;background:#fffefa}
.directory-entry-confirmed a{flex:0 0 auto;color:#744b42;font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.directory-entry-confirmed a:hover{color:#5e372e}
.directory-entry-confirmed a:focus-visible{outline:3px solid #844f43;outline-offset:3px}

/* Each speech bubble keeps the same question mark and warmer contrast. */
.concern-card{--bubble-bg:#fffdfa;--bubble-line:#ead9ca}
.concern-card:nth-child(3n+2){--bubble-bg:#fff6f2;--bubble-line:#ebd6d2}
.concern-card:nth-child(3n){--bubble-bg:#fbf8f3;--bubble-line:#e7ddd1}
.concern-icon,.concern-card:nth-child(3n+2) .concern-icon{border-color:#b98878;color:#8e5c50;font-weight:800}
.concern-answer h3,.concern-card summary:hover{color:#744b42}
@media(max-width:760px){
 .hero-copy{background:linear-gradient(0deg,#f4e8dcfc 0,#f4e8dce0 76%,transparent)}
 .role-specialist{font-size:12px;padding:4px 9px}
 .role-directory .directory-entry-confirmed{display:block}
 .directory-entry-confirmed a{display:inline-flex;margin-top:7px}
}

/* The three routes to LINE share its green while retaining readable dark type. */
.nav-cta,.patient-guide-cta,.contact-panel{background:#06c755;color:#123b24}
.nav-cta:hover,.patient-guide-cta:hover,.contact-panel:hover{background:#05b74f;color:#123b24}
.nav-cta:focus-visible,.patient-guide-cta:focus-visible,.contact-panel:focus-visible{outline-color:#123b24}
.contact-panel .contact-label,.contact-panel .contact-sub,.contact-panel .contact-mark{color:#123b24}
.contact-panel .contact-mark{background:#ffffff70}
.contact-panel{box-shadow:0 13px 28px #087f4530}
.contact-panel:hover{box-shadow:0 17px 32px #087f4538}

/* White, rounded speech bubbles with a single short tail. */
.concern-card,.concern-card:nth-child(3n+2),.concern-card:nth-child(3n){--bubble-bg:#fff;--bubble-line:#e5dcd4;background:#fff;border-color:var(--bubble-line);border-radius:26px}
.concern-card:before{content:none}
.concern-card:after{left:35px;bottom:-8px;width:17px;height:17px;border-radius:0 0 3px 0}
.concern-card summary{border-radius:26px}
.concern-icon,.concern-card:nth-child(3n+2) .concern-icon{border-color:#b98878;color:#8e5c50}
.concern-answer{background:#fff}

/* Role badges have their own four colors, separate from the white speech bubbles. */
.approach-details .role-item:nth-child(1) .role-specialist{background:#e5f3f0;border-color:#c7ded8;color:#285e56}
.approach-details .role-item:nth-child(2) .role-specialist{background:#efe9f7;border-color:#dbcee8;color:#634a7b}
.approach-details .role-item:nth-child(3) .role-specialist{background:#eaf1df;border-color:#d2e0c1;color:#4c6635}
.approach-details .role-item:nth-child(4) .role-specialist{background:#f8e7db;border-color:#e9ccb7;color:#7b4b37}
@media(max-width:760px){.concern-card,.concern-card:nth-child(3n+2),.concern-card:nth-child(3n){border-radius:22px}.concern-card summary{border-radius:22px}.concern-card:after{left:28px}}

/* A nearly white blush grounds the page without changing the choice or role colors. */
:root{--paper:#fff9fa;--lavender:#f8eff1;--line:#e8dcdf}
.header,.hero{background:#f8eff1}
.hero-copy{background:linear-gradient(90deg,#f8eff1f5,#f8eff1dd 77%,transparent)}
.patient-guide{background:#fdf3f5}
.audience-professionals{background:#fcf6f7}
.audience-companies{background:#fbf5f7}
.contact{background:linear-gradient(180deg,#f9eff1,#fdf6f7)}
.contact-inner{border-color:#ebdfe1;background:radial-gradient(circle at 85% 12%,#fff7f5,transparent 36%),#fffdfd}

/* Deep LINE green with white type for the header, inline and closing actions. */
.nav-cta,.patient-guide-cta,.contact-panel{background:#087f45;color:#fff;font-weight:750}
.nav-cta:hover,.patient-guide-cta:hover,.contact-panel:hover{background:#066b3a;color:#fff}
.nav-cta{font-size:14px;padding:13px 24px}
.patient-guide-cta{font-size:15px;padding:14px 22px}
.contact-panel .contact-label,.contact-panel .contact-sub,.contact-panel .contact-mark{color:#fff}
.contact-panel .contact-label,.contact-panel .contact-sub{font-weight:650}
.contact-panel .contact-mark{background:#ffffff26}
.contact-panel{box-shadow:0 13px 28px #087f4530}
.contact-panel:hover{box-shadow:0 17px 32px #087f4538}

/* Brief spoken headings fit on one line at phone width without clipping. */
.concern-card summary{min-height:92px;font-size:clamp(17px,1.4vw,20px)}
@media(max-width:760px){
 .hero-copy{background:linear-gradient(0deg,#f8eff1fc 0,#f8eff1e0 76%,transparent)}
 .header .nav-cta{font-size:12.5px;padding:11px 12px}
 .header .nav-cta span{margin-left:5px}
 .concern-card summary{min-height:80px;padding:15px 37px 15px 15px;gap:10px;font-size:16px;line-height:1.5}
 .concern-card summary:after{right:12px}
 .concern-icon{width:34px;height:34px;flex-basis:34px;font-size:20px}
 .concern-answer{margin:0 18px 21px 59px}
}

/* Flex centers the oversized image within the circle; grid's intrinsic track shifted it right. */
.contact-team span{display:flex;align-items:center;justify-content:center}
.contact-team img{flex:none;transform:translateY(5px) scale(.9)}
.steps .section-intro h2{font-size:clamp(28px,3.2vw,42px);text-wrap:balance}
@media(max-width:760px){
 .contact-team img{transform:translateY(4px) scale(.9)}
 .steps .section-intro h2{font-size:clamp(27px,7vw,31px);line-height:1.48}
}

/* The last reassurance is a quiet blush note, distinct from the LINE action. */
.contact-audience-prompt{background:#f9e9ee;color:#62444d;border:1px solid #ead0d9;border-radius:18px;line-height:1.6;padding:12px 20px;max-width:min(100%,590px)}

/* Bring the park into view sooner on narrow screens without crowding the headline. */
@media(max-width:760px){
 .hero{height:max(650px,calc(100svh - 167px));min-height:650px}
 .hero-visual canvas,.hero-visual .park-static-preview{transform:translateY(-55px)}
 .hero-copy{bottom:5%}
 .contact-audience-prompt{font-size:14px;padding:11px 15px}
}

/* The team scene sits closer to the preceding content on narrow screens. */
@media(max-width:760px){
 .approach-stage{height:min(540px,calc(100svh - 72px));min-height:520px}
 .approach-stage .park-static-preview{object-position:center 23%}
}

/* Center the flow symbols while keeping the explanatory text left aligned. */
.step-grid .step-icon{margin-inline:auto}
@media(max-width:760px){
 .step-grid li{display:block;padding:22px 22px 24px}
 .step-grid .step-icon{width:76px;height:76px;margin-inline:auto}
 .step-grid .step-number{margin-top:14px}
 .step-grid li:not(:last-child):after{left:50%;transform:translateX(-50%)}
}

/* Supporting office credit stays secondary to the service wordmark. */
.brand-hotline .brand-support{font-size:10px;font-weight:650;letter-spacing:.01em;line-height:1.25;color:#5f6665;white-space:normal}
@media(max-width:760px){
 .header{gap:9px}
 .brand-hotline .brand-wordmark{gap:1px}
 .brand-hotline .brand-support{font-size:10px;line-height:1.12}
 .brand-hotline .brand-support span{display:block}
 .header .nav-cta{font-size:11.5px;padding:10px 9px}
 .header .nav-cta span{margin-left:2px}
}

/* Two public entry points; practitioners have a separate page. */
.audience-tabs{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin-inline:auto}
.header-secondary{background:#f8eff1;text-align:right;padding:0 5.2% 7px;font-size:12px;font-weight:700;color:#516b67}
.header-secondary a{text-decoration:underline;text-decoration-color:#aecac0;text-underline-offset:3px}
.header-secondary a:hover{color:#245d59}
.guide-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:18px;padding-bottom:18px;font-size:14px;color:#60585b;border-bottom:1px solid #eadfe1}
.guide-strip a{font-weight:750;color:#245d59;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.quick-entry{background:linear-gradient(135deg,#fff5e9,#fdf5f5);border:1px solid #eddbd0;border-radius:28px;padding:clamp(24px,4vw,48px);margin:0 0 76px;box-shadow:0 18px 40px #76564c12}
.quick-entry .quick-kicker{display:inline-block;padding:6px 14px;border-radius:999px;background:#e9f3ef;color:#255e55;font-weight:800;font-size:14px;margin-bottom:16px}
.quick-entry h2{font-size:clamp(27px,3.2vw,42px)}
.quick-entry>p:not(.quick-kicker){margin:14px 0 23px;color:#5a5557}
.quick-entry a{display:inline-flex;gap:24px;align-items:center;background:#087f45;color:white;padding:14px 23px;border-radius:100px;font-weight:800}
.quick-entry a:hover{background:#066b3a}
.legacy-professionals{display:none}
.mobile-sticky-line{display:none}
@media(max-width:760px){
 .audience-tabs{grid-template-columns:1fr}
 .header-secondary{padding:0 6% 8px;font-size:11px}
 .guide-strip{align-items:flex-start;flex-direction:column;gap:5px;padding-top:16px;padding-bottom:16px;font-size:13px}
 .quick-entry{margin-bottom:52px;padding:26px 21px}
 .quick-entry>p:not(.quick-kicker){font-size:14px}
 .mobile-sticky-line{display:block;position:fixed;right:12px;bottom:calc(11px + env(safe-area-inset-bottom));z-index:15;background:#087f45;color:white;border-radius:100px;padding:10px 18px;font-size:13px;font-weight:800;box-shadow:0 7px 23px #245d5940}
 body:has(.mobile-sticky-line){padding-bottom:56px}
}

/* Compact supporting pages and the browser-only situation check. */
.subpage{background:#fff9fa}
.subpage-main{padding-top:58px;padding-bottom:85px;max-width:920px}
.subpage-heading>a{font-size:13px;color:#286b61;text-decoration:underline;text-underline-offset:3px}
.subpage-heading h1{font-size:clamp(31px,4vw,48px);margin:15px 0}
.subpage-heading p{color:#61595b;max-width:700px}
.subpage-card,.quick-check{background:white;border:1px solid #eadfe1;border-radius:24px;padding:clamp(22px,4vw,44px);margin-top:34px;box-shadow:0 14px 35px #6f4a4e0a}
.subpage-card h2{font-size:clamp(24px,3vw,34px)}
.subpage-card p{margin-top:17px;color:#5d595a}
.subpage-action{display:inline-flex;background:#087f45;color:#fff;padding:13px 22px;border-radius:40px;font-weight:800;margin-top:22px}
.subpage-action:hover{background:#066b3a}
.fine-print{font-size:13px;color:#676467;margin-top:20px}
.guide-list{list-style:none;padding:0;margin:35px 0 0}
.guide-list li{display:flex;gap:20px;border-bottom:1px solid #e8dfe1;padding:24px 0}
.guide-list li>span{flex:0 0 42px;color:#ad6e65;font-weight:800}
.guide-list h2{font-size:23px}
.guide-list p{color:#605b5d;margin-top:4px}
.guide-next{background:#fdf0ed;border-radius:20px;padding:24px;margin-top:34px}
.guide-sources{font-size:13px;margin-top:26px;color:#625d5f}
.guide-sources a{text-decoration:underline;text-underline-offset:3px}
.check-emergency{background:#fff0e7;border-left:4px solid #bc7457;padding:13px 18px;margin-top:27px;font-weight:700}
.check-progress{font-size:13px;color:#735b59;font-weight:800;margin-bottom:13px}
.check-question{font-size:clamp(22px,3vw,30px);margin-bottom:22px}
.check-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.check-options button,.check-continue,.check-back,.check-reset,.check-copy{border:1px solid #d5cacc;border-radius:14px;background:#fff9fa;color:#423c3e;text-align:left;padding:14px 16px;cursor:pointer;font-weight:700}
.check-options button:hover,.check-options button:focus-visible{background:#f8e8ed;border-color:#ab777f}
.check-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.check-back,.check-reset{background:transparent}
.check-unknown{background:#eef6f2;border-radius:18px;padding:20px;margin-top:21px}
.check-unknown h3{font-size:20px}
.check-unknown p{margin-top:9px}
.check-continue,.check-copy{background:#087f45;color:white;border-color:#087f45}
.check-unknown .subpage-action{margin-left:10px}
.check-summary{white-space:pre-wrap;background:#fff9fa;padding:18px;border-radius:14px;border:1px solid #eadfe1;margin-top:20px;user-select:text}
.check-result h2{font-size:30px}
.check-result p{margin-top:13px}
.check-status{min-height:1.8em;color:#245d59;font-weight:700}
@media(max-width:760px){.subpage-main{padding-top:34px;padding-bottom:55px}.check-options{grid-template-columns:1fr}.quick-check{margin-top:23px}.check-unknown .subpage-action{margin-left:0}.subpage .header nav{display:none}}
.legacy-professionals:target{display:block;background:#fff;padding:20px 48px;font-size:15px;text-decoration:underline}
.check-history{display:grid;gap:12px;margin-bottom:25px}
.check-history-pair{display:grid;gap:7px}
.check-history-pair p{max-width:82%;padding:8px 13px;border-radius:14px;font-size:13px;line-height:1.45}
.check-history-pair p:first-child{background:#f5ecef;justify-self:start;border-bottom-left-radius:3px}
.check-history-pair p:last-child{background:#e7f3ee;justify-self:end;border-bottom-right-radius:3px;color:#245d59;font-weight:700}
.check-question{display:inline-block;background:#f5ecef;border-radius:18px 18px 18px 4px;padding:13px 17px;margin-bottom:22px}
.check-summary-fallback{display:block;width:100%;min-height:350px;resize:vertical;font:inherit;line-height:1.7;color:#423c3e;overflow:auto}

/* Round 2: a clean, very pale health green replaces the former blush base. */
:root{--paper:#f7faf7;--lavender:#f2f8f3;--line:#dde7df;--ink:#303b37;--muted:#55615b;--aqua:#68afa2;--aqua-dark:#286b60}
body,.subpage{background:var(--paper);color:var(--ink)}
.header,.header-secondary,.hero{background:#f2f8f3}
.hero-copy{background:linear-gradient(90deg,#f2f8f3f5,#f2f8f3dc 77%,transparent)}
.patient-guide,.audience-companies,.audience-professionals{background:#f7faf7}
.entrances,.steps,.faq,.approach-details{background:#f7faf7}
.contact{background:linear-gradient(180deg,#eef6f0,#f7faf7)}
.contact-inner{background:radial-gradient(circle at 84% 13%,#f4faf5,transparent 37%),#fff;border-color:#dce9de}
.contact-audience-prompt{background:#edf7ef;color:#3f5b48;border-color:#d4e8d7}
.guide-strip{border-color:#deeadf}
.quick-entry,.guide-next,.check-emergency{background:linear-gradient(135deg,#f0f8f1,#fffef9);border-color:#d7e8d9}
.check-emergency{border-left-color:#7cae88}
.subpage-card,.quick-check{border-color:#dce8df}
.check-options button,.check-back,.check-reset,.check-summary{background:#f8fbf8;border-color:#dce8df}
.check-options button:hover,.check-options button:focus-visible{background:#eaf5ec;border-color:#7ba78a}
.check-question,.check-history-pair p:first-child{background:#eaf4ec}
.check-history-pair p:last-child{background:#e2f2e8}
.audience-tab:nth-child(1){--choice-bg:#eef8f0;--choice-border:#cfe7d6;--choice-hover:#e3f3e7;--choice-selected:#d9efdf;--choice-ink:#355f46;--choice-ring:#82ba9138}
.audience-tab:nth-child(2){--choice-bg:#eef4f3;--choice-border:#d3e4df;--choice-hover:#e5f0ed;--choice-selected:#dcece7;--choice-ink:#416b61;--choice-ring:#7cab9b38}
.brand-hotline .brand-support{color:#52645c}
.header nav{gap:clamp(9px,1.3vw,22px);white-space:nowrap}
.header-secondary{display:none}
@media(max-width:1250px){.header nav{font-size:11px;gap:10px}.header{gap:14px}.brand-hotline{min-width:210px}}
@media(max-width:760px){
 .header-secondary{display:block;padding:0 6% 8px;font-size:11px}
 .hero-copy{background:linear-gradient(0deg,#f2f8f3fc 0,#f2f8f3e0 76%,transparent)}
}
.role-directory-link{display:inline-flex;margin-top:16px;color:#246b58;font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.enterprise-inner{padding-top:80px;padding-bottom:85px}
.enterprise-kicker{display:inline-block;border:1px solid #8daea1;border-radius:100px;padding:5px 13px;font-size:12px;font-weight:800;letter-spacing:.05em;color:#315f50;margin-bottom:22px}
.enterprise-inner h2{max-width:850px;font-size:clamp(33px,4vw,53px);line-height:1.32}
.enterprise-lead{max-width:700px;color:#52635a;font-size:18px;margin:22px 0 38px}
.enterprise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.enterprise-grid article{background:#fff;border:1px solid #dce8df;border-top:4px solid #5c9782;border-radius:14px;padding:25px 23px}
.enterprise-grid article>span{color:#48745f;font-size:12px;font-weight:850;letter-spacing:.06em}
.enterprise-grid h3{font-size:22px;margin:12px 0}
.enterprise-grid p{font-size:15px;color:#52635a;line-height:1.8}
.enterprise-insurance{background:#eaf4ed;border-radius:18px;padding:28px 30px;margin-top:22px}
.enterprise-insurance h3{font-size:22px}
.enterprise-insurance p{margin-top:10px;color:#465a4e}
.enterprise-sources{font-size:12px!important}
.enterprise-sources a{text-decoration:underline;text-underline-offset:3px}
.enterprise-note{font-size:13px;color:#52635a;margin:25px 0 0}
.enterprise-inner>.patient-guide-cta{margin-top:22px}
html[data-audience="companies"] .approach-stage,html[data-audience="companies"] .contact-team{display:none}
html[data-audience="companies"] .approach{padding-top:30px}
.contact-company{display:none}
html[data-audience="companies"] .contact-patient{display:none}
html[data-audience="companies"] .contact-company{display:block}
.clinic-search-callout{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#e8f4eb;border:1px solid #cfe3d3;border-radius:20px;padding:28px 32px;margin-top:45px}
.clinic-search-callout h3{font-size:25px;margin:5px 0 8px}
.clinic-search-callout p{font-size:14px;color:#4d6253}
.clinic-search-kicker{font-weight:850;color:#286b60!important;font-size:12px!important}
.clinic-search-callout>a{flex:none;background:#fff;color:#245d50;border:1px solid #b7d6c0;border-radius:100px;padding:12px 20px;font-size:14px;font-weight:800}
.faq-toggle{display:none}
.faq-enhanced .faq-toggle{display:inline-flex;align-items:center;gap:12px;background:#edf6ee;color:#275c49;border:1px solid #cce2d2;border-radius:100px;padding:11px 19px;margin-top:22px;cursor:pointer;font-weight:800}
.faq-enhanced .faq-extra[hidden]{display:none}
.quick-check{max-width:750px;margin-inline:auto}
.quick-check .check-question{font-size:clamp(24px,3vw,34px)}
@media(max-width:760px){
 .enterprise-inner{padding-top:55px;padding-bottom:60px}
 .enterprise-inner h2{font-size:clamp(29px,7vw,36px)}
 .enterprise-lead{font-size:16px;margin-bottom:25px}
 .enterprise-grid{grid-template-columns:1fr}
 .enterprise-grid article{padding:22px}
 .enterprise-insurance{padding:22px}
 .clinic-search-callout{display:block;padding:23px;margin-top:35px}
 .clinic-search-callout>a{display:inline-block;margin-top:18px}
}
.clinic-page{max-width:1080px}
.clinic-notice{border-left:4px solid #76a98d;background:#edf7ef;padding:13px 18px;margin-top:30px;color:#365641;font-weight:700}
.clinic-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;background:#fff;border:1px solid #dce8df;border-radius:20px;padding:26px;margin-top:25px}
.clinic-filters label{display:grid;gap:7px;font-size:13px;font-weight:800;color:#42564b}
.clinic-filters select,.clinic-filters input{width:100%;min-height:46px;border:1px solid #cbded0;border-radius:10px;padding:9px 12px;background:#fff;color:#303b37;font:inherit;font-size:15px}
.clinic-filters button{grid-column:1/-1;justify-self:start;background:#286b60;color:#fff;border:0;border-radius:100px;padding:12px 24px;font:inherit;font-weight:800;cursor:pointer}
.clinic-count{margin-top:27px;font-weight:700;color:#456452}
.clinic-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.clinic-result{background:white;border:1px solid #dce8df;border-radius:15px;padding:21px}
.clinic-result h3{font-size:19px}.clinic-result p{font-size:13px;color:#56635a;margin-top:6px}
.clinic-result button{border:1px solid #94baa1;background:#eef7ef;border-radius:50px;padding:9px 13px;font:inherit;font-weight:800;color:#285e49;margin-top:12px;cursor:pointer}
.clinic-pages{display:flex;align-items:center;gap:15px;justify-content:center;margin-top:24px}
.clinic-pages[hidden]{display:none}.clinic-pages button{padding:8px 15px;border:1px solid #b7d4be;border-radius:30px;background:white;cursor:pointer}.clinic-pages button:disabled{opacity:.45;cursor:default}
.clinic-consult{background:#eaf5ec;border-radius:22px;padding:27px;margin-top:35px}
.clinic-consult h2{font-size:27px}.clinic-consult>p{color:#516257;margin-top:7px}
.clinic-consult textarea{display:block;width:100%;margin-top:18px;padding:16px;border:1px solid #bfd8c4;border-radius:12px;background:white;color:#303b37;font:inherit;line-height:1.7;resize:vertical}
.clinic-consult-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:15px}
.clinic-consult-actions button,.clinic-consult-actions a{border:0;border-radius:50px;padding:11px 18px;background:#087f45;color:white;font:inherit;font-weight:800;cursor:pointer}
.clinic-consult-actions a{background:white;color:#245e4c;border:1px solid #a8cbae}
#clinic-copy-status{min-height:1.8em;font-weight:800}
@media(max-width:760px){.clinic-filters,.clinic-results{grid-template-columns:1fr}.clinic-filters{padding:20px}.clinic-consult{padding:22px}}
@media(max-width:760px){.brand-hotline{min-width:0}}

/* Round 3: one FAQ at the top, a continuous green section, and a factual privacy link. */
.approach{background:#f7faf7}
.approach-details{background:transparent}
.faq-bubbles{scroll-margin-top:25px}
.faq-extra.concern-grid{display:grid;margin-top:16px}
.faq-enhanced .faq-extra[hidden]{display:none}
.patient-guide .faq-toggle{margin-top:22px}
.faq-bubbles .concern-card,.faq-extra .concern-card,.faq-bubbles .concern-card:nth-child(3n+2),.faq-bubbles .concern-card:nth-child(3n),.faq-extra .concern-card:nth-child(3n+2),.faq-extra .concern-card:nth-child(3n){background:#fff;border-color:#dae7dd}
.faq-bubbles .concern-icon,.faq-extra .concern-icon,.faq-bubbles .concern-card:nth-child(3n+2) .concern-icon,.faq-extra .concern-card:nth-child(3n+2) .concern-icon{border-color:#82ac8b;color:#447553}
.faq-bubbles .concern-card summary,.faq-extra .concern-card summary{min-height:105px;white-space:normal;font-size:clamp(18px,1.5vw,21px)}
.faq-bubbles .concern-answer p,.faq-extra .concern-answer p{padding:0;margin-top:9px}
.footer{justify-content:space-between;align-items:flex-start;gap:30px;border-top:1px solid #dce9df}
.footer-identity{display:grid;gap:5px}
.footer-identity .footer-service{font-weight:800;font-size:18px}
.footer-identity p{font-size:12px;color:#536258;flex:none}
.footer-identity p a{text-decoration:underline;text-underline-offset:3px}
.footer nav{display:flex;gap:20px;align-items:center;font-size:12px;color:#3a5e4a}
.footer nav a{text-decoration:underline;text-underline-offset:3px}
.privacy-notice{background:#eaf4ec;border-left:4px solid #79aa88;padding:22px;margin-top:32px}
.privacy-notice strong{color:#285d40}
.privacy-notice p{margin-top:5px}
.privacy-facts{display:grid;gap:16px;margin-top:25px}
.privacy-facts section{background:#fff;border:1px solid #dce9df;border-radius:17px;padding:24px}
.privacy-facts h2{font-size:23px}
.privacy-facts p{margin-top:9px;color:#526158}
.privacy-company{margin-top:28px;font-size:14px}
.privacy-company a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){
 .faq-bubbles .concern-card summary,.faq-extra .concern-card summary{min-height:84px;padding-right:38px;font-size:17px}
 .faq-bubbles .concern-answer,.faq-extra .concern-answer{margin-left:55px;margin-right:18px}
 .footer{margin:0;padding:28px 25px;display:block}
 .footer nav{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px}
}
.faq-bubbles .concern-card summary span:nth-child(2),.faq-extra .concern-card summary span:nth-child(2){text-wrap:balance}
.intro-screen{background:radial-gradient(circle at 50% 44%,#fbfdfb 0,#eaf4ec 70%)}
.check-meter{display:block;width:100%;height:.45rem;margin:.3rem 0 1.35rem;accent-color:#39775a}
.check-reassure{font-size:.9rem;color:#52645b;margin:1rem 0 0}
.faq-enhanced .faq-extra .concern-card[hidden]{display:none}
.faq-review-note{font-size:12px;color:#52645b;line-height:1.7;margin-top:16px}
.quick-entry{position:relative;overflow:hidden;border-color:#b7ddc0;box-shadow:0 18px 42px #38734a1d}
.quick-entry::before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:#34865f}
.quick-entry a{min-width:190px;justify-content:center;box-shadow:0 8px 22px #087f4529}
.patient-guide .quick-entry{margin:clamp(36px,5vw,70px) 0 0}
