/* DostMilo — shared marketing styles (glossy dark) */
:root{
  --bg:#07130E; --ink:#EAF4EE; --muted:#9AB0A6;
  --glass:rgba(255,255,255,.055); --glass2:rgba(255,255,255,.09); --stroke:rgba(255,255,255,.11); --stroke2:rgba(255,255,255,.17);
  --emerald:#18B98A; --teal:#15C6AD; --coral:#FF7C67; --gold:#F4B740; --violet:#9A8CFF;
  --green-tint:rgba(24,185,138,.16); --coral-tint:rgba(255,124,103,.16); --gold-tint:rgba(244,183,64,.16);
  --r:16px; --r-lg:22px; --r-xl:30px;
  --card-sh:inset 0 1px 0 rgba(255,255,255,.12), 0 26px 60px -26px rgba(0,0,0,.75);
}
*{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;} html,body{margin:0;}
body{font-family:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; color:var(--ink); line-height:1.55;
  background:var(--bg); -webkit-font-smoothing:antialiased; overflow-x:hidden;}
h1,h2,h3,h4{font-family:"Bricolage Grotesque",sans-serif; margin:0; line-height:1.06; letter-spacing:-.025em; color:#fff;}
p{margin:0 0 14px;} img{max-width:100%; display:block;}
a{color:var(--teal); text-decoration:none;}
.wrap{max-width:1120px; margin:0 auto; padding:0 22px;}
.grad{background:linear-gradient(100deg,#FF7C67 8%,#F4B740 70%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;}
.gradT{background:linear-gradient(100deg,#15C6AD,#18B98A); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;}

/* aurora bg */
.aurora{position:fixed; inset:0; z-index:-2; overflow:hidden; background:radial-gradient(120% 90% at 100% 0%,#0d2b20 0,transparent 55%),radial-gradient(100% 80% at 0% 100%,#0a241d 0,transparent 55%),var(--bg);}
.aurora b{position:absolute; border-radius:50%; filter:blur(80px); opacity:.5;}
.aurora .b1{width:520px;height:520px;left:-140px;top:-140px;background:radial-gradient(circle,#18B98A,transparent 65%);animation:fl 20s ease-in-out infinite;}
.aurora .b2{width:480px;height:480px;right:-120px;top:-40px;background:radial-gradient(circle,#F4B740,transparent 65%);opacity:.35;animation:fl 26s ease-in-out infinite reverse;}
.aurora .b3{width:560px;height:560px;right:6%;bottom:-200px;background:radial-gradient(circle,#FF7C67,transparent 65%);opacity:.4;animation:fl 23s ease-in-out infinite;}
@keyframes fl{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,50px)}}

/* nav */
.nav{position:sticky; top:0; z-index:50; background:rgba(7,19,14,.72); backdrop-filter:blur(16px); border-bottom:1px solid var(--stroke);}
.nav .inner{max-width:1120px; margin:0 auto; padding:12px 22px; display:flex; align-items:center; gap:20px;}
.brand{display:flex; align-items:center; gap:9px; font-family:"Bricolage Grotesque"; font-weight:800; font-size:21px; letter-spacing:-.03em; color:#fff;}
.brand .mark{width:31px;height:31px;border-radius:10px;background:linear-gradient(135deg,#18B98A,#0d5f47);display:grid;place-items:center;box-shadow:0 4px 16px rgba(24,185,138,.5),inset 0 1px 0 rgba(255,255,255,.3);}
.navlinks{display:flex; gap:22px; margin-left:8px;}
.navlinks a{color:var(--muted); font-weight:600; font-size:14.5px;} .navlinks a:hover,.navlinks a.on{color:#fff;}
.nav .cta{margin-left:auto;}
.menu-btn{display:none; margin-left:auto; background:var(--glass); border:1px solid var(--stroke); border-radius:10px; padding:9px 11px; cursor:pointer;}
.menu-btn span{display:block; width:18px; height:2px; background:#fff; margin:3px 0; border-radius:2px;}

/* buttons */
.btn{font-family:inherit; cursor:pointer; border:0; border-radius:100px; font-size:15px; font-weight:700; padding:12px 22px; display:inline-block; text-align:center;
  background:linear-gradient(100deg,#FF7C67,#F4B740); color:#2a1206; box-shadow:0 12px 44px -8px rgba(255,124,103,.55), inset 0 1px 0 rgba(255,255,255,.45); transition:transform .06s, filter .2s;}
.btn:hover{filter:brightness(1.06);} .btn:active{transform:translateY(1px);}
.btn.teal{background:linear-gradient(100deg,#15C6AD,#18B98A); color:#04231b; box-shadow:0 12px 44px -8px rgba(21,198,173,.5), inset 0 1px 0 rgba(255,255,255,.4);}
.btn.ghost{background:var(--glass); border:1px solid var(--stroke2); color:#fff; box-shadow:none;} .btn.ghost:hover{border-color:var(--teal);}
.btn.lg{padding:16px 34px; font-size:17px;} .btn.sm{padding:9px 16px; font-size:14px;}

/* glass */
.glass{background:var(--glass); border:1px solid var(--stroke); backdrop-filter:blur(18px) saturate(140%); box-shadow:var(--card-sh);}
.tag{display:inline-flex; align-items:center; gap:9px; padding:8px 14px; border-radius:100px; font-size:13px; font-weight:700; color:#d6efe6;}
.tag .dot{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 12px 2px rgba(255,124,103,.8);}

/* home hero */
.hero{position:relative; padding:56px 0 52px;}
.heroGrid{display:grid; grid-template-columns:1.02fr .98fr; gap:44px; align-items:center;}
.hero h1{font-size:clamp(40px,6.4vw,70px); font-weight:800; margin:22px 0 0; max-width:14ch; text-shadow:0 2px 40px rgba(0,0,0,.4);}
.hero .lead{font-size:clamp(17px,2.2vw,20px); color:var(--muted); margin:22px 0 0; max-width:44ch;}
.heroCtas{display:flex; gap:13px; margin-top:30px; flex-wrap:wrap;}
.heroImg{position:relative; border-radius:26px; overflow:hidden; box-shadow:0 40px 90px -30px rgba(0,0,0,.85), 0 0 0 1px var(--stroke); aspect-ratio:4/5;}
.heroImg img{width:100%; height:100%; object-fit:cover;}
.heroImg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(7,19,14,.55));}
.heroImg .float{position:absolute; left:16px; right:16px; bottom:16px; display:flex; gap:10px;}
.chipf{background:rgba(7,19,14,.6); backdrop-filter:blur(8px); border:1px solid var(--stroke2); border-radius:14px; padding:9px 12px; font-size:12.5px; font-weight:700; display:flex; align-items:center; gap:7px;}
.trustrow{display:flex; gap:12px; margin-top:30px; flex-wrap:wrap;}
.tpill{display:flex; align-items:center; gap:9px; padding:9px 14px; border-radius:14px; font-size:13.5px; font-weight:600; color:#dfeee8;}
.tpill .ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex:none;}
.ic.g{background:var(--green-tint);} .ic.c{background:var(--coral-tint);} .ic.a{background:var(--gold-tint);}

/* sections */
section.blk{padding:60px 0;}
.kicker{font-weight:700; font-size:14px; margin-bottom:12px;} .kicker.c{color:#FF9683;} .kicker.t{color:#5fe0c6;}
.h2{font-size:clamp(28px,4.6vw,44px); font-weight:800; max-width:18ch;}
.subh{color:var(--muted); font-size:17px; margin-top:12px; max-width:56ch;}

/* feature grid (clickable service cards with image) */
.fgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:36px;}
.fcard{border-radius:var(--r-lg); overflow:hidden; position:relative; display:block; color:#fff; min-height:280px; border:1px solid var(--stroke); box-shadow:var(--card-sh);}
.fcard img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.fcard:hover img{transform:scale(1.06);}
.fcard::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,19,14,.15) 30%,rgba(7,19,14,.92));}
.fcard .body{position:absolute; left:0; right:0; bottom:0; padding:20px; z-index:1;}
.fcard .body h3{font-size:22px; font-weight:800; margin-bottom:5px;}
.fcard .body p{font-size:14px; color:#cfe0d8; margin:0;}
.fcard .go{display:inline-flex; align-items:center; gap:6px; margin-top:12px; color:#7ff0cf; font-weight:700; font-size:14px;}

/* steps */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:36px;}
.step{border-radius:var(--r-lg); padding:28px;}
.step .n{font-family:"Bricolage Grotesque"; font-weight:800; font-size:17px; color:#04231b; width:40px;height:40px;border-radius:13px; display:grid; place-items:center; margin-bottom:16px; box-shadow:inset 0 1px 0 rgba(255,255,255,.4);}
.step:nth-child(1) .n{background:linear-gradient(135deg,#15C6AD,#18B98A);} .step:nth-child(2) .n{background:linear-gradient(135deg,#FF8E6E,#E0483A);color:#fff;} .step:nth-child(3) .n{background:linear-gradient(135deg,#F4B740,#D67E12);}
.step h4{font-size:20px; font-weight:800; margin-bottom:7px;} .step p{color:var(--muted); font-size:14.5px; margin:0;}

/* safety band */
.safety{border-radius:var(--r-xl); padding:48px 40px; position:relative; overflow:hidden; background:linear-gradient(150deg,rgba(24,185,138,.14),rgba(255,124,103,.08)); border:1px solid var(--stroke);}
.safety::after{content:""; position:absolute; right:-80px; top:-80px; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle,rgba(255,124,103,.35),transparent 62%); filter:blur(30px);}
.safety h2{font-size:clamp(26px,3.8vw,38px); font-weight:800; max-width:18ch;}
.safety .grid{position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:34px;}
.safety .item h4{font-size:18px; font-weight:800; display:flex; align-items:center; gap:11px; margin-bottom:7px;}
.safety .item p{margin:0; color:#c3d6cd; font-size:14.5px;}
.sic{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex:none;}
.sic.g{background:var(--green-tint);} .sic.c{background:var(--coral-tint);} .sic.a{background:var(--gold-tint);}

/* feature-page hero */
.phero{position:relative; min-height:52vh; display:flex; align-items:flex-end; overflow:hidden;}
.phero img.bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.phero::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,19,14,.55) 0%,rgba(7,19,14,.35) 40%,rgba(7,19,14,.95));}
.phero .inner{position:relative; z-index:1; padding:46px 0 40px;}
.phero h1{font-size:clamp(32px,5.4vw,56px); font-weight:800; max-width:16ch;}
.phero p{color:#d6e6de; font-size:clamp(16px,2.2vw,19px); max-width:46ch; margin-top:14px;}
.crumb{color:var(--muted); font-size:13.5px; margin-bottom:16px;} .crumb a{color:var(--muted);} .crumb a:hover{color:#fff;}

/* content + image split */
.split{display:grid; grid-template-columns:1.05fr .95fr; gap:36px; align-items:center; margin-top:20px;}
.split.rev .txt{order:2;}
.split .shot{border-radius:20px; overflow:hidden; box-shadow:var(--card-sh); aspect-ratio:4/3;}
.split .shot img{width:100%; height:100%; object-fit:cover;}
.split h3{font-size:clamp(22px,3vw,30px); font-weight:800; margin-bottom:10px;}
.split p{color:var(--muted); font-size:16px;}
.ticks{list-style:none; padding:0; margin:14px 0 0;} .ticks li{display:flex; gap:10px; margin:9px 0; font-size:15px; color:var(--ink);}
.ticks li::before{content:"✓"; color:#5fe0c6; font-weight:800; flex:none;}

/* image gallery */
.gal{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:34px;}
.gal .g{border-radius:16px; overflow:hidden; aspect-ratio:1/1; box-shadow:var(--card-sh);} .gal .g img{width:100%; height:100%; object-fit:cover; transition:transform .5s;} .gal .g:hover img{transform:scale(1.07);}

/* related */
.rel{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:30px;}
.relcard{border-radius:16px; padding:20px; display:block;}
.relcard h4{font-size:17px; font-weight:800; margin-bottom:5px; color:#fff;} .relcard p{color:var(--muted); font-size:13.5px; margin:0;}
.relcard .go{color:#7ff0cf; font-weight:700; font-size:13.5px; margin-top:10px; display:inline-block;}

/* final cta */
.final{text-align:center; padding:72px 0 40px;}
.final h2{font-size:clamp(30px,5vw,50px); font-weight:800; max-width:15ch; margin:0 auto;}
.final p{color:var(--muted); font-size:18px; margin:18px auto 28px; max-width:44ch;}

/* footer */
.foot{border-top:1px solid var(--stroke); padding:44px 0 30px; margin-top:20px;}
.footGrid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:24px;}
.foot h5{font-size:14px; font-weight:800; color:#fff; margin:0 0 12px;}
.foot a{display:block; color:var(--muted); font-size:14px; margin:7px 0;} .foot a:hover{color:#fff;}
.foot .bland{color:var(--muted); font-size:13.5px; margin-top:14px; max-width:34ch;}
.footbar{border-top:1px solid var(--stroke); margin-top:28px; padding-top:18px; color:var(--muted); font-size:13px; display:flex; flex-wrap:wrap; gap:10px;}
.kw{color:#4a5c53; font-size:11.5px; margin-top:10px; line-height:1.6;}

@media(max-width:900px){
  .navlinks{display:none;} .menu-btn{display:block;}
  .navlinks.open{display:flex; position:absolute; top:58px; left:0; right:0; flex-direction:column; gap:0; background:rgba(9,26,20,.98); border-bottom:1px solid var(--stroke); padding:8px 22px 16px;}
  .navlinks.open a{padding:11px 0; border-bottom:1px solid var(--stroke);}
  .heroGrid,.split{grid-template-columns:1fr; gap:26px;} .heroImg{aspect-ratio:5/4;} .heroImg .float{display:none;}
  .split.rev .txt{order:0;}
  .fgrid,.steps,.safety .grid,.gal,.rel{grid-template-columns:1fr 1fr;} .footGrid{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){ .fgrid,.steps,.safety .grid,.gal,.rel,.footGrid{grid-template-columns:1fr;} .safety{padding:32px 22px;} }
@media(prefers-reduced-motion:reduce){ .aurora b{animation:none;} html{scroll-behavior:auto;} *{transition:none !important;} }

/* legal / policy pages */
.legal{max-width:820px; margin:0 auto; padding:40px 0 24px;}
.legal h1{font-size:clamp(28px,5vw,42px); font-weight:800; margin-bottom:6px;}
.legal .updated{color:var(--muted); font-size:13px; margin-bottom:4px;}
.legal .counsel{background:var(--gold-tint); border:1px solid rgba(244,183,64,.4); border-radius:12px; padding:12px 15px; font-size:13.5px; color:#ffd27a; margin:18px 0; font-weight:600;}
.legal h2{font-size:22px; font-weight:800; margin:32px 0 10px; color:#fff;}
.legal h3{font-size:16.5px; font-weight:700; margin:18px 0 6px; color:#eaf4ee;}
.legal p,.legal li{color:#c3d6cd; font-size:15.5px; line-height:1.72;}
.legal ul{padding-left:20px; margin:8px 0;} .legal li{margin:6px 0;}
.legal .box{background:var(--glass); border:1px solid var(--stroke); border-radius:14px; padding:16px 18px; margin:16px 0;}
.legal .box p:last-child{margin-bottom:0;}
.legal table{width:100%; border-collapse:collapse; margin:14px 0; font-size:14px;}
.legal th,.legal td{border:1px solid var(--stroke); padding:9px 12px; text-align:left; vertical-align:top;}
.legal th{color:#fff; background:rgba(255,255,255,.03); font-weight:700;}
.legal .footbar a{color:var(--muted);} .legal .footbar a:hover{color:#fff;}

/* pricing plans */
.plans{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:34px;}
.plan{border-radius:var(--r-lg); padding:26px; background:var(--glass); border:1px solid var(--stroke); box-shadow:var(--card-sh); position:relative;}
.plan.feat{border-color:var(--teal); background:linear-gradient(160deg,rgba(21,198,173,.13),var(--glass));}
.plan .ptag{position:absolute; top:-11px; left:26px; background:linear-gradient(100deg,#15C6AD,#18B98A); color:#04231b; font-size:11.5px; font-weight:800; padding:4px 11px; border-radius:100px;}
.plan .pname{font-weight:800; font-size:18px; color:#fff;}
.plan .price{font-family:"Bricolage Grotesque"; font-weight:800; font-size:34px; color:#fff; margin:10px 0 2px;}
.plan .price small{font-size:14px; color:var(--muted); font-weight:600;}
.plan .pdesc{color:var(--muted); font-size:13.5px; margin-top:4px;}
.plan ul{list-style:none; padding:0; margin:16px 0 0;} .plan li{display:flex; gap:9px; margin:9px 0; font-size:14.5px; color:#cfe0d8;} .plan li::before{content:"✓"; color:#5fe0c6; font-weight:800; flex:none;}
.plan .btn{margin-top:20px; width:100%; text-align:center;}
.miniplans{display:flex; flex-wrap:wrap; gap:10px; margin-top:16px;}
.mp{background:var(--glass); border:1px solid var(--stroke); border-radius:14px; padding:12px 16px; font-size:14px;}
.mp b{color:#fff;}
@media(max-width:820px){ .plans{grid-template-columns:1fr;} }
