/* ============================================================
   MaNiFy Creative — shared site stylesheet
   Theme tokens auto-switch with prefers-color-scheme.
   ============================================================ */

:root{
  --bg:#fafafa; --bg-alt:#f0f0f2; --bg-card:#fff;
  --fg:#0a0a0d; --fg-mute:#6e6e76; --fg-faint:#a0a0a8;
  --line:#e6e6ea; --line-strong:#d0d0d6;
  --shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.06);
  --shadow-strong:0 8px 40px rgba(0,0,0,.10);
  --accent:#0a0a0d; --accent-fg:#fafafa;
  --thumb-bg:#f0f0f2;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0a0a0d; --bg-alt:#111114; --bg-card:#16161a;
    --fg:#f5f5f7; --fg-mute:#9c9ca6; --fg-faint:#5e5e68;
    --line:#222228; --line-strong:#2c2c34;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 40px rgba(0,0,0,.5);
    --shadow-strong:0 12px 60px rgba(0,0,0,.7);
    --accent:#f5f5f7; --accent-fg:#0a0a0d;
    --thumb-bg:#0d0d11;
  }
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--fg);
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Helvetica,Arial,sans-serif;
  font-feature-settings:'kern','liga';
  -webkit-font-smoothing:antialiased;
  font-size:17px;line-height:1.5;
}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font:inherit;cursor:pointer;background:none;border:none;color:inherit}

/* ===== NAV ===== */
nav.top{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--bg) 85%,transparent);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--line);
}
nav.top .row{
  max-width:1200px;margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;gap:32px;
}
nav.top .brand{font-weight:700;font-size:18px;letter-spacing:-.3px;color:var(--fg)}
nav.top .brand .dot{color:var(--fg-faint)}
nav.top ul{display:flex;gap:28px;list-style:none;margin:0 0 0 auto}
nav.top li a{font-size:14px;color:var(--fg-mute);transition:color .15s}
nav.top li a:hover{color:var(--fg)}
nav.top .cta{
  font-size:14px;padding:8px 16px;border-radius:980px;
  background:var(--accent);color:var(--accent-fg);font-weight:500;transition:opacity .15s;
}
nav.top .cta:hover{opacity:.85}
@media (max-width:720px){ nav.top ul{display:none} }

/* ===== BUTTONS ===== */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 28px;border-radius:980px;font-size:15px;font-weight:500;
  transition:all .15s;
}
.btn.primary{background:var(--accent);color:var(--accent-fg)}
.btn.primary:hover{opacity:.85}
.btn.ghost{color:var(--fg);border:1px solid var(--line-strong)}
.btn.ghost:hover{background:var(--bg-alt)}
.btn .arr{transition:transform .2s}
.btn:hover .arr{transform:translateX(3px)}

/* ===== PRODUCT-PAGE HERO ===== */
.phero{padding:60px 24px 40px;text-align:center}
.phero .crumb{
  font-size:12px;color:var(--fg-mute);letter-spacing:2px;text-transform:uppercase;
  margin-bottom:14px;font-weight:600;
}
.phero .crumb a{color:var(--fg-mute);transition:color .15s}
.phero .crumb a:hover{color:var(--fg)}
.phero h1{
  font-size:clamp(44px,7vw,76px);font-weight:700;letter-spacing:-2.5px;
  line-height:1.02;margin-bottom:18px;
}
.phero .tag{
  font-size:clamp(18px,2.2vw,22px);color:var(--fg-mute);
  max-width:640px;margin:0 auto 32px;line-height:1.4;
}
.phero .pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;border-radius:980px;border:1px solid var(--line-strong);
  font-size:12px;letter-spacing:1px;color:var(--fg-mute);
  text-transform:uppercase;font-weight:600;
}
.phero .pill::before{content:'';width:6px;height:6px;border-radius:50%;background:#00b86b}

/* ===== BIG PRODUCT SHOT ===== */
.shot{max-width:1100px;margin:30px auto 0;padding:0 24px}
.shot .frame{
  background:var(--bg-card);border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow-strong);overflow:hidden;
  aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;
  color:var(--fg-faint);font-size:12px;letter-spacing:2px;text-transform:uppercase;
}
.shot .frame img{width:100%;height:100%;object-fit:cover}
.shot .frame.tall{aspect-ratio:4/3}
.shot .frame.square{aspect-ratio:1/1;max-width:600px;margin:0 auto}

/* ===== FEATURES GRID ===== */
.features{max-width:1100px;margin:100px auto 0;padding:0 24px}
.features .head{margin-bottom:50px;text-align:center}
.features .eyebrow{
  font-size:12px;color:var(--fg-mute);letter-spacing:2px;text-transform:uppercase;
  font-weight:600;margin-bottom:14px;
}
.features h2{
  font-size:clamp(32px,5vw,48px);font-weight:700;letter-spacing:-1.2px;line-height:1.1;
}
.features .lede{font-size:17px;color:var(--fg-mute);max-width:600px;margin:14px auto 0;line-height:1.55}
.features .grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;
}
.feat{
  padding:32px 28px;background:var(--bg-card);border:1px solid var(--line);
  border-radius:16px;
}
.feat .ico{
  width:40px;height:40px;border-radius:10px;
  background:var(--bg-alt);display:flex;align-items:center;justify-content:center;
  color:var(--fg);margin-bottom:18px;
}
.feat h3{font-size:18px;font-weight:600;letter-spacing:-.3px;margin-bottom:8px;line-height:1.3}
.feat p{font-size:14.5px;color:var(--fg-mute);line-height:1.5}

/* ===== SPEC / WHO BLOCK ===== */
.spec{
  max-width:1100px;margin:100px auto;padding:0 24px;
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;
}
@media (max-width:840px){ .spec{grid-template-columns:1fr;gap:30px} }
.spec h3{
  font-size:13px;letter-spacing:2px;text-transform:uppercase;
  color:var(--fg-mute);font-weight:600;margin-bottom:20px;
}
.spec dl{display:grid;grid-template-columns:auto 1fr;gap:14px 24px;font-size:14.5px}
.spec dt{color:var(--fg-mute);font-weight:500}
.spec dd{color:var(--fg);font-weight:500}
.spec ul{list-style:none;padding:0;font-size:14.5px}
.spec ul li{padding:8px 0;border-top:1px solid var(--line);display:flex;gap:10px;align-items:flex-start}
.spec ul li:first-child{border-top:none}
.spec ul li::before{content:'✓';color:#00b86b;font-weight:700;font-size:13px;margin-top:1px;flex-shrink:0}

/* ===== PRICING CARD ===== */
.price{
  background:var(--bg-alt);padding:80px 24px;text-align:center;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.price .wrap{max-width:520px;margin:0 auto}
.price .eyebrow{
  font-size:12px;color:var(--fg-mute);letter-spacing:2px;text-transform:uppercase;
  font-weight:600;margin-bottom:14px;
}
.price h2{
  font-size:clamp(36px,5vw,48px);font-weight:700;letter-spacing:-1.5px;
  margin-bottom:14px;line-height:1.1;
}
.price .lede{font-size:17px;color:var(--fg-mute);margin-bottom:32px;line-height:1.5}
.price .card{
  background:var(--bg-card);border:1px solid var(--line);border-radius:16px;
  padding:36px 28px;text-align:left;box-shadow:var(--shadow);
}
.price .amount{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.price .amount .num{font-size:48px;font-weight:700;letter-spacing:-1.5px}
.price .amount .cur{font-size:18px;font-weight:500;color:var(--fg-mute)}
.price .what{font-size:13px;color:var(--fg-mute);margin-bottom:24px}
.price .what b{color:var(--fg);font-weight:600}
.price ul{list-style:none;margin:0 0 28px;padding:0}
.price ul li{
  font-size:14px;padding:8px 0;border-top:1px solid var(--line);
  display:flex;gap:10px;align-items:flex-start;
}
.price ul li:first-child{border-top:none}
.price ul li::before{content:'✓';color:#00b86b;font-weight:700;font-size:13px;margin-top:1px}
.price .btn-row{display:flex;gap:10px}
.price .btn.primary{flex:1;justify-content:center}

/* ===== FOOTER ===== */
footer{padding:60px 24px 40px;background:var(--bg-alt)}
footer .wrap{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;
}
@media (max-width:720px){ footer .wrap{grid-template-columns:1fr 1fr;gap:30px} }
footer h4{
  font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--fg-faint);margin-bottom:14px;
}
footer ul{list-style:none}
footer li{margin-bottom:8px}
footer li a{font-size:14px;color:var(--fg-mute);transition:color .15s}
footer li a:hover{color:var(--fg)}
footer .brand-col .brand{font-weight:700;font-size:20px;margin-bottom:12px;color:var(--fg)}
footer .brand-col p{font-size:13px;color:var(--fg-mute);line-height:1.5;max-width:300px}
footer .legal{
  max-width:1200px;margin:50px auto 0;padding-top:24px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;
  font-size:12px;color:var(--fg-faint);
}
footer .legal a{color:var(--fg-faint)}
footer .legal a:hover{color:var(--fg)}
