
:root{
  --bg:#f3f0ea;
  --paper:#fbfaf7;
  --ink:#0e0e0e;
  --muted:#66635d;
  --line:rgba(14,14,14,.14);
  --max:1460px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:"DM Sans",sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.nav{
  position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  max-width:var(--max);margin:0 auto;padding:22px 38px;
  backdrop-filter:blur(16px);background:rgba(243,240,234,.84);border-bottom:1px solid var(--line)
}
.brand{display:flex;gap:14px;align-items:center}
.brand span{font:800 13px/1 "Manrope";background:var(--ink);color:#fff;padding:9px 8px;border-radius:50%}
.brand em{font:700 15px/1 "Manrope";font-style:normal}
nav{display:flex;gap:28px;align-items:center;font-size:14px;font-weight:600}
.nav-cta{border:1px solid var(--ink);padding:10px 15px;border-radius:999px}
.hero{
  max-width:var(--max);margin:0 auto;min-height:870px;padding:72px 38px 60px;
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);gap:54px;align-items:center
}
.eyebrow{font:700 12px/1.2 "Manrope";letter-spacing:.16em;margin:0 0 24px}
.hero h1,.section h2,.contact h2{font-family:"Manrope",sans-serif;letter-spacing:-.055em;margin:0;font-weight:700}
.hero h1{font-size:clamp(58px,7vw,118px);line-height:.9;max-width:900px}
.hero h1 span{color:#8a867e}
.hero-lead{font-size:20px;line-height:1.55;max-width:720px;color:#494641;margin:30px 0 0}
.hero-actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
.btn{padding:15px 19px;border-radius:999px;font-weight:700;font-size:14px}
.btn-dark{background:var(--ink);color:#fff}
.btn-ghost{border:1px solid var(--line);background:rgba(255,255,255,.35)}
.hero-points{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:10px;max-width:780px}
.hero-points li{position:relative;padding-left:22px;color:var(--muted);line-height:1.45}
.hero-points li::before{content:"";position:absolute;left:0;top:.54em;width:8px;height:8px;border-radius:50%;background:var(--ink)}
.hero-visual{display:flex;flex-direction:column;gap:14px}
.hero-image-wrap{
  background:#ddd6cc;border-radius:4px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.10);
  aspect-ratio:4/5;min-height:620px
}
.hero-image{width:100%;height:100%;object-fit:cover;object-position:60% center}
.hero-caption{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hero-caption div{padding-top:14px;border-top:1px solid var(--line)}
.hero-caption strong,.hero-caption span{display:block}
.hero-caption strong{font-size:13px}
.hero-caption span{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.4}
.proof-strip{max-width:var(--max);margin:0 auto;padding:0 38px 70px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.proof-strip div{border-top:1px solid var(--ink);padding-top:18px}
.proof-strip strong{display:block;font:700 26px/1.05 "Manrope";letter-spacing:-.04em}
.proof-strip span{display:block;margin-top:10px;font-size:12px;color:var(--muted);line-height:1.45;max-width:220px}
.section{max-width:var(--max);margin:0 auto;padding:126px 38px}
.section-head{display:grid;grid-template-columns:.55fr 1.15fr .9fr;gap:42px;align-items:start;margin-bottom:72px}
.section-head h2{font-size:clamp(46px,5vw,80px);line-height:.98}
.section-head>p:last-child{font-size:17px;line-height:1.6;color:var(--muted);margin:0}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pillar{background:var(--paper);padding:34px;min-height:320px;border:1px solid var(--line)}
.pillar>span{font:700 12px/1 "Manrope";color:var(--muted)}
.pillar h3{font:700 40px/1.03 "Manrope";letter-spacing:-.04em;margin:112px 0 14px}
.pillar p{line-height:1.55;color:var(--muted);margin:0}
.dark-band{background:#0d0d0d;color:#fff;padding:110px max(38px,calc((100vw - var(--max))/2 + 38px))}
.quote{max-width:1080px}
.quote p{font:600 clamp(40px,5.5vw,88px)/.98 "Manrope";letter-spacing:-.055em;margin:0}
.quote span{display:block;margin-top:22px;color:#aaa}
.numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:96px}
.numbers div{border-top:1px solid #555;padding-top:20px}
.numbers strong{font:700 28px/1.04 "Manrope";display:block}
.numbers span{display:block;color:#a7a7a7;margin-top:8px;font-size:13px;line-height:1.45}
.timeline{border-top:1px solid var(--ink)}
.timeline-item{display:grid;grid-template-columns:.52fr 1.48fr;padding:35px 0;border-bottom:1px solid var(--line);gap:40px}
.year{font:700 13px/1.3 "Manrope";letter-spacing:.12em}
.timeline-item h3{font:700 34px/1.05 "Manrope";letter-spacing:-.04em;margin:0 0 10px}
.timeline-item p{max-width:700px;color:var(--muted);line-height:1.6;margin:0}
.principle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.principle-grid>div{background:var(--bg);padding:40px;min-height:250px}
.principle-grid strong{font:700 12px/1 "Manrope"}
.principle-grid h3{font:700 30px/1.05 "Manrope";letter-spacing:-.035em;margin:82px 0 12px}
.principle-grid p{color:var(--muted);line-height:1.55;max-width:520px}
.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.media-card{display:flex;flex-direction:column;min-height:300px;background:var(--paper);border:1px solid var(--line);padding:30px;transition:.25s ease}
.media-card:hover{transform:translateY(-4px);background:#fff}
.media-card span{font:700 11px/1 "Manrope";letter-spacing:.13em;color:var(--muted)}
.media-card h3{font:700 35px/1.08 "Manrope";letter-spacing:-.045em;max-width:520px;margin:75px 0 20px}
.media-card b{margin-top:auto;font-size:13px}
.contact{max-width:var(--max);margin:60px auto 0;padding:85px 38px 70px;border-top:1px solid var(--ink);display:grid;grid-template-columns:1.4fr .6fr;gap:40px}
.contact h2{font-size:clamp(48px,5.8vw,90px);line-height:.95}
.contact p:not(.eyebrow){font-size:18px;color:var(--muted);max-width:710px;line-height:1.55}
.contact-links{display:flex;flex-direction:column;align-self:end;gap:12px}
.contact-links a{font:700 18px/1.2 "Manrope";border-bottom:1px solid var(--ink);padding:12px 0}
footer{max-width:var(--max);margin:0 auto;padding:22px 38px 40px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}
@media(max-width:1120px){
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:64px}
  .hero-visual{max-width:760px}
  .hero-image-wrap{min-height:auto}
  .proof-strip{grid-template-columns:repeat(2,1fr)}
  .section-head{grid-template-columns:1fr}
  .pillars{grid-template-columns:1fr}
  .pillar{min-height:250px}.pillar h3{margin-top:76px}
  .numbers{grid-template-columns:1fr}
  .media-grid{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
}
@media(max-width:720px){
  nav a:not(.nav-cta){display:none}
  .nav,.hero,.proof-strip,.section,.contact,footer{padding-left:20px;padding-right:20px}
  .nav{padding-top:16px;padding-bottom:16px}
  .brand em{display:none}
  .hero{padding-top:48px;gap:34px}
  .hero h1{font-size:50px}
  .hero-lead{font-size:17px}
  .hero-points{gap:8px}
  .hero-caption{grid-template-columns:1fr}
  .proof-strip{grid-template-columns:1fr;gap:22px}
  .section{padding-top:88px;padding-bottom:88px}
  .section-head{margin-bottom:45px}
  .section-head h2{font-size:44px}
  .timeline-item{grid-template-columns:1fr;gap:12px}
  .principle-grid{grid-template-columns:1fr}
  .media-card h3{font-size:30px}
  footer{flex-direction:column;gap:8px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none;transition:none}
}
