
:root{--ink:#24332c;--forest:#355b4a;--sage:#dfe8df;--cream:#f8f4ec;--paper:#fffdf9;--clay:#b87955;--gold:#c6a36b;--muted:#65736c;--line:#d8ded9;--shadow:0 16px 45px rgba(37,54,46,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.12;font-weight:500;margin:0 0 .65rem}h1{font-size:clamp(2.7rem,6vw,5.4rem);letter-spacing:-.035em}h2{font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.02em}h3{font-size:1.45rem}.wrap{width:min(1140px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:white;padding:10px;z-index:99}.topbar{background:var(--forest);color:white;text-align:center;padding:9px 20px;font-size:.9rem}.nav{position:sticky;top:0;z-index:20;background:rgba(255,253,249,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(53,91,74,.12)}.navin{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;font-family:Georgia,serif;font-size:1.35rem;line-height:1}.brand small{display:block;font-family:Inter,sans-serif;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:5px}.links{display:flex;align-items:center;gap:22px;font-size:.93rem}.links a{text-decoration:none}.links a:hover{text-decoration:underline;text-underline-offset:5px}.btn{display:inline-block;background:var(--forest);color:#fff!important;text-decoration:none!important;padding:13px 19px;border-radius:999px;font-weight:650;border:1px solid var(--forest);transition:.2s}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(53,91,74,.18)}.btn.alt{background:transparent;color:var(--forest)!important}.hero{background:linear-gradient(120deg,var(--cream),#edf2ed);padding:72px 0}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:62px;align-items:center}.eyebrow{color:var(--forest);font-weight:750;text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;margin-bottom:15px}.lead{font-size:1.18rem;color:#48564f;max-width:660px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.portrait{border-radius:220px 220px 24px 24px;box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover;object-position:50% 18%}.section{padding:84px 0}.soft{background:var(--cream)}.sage{background:var(--sage)}.intro{max-width:760px;margin-bottom:38px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:white;border:1px solid var(--line);padding:28px;border-radius:20px;box-shadow:0 8px 28px rgba(37,54,46,.05)}.card p{color:#536159}.card a{color:var(--forest);font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}.photo{border-radius:22px;box-shadow:var(--shadow);width:100%;height:480px;object-fit:cover}.quote{font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.3}.gallery{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:14px}.gallery img{height:270px;width:100%;object-fit:cover;border-radius:16px}.gallery img:first-child{grid-row:span 2;height:554px}.gallery img:nth-child(6){grid-column:span 2}.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}.fact{padding:18px;border-top:1px solid var(--line)}.fact strong{display:block;color:var(--forest)}.pagehead{padding:70px 0 54px;background:var(--cream)}.pagehead h1{font-size:clamp(2.5rem,5vw,4.5rem);max-width:850px}.content{max-width:790px}.content h2{margin-top:2.2rem;font-size:2rem}.content li{margin:.45rem 0}.cta{background:var(--forest);color:white;border-radius:28px;padding:48px;display:grid;grid-template-columns:1.5fr .5fr;gap:30px;align-items:center}.cta .btn{background:white;color:var(--forest)!important;border-color:white}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.contactbox{background:white;border-radius:20px;padding:30px;border:1px solid var(--line)}.footer{background:#1f3028;color:#eaf0ec;padding:56px 0 28px}.footgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footer a{color:#eaf0ec}.fine{border-top:1px solid rgba(255,255,255,.16);margin-top:36px;padding-top:22px;color:#bfc9c3;font-size:.83rem}.mobile{display:none}.notice{font-size:.9rem;color:var(--muted)}
@media(max-width:850px){.links{display:none}.mobile{display:block}.hero-grid,.split,.contactgrid,.cta{grid-template-columns:1fr}.hero{padding:50px 0}.portrait{max-height:620px}.grid3,.facts{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img,.gallery img:first-child{height:260px;grid-row:auto}.gallery img:nth-child(6){grid-column:auto}.footgrid{grid-template-columns:1fr}.section{padding:62px 0}}
@media(max-width:560px){.wrap{width:min(100% - 28px,1140px)}.grid3,.facts,.gallery{grid-template-columns:1fr}.gallery img{height:240px}.cta{padding:30px}.topbar{font-size:.78rem}.brand{font-size:1.15rem}}


/* Mobile/tablet consistency update */
.contact-options{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.location-photo{height:420px}
@media(max-width:850px){
  .navin{min-height:72px;gap:14px}
  .brand{max-width:58%;font-size:1.18rem}
  .brand small{font-size:.60rem;letter-spacing:.12em;line-height:1.25}
  .mobile-consult{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:11px 15px;font-size:.86rem}
  .pagehead{padding:52px 0 42px}
  .pagehead h1{font-size:clamp(2.35rem,8vw,3.7rem);max-width:720px}
  .lead{font-size:1.08rem}
  .contactbox{padding:26px}
  .contactbox .actions .btn{width:100%;text-align:center}
  .location-split{gap:34px}
  .location-photo{height:360px}
}
@media(max-width:560px){
  .topbar{padding:8px 14px;line-height:1.35}
  .navin{min-height:68px}
  .brand{font-size:1.02rem;max-width:55%;line-height:1.05}
  .brand small{font-size:.52rem;letter-spacing:.09em;margin-top:4px}
  .mobile-consult{padding:10px 12px;font-size:.78rem}
  .pagehead{padding:40px 0 34px}
  .pagehead h1{font-size:2.35rem;line-height:1.08;letter-spacing:-.025em}
  .lead{font-size:1rem;line-height:1.55}
  .section{padding:48px 0}
  .contactgrid{gap:18px}
  .contactbox{padding:22px;border-radius:16px}
  .contactbox h2{font-size:1.75rem}
  .actions{gap:10px;margin-top:22px}
  .actions .btn{width:100%;text-align:center;padding:12px 15px}
  .location-photo{height:280px}
  .location-split h2{font-size:2rem}
  .footer{padding-top:44px}
}


/* Logo + portrait update */
.brand-logo{display:flex;align-items:center;flex:0 0 auto;max-width:none;font-size:0}
.brand-logo img{width:210px;height:68px;object-fit:contain;object-position:left center}
.hero .portrait{display:block;width:100%;min-height:0;object-position:50% 18%}
@media(max-width:850px){
  .brand-logo{max-width:44%}
  .brand-logo img{width:180px;height:62px}
  .hero-grid{gap:32px}
  .hero .portrait{display:block;max-height:none;width:min(100%,520px);justify-self:center;aspect-ratio:4/5;object-fit:cover;object-position:50% 16%}
}
@media(max-width:560px){
  .navin{gap:10px}
  .brand-logo{max-width:48%;min-width:0}
  .brand-logo img{width:145px;height:58px}
  .mobile-consult{font-size:.74rem;padding:9px 10px}
  .hero-grid{gap:26px}
  .hero .portrait{display:block!important;width:100%;height:auto;max-height:none;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%;border-radius:22px}
}
