:root{
  --cream:#f7f3eb;
  --paper:#fffdf9;
  --sage:#687052;
  --sage-dark:#4c553d;
  --terracotta:#b9613e;
  --terracotta-dark:#9e4d31;
  --ink:#293025;
  --muted:#6e7168;
  --line:#e5ded1;
  --serif:"Playfair Display",Georgia,serif;
  --sans:"DM Sans",Arial,sans-serif;
  --shadow:0 25px 70px rgba(50,48,39,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7}
img{display:block;width:100%}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 48px));margin:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,253,249,.94);backdrop-filter:blur(15px);border-bottom:1px solid rgba(229,222,209,.75)}
.nav-wrap{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font:500 25px var(--serif)}
.brand-sub{margin-top:7px;color:var(--terracotta);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.main-nav{display:flex;align-items:center;gap:25px;font-size:13px}
.main-nav>a:not(.nav-cta):hover{color:var(--terracotta)}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 23px;border-radius:3px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;transition:.25s}
.nav-cta,.btn-primary{background:var(--terracotta);color:#fff}
.nav-cta:hover,.btn-primary:hover{background:var(--terracotta-dark);transform:translateY(-2px)}
.menu-toggle{display:none;border:0;background:none;font-size:25px}
.insurance-bar{min-height:44px;display:flex;justify-content:center;align-items:center;gap:12px;padding:7px 15px;background:#f0ebe1;color:var(--sage-dark);font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.insurance-bar a{color:var(--terracotta);font-weight:700}
.insurance-dot{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--sage);color:#fff;font-size:10px}
.hero{overflow:hidden;background:var(--cream);padding:75px 0 90px}
.hero-grid{display:grid;grid-template-columns:.86fr 1.14fr;align-items:center;gap:70px}
.hero-copy{padding-left:20px}
.eyebrow{margin:0 0 16px;color:var(--sage-dark);font-size:13px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.hero h1,h2{font-family:var(--serif);font-weight:500;line-height:1.05}
.hero h1{margin:0;font-size:clamp(58px,6.5vw,88px);letter-spacing:-.04em}
.hero-text{max-width:500px;margin:28px 0;color:#5e6259;font-size:16px}
.button-row{display:flex;gap:10px;flex-wrap:wrap}
.btn-outline{border:1px solid var(--terracotta);color:var(--terracotta)}
.btn-outline:hover{background:var(--terracotta);color:#fff;transform:translateY(-2px)}
.hero-note{display:flex;align-items:center;gap:9px;margin-top:25px;color:var(--muted);font-size:11px}
.hero-note span{color:var(--terracotta)}
.hero-portrait{position:relative;min-height:580px;display:flex;align-items:center;justify-content:center}
.portrait-backdrop{position:absolute;width:78%;height:88%;right:2%;top:5%;background:#d9d1bb;border-radius:50% 50% 6% 50%}
.portrait-frame{position:relative;z-index:1;width:80%;height:580px;overflow:hidden;border-radius:48% 48% 4% 48%;box-shadow:var(--shadow)}
.portrait-frame img{height:100%;object-fit:cover;object-position:center 22%}
.portrait-caption{position:absolute;z-index:2;left:3%;bottom:7%;display:flex;flex-direction:column;background:rgba(255,253,249,.94);padding:16px 21px;box-shadow:0 12px 30px rgba(0,0,0,.08)}
.portrait-caption strong{font:500 19px var(--serif)}
.portrait-caption span{font-size:11px;color:var(--terracotta);letter-spacing:.06em;text-transform:uppercase}
.section{padding:105px 0}
.intro{background:var(--paper)}
.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}
.intro-statement{padding:40px 20px 40px 0;border-right:1px solid var(--line)}
.big-quote{display:block;color:var(--terracotta);font:80px/0.6 var(--serif)}
.intro-statement h2{font-size:38px;max-width:460px;margin:15px 0}
.intro-statement p{color:var(--muted);font-size:12px}
.intro-copy h2,.about-copy h2,.beliefs-copy h2,.section-heading h2,.faq h2,.contact-copy h2{font-size:clamp(40px,4.5vw,60px);margin:0 0 25px;letter-spacing:-.03em}
.intro-copy>p:not(.eyebrow),.about-copy>p:not(.eyebrow),.beliefs-copy>p:not(.eyebrow),.contact-copy>p:not(.eyebrow){color:var(--muted)}
.services{background:#f6f1e8}
.section-heading{max-width:720px;margin:0 auto 55px;text-align:center}
.section-heading>p:last-child{color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.service-card{min-height:320px;padding:31px 26px;background:rgba(255,253,249,.82);border:1px solid var(--line);transition:.3s}
.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}
.service-card.featured{background:var(--sage);color:#fff;border-color:var(--sage)}
.service-number{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--terracotta)}
.featured .service-number{color:#d8ddc9}
.service-card h3{margin:23px 0 13px;font:500 27px/1.15 var(--serif)}
.service-card p{margin:0 0 24px;color:var(--muted);font-size:14px}
.featured p{color:#e2e6d9}
.service-card a{color:var(--terracotta);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.featured a{color:#fff}
.about{background:var(--cream)}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:center}
.about-portrait{position:relative}
.about-portrait img{height:610px;object-fit:cover;object-position:center 22%;filter:saturate(.92)}
.about-badge{position:absolute;right:-20px;bottom:35px;background:var(--sage);color:#fff;padding:18px 24px;display:flex;flex-direction:column}
.about-badge strong{font:500 19px var(--serif)}
.about-badge span{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#e0e5d6}
.about-copy .text-link{display:inline-flex;margin-top:18px;color:var(--terracotta);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;gap:9px}
.beliefs{background:var(--paper);padding:110px 0}
.beliefs-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.beliefs-copy{max-width:620px}
.beliefs-art{height:420px;position:relative;overflow:hidden;background:#f3eee4}
.art-circle{position:absolute;width:280px;height:280px;border-radius:50%;background:#d7cfb8;left:50%;top:50%;transform:translate(-50%,-50%)}
.art-line{position:absolute;border:1px solid #aab096;border-radius:50%}
.line-a{width:350px;height:180px;left:10%;top:18%;transform:rotate(25deg)}
.line-b{width:350px;height:180px;right:8%;bottom:12%;transform:rotate(-25deg)}
.art-leaf{position:absolute;width:80px;height:125px;border:1px solid var(--sage);border-radius:80% 0 80% 0;transform:rotate(35deg)}
.leaf-a{left:28%;top:25%}
.leaf-b{right:28%;bottom:22%;transform:rotate(215deg)}
.specialties{background:#f7f3eb}
.specialty-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.specialty-card{min-height:370px;padding:45px;background:#fffdf9;border:1px solid var(--line);position:relative;overflow:hidden}
.specialty-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-75px;bottom:-75px;background:#e8e1d3}
.specialty-card.emdr{background:var(--sage);color:#fff;border-color:var(--sage)}
.specialty-card.emdr:after{background:#7a8366}
.specialty-top{display:flex;justify-content:space-between;color:var(--terracotta);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.emdr .specialty-top{color:#e2a68d}
.specialty-card h3{max-width:650px;margin:45px 0 18px;font:500 34px/1.12 var(--serif)}
.specialty-card p{max-width:580px;color:var(--muted)}
.emdr p{color:#e0e5d8}
.specialty-card a{display:inline-block;margin-top:20px;color:var(--terracotta);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.emdr a{color:#fff}
.insurance{background:var(--paper)}
.insurance-card{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;background:#eee9df;padding:65px}
.insurance-copy h2{font-size:48px;margin:0 0 22px}
.insurance-copy>p:not(.eyebrow){color:var(--muted);max-width:610px;margin-bottom:28px}
.insurance-plans{border-left:1px solid #d9d1c3;padding-left:55px}
.plans-label{display:block;color:var(--sage-dark);font-size:11px;font-weight:700;line-height:1.5;margin-bottom:22px}
.plan-list{display:flex;flex-wrap:wrap;gap:9px}
.plan-list span{padding:11px 15px;background:#fffdf9;border:1px solid #ddd6c9;font-size:12px;color:#4d5444}
.insurance-small{color:var(--muted);font-size:11px;margin:20px 0 0}
.faq{background:var(--cream)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.section-heading.left{text-align:left;margin:0}
.accordion details{border-top:1px solid var(--line);padding:0}
.accordion details:last-child{border-bottom:1px solid var(--line)}
.accordion summary{
  cursor:pointer;list-style:none;padding:24px 0;
  font:500 22px/1.35 var(--serif);position:relative;padding-right:40px
}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary:after{
  content:"+";position:absolute;right:0;top:23px;
  color:var(--terracotta);font:400 22px/1 var(--sans);
  transition:transform .35s ease
}
.accordion details[open] summary:after{content:"−";transform:rotate(180deg)}
.accordion .faq-answer{
  display:grid;grid-template-rows:0fr;opacity:0;
  transition:grid-template-rows .4s ease,opacity .3s ease,padding .4s ease;
  padding:0
}
.accordion details[open] .faq-answer{
  grid-template-rows:1fr;opacity:1;padding:0 0 24px
}
.accordion .faq-answer-inner{overflow:hidden}
.accordion p{color:var(--muted);font-size:15px;line-height:1.75;max-width:700px;margin:0}
.closing{background:var(--sage);color:#fff;padding:95px 0;text-align:center}
.closing-inner{max-width:800px}
.closing .eyebrow{color:#dfe5d4}
.closing h2{font-size:clamp(45px,5vw,66px);margin:0 0 18px}
.closing p:not(.eyebrow){color:#e1e5da}
.btn-light{background:#fff;color:var(--sage-dark);margin-top:20px}
.btn-light:hover{background:#f3efe6;transform:translateY(-2px)}
.contact{background:var(--paper);padding-bottom:85px}
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr .7fr;gap:55px;align-items:center;padding:55px;background:#f5efe5}
.contact-info{display:grid;gap:18px}
.contact-info a,.contact-info div{display:grid;gap:3px}
.contact-info span{color:var(--terracotta);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.contact-info strong{font-size:16px;font-weight:500}
.contact-actions{display:grid;gap:12px}
.footer{background:#4e573e;color:#fff;padding:34px 0}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}
.footer-brand{display:block;font:500 20px var(--serif)}
.footer small{font-size:10px;color:#dbe0d2}
.footer-links{display:flex;gap:20px;font-size:11px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1000px){
  .main-nav{gap:15px}
  .hero-grid,.about-grid,.beliefs-grid,.insurance-card,.faq-grid,.contact-grid{grid-template-columns:1fr}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .hero-copy{padding-left:0}
  .hero-portrait{min-height:520px}
  .portrait-frame{height:520px}
  .insurance-plans{border-left:0;border-top:1px solid #d9d1c3;padding:40px 0 0}
  .contact-actions{grid-template-columns:1fr 1fr}
}

@media(max-width:760px){
  .container{width:min(100% - 30px,620px)}
  .nav-wrap{min-height:74px}
  .menu-toggle{display:block}
  .main-nav{
    display:none;position:absolute;left:15px;right:15px;top:74px;
    background:var(--paper);border:1px solid var(--line);padding:18px;
    box-shadow:var(--shadow);flex-direction:column;align-items:stretch
  }
  .main-nav.open{display:flex}
  .nav-cta{text-align:center}
  .insurance-bar{flex-wrap:wrap;text-align:center}
  .eyebrow{font-size:11px;letter-spacing:.13em}
  .hero{padding:55px 0 60px}
  .hero h1{font-size:56px}
  .hero-text{font-size:15px}
  .hero-portrait{min-height:430px}
  .portrait-frame{width:88%;height:430px}
  .portrait-caption{left:0}
  .portrait-caption strong{font-size:17px}
  .portrait-caption span{font-size:10px}
  .section{padding:75px 0}
  .section-heading h2,
  .about-copy h2,
  .beliefs-copy h2,
  .faq h2,
  .contact-copy h2{font-size:39px}
  .service-grid,.specialty-grid{grid-template-columns:1fr}
  .about-portrait img{height:450px}
  .about-badge{right:0}
  .beliefs-art{height:320px}
  .specialty-card{min-height:auto;padding:32px}
  .specialty-card h3{font-size:29px}
  .insurance-second .insurance-card{gap:35px}
  .insurance-second .insurance-copy h2{font-size:39px}
  .insurance-card{padding:35px 25px}
  .plan-list span{font-size:12px}
  .contact-grid{padding:35px 25px}
  .contact-actions{grid-template-columns:1fr}
  .contact-info span{font-size:11px}
  .contact-info strong{font-size:15px;overflow-wrap:anywhere}
  .contact-copy p{font-size:15px}
  .accordion summary{font-size:19px;padding:21px 35px 21px 0}
  .accordion summary:after{top:21px}
  .accordion p{font-size:14px}
  .button-row .btn{width:100%}
  .hero-note{font-size:11px}
  .footer-inner{flex-direction:column;align-items:flex-start}
  .footer-links{flex-wrap:wrap}
  .footer small{line-height:1.6}
}

/* Dedicated insurance section — intentionally placed directly after the hero */
.insurance-second {
  padding: 78px 0;
  background: #fffdf9;
}
.insurance-second .insurance-card {
  position: relative;
  overflow: hidden;
  background: #eee9df;
  border: 1px solid #e2dacd;
}
.insurance-second .insurance-card::before {
  content: "INSURANCE";
  position: absolute;
  right: -20px;
  top: 18px;
  font: 700 86px/1 var(--serif);
  letter-spacing: -.04em;
  color: rgba(104,112,82,.07);
}
.insurance-second .insurance-copy {
  position: relative;
  z-index: 1;
}
.insurance-second .insurance-copy h2 {
  max-width: 620px;
}
.insurance-lead {
  max-width: 650px !important;
  font-size: 16px !important;
  line-height: 1.75;
}
.insurance-second .insurance-plans {
  position: relative;
  z-index: 1;
}
.insurance-second .plan-list span {
  border-radius: 2px;
  padding: 13px 16px;
  font-weight: 600;
}
