/* Shared styles for the inner pages (services, training, FAQ, Fort Lauderdale). Fonts come from fonts.css. */
:root{--mid:#0B0D12;--ink:#151923;--paper:#F4F1EA;--coral:#FF6A3D;--lagoon:#1ED6C3;--slate:#8B93A7}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--mid);color:#d9dce6;font:400 1.05rem/1.7 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
[hidden]{display:none!important}
a{color:inherit}
img{max-width:100%}
.pbg{position:fixed;inset:0;z-index:-1;background:linear-gradient(#0B0D12e8,#0B0D12f5 60%),url(/assets/miami-m.webp) center/cover no-repeat}
:focus-visible{outline:2px solid var(--lagoon);outline-offset:3px;border-radius:4px}
.skip{position:fixed;left:1rem;top:-4rem;z-index:200;background:#fff;color:#0B0D12;padding:.7rem 1rem;border-radius:10px;font-weight:600;text-decoration:none;transition:top .2s}
.skip:focus{top:1rem}

/* header + menu */
.nav{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem clamp(1rem,4vw,3rem);background:linear-gradient(#0B0D12f2,#0B0D12cc);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #ffffff10}
.logo{display:flex;align-items:center;gap:.55rem;text-decoration:none}
.logo .lm{height:30px;width:auto}
.logo .lt{font:600 .95rem Orbitron,"Space Grotesk",sans-serif;letter-spacing:.22em;color:#f4f6fa;white-space:nowrap}
.logo .lt i{font-style:normal;background:linear-gradient(90deg,#19c8e8,#ff7a3c);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav nav{display:flex;gap:1.5rem;align-items:center;font-size:.92rem}
.nav nav a:not(.btn){color:var(--slate);text-decoration:none}.nav nav a:not(.btn):hover,.nav nav a[aria-current]{color:#fff}
.btn{display:inline-block;background:var(--coral);color:var(--mid);font:600 1rem "Space Grotesk",sans-serif;padding:.85rem 1.7rem;border-radius:99px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -8px var(--coral)}
.btn.small{padding:.5rem 1.1rem;font-size:.9rem}
.btn.ghost{background:transparent;color:#fff;border:1px solid #ffffff44}
.btn.ghost:hover{box-shadow:none;border-color:#fff}
.menu-btn{display:none;width:44px;height:44px;border:1px solid #ffffff2e;background:#0B0D12aa;border-radius:50%;cursor:pointer;place-items:center;align-content:center;gap:5px;padding:0}
.menu-btn i{display:block;width:18px;height:2px;background:#fff;border-radius:2px;transition:transform .25s,opacity .2s}
.menu-btn[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] i:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mmenu{position:fixed;inset:0;z-index:55;background:#0B0D12f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:grid;place-items:center;overscroll-behavior:contain}
.mmenu nav{display:grid;gap:1.3rem;text-align:center;width:min(86vw,26rem)}
.mmenu nav a:not(.btn){font:600 clamp(1.6rem,7vw,2.3rem) "Space Grotesk",sans-serif;color:#fff;text-decoration:none}
.mmenu .btn{margin-top:1rem;white-space:normal}
html.menu-open,html.menu-open body{overflow:hidden}

/* layout */
main{display:block}
.wrap{width:100%;max-width:1100px;margin:0 auto;padding:0 clamp(1.2rem,5vw,3rem)}
.crumbs{font:500 .8rem "JetBrains Mono",monospace;letter-spacing:.08em;color:var(--slate);padding-top:2.2rem}
.crumbs a{text-decoration:none;color:var(--slate)}.crumbs a:hover{color:#fff}.crumbs span{margin:0 .5rem;opacity:.5}
.label{display:inline-flex;align-items:center;gap:.8rem;font:500 .95rem "JetBrains Mono",monospace;letter-spacing:.18em;text-transform:uppercase;color:#5ff5e4}
.label::before{content:"";width:2.2rem;height:2px;background:var(--coral);box-shadow:0 0 10px var(--coral)}
h1,h2,h3{font-family:"Space Grotesk",sans-serif;color:#fff;letter-spacing:-.02em;line-height:1.08;margin:0}
.hero{padding:clamp(2.4rem,7vw,5rem) 0 clamp(2rem,5vw,3.5rem)}
.hero h1{font-size:clamp(2.2rem,6.4vw,4.6rem);margin:1rem 0 1.2rem;max-width:18ch}
.hero .lead{font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.6;color:#e6e9f2;max-width:42rem;margin:0 0 1.8rem}
.cta-row{display:flex;flex-wrap:wrap;gap:.8rem}
.meta{margin-top:1.6rem;font:500 .78rem "JetBrains Mono",monospace;letter-spacing:.06em;color:var(--slate)}
section.sec{padding:clamp(2.2rem,5vw,3.6rem) 0;border-top:1px solid #ffffff12}
section.sec h2{font-size:clamp(1.7rem,3.8vw,2.6rem);margin-bottom:1rem}
section.sec p{max-width:46rem;margin:.6rem 0}
.flow{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;counter-reset:f}
.flow li{position:relative;background:#151923cc;border:1px solid #ffffff1a;border-radius:16px;padding:1.1rem 1rem 1.1rem;font:600 1rem/1.35 "Space Grotesk",sans-serif;color:#fff;counter-increment:f}
.flow li::before{content:counter(f);display:block;font:500 .75rem "JetBrains Mono",monospace;color:var(--coral);margin-bottom:.5rem}
.flow li small{display:block;margin-top:.4rem;font:400 .88rem/1.45 Inter,sans-serif;color:#a9b0c2}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem}
.cards.two{grid-template-columns:repeat(2,1fr)}
.card{display:block;background:#151923d9;border:1px solid #ffffff1a;border-radius:20px;padding:1.5rem;text-decoration:none;transition:border-color .2s,transform .2s}
a.card:hover{border-color:var(--lagoon);transform:translateY(-3px)}
.card h3{font-size:1.35rem;margin-bottom:.5rem}
.card p{margin:0;color:#b4bacb;font-size:.98rem}
.card .more{display:inline-block;margin-top:1rem;color:#5ff5e4;font-weight:600;font-size:.95rem}
.steps{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.9rem;counter-reset:s;max-width:46rem}
.steps li{position:relative;padding-left:3.6rem;counter-increment:s}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:.15rem;font:700 1.15rem "JetBrains Mono",monospace;color:var(--coral)}
.steps b{display:block;color:#fff;font:600 1.15rem "Space Grotesk",sans-serif}
.checks{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.6rem;max-width:46rem}
.checks li{position:relative;padding-left:1.8rem}
.checks li::before{content:"";position:absolute;left:0;top:.62em;width:.8rem;height:.8rem;border-radius:50%;background:linear-gradient(135deg,#19c8e8,#5ff5e4)}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.2rem}
.stat{background:#151923d9;border:1px solid #ffffff1a;border-radius:18px;padding:1.2rem 1.3rem}
.stat b{display:block;font:700 1.9rem "Space Grotesk",sans-serif;color:#5ff5e4}
.stat span{display:block;margin-top:.2rem;color:#e6e9f2;font-size:.98rem}
.stat small{display:block;margin-top:.5rem;font:400 .72rem "JetBrains Mono",monospace;color:var(--slate)}
.fine{font-size:.86rem;color:var(--slate)}
details{border-bottom:1px solid #ffffff1c;max-width:46rem}
summary{cursor:pointer;list-style:none;padding:1.1rem 2rem 1.1rem 0;font:600 1.15rem "Space Grotesk",sans-serif;color:#fff;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);color:var(--coral);font-size:1.5rem}
details[open] summary::after{content:"\2212"}
details p{margin:0 0 1.2rem}
.related a{color:#5ff5e4}
.band{margin:clamp(2rem,5vw,3.5rem) 0;padding:clamp(1.6rem,4vw,2.6rem);border-radius:28px;background:linear-gradient(120deg,#ff6a3d33,#8a2fff22 55%,#1ed6c333),#151923e6;border:1px solid #ffffff22;text-align:center}
.band h2{font-size:clamp(1.6rem,3.4vw,2.3rem);margin-bottom:.6rem}
.band p{margin:.4rem auto 1.4rem;max-width:34rem;color:#e6e9f2}
.band .cta-row{justify-content:center}

/* footer */
footer{margin-top:3rem;padding:3rem 0 2rem;border-top:1px solid #ffffff14;background:#080a0ee6;color:var(--slate);font-size:.95rem}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}
footer h4{font:500 .75rem "JetBrains Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:#d9dce6;margin:0 0 .8rem}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
footer a{color:var(--slate);text-decoration:none}footer a:hover{color:#fff}
.foot-contact{margin:.6rem 0 0}.foot-contact a{color:#d9dce6;border-bottom:1px solid #ffffff33}
.legal{margin-top:2rem;font-size:.82rem}

@media (max-width:860px){
  .nav nav{display:none}
  .menu-btn{display:grid}
  .flow{grid-template-columns:1fr 1fr}
  .cards,.cards.two,.stats{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
}
@media (max-width:420px){
  .logo .lt{font-size:.78rem;letter-spacing:.14em}
  .logo .lm{height:26px}
  .flow{grid-template-columns:1fr}
  .btn{width:100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.card{transition:none}}
