@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&family=DM+Serif+Display:ital@0;1&display=swap');

:root{--c-bg:#fff;--c-alt:#f8f6f0;--c-dark:#1a2332;--c-text:#1a2332;--c-body:#555;--c-muted:#8a9ba8;--c-red:#b22222;--c-accent:#b22222;--c-accent-h:#8b1a1a;--c-border:#e8e0d0;--c-divider:#e7e2d6;--fh:"DM Serif Display",Georgia,serif;--fb:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--max:1180px;--narrow:900px;--text:640px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--fb);font-size:17px;line-height:1.7;color:var(--c-body);background:var(--c-bg);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-accent-h);text-decoration:none}
ul{list-style:none}
button{font:inherit;cursor:pointer}
em{font-style:italic}
strong{font-weight:600;color:var(--c-text)}
h1,h2,h3,h4{font-family:var(--fh);color:var(--c-text);font-weight:400;line-height:1.16;letter-spacing:-.01em}
h1{font-size:clamp(38px,5.2vw,60px)}
h2{font-size:clamp(28px,3.6vw,42px)}
h3{font-size:clamp(20px,2.2vw,24px)}
p{margin-bottom:1em}p:last-child{margin-bottom:0}
.container,.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
@media(min-width:768px){.container,.wrap{padding:0 48px}}
.content-narrow{max-width:var(--narrow);margin:0 auto}
.content-text{max-width:var(--text);margin:0 auto}
section{padding:84px 0}
.bg-alt{background:var(--c-alt)}
.text-center,.eyebrow-center{text-align:center}
.eyebrow,.kicker{font-family:var(--fb);font-size:12px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase;color:var(--c-accent-h);margin-bottom:18px;display:block}
.btn{display:inline-block;background:var(--c-accent);color:#fff;padding:15px 32px;border-radius:3px;font-weight:700;font-size:14px;letter-spacing:.5px;border:1px solid var(--c-accent);transition:background .15s,color .15s,border-color .15s}
.btn:hover{background:var(--c-accent-h);border-color:var(--c-accent-h);color:#fff}
.btn-outline{background:transparent;color:var(--c-accent-h);border-color:var(--c-accent)}
.btn-outline:hover{background:var(--c-accent);color:#fff}
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--c-border)}
.nav-in{display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:0 auto;padding:15px 28px}
@media(min-width:768px){.nav-in{padding:17px 48px}}
.brand{font-family:var(--fh);font-size:17px;line-height:1.12;color:var(--c-dark)}
.brand span{color:var(--c-accent-h)}
.menu{display:flex;gap:25px;align-items:center}
.menu>li{position:relative}
.menu a{color:var(--c-dark);font-size:14px;font-weight:500;letter-spacing:.3px}
.menu a:hover{color:var(--c-accent-h)}
.menu .cta{background:var(--c-accent);color:#fff;padding:9px 18px;border-radius:3px;font-weight:700}
.menu .cta:hover{background:var(--c-accent-h);color:#fff}
.caret{font-size:9px;opacity:.6}
.dd{position:absolute;top:100%;left:-14px;min-width:212px;background:#fff;border:1px solid var(--c-border);border-radius:4px;box-shadow:0 12px 30px rgba(26,35,50,.1);padding:6px 0;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.15s}
.hasdd:hover .dd,.hasdd:focus-within .dd{opacity:1;visibility:visible;transform:translateY(0)}
.dd a{display:block;padding:10px 18px;font-size:13.5px;white-space:nowrap}
.dd a:hover{background:var(--c-alt);color:var(--c-accent-h)}
@media(max-width:980px){.menu{gap:13px;flex-wrap:wrap;justify-content:flex-end}.menu a{font-size:12.5px}.caret,.dd{display:none}}.home-hero{background:var(--c-dark);color:#fff;padding:92px 0 100px}
.home-hero .hero-grid{display:grid;gap:54px;grid-template-columns:1fr;align-items:center}
@media(min-width:900px){.home-hero .hero-grid{grid-template-columns:1.25fr .75fr;gap:70px}}
.home-hero .eyebrow{color:var(--c-accent)}
.home-hero h1{color:#fff;font-size:clamp(40px,5.4vw,62px);margin-bottom:24px}
.home-hero p.lead{color:rgba(255,255,255,.82);font-size:19px;max-width:560px;margin-bottom:32px}
.home-hero .reassure{margin-top:20px;font-size:14px;font-style:italic;color:rgba(255,255,255,.55)}
.portrait{justify-self:center}
.portrait img{width:330px;height:330px;border-radius:50%;object-fit:cover;border:5px solid rgba(178,34,34,.32)}
@media(max-width:899px){.portrait img{width:250px;height:250px}}
.page-hero{background:var(--c-dark);color:#fff;padding:78px 0 70px;text-align:center}
@media(min-width:768px){.page-hero{padding:104px 0 92px}}
.page-hero .eyebrow{color:var(--c-accent)}
.page-hero h1{color:#fff;margin-bottom:18px}
.page-hero p{color:rgba(255,255,255,.8);font-size:19px;max-width:680px;margin:0 auto}
.svc-hero{background:var(--c-dark);color:#fff;padding:78px 0 68px}
@media(min-width:768px){.svc-hero{padding:112px 0 96px}}
.svc-hero h1{color:#fff;margin-bottom:16px}
.svc-hero .kicker{color:var(--c-accent)}
.svc-hero p.lead{color:rgba(255,255,255,.85);font-size:21px;max-width:680px;margin-bottom:30px}
.svc-hero .btn{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}
.svc-hero .btn:hover{background:#fff;border-color:#fff;color:var(--c-dark)}
.svc-hero .btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.svc-hero .btn-outline:hover{background:#fff;color:var(--c-dark);border-color:#fff}
.hero{padding:70px 0 60px}
@media(min-width:768px){.hero{padding:96px 0 84px}}
.hero-grid{display:grid;gap:48px;grid-template-columns:1fr;align-items:center}
@media(min-width:900px){.hero-grid{grid-template-columns:1.1fr .9fr;gap:64px}}
.hero h1{margin-bottom:20px}
.hero-lead{font-size:19px;line-height:1.6;color:var(--c-body);margin-bottom:26px;max-width:560px}
.hero-portrait{border-radius:6px;overflow:hidden}
.hero-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:6px}
@media(max-width:899px){.hero-portrait{max-width:320px;margin:0 auto}}
.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.head,.section-head{text-align:center;max-width:680px;margin:0 auto 52px}
.section-head p{margin-top:14px;font-size:18px;color:var(--c-body)}
.qual{display:grid;gap:18px 56px;grid-template-columns:1fr;max-width:920px;margin:0 auto}
@media(min-width:760px){.qual{grid-template-columns:1fr 1fr}}
.qual li{position:relative;padding-left:30px;color:var(--c-dark);font-size:16.5px;line-height:1.55}
.qual li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;border-radius:50%;background:var(--c-accent)}
.band{background:var(--c-dark);color:#fff;text-align:center}
.band .inner{max-width:760px;margin:0 auto}
.band h2{color:#fff;margin-bottom:16px}
.band p{color:rgba(255,255,255,.78);font-size:18px}
.band .eyebrow{color:var(--c-accent)}
.promo-card{background:var(--c-dark);color:#fff;text-align:center;border-top:3px solid var(--c-accent);padding:54px 40px;border-radius:5px;max-width:860px;margin:0 auto;box-shadow:0 18px 50px rgba(26,35,50,.16)}
.promo-card h2{color:#fff;margin-bottom:16px}
.promo-card p{color:rgba(255,255,255,.8);font-size:17px}.ways,.formats{display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:680px){.ways{grid-template-columns:1fr 1fr}.formats{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.ways{grid-template-columns:repeat(3,1fr)}}
.way{background:#fff;border:1px solid var(--c-border);border-top:3px solid var(--c-accent);padding:30px;border-radius:4px;transition:transform .15s,box-shadow .15s}
.way:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(26,35,50,.08)}
.way h3{font-size:21px;margin-bottom:10px}
.way p{font-size:15px;line-height:1.6}
.changes{display:grid;gap:20px;grid-template-columns:1fr;max-width:980px;margin:0 auto}
@media(min-width:680px){.changes{grid-template-columns:1fr 1fr}}
.change{background:#fff;border:1px solid var(--c-border);border-left:3px solid var(--c-red);padding:24px 26px;border-radius:4px;font-size:16px;color:var(--c-dark)}
.cta-band,.cta-section{background:var(--c-alt);text-align:center}
.cta-section .kicker,.cta-band .eyebrow{display:block;margin:0 auto 16px}
.cta-band h2,.cta-section h2{margin-bottom:14px}
.cta-band p,.cta-section .lead{font-size:18px;max-width:520px;margin:0 auto 28px;color:var(--c-body)}
.tracks{display:grid;gap:46px;grid-template-columns:1fr}
@media(min-width:768px){.tracks{grid-template-columns:1fr 1fr;gap:60px}}
.track h3{margin-bottom:10px}.track .kicker{margin-bottom:6px}
.track-lead{font-size:16px;margin-bottom:20px;color:var(--c-body)}
.track ul li,.svc-grid ul li{padding:12px 0 12px 22px;border-bottom:1px solid var(--c-divider);color:var(--c-dark);font-size:16px;position:relative}
.track ul li:last-child,.svc-grid ul li:last-child{border-bottom:0}
.track ul li::before,.svc-grid ul li::before{content:"";position:absolute;left:0;top:21px;width:7px;height:7px;background:var(--c-accent);border-radius:50%}
.methods{display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:768px){.methods{grid-template-columns:1fr 1fr}}
.method-card{background:#fff;border:1px solid var(--c-border);border-top:3px solid var(--c-accent);padding:30px 32px;border-radius:4px}
.method-card .symbol{font-family:var(--fh);font-size:28px;color:var(--c-accent-h);display:block;margin-bottom:10px;line-height:1}
.method-card h3{margin-bottom:10px}
.book-promo{display:grid;gap:46px;grid-template-columns:1fr;align-items:center}
@media(min-width:768px){.book-promo{grid-template-columns:1fr 1.5fr;gap:60px}}
.book-cover{max-width:280px;margin:0 auto}
.book-cover img{box-shadow:0 14px 44px rgba(26,35,50,.16);border-radius:4px}
.testimonials{display:grid;gap:32px;grid-template-columns:1fr;max-width:1000px;margin:0 auto}
@media(min-width:768px){.testimonials{grid-template-columns:1fr 1fr;gap:40px}}
.quote{border-left:2px solid var(--c-accent);padding-left:22px}
.quote p{font-family:var(--fh);font-size:19px;line-height:1.45;color:var(--c-text);margin-bottom:12px}
.quote cite{font-size:13px;color:var(--c-muted);font-style:normal;letter-spacing:.5px}
.statements{display:grid;gap:34px;grid-template-columns:1fr;max-width:880px;margin:0 auto}
@media(min-width:768px){.statements{grid-template-columns:repeat(3,1fr);gap:40px}}
.statement .kicker{margin-bottom:10px}
.statement h3{font-size:20px;line-height:1.35;color:var(--c-text)}
.service-block{margin-bottom:76px}.service-block:last-child{margin-bottom:0}
.service-block h2{margin-bottom:16px}
.service-block .lead{font-size:19px;margin-bottom:26px;color:var(--c-body)}
.service-block ul.detailed li{padding:12px 0 12px 26px;position:relative;color:var(--c-dark);border-bottom:1px solid var(--c-divider);font-size:16px}
.service-block ul.detailed li:before{content:"\2192";position:absolute;left:0;color:var(--c-accent-h);font-weight:700}
.service-block ul.detailed li:last-child{border-bottom:0}
.highlight{background:var(--c-alt);border-left:4px solid var(--c-accent);padding:32px 36px;border-radius:4px;margin:46px 0}
.highlight h3{margin-bottom:8px}.highlight .kicker{margin-bottom:8px}.formats .format-card{background:#fff;border:1px solid var(--c-border);border-top:3px solid var(--c-accent);padding:28px 26px;border-radius:4px;text-align:center}
.format-card h3{margin-bottom:8px}
.format-card p{font-size:14px;color:var(--c-body);margin-bottom:18px;min-height:40px}
.contact-grid{display:grid;gap:48px;grid-template-columns:1fr;max-width:1000px;margin:0 auto}
@media(min-width:900px){.contact-grid{grid-template-columns:1.4fr 1fr;gap:70px}}
.contact-form{display:flex;flex-direction:column;gap:18px}
.contact-form label{display:block;font-size:12px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;color:var(--c-text);margin-bottom:6px}
.contact-form input,.contact-form textarea{width:100%;padding:13px 14px;border:1px solid var(--c-border);border-radius:4px;font:inherit;font-size:15px;background:#fff;color:var(--c-text);font-family:var(--fb)}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 3px rgba(178,34,34,.16)}
.contact-form textarea{resize:vertical;min-height:130px}
.contact-form button{background:var(--c-accent);color:#fff;padding:14px 24px;border:0;border-radius:4px;font-size:15px;font-weight:700;margin-top:6px}
.contact-form button:hover{background:var(--c-accent-h);color:#fff}
.contact-info dt{font-size:12px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--c-accent-h);margin-bottom:4px}
.contact-info dd{margin-bottom:22px;color:var(--c-text);font-size:16px}
.contact-info a{color:var(--c-text)}.contact-info a:hover{color:var(--c-accent-h)}
.reviews-grid{display:grid;gap:26px;grid-template-columns:1fr;max-width:1100px;margin:0 auto}
@media(min-width:768px){.reviews-grid{grid-template-columns:1fr 1fr}}
.review-card{background:#fff;border:1px solid var(--c-border);border-top:3px solid var(--c-accent);padding:30px 30px;border-radius:4px}.review-card strong{display:block;margin-top:16px}.review-card span{display:block;font-size:.88rem;color:var(--c-muted);margin-top:2px}
.review-card p{font-family:var(--fh);font-size:18px;line-height:1.5;color:var(--c-text);margin-bottom:16px}
.review-card .meta{font-size:13px;color:var(--c-muted);letter-spacing:.5px;text-transform:uppercase;font-weight:600}
.topics{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:768px){.topics{grid-template-columns:1fr 1fr}}
.topic-card{background:#fff;border:1px solid var(--c-border);border-top:3px solid var(--c-accent);padding:26px 28px;border-radius:4px}
.topic-card h3{font-size:20px;margin-bottom:8px}.topic-card p{font-size:15px;color:var(--c-body)}
.blog-topics{display:grid;gap:24px;grid-template-columns:1fr;max-width:1000px;margin:0 auto}
@media(min-width:768px){.blog-topics{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.blog-topics{grid-template-columns:repeat(3,1fr)}}
.blog-topic{background:#fff;border:1px solid var(--c-border);border-top:3px solid var(--c-accent);padding:28px;border-radius:4px;transition:transform .15s,box-shadow .15s}
.blog-topic:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(26,35,50,.08)}
.blog-topic h3{font-size:20px;margin-bottom:10px}
.blog-topic p{font-size:15px;color:var(--c-body);margin-bottom:14px}
.blog-topic .read{font-size:13px;font-weight:700;color:var(--c-accent-h);letter-spacing:.5px}
.steps{counter-reset:step;max-width:780px;margin:0 auto}
.step{display:grid;grid-template-columns:60px 1fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--c-divider)}
.step:last-child{border-bottom:0}
.step::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--fh);font-size:36px;color:var(--c-accent-h);line-height:1}
.step h3{margin-bottom:10px;font-size:22px}.step p{color:var(--c-body)}
.svc-grid{display:grid;gap:46px;grid-template-columns:1fr}
@media(min-width:900px){.svc-grid{grid-template-columns:1fr 1fr;gap:62px}}
.svc-grid h3{font-family:var(--fb);font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--c-accent-h);margin-bottom:14px}
footer{background:var(--c-dark);color:rgba(255,255,255,.6);padding:54px 0 40px;font-size:14px}
footer .wrap{display:flex;flex-direction:column;gap:20px;align-items:center;text-align:center}
@media(min-width:768px){footer .wrap{flex-direction:row;justify-content:space-between;text-align:left}}
footer .fb{color:#fff;font-family:var(--fh);font-size:18px;margin-bottom:4px}
footer a{color:rgba(255,255,255,.85)}
.fsoc{display:flex;gap:20px}
.lead{font-size:19px;color:var(--c-body);line-height:1.6}
.video-grid{display:grid;gap:26px;grid-template-columns:1fr;max-width:1000px;margin:0 auto}
@media(min-width:760px){.video-grid{grid-template-columns:1fr 1fr}}
.vid{position:relative;padding-bottom:56.25%;height:0;border-radius:6px;overflow:hidden;border:1px solid var(--c-border);background:var(--c-dark)}
.vid iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.vid-cap{margin-top:10px;font-size:13px;color:var(--c-muted);letter-spacing:.5px;text-transform:uppercase;font-weight:600;text-align:center}
.credit{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:18px;text-align:center;font-size:12px;color:rgba(255,255,255,.5)}
.credit a{color:rgba(255,255,255,.8)}.credit a:hover{color:#fff}
a.way{text-decoration:none;color:inherit;display:flex;flex-direction:column}
a.way h3{color:var(--c-text)}
.way-more{margin-top:auto;padding-top:16px;color:var(--c-accent-h);font-weight:700;font-size:13px;letter-spacing:.4px;text-transform:uppercase}
a.way:hover .way-more{text-decoration:underline}
.deepdive{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.dd-item{background:#fff;border:1px solid var(--c-border);border-left:3px solid var(--c-accent);border-radius:4px}
.dd-item summary{list-style:none;cursor:pointer;padding:18px 22px;font-family:var(--fh);font-size:19px;color:var(--c-text);display:flex;justify-content:space-between;align-items:center;gap:16px}
.dd-item summary::-webkit-details-marker{display:none}
.dd-item summary::after{content:'+';color:var(--c-accent);font-size:26px;line-height:1;font-weight:400}
.dd-item[open] summary::after{content:'\2212'}
.dd-item summary:hover,.dd-item[open] summary{color:var(--c-accent-h)}
.dd-body{padding:2px 22px 22px;color:var(--c-body);line-height:1.75}
.dd-body p{margin:0 0 12px}.dd-body p:last-child{margin-bottom:0}
.ti-placeholder{border:2px dashed var(--c-border);border-radius:6px;padding:40px 28px;text-align:center;max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.ti-placeholder strong{font-family:var(--fh);font-size:20px;color:var(--c-text)}
.ti-placeholder span{color:var(--c-muted);font-size:14px;max-width:520px;margin:0 auto;line-height:1.6}

.burger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;flex-shrink:0}
.burger span{display:block;width:22px;height:2px;background:var(--c-dark);border-radius:2px;transition:transform .22s,opacity .22s}

@media(max-width:700px){
  /* Show burger, hide desktop menu */
  .burger{display:flex}
  .menu{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;
        background:#fff;border-top:3px solid var(--c-accent);
        box-shadow:0 10px 32px rgba(0,0,0,.13);padding:6px 0;z-index:300;gap:0}
  .nav-in{position:relative}

  /* Open state toggled by JS */
  .nav-in.nav-open .menu{display:flex}

  /* Burger X animation when open */
  .nav-in.nav-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-in.nav-open .burger span:nth-child(2){opacity:0}
  .nav-in.nav-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  /* Nav links */
  .menu>li>a,.menu>li>span{display:block;padding:12px 22px;font-size:15px;
                            border-bottom:1px solid var(--c-border);color:var(--c-dark)}
  .menu>li:last-child>a{border-bottom:none}

  /* Dropdowns: show inline as indented sub-list */
  .caret{display:none}
  .dd{display:block;position:static;box-shadow:none;min-width:0;
      background:var(--c-alt);border:none;padding:0}
  .dd li a{display:block;padding:10px 22px 10px 36px;font-size:14px;
           color:var(--c-body);border-bottom:1px solid var(--c-border)}
  .dd li:last-child a{border-bottom:none}

  /* Section & hero padding on mobile */
  section{padding:52px 0}
  .page-hero{padding:52px 0 44px}
  .svc-hero{padding:52px 0 44px}
  .home-hero{padding:56px 0 52px}
  .head,.section-head{margin-bottom:36px}

  /* Typography */
  .page-hero h1,.svc-hero h1{font-size:clamp(28px,7vw,42px)}
  .page-hero p,.svc-hero p.lead{font-size:17px}

  /* Contact btn in mobile nav - flatten to plain link */
  .menu li a.btn,.menu li .btn{
    background:none;border:none;color:var(--c-dark);
    padding:12px 22px;border-radius:0;font-size:15px;
    box-shadow:none;letter-spacing:0;text-transform:none;
    display:block;width:100%;text-align:left;
    border-bottom:1px solid var(--c-border)
  }
  .menu li a.btn:hover,.menu li .btn:hover{background:var(--c-alt)}

  /* Show all sub-items — book, testimonials, blog visible */
  .menu>li>a{font-size:15px}

  /* Contact is last — remove its bottom border */
  .menu>li:last-child>a,.menu>li:last-child>.btn{border-bottom:none}

  /* Nav bar height stays single row */
  .nav-in{flex-wrap:nowrap}
}
/* ── MOBILE NAV ─────────────────────────────────────────────────────────── */
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;
        background:none;border:none;cursor:pointer;padding:6px;flex-shrink:0}
.burger span{display:block;width:22px;height:2px;background:var(--c-dark);
             border-radius:2px;transition:transform .22s,opacity .22s}

@media(max-width:700px){

  /* Show burger */
  .burger{display:flex}

  /* Nav bar stays single row */
  .nav-in{position:relative;flex-wrap:nowrap}

  /* Hide menu by default; reset ALL desktop flex settings */
  .menu{
    display:none !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    position:absolute;top:100%;left:0;right:0;width:100%;
    background:#fff;
    border-top:3px solid var(--c-accent);
    box-shadow:0 8px 28px rgba(0,0,0,.13);
    max-height:75vh;overflow-y:auto;
    z-index:300
  }

  /* Open state */
  .nav-in.nav-open .menu{display:flex !important}

  /* Burger → X animation */
  .nav-in.nav-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-in.nav-open .burger span:nth-child(2){opacity:0}
  .nav-in.nav-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  /* Each list item full width */
  .menu>li{width:100%;display:block}

  /* All top-level links uniform */
  .menu>li>a,
  .menu>li>.btn{
    display:block !important;
    padding:14px 20px !important;
    font-size:15px !important;
    color:var(--c-dark) !important;
    background:none !important;
    border:none !important;
    border-bottom:1px solid var(--c-border) !important;
    border-radius:0 !important;
    box-shadow:none !important;
    font-weight:500 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    text-align:left !important;
    width:100% !important;
    box-sizing:border-box
  }
  .menu>li>a:hover,.menu>li>.btn:hover{
    background:var(--c-alt) !important;color:var(--c-accent) !important}
  .menu>li:last-child>a,
  .menu>li:last-child>.btn{border-bottom:none !important}

  /* Hide dropdowns on mobile — Services/Locations link to their own pages */
  .caret{display:none !important}
  .dd{display:none !important}

  /* Tighten section & hero spacing on mobile */
  section{padding:52px 0}
  .page-hero,.svc-hero{padding:52px 0 44px}
  .home-hero{padding:56px 0 52px}
  .head,.section-head{margin-bottom:36px}
  .page-hero h1,.svc-hero h1{font-size:clamp(28px,7vw,42px)}
  .page-hero p,.svc-hero p.lead{font-size:17px}

  /* ── Mobile accordion for Services / Locations ── */
  .dd-toggle{display:none}
  .menu>li.hasdd{
    display:flex;flex-wrap:wrap;align-items:center;
    border-bottom:1px solid var(--c-border) !important}
  .menu>li.hasdd>a{
    flex:1;border-bottom:none !important;
    padding:14px 20px !important}
  .dd-toggle{
    display:flex;align-items:center;justify-content:center;
    width:48px;height:48px;background:none;border:none;
    cursor:pointer;color:var(--c-muted);font-size:22px;
    flex-shrink:0;line-height:1}
  .dd-toggle:hover{color:var(--c-accent)}
  /* Sub-list: hidden until .mob-open */
  .mob-open>.dd{display:block !important;width:100%;
    background:var(--c-alt);border-top:1px solid var(--c-border)}
  .mob-open .dd-toggle{color:var(--c-accent)}
  .hasdd .dd li a{
    display:block;padding:11px 20px 11px 36px;
    font-size:14px;color:var(--c-body) !important;
    border-bottom:1px solid var(--c-border);
    background:none;text-align:left}
  .hasdd .dd li:last-child a{border-bottom:none}
}
/* ── WP/Astra minimal overrides ── */
.entry-title{display:none!important}
.entry-header.ast-no-thumbnail{display:none!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important}
.entry-content,.ast-article-single{padding-top:0!important;margin-top:0!important}
.page .entry-content{padding-bottom:0!important}
.site-footer,.ast-small-footer{background:#1a2332!important;color:rgba(255,255,255,.8)!important}
.site-footer a,.ast-small-footer a{color:rgba(255,255,255,.7)!important}