:root{
  --teal:#00BDD6;--teal-deep:#0096AD;--teal-dark:#006B80;--gold:#FFC107;--gold-deep:#F5A623;--navy:#1B2A78;--orange:#F07820;
  --bg:#FFFFFF;--fg:#17203A;--muted:#5B657F;--line:#DCE6EA;--soft:#EAF8FB;--soft-gold:#FFF6DB;
  --display:"Nunito","Avenir Next","Segoe UI",sans-serif;--body:"Figtree","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--teal-deep)}
.wrap{max-width:1080px;margin:0 auto;padding-inline:20px}
h1,h2,h3{font-family:var(--display);font-weight:900;line-height:1.1;margin:0;text-wrap:balance}
.eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--teal-deep)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--display);font-weight:800;font-size:16px;padding:14px 26px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;transition:transform .12s,box-shadow .12s,background .12s}
.btn-gold{background:var(--gold);color:var(--navy);box-shadow:0 6px 18px rgba(255,193,7,.35)}
.btn-gold:hover{background:#FFCE3A;transform:translateY(-1px)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:#243699;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}
.btn-ghost:hover{background:rgba(255,255,255,.12)}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* header */
.site-head{background:var(--teal);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 12px rgba(0,0,0,.12)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}
.site-head img{height:40px;width:auto}
.site-head nav{display:flex;gap:6px;flex-wrap:wrap}
.site-head nav a{color:#fff;text-decoration:none;font-family:var(--display);font-weight:800;font-size:15px;padding:8px 12px;border-radius:999px}
.site-head nav a:hover{background:rgba(255,255,255,.16)}
.site-head nav a.cta{background:var(--gold);color:var(--navy)}

/* hero */
.hero{background:var(--teal-deep);color:#fff;position:relative;overflow:hidden}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.95}
.hero .shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,107,128,.92) 0%,rgba(0,150,173,.75) 45%,rgba(0,150,173,.15) 100%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:center;padding-block:64px;min-height:520px}
.hero h1{font-size:clamp(34px,5.6vw,66px);color:#fff}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero .sub{font-size:clamp(17px,2vw,21px);max-width:46ch;margin:16px 0 26px;opacity:.95}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-card{background:#fff;color:var(--fg);border-radius:20px;padding:28px;box-shadow:0 24px 60px rgba(0,40,60,.35);justify-self:end;width:min(100%,380px);border-top:6px solid var(--gold)}
.hero-card .pill{display:inline-block;background:var(--gold);color:var(--navy);font-family:var(--display);font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.hero-card .mins{font-family:var(--display);font-weight:900;font-size:88px;line-height:1;color:var(--navy);margin-top:10px}
.hero-card .mins small{font-size:22px;color:var(--muted);margin-left:6px}
.hero-card .price{font-family:var(--display);font-weight:900;font-size:40px;color:var(--orange);line-height:1}
.hero-card ul{list-style:none;padding:0;margin:14px 0 20px;display:grid;gap:6px;color:var(--muted);font-size:15px}
.hero-card li::before{content:"✓";color:var(--teal-deep);font-weight:900;margin-right:8px}
.hero-card form{margin:0}
.hero-card .btn{width:100%}

/* sections */
section{padding-block:64px}
.sec-head{display:grid;gap:8px;margin-bottom:28px;max-width:60ch}
.sec-head h2{font-size:clamp(26px,3.4vw,38px);color:var(--navy)}
.sec-head p{margin:0;color:var(--muted)}
.packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.pack{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;gap:6px;position:relative;transition:transform .15s,box-shadow .15s}
.pack:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,60,80,.12)}
.pack.pop{border-color:var(--gold);box-shadow:0 0 0 4px var(--soft-gold)}
.pack .badge{position:absolute;top:-12px;left:18px;background:var(--gold);color:var(--navy);font-family:var(--display);font-weight:900;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.pack .mins{font-family:var(--display);font-weight:900;font-size:52px;line-height:1;color:var(--navy)}
.pack .mins small{font-size:16px;color:var(--muted);margin-left:4px}
.pack .price{font-family:var(--display);font-weight:800;font-size:26px;color:var(--orange)}
.pack .meta{font-size:13.5px;color:var(--muted)}
.pack form{margin-top:10px}
.pack .btn{width:100%;padding:12px 18px;font-size:15px}
.how{background:var(--soft)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.step{display:grid;gap:8px}
.step .n{width:44px;height:44px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:900;font-size:20px}
.step h3{font-size:19px;color:var(--navy)}
.step p{margin:0;color:var(--muted)}
.salons{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.salon{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:grid}
.salon img{aspect-ratio:16/9;object-fit:cover;width:100%}
.salon .body{padding:20px;display:grid;gap:8px}
.salon h3{font-size:22px;color:var(--navy)}
.salon .addr{color:var(--fg)}
.salon .meta{color:var(--muted);font-size:14.5px;white-space:pre-line}
.salon .links{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.salon .links a{font-weight:600;text-decoration:none}
.alert{background:var(--soft-gold);border:1px solid #F3D98A;border-radius:12px;padding:12px 16px;margin:16px 0 0;font-size:15px}
.alert.err{background:#FDECEC;border-color:#F3B4B4}

/* footer */
.site-foot{background:var(--navy);color:#fff;padding-block:40px;font-size:14.5px}
.site-foot .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.site-foot img{height:34px;width:auto}
.site-foot a{color:#fff;opacity:.85;text-decoration:none}
.site-foot a:hover{opacity:1}

/* success */
.ticket{max-width:560px;margin:48px auto;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 20px 50px rgba(0,60,80,.12)}
.ticket .top{background:var(--teal);color:#fff;padding:22px 26px}
.ticket .top h1{font-size:26px}
.ticket .ref{font-family:var(--display);font-weight:900;font-size:40px;letter-spacing:.06em;color:var(--navy);margin:8px 0}
.ticket .body{padding:26px;display:grid;gap:14px}
.ticket dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;margin:0}
.ticket dt{color:var(--muted);font-size:14px}
.ticket dd{margin:0;font-weight:600}

@media (max-width:760px){
  .hero .wrap{grid-template-columns:1fr;padding-block:44px;min-height:0}
  .hero-card{justify-self:stretch;width:100%}
  .hero .shade{background:linear-gradient(180deg,rgba(0,107,128,.9),rgba(0,150,173,.85))}
  .site-head nav a:not(.cta){display:none}
  section{padding-block:48px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}
