:root {
  --teal-dark:#009093; --teal:#01b7ba; --turquoise:#00dacd;
  --ink:#363636; --mint:#f5fffd; --pink:#ff1053;
  --font:"Poppins","Noto Sans Khmer",sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; background:#fff; color:var(--ink); font-family:var(--font); font-weight:500; line-height:1.6; }
button,summary { font:inherit; }
button,a,summary { -webkit-tap-highlight-color:transparent; }
button,a,summary { touch-action:manipulation; }
button { cursor:pointer; }
img { display:block; max-width:100%; height:auto; }
p,h1,h2,h3 { margin:0; }
a { color:inherit; }
[hidden] { display:none !important; }
:focus-visible { outline:3px solid #027374; outline-offset:5px; }
.skip-link { position:fixed; z-index:20; top:12px; left:12px; padding:12px 20px; background:#fff; border:2px solid var(--teal-dark); transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.site { width:100%; max-width:1920px; margin-inline:auto; }
.container { width:82.55%; max-width:1585px; margin-inline:auto; }
.header { min-height:clamp(80px,7.3vw,140px); padding:clamp(16px,3.33vw,64px) 3.44% 12px; display:flex; align-items:center; justify-content:space-between; gap:16px; position:relative; z-index:5; }
.brand { display:block; flex-shrink:0; }
.brand img { width:clamp(48px,4.375vw,84px); border-radius:12px; }
.header-controls { display:flex; align-items:center; gap:24px; }
.language-switch { display:flex; align-items:center; gap:2px; }
.language-switch button { background:none; border:0; border-radius:8px; padding:10px 12px; min-height:44px; color:#505c5b; font-size:13px; }
.language-switch button[aria-pressed="true"] { color:#027374; background:#e6faf7; font-weight:700; }
.language-switch button:hover { background:#f0fcfa; }
.menu summary { width:48px; height:48px; display:flex; align-items:center; justify-content:center; list-style:none; cursor:pointer; border-radius:8px; }
.menu summary::-webkit-details-marker { display:none; }
.menu-lines,.menu-lines::before,.menu-lines::after { width:32px; height:3px; background:var(--teal); border-radius:30px; display:block; position:relative; }
.menu-lines::before,.menu-lines::after { content:""; position:absolute; left:0; }
.menu-lines::before { top:-9px; }
.menu-lines::after { top:9px; }
.menu[open] summary { background:#e6faf7; }
.menu nav { position:absolute; right:3.44%; top:calc(100% + 8px); display:grid; min-width:260px; max-width:calc(100vw - 32px); padding:12px; background:white; box-shadow:0 12px 45px #073e3e22; border:1px solid #c6ece8; border-radius:16px; }
.menu nav a { display:block; padding:12px 16px; text-decoration:none; border-radius:8px; font-size:15px; overflow-wrap:anywhere; }
.menu nav a:hover { background:var(--mint); color:#027374; }
.hero-intro { padding:clamp(12px,1.15vw,22px) 5% 0; text-align:center; }
h1 { font-size:clamp(36px,5vw,96px); font-weight:900; line-height:1.13; letter-spacing:-.035em; }
h1 span:first-child { color:var(--teal-dark); }
h1 span:nth-child(2) { color:var(--teal); }
h1 span:nth-child(3) { color:var(--turquoise); }
.hero-lead { margin:20px auto 0; font-size:clamp(14px,1.25vw,24px); line-height:1.5; max-width:1050px; }
.hero-art { position:relative; margin-top:clamp(24px,2.55vw,49px); aspect-ratio:1920 / 1135; isolation:isolate; overflow:hidden; }
.hero-phone { position:absolute; width:26.51%; left:36.61%; top:0; z-index:2; }
.patient-crop { position:absolute; left:0; top:7.58%; width:37.19%; height:88.99%; overflow:hidden; z-index:1; }
.patient-crop img { position:absolute; width:251.6%; max-width:none; height:100%; left:-9.97%; top:0; }
.doctor-crop { position:absolute; left:54.22%; top:9.07%; width:45.73%; height:87.49%; overflow:hidden; z-index:1; }
.doctor-crop img { position:absolute; width:107.67%; height:106.79%; max-width:none; left:-7.67%; top:0; }
.hero-fade { position:absolute; width:100%; height:6.43%; top:90.13%; z-index:3; }
.hero-availability { position:absolute; z-index:4; top:86.43%; left:50%; transform:translateX(-50%); width:40%; display:grid; justify-items:center; gap:clamp(8px,1.04vw,20px); }
.coming-pill { background:var(--pink); color:white; font-size:clamp(18px,1.67vw,32px); font-weight:700; text-align:center; border:4px solid #fff; border-radius:100px; padding:clamp(10px,1.04vw,20px) 20px; width:59%; box-shadow:4px 4px 8px #00dacd40; line-height:1.5; }
.platforms { font-size:clamp(12px,1.04vw,20px); color:#474646; }
.steps-section { padding:clamp(66px,4.43vw,85px) 0 clamp(68px,5.16vw,99px); }
.steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4.3%; list-style:none; padding:0; margin:0; }
.step { position:relative; background:var(--mint); border:1px solid #027374; border-radius:clamp(22px,2.55vw,49px); min-height:clamp(210px,13.75vw,264px); padding:clamp(48px,3.9vw,75px) 7% 30px; text-align:center; box-shadow:0 4px 4px #00dacd40; }
.step-number { position:absolute; top:0; left:50%; transform:translate(-50%,-47%); width:clamp(54px,4.79vw,92px); aspect-ratio:1; display:grid; place-items:center; color:white; font-size:clamp(25px,2.19vw,42px); }
.step-number img { position:absolute; width:100%; z-index:0; }
.step-number span { position:relative; }
.step h2 { font-size:clamp(14px,1.25vw,24px); line-height:1.5; font-weight:700; margin-bottom:14px; }
.step p { font-size:clamp(12px,.89vw,17px); line-height:1.5; }
.brand-band { background:#009093 url("/assets/redesign/teal-texture.webp") center / cover; color:white; }
.band-inner { min-height:clamp(200px,19.375vw,372px); display:flex; justify-content:space-between; align-items:center; gap:40px; padding-block:36px; }
.follow-label { font-size:clamp(15px,1.25vw,24px); font-weight:700; margin-bottom:16px; }
.social-icons { display:flex; align-items:center; gap:clamp(16px,1.72vw,33px); }
.social-icons img { width:clamp(24px,2.19vw,42px); }
.social-icons img:last-child { width:clamp(24px,2.19vw,42px); }
.social-note { font-size:12px; margin-top:12px; }
.band-brand { text-align:right; }
.wordmark-crop { width:clamp(220px,22.08vw,424px); aspect-ratio:424/148; overflow:hidden; position:relative; margin-left:auto; }
.wordmark-crop img { position:absolute; width:94.58%; max-width:none; height:81.96%; top:13.07%; left:2.83%; }
.band-brand p { font-size:clamp(14px,1.25vw,24px); font-weight:700; }
.feature { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:5.2%; padding-top:clamp(80px,5.625vw,108px); min-height:clamp(740px,46.9vw,900px); }
.feature-copy h2 { font-weight:700; letter-spacing:-.035em; margin-bottom:clamp(22px,2.3vw,44px); }
.heading-small { display:block; font-size:clamp(28px,2.5vw,48px); line-height:1.35; margin-bottom:12px; }
.heading-large { display:block; font-size:clamp(48px,5vw,96px); line-height:1.12; }
.accent { color:var(--turquoise); }
.feature-intro { font-size:clamp(14px,.89vw,17px); line-height:1.6; margin-bottom:24px; }
.benefits { display:grid; gap:20px; list-style:none; padding:0; margin:0; }
.benefits li { display:flex; gap:16px; align-items:center; font-size:clamp(13px,.89vw,17px); line-height:1.5; }
.benefits h3 { font:inherit; font-weight:700; }
.benefit-icon { flex:0 0 50px; width:50px; height:47px; border-radius:9px; background:#d8dff8; display:grid; place-items:center; }
.benefit-icon img { width:51px; max-width:none; }
.hospital-icon { overflow:hidden; }
.hospital-icon img { width:59px; }
.booking-visual { position:relative; aspect-ratio:740/820; isolation:isolate; }
.glow { position:absolute; z-index:-1; pointer-events:none; }
.glow-booking { width:113%; aspect-ratio:836/835; left:-17%; top:-6%; background:url("/assets/redesign/ellipse3.svg") center / contain no-repeat; }
.booking-phone { position:absolute; left:10%; top:3%; width:46.22%; }
.booking-overlay { position:absolute; top:23%; left:3%; width:97.37%; filter:drop-shadow(0 4px 4px #0004); }
.consultation-phone { position:absolute; width:50.81%; left:42%; top:15%; }
.consultation-phone > img:first-child { width:90.69%; margin-inline:auto; }
.consultation-overlay { position:absolute; top:30.95%; width:100%; filter:drop-shadow(0 4px 4px #0004); }
.verified { padding-top:clamp(60px,5vw,96px); min-height:clamp(740px,46.9vw,900px); }
.verified .feature-copy { padding-left:8%; }
.verified-visual { position:relative; aspect-ratio:760/850; isolation:isolate; }
.glow-verified { width:92.5%; aspect-ratio:1; left:-2%; top:6%; background:url("/assets/redesign/ellipse4.svg") center / contain no-repeat; }
.verified-phone { position:absolute; width:72.1%; left:12%; top:0; }
.verified-badge { position:absolute; width:53.16%; left:-1.16%; top:22%; }
.launch { padding-top:clamp(90px,6.3vw,121px); padding-bottom:clamp(64px,6vw,115px); }
.launch-card { background:#009093 url("/assets/redesign/teal-texture.webp") center / cover; border-radius:clamp(28px,3.39vw,65px); color:white; text-align:center; padding:clamp(32px,3.02vw,58px) 24px; min-height:clamp(300px,23.02vw,442px); display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:inset 0 4px 17px 8px #02737455; }
.smile-crop { width:145px; height:103px; overflow:hidden; position:relative; }
.smile-crop img { position:absolute; width:84.22%; max-width:none; height:71.84%; top:14.56%; left:7.89%; }
.launch h2 { font-size:clamp(24px,1.67vw,32px); line-height:1.4; margin-block:12px 8px; }
.launch-card > p { font-size:clamp(15px,1.04vw,20px); }
.launch-card .launch-status { margin-top:24px; font-size:clamp(14px,1.25vw,24px); font-weight:600; }
.footer { padding-bottom:28px; display:flex; justify-content:space-between; gap:16px; color:#65716f; font-size:12px; }
html[lang="km"] h1 { font-size:clamp(30px,4vw,77px); line-height:1.6; letter-spacing:0; }
html[lang="km"] .heading-large { font-size:clamp(38px,3.7vw,71px); line-height:1.6; }
html[lang="km"] .heading-small { line-height:1.6; }
html[lang="km"] .step h2 { line-height:1.8; }
html[lang="km"] .benefits,html[lang="km"] .feature-intro,html[lang="km"] .step p { line-height:1.9; }
@media(min-width:1921px) { .hero-art { margin-top:49px; } }
@media(max-width:1000px) {
  .container { width:88%; }
  .feature { gap:4%; min-height:680px; }
  .benefits { gap:16px; }
  .benefits li { gap:12px; }
  .benefit-icon { flex-basis:40px; width:40px; height:38px; }
  .benefit-icon img { width:41px; }
  .heading-large { font-size:clamp(40px,5vw,52px); }
  .verified .feature-copy { padding-left:0; }
}
@media(max-width:700px) {
  html { scroll-padding-top:16px; }
  .header { min-height:86px; padding:20px 5% 12px; }
  .header-controls { gap:12px; }
  .language-switch button { padding:8px 9px; font-size:12px; }
  .menu summary { width:44px; }
  .menu nav { right:5%; }
  .hero-intro { padding-top:24px; }
  h1 { max-width:580px; margin:auto; font-size:clamp(38px,7.5vw,52px); line-height:1.15; }
  .hero-lead { font-size:14px; margin-top:20px; line-height:1.7; }
  .hero-lead br { display:none; }
  .hero-lead span:first-child::after { content:" "; }
  .hero-art { margin-top:30px; aspect-ratio:691/920; }
  .hero-phone { width:40%; left:30%; }
  .patient-crop { width:44%; height:auto; aspect-ratio:714/1010; top:33.15%; }
  .doctor-crop { left:51%; width:49%; height:auto; aspect-ratio:878/993; top:38.4%; }
  .hero-fade { top:73.7%; height:7%; }
  .hero-availability { top:81%; width:90%; gap:10px; }
  .coming-pill { width:72%; max-width:320px; padding:12px 24px; font-size:22px; }
  .platforms { font-size:14px; }
  .steps-section { padding-top:56px; padding-bottom:60px; }
  .steps { grid-template-columns:1fr; gap:58px; max-width:480px; margin:auto; }
  .step { min-height:0; padding:48px 24px 30px; border-radius:28px; }
  .step h2 { font-size:17px; margin-bottom:12px; }
  .step p { font-size:14px; }
  .band-inner { padding-block:36px; flex-direction:column-reverse; gap:28px; }
  .band-brand { text-align:center; }
  .wordmark-crop { margin:auto; width:250px; }
  .band-brand p { font-size:15px; }
  .social-preview { text-align:center; }
  .social-icons { justify-content:center; }
  .follow-label { font-size:14px; margin-bottom:12px; }
  .social-note { font-size:11px; }
  .feature { display:flex; flex-direction:column; gap:28px; min-height:0; padding-top:64px; }
  .booking-visual { width:100%; max-width:450px; aspect-ratio:740/770; }
  .feature-copy { width:100%; max-width:530px; }
  .feature-copy h2 { margin-bottom:24px; }
  .heading-small { font-size:28px; margin-bottom:8px; }
  .heading-large { font-size:clamp(40px,9.3vw,62px); }
  .feature-intro { font-size:14px; margin-bottom:24px; }
  .benefits { gap:22px; }
  .benefits li { gap:16px; font-size:14px; }
  .benefit-icon { flex-basis:44px; width:44px; height:42px; }
  .benefit-icon img { width:45px; }
  .verified { padding-top:76px; gap:36px; }
  .verified-visual { width:100%; max-width:450px; }
  .launch { padding-top:30px; padding-bottom:48px; }
  .launch-card { padding:28px 20px 36px; border-radius:30px; }
  .launch h2 { font-size:24px; }
  .launch-card > p { font-size:14px; }
  .launch-card .launch-status { font-size:16px; }
  .footer { flex-direction:column; text-align:center; gap:4px; padding-bottom:24px; }
  html[lang="km"] h1 { font-size:clamp(28px,6.1vw,43px); }
  html[lang="km"] .heading-large { font-size:clamp(32px,7.4vw,49px); }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
