/* ── LAYOUT HELPERS */
.wrap{max-width:1280px;margin:0 auto;padding:0 2.5rem}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--signal-bright);display:flex;align-items:center;gap:10px}
.eyebrow::before{content:'';width:14px;height:1px;background:var(--signal)}
.sec-h{font-family:'Source Serif 4','IBM Plex Serif','Merriweather',Georgia,serif;font-size:clamp(28px,3.2vw,44px);font-weight:650;color:var(--ivory);line-height:1.12;letter-spacing:0}
.rule-h{width:44px;height:2px;background:var(--signal)}
.grid-rule{display:grid;gap:1px;background:var(--rule)}
.border-top{border-top:1px solid var(--rule)}
.border-gold{border-top:1px solid var(--rule-strong)}
.btn-gold{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;padding:12px 24px;background:var(--signal);color:#fff;border:none;cursor:pointer;text-decoration:none;transition:background .15s}
.btn-gold:hover{background:var(--accent)}
.btn-outline{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;padding:11px 22px;background:transparent;color:var(--ivory-dim);border:1px solid var(--rule);cursor:pointer;text-decoration:none;transition:all .15s}
.btn-outline:hover{border-color:var(--rule-strong);color:var(--ivory)}

/* ── ABOUT */
#about{padding:5rem 0;background:var(--panel-mid);border-top:1px solid var(--rule-strong)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.code-blocks{border:1px solid var(--rule);display:flex;flex-direction:column}
.code-block{padding:1.5rem 2rem;border-bottom:1px solid var(--rule);position:relative}
.code-block:last-child{border-bottom:none}
.code-block::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--signal)}
.cb-n{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--signal-bright);margin-bottom:5px}
.cb-t{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:600;color:var(--ivory);margin-bottom:5px}
.cb-b{font-size:14px;font-weight:300;color:var(--sage-lt);line-height:1.7}
.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);margin-top:1.5rem}
.astat{background:var(--panel);padding:1.3rem;position:relative}
.astat::before{content:'';position:absolute;top:0;left:1.3rem;width:14px;height:2px;background:var(--signal)}
.astat-val{font-family:'IBM Plex Mono',monospace;font-size:30px;font-weight:500;color:var(--signal-bright);line-height:1;margin-bottom:4px}
.astat-lbl{font-size:13px;color:var(--sage-lt)}
.about-quote{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2.5vw,30px);font-style:italic;color:var(--signal-bright);margin-top:2rem;padding-top:2rem;border-top:1px solid var(--rule);line-height:1.4}

/* ── FOOTER */
footer{background:var(--bg);border-top:1px solid var(--rule-strong);padding:4rem 0 2rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-brand{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:700;color:var(--ivory);margin-bottom:.6rem;letter-spacing:.06em}
.footer-desc{font-size:14px;font-weight:300;color:var(--sage-lt);line-height:1.7}
.footer-col h4{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--signal-bright);margin-bottom:.9rem}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.footer-col a{font-size:14px;font-weight:300;color:var(--sage-lt);text-decoration:none;transition:color .15s}
.footer-col a:hover{color:var(--ivory)}
.footer-bottom{border-top:1px solid var(--rule);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center}
.footer-copy{font-size:11px;font-weight:300;color:var(--sage-lt)}
.footer-tagline{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--rule-strong)}
.nl-form{display:flex;gap:6px;margin-top:1rem}
.nl-in{flex:1;background:rgba(13,19,25,.72);border:1px solid var(--rule);padding:8px 12px;font-family:'Inter',sans-serif;font-size:14px;color:var(--ivory);outline:none}
.nl-in:focus{border-color:var(--signal);outline:2px solid rgba(185,74,72,.35);outline-offset:2px}
.nl-in::placeholder{color:var(--sage-lt)}
.nl-btn{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:8px 14px;background:var(--signal);color:#fff;border:none;cursor:pointer;transition:background .15s}
.nl-btn:hover{background:var(--accent)}
