/* Simple shared styles (trimmed vs prior for brevity but functional) */
*,
*::before,
*::after {
  box-sizing: border-box;
}
:root {
  --bg:#fafafa;
  --bg-alt:#fff;
  --ink:#111;
  --muted:#666;
  --border:#e2e2e2;
  --accent:#111;
  --radius-pill:999px;
  --shadow-soft:0 18px 45px rgba(0,0,0,.06);
  --font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html,body{margin:0;padding:0;}
body{font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.5;}
.container{max-width:1120px;margin:0 auto;padding:0 1.5rem;}
.site-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0;}
.brand-logo{height:40px;width:auto;}
.main-nav ul{list-style:none;display:flex;gap:1.5rem;margin:0;padding:0;}
.main-nav a{text-decoration:none;color:var(--muted);font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;}
.main-nav a.active,.main-nav a:hover{color:var(--ink);}
.nav-toggle{display:none;background:none;border:none;padding:.25rem;cursor:pointer;}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--ink);margin:4px 0;}
.section{padding:4rem 0;}
.section-alt{background:#f3f3f3;}
.section-cta{background:#111;color:#fff;padding:3.5rem 0;}
.section h2{font-size:2rem;margin:0 0 .75rem;}
.section-lead{max-width:640px;color:var(--muted);}
.hero{padding:4.5rem 0 4rem;background:radial-gradient(circle at top left,#f5f5f5,#fff 50%);}
.hero-inner{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:2.5rem;align-items:center;}
.hero-copy h1{font-size:clamp(2.3rem,3vw,3rem);margin:0 0 1rem;}
.hero-text{color:var(--muted);max-width:520px;}
.eyebrow{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;margin-bottom:1.25rem;}
.hero-highlights{list-style:none;padding:0;margin:0;color:var(--muted);font-size:.9rem;}
.hero-highlights li::before{content:"• ";}
.hero-image-frame{border-radius:24px;overflow:hidden;background:#000;box-shadow:var(--shadow-soft);position:relative;}
.hero-image{display:block;width:100%;height:auto;object-fit:cover;}
.hero-image-label{position:absolute;left:1rem;bottom:1rem;background:rgba(0,0,0,.72);color:#fff;padding:.35rem .75rem;border-radius:999px;font-size:.8rem;}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.4rem;border-radius:var(--radius-pill);border:1px solid transparent;font-size:.95rem;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .05s;white-space:nowrap;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--border);}
.btn-ghost:hover{background:#f2f2f2;}
.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--border);}
.btn-lg{padding:.9rem 1.75rem;}
.section-split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1.25fr);gap:2.5rem;align-items:start;}
.info-card,.step-card{background:var(--bg-alt);padding:1.5rem;border-radius:16px;box-shadow:var(--shadow-soft);}
.story-card-grid{display:grid;gap:1.25rem;}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:2rem;}
.step-number{width:32px;height:32px;border-radius:999px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;margin-bottom:.75rem;}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem;}
.icon-list{list-style:none;padding:0;margin:1rem 0 0;color:var(--muted);font-size:.95rem;}
.icon-list li{position:relative;padding-left:1.2rem;margin-bottom:.35rem;}
.icon-list li::before{content:"•";position:absolute;left:0;top:0;}
.site-footer{border-top:1px solid var(--border);background:#fff;}
.footer-inner{padding:1.5rem 0;font-size:.85rem;color:var(--muted);}
.footer-note{margin-top:.25rem;}
.builder-hero{padding:3rem 0 1.5rem;}
.builder-layout{padding-bottom:4rem;}
.builder-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:2.5rem;align-items:flex-start;}
.preview-card,.summary-card{background:var(--bg-alt);border-radius:16px;padding:1.25rem 1.25rem 1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-soft);}
.preview-label{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem;}
.preview-figure{position:relative;background:#f5f5f5;border-radius:18px;height:260px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;}
.preview-jacket{width:56%;height:70%;background:linear-gradient(135deg,#131313,#333);border-radius:12px 12px 18px 18px;}
.preview-shirt{position:absolute;top:22%;width:26%;height:30%;background:#f7f7f7;border-radius:6px;}
.preview-pants{width:50%;height:40%;background:#1c1c1c;border-radius:10px 10px 6px 6px;transform:translateY(18%);}
.preview-note{margin-top:.75rem;font-size:.8rem;color:var(--muted);}
.summary-list{margin:0;}
.summary-list dt{font-weight:600;font-size:.85rem;margin-top:.5rem;}
.summary-list dd{margin:0;font-size:.85rem;color:var(--muted);}
.summary-price{margin-top:1rem;font-size:.9rem;}
.summary-price strong{font-size:1.1rem;margin-left:.25rem;}
.price-note{display:block;font-size:.8rem;color:var(--muted);}
.step-tracker{list-style:none;padding:0;margin:0 0 1.25rem;display:flex;flex-wrap:wrap;gap:.5rem;}
.step-tracker li{font-size:.8rem;padding:.35rem .75rem;border-radius:999px;border:1px solid transparent;color:var(--muted);background:transparent;}
.step-tracker li.is-completed{background:#111;color:#fff;}
.step-tracker li.is-active{border-color:#111;color:#111;background:#fff;}
.config-intro{margin-top:.2rem;margin-bottom:1rem;color:var(--muted);}
.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.9rem;}
.option-tile{background:var(--bg-alt);border-radius:12px;padding:.75rem .9rem;border:1px solid var(--border);display:flex;gap:.6rem;align-items:center;cursor:pointer;transition:border-color .12s,box-shadow .12s,background .12s;}
.option-tile input{margin-right:.4rem;}
.option-tile:hover{border-color:#111;box-shadow:0 0 0 1px rgba(0,0,0,.04);}
.option-text strong{display:block;font-size:.9rem;}
.option-text span{font-size:.8rem;color:var(--muted);}
.option-visual{width:32px;height:32px;border-radius:8px;}
.option-fabric.navy{background:#111826;}
.option-fabric.charcoal{background:#303030;}
.option-fabric.light-grey{background:#c6c6c6;}
.option-fabric.midnight{background:#050816;}
.option-lining.dark{background:#111;}
.option-lining.burgundy{background:#4b0f1f;}
.option-lining.custom{background:linear-gradient(135deg,#111,#b22222,#f0e68c,#111);}
.field{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;}
.field span{color:var(--muted);}
.field input,.field textarea{border-radius:10px;border:1px solid var(--border);padding:.55rem .7rem;font:inherit;}
.measurements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.9rem;margin:1rem 0 .5rem;}
.checkbox-line{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;margin-top:.6rem;}
.review-panel{background:var(--bg-alt);border-radius:16px;padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-soft);}
.builder-nav{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;gap:1rem;}
.builder-nav-right{display:flex;gap:.75rem;flex-wrap:wrap;}
.builder-final-actions{margin-top:1.25rem;}
.builder-small{font-size:.8rem;color:var(--muted);margin-top:.5rem;}
@media(max-width:900px){
  .hero-inner,.section-split,.builder-grid,.cta-inner{grid-template-columns:minmax(0,1fr);}
  .hero-inner{gap:1.75rem;}
  .builder-grid{gap:1.75rem;}
  .preview-figure{height:220px;}
}
@media(max-width:720px){
  .main-nav{position:absolute;top:56px;right:0;left:0;background:#fff;border-bottom:1px solid var(--border);display:none;}
  .main-nav ul{flex-direction:column;padding:.75rem 1.5rem 1.1rem;}
  body.nav-open .main-nav{display:block;}
  .nav-toggle{display:inline-block;}
  .hero{padding-top:3.25rem;}
  .builder-nav{flex-direction:column;align-items:stretch;}
  .builder-nav-right{justify-content:space-between;}
}
