/* LoM Net 2026 visual refresh — shared landing-page layer */
:root {
  --surface: #fffdf8;
  --surface-muted: #eee7dc;
  --shadow-soft: 0 18px 55px rgba(22, 43, 46, .09);
  --shadow-strong: 0 26px 80px rgba(22, 43, 46, .15);
  --radius-lg: 24px;
  --radius-md: 16px;
}

body { background: #f5f1e9; }
.page-shell { width: min(calc(100% - 48px), 1180px); }

.site-header {
  height: 76px;
  background: rgba(248, 245, 238, .88);
  border-top: 0;
  box-shadow: 0 1px 0 rgba(29,41,43,.08);
}
.brand { font-size: 30px; }
.brand-badge { border: 0; padding: 5px 9px; border-radius: 999px; background: rgba(29,41,43,.06); }
.site-nav { gap: clamp(16px, 2.4vw, 32px); letter-spacing: .12em; }
.btn-contact-header { border-radius: 999px; padding: 10px 18px; background: var(--ink); color: #fff; }
.btn-contact-header:hover { color:#fff; }
.btn-contact-header::after { display:none; }

.hero {
  isolation: isolate;
  padding: clamp(64px, 9vw, 118px) 0 clamp(56px, 8vw, 92px);
  overflow: hidden;
  border: 0;
  background:
    radial-gradient(circle at 88% 18%, rgba(201,187,157,.43), transparent 28%),
    radial-gradient(circle at 70% 86%, rgba(35,58,61,.10), transparent 30%),
    linear-gradient(145deg, #faf8f2 0%, #eee8dd 100%);
}
.hero::before { content:""; position:absolute; z-index:-1; top:12%; right:-6%; width:min(42vw,520px); aspect-ratio:1; border:1px solid rgba(29,41,43,.11); border-radius:50%; box-shadow:0 0 0 48px rgba(255,255,255,.16),0 0 0 96px rgba(255,255,255,.11); }
.hero::after { content:"AI / SYSTEMS"; position:absolute; z-index:-1; right:2vw; bottom:-.2em; color:rgba(29,41,43,.035); font:700 clamp(70px,13vw,190px)/1 var(--sans); letter-spacing:-.06em; white-space:nowrap; }
.hero-meta { margin-bottom:30px; }
.hero-meta .chapter-tag { font-family:var(--sans); font-size:11px; font-style:normal; font-weight:700; letter-spacing:.16em; }
.hero h1 { max-width:1040px; margin-bottom:26px; font-family:var(--sans); font-size:clamp(38px,5.8vw,72px); font-weight:700; line-height:1.22; letter-spacing:-.045em; text-wrap:balance; }
.hero h1 em { font-family:var(--sans); font-style:normal; color:var(--wine); }
.hero-lead { max-width:780px; font-size:clamp(15px,1.65vw,18px); }
.btn-editorial-primary,.btn-editorial-secondary { min-height:50px; justify-content:center; border-radius:10px; letter-spacing:.08em; font-weight:700; text-transform:none; }
.btn-editorial-primary { padding:15px 26px; box-shadow:0 12px 28px rgba(35,58,61,.2); }
.btn-editorial-secondary { background:rgba(255,255,255,.55); }

.proof-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:800px; margin-top:46px; border:1px solid rgba(29,41,43,.12); border-radius:16px; overflow:hidden; background:rgba(255,255,255,.58); backdrop-filter:blur(10px); }
.proof-item { padding:18px 20px; border-right:1px solid rgba(29,41,43,.1); }
.proof-item:last-child { border-right:0; }
.proof-item strong { display:block; color:var(--ink); font-size:18px; line-height:1.3; }
.proof-item span { display:block; margin-top:4px; color:var(--ink-muted); font-size:11px; letter-spacing:.04em; }

.pillars-section,.steps-section,.editorial-section { padding:clamp(72px,8vw,108px) 0; }
.pillars-section { background:#f7f3ec; }
.steps-section { background:#e9e2d7; }
.section-kicker { font-weight:700; }
.section-title { max-width:850px; font-family:var(--sans); font-weight:700; letter-spacing:-.035em; }
.section-title em { font-family:var(--sans); font-style:normal; }
.section-lead { margin-bottom:48px; font-size:16px; line-height:1.9; }
.pillars-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.pillar-card { position:relative; overflow:hidden; min-height:100%; padding:34px 30px 30px; border:1px solid rgba(29,41,43,.10); border-radius:var(--radius-lg); background:rgba(255,255,255,.88); box-shadow:0 10px 30px rgba(22,43,46,.04); }
.pillar-card::after { content:""; position:absolute; right:-42px; top:-42px; width:120px; height:120px; border-radius:50%; background:currentColor; opacity:.035; }
.pillar-card:hover { border-color:rgba(29,41,43,.18); box-shadow:var(--shadow-strong); transform:translateY(-8px); }
.pillar-card .pillar-num { font-family:var(--sans); font-size:11px; font-style:normal; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.pillar-card h2,.pillar-card h3 { color:var(--ink); font-size:clamp(20px,2vw,25px); letter-spacing:-.02em; }
.pillar-card p { font-size:14px; line-height:1.85; }
.pillar-points { border-top:1px solid var(--line); }
.pillar-points li { padding-left:18px; line-height:1.7; }
.pillar-points li::before { content:""; top:.63em; width:6px; height:6px; border-radius:50%; background:currentColor; }
.pillar-btn-wrap { gap:14px; }

.steps-grid { position:relative; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.step-card { position:relative; padding:30px 24px; border:0; border-radius:var(--radius-md); background:rgba(255,255,255,.78); box-shadow:0 10px 28px rgba(22,43,46,.05); }
.step-card:not(:last-child)::after { content:"→"; position:absolute; z-index:2; right:-13px; top:48%; width:26px; height:26px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:#fff; font-size:12px; }
.step-num { font-family:var(--sans); font-size:10px; font-style:normal; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.step-card h4 { font-size:17px; }

.editorial-section { background:#f7f3ec; }
.editorial-section-header { max-width:760px; margin-bottom:42px; }
.editorial-section-header .label { display:inline-block; margin-bottom:12px; color:var(--wine); font-size:10px; font-weight:700; letter-spacing:.2em; }
.editorial-section-header h2 { margin-bottom:14px; font-size:clamp(28px,4vw,44px); line-height:1.35; letter-spacing:-.03em; }
.editorial-section-header p { color:var(--ink-soft); line-height:1.9; }
.editorial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.editorial-card { overflow:hidden; border:1px solid rgba(29,41,43,.1); border-radius:18px; background:#fff; box-shadow:0 12px 34px rgba(22,43,46,.06); transition:.3s var(--ease); }
.editorial-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-strong); }
.editorial-card > img { height:220px !important; transition:transform .55s var(--ease); }
.editorial-card:hover > img { transform:scale(1.035); }
.editorial-card .card-body { padding:24px; }
.editorial-card .card-tag { display:inline-flex; margin-bottom:12px; padding:5px 9px; border-radius:999px; background:var(--surface-muted); color:var(--ink-soft); font-size:9px; font-weight:700; letter-spacing:.12em; }
.editorial-card h3 { margin-bottom:12px; font-size:19px; line-height:1.55; }
.editorial-card p { color:var(--ink-soft); font-size:13px; line-height:1.8; }
.editorial-card .card-link { display:inline-flex; margin-top:18px; color:var(--wine); font-size:12px; font-weight:700; }

.editorial-cta-box { border-radius:28px; box-shadow:var(--shadow-strong); }
.editorial-cta-box h2,.editorial-cta-box h3 { font-family:var(--sans); font-weight:700; letter-spacing:-.03em; }
.btn-cta-gold { border-radius:10px; letter-spacing:.08em; text-transform:none; }
.site-footer { background:#ddd5c9; }
.sticky-floating-cta { padding:10px clamp(16px,4vw,32px); background:rgba(22,43,46,.92); }
.sticky-cta-btn { border-radius:8px; }

@media (max-width:960px) {
  .pillars-grid,.editorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .steps-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .step-card:nth-child(2)::after { display:none; }
}
@media (max-width:640px) {
  .page-shell { width:min(calc(100% - 28px),1180px); }
  .site-header { height:68px; }
  .brand { font-size:26px; }
  .brand-badge { display:none; }
  .hero { padding:48px 0 58px; }
  .hero-meta { flex-wrap:wrap; gap:8px 12px; line-height:1.5; }
  .hero h1 { font-size:36px; line-height:1.28; }
  .hero-lead br { display:none; }
  .hero-actions { display:grid; gap:10px; }
  .hero-actions a { width:100%; }
  .proof-strip { grid-template-columns:1fr; margin-top:34px; }
  .proof-item { border-right:0; border-bottom:1px solid rgba(29,41,43,.1); }
  .proof-item:last-child { border-bottom:0; }
  .pillars-grid,.editorial-grid,.steps-grid { grid-template-columns:1fr; }
  .pillar-card { padding:28px 22px; }
  .step-card::after { display:none !important; }
  .editorial-card > img { height:190px !important; }
}
