/* Balance by Brooklynn — shared styles across all pages */
:root{
  --green-deep:#3B2A22; --sage:#4D5B46; --sage-soft:#B5A795;
  --gold:#C9A6A0; --gold-deep:#7d6233; --paper:#F8F6F2; --paper-2:#F4ECDD; --line:#E2DBD0;
  --display:'Tenor Sans',Georgia,serif; --body:'Montserrat',system-ui,sans-serif; --quote:'Cormorant Garamond',Georgia,serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--body);color:var(--green-deep);background:var(--paper);line-height:1.7;font-weight:300;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.12;}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px;}
.eyebrow{font-size:12px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;color:var(--gold-deep);margin-bottom:18px;}
a{color:inherit;text-decoration:none;}
.btn{display:inline-block;background:var(--green-deep);color:var(--paper);padding:15px 34px;border-radius:2px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;transition:background .25s,transform .25s;border:1px solid var(--green-deep);cursor:pointer;}
.btn:hover{background:var(--sage);border-color:var(--sage);transform:translateY(-1px);}
.btn-outline{background:transparent;color:var(--green-deep);border:1px solid var(--green-deep);}
.btn-outline:hover{background:var(--green-deep);color:var(--paper);}
.btn-ivory{background:var(--paper);color:var(--green-deep);border-color:var(--paper);}
.btn-ivory:hover{background:var(--sage);color:var(--paper);border-color:var(--sage);}

header{position:sticky;top:0;z-index:50;background:rgba(244,245,241,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
nav{display:flex;align-items:center;justify-content:space-between;height:78px;}
.brand{display:flex;align-items:center;}
.brand img{height:46px;display:block;}
.nav-links{display:flex;gap:32px;align-items:center;}
.nav-links a{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--sage);transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--gold-deep);}
.nav-cta{background:var(--green-deep);color:var(--paper)!important;padding:11px 22px;border-radius:2px;}
.nav-cta:hover{background:var(--sage);}
.menu-toggle{display:none;background:none;border:none;font-size:26px;color:var(--green-deep);cursor:pointer;}

.hero{position:relative;padding:118px 0 108px;overflow:hidden;}
.hero::after{content:"";position:absolute;top:-12%;right:-8%;width:540px;height:540px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(94,114,99,.16),rgba(94,114,99,0) 70%);z-index:0;}
.hero .wrap{position:relative;z-index:1;max-width:900px;}
.hero h1{font-size:clamp(46px,8vw,88px);letter-spacing:-.01em;margin-bottom:26px;}
.hero h1 em{font-family:var(--quote);font-style:italic;color:var(--sage);}
.hero p.lead{font-size:20px;max-width:620px;color:var(--sage);margin-bottom:22px;}
.hero .creds{display:inline-block;font-size:13px;letter-spacing:.04em;color:var(--green-deep);background:var(--paper-2);border:1px solid var(--line);border-radius:30px;padding:10px 18px;margin-bottom:34px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
.hero-meta{margin-top:58px;display:flex;gap:48px;flex-wrap:wrap;}
.hero-meta div{max-width:210px;}
.hero-meta .num{font-family:var(--display);font-size:40px;color:var(--gold-deep);line-height:1;}
.hero-meta .lbl{font-size:13px;color:var(--sage);letter-spacing:.04em;margin-top:8px;}

section{padding:100px 0;}
.page-hero{padding:96px 0 0;}
.section-head{max-width:700px;margin-bottom:58px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:clamp(34px,5vw,54px);margin-bottom:18px;}
.section-head p{font-size:18px;color:var(--sage);}

/* THE METHOD */
.method{background:var(--green-deep);color:var(--paper);}
.method .eyebrow{color:var(--gold);}
.method .section-head h2{color:var(--paper);}
.method .section-head p{color:#c8d0c5;}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.step{border-top:2px solid var(--gold);padding-top:24px;}
.step .n{font-family:var(--display);font-size:20px;color:var(--gold);letter-spacing:.1em;}
.step h3{font-size:27px;color:var(--paper);margin:10px 0 12px;}
.step p{font-size:15px;color:#c8d0c5;}
.method-note{text-align:center;margin-top:54px;color:#aeb8a9;font-size:15px;}

.approach{background:var(--paper-2);}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.pillar{background:var(--paper);padding:42px 34px;border:1px solid var(--line);border-radius:3px;transition:transform .3s,box-shadow .3s;}
.pillar:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(38,49,43,.08);}
.pillar .tag{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);font-weight:500;}
.pillar h3{font-size:28px;margin:14px 0 16px;}
.pillar p{font-size:15px;color:var(--sage);}
.pillar ul{list-style:none;margin-top:20px;}
.pillar li{font-size:14px;padding:7px 0;border-top:1px solid var(--line);color:var(--sage);}
.pillar li::before{content:"—";color:var(--sage-soft);margin-right:10px;}

.audience .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.audience h2{font-size:clamp(32px,4.5vw,48px);margin-bottom:20px;}
.audience p{color:var(--sage);font-size:17px;margin-bottom:16px;}
.chips{display:flex;flex-wrap:wrap;gap:12px;}
.chip{background:var(--paper-2);border:1px solid var(--line);padding:12px 18px;border-radius:40px;font-size:14px;}
.chip strong{font-weight:500;}
.ph{aspect-ratio:1/1;background:linear-gradient(160deg,var(--paper-2),#dfe4da);border:1px solid var(--line);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--sage);font-size:14px;text-align:center;padding:26px;}
.ph.brandfill{flex-direction:column;gap:22px;background:linear-gradient(150deg,var(--paper-2) 0%,#e7e0d2 55%,#dfe4da 100%);position:relative;overflow:hidden;}
.ph.brandfill::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 24%,rgba(77,91,70,.10),rgba(77,91,70,0) 62%);}
.ph.brandfill img{width:104px;height:auto;opacity:.94;position:relative;z-index:1;}
.ph.brandfill span{font-size:12px;letter-spacing:.26em;text-transform:uppercase;font-weight:500;color:var(--gold-deep);position:relative;z-index:1;}

.services{background:var(--paper);}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.svc-col{background:var(--paper-2);border:1px solid var(--line);border-radius:3px;padding:34px 30px;}
.svc-col h3{font-size:26px;margin-bottom:6px;}
.svc-col .sub{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:20px;}
.svc-col ul{list-style:none;}
.svc-col li{padding:11px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--sage);}
.svc-note{text-align:center;margin-top:50px;font-size:15px;color:var(--sage);}

.philosophy{background:var(--paper-2);text-align:center;}
.philosophy blockquote{font-family:var(--quote);font-size:clamp(30px,4.8vw,50px);line-height:1.25;max-width:900px;margin:0 auto;font-style:italic;}
.philosophy blockquote span{color:var(--gold-deep);}

.about .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;}
.about .portrait{aspect-ratio:4/5;}
.about h2{font-size:clamp(32px,4.5vw,50px);margin-bottom:22px;}
.about p{color:var(--sage);font-size:17px;margin-bottom:18px;}
.about .creds-list{font-size:14px;color:var(--green-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:6px 0 14px;letter-spacing:.02em;}
.about .sig{font-family:var(--quote);font-style:italic;font-size:28px;color:var(--gold-deep);}

/* CLOSING CTA BAND */
.cta-band{background:var(--green-deep);color:var(--paper);text-align:center;}
.cta-band .eyebrow{color:var(--gold);}
.cta-band h2{font-size:clamp(30px,4.5vw,48px);color:var(--paper);margin-bottom:18px;}
.cta-band p{font-size:18px;color:#c8d0c5;max-width:620px;margin:0 auto 32px;}

footer{background:var(--green-deep);color:#9fa99a;padding:56px 0 40px;}
footer .wrap{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:28px;}
footer .brand img{height:42px;}
footer .f-links{display:flex;gap:26px;flex-wrap:wrap;}
footer .f-links a{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#9fa99a;transition:color .2s;}
footer .f-links a:hover{color:var(--paper);}
footer .f-contact{width:100%;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;gap:40px;flex-wrap:wrap;font-size:14px;}
footer .f-contact .k{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-soft);margin-bottom:4px;}
footer .f-contact a{color:#cfd6c9;transition:color .2s;}
footer .f-contact a:hover{color:var(--paper);}
footer .copyright{width:100%;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;font-size:13px;}
footer .copyright .credit{float:right;}

@media(max-width:880px){
  .nav-links{display:none;}
  .menu-toggle{display:block;}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:24px 28px;gap:20px;border-bottom:1px solid var(--line);}
  .steps,.pillars,.svc-grid{grid-template-columns:1fr;}
  .audience .wrap,.about .wrap{grid-template-columns:1fr;gap:40px;}
  section{padding:70px 0;}
  .hero{padding:80px 0 70px;}
  footer .copyright .credit{float:none;display:block;margin-top:10px;}
}
