/* Mantle Reach Power — mantlereach.com */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;color:#101010;background:#fff}

:root{
  --crimson:#9E2A2B;
  --black:#101010;
  --muted:#6B7280;
  --border:#E8E8E6;
  --subtle:#F7F7F6;
  --white:#FFFFFF;
  --nav-h:84px;
  --px:clamp(32px,8vw,140px);
}

/* NAV */
.nav{background:var(--white);border-bottom:1px solid var(--border);height:var(--nav-h);padding:0 var(--px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:99}
.nav-logo{display:flex;align-items:center;gap:8px;text-decoration:none}
.nav-logo svg{display:block;flex-shrink:0}
.nav-wordmark{font-weight:700;font-size:26px;letter-spacing:-0.02em;color:var(--black)}
.nav-links{display:flex;gap:40px;list-style:none}
.nav-links a{font-size:15px;font-weight:500;color:var(--muted);text-decoration:none;transition:color 0.15s}
.nav-links a:hover,.nav-links a.active{color:var(--black)}
.nav-links a.cta{color:var(--crimson);font-weight:600}
.nav-links a.cta:hover{opacity:0.8}

/* HERO */
.hero{background:var(--white);padding:112px var(--px) 96px;border-bottom:1px solid var(--border)}
.hero h1{font-size:clamp(48px,7vw,88px);font-weight:700;color:var(--black);line-height:1.04;letter-spacing:-0.03em;max-width:820px;margin-bottom:28px}
.hero-sub{font-size:18px;color:var(--muted);max-width:520px;line-height:1.65}
.btn{display:inline-block;background:var(--crimson);color:var(--white);font-family:inherit;font-size:14px;font-weight:600;letter-spacing:0.03em;padding:13px 28px;border:none;cursor:pointer;transition:opacity 0.15s;text-decoration:none}
.btn:hover{opacity:0.87}

/* SECTIONS */
.section{padding:96px var(--px)}
.thesis-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start}
.thesis-grid h2{font-size:clamp(22px,2.8vw,34px);font-weight:700;letter-spacing:-0.02em;line-height:1.2}
.body-text p{font-size:16px;color:#3D4350;line-height:1.80;margin-bottom:20px}
.body-text p:last-child{margin-bottom:0}

/* NEWS STRIP */
.news-strip{background:var(--subtle);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:56px var(--px)}
.ns-label{font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}
.news-row{display:flex;align-items:baseline;gap:24px;padding:20px 0;border-top:1px solid var(--border);text-decoration:none;color:inherit}
.news-row:last-child{border-bottom:1px solid var(--border)}
.news-row:hover .nr-hl{color:var(--crimson)}
.nr-date{font-size:13px;color:var(--muted);white-space:nowrap;min-width:88px}
.nr-hl{font-size:15px;font-weight:600;color:var(--black);flex:1;line-height:1.4;transition:color 0.15s}
.nr-arr{font-size:13px;color:var(--crimson);font-weight:700;white-space:nowrap}

/* CONTACT SECTION */
.contact-section{background:var(--subtle);border-top:1px solid var(--border);padding:96px var(--px)}
.contact-grid{display:grid;grid-template-columns:1fr 1.7fr;gap:96px;align-items:start}
.contact-grid h2{font-size:clamp(24px,2.8vw,36px);font-weight:700;letter-spacing:-0.02em;margin-bottom:16px}
.contact-grid p{font-size:15px;color:var(--muted);max-width:300px;line-height:1.65;margin-bottom:24px}
.contact-email{display:inline-block;font-size:15px;font-weight:600;color:var(--black);border-bottom:1px solid var(--crimson);padding-bottom:2px;text-decoration:none}
.form{display:flex;flex-direction:column;gap:16px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:var(--muted)}
.form input,.form textarea{font-family:inherit;font-size:15px;color:var(--black);background:var(--white);border:1px solid var(--border);padding:11px 14px;outline:none;transition:border-color 0.15s}
.form input:focus,.form textarea:focus{border-color:var(--black)}
.form textarea{min-height:120px;resize:vertical}

/* PAGE HEADER */
.page-header{background:var(--white);padding:40px var(--px) 32px;border-bottom:1px solid var(--border)}
.page-header h1{font-size:clamp(28px,4vw,48px);font-weight:700;color:var(--black);letter-spacing:-0.025em;line-height:1.1}

/* NEWS INDEX */
.nl-list{list-style:none}
.nl-row{display:flex;align-items:baseline;gap:24px;padding:20px 0;border-top:1px solid var(--border);text-decoration:none;color:inherit;display:flex}
.nl-row:last-child{border-bottom:1px solid var(--border)}
.nl-row:hover .nl-hl{color:var(--crimson)}
.nl-date{font-size:13px;color:var(--muted);white-space:nowrap;min-width:88px}
.nl-hl{font-size:15px;font-weight:600;color:var(--black);flex:1;line-height:1.4;transition:color 0.15s}
.nl-arr{font-size:13px;color:var(--crimson);font-weight:700;white-space:nowrap}
.news-empty{font-size:15px;color:var(--muted);padding:32px 0}

/* SINGLE POST */
.post-meta{font-size:13px;color:var(--muted);margin-bottom:18px}
.post-meta span+span{margin-left:16px}
.post-title{font-size:clamp(22px,3.2vw,38px);font-weight:700;letter-spacing:-0.02em;line-height:1.2;color:var(--black);max-width:760px;margin-bottom:44px;padding-bottom:40px;border-bottom:1px solid var(--border)}
.post-body{max-width:700px;font-size:16px;color:#2D3340;line-height:1.82}
.post-body p{margin-bottom:22px}
.post-body p:last-child{margin-bottom:0}
.post-body h3{font-size:17px;font-weight:700;margin:36px 0 12px;color:var(--black)}
.post-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted);margin-top:56px;padding-top:32px;border-top:1px solid var(--border);text-decoration:none;transition:color 0.15s}
.post-back:hover{color:var(--crimson)}

/* FOOTER */
.footer{background:var(--subtle);border-top:1px solid var(--border);padding:48px var(--px)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px}
.footer-logo{display:flex;align-items:center;gap:7px;text-decoration:none}
.footer-wm{font-weight:700;font-size:22px;letter-spacing:-0.02em;color:var(--black)}
.footer-right p{font-size:12px;color:var(--muted);line-height:1.65;text-align:right}

/* RESPONSIVE */
@media(max-width:900px){.thesis-grid,.contact-grid{grid-template-columns:1fr;gap:48px}.form-row{grid-template-columns:1fr}.footer-inner{flex-direction:column;align-items:flex-start}.footer-right p{text-align:left}}
@media(max-width:600px){.nav-links{gap:20px}.nav-links a{font-size:13px}.nav-wordmark{font-size:20px}}
@media(max-width:560px){.nav-wordmark{font-size:20px}}
@media(max-width:480px){.nav-wordmark{font-size:18px}}

/* HAMBURGER */
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.nav-hamburger span{display:block;width:24px;height:2px;background:var(--black);transition:all 0.2s}
.nav-mobile{display:none;position:absolute;top:var(--nav-h);left:0;right:0;background:var(--white);border-bottom:1px solid var(--border);padding:16px var(--px) 24px;flex-direction:column;gap:0}
.nav-mobile a{font-size:16px;font-weight:500;color:var(--muted);text-decoration:none;padding:14px 0;border-bottom:1px solid var(--border);display:block}
.nav-mobile a:last-child{border-bottom:none}
.nav-mobile a:hover,.nav-mobile a.active{color:var(--black)}
.nav-mobile a.cta{color:var(--crimson);font-weight:600}
.nav.open .nav-mobile{display:flex}
.nav.open .nav-hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.open .nav-hamburger span:nth-child(2){opacity:0}
.nav.open .nav-hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:560px){
  .nav-links{display:none}
  .nav-hamburger{display:flex}
}
