:root{--ink:#1f2926;--paper:#f5f2eb;--white:#fff;--sage:#dfe5dc;--line:#c9cec5;--muted:#66706b}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif;line-height:1.65}
.nav{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(245,242,235,.97);backdrop-filter:blur(12px);z-index:50}.brand{font-family:Georgia,serif;font-size:22px;text-decoration:none;color:var(--ink)}.brand span{font-family:Arial;font-size:14px;letter-spacing:.06em}.nav nav{display:flex;gap:24px;align-items:center}.nav nav a{color:var(--ink);text-decoration:none;font-size:14px}.nav-cta{border-bottom:1px solid var(--ink);padding-bottom:3px}.phone-link{font-weight:600;white-space:nowrap}
section[id]{scroll-margin-top:84px}
.hero{min-height:690px;display:grid;grid-template-columns:1.05fr .95fr;border-bottom:1px solid var(--line)}.hero-copy{padding:10vh 7vw 8vh 8vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:600;margin:0 0 22px}.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(50px,5.6vw,84px);line-height:1.02;max-width:820px;margin:0 0 30px}.lead{font-size:19px;max-width:690px;margin:0 0 34px;color:#39423e}.button{display:inline-block;align-self:flex-start;background:var(--ink);color:white;text-decoration:none;border:0;padding:15px 23px;font-weight:600;font-size:14px;cursor:pointer}.hero-image{overflow:hidden;min-height:620px}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block}
.intro{padding:110px 8vw}.intro>h2,.process h2,.independent h2,.about h2,.request h2{font-family:Georgia,serif;font-weight:400;line-height:1.08}.intro>h2{font-size:clamp(38px,4vw,58px);max-width:880px;margin:0 0 75px}.paths{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.paths article{border-top:1px solid var(--ink);padding-top:24px}.number{font-size:12px;letter-spacing:.1em;color:var(--muted)}.paths h3{font-family:Georgia,serif;font-size:31px;font-weight:400;line-height:1.15;margin:24px 0}.paths p{max-width:610px;color:#3f4944}
.process{background:var(--ink);color:#f7f5ef;padding:110px 8vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw}.process h2{font-size:50px;margin:0;max-width:470px}.process-copy{font-size:18px}.process-copy p:first-child{margin-top:0}
.independent{padding:100px 12vw;background:var(--sage);display:grid;grid-template-columns:110px 1fr;gap:30px}.quote-mark{font-family:Georgia;font-size:130px;line-height:.7;color:#78877f}.independent>div:last-child{max-width:900px}.independent h2{font-size:48px;margin:0 0 25px}.independent p:not(.eyebrow){font-size:17px}
.about{padding:110px 8vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.about-image{height:650px;overflow:hidden}.about-image img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block}.about h2{font-size:52px;margin:0 0 25px}.about .large{font-size:20px;line-height:1.55}.text-link{color:var(--ink);font-weight:600;text-underline-offset:5px}.external-practice{margin-top:28px;display:flex;flex-direction:column;gap:5px}.external-practice span{font-size:12px;color:var(--muted)}
.details{padding:85px 8vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:35px}.detail-grid>div{padding:10px 30px;border-left:1px solid var(--line)}.detail-grid>div:first-child{padding-left:0;border-left:0}.detail-grid strong{font-family:Georgia;font-weight:400;font-size:42px;display:block}.detail-grid span{font-size:13px;color:var(--muted)}.note{font-size:13px;color:var(--muted);margin:45px 0 0;max-width:760px}
.request{padding:110px 8vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;background:#fff}.request h2{font-size:52px;margin:0 0 25px}.request>div>p:not(.eyebrow){max-width:500px}.direct-contact{margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}.direct-contact p{margin:0 0 8px}.direct-contact a{color:var(--ink)}form{max-width:650px}label{display:block;font-size:13px;font-weight:600;margin-bottom:22px}label span{font-weight:400;color:var(--muted)}input,textarea{width:100%;margin-top:8px;padding:14px;border:1px solid #adb5b0;background:#fff;font-size:16px;border-radius:0}textarea{resize:vertical}.privacy{font-size:11px;color:var(--muted);max-width:600px;margin-top:18px}
footer{padding:35px 5vw;display:flex;justify-content:space-between;align-items:flex-start;gap:30px;font-size:12px;color:var(--muted)}.footer-links{display:flex;flex-direction:column;gap:5px}.footer-links a,.footer-contact a{color:var(--ink);text-underline-offset:4px}.mobile-actions{display:none}
.nav a,.text-link,.direct-contact a,.footer-links a,.footer-contact a,.mobile-actions a{transition:font-weight .15s ease,opacity .15s ease}.nav a:hover,.nav a:focus-visible,.text-link:hover,.text-link:focus-visible,.direct-contact a:hover,.direct-contact a:focus-visible,.footer-links a:hover,.footer-links a:focus-visible,.footer-contact a:hover,.footer-contact a:focus-visible{font-weight:700}.button{transition:opacity .15s ease}.button:hover,.button:focus-visible{opacity:.82}
@media(max-width:1100px){.nav nav{gap:16px}.nav nav>a:not(.nav-cta):not(.phone-link){display:none}}
@media(max-width:800px){html{scroll-padding-top:70px}section[id]{scroll-margin-top:70px}body{padding-bottom:64px}.nav{height:70px}.nav .phone-link,.nav-cta{display:none!important}.brand{font-size:18px}.hero{grid-template-columns:1fr}.hero-copy{padding:75px 7vw 65px}.hero h1{font-size:52px}.hero-image{min-height:480px;order:-1}.hero-image img{object-position:center 27%}.intro,.process,.about,.request{padding:75px 7vw}.paths,.process,.about,.request{grid-template-columns:1fr;gap:55px}.intro>h2{margin-bottom:50px}.independent{padding:75px 7vw;grid-template-columns:1fr}.quote-mark{display:none}.process h2,.independent h2,.about h2,.request h2{font-size:40px}.about-image{height:520px}.detail-grid{grid-template-columns:1fr 1fr;gap:30px}.detail-grid>div:nth-child(3){border-left:0;padding-left:0}.details{padding:65px 7vw}footer{gap:15px;flex-direction:column}.mobile-actions{position:fixed;display:grid;grid-template-columns:.7fr 1.3fr;left:0;right:0;bottom:0;z-index:80;background:#fff;border-top:1px solid var(--line);box-shadow:0 -5px 18px rgba(0,0,0,.06)}.mobile-actions a{text-align:center;padding:17px 10px;color:var(--ink);text-decoration:none;font-size:13px;font-weight:600}.mobile-actions a:last-child{background:var(--ink);color:#fff}.mobile-actions a:hover,.mobile-actions a:focus-visible{font-weight:700}}


/* V4 anchor and rollover corrections */

/* The sticky header already occupies the top of the viewport.
   Do not add a second artificial gap to anchor destinations. */
html{scroll-padding-top:0}
section[id]{scroll-margin-top:0}

/* Hover states must not alter text metrics or move neighboring navigation items. */
.nav a,
.text-link,
.direct-contact a,
.footer-links a,
.footer-contact a,
.mobile-actions a{
  transition:opacity .15s ease, text-decoration-color .15s ease;
}

.nav a:hover,.nav a:focus-visible,
.text-link:hover,.text-link:focus-visible,
.direct-contact a:hover,.direct-contact a:focus-visible,
.footer-links a:hover,.footer-links a:focus-visible,
.footer-contact a:hover,.footer-contact a:focus-visible{
  font-weight:inherit;
  opacity:.62;
}

.phone-link:hover,.phone-link:focus-visible{
  font-weight:600;
}

.nav-cta:hover,.nav-cta:focus-visible{
  font-weight:inherit;
  opacity:.62;
}

@media(max-width:800px){
  html{scroll-padding-top:0}
  section[id]{scroll-margin-top:0}
  .mobile-actions a:hover,.mobile-actions a:focus-visible{
    font-weight:600;
    opacity:.7;
  }
}


/* V6: visible site identity and deliberate responsive header */
.brand{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:4px;
  min-width:310px;
  line-height:1;
  text-decoration:none;
}
.brand-primary{
  display:block;
  font-family:Georgia,serif;
  font-size:21px;
  line-height:1.05;
  white-space:nowrap;
  color:var(--ink);
}
.brand-secondary{
  display:block;
  font-family:Arial,sans-serif;
  font-size:14px;
  line-height:1.15;
  font-weight:500;
  letter-spacing:.015em;
  color:#56605b;
  white-space:nowrap;
}
.brand:hover,.brand:focus-visible{
  opacity:.68;
  font-weight:inherit;
}

/* Give the identity enough room before progressively simplifying nav. */
@media(max-width:1250px){
  .nav{padding-left:3vw;padding-right:3vw}
  .nav nav{gap:15px}
  .nav nav>a:not(.nav-cta):not(.phone-link){display:none}
}
@media(max-width:900px){
  .nav .phone-link{display:none}
}
@media(max-width:800px){
  .nav{
    height:72px;
    padding:0 18px;
  }
  .brand{
    min-width:0;
    max-width:calc(100vw - 36px);
    gap:3px;
  }
  .brand-primary{
    font-size:18px;
    white-space:nowrap;
  }
  .brand-secondary{
    font-size:12px;
    white-space:nowrap;
  }
  .nav nav{display:none}
  .hero{
    min-height:auto;
    grid-template-columns:1fr;
  }
  .hero-image{
    min-height:0;
    height:min(72vw,520px);
    order:-1;
  }
  .hero-image img{
    object-position:center 28%;
  }
  .hero-copy{
    padding:58px 7vw 68px;
  }
  .hero h1{
    font-size:clamp(43px,12vw,58px);
    line-height:1.02;
  }
  .lead{font-size:18px}
  .intro,.process,.about,.request{padding-left:7vw;padding-right:7vw}
  input,textarea{font-size:16px}
}
@media(max-width:390px){
  .brand-primary{font-size:16px}
  .brand-secondary{font-size:11px}
}

/* V8: horizontal desktop identity, stacked mobile identity, mobile dropdown */

/* Desktop wordmark: one elegant horizontal unit */
.brand{
  display:flex;
  flex-direction:row;
  align-items:baseline;
  gap:16px;
  min-width:max-content;
  line-height:1;
}
.brand-primary{
  font-family:Georgia,"Times New Roman",serif;
  font-size:21px;
  font-weight:400;
  letter-spacing:.01em;
  white-space:nowrap;
}
.brand-secondary{
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  font-weight:400;
  font-style:italic;
  letter-spacing:0;
  color:#626963;
  white-space:nowrap;
}
.menu-toggle{display:none}

/* Keep the full desktop nav until space genuinely becomes constrained. */
@media(min-width:1101px){
  .nav nav{
    display:flex;
    gap:22px;
    align-items:center;
  }
}

/* Tablet: preserve horizontal identity, simplify secondary nav links. */
@media(max-width:1100px) and (min-width:801px){
  .brand{gap:12px}
  .brand-primary{font-size:19px}
  .brand-secondary{font-size:15px}
}

/* Mobile: stacked identity + dropdown navigation */
@media(max-width:800px){
  .nav{
    height:76px;
    padding:0 18px;
    overflow:visible;
  }
  .brand{
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:3px;
    min-width:0;
    max-width:calc(100vw - 86px);
  }
  .brand-primary{
    font-size:17px;
    line-height:1.05;
  }
  .brand-secondary{
    font-size:14px;
    line-height:1.05;
  }

  .menu-toggle{
    display:flex;
    width:42px;
    height:42px;
    border:0;
    background:transparent;
    padding:10px 7px;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    cursor:pointer;
  }
  .menu-toggle span{
    display:block;
    width:27px;
    height:1px;
    background:var(--ink);
    transition:transform .16s ease, opacity .16s ease;
  }
  .menu-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(6px) rotate(45deg);
  }
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-6px) rotate(-45deg);
  }

  .nav nav{
    display:none;
    position:absolute;
    top:76px;
    left:0;
    right:0;
    padding:10px 18px 18px;
    background:rgba(245,242,235,.99);
    border-bottom:1px solid var(--line);
    box-shadow:0 8px 18px rgba(0,0,0,.06);
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .nav nav.is-open{display:flex}
  .nav nav a,
  .nav nav>a:not(.nav-cta):not(.phone-link),
  .nav .phone-link,
  .nav .nav-cta{
    display:block!important;
    padding:12px 0;
    border-bottom:1px solid rgba(31,41,38,.12);
    font-size:15px;
  }
  .nav nav a:last-child{border-bottom:0}
}
@media(max-width:390px){
  .brand-primary{font-size:15px}
  .brand-secondary{font-size:13px}
}


/* V9: refined identity + restrained warm-neutral palette */
:root{
  --ink:#26302d;
  --heading:#59615e;
  --paper:#f5f2eb;
  --white:#fff;
  --sage:#dfe5dc;
  --line:#c9cec5;
  --muted:#737b77;
}

/* Desktop identity: larger and deliberately contrasting typefaces */
@media(min-width:801px){
  .brand{
    gap:22px;
    align-items:baseline;
  }
  .brand-primary{
    font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size:24px;
    font-weight:300;
    letter-spacing:.015em;
    color:var(--ink);
  }
  .brand-secondary{
    font-family:Georgia,"Times New Roman",serif;
    font-size:21px;
    font-weight:400;
    font-style:italic;
    letter-spacing:0;
    color:#6d756f;
  }
}

/* Major display headings are softer than body copy, while remaining legible. */
.hero h1,
.intro>h2,
.process h2,
.independent h2,
.about h2,
.request h2{
  color:var(--heading);
}

/* The dark process panel needs a light heading rather than gray-on-dark. */
.process h2{
  color:#e7e5de;
}

/* Keep supporting section headings/body text anchored in the darker ink. */
.paths h3,
.detail-grid strong{
  color:var(--ink);
}

/* Mobile: stacked identity, still visibly larger and typographically distinct */
@media(max-width:800px){
  .brand-primary{
    font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size:19px;
    font-weight:300;
    letter-spacing:.01em;
  }
  .brand-secondary{
    font-family:Georgia,"Times New Roman",serif;
    font-size:16px;
    font-weight:400;
    font-style:italic;
    color:#6d756f;
  }
}
@media(max-width:390px){
  .brand-primary{font-size:17px}
  .brand-secondary{font-size:15px}
}

/* V10 opening image: environmental landscape */
.hero-image.hero-landscape img {
  object-position: center center;
}


/* V11: actual, visibly distinct web typography */
@media(min-width:801px){
  .brand{
    gap:30px;
    align-items:baseline;
  }
  .brand-primary{
    font-family:"DM Sans",sans-serif;
    font-size:28px;
    font-weight:300;
    letter-spacing:.025em;
    color:#26302d;
  }
  .brand-secondary{
    font-family:"Playfair Display",Georgia,serif;
    font-size:26px;
    font-weight:400;
    font-style:italic;
    letter-spacing:-.01em;
    color:#707873;
  }
}
@media(max-width:800px){
  .brand-primary{
    font-family:"DM Sans",sans-serif;
    font-size:20px;
    font-weight:300;
    letter-spacing:.015em;
  }
  .brand-secondary{
    font-family:"Playfair Display",Georgia,serif;
    font-size:18px;
    font-weight:400;
    font-style:italic;
    letter-spacing:-.01em;
  }
}
@media(max-width:390px){
  .brand-primary{font-size:18px}
  .brand-secondary{font-size:16px}
}


/* V12 wordmark: exact vector outlines, no external font dependency */
.brand-wordmark-link{
  display:flex;
  align-items:center;
  flex:0 1 700px;
  min-width:420px;
}
.brand-wordmark{
  display:block;
  width:min(660px, 43vw);
  height:auto;
}
.brand-wordmark-mobile{display:none}
@media(max-width:800px){
  .brand-wordmark-link{
    flex:1 1 auto;
    min-width:0;
  }
  .brand-wordmark-desktop{display:none}
  .brand-wordmark-mobile{
    display:block;
    width:min(285px, 68vw);
    height:auto;
  }
}


/* V14: preserve vector wordmark; correct navigation separately */
:root{ --display-brown:#705C50; }
.display,h1.display,.hero h1,.section-title,section h2.display{color:var(--display-brown);}

@media(min-width:1001px){
  .site-header .wrap,header .wrap{
    max-width:none;width:100%;padding-left:34px;padding-right:34px;gap:22px;
  }
  .brand-wordmark-link{flex:1 1 650px;min-width:500px;max-width:780px;}
  .brand-wordmark{width:min(710px,42vw);}
  .nav{flex:0 0 auto;gap:24px;white-space:nowrap;}
  .nav a{white-space:nowrap;}
}
@media(max-width:1000px){
  .nav{display:none}
  .menu-toggle{display:inline-flex}
}

/* V16 lighter warm brown */
:root{--display-brown:#A68B7A;}
.display,h1.display,.hero h1,.section-title,section h2.display{color:#A68B7A !important;}


/* V17 mobile-header correction.
   V16 accidentally targeted .nav (the entire header) instead of the nested navigation. */
@media(max-width:1000px){
  .nav{display:flex !important;}
}
@media(max-width:1000px) and (min-width:801px){
  .menu-toggle{display:none !important;}
}

/* V18: use the warm brand brown consistently on white and off-white sections. */
.intro > h2,
.paths h3,
.about h2,
.detail-grid strong,
.request h2{
  color:var(--display-brown);
}

/* Tighten the About portrait to a professional head-and-upper-torso crop. */
.about-image{height:580px}
.about-image img{
  object-position:63% 52%;
  transform:scale(1.45);
  transform-origin:63% 52%;
  filter:contrast(.98) saturate(.96);
}
@media(max-width:800px){
  .about-image{height:500px}
  .about-image img{transform:scale(1.4)}
}

/* Keep the external-practice link stable on hover. */
.external-practice .text-link{
  font-weight:600;
  transition:color .15s ease,text-decoration-color .15s ease;
}
.external-practice .text-link:hover,
.external-practice .text-link:focus-visible{
  font-weight:600;
  color:var(--display-brown);
  opacity:1;
  text-decoration-color:var(--display-brown);
}

/* V28: give mobile section titles a little more breathing room above. */
@media(max-width:800px){
  .intro,
  .process,
  .independent,
  .about,
  .request{
    padding-top:85px;
  }
  .details{
    padding-top:75px;
  }
}

/* V29: use the new finished portrait at its natural proportions. */
.about-image{
  height:auto;
  aspect-ratio:814 / 966;
}
.about-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:none;
  filter:none;
}
@media(max-width:800px){
  .about-image{height:auto;}
  .about-image img{transform:none;}
}

/* V30: educational guide hub and long-form articles */
.learning-preview{padding:110px 8vw;background:#fff;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;border-top:1px solid var(--line)}
.learning-preview h2,.guide-hero h1,.guide-body h2,.guide-body h3,.guide-cta h2{font-family:Georgia,serif;font-weight:400;color:var(--display-brown);line-height:1.1}
.learning-preview h2{font-size:clamp(38px,4vw,56px);margin:0 0 24px}.learning-intro>p:not(.eyebrow){max-width:590px;margin-bottom:26px}
.guide-list{border-top:1px solid var(--line)}.guide-list a{display:grid;grid-template-columns:42px 1fr;gap:5px 18px;padding:24px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.guide-list span{grid-row:1/3;color:var(--muted);font-size:12px;padding-top:5px}.guide-list strong{font-family:Georgia,serif;font-size:24px;font-weight:400;color:var(--display-brown)}.guide-list em{font-style:normal;color:var(--muted);font-size:14px}.guide-list a:hover strong,.guide-list a:focus-visible strong{color:var(--ink)}
.guide-page{background:#fff}.guide-hero{padding:95px max(8vw,calc((100vw - 1220px)/2));background:var(--paper);border-bottom:1px solid var(--line)}.guide-hero .breadcrumbs{font-size:12px;margin:0 0 35px}.guide-hero .breadcrumbs a{color:var(--ink);text-underline-offset:4px}.guide-hero h1{font-size:clamp(48px,6vw,78px);max-width:940px;margin:0 0 28px}.guide-hero .dek{font-size:20px;line-height:1.55;max-width:800px;color:#39423e}.guide-meta{font-size:12px;color:var(--muted);margin-top:35px}.guide-body{max-width:850px;margin:0 auto;padding:85px 28px 100px}.guide-body h2{font-size:38px;margin:65px 0 20px}.guide-body h2:first-child{margin-top:0}.guide-body h3{font-size:27px;margin:42px 0 14px}.guide-body p,.guide-body li{font-size:17px}.guide-body ul{padding-left:24px}.guide-body li{margin:9px 0}.framework,.example,.guide-note{margin:38px 0;padding:30px 34px;background:var(--paper);border-left:3px solid var(--display-brown)}.framework h3,.example h3,.guide-note h3{margin-top:0}.example{background:var(--sage)}.guide-note{font-size:14px}.article-links{margin-top:65px;padding-top:34px;border-top:1px solid var(--line)}.article-links h2{margin-top:0}.article-links a{display:block;color:var(--ink);margin:12px 0;text-underline-offset:5px}.references{font-size:13px;color:var(--muted);margin-top:65px;padding-top:28px;border-top:1px solid var(--line)}.references h2{font-size:25px;margin:0 0 18px}.references a{color:inherit}.guide-cta{padding:80px 8vw;background:var(--sage);display:grid;grid-template-columns:1fr auto;gap:45px;align-items:center}.guide-cta h2{font-size:40px;margin:0 0 15px}.guide-cta p{max-width:720px;margin:0}.site-footer-home{color:var(--ink);text-decoration:none}
@media(max-width:800px){.learning-preview{padding:85px 7vw;grid-template-columns:1fr;gap:50px}.guide-list strong{font-size:22px}.guide-hero{padding:65px 7vw}.guide-hero h1{font-size:48px}.guide-hero .dek{font-size:18px}.guide-body{padding:65px 7vw 80px}.guide-body h2{font-size:34px}.guide-body h3{font-size:25px}.framework,.example,.guide-note{padding:25px 24px;margin-left:0;margin-right:0}.guide-cta{padding:65px 7vw;grid-template-columns:1fr}.guide-cta .button{justify-self:start}}

/* V32: prevent the tablet-width navigation gap. */
@media(max-width:1250px) and (min-width:801px){
  .nav{overflow:visible}
  .menu-toggle{
    display:flex!important;
    width:42px;
    height:42px;
    border:0;
    background:transparent;
    padding:7px;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    cursor:pointer;
  }
  .menu-toggle span{
    display:block;
    width:27px;
    height:1px;
    background:var(--ink);
    transition:transform .16s ease,opacity .16s ease;
  }
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .nav>nav{
    display:none!important;
    position:absolute;
    top:84px;
    left:0;
    right:0;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    padding:12px 5vw 18px;
    box-shadow:0 8px 18px rgba(0,0,0,.06);
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .nav>nav.is-open{display:flex!important}
  .nav>nav a,
  .nav>nav>a:not(.nav-cta):not(.phone-link),
  .nav>nav .phone-link,
  .nav>nav .nav-cta{
    display:block!important;
    padding:12px 0;
    border-bottom:1px solid rgba(31,41,38,.12);
    font-size:15px;
  }
  .nav>nav a:last-child{border-bottom:0}
}
