:root{
  --ink:#15314d;
  --muted:#61788c;
  --blue:#1469b4;
  --blue2:#27bce8;
  --cyan:#77dcf4;
  --amber:#f5b515;
  --amber2:#ffd85b;
  --paper:#f6f8f7;
  --mist:#eaf3f7;
  --soft:#edf7fb;
  --line:rgba(28,78,117,.13);
  --shadow:0 26px 70px rgba(28,69,104,.12);
  --r:28px;
  --max:1180px;
  --display:"Aptos Display","Avenir Next","Trebuchet MS",sans-serif;
  --body:"Aptos","Segoe UI Variable","Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);background:linear-gradient(180deg,#f7f8f4 0%,#eef6f8 48%,#f7f6ef 100%);line-height:1.66;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.container{width:min(calc(100% - 32px),var(--max));margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,248,244,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.header-inner{width:min(calc(100% - 28px),var(--max));min-height:82px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:13px;min-width:0}.brand img{width:56px;height:56px;border-radius:18px;box-shadow:0 12px 24px rgba(20,105,180,.14)}
.brand strong{display:block;font:800 1.32rem/1 var(--display);letter-spacing:-.03em}.brand span{display:block;margin-top:5px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.nav{display:flex;align-items:center;gap:8px}.nav>a:not(.policy-btn){padding:10px 12px;color:#4e667b;font-weight:750;border-radius:14px}.nav>a:not(.policy-btn):hover{background:rgba(255,255,255,.7)}
.policy-btn,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 21px;border-radius:15px;font-weight:850;transition:.22s ease;border:1px solid transparent}.policy-btn,.btn-primary{background:linear-gradient(135deg,var(--blue),#238bd0);color:#fff;box-shadow:0 14px 28px rgba(20,105,180,.2)}.policy-btn:hover,.btn:hover{transform:translateY(-2px)}.btn-ghost{background:rgba(255,255,255,.72);border-color:var(--line);color:var(--ink)}
.menu{display:none;width:48px;height:48px;border-radius:15px;border:1px solid var(--line);background:rgba(255,255,255,.72);align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu span{width:18px;height:2px;background:var(--ink);border-radius:99px}
.hero{padding:46px 0 70px;position:relative;overflow:hidden}.hero-wrap{position:relative;min-height:690px;border-radius:36px;overflow:hidden;border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow);background:linear-gradient(180deg,rgba(17,55,88,.25),rgba(14,59,94,.48)),url("routepop-privacy-visual.svg") center/cover no-repeat;display:grid;place-items:center;padding:40px}
.hero-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(11,47,80,.12));pointer-events:none}.hero-copy{position:relative;z-index:2;width:min(930px,100%);text-align:center;color:#fff}.eyebrow{display:inline-flex;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);font-size:.75rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.hero h1{margin:18px auto 18px;font:800 clamp(3.1rem,7vw,6.3rem)/.93 var(--display);letter-spacing:-.065em;max-width:900px}.hero h1 em{font-family:Georgia,serif;font-weight:500;color:#ffe27a}.hero-copy>p{max-width:760px;margin:0 auto;color:rgba(255,255,255,.89);font-size:1.08rem}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:28px}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:34px auto 0;max-width:870px}.hero-stat{padding:16px;border-radius:18px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.17);backdrop-filter:blur(7px)}.hero-stat strong{display:block}.hero-stat span{display:block;margin-top:4px;color:rgba(255,255,255,.78);font-size:.9rem}
.section{padding:88px 0}.kicker{margin:0 0 13px;color:var(--blue);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.16em}.section h2{margin:0;font:800 clamp(2.1rem,4.5vw,3.7rem)/1 var(--display);letter-spacing:-.045em}.lead{margin:16px 0 0;color:var(--muted);max-width:760px;font-size:1.04rem}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}.intro-main,.intro-side{border-radius:30px;border:1px solid var(--line);box-shadow:var(--shadow)}.intro-main{padding:34px;background:linear-gradient(135deg,#fffdf4,#f4fbfd)}.intro-side{padding:30px;background:linear-gradient(160deg,#e9f6fb,#fff4c9)}.intro-main h3,.intro-side h3{margin:0 0 12px;font:800 1.65rem/1.1 var(--display);letter-spacing:-.035em}.intro-main p,.intro-side p{margin:0;color:var(--muted)}
.route-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}.route-card{padding:24px;border-radius:25px;background:rgba(255,255,255,.78);border:1px solid var(--line);box-shadow:0 16px 40px rgba(31,73,106,.08);transition:.22s ease}.route-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.route-no{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#dff5ff,#fff2b9);font-weight:900;color:var(--blue)}.route-card h3{margin:16px 0 8px;font:800 1.2rem/1.18 var(--display)}.route-card p{margin:0;color:var(--muted)}
.privacy-scene{position:relative;min-height:620px;border-radius:36px;overflow:hidden;background:linear-gradient(90deg,rgba(11,44,72,.72),rgba(17,71,111,.34)),url("routepop-privacy-visual.svg") center/cover no-repeat;box-shadow:var(--shadow);display:flex;align-items:flex-end;padding:42px}.privacy-scene-content{max-width:720px;padding:30px;border-radius:28px;background:rgba(248,252,254,.84);border:1px solid rgba(255,255,255,.75);backdrop-filter:blur(12px)}.privacy-scene h2{font-size:clamp(2.2rem,4.8vw,4rem)}.privacy-scene p{color:#4b657a}.privacy-pills{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.privacy-pill{padding:9px 12px;border-radius:999px;background:#eef8fb;border:1px solid var(--line);font-size:.86rem;font-weight:800;color:#24557c}
.boundaries{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}.boundary{padding:30px;border-radius:28px;border:1px solid var(--line);background:rgba(255,255,255,.79);box-shadow:var(--shadow)}.boundary.amber{background:linear-gradient(150deg,#fff7d2,#fffdf5)}.boundary.blue{background:linear-gradient(150deg,#e5f7ff,#fafdff)}.boundary h3{margin:0 0 12px;font:800 1.55rem/1.1 var(--display)}.boundary ul{margin:0;padding-left:20px;color:var(--muted)}.boundary li+li{margin-top:9px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}.step{position:relative;padding:26px;border-radius:25px;background:rgba(255,255,255,.78);border:1px solid var(--line)}.step small{color:var(--blue);font-weight:900;letter-spacing:.13em}.step h3{margin:11px 0 8px;font:800 1.24rem/1.2 var(--display)}.step p{margin:0;color:var(--muted)}
.cta{padding:38px;border-radius:34px;background:linear-gradient(135deg,#143d70,#176ba9 55%,#2aaed8);color:#fff;box-shadow:var(--shadow)}.cta h2{color:#fff}.cta p{color:rgba(255,255,255,.82);max-width:760px}.cta .btn-ghost{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.2)}
.footer{padding:32px 0 50px;border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.footer small{color:var(--muted)}.footer-links{display:flex;gap:16px}.footer-links a{font-weight:800;color:#466179}
/* policy */
.policy-hero{padding:54px 0 24px;text-align:center}.policy-hero h1{margin:12px auto 10px;font:800 clamp(2.8rem,6vw,5.2rem)/.95 var(--display);letter-spacing:-.055em}.policy-hero p{max-width:780px;margin:0 auto;color:var(--muted)}.effective{margin-top:15px;color:var(--blue);font-weight:850}.policy-doc{width:min(calc(100% - 32px),900px);margin:18px auto 86px;padding:42px;border-radius:30px;background:rgba(255,255,255,.86);border:1px solid var(--line);box-shadow:var(--shadow)}.policy-doc>p{color:#4f677b}.policy-doc section{padding:27px 0;border-top:1px solid var(--line)}.policy-doc section:first-of-type{margin-top:20px}.policy-doc h2{margin:0 0 12px;font:800 1.42rem/1.15 var(--display);letter-spacing:-.02em}.policy-doc p{margin:0 0 12px;color:#536a7d}.policy-doc ul{margin:0;padding-left:21px;color:#536a7d}.policy-doc li+li{margin-top:8px}.contact-block{margin-top:14px;padding:20px;border-radius:21px;background:linear-gradient(135deg,#eff8fc,#fff7d6);border:1px solid var(--line)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.intro-grid,.boundaries{grid-template-columns:1fr}.route-list,.steps{grid-template-columns:1fr 1fr}.hero-stats{grid-template-columns:1fr}.privacy-scene{min-height:540px}}
@media(max-width:760px){.header-inner{min-height:74px}.brand img{width:50px;height:50px}.brand strong{font-size:1.18rem}.nav{position:absolute;top:76px;left:14px;right:14px;display:none;flex-direction:column;align-items:stretch;padding:12px;border-radius:20px;background:rgba(247,248,244,.98);border:1px solid var(--line);box-shadow:var(--shadow)}.nav.open{display:flex}.menu{display:flex}.hero{padding-top:24px}.hero-wrap{min-height:640px;padding:24px 18px;background-position:center}.hero h1{font-size:clamp(2.8rem,14vw,4.6rem)}.hero-actions{flex-direction:column}.btn{width:100%}.route-list,.steps{grid-template-columns:1fr}.privacy-scene{min-height:570px;padding:22px;align-items:flex-end}.privacy-scene-content{padding:22px}.section{padding:70px 0}.policy-doc{padding:26px 22px;border-radius:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Privacy policy must render immediately without scroll-trigger dependency */
.policy-doc .reveal{opacity:1!important;transform:none!important;}
