@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Inter:wght@400;500;600&display=swap');

:root { --cream:#f7f1e7; --teal:#164f52; --ink:#344847; --gold:#b89a5b; --aqua:#8bb9b2; --white:#fffdf8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--white); color:var(--ink); font-family:'Inter',Arial,sans-serif; font-size:16px; line-height:1.75; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:'Cormorant Garamond',Georgia,serif; color:var(--teal); line-height:1.04; letter-spacing:-.025em; }
h2 { font-size:clamp(2.6rem,5vw,4.6rem); font-weight:500; }
.site-header { height:138px; display:flex; align-items:center; gap:42px; padding:8px 5vw; background:rgba(255,253,248,.96); position:sticky; top:0; z-index:10; border-bottom:1px solid rgba(184,154,91,.25); backdrop-filter:blur(12px); }
.brand { width:118px; height:124px; display:block; flex:none; background:var(--white); }
.brand img { display:block; width:100%; height:100%; object-fit:contain; }
nav { display:flex; align-items:center; justify-content:center; gap:27px; margin-left:auto; }
nav a { font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; position:relative; white-space:nowrap; }
nav a:after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:1px; background:var(--gold); transition:.25s; }
nav a:hover:after,nav a:focus-visible:after { right:0; }
.hero { min-height:calc(100vh - 138px); display:grid; grid-template-columns:51% 49%; background:var(--cream); overflow:hidden; }
.hero-copy { padding:clamp(60px,8vh,100px) 8vw; display:flex; flex-direction:column; justify-content:center; position:relative; }
.hero-copy:after { content:""; width:420px; height:420px; position:absolute; left:-180px; bottom:-190px; border-radius:50%; background:radial-gradient(circle,rgba(139,185,178,.22),transparent 68%); }
.eyebrow { color:var(--gold); font-size:.76rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; margin-bottom:24px; }
.eyebrow span { padding:0 8px; }
.eyebrow.light { color:#e3c889; }
h1 { max-width:700px; font-size:clamp(3.5rem,6.4vw,6.4rem); font-weight:500; margin-bottom:30px; }
h1 em { font-weight:500; color:var(--gold); }
.hero-text { max-width:600px; font-size:1.12rem; line-height:1.8; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:22px; }
.text-link { color:var(--teal); font-weight:600; border-bottom:1px solid var(--gold); padding-bottom:3px; }
.text-link span { color:var(--gold); padding-left:8px; }
.hero-notes { display:flex; flex-wrap:wrap; gap:10px 25px; margin-top:55px; color:#657b78; font-size:.77rem; text-transform:uppercase; letter-spacing:.08em; }
.hero-photo { min-height:640px; overflow:hidden; }
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center 45%; }
.section { padding:120px clamp(28px,8vw,130px); }
.intro { display:grid; grid-template-columns:190px 1fr; gap:8vw; background:var(--white); }
.section-label { color:var(--gold); font-size:.77rem; text-transform:uppercase; letter-spacing:.15em; padding-top:18px; }
.lead { max-width:1000px; color:var(--teal); font:500 clamp(2rem,3.5vw,3.4rem)/1.25 'Cormorant Garamond',Georgia,serif; }
.columns { display:grid; grid-template-columns:1fr 1fr; gap:6vw; max-width:1050px; margin-top:55px; }
.about-highlights { display:grid; grid-template-columns:repeat(3,1fr); max-width:1120px; margin-top:65px; border-top:1px solid rgba(184,154,91,.55); border-bottom:1px solid rgba(184,154,91,.55); }
.about-highlights article { padding:35px 30px 30px; border-right:1px solid rgba(184,154,91,.4); }
.about-highlights article:last-child { border-right:0; }
.about-highlights span { display:block; color:var(--gold); font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; margin-bottom:13px; }
.about-highlights p { margin:0; font-size:.92rem; line-height:1.75; }
.services { background:var(--cream); }
.center-heading { max-width:850px; text-align:center; margin:0 auto 70px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); max-width:1250px; margin:auto; border-top:1px solid rgba(184,154,91,.55); border-bottom:1px solid rgba(184,154,91,.55); }
.service-grid article { padding:50px 42px 55px; border-right:1px solid rgba(184,154,91,.45); }
.service-grid article:last-child { border:0; }
.number { color:var(--gold); font:500 1.1rem 'Cormorant Garamond',Georgia,serif; }
.service-grid h3 { color:var(--teal); font:600 2rem 'Cormorant Garamond',Georgia,serif; margin:25px 0 16px; }
.specialties { max-width:1050px; margin:50px auto 0; text-align:center; font-size:.92rem; }
.approach { background:var(--white); }
.approach-panel { background:var(--teal); color:#eaf0ec; padding:clamp(48px,7vw,90px); display:grid; grid-template-columns:1.25fr .75fr; gap:9vw; }
.approach-panel h2 { color:var(--cream); }
.approach-panel ul { list-style:none; padding:12px 0 0; margin:0; }
.approach-panel li { padding:16px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.approach-panel li:before { content:"✦"; color:var(--gold); margin-right:13px; }
.thinking { display:grid; grid-template-columns:.65fr 1.35fr; gap:8vw; align-items:center; background:var(--cream); }
.book-cover { width:min(100%,310px); margin:auto; padding:18px; background:var(--white); box-shadow:0 30px 90px rgba(52,72,71,.16); transform:rotate(-1.5deg); }
.book-cover img { display:block; width:100%; height:auto; }
.thinking>div:last-child { max-width:760px; }
.thinking p:not(.eyebrow) { margin-bottom:30px; }
.credentials-section { background:var(--white); }
.credentials-intro { max-width:900px; margin:0 auto 65px; text-align:center; }
.credentials-intro>p:last-child { max-width:700px; margin:0 auto; }
.credentials-card { display:grid; grid-template-columns:1fr 1fr; gap:8vw; max-width:1120px; margin:auto; padding:65px clamp(35px,6vw,80px); background:var(--cream); border-top:1px solid var(--gold); border-bottom:1px solid var(--gold); }
.credentials-card>div+div { border-left:1px solid rgba(184,154,91,.45); padding-left:8vw; }
.credentials-card h3 { color:var(--teal); font:600 1.65rem 'Cormorant Garamond',Georgia,serif; margin-bottom:2px; }
.credential-kicker { color:var(--gold); font-size:.76rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; margin-bottom:28px; }
.contact { background:var(--teal); color:#eaf0ec; display:grid; grid-template-columns:1.2fr .8fr; gap:9vw; align-items:center; }
.contact h2 { color:var(--cream); }
.contact-card { border-left:1px solid rgba(255,255,255,.25); padding-left:6vw; display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.contact-card>a { font:500 1.5rem 'Cormorant Garamond',Georgia,serif; color:var(--cream); }
footer { padding:42px 7vw; display:grid; grid-template-columns:170px 1fr 1.4fr; gap:45px; align-items:center; font-size:.72rem; background:var(--white); }
.footer-logo { width:160px; height:168px; display:block; background:var(--white); }
.footer-logo img { display:block; width:100%; height:100%; object-fit:contain; }
.disclaimer { color:#74827f; }
:focus-visible { outline:3px solid #c7ac72; outline-offset:4px; }

@media (max-width:1100px) { nav { display:none; } .site-header { justify-content:flex-start; } .hero { grid-template-columns:1fr 1fr; } .hero-copy { padding:65px 5vw; } h1 { font-size:4.7rem; } }
@media (max-width:760px) {
  .site-header { height:112px; padding:4px 22px; } .brand { width:92px; height:98px; }
  .hero { min-height:auto; grid-template-columns:1fr; } .hero-copy { padding:70px 28px 60px; order:2; } .hero-photo { min-height:480px; max-height:68vh; order:1; } h1 { font-size:clamp(3.5rem,15vw,5rem); }
  .section { padding:80px 28px; } .intro,.thinking,.approach-panel,.contact { grid-template-columns:1fr; } .intro { gap:25px; } .columns,.credentials-card,.about-highlights { grid-template-columns:1fr; gap:35px; }
  .about-highlights article { border-right:0; border-bottom:1px solid rgba(184,154,91,.4); padding:30px 5px; } .about-highlights article:last-child { border-bottom:0; }
  .service-grid { grid-template-columns:1fr; } .service-grid article { border-right:0; border-bottom:1px solid rgba(184,154,91,.45); padding:38px 20px; } .service-grid article:last-child { border:0; }
  .book-cover { max-width:260px; } .credentials-card>div+div { border-left:0; border-top:1px solid rgba(184,154,91,.45); padding:35px 0 0; } .contact-card { border-left:0; border-top:1px solid rgba(255,255,255,.25); padding:35px 0 0; }
  footer { grid-template-columns:1fr; text-align:center; } footer img { margin:auto; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
