*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",sans-serif;background:var(--paper);color:var(--ink);overflow-x:hidden}
a{color:inherit}
.wrap{max-width:1220px;margin:auto;padding:0 64px}

/* NAV */
nav{
  height:76px;position:fixed;inset:0 0 auto;z-index:100;
  background:rgba(15,45,82,.97);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.logo{
  font-family:"Newsreader",serif;color:#fff;text-decoration:none;
  font-size:1.28rem;letter-spacing:.18em;text-transform:uppercase
}

.nav-links a{
  color:rgba(255,255,255,.72);text-decoration:none;text-transform:uppercase;
  letter-spacing:.13em;font-size:.7rem;font-weight:500
}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-contact{
  border:1px solid rgba(155,197,186,.7);padding:10px 18px!important;color:#fff!important
}

/* HERO */
.hero{
  min-height:700px;background:var(--navy);display:flex;align-items:center;
  padding:150px 0 100px;position:relative;overflow:hidden
}
.hero:after{
  content:"";position:absolute;width:720px;height:720px;border-radius:50%;
  right:-260px;top:40px;border:1px solid rgba(155,197,186,.13)
}
.hero:before{
  content:"";position:absolute;width:500px;height:500px;border-radius:50%;
  right:-100px;top:150px;border:1px solid rgba(155,197,186,.08)
}
.eyebrow{
  color:var(--sage-light);
  text-transform:uppercase;font-weight:600;margin-bottom:30px
}
.hero h1{
  max-width:900px;font-family:"Newsreader",serif;font-size:clamp(3.3rem,6vw,5.6rem);
  line-height:1.02;font-weight:400;color:#fff;letter-spacing:-.025em
}
.hero h1 em{color:var(--sage-light);font-weight:400}
.hero-intro{
  margin-top:38px;max-width:610px;color:rgba(255,255,255,.64);
  font-size:1rem;line-height:1.85;font-weight:300
}

/* THESIS */
.thesis{padding:118px 0;background:var(--paper);position:relative}
.thesis:before{content:"";position:absolute;left:0;top:0;width:34%;height:1px;background:linear-gradient(90deg,var(--sage),transparent)}
.thesis-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:start}
.section-no{
  color:var(--sage);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;
  font-weight:600;padding-top:8px
}
.thesis h2,.services-head h2,.founder h2{
  font-family:"Newsreader",serif;font-size:clamp(2.25rem,3.6vw,3.6rem);
  line-height:1.12;font-weight:400;letter-spacing:-.02em;color:var(--navy)
}
.copy{font-size:.96rem;line-height:1.9;color:var(--text);font-weight:300}
.copy p+p{margin-top:18px}

/* SERVICES */
.services{padding:112px 0 124px;background:var(--warm)}
.services-shell{background:rgba(255,255,255,.82);border:1px solid rgba(15,45,82,.10);box-shadow:var(--shadow);padding:64px 68px 26px;position:relative;overflow:hidden}
.services-shell:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:linear-gradient(to bottom,var(--sage),var(--steel),rgba(82,112,143,.18))}
.services-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;margin-bottom:52px;align-items:end}
.services-head p{max-width:610px}
.service-list{position:relative}
.service-list:before{content:"";position:absolute;left:24px;top:33px;bottom:34px;width:1px;background:linear-gradient(to bottom,var(--sage),rgba(82,112,143,.25))}
.service{display:grid;grid-template-columns:72px 1fr 1.15fr 34px;gap:28px;align-items:start;padding:34px 8px;text-decoration:none;border-top:1px solid var(--line);position:relative;transition:background .22s ease,padding .22s ease}
.service:first-child{border-top:1px solid rgba(15,45,82,.18)}
.service:hover{background:rgba(15,45,82,.025);padding-left:14px;padding-right:14px}
.service-num{width:48px;height:48px;border-radius:50%;background:var(--paper);border:1px solid rgba(74,124,111,.35);display:flex;align-items:center;justify-content:center;font-size:.66rem;letter-spacing:.08em;color:var(--sage);font-weight:600;position:relative;z-index:2}
.service-title{font-family:"Newsreader",serif;font-size:1.72rem;line-height:1.18;color:var(--navy);font-weight:500;padding-top:8px}
.service-desc{font-size:.88rem;line-height:1.82;color:#5B646D;font-weight:300;padding-top:6px}
.service-arrow{width:30px;height:30px;border:1px solid rgba(74,124,111,.32);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--sage);margin-top:7px;transition:background .2s,color .2s}
.service:hover .service-arrow{background:var(--sage);color:#fff}
.service.foundation .service-title{font-size:1.58rem}
.service.foundation .service-desc{color:#70787F}

/* PHILOSOPHY */
.philosophy{background:radial-gradient(circle at 88% 18%,rgba(155,197,186,.13),transparent 26%),linear-gradient(135deg,var(--navy),var(--navy-2));padding:112px 0;position:relative;overflow:hidden}
.philosophy:after{content:"";position:absolute;right:7%;top:50%;transform:translateY(-50%);width:240px;height:240px;border:1px solid rgba(155,197,186,.12);border-radius:50%}
.philosophy-inner{max-width:930px}
.philosophy .eyebrow{margin-bottom:22px}
.philosophy blockquote{
  font-family:"Newsreader",serif;font-size:clamp(2.1rem,3.6vw,3.5rem);
  line-height:1.18;color:#fff;font-weight:400
}
.philosophy blockquote em{color:var(--sage-light)}
.philosophy p{
  margin-top:30px;max-width:650px;color:rgba(255,255,255,.58);
  line-height:1.85;font-size:.92rem;font-weight:300
}

/* FOUNDER */
.founder{padding:120px 0;background:var(--paper)}
.founder-panel{display:grid;grid-template-columns:.78fr 1.22fr;background:#fff;border:1px solid rgba(15,45,82,.10);box-shadow:var(--shadow);min-height:440px}
.founder-identity{background:linear-gradient(145deg,var(--navy),#183F6B);padding:62px 52px;position:relative;overflow:hidden;color:#fff}
.founder-identity:after{content:"";position:absolute;right:-85px;bottom:-100px;width:250px;height:250px;border:1px solid rgba(155,197,186,.16);border-radius:50%}
.founder-kicker{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sage-light);font-weight:600;margin-bottom:54px}
.founder-name{font-family:"Newsreader",serif;font-size:2.35rem;color:#fff}
.founder-role{margin-top:6px;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--sage-light);font-weight:600}
.credentials{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}
.credentials span{font-size:.63rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(155,197,186,.34);padding:7px 11px;color:var(--sage-light)}
.cred-line{margin-top:34px;font-family:"Newsreader",serif;font-size:1.23rem;line-height:1.5;color:rgba(255,255,255,.82);max-width:300px}
.founder-copy{padding:62px 64px}
.founder-copy .section-no{margin-bottom:22px}
.founder-copy h2{font-family:"Newsreader",serif;font-size:clamp(2.25rem,3.6vw,3.4rem);line-height:1.12;font-weight:400;letter-spacing:-.02em;color:var(--navy);margin-bottom:30px}
.founder-copy .copy{max-width:680px}
.text-link{display:inline-block;margin-top:30px;color:var(--sage);text-decoration:none;text-transform:uppercase;font-size:.7rem;letter-spacing:.12em;font-weight:600;border-bottom:1px solid rgba(74,124,111,.4);padding-bottom:4px}

/* CTA */
.cta{padding:92px 0;position:relative}
.cta:before{content:"";position:absolute;left:8%;top:0;width:1px;height:100%;background:rgba(255,255,255,.10)}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}
.cta h2{
  font-family:"Newsreader",serif;font-size:clamp(2rem,3.3vw,3.2rem);
  color:#fff;font-weight:400
}
.cta a{
  flex:none;border:1px solid rgba(255,255,255,.75);padding:15px 27px;
  color:#fff;text-decoration:none;text-transform:uppercase;font-size:.7rem;
  letter-spacing:.13em;font-weight:600
}
.cta a:hover{background:#fff;color:var(--sage)}

/* FOOTER */
footer{background:#091F39;padding:64px 0 30px;color:#fff}
.footer-grid{display:grid;gap:55px}
.footer-logo{
  font-family:"Newsreader",serif;font-size:1.2rem;letter-spacing:.16em;
  text-transform:uppercase
}
.footer-tag{color:var(--sage-light);font-size:.75rem;margin-top:9px}
.footer-note{font-size:.76rem;line-height:1.75;color:rgba(255,255,255,.4);margin-top:18px;max-width:300px}
.footer-col h4{
  color:var(--sage-light);font-size:.62rem;text-transform:uppercase;
  letter-spacing:.18em;margin-bottom:17px
}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:9px}
.footer-col a,.footer-col p{font-size:.77rem;color:rgba(255,255,255,.46);text-decoration:none;line-height:1.8}
.footer-col a:hover{color:#fff}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);margin-top:45px;padding-top:25px;
  display:flex;justify-content:space-between
}
.footer-bottom p{font-size:.66rem;color:rgba(255,255,255,.25)}

/* MOBILE */
@media(max-width:850px){
  .wrap{padding:0 26px}
  
  .hero{min-height:620px;padding-top:130px}
  .thesis-grid,.services-head,.founder-panel{grid-template-columns:1fr;gap:28px}
  .services-shell{padding:44px 34px 16px}
  .service{grid-template-columns:52px 1fr 28px}
  .service-desc{grid-column:2/3;margin-top:-12px}
  .service-arrow{grid-column:3;grid-row:1}
  .founder-panel{gap:0}
  .founder-identity,.founder-copy{padding:46px 38px}
  .cta-inner{display:block}
  .cta a{margin-top:28px}
  .footer-grid{gap:35px}
}
@media(max-width:560px){
  .hero h1{font-size:3.15rem}
  .services-shell{padding:34px 20px 8px}
  .service{grid-template-columns:52px 1fr 28px;gap:16px}
  .service-list:before{left:23px}
  .service-title{font-size:1.45rem}
  .founder-identity,.founder-copy{padding:38px 28px}
  .footer-grid{}
}

/* Larger editorial section labels */
.section-label, .eyebrow, .kicker, .label {
  line-height: 1.5 !important;
}