:root{
  --bg:#f5f8fa; --bg2:#ffffff; --card:#ffffff; --card2:#eef4f7;
  --text:#0f1b2d; --muted:#566577; --accent:#0ea5b7; --accent-rgb:14,165,183;
  --border:rgba(15,27,45,.10); --sans:'Space Grotesk',sans-serif; --serif:'Cormorant Garamond',serif;
  --max:1180px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(1.2rem,4vw,2.5rem)}
section{padding:clamp(4rem,9vw,7rem) 0;position:relative}
.eyebrow{font-size:.62rem;letter-spacing:.35em;text-transform:uppercase;color:var(--accent);font-weight:600}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.05;letter-spacing:-.01em;color:var(--text)}
h1{font-size:clamp(2.6rem,6vw,5rem);font-weight:400}
h2{font-size:clamp(2rem,4.2vw,3.4rem);margin-bottom:1rem;font-weight:400}
h2 em{font-style:italic;color:var(--accent)}
h1 em{font-style:italic;color:var(--accent)}
p{color:var(--muted)}
.lead{font-size:1.05rem;max-width:60ch}
.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent);color:#fff;
  padding:.95rem 1.8rem;border-radius:999px;font-weight:600;font-size:.78rem;letter-spacing:.08em;
  text-transform:uppercase;transition:transform .2s,box-shadow .2s;box-shadow:0 12px 30px rgba(var(--accent-rgb),.30)}
.btn:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(var(--accent-rgb),.42)}
.btn-ghost{background:none;border:1px solid var(--border);color:var(--text);box-shadow:none}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
/* nav */
#nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;
  padding:1.2rem clamp(1.2rem,4vw,2.5rem);transition:background .3s,padding .3s,box-shadow .3s}
#nav.scrolled{background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);
  box-shadow:0 6px 24px rgba(15,27,45,.06);padding:.7rem clamp(1.2rem,4vw,2.5rem)}
.nav-logo{font-family:var(--serif);font-size:1.35rem;letter-spacing:.06em;font-weight:500}
.nav-logo b{color:var(--accent)}
.nav-links{display:flex;gap:1.8rem}
.nav-links a{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.nav-links a:hover{color:var(--text)}
@media(max-width:820px){.nav-links{display:none}}
/* hero */
#hero{min-height:100vh;display:flex;align-items:center;padding-top:7rem;
  background:radial-gradient(1200px 600px at 80% 0%,rgba(var(--accent-rgb),.10),transparent 60%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}
.hero-title{margin:1.4rem 0}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.hero-media{border-radius:20px;overflow:hidden;border:1px solid var(--border);aspect-ratio:4/3;
  background:linear-gradient(135deg,rgba(var(--accent-rgb),.16),#ffffff);
  box-shadow:0 30px 70px rgba(15,27,45,.12)}
/* grids/cards */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
@media(max-width:820px){.grid-3,.grid-2{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.8rem;
  box-shadow:0 4px 18px rgba(15,27,45,.05);transition:transform .35s,box-shadow .35s,border-color .3s}
.card:hover{transform:translateY(-6px);border-color:rgba(var(--accent-rgb),.5);box-shadow:0 22px 50px rgba(15,27,45,.12)}
.card h3{font-size:1.5rem;color:var(--text);margin-bottom:.6rem}
.card p{color:var(--muted)}
.card .ico{width:42px;height:42px;color:var(--accent);margin-bottom:1rem}
.section-head{max-width:720px;margin:0 auto clamp(2.5rem,5vw,4rem);text-align:center}
/* pricing */
.price{display:flex;flex-direction:column;gap:.4rem}
.price .amt{font-family:var(--serif);font-size:2.6rem;color:var(--text);font-weight:500}
.price .per{font-size:.8rem;color:var(--muted)}
.price.pop{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 24px 55px rgba(var(--accent-rgb),.16)}
.badge{display:inline-block;background:rgba(var(--accent-rgb),.12);color:var(--accent);font-size:.6rem;
  letter-spacing:.2em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px;margin-bottom:.8rem;font-weight:600}
ul.feat{list-style:none;margin:1.2rem 0;display:flex;flex-direction:column;gap:.6rem}
ul.feat li{font-size:.9rem;color:var(--muted);padding-left:1.5rem;position:relative}
ul.feat li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
/* faq */
.faq-item{border-bottom:1px solid var(--border)}
.faq-q{width:100%;text-align:left;background:none;border:none;color:var(--text);font-family:var(--sans);
  font-size:1.05rem;padding:1.3rem 0;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;font-weight:500}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;color:var(--muted)}
.faq-item.open .faq-a{max-height:340px}
.faq-item.open .faq-q .plus{transform:rotate(45deg)}
.faq-q .plus{color:var(--accent);transition:transform .3s}
/* form */
#demo{background:linear-gradient(180deg,var(--bg),#eaf2f5)}
.form-card{max-width:560px;margin:0 auto;background:var(--card);border:1px solid var(--border);border-radius:20px;
  padding:clamp(1.6rem,4vw,2.6rem);box-shadow:0 20px 55px rgba(15,27,45,.10)}
.field{margin-bottom:1rem}
.field label{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}
.field input,.field textarea{width:100%;background:#fbfdfe;border:1px solid var(--border);border-radius:10px;
  padding:.85rem 1rem;color:var(--text);font-family:var(--sans);font-size:.95rem}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.12)}
.hp{position:absolute;left:-9999px;opacity:0}
.form-msg{margin-top:1rem;font-size:.9rem}
.form-msg.ok{color:#0a8f3c}.form-msg.err{color:#d64545}
/* reveal */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
footer{border-top:1px solid var(--border);padding:3rem 0;color:var(--muted);font-size:.85rem;background:var(--bg2)}
footer a{color:var(--accent)}
