:root{--ink:#39322f;--muted:#746b67;--rose:#a76e68;--rose-dark:#8f5955;--cream:#f7f3ee;--paper:#fffdfa;--sand:#e9dfd5;--line:#dfd5cd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #eee8e3;background:rgba(255,253,250,.94);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand,.footer-brand{display:flex;flex-direction:column;line-height:1}.brand span,.footer-brand span{font-family:'Playfair Display',serif;font-size:1.6rem}.brand small,.footer-brand small{letter-spacing:.35em;font-size:.58rem;color:var(--rose);margin-top:8px}.nav{display:flex;align-items:center;gap:26px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.nav a:not(.nav-cta){color:#514b48}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;background:var(--rose);color:white;padding:15px 23px;text-transform:uppercase;letter-spacing:.09em;font-size:.73rem;font-weight:600;border-radius:1px;transition:.2s}.nav-cta:hover,.button.primary:hover{background:var(--rose-dark)}.menu-button{display:none;border:0;background:none;text-transform:uppercase;letter-spacing:.1em}.hero{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;background:var(--cream);overflow:hidden}.hero-copy{padding:10vw 6vw 8vw;max-width:760px}.eyebrow{font-size:.68rem;letter-spacing:.18em;font-weight:600;color:var(--rose);text-transform:uppercase;margin:0 0 16px}.hero h1,h2{font-family:'Playfair Display',serif;font-weight:500;line-height:1.12;margin:0}.hero h1{font-size:clamp(3rem,5.5vw,5.5rem);max-width:700px}.hero-lede{font-family:'Playfair Display',serif;font-style:italic;font-size:1.55rem;margin:25px 0 8px}.hero-text{max-width:570px;color:var(--muted);font-size:1.02rem}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px;flex-wrap:wrap}.text-link{font-size:.84rem;text-transform:uppercase;letter-spacing:.08em}.text-link span{color:var(--rose);font-size:1.2rem}.hero-image-wrap{position:relative;min-height:520px;display:flex;align-items:flex-end;justify-content:center}.hero-shape{position:absolute;width:82%;height:82%;background:#d8c5ba;border-radius:48% 48% 0 0;bottom:0}.hero-image{position:relative;z-index:1;width:min(80%,620px);height:610px;object-fit:cover;object-position:center top;filter:saturate(.92)}.intro-band{background:#f0eae4;text-align:center;padding:38px 20px}.intro-band p{font-family:'Playfair Display',serif;font-size:1.65rem;margin:0 0 5px}.intro-band span{color:var(--muted);font-size:.92rem}.section{padding:95px 7vw}.section-heading{max-width:720px}.section-heading.centered{text-align:center;margin:0 auto 55px}.section-heading h2{font-size:clamp(2.2rem,4vw,4rem)}.section-heading>p:not(.eyebrow){color:var(--muted);max-width:620px;margin:20px auto 0}.specialties{background:var(--paper)}.specialty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;max-width:1300px;margin:0 auto}.specialty-grid article{padding:30px;border-top:1px solid var(--line);transition:.2s}.specialty-grid article:hover{background:#faf7f3}.icon{font-family:'Playfair Display',serif;color:var(--rose);font-size:2.1rem}.specialty-grid h3,.approach-grid h3{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;margin:15px 0 10px}.specialty-grid p,.approach-grid p{color:var(--muted);font-size:.92rem;margin:0}.about{display:grid;grid-template-columns:.82fr 1.18fr;gap:9vw;align-items:center;background:#f6f1eb}.about-photo img{width:100%;aspect-ratio:1/1.05;object-fit:cover;object-position:center top}.about-copy{max-width:700px}.about h2{font-size:3.5rem}.credential{font-size:.7rem;letter-spacing:.14em;color:var(--muted);margin-bottom:28px}.about-copy>p:not(.eyebrow){color:#5f5753}.pullquote{font-family:'Playfair Display',serif;font-size:1.45rem!important;font-style:italic;color:var(--rose-dark)!important;border-left:2px solid var(--rose);padding-left:22px;margin-top:28px}.approach{background:var(--ink);color:#f8f3ed}.approach .eyebrow{color:#d8aaa2}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:60px}.approach-grid p{color:#d7ceca}.fees{padding-top:75px;padding-bottom:75px}.fees-card{background:#eee6de;padding:55px;display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1250px;margin:auto}.fees h2{font-size:3rem}.insurance-list{border-left:1px solid #cdbfb5;padding-left:45px}.insurance-list small{color:var(--muted)}.faq{background:#faf7f3}.faq-list{max-width:900px;margin:0 auto}.faq-list details{border-top:1px solid var(--line);padding:20px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-family:'Playfair Display',serif;font-size:1.3rem}.faq-list p{color:var(--muted);max-width:760px}.cta{background:linear-gradient(90deg,var(--rose-dark),var(--rose));color:white;padding:65px 7vw;display:flex;align-items:center;justify-content:space-between;gap:40px}.cta .eyebrow{color:#f5d8d3}.cta h2{font-size:3rem}.cta p:not(.eyebrow){opacity:.9}.button.light{background:white;color:var(--rose-dark);white-space:nowrap}.contact{max-width:1200px;margin:auto}.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.contact-cards>*{background:#f6f1eb;padding:30px;min-height:120px}.contact-cards span{display:block;text-transform:uppercase;font-size:.65rem;letter-spacing:.13em;color:var(--rose);margin-bottom:8px}.contact-cards strong{font-weight:500}.contact-note{font-size:.78rem;color:var(--muted);margin-top:25px;max-width:850px}footer{background:#302b29;color:#eee6df;padding:55px 7vw 28px;display:grid;grid-template-columns:1.3fr 1fr 1.3fr;gap:35px}footer>div:not(.footer-brand){display:flex;flex-direction:column;gap:8px;font-size:.82rem;color:#cfc4bd}footer p{grid-column:1/-1;border-top:1px solid #514a47;padding-top:22px;color:#9f948d;font-size:.7rem;margin:15px 0 0}@media(max-width:900px){.nav{display:none;position:absolute;left:0;right:0;top:88px;background:var(--paper);padding:25px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-button{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:85px 7vw 55px}.hero-image-wrap{min-height:480px}.hero-image{height:520px}.specialty-grid,.approach-grid{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr;gap:45px}.about-photo{max-width:600px}.fees-card{grid-template-columns:1fr;gap:30px}.insurance-list{border-left:0;border-top:1px solid #cdbfb5;padding:25px 0 0}.contact-cards{grid-template-columns:1fr}.cta{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr 1fr}}@media(max-width:600px){.site-header{height:76px}.brand span{font-size:1.25rem}.nav{top:76px}.hero h1{font-size:3.2rem}.hero-image{width:90%;height:460px}.specialty-grid,.approach-grid{grid-template-columns:1fr}.section{padding:70px 6vw}.fees-card{padding:35px}.intro-band p{font-size:1.3rem}.cta h2,.fees h2,.about h2{font-size:2.5rem}footer{grid-template-columns:1fr}.hero-actions{align-items:flex-start;flex-direction:column}}


/* V2 COLORFUL EDITORIAL BACKGROUNDS */
body { background: radial-gradient(circle at 10% 5%, rgba(241,167,184,.22), transparent 26%), linear-gradient(135deg,#fff9f5 0%,#f8eee8 45%,#f6f4e9 100%); }
.hero { position: relative; overflow: hidden; background: linear-gradient(120deg,#fff4ef 0%,#f7d9dc 45%,#dcecf0 100%); }
.hero::before { content:""; position:absolute; width:420px; height:420px; border-radius:50%; background:rgba(226,120,147,.22); top:-220px; left:35%; }
.hero::after { content:""; position:absolute; width:360px; height:360px; border-radius:50%; background:rgba(92,160,176,.20); bottom:-210px; right:-70px; }
.hero-copy,.hero-image-wrap{position:relative;z-index:1}
.intro-band{background:linear-gradient(90deg,#b85f78,#d98c76,#c8a65c); color:#fff;}
.specialties{background:linear-gradient(180deg,#fffaf7 0%,#f5e8ec 100%);}
.specialty-grid article{background:rgba(255,255,255,.88); box-shadow:0 12px 30px rgba(100,60,70,.08); border:1px solid rgba(184,95,120,.12);}
.about{background:linear-gradient(120deg,#f6f0e8,#e7f1ef);}
.approach{background:linear-gradient(135deg,#e9d8df,#f8f4ea 55%,#d9ebef);}
.fees{background:linear-gradient(135deg,#fff4e8,#f0dfe7);}
.cornell{font-weight:700;letter-spacing:.12em;font-size:.78rem;color:#a44d67;margin-top:-.4rem;}

.page-hero{padding:110px 7vw 80px;background:linear-gradient(135deg,#fff2ec,#e4f0f1 55%,#f4dfc9)}.page-hero h1{font-family:"Playfair Display",serif;font-size:clamp(3rem,6vw,5.8rem);line-height:1.05;max-width:900px}.page-content{max-width:900px;margin:auto;padding:85px 7vw}.page-content h2{font-family:"Playfair Display",serif;font-size:2.5rem}.page-box{background:linear-gradient(135deg,#f7e8ec,#e5f0ee);padding:38px;margin:45px 0}.breadcrumbs{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--rose)}.specialty-grid a{display:block}.specialty-grid a:hover h3{color:var(--rose-dark)}

/* V4: Improved readability for My Approach */
.approach{
  background: linear-gradient(135deg,#7f3f5a 0%,#9b5570 48%,#6b7f86 100%);
  color:#fff;
  position:relative;
}
.approach::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(28,22,28,.16);
  pointer-events:none;
}
.approach > *{position:relative;z-index:1}
.approach .eyebrow{color:#ffe4ec}
.approach .section-heading h2{color:#fff}
.approach .section-heading > p{color:#fff !important;opacity:.94}
.approach-grid{background:rgba(255,255,255,.10);padding:38px;border:1px solid rgba(255,255,255,.22);border-radius:18px;box-shadow:0 18px 45px rgba(0,0,0,.14)}
.approach-grid h3{color:#fff}
.approach-grid p{color:#fff !important;opacity:.94}
@media(max-width:600px){.approach-grid{padding:25px}}
