/* Seat Home Modules v3.0.0 — Grand editorial light theme */
:root{
  --shm-bg:#ffffff;
  --shm-bg-alt:#f5f4f0;
  --shm-ink:#0b1220;
  --shm-ink-soft:#4b5563;
  --shm-line:#e5e7eb;
  --shm-accent:#ea580c;
  --shm-dark:#0b1220;
}

.shm{ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; color:var(--shm-ink); background:var(--shm-bg); line-height:1.55; }
.shm *{ box-sizing:border-box; }
.shm-wrap{ max-width:1320px; margin:0 auto; padding:0 32px; }
.shm section, .shm.shm{ padding:clamp(80px, 10vw, 140px) 0; }

/* eyebrow label */
.shm-eyebrow{ display:inline-flex; align-items:center; gap:14px; font-size:12px; letter-spacing:.22em; text-transform:uppercase; font-weight:600; color:var(--shm-ink-soft); margin-bottom:28px;}
.shm-eyebrow-bar{ width:40px; height:2px; background:var(--shm-accent); display:inline-block; }

/* headings */
.shm-h1{ font-size:clamp(38px, 5.4vw, 76px); line-height:1.02; letter-spacing:-.02em; font-weight:800; margin:0 0 24px; color:var(--shm-ink); }
.shm-h1 em{ font-style:italic; font-weight:500; color:var(--shm-accent); }
.shm-h1-inv{ color:#fff; }
.shm-h1-inv em{ color:#ffb28a; }
.shm-h2{ font-size:clamp(28px, 3.2vw, 44px); line-height:1.1; letter-spacing:-.015em; font-weight:700; margin:0 0 20px; }
.shm-h2 em{ font-style:italic; font-weight:500; color:var(--shm-accent); }
.shm-lead{ font-size:clamp(17px, 1.35vw, 20px); color:var(--shm-ink-soft); max-width:640px; margin:0; }

.shm-head{ max-width:900px; margin-bottom:64px; }
.shm-head-center{ margin-left:auto; margin-right:auto; text-align:center; }
.shm-head-center .shm-eyebrow{ justify-content:center; }
.shm-head-center .shm-lead{ margin:0 auto; }

/* =========== ABOUT =========== */
.shm-about{ background:var(--shm-bg); }
.shm-about-grid{ display:grid; grid-template-columns: 1.05fr 1fr; gap:80px; align-items:center; }
.shm-about-media{ position:relative; aspect-ratio: 4/5; background:var(--shm-bg-alt) url('https://images.unsplash.com/photo-1565043666747-69f6646db940?w=1200') center/cover no-repeat; border-radius:4px; overflow:hidden; }
.shm-about-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.shm-about-badge{ position:absolute; left:-1px; bottom:-1px; background:var(--shm-accent); color:#fff; padding:28px 36px; display:flex; align-items:center; gap:18px; }
.shm-about-badge-num{ font-size:64px; font-weight:800; line-height:1; letter-spacing:-.03em; }
.shm-about-badge-num sup{ font-size:24px; }
.shm-about-badge-txt{ font-size:13px; line-height:1.3; text-transform:uppercase; letter-spacing:.15em; font-weight:600; }
.shm-about-copy .shm-lead{ margin-bottom:40px; }
.shm-about-points{ display:grid; grid-template-columns:1fr 1fr; gap:24px 32px; padding-top:36px; border-top:1px solid var(--shm-line); }
.shm-about-points > div{ display:flex; flex-direction:column; gap:4px; }
.shm-about-points strong{ font-size:17px; font-weight:700; color:var(--shm-ink); }
.shm-about-points span{ font-size:14px; color:var(--shm-ink-soft); }

/* =========== APPLICATIONS =========== */
.shm-apps{ background:var(--shm-bg-alt); }
.shm-apps-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.shm-app-card{ position:relative; aspect-ratio: 4/5; background-size:cover; background-position:center; border-radius:4px; overflow:hidden; color:#fff; display:flex; flex-direction:column; justify-content:space-between; padding:28px; transition:transform .5s ease; }
.shm-app-card::before{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,18,32,.15) 0%, rgba(11,18,32,.85) 100%); }
.shm-app-card > *{ position:relative; z-index:1; }
.shm-app-card:hover{ transform:translateY(-4px); }
.shm-app-num{ font-size:14px; letter-spacing:.2em; opacity:.75; font-weight:600; }
.shm-app-body h3{ font-size:clamp(24px, 2vw, 32px); font-weight:700; margin:0 0 8px; letter-spacing:-.01em; }
.shm-app-body p{ font-size:15px; margin:0; opacity:.85; }

/* =========== STATS BAND (dark) =========== */
.shm-stats-band{ background:var(--shm-dark); color:#fff; position:relative; }
.shm-stats-band .shm-eyebrow{ color:rgba(255,255,255,.6); }
.shm-stats-head{ margin-bottom:72px; max-width:800px; }
.shm-stats-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:40px; border-top:1px solid rgba(255,255,255,.14); padding-top:56px; }
.shm-stat-num{ font-size:clamp(52px, 6.5vw, 96px); font-weight:800; line-height:1; letter-spacing:-.035em; color:#fff; margin-bottom:14px; }
.shm-stat-lbl{ font-size:14px; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,.65); font-weight:500; }

/* =========== CATEGORIES =========== */
.shm-cats{ background:var(--shm-bg); }
.shm-cats-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:28px; }
.shm-cat{ display:block; background:var(--shm-bg-alt); border:1px solid var(--shm-line); border-radius:4px; overflow:hidden; text-decoration:none; color:inherit; transition:all .35s ease; }
.shm-cat:hover{ transform:translateY(-6px); box-shadow:0 24px 60px -20px rgba(11,18,32,.18); border-color:var(--shm-accent); }
.shm-cat-img{ aspect-ratio: 4/3; background:#fff; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.shm-cat-img img{ width:80%; height:80%; object-fit:contain; }
.shm-cat-body{ padding:32px; }
.shm-cat-body h3{ font-size:24px; font-weight:700; margin:0 0 10px; letter-spacing:-.01em; }
.shm-cat-body p{ font-size:15px; color:var(--shm-ink-soft); margin:0 0 20px; line-height:1.6; }
.shm-arrow{ font-size:14px; font-weight:600; letter-spacing:.05em; color:var(--shm-accent); }

/* =========== FEATURES =========== */
.shm-features{ background:var(--shm-bg-alt); }
.shm-feat-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:2px; background:var(--shm-line); border:1px solid var(--shm-line); border-radius:4px; overflow:hidden; }
.shm-feat{ background:#fff; padding:44px 36px; }
.shm-feat-tag{ display:inline-block; font-size:11px; font-weight:700; letter-spacing:.2em; color:var(--shm-accent); border:1px solid var(--shm-accent); padding:6px 10px; margin-bottom:24px; border-radius:2px; }
.shm-feat h3{ font-size:22px; font-weight:700; margin:0 0 12px; letter-spacing:-.01em; }
.shm-feat p{ font-size:15px; color:var(--shm-ink-soft); margin:0; line-height:1.65; }

/* =========== PROCESS =========== */
.shm-process{ background:var(--shm-bg); }
.shm-proc-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:0; border-top:2px solid var(--shm-ink); }
.shm-step{ padding:40px 28px 0 0; border-right:1px solid var(--shm-line); position:relative; }
.shm-step:last-child{ border-right:0; padding-right:0; }
.shm-step-num{ font-size:14px; font-weight:700; letter-spacing:.15em; color:var(--shm-accent); margin-bottom:20px; }
.shm-step h3{ font-size:24px; font-weight:700; margin:0 0 12px; letter-spacing:-.01em; }
.shm-step p{ font-size:15px; color:var(--shm-ink-soft); margin:0; line-height:1.65; }

/* =========== CERTS =========== */
.shm-certs{ background:var(--shm-bg-alt); padding:clamp(70px,8vw,110px) 0; }
.shm-certs-inner{ display:grid; grid-template-columns: 1fr 1.2fr; gap:80px; align-items:center; }
.shm-certs-list{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4, 1fr); gap:0; border-top:1px solid var(--shm-line); border-left:1px solid var(--shm-line); }
.shm-certs-list li{ padding:28px 20px; border-right:1px solid var(--shm-line); border-bottom:1px solid var(--shm-line); background:#fff; font-weight:700; font-size:15px; letter-spacing:.03em; text-align:center; }

/* =========== FAQ =========== */
.shm-faq{ background:var(--shm-bg); }
.shm-faq-grid{ display:grid; grid-template-columns: 1fr 1.3fr; gap:80px; }
.shm-faq-item{ border-top:1px solid var(--shm-line); padding:24px 0; }
.shm-faq-item:last-child{ border-bottom:1px solid var(--shm-line); }
.shm-faq-item summary{ list-style:none; cursor:pointer; font-size:20px; font-weight:700; letter-spacing:-.005em; display:flex; justify-content:space-between; align-items:center; gap:20px; color:var(--shm-ink); }
.shm-faq-item summary::-webkit-details-marker{ display:none; }
.shm-faq-item summary span{ font-size:24px; color:var(--shm-accent); transition:transform .3s; font-weight:400; }
.shm-faq-item[open] summary span{ transform:rotate(45deg); }
.shm-faq-item p{ margin:16px 0 0; color:var(--shm-ink-soft); font-size:16px; line-height:1.7; max-width:640px; }

/* =========== CTA =========== */
.shm-cta{ background:var(--shm-dark); color:#fff; }
.shm-cta .shm-eyebrow{ color:rgba(255,255,255,.6); }
.shm-cta-inner{ display:grid; grid-template-columns: 1.4fr 1fr; gap:60px; align-items:end; padding-bottom:0; }
.shm-cta-actions{ display:flex; flex-wrap:wrap; gap:14px; justify-content:flex-end; }
.shm-btn{ display:inline-block; padding:20px 40px; font-size:15px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; border-radius:2px; transition:all .25s; }
.shm-btn-light{ background:var(--shm-accent); color:#fff; }
.shm-btn-light:hover{ background:#f97316; transform:translateY(-2px); }
.shm-btn-ghost{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.35); }
.shm-btn-ghost:hover{ border-color:#fff; }

/* =========== responsive =========== */
@media (max-width: 1024px){
  .shm-about-grid, .shm-certs-inner, .shm-faq-grid, .shm-cta-inner{ grid-template-columns:1fr; gap:48px; }
  .shm-apps-grid, .shm-cats-grid, .shm-feat-grid{ grid-template-columns:repeat(2, 1fr); }
  .shm-stats-grid, .shm-proc-grid{ grid-template-columns:repeat(2, 1fr); gap:32px; }
  .shm-proc-grid > .shm-step:nth-child(2){ border-right:0; }
  .shm-certs-list{ grid-template-columns:repeat(2,1fr); }
  .shm-cta-actions{ justify-content:flex-start; }
}
@media (max-width: 640px){
  .shm-wrap{ padding:0 20px; }
  .shm-apps-grid, .shm-cats-grid, .shm-feat-grid, .shm-stats-grid, .shm-proc-grid{ grid-template-columns:1fr; }
  .shm-step{ border-right:0 !important; border-bottom:1px solid var(--shm-line); padding-bottom:32px; padding-right:0; }
  .shm-about-points{ grid-template-columns:1fr; }
  .shm-certs-list{ grid-template-columns:1fr; }
  .shm-about-badge{ padding:20px 24px; }
  .shm-about-badge-num{ font-size:44px; }
}
