:root{
  --ink:#13201f;--muted:#65706e;--paper:#f7f4ee;--white:#fff;
  --forest:#153f39;--forest-2:#0e2d29;--gold:#b38b4d;--line:#dcd7cc;
  --shadow:0 24px 70px rgba(20,40,36,.13);--radius:24px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",sans-serif;background:var(--paper);color:var(--ink);line-height:1.7}
img{max-width:100%;display:block}
a{color:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:20px;top:20px;background:#fff;padding:10px;z-index:999}
.site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(247,244,238,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(21,63,57,.08)}
.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;letter-spacing:-.02em}
.brand-mark{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff;font-size:.9rem}
.main-nav{display:flex;gap:28px;align-items:center}
.main-nav a{text-decoration:none;font-size:.95rem;font-weight:600}
.nav-cta{padding:10px 18px;border:1px solid var(--forest);border-radius:999px}
.menu-toggle{display:none;background:none;border:0;font:inherit}
.hero{min-height:92vh;padding:150px 0 90px;display:grid;align-items:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#f7f4ee 0%,#ede9df 100%)}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.74rem;font-weight:700;color:var(--gold);margin:0 0 18px}
h1,h2,h3{font-family:"Playfair Display",serif;line-height:1.12;margin-top:0}
h1{font-size:clamp(3.3rem,7vw,6.6rem);letter-spacing:-.055em;margin-bottom:28px}
h2{font-size:clamp(2.2rem,4vw,4.2rem);letter-spacing:-.04em}
h3{font-size:1.55rem}
.hero-intro{font-size:1.22rem;max-width:690px;color:var(--muted)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0}
.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;text-decoration:none;font-weight:700}
.button-primary{background:var(--forest);color:#fff}
.button-secondary{border:1px solid var(--forest)}
.hero-signature{font-family:"Playfair Display",serif;font-style:italic;font-size:1.35rem;color:var(--forest)}
.portrait-card{background:#fff;padding:18px;border-radius:30px;box-shadow:var(--shadow);transform:rotate(2deg)}
.portrait-frame{aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:linear-gradient(160deg,#c8b99e,#153f39)}
.portrait-frame img{width:100%;height:100%;object-fit:cover}
.portrait-placeholder{display:none;width:100%;height:100%;place-items:center;text-align:center;color:#fff}
.portrait-placeholder span{font-family:"Playfair Display";font-size:5rem}
.portrait-placeholder small{grid-column:1}
.portrait-caption{display:flex;justify-content:space-between;gap:15px;padding:16px 6px 4px;font-size:.9rem}.portrait-caption span{color:var(--muted)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(5px);opacity:.22}.hero-orb-one{width:420px;height:420px;background:#b38b4d;right:-180px;top:80px}.hero-orb-two{width:280px;height:280px;background:#153f39;left:-140px;bottom:-80px}
.proof-strip{background:var(--forest);color:#fff;padding:30px 0}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.proof-grid div{display:flex;flex-direction:column}.proof-grid strong{font-size:1.6rem}.proof-grid span{opacity:.7;font-size:.85rem}
.section{padding:110px 0}.section-soft{background:#ede9df}.section-dark{background:var(--forest-2);color:#fff}
.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.section-heading p:last-child{color:var(--muted);max-width:680px}.centered{text-align:center;margin:0 auto 55px}.centered p:last-child{margin:auto}
.prose{font-size:1.05rem}.lead{font-size:1.35rem;color:var(--forest);font-weight:600}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature-card{background:#fff;padding:34px;border-radius:var(--radius);min-height:370px;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(20,40,36,.05)}.feature-card p{color:var(--muted);flex:1}.feature-card a{text-decoration:none;font-weight:700}.card-number{font-size:.8rem;color:var(--gold);letter-spacing:.15em}
.tag-grid{display:flex;flex-wrap:wrap;gap:12px}.tag-grid span{background:#fff;border:1px solid var(--line);padding:12px 17px;border-radius:999px}
.publication-list{border-top:1px solid rgba(255,255,255,.18)}.publication{display:grid;grid-template-columns:220px 1fr 1.3fr 150px;gap:25px;align-items:center;padding:34px 0;border-bottom:1px solid rgba(255,255,255,.18)}.publication h3{margin:0}.publication p,.publication-meta{color:rgba(255,255,255,.65)}.publication a{text-decoration:none;font-weight:700}
.vision-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:center}.vision-quote{background:#fff;padding:55px;border-radius:var(--radius);box-shadow:var(--shadow)}blockquote{font-family:"Playfair Display";font-size:clamp(1.6rem,3vw,2.65rem);line-height:1.32;margin:0}.quote-mark{font-family:"Playfair Display";font-size:6rem;color:var(--gold);line-height:.5}
.contact-card{background:var(--forest);color:#fff;padding:60px;border-radius:32px;display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-card h2{margin-bottom:12px}.contact-card p{color:rgba(255,255,255,.72)}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.contact-actions .button-primary{background:#fff;color:var(--forest)}.text-link{text-decoration:none}
.site-footer{padding:55px 0;background:#0b201d;color:#fff}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .5fr;gap:40px}.footer-brand .brand-mark{background:#fff;color:var(--forest)}.site-footer p,.footer-copy{color:rgba(255,255,255,.55)}.footer-links{display:flex;flex-direction:column;gap:8px}.footer-links a{text-decoration:none}
.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
  .menu-toggle{display:block}.main-nav{display:none;position:absolute;top:78px;left:20px;right:20px;flex-direction:column;align-items:flex-start;background:#fff;padding:22px;border-radius:18px;box-shadow:var(--shadow)}.main-nav.open{display:flex}
  .hero-grid,.two-col,.vision-grid{grid-template-columns:1fr;gap:50px}.hero{padding-top:125px}.portrait-card{max-width:520px}.proof-grid{grid-template-columns:repeat(2,1fr)}.cards-grid{grid-template-columns:1fr}.publication{grid-template-columns:1fr;gap:8px}.contact-card{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .container{width:min(100% - 28px,1180px)}.section{padding:78px 0}.hero{min-height:auto}.hero-actions{flex-direction:column;align-items:stretch}.proof-grid{grid-template-columns:1fr 1fr}.contact-card{padding:34px}.portrait-caption{flex-direction:column}
}
