/* =========================================================================
   FORMULA7 — Commodity verticals (gold-first)
   Extends home-v4 tokens; same art direction, product-level density.
   ========================================================================= */

/* Hero with photography */
.vhero{position:relative;min-height:clamp(420px,58vh,620px);display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--line-d)}
.vhero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.03)}
.vhero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,11,17,.55) 0%,rgba(8,11,17,.72) 45%,var(--ink) 100%)}
.vhero-in{position:relative;z-index:2;width:100%;padding:56px 0 46px}
.vhero h1{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5.4vw,72px);line-height:1.02;letter-spacing:-.02em;margin:16px 0 18px;max-width:20ch}
.vhero .lead{max-width:56ch;color:#C3CDD8}
.vhero .credit{position:absolute;right:20px;bottom:12px;z-index:3;font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:rgba(255,255,255,.38);text-decoration:none}
.vhero .credit:hover{color:rgba(255,255,255,.7)}

/* Breadcrumb */
.crumb{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#7B8794;padding:18px 0 0}
.crumb a{color:#9AA7B4;text-decoration:none}
.crumb a:hover{color:var(--gold-2)}
.crumb span{color:var(--gold)}

/* Status key */
.key{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 0}
.key span{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--line-d);border-radius:3px;color:#93A0AE}
.key b{color:var(--gold-2);font-weight:500}
.key .live{border-color:rgba(58,160,120,.5);color:#7ED3B0}
.key .sim{border-color:rgba(200,120,80,.45);color:#E0A184}

/* Product grid */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.pcard{display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));border:1px solid var(--line-d);border-radius:6px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .22s var(--v3-ease,cubic-bezier(.22,.61,.36,1)),border-color .22s,box-shadow .22s}
.pcard:hover{transform:translateY(-3px);border-color:rgba(201,162,39,.5);box-shadow:0 30px 60px -30px rgba(0,0,0,.85)}
.pcard .ph{position:relative;aspect-ratio:16/10;overflow:hidden;background:#0B1520}
.pcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.22,.61,.36,1);filter:saturate(.92)}
.pcard:hover .ph img{transform:scale(1.04)}
.pcard .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,11,17,0) 45%,rgba(8,11,17,.55) 100%)}
.pcard .tag{position:absolute;left:12px;top:12px;z-index:2;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:5px 8px;border-radius:2px;background:rgba(8,11,17,.72);border:1px solid var(--line-d);color:#B9C5D1;backdrop-filter:blur(6px)}
.pcard .body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.pcard h3{font-family:var(--serif);font-weight:400;font-size:22px;margin:0;letter-spacing:-.01em;color:#fff}
.pcard .form{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-2)}
.pcard p{margin:0;font-size:13px;line-height:1.55;color:#9EACBA}
.pcard .more{margin-top:auto;padding-top:12px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#8FA3B3}
.pcard:hover .more{color:var(--gold-2)}

/* Detail page */
.detail{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;padding:64px 0 84px}
.detail h1{font-family:var(--serif);font-weight:300;font-size:clamp(34px,4.4vw,58px);line-height:1.03;letter-spacing:-.02em;margin:10px 0 14px}
.detail .form{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);margin-bottom:18px}
.detail .summary{font-size:16px;line-height:1.65;color:#AEB9C6;max-width:54ch}
.detail figure{margin:0;border:1px solid var(--line-d);border-radius:6px;overflow:hidden;background:#0B1520}
.detail figure img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.detail figcaption{font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:#6F7A87;padding:9px 12px;border-top:1px solid var(--line-d)}

/* Spec table */
.specs{margin-top:38px;border-top:1px solid var(--line-d)}
.specs div{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:20px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.specs dt{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7F8B98;margin:0}
.specs dd{margin:0;font-size:14px;color:#DDE5EC}

/* Calculator */
.calc{margin-top:34px;border:1px solid var(--line-d);border-radius:6px;padding:26px;background:linear-gradient(180deg,rgba(201,162,39,.05),rgba(255,255,255,.012))}
.calc h2{font-family:var(--serif);font-weight:400;font-size:26px;margin:0 0 6px}
.calc .hint{font-size:13px;color:#98A5B2;margin:0 0 20px}
.calc .row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.calc label{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:#8B97A4}
.calc input,.calc select{background:rgba(255,255,255,.04);border:1px solid var(--line-d);border-radius:3px;padding:10px 12px;color:#fff;font-size:14px;font-family:var(--sans)}
.calc input:focus,.calc select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.18)}
.calc .out{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line-d)}
.calc .out div{background:rgba(0,0,0,.25);border:1px solid var(--line-d);border-radius:4px;padding:14px}
.calc .out b{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#7F8B98;font-weight:500;margin-bottom:6px}
.calc .out strong{font-family:var(--serif);font-weight:400;font-size:24px;color:#fff;letter-spacing:-.01em}
.calc .warn{margin:16px 0 0;font-size:11.5px;line-height:1.55;color:#B08A5A;border-left:2px solid rgba(201,162,39,.5);padding-left:12px}

/* Workflow */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-d);border-left:1px solid var(--line-d);margin-top:36px}
.flow div{padding:22px 20px;border-right:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.flow b{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;color:var(--gold);margin-bottom:10px}
.flow h4{margin:0 0 8px;font-size:15px;color:#fff;font-weight:600}
.flow p{margin:0;font-size:12.5px;line-height:1.55;color:#93A0AE}

/* CTA strip */
.strip{border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d);background:#0A0E15;padding:56px 0}
.strip .wrap-v4{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.strip h2{font-family:var(--serif);font-weight:300;font-size:clamp(24px,3vw,38px);margin:0;letter-spacing:-.02em}
.strip p{margin:8px 0 0;color:#98A5B2;font-size:14px}

/* Responsive */
@media (max-width:1080px){
  .pgrid{grid-template-columns:repeat(2,1fr)}
  .detail{grid-template-columns:1fr;gap:34px;padding:40px 0 64px}
  .flow{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
  .pgrid{grid-template-columns:1fr}
  .calc .row,.calc .out{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr}
  .specs div{grid-template-columns:1fr;gap:4px}
}

/* Typographic product tile — used where no accurate photograph exists */
.pcard .ph.tile{display:flex;align-items:center;justify-content:center;background:
  radial-gradient(120% 120% at 30% 20%,rgba(201,162,39,.16),transparent 55%),
  radial-gradient(100% 100% at 80% 90%,rgba(15,92,78,.35),transparent 60%),
  linear-gradient(160deg,#0B1520,#080B11)}
.pcard .ph.tile::after{display:none}
.pcard .ph.tile .glyph{font-family:var(--serif);font-weight:300;font-size:clamp(44px,4.4vw,62px);color:rgba(244,241,233,.9);letter-spacing:-.03em;line-height:1}
.pcard .ph.tile .cap{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#8B97A4}

@media (max-width:760px){.vhero .credit{display:none}}
