
:root{
  --bg:#07131f; --bg2:#0a1b2b; --panel:#132337; --panel2:#1b2c40;
  --gold:#d8b12e; --gold2:#f0cc55; --text:#f4f5f7; --muted:#aab4c0;
  --line:rgba(255,255,255,.09); --max:1180px; --r:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--text);
  background:
    radial-gradient(circle at 86% 6%,rgba(216,177,46,.10),transparent 28%),
    radial-gradient(circle at 15% 23%,rgba(64,116,171,.10),transparent 24%),
    linear-gradient(180deg,#06111c 0%,#081827 48%,#06111c 100%);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}
.nav{position:sticky;top:0;z-index:50;background:rgba(6,17,28,.82);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-in{height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;font-weight:850;letter-spacing:.01em}
.brand img{width:42px;height:42px;border-radius:11px}
.navlinks{display:flex;gap:24px;align-items:center;color:var(--muted);font-size:.94rem}
.navlinks a:hover{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:14px;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#08131f;font-weight:850;box-shadow:0 12px 36px rgba(216,177,46,.18);transition:.2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(216,177,46,.26)}
.btn.alt{background:transparent;border:1px solid var(--line);color:#fff;box-shadow:none}
.hero{padding:88px 0 80px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--gold2);font-size:.77rem;font-weight:900;letter-spacing:.20em;text-transform:uppercase}
.eyebrow:before{content:"";width:32px;height:1px;background:var(--gold)}
h1{font-size:clamp(3.4rem,7vw,6.5rem);line-height:.92;letter-spacing:-.06em;margin:22px 0 26px}
.hero p{font-size:1.18rem;color:var(--muted);max-width:660px;margin:0 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.fine{margin-top:14px;color:#8393a3;font-size:.87rem}
.phone-wrap{position:relative;min-height:650px}
.phone{width:53%;position:absolute;right:3%;top:0;border-radius:36px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.48),0 0 0 1px rgba(255,255,255,.09);transform:rotate(2deg);z-index:2}
.phone.secondary{left:2%;right:auto;top:190px;width:46%;transform:rotate(-5deg);z-index:1}
.phone img{width:100%;height:auto}
.glow{position:absolute;right:-5%;top:11%;width:72%;height:65%;background:radial-gradient(circle,rgba(216,177,46,.14),transparent 70%);filter:blur(18px)}
section{padding:82px 0}
.section-head{max-width:760px;margin-bottom:38px}
.section-head h2{font-size:clamp(2.3rem,4.7vw,4rem);line-height:1;letter-spacing:-.045em;margin:12px 0 15px}
.section-head p{margin:0;color:var(--muted);font-size:1.07rem}
.feature-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:center;margin:62px 0}
.feature-row.reverse{grid-template-columns:1.1fr .9fr}
.feature-row.reverse .feature-copy{order:2}
.feature-row.reverse .screen-card{order:1}
.feature-copy h3{font-size:clamp(2rem,4vw,3.3rem);line-height:1.02;letter-spacing:-.04em;margin:10px 0 14px}
.feature-copy p{color:var(--muted);font-size:1.05rem;margin:0 0 20px}
.bullets{display:grid;gap:11px}
.bullet{display:flex;gap:11px;color:#dde5ec}
.bullet span:first-child{color:var(--gold2);font-weight:900}
.screen-card{display:flex;justify-content:center}
.screen-card img{width:min(430px,90%);border-radius:34px;box-shadow:0 30px 75px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.08)}
.trip{display:grid;grid-template-columns:.82fr 1.18fr;gap:58px;align-items:center}
.trip img{width:min(460px,92%);margin:auto;border-radius:34px;box-shadow:0 30px 75px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.08)}
.trip h2{font-size:clamp(2.5rem,5vw,4.4rem);line-height:.98;letter-spacing:-.05em;margin:12px 0 18px}
.trip p{color:var(--muted);font-size:1.07rem}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.mini{padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(25,43,62,.85),rgba(10,26,41,.88))}
.mini b{display:block;color:var(--gold2);margin-bottom:6px}
.mini span{color:var(--muted);font-size:.9rem}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery img{width:100%;border-radius:28px;box-shadow:0 24px 60px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.07)}
.cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:48px;border-radius:30px;border:1px solid rgba(216,177,46,.24);background:radial-gradient(circle at 90% 10%,rgba(216,177,46,.14),transparent 30%),linear-gradient(135deg,#102b42,#091d2f)}
.cta-left{display:flex;gap:18px;align-items:center}
.cta-left img{width:80px;height:80px;border-radius:20px}
.cta h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1;letter-spacing:-.045em;margin:0 0 8px}
.cta p{margin:0;color:var(--muted)}
footer{padding:40px 0 56px;color:#7f90a0;font-size:.89rem}
.footer-in{border-top:1px solid var(--line);padding-top:26px;display:flex;justify-content:space-between;gap:20px}
.footer-links{display:flex;gap:20px;flex-wrap:wrap}

@media(min-width:1050px){
  .wrap{width:min(calc(100% - 80px),1240px)}
  .hero{padding:108px 0 100px}
  .hero-grid{grid-template-columns:.92fr 1.08fr;gap:84px}
  .hero-copy{padding-top:16px}
  .hero-copy>p{max-width:610px}
  .phone-wrap{min-height:680px;perspective:1400px}
  .phone{width:40%;right:12%;top:8px;border-radius:30px;transform:rotate(3.5deg) translateY(4px)}
  .phone.secondary{width:34%;left:8%;top:185px;border-radius:28px;transform:rotate(-6deg)}
  .glow{right:6%;top:7%;width:68%;height:64%}
  section{padding:100px 0}
  .section-head{max-width:800px;margin-bottom:44px}
  .feature-row,.feature-row.reverse{min-height:690px;gap:96px;margin:96px 0}
  .feature-row{grid-template-columns:1.02fr .98fr}
  .feature-row.reverse{grid-template-columns:.98fr 1.02fr}
  .feature-copy{max-width:570px}
  .feature-copy h3{font-size:3.3rem}
  .screen-card{position:relative;min-height:650px;display:flex;align-items:center;justify-content:center;perspective:1400px}
  .screen-card:before{content:"";position:absolute;width:76%;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle,rgba(216,177,46,.10),transparent 68%);filter:blur(12px)}
  .screen-card img{position:relative;z-index:1;width:300px;max-height:none;height:auto;object-fit:contain;border-radius:28px}
  .feature-row:nth-of-type(2) .screen-card img{transform:rotate(3deg) translateX(18px)}
  .feature-row:nth-of-type(3) .screen-card img{transform:rotate(-4deg) translateX(-14px)}
  .feature-row:nth-of-type(4) .screen-card img{transform:rotate(2.5deg) translateX(16px)}
  .feature-row:nth-of-type(5) .screen-card img{transform:rotate(-3deg) translateX(-12px)}
  .trip{grid-template-columns:.88fr 1.12fr;gap:92px}
  .trip>div:first-child{min-height:690px;display:flex;justify-content:center;align-items:center;position:relative}
  .trip>div:first-child:before{content:"";position:absolute;width:74%;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle,rgba(55,103,156,.16),transparent 70%);filter:blur(14px)}
  .trip img{width:330px;height:auto;object-fit:contain;transform:rotate(-3deg);position:relative;z-index:1}
  .gallery{grid-template-columns:repeat(3,1fr);gap:34px 28px;align-items:start;padding-top:10px}
  .gallery img{width:82%;height:auto;object-fit:contain;justify-self:center;border-radius:25px;transition:.25s ease}
  .gallery img:nth-child(1){transform:rotate(-2.5deg) translateY(28px)}
  .gallery img:nth-child(2){transform:rotate(2deg) translateY(-12px)}
  .gallery img:nth-child(3){transform:rotate(-1.5deg) translateY(42px)}
  .gallery img:nth-child(4){transform:rotate(2.5deg) translateY(-8px)}
  .gallery img:nth-child(5){transform:rotate(-2deg) translateY(34px)}
  .gallery img:nth-child(6){transform:rotate(1.5deg)}
  .gallery img:hover{transform:translateY(-8px) rotate(0deg) scale(1.02);box-shadow:0 36px 84px rgba(0,0,0,.46),0 0 0 1px rgba(255,255,255,.10);z-index:3}
  .cta{padding:58px 62px}
}
@media(min-width:1500px){
  .wrap{width:min(calc(100% - 140px),1320px)}
  .hero-grid{gap:110px}
  .phone{width:38%;right:14%}
  .phone.secondary{width:32%;left:10%}
  .feature-row,.feature-row.reverse{gap:112px}
  .screen-card img{width:320px}
  .trip img{width:350px}
  .gallery img{width:78%}
}
@media(max-width:900px){
  .navlinks>a:not(.btn){display:none}
  .hero{padding-top:58px}
  .hero-grid,.feature-row,.feature-row.reverse,.trip{grid-template-columns:1fr}
  .hero-copy{text-align:center}
  .hero-copy .eyebrow,.trip .eyebrow{justify-content:center}
  .hero p{margin-left:auto;margin-right:auto}
  .hero-actions{justify-content:center}
  .phone-wrap{min-height:600px;max-width:620px;width:100%;margin:auto}
  .feature-row.reverse .feature-copy,.feature-row.reverse .screen-card{order:initial}
  .feature-copy{text-align:center}
  .bullets{max-width:620px;margin:auto;text-align:left}
  .trip-copy{order:-1;text-align:center}
  .gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .wrap{width:min(calc(100% - 28px),var(--max))}
  h1{font-size:3.45rem}
  .phone-wrap{min-height:500px}
  .phone{width:58%;right:1%}
  .phone.secondary{width:49%;left:0;top:170px}
  .grid3,.gallery{grid-template-columns:1fr}
  .cta{display:block;text-align:center;padding:34px 24px}
  .cta-left{display:block}
  .cta-left img{margin:0 auto 18px}
  .cta>.btn{margin-top:22px;width:100%}
  .footer-in{display:block}
  .footer-links{margin-top:14px}
}

/* ---- Document pages (privacy, and any prose page that follows) ----
   These share the marketing page's tokens and nav/footer rather than
   carrying their own, so a visitor arriving from the footer link stays
   in the same design and the stylesheet is already cached. */
.doc{padding:64px 0 40px}
.doc-wrap{max-width:760px}
.doc-title{font-size:clamp(2.6rem,5.5vw,4.2rem);line-height:1;letter-spacing:-.05em;margin:20px 0 20px}
.doc-lede{font-size:1.15rem;color:var(--muted);margin:0 0 16px}
.doc-lede strong{color:var(--text);font-weight:800}
.doc-wrap h2{font-size:1.42rem;letter-spacing:-.02em;margin:46px 0 12px;color:#fff}
.doc-wrap p{color:#c3cddb;margin:0 0 16px}
.doc-wrap a:not(.brand):not(.btn){color:var(--gold2);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.doc-wrap a:not(.brand):not(.btn):hover{color:#fff}
.doc-callout{margin:30px 0 8px;padding:24px 26px;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(180deg,var(--panel),rgba(19,35,55,.35))}
.doc-callout b{display:block;color:var(--gold2);font-size:.77rem;font-weight:900;letter-spacing:.20em;text-transform:uppercase;margin-bottom:12px}
.doc-callout ul,.doc-list{margin:0;padding-left:0;list-style:none;display:grid;gap:10px}
.doc-callout li,.doc-list li{position:relative;padding-left:22px;color:#dde5ec}
.doc-callout li:before,.doc-list li:before{content:"›";position:absolute;left:0;top:-1px;color:var(--gold2);font-weight:900}
.doc-list{margin:0 0 16px}
.doc-list li{color:#c3cddb}
.doc-list b{color:var(--text);font-weight:800}
@media(max-width:600px){
  .doc{padding:44px 0 28px}
  .doc-callout{padding:20px}
}
/* Inert until there is a real App Store URL: same shape as .btn, but
   visibly not clickable rather than a link that 404s. */
.btn.disabled{background:transparent;border:1px dashed rgba(216,177,46,.45);color:var(--gold2);box-shadow:none;cursor:default;font-weight:800}
.btn.disabled:hover{transform:none;box-shadow:none}
