@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --bg: #10151a;
  --bg-panel: #161c22;
  --hairline: #2a333b;
  --text-primary: #e7e4dc;
  --text-muted: #9aa3ab;
  --accent-brass: #b8925a;
  --accent-brass-dim: #7d6640;
  --accent-teal: #5c8a91;
  --accent-teal-dim: #3a565c;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--text-primary); font-family:'Inter',sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased; }
.wrap { max-width:1080px; margin:0 auto; padding:0 32px; }
a { color:inherit; }
.eyebrow { font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent-brass); }
h1,h2,h3 { font-family:'Source Serif 4',serif; font-weight:500; letter-spacing:-0.01em; }

/* NAV */
nav { position:sticky; top:0; z-index:50; background:rgba(16,21,26,0.9); backdrop-filter:blur(8px); border-bottom:1px solid var(--hairline); }
nav .wrap { display:flex; align-items:center; justify-content:space-between; height:76px; }
.logo-lockup { display:flex; flex-direction:column; line-height:1.1; }
.logo-lockup .name { font-family:'Source Serif 4',serif; font-size:38px; letter-spacing:0.02em; text-decoration:none; }
.logo-lockup .name span { color:var(--accent-brass); }
.navlinks { display:flex; gap:36px; font-size:14px; color:var(--text-muted); }
.navlinks a { text-decoration:none; transition:color .2s; }
.navlinks a:hover, .navlinks a.active { color:var(--text-primary); }
.navlinks a.nav-iris { color:var(--accent-teal); }
.navlinks a.nav-iris:hover { color:#7fb0b8; }
.nav-dropdown { position:relative; }
.nav-dropdown > a::after { content:'▾'; font-size:10px; margin-left:5px; opacity:0.6; }
.nav-dropdown-menu { position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(4px); background:#161c22; border:1px solid var(--hairline); border-radius:6px; padding:8px; min-width:200px; opacity:0; visibility:hidden; transition:opacity .15s, transform .15s; box-shadow:0 12px 30px rgba(0,0,0,0.4); z-index:60; }
.nav-dropdown:hover .nav-dropdown-menu { opacity:1; visibility:visible; transform:translateX(-50%) translateY(8px); }
.nav-dropdown-menu a { display:block; padding:9px 12px; font-size:13.5px; color:var(--text-muted); border-radius:4px; white-space:nowrap; }
.nav-dropdown-menu a:hover { color:var(--text-primary); background:rgba(255,255,255,0.04); }
.nav-cta { border:1px solid var(--accent-brass-dim); padding:8px 18px; border-radius:2px; font-size:13px; text-decoration:none; color:var(--accent-brass); transition:all .2s; }
.nav-cta:hover { background:var(--accent-brass); color:var(--bg); }

/* BUTTONS */
.btn-primary { background:var(--accent-brass); color:#10151a; padding:13px 24px; border-radius:2px; text-decoration:none; font-size:14px; font-weight:600; transition:background .2s; display:inline-block; }
.btn-primary:hover { background:#cba76f; }
.btn-secondary { border:1px solid var(--hairline); padding:13px 24px; border-radius:2px; text-decoration:none; font-size:14px; color:var(--text-primary); transition:border-color .2s; display:inline-block; }
.btn-secondary:hover { border-color:var(--text-muted); }

/* PAGE HERO (secondary pages) */
.page-hero { padding:72px 0 56px; border-bottom:1px solid var(--hairline); }
.page-hero h1 { font-size:38px; margin:14px 0 16px; }
.page-hero p.lede { font-size:16.5px; color:var(--text-muted); max-width:600px; }

section { padding:64px 0; }
.section-head { max-width:640px; margin-bottom:36px; }
.section-head h2 { font-size:28px; margin-top:12px; }
.section-head p { color:var(--text-muted); margin-top:12px; font-size:15.5px; }

/* BOOKING BAND */
.booking-band { background:var(--bg-panel); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); padding:36px 0; }
.booking-band .wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.booking-band h3 { font-size:19px; }
.booking-band p { color:var(--text-muted); font-size:14px; margin-top:4px; }

/* CARDS / GRIDS */
.card-grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.card-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.card-grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.card { border:1px solid var(--hairline); border-radius:3px; padding:26px 24px; transition:border-color .2s; }
.card:hover { border-color:var(--accent-brass-dim); }
.card h3 { font-size:16px; margin:10px 0 8px; font-weight:500; }
.card p { font-size:13.5px; color:var(--text-muted); }
.card .num { font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--accent-teal); }
.card .tag { font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--text-muted); text-transform:uppercase; letter-spacing:.06em; }

/* TABLES */
table.pricing { width:100%; border-collapse:collapse; margin-top:8px; }
table.pricing th { text-align:left; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:#1b2229; padding:14px 16px; }
table.pricing td { padding:14px 16px; border-bottom:1px solid var(--hairline); font-size:14px; }
table.pricing tr:last-child td { border-bottom:none; }
table.pricing td.muted { color:var(--text-muted); }

/* PANEL / BAND */
.panel { background:var(--bg-panel); border:1px solid var(--hairline); border-radius:4px; padding:40px; }
.band { background:var(--bg-panel); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); }

/* CREDIBILITY STAT STRIP */
.cred-strip { display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px; }
.cred-item { flex:1; min-width:200px; }
.cred-item .stat { font-family:'Source Serif 4',serif; font-size:32px; color:var(--accent-brass); }
.cred-item .label { font-size:13px; color:var(--text-muted); margin-top:6px; }

/* FOOTER */
footer { border-top:1px solid var(--hairline); padding:56px 0 32px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:40px; margin-bottom:40px; }
.footer-grid .logo-lockup .name { font-size:20px; }
.footer-grid p { color:var(--text-muted); font-size:13.5px; margin-top:10px; max-width:300px; }
.footer-col h4 { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); margin-bottom:14px; }
.footer-col a { display:block; font-size:14px; color:var(--text-primary); text-decoration:none; margin-bottom:10px; }
.footer-col a:hover { color:var(--accent-brass); }
.footer-bottom { border-top:1px solid var(--hairline); padding-top:24px; display:flex; justify-content:space-between; font-size:12.5px; color:var(--text-muted); flex-wrap:wrap; gap:12px; }

/* PLACEHOLDER NOTE (dev-only visual cue, not shown to site visitors conceptually but marked clearly) */
.placeholder-note { font-family:'JetBrains Mono',monospace; font-size:11.5px; color:var(--accent-teal); background:rgba(92,138,145,0.08); border:1px dashed var(--accent-teal-dim); border-radius:3px; padding:10px 14px; margin-bottom:16px; }

.founder-layout { display:grid; grid-template-columns:220px 1fr; gap:40px; align-items:start; }
.founder-photo { width:100%; border-radius:4px; border:1px solid var(--hairline); }

@media (max-width:860px) {
  .card-grid-4, .card-grid-3, .card-grid-2, .footer-grid, .founder-layout { grid-template-columns:1fr; }
  .founder-photo { max-width:220px; }
  .page-hero h1 { font-size:28px; }
}

/* HOME-SPECIFIC (reusable if needed elsewhere) */
.hero { padding:100px 0 70px; position:relative; overflow:hidden; }
.hero .wrap { display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; }
.hero h1 { font-size:44px; line-height:1.18; margin:18px 0 22px; }
.hero h1 em { font-style:normal; }
.headline-teal { color:var(--accent-teal); }
.hero p.lede { font-size:17px; color:var(--text-muted); max-width:480px; margin-bottom:32px; }
.hero-ctas { display:flex; gap:16px; flex-wrap:wrap; }
.domain-diagram { position:relative; height:340px; }
.domain-diagram svg { width:100%; height:100%; }
.domain-label { font-family:'JetBrains Mono',monospace; font-size:11px; fill:var(--text-muted); }
.shadow-pulse { animation:pulse 4.5s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:.55;} 50%{opacity:.95;} }
.offer-link { display:inline-block; margin-top:28px; font-size:14px; color:var(--accent-brass); text-decoration:none; border-bottom:1px solid var(--accent-brass-dim); padding-bottom:2px; }
.iris-band .wrap { display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:center; padding:84px 32px; }
.iris-mark { font-family:'Source Serif 4',serif; font-size:52px; color:var(--accent-brass); letter-spacing:.02em; }
.clients-line { margin-top:36px; padding-top:28px; border-top:1px solid var(--hairline); font-size:13.5px; color:var(--text-muted); }
.clients-line strong { color:var(--text-primary); font-weight:500; }

@media (max-width:860px) {
  .hero .wrap, .iris-band .wrap { grid-template-columns:1fr; }
  #paid-reference .wrap > div { grid-template-columns:1fr; }
  #endorsement .panel { flex-direction:column; padding:32px 24px; }
  #endorsement .panel img { width:72px; height:72px; }
  .hero h1 { font-size:32px; }
  .domain-diagram { height:260px; }
}

/* HERO IMAGE (torch) */
.hero-visual { display:flex; align-items:center; justify-content:center; }
.torch-hero-img { width:100%; max-width:380px; filter: drop-shadow(0 0 40px rgba(184,146,90,0.18)); }

/* IRIS TEASER — nodal map background */
.iris-band.nodal-bg {
  background-image: linear-gradient(rgba(16,21,26,0.82), rgba(16,21,26,0.9)), url('images/nodal-map-2.jpg');
  background-size: cover;
  background-position: center;
}

/* OFFERINGS PAGE LAYOUT */
.offer-layout { display:grid; grid-template-columns:1fr 300px; gap:44px; align-items:start; }
.offer-main { min-width:0; }
.aside-sticky { position:sticky; top:88px; }
.b2b-panel { background:var(--bg-panel); border:1px solid var(--accent-brass-dim); border-radius:4px; padding:28px 24px; }
.b2b-panel h3 { font-size:17px; margin:10px 0 10px; }
.b2b-panel p { font-size:13.5px; color:var(--text-muted); margin-bottom:16px; }
.pillar-block { margin-bottom:48px; }
.pillar-block h3 { font-size:18px; margin:0 0 6px; }
.pillar-block > p.pillar-intro { color:var(--text-muted); font-size:14px; margin-bottom:16px; }
table.pricing td .deliv-name { display:block; font-weight:500; color:var(--text-primary); margin-bottom:3px; }
table.pricing td .deliv-desc { display:block; font-size:12.5px; color:var(--text-muted); font-weight:400; line-height:1.5; }
table.pricing td .price-amt { display:block; }
table.pricing td .hrs-note { display:block; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--accent-teal); margin-top:3px; }
.card ul.tier-includes { margin-top:12px; padding-left:16px; }
.card ul.tier-includes li { font-size:12px; color:var(--text-muted); margin-bottom:5px; line-height:1.5; }

@media (max-width:860px) {
  .offer-layout { grid-template-columns:1fr; }
  .aside-sticky { position:static; }
}

/* GATED DOWNLOAD FORM */
.gate-form { margin-top:14px; display:flex; gap:8px; flex-wrap:wrap; }
.gate-form input[type="email"] { flex:1; min-width:150px; background:var(--bg); border:1px solid var(--hairline); border-radius:3px; padding:9px 12px; color:var(--text-primary); font-size:13px; font-family:'Inter',sans-serif; }
.gate-form input[type="email"]:focus { outline:none; border-color:var(--accent-brass-dim); }
.gate-form button { background:var(--accent-brass); color:#161200; border:none; border-radius:3px; padding:9px 16px; font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap; font-family:'Inter',sans-serif; }
.gate-form button:hover { background:var(--accent-brass-dim); color:var(--text-primary); }
.gate-form .gate-status { width:100%; font-size:12px; color:var(--accent-teal); margin-top:2px; display:none; }
.gate-form .gate-status.gate-error { color:#c0705a; }
.gate-hp { position:absolute; left:-5000px; }

/* DIAGNOSTIC QUESTION BLOCK (IRIS page) */
.diag-block { padding:72px 0; }
.diag-q { max-width:640px; margin:0 auto 36px; font-family:'Source Serif 4',serif; font-size:19px; line-height:1.55; color:var(--text-muted); opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; text-align:center; }
.diag-q.visible { opacity:1; transform:translateY(0); }
.diag-q.diag-heavy { font-size:22px; color:var(--text-primary); margin-top:20px; }
.diag-close { max-width:600px; margin:32px auto 0; text-align:center; font-size:16px; color:var(--accent-brass); font-style:italic; opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
.diag-close.visible { opacity:1; transform:translateY(0); }

/* ANCHOR TARGETS (clear the sticky nav when linking to a specific card or panel) */
.card[id], .panel[id] { scroll-margin-top:100px; }
