/* Shared refinements use the established Pasifika Rise palette and type. */
:root{--focus:oklch(55% .13 245);--muted:oklch(43% .04 230);--surface:oklch(99% .006 210);--line:oklch(86% .022 210)}
html{scroll-padding-top:100px}
body{overflow-wrap:break-word}
body::before,.hero::before,.hero::after,.hero-card::after,.float,.rl-app::after,#how::before,#apps::before{display:none}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
.skip{position:fixed;top:12px;left:12px;z-index:1000;transform:translateY(-180%);background:var(--cream);color:var(--deep);padding:12px 20px;border:2px solid var(--deep);border-radius:8px}
.skip:focus{transform:none}
header{background:var(--cream);backdrop-filter:none}
.nav{gap:24px;padding-top:16px;padding-bottom:16px}
.nav-links{gap:24px}
.nav-links a{opacity:1;font-size:.9rem}
.brand{white-space:nowrap}
.menu-toggle{width:48px;height:48px;flex-shrink:0;border:1px solid var(--line);border-radius:12px}
.btn{min-height:48px;justify-content:center;border-radius:12px;transition:transform .18s ease-out,background .18s ease-out;line-height:1.4;text-align:center}
.btn-primary{background:var(--clay-dark,var(--clay));box-shadow:none}
.btn-primary::after{display:none}
.btn-primary:hover{box-shadow:none;transform:translateY(-2px);background:var(--deep)}
.btn-ghost{background:transparent;backdrop-filter:none;border-color:var(--line)}
.btn-ghost:hover{background:var(--sand);box-shadow:none;transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn:disabled{opacity:.6;cursor:wait;transform:none}
.hero{background:var(--sand)}
.hero h1 em,.sec-head h2 em,.who h2 em,.book-info h2 em{background:none;-webkit-text-fill-color:currentColor;color:var(--clay-dark,var(--clay))}
.hero-grid{gap:48px;padding-top:64px;padding-bottom:64px}
.hero h1{font-size:clamp(2.7rem,4.7vw,4.15rem);line-height:1.1}
.hero p.lead{max-width:45ch;font-size:1.08rem;line-height:1.75}
.eyebrow{font-size:.75rem;letter-spacing:.12em;color:var(--deep)}
.greet{font-size:.8rem;max-width:58ch;margin-left:auto;margin-right:auto}
.hero-card{background:var(--deep);padding:28px;border-radius:24px;box-shadow:none}
.hero-community{width:calc(100% + 56px);max-width:none;height:206px;object-fit:cover;display:block;margin:-28px -28px 26px}
.hero-card .ripple{display:none}
.hero-card h3{font-size:1.32rem;line-height:1.35}
.hero-card .sub{margin-bottom:22px}
.hero-card .step-mini{text-align:left}
.hero-card .step-mini b,.hero-card .step-mini p{text-align:left}
.book-info .app-callout{background:var(--deep);box-shadow:none}
.book-info .app-callout b,.book-info .app-callout p{color:var(--cream);opacity:1}
.book-info .app-callout p{font-size:1rem;line-height:1.7;margin:10px 0 0}
.steps-mini{gap:18px}
.reassure{font-size:.82rem;gap:12px 18px}
.wave{height:28px}
.trust .wrap{padding-top:22px;padding-bottom:22px;font-size:.9rem;gap:16px 36px}
section.block{padding:clamp(56px,7vw,88px) 0}
.sec-head{max-width:690px;margin-bottom:36px}
.sec-head p{font-size:1.06rem;line-height:1.7}
.card,.clinic-card,.rl-card{background:var(--surface);box-shadow:none;border-radius:18px}
.card::before{display:none}
.card:hover{transform:none;box-shadow:none}
.card .ic{background:var(--sand);box-shadow:none;border:0}
.card:hover .ic{transform:none}
.clinic-flow{border-top:1px solid var(--line);padding-top:26px;gap:20px}
.flow-step{padding:0;background:transparent;border:0;border-radius:0}
.health-intro{background:var(--cream)}
.health-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:30px}
.health-links a{display:flex;align-items:center;gap:14px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.health-links a>span:nth-child(2){flex:1;min-width:0;text-align:left}
.health-links b{display:block;font-size:1.05rem;color:var(--deep)}
.health-links small{display:block;font-size:.84rem;color:var(--muted);margin-top:2px}
.health-links img{border-radius:13px;flex-shrink:0}
.health-links a:hover b{text-decoration:underline;text-underline-offset:4px}
.rl-apps{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.rl-app{background:var(--surface);padding:24px;border-radius:16px}
.rl-app-top{display:grid;grid-template-columns:52px 1fr;gap:4px 14px;align-items:center;margin-bottom:14px}
.rl-app-top .rl-icon{grid-row:span 2}
.rl-app-top b{text-align:left;font-size:1.15rem}
.rl-app .rl-tag{justify-self:start;font-size:.72rem}
.rl-app p{text-align:left;font-size:.96rem;line-height:1.6}
a.rl-app:hover{border-color:var(--sea);box-shadow:none;transform:translateY(-2px)}
.rl-tag.live{color:var(--clay-dark,var(--clay))}
.innovation-page .hero .about-portrait{max-height:460px;aspect-ratio:1/1;box-shadow:none}
.innovation-page #how .rl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.innovation-page .rl-stat .n{font-size:1.4rem}
.innovation-page .rl-stat{gap:28px}
footer{background:var(--deep)}
.foot-inner{padding-left:26px;padding-right:26px}
.foot-col h4,.foot-base{opacity:1}
.foot-col a{min-height:30px}
/* Keep content readable before scripts run and when reduced motion is chosen. */
.rv{opacity:1;transform:none;transition:none}
@media(max-width:1100px){
 .nav-links{display:none}.menu-toggle{display:grid;place-items:center}
 .nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--cream);padding:12px 24px 24px;border-bottom:1px solid var(--line);max-height:calc(100dvh - 82px);overflow:auto}
 .nav-links.open a{padding:14px 10px;min-height:48px;border-bottom:1px solid var(--line)}
 .nav-links.open a::after{display:none}.nav-links.open .btn{margin-top:12px}
}
@media(max-width:880px){
 .hero-grid{padding:44px 26px 48px;gap:36px}
 .innovation-page .hero-grid{padding-left:0;padding-right:0}
 .hero-card{width:100%;max-width:540px;margin:auto}
 .hero-community{height:220px}
 .health-links{grid-template-columns:1fr;gap:0}
 .health-links a+a{border-top:0}
 .clinic-flow{grid-template-columns:1fr;gap:20px}
 .flow-step{display:grid;grid-template-columns:38px 1fr;gap:0 14px;text-align:left}
 .flow-step .num{grid-row:span 2;margin:0}.flow-step b,.flow-step span{text-align:left}
 .rl-apps{grid-template-columns:1fr}
 .innovation-page #how .rl-grid{grid-template-columns:1fr}
 .hero h1{font-size:clamp(2.6rem,8vw,3.5rem)}
 .eyebrow{font-size:.73rem}.hero p.lead{font-size:1.02rem}
 .foot-inner{padding-top:44px}
}
@media(max-width:480px){
 .nav{padding:12px 20px}.brand{font-size:1.17rem;gap:9px}.brand .mark{height:34px}
 .wrap{padding-left:20px;padding-right:20px}
 .hero-grid{padding-left:20px;padding-right:20px}
 .hero-cta{gap:12px}.hero-cta .btn{width:100%}
 .greet{font-size:.74rem}.reassure{justify-content:center}
 .hero-card{padding:24px}.hero-community{width:calc(100% + 48px);margin:-24px -24px 24px;height:186px}
 .clinic-grid{grid-template-columns:1fr}.clinic-card,.card,.rl-card{padding:24px}
 .trust .wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left;font-size:.8rem}
 .trust span{align-items:flex-start}.trust svg{flex-shrink:0}
}
/* The app directory shares the clinic's identity with a quieter reading layout. */
.apps-page header{border-top:6px solid var(--sea);position:sticky;top:0;z-index:60;background:var(--cream)}
.apps-page nav{padding:16px 0}
.apps-page .brand{font-family:Lora,Georgia,serif;font-size:1.2rem}
.apps-page .brand img{width:auto;height:38px}
.app-nav{display:flex;gap:24px;align-items:center}
.app-nav a{font-size:.87rem;text-decoration:none;padding:8px 0}
.app-nav a:hover{text-decoration:underline}
.apps-page .wrap{padding:0;width:min(1100px,calc(100% - 48px))}
.apps-page main section{padding:72px 0;scroll-margin-top:24px}
.apps-page .apps-intro{padding:70px 0 54px}
.apps-page h1{font-size:clamp(2.8rem,5.2vw,4.4rem);max-width:22ch;letter-spacing:-.035em;margin:18px auto}
.apps-page h1 em{font-style:normal;color:var(--clay)}
.apps-page .lead{font-size:1.12rem;max-width:58ch;line-height:1.75}
.apps-page .btn{display:inline-flex;align-items:center;gap:12px;background:transparent;border:1px solid var(--line);color:var(--deep)}
.apps-page .btn:hover{background:var(--sand);transform:translateY(-2px)}
.apps-page .primary{background:var(--clay);border-color:var(--clay);color:var(--cream)}
.apps-page .primary:hover{background:var(--deep);border-color:var(--deep)}
.app-icon-line{display:flex;align-items:center;justify-content:center;gap:18px;margin:34px auto 0}
.app-icon-line img{width:54px;height:54px;border-radius:13px;box-shadow:0 5px 12px -8px var(--deep)}
.apps-page h2{font-size:clamp(2rem,3.5vw,2.9rem);letter-spacing:-.025em}
.apps-page .intro{max-width:65ch;margin-bottom:38px}
.apps-page #everyday .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.apps-page #everyday .card{display:flex;flex-direction:column;align-items:center;padding:32px;gap:0;position:relative}
.apps-page #everyday .card h3{margin:15px 0 10px;font-size:1.55rem}
.apps-page #everyday .card p{max-width:48ch}
.apps-page #everyday .card .btn{margin-top:auto;width:auto;min-width:160px}
.apps-page #everyday .card .small{font-size:.86rem;line-height:1.65}
.apps-page #scatter{grid-column:1/-1;background:var(--sand)}
.apps-page #scatter>p{max-width:72ch!important}
.apps-page .badge{background:var(--sand);color:var(--deep);font-size:.75rem;font-weight:600}
.apps-page #scatter .badge{background:var(--surface)}
.apps-page .medquest-feature{background:var(--deep);color:var(--cream);text-align:center}
.apps-page .medquest-feature h2,.apps-page .medquest-feature .eyebrow,.apps-page .medquest-feature .small{color:var(--cream)}
.apps-page .medquest-feature h2{margin:18px 0;font-size:clamp(2.5rem,4.5vw,3.8rem)}
.apps-page .medquest-feature .btn{color:var(--cream);border-color:var(--sea)}
.apps-page .medquest-feature .btn:hover{background:var(--sea)}
.apps-page .medquest-feature .primary{background:var(--cream);color:var(--deep);border-color:var(--cream)}
.apps-page .small{color:var(--muted)}
.apps-page .grid:not(.two) .card h3{margin-top:8px}
.apps-page .card{background:var(--surface)}
.apps-page .steps{list-style:none;counter-reset:step;padding:0;max-width:72ch}
.apps-page .steps li{position:relative;counter-increment:step;padding:22px 0 22px 58px;border-bottom:1px solid var(--line)}
.apps-page .steps li::before{content:counter(step);position:absolute;left:0;top:22px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--deep);color:var(--cream);font-size:.9rem;font-weight:600}
.apps-page details{background:var(--surface);padding:0 24px;border-radius:12px}
.apps-page summary{padding:20px 0}
.apps-page details p{margin-bottom:20px}
.apps-page footer{background:var(--deep);color:var(--cream);padding:34px 0}
.apps-page footer a,.apps-page footer .small{color:var(--cream)}
@media(max-width:720px){
 .apps-page .wrap{width:calc(100% - 40px)}
 .apps-page nav{gap:12px;justify-content:center}
 .app-nav{gap:24px;justify-content:center;width:100%;font-size:.82rem}
 .apps-page main section{padding:48px 0;scroll-margin-top:54px}
 .apps-page .apps-intro{padding-top:40px}
 .apps-page h1{font-size:clamp(2.5rem,9vw,3.4rem)}
 .apps-page .lead{font-size:1.03rem}
 .apps-page #everyday .grid{grid-template-columns:1fr;gap:18px}
 .apps-page #scatter{grid-column:auto}
 .apps-page #everyday .card{padding:26px 22px}
 .apps-page .actions .btn{width:100%}
 .apps-page .app-icon-line{gap:13px}
 .app-icon-line img{width:45px;height:45px;border-radius:11px}
 .apps-page .two{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
.apps-page header nav.wrap{padding-top:14px;padding-bottom:14px;min-height:76px}
