/* ============ MADORMONT — styles ============ */
:root{
  --ivory:#F2EFE9;
  --ivory-soft:#EDE9E0;
  --charcoal:#1A1A1A;
  --band:#141414;
  --band-line:#2B2B2B;
  --red:#DD2C25;
  --muted:#5D5A53;
  --hairline:#D8D3C8;
  --hero-ink:#F5F2EC;
  --max:1200px;
  --pad:clamp(20px,4vw,48px);
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--ivory);
  color:var(--charcoal);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  position:relative;
}
/* subtle paper grain */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);position:relative;z-index:1}

/* ---------- type ---------- */
.h-display{font-family:var(--serif);font-weight:500;letter-spacing:-.015em;line-height:1.06;font-size:clamp(2.6rem,6vw,4.4rem)}
.h-page{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;line-height:1.12;font-size:clamp(2.1rem,4.4vw,3.2rem)}
.h-section{font-family:var(--serif);font-weight:500;line-height:1.18;font-size:clamp(1.5rem,2.6vw,2rem)}
.eyebrow{
  font-family:var(--sans);font-size:.72rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--red);
}
.lede{color:var(--muted);font-size:1.06rem;max-width:56ch}
.serif-line{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:500;text-align:center}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:50;background:var(--ivory);
  border-bottom:1px solid var(--hairline);
}
.nav-inner{
  max-width:var(--max);margin:0 auto;padding:14px var(--pad);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{display:flex;align-items:center}
.brand img{height:28px;width:auto}
.nav-links{display:flex;align-items:center;gap:clamp(16px,3vw,34px);font-size:.92rem}
.nav-links a{color:var(--charcoal);padding:4px 2px;border-bottom:1px solid transparent;transition:border-color .2s ease,color .2s ease}
.nav-links a:hover{border-color:var(--red)}
.nav-links a.active{border-color:var(--red)}
.nav-links a.lang{color:var(--red);font-weight:600;font-size:.8rem;letter-spacing:.08em}

/* ---------- hero ---------- */
.hero{
  position:relative;min-height:86vh;display:flex;align-items:flex-end;
  background:#0B0B0C;overflow:hidden;
}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}
.hero-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(6,6,7,.82) 0%,rgba(6,6,7,.45) 55%,rgba(6,6,7,.72) 100%),
    linear-gradient(180deg,rgba(6,6,7,.55) 0%,rgba(6,6,7,.15) 45%,rgba(6,6,7,.78) 100%);
}
.hero-content{position:relative;z-index:2;padding:96px var(--pad) 88px;max-width:var(--max);margin:0 auto;width:100%}
.hero-dash{width:44px;height:2px;background:var(--red);margin-bottom:28px}
.hero h1{color:var(--hero-ink);max-width:15ch}
.hero .lede{color:#C9C5BC;margin-top:26px;max-width:52ch}

/* ---------- pillars ---------- */
.pillars{padding:0 0 8px}
.pillars-row{
  border-top:2px solid var(--red);
  display:grid;grid-template-columns:repeat(3,1fr);
}
.pillar{
  padding:34px clamp(18px,2.6vw,34px) 44px;
  border-left:1px solid var(--hairline);
}
.pillar:first-child{border-left:none;padding-left:0}
.pillar-num{font-family:var(--serif);color:var(--red);font-size:1rem;letter-spacing:.06em;display:block;margin-bottom:10px}
.pillar .eyebrow{display:block;margin-bottom:14px}
.pillar p{color:var(--charcoal);max-width:34ch}

/* ---------- stat band ---------- */
.stats{background:var(--band);border-top:2px solid var(--red);position:relative;z-index:1}
.stats-row{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:repeat(3,1fr);
}
.stat{
  padding:56px var(--pad) 60px;
  border-left:1px solid var(--band-line);
}
.stat:first-child{border-left:none}
.stat-num{font-family:var(--serif);color:var(--hero-ink);font-size:clamp(2.6rem,5vw,3.8rem);line-height:1;font-weight:500}
.stat-label{margin-top:16px;font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#9A9891;max-width:30ch}

/* ---------- generic sections ---------- */
.section{padding:clamp(64px,9vw,110px) 0}
.section-tight{padding:clamp(48px,7vw,80px) 0}
.divider{border:none;border-top:1px solid var(--hairline)}
.rule-red{width:44px;height:2px;background:var(--red);border:none;margin:0 0 26px}

/* focus page */
.focus-intro p{font-size:1.12rem;max-width:62ch;color:var(--charcoal)}
.focus-block{padding:clamp(48px,7vw,84px) 0}
.focus-block .eyebrow{display:block;margin-bottom:16px}
.focus-block h2{margin-bottom:18px;max-width:22ch}
.focus-block p{color:var(--muted);max-width:60ch;font-size:1.04rem}
.img-break{display:block;width:100%;height:clamp(220px,36vw,420px);object-fit:cover;background:#101011}

/* about */
.founder{
  margin-top:56px;padding-top:34px;border-top:2px solid var(--red);max-width:520px;
}
.founder .name{font-family:var(--serif);font-size:1.35rem;font-weight:500}
.founder .role{margin-top:6px;color:var(--muted);font-size:.95rem}
.founder .bio{margin-top:14px;color:var(--muted);font-size:.95rem}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px)}
.contact-info p{color:var(--muted);margin-bottom:22px;max-width:40ch}
.contact-email{font-family:var(--serif);font-size:1.35rem;border-bottom:1px solid var(--red);padding-bottom:2px;transition:color .2s ease}
.contact-email:hover{color:var(--red)}
.contact-meta{margin-top:26px;color:var(--muted);font-size:.95rem}
.form-field{margin-bottom:22px}
.form-field label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--charcoal);margin-bottom:8px}
.form-field input,.form-field textarea{
  width:100%;background:transparent;border:none;border-bottom:1px solid var(--hairline);
  padding:10px 2px;font-family:var(--sans);font-size:1rem;color:var(--charcoal);
  transition:border-color .2s ease;border-radius:0;
}
.form-field input:focus,.form-field textarea:focus{outline:none;border-bottom-color:var(--red)}
.form-field textarea{min-height:120px;resize:vertical}
.btn{
  display:inline-block;background:var(--red);color:#FFF;font-weight:600;font-size:.92rem;
  letter-spacing:.04em;padding:14px 34px;border:none;cursor:pointer;
  transition:background .2s ease;border-radius:0;font-family:var(--sans);
}
.btn:hover{background:#C0241E}
.form-note{margin-top:20px;font-size:.82rem;color:var(--muted)}

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--hairline);padding:38px 0 46px;margin-top:clamp(40px,6vw,80px)}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-mark{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.9rem}
.footer-mark img{height:22px;width:auto}
.footer-legal{color:var(--muted);font-size:.82rem}

/* ---------- reveal motion ---------- */
.reveal{opacity:0;transform:translateY(10px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ---------- responsive ---------- */
@media (max-width:860px){
  .pillars-row{grid-template-columns:1fr}
  .pillar{border-left:none;border-top:1px solid var(--hairline);padding-left:0}
  .pillar:first-child{border-top:none}
  .stats-row{grid-template-columns:1fr}
  .stat{border-left:none;border-top:1px solid var(--band-line);padding:38px var(--pad)}
  .stat:first-child{border-top:none}
  .contact-grid{grid-template-columns:1fr}
  .hero{min-height:72vh}
  .hero-content{padding-top:72px;padding-bottom:64px}
}
@media (max-width:520px){
  .nav-links{gap:14px;font-size:.86rem}
  .brand img{height:24px}
}
