/* Lexvico sitewide interaction, contrast, mobile-hero, and cookie controls — July 2026 */
:root{
  --lex-navy:#102c4a;
  --lex-navy-2:#173957;
  --lex-mulberry:#741f4b;
  --lex-gold:#c99b45;
  --lex-cream:#f8f2ea;
  --lex-pale-blue:#f1f6fa;
  --lex-border:rgba(16,44,74,.15);
}

/* Compact, branded Services menu. */
.primary-nav > .nav-dropdown{position:relative;display:flex;align-self:stretch;align-items:stretch}
.nav-dropdown-menu{
  left:-18px!important;
  width:350px!important;
  min-width:350px!important;
  max-width:calc(100vw - 28px)!important;
  padding:9px!important;
  border:1px solid rgba(16,44,74,.14)!important;
  border-top:3px solid var(--lex-gold)!important;
  border-radius:0 0 12px 12px!important;
  background:#fffdf9!important;
  box-shadow:0 18px 38px rgba(16,44,74,.18)!important;
  transform:translateY(10px)!important;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.open .nav-dropdown-menu{transform:translateY(0)!important}
.nav-dropdown-menu::before{
  padding:3px 8px 7px!important;
  font-size:8.5px!important;
  letter-spacing:.17em!important;
}
.nav-dropdown-menu a{
  min-height:60px!important;
  margin:2px 0!important;
  padding:10px 11px 10px 55px!important;
  border-radius:8px!important;
  font-size:11.5px!important;
  line-height:1.2!important;
}
.nav-dropdown-menu a::before{
  left:10px!important;
  width:34px!important;
  height:34px!important;
  font-size:9px!important;
  box-shadow:0 5px 14px rgba(16,44,74,.15);
}
.nav-dropdown-menu a::after{
  margin-top:3px!important;
  max-width:270px!important;
  font-size:9.75px!important;
  line-height:1.3!important;
}
.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus-visible,
.nav-dropdown-menu a.active{
  transform:translateX(2px)!important;
  background:linear-gradient(90deg,#f4f7fa,#fffaf5)!important;
  border-color:rgba(16,44,74,.12)!important;
}

/* Stronger separation and more navy contrast between light page sections. */
main > section.section-tone-blue{
  position:relative;
  background:linear-gradient(180deg,var(--lex-pale-blue) 0%,#f9fbfc 100%)!important;
  border-top:4px solid var(--lex-navy)!important;
  border-bottom:1px solid var(--lex-border)!important;
}
main > section.section-tone-blue::before{
  content:"";
  position:absolute;
  top:-4px;
  left:50%;
  width:78px;
  height:4px;
  transform:translateX(-50%);
  background:var(--lex-gold);
}
main > section.section-tone-blue .section-heading h2,
main > section.section-tone-blue > .container > h2{color:var(--lex-navy)!important}

/* Interactive card polish without changing content. */
.service-card,.consulting-card,.price-card,.topic-card,.value-card,
.expectation-grid article,.assist-grid article,.mission-grid article,
.process-grid article,.trust-grid article,.partner-grid article{
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease;
}
.service-card:hover,.consulting-card:hover,.price-card:hover,.topic-card:hover,.value-card:hover,
.expectation-grid article:hover,.assist-grid article:hover,.mission-grid article:hover,
.trust-grid article:hover,.partner-grid article:hover{
  transform:translateY(-4px);
  border-color:rgba(16,44,74,.28)!important;
  box-shadow:0 14px 34px rgba(16,44,74,.11);
}
.button:hover,.button:focus-visible,.btn:hover,.btn:focus-visible{
  box-shadow:0 8px 20px rgba(16,44,74,.18);
}

/* Mobile/tablet heroes: copy occupies its own cream panel; imagery follows below. */
@media(max-width:900px){
  .primary-nav.open{max-height:calc(100vh - 78px);overflow-y:auto;overscroll-behavior:contain}
  .primary-nav > .nav-dropdown{display:block!important;width:100%!important}
  .nav-dropdown-menu{
    position:static!important;
    display:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    padding:6px 0 9px 8px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
  .nav-dropdown:hover .nav-dropdown-menu{display:none!important}
  .nav-dropdown.open .nav-dropdown-menu,
  .nav-dropdown.open:hover .nav-dropdown-menu{display:block!important}
  .nav-dropdown-menu::before{display:none!important}
  .nav-dropdown-menu a{
    min-height:56px!important;
    margin:3px 0!important;
    padding:10px 10px 10px 52px!important;
    background:#f4f7fa!important;
    border:1px solid rgba(16,44,74,.10)!important;
  }
  .nav-dropdown-menu a::before{left:9px!important;width:31px!important;height:31px!important}
  .nav-dropdown-menu a::after{max-width:none!important;font-size:9.5px!important}

  main .hero,
  main .about-hero,
  main .services-hero,
  main .consulting-hero,
  main .wc-hero{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    min-height:0!important;
    height:auto!important;
    align-items:stretch!important;
    overflow:hidden!important;
    background:var(--lex-cream)!important;
  }
  main .hero > .hero-image,
  main .hero > .hero-photo,
  main .about-hero > .about-hero-image,
  main .services-hero > .hero-photo,
  main .consulting-hero > .hero-photo,
  main .wc-hero > .hero-photo{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    min-height:0!important;
    height:clamp(285px,63vw,430px)!important;
    background-size:cover!important;
    background-position:center center!important;
  }
  main .hero > .hero-overlay,
  main .about-hero > .about-hero-overlay,
  main .services-hero > .hero-overlay,
  main .consulting-hero > .hero-overlay,
  main .wc-hero > .hero-overlay{display:none!important}

  main .hero > .hero-content,
  main .about-hero > .about-hero-content,
  main .services-hero > .hero-content,
  main .consulting-hero > .hero-content,
  main .wc-hero > .hero-content{
    position:relative!important;
    inset:auto!important;
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:46px 28px 40px!important;
    background:var(--lex-cream)!important;
    box-sizing:border-box!important;
  }
  main .hero-content > *,
  main .about-hero-copy-wrap,
  main .hero-text-column,
  main .hero-copy,
  main .hero-lead{
    width:100%!important;
    max-width:100%!important;
  }
  main .hero h1,
  main .about-hero h1,
  main .services-hero h1,
  main .consulting-hero h1,
  main .wc-hero h1{
    max-width:100%!important;
    font-size:clamp(43px,8.5vw,64px)!important;
    line-height:1.01!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  main .hero-actions{max-width:100%!important}
}

@media(max-width:620px){
  main .hero > .hero-content,
  main .about-hero > .about-hero-content,
  main .services-hero > .hero-content,
  main .consulting-hero > .hero-content,
  main .wc-hero > .hero-content{padding:38px 20px 34px!important}
  main .hero h1,
  main .about-hero h1,
  main .services-hero h1,
  main .consulting-hero h1,
  main .wc-hero h1{font-size:clamp(38px,12vw,52px)!important}
  main .hero > .hero-image,
  main .hero > .hero-photo,
  main .about-hero > .about-hero-image,
  main .services-hero > .hero-photo,
  main .consulting-hero > .hero-photo,
  main .wc-hero > .hero-photo{height:clamp(265px,72vw,360px)!important}
  main .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  main .hero-actions .button,main .hero-actions .btn{width:100%!important}
}

/* Cookie consent banner and preferences dialog. */
.cookie-banner{
  position:fixed;
  z-index:10000;
  left:20px;
  right:20px;
  bottom:20px;
  max-width:1120px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto;
  gap:22px;
  align-items:center;
  padding:18px 20px;
  color:#fff;
  background:linear-gradient(120deg,var(--lex-navy),var(--lex-navy-2));
  border:1px solid rgba(255,255,255,.16);
  border-top:4px solid var(--lex-gold);
  border-radius:14px;
  box-shadow:0 20px 48px rgba(0,0,0,.28);
}
.cookie-banner[hidden],.cookie-modal[hidden]{display:none!important}
.cookie-banner p{margin:0;color:#fff!important;font-size:13px!important;line-height:1.55!important}
.cookie-banner strong{color:#fff}
.cookie-banner a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}
.cookie-button{
  min-height:42px;
  padding:9px 14px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:6px;
  background:transparent;
  color:#fff;
  cursor:pointer;
  font:700 11px/1.2 Montserrat,Arial,sans-serif;
  letter-spacing:.03em;
}
.cookie-button.primary{background:#fff;color:var(--lex-navy);border-color:#fff}
.cookie-button:hover,.cookie-button:focus-visible{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.2);outline:2px solid var(--lex-gold);outline-offset:2px}
.cookie-modal{position:fixed;z-index:10020;inset:0;display:grid;place-items:center;padding:20px;background:rgba(5,18,31,.66)}
.cookie-dialog{width:min(560px,100%);max-height:min(720px,calc(100vh - 40px));overflow:auto;padding:28px;background:#fffdf9;border-radius:14px;border-top:5px solid var(--lex-gold);box-shadow:0 24px 70px rgba(0,0,0,.34)}
.cookie-dialog h2{margin:0 0 8px;color:var(--lex-navy);font-family:"Cormorant Garamond",Georgia,serif;font-size:34px}
.cookie-dialog > p{margin:0 0 22px;font-size:13px!important}
.cookie-option{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;padding:16px 0;border-top:1px solid var(--lex-border)}
.cookie-option h3{margin:0 0 4px;color:var(--lex-navy);font-family:Montserrat,Arial,sans-serif;font-size:13px}
.cookie-option p{margin:0;font-size:12px!important;line-height:1.5!important}
.cookie-option input{width:21px;height:21px;accent-color:var(--lex-mulberry)}
.cookie-dialog-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:22px}
.cookie-dialog-actions .cookie-button{border-color:var(--lex-navy);color:var(--lex-navy)}
.cookie-dialog-actions .cookie-button.primary{background:var(--lex-mulberry);border-color:var(--lex-mulberry);color:#fff}
.cookie-settings-link{display:inline-flex!important;margin-top:7px!important;padding:0!important;border:0;background:transparent;color:#fff!important;cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:3px}

@media(max-width:720px){
  .cookie-banner{left:10px;right:10px;bottom:10px;grid-template-columns:1fr;gap:14px;padding:16px}
  .cookie-actions{justify-content:stretch}
  .cookie-actions .cookie-button{flex:1 1 140px}
  .cookie-dialog{padding:22px 18px}
  .cookie-dialog-actions{display:grid;grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* Page-specific continuity and legibility safeguards — July 2026 */
main > section.about-section,
main > section.founder,
main > section.about-section.section-tone-blue,
main > section.founder.section-tone-blue {
  background: var(--cream, #f8f2ea) !important;
}

main > section.expertise,
main > section.expertise.section-tone-blue {
  color: #fff !important;
  background: linear-gradient(112deg, #102c4a, #173957) !important;
}

main > section.expertise h2,
main > section.expertise h3,
main > section.expertise p {
  color: #fff !important;
}

main > section.expertise .line-icon img {
  opacity: 1 !important;
}


/* =========================================================
   Uniform interior-page hero system — July 23, 2026
   Uses the How It Works hero as the visual standard.
   ========================================================= */

:root{
  --lexvico-inner-hero-height:560px;
  --lexvico-inner-hero-image-start:50%;
  --lexvico-inner-hero-copy-width:500px;
}

/* Keep all interior-page hero sections the same desktop height. */
.hero,
.services-hero,
.wc-hero,
.consulting-hero,
.about-hero{
  position:relative!important;
  height:var(--lexvico-inner-hero-height)!important;
  min-height:var(--lexvico-inner-hero-height)!important;
  max-height:var(--lexvico-inner-hero-height)!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  background:var(--cream,#f8f2ea)!important;
}

/* Keep the image completely within the right half. */
.hero > .hero-photo,
.services-hero > .hero-photo,
.wc-hero > .hero-photo,
.consulting-hero > .hero-photo,
.about-hero > .about-hero-image{
  position:absolute!important;
  inset:0 0 0 var(--lexvico-inner-hero-image-start)!important;
  width:auto!important;
  height:100%!important;
  min-height:0!important;
  background-size:cover!important;
  background-position:center!important;
}

/* Consistent blend between the live copy and the image. */
.hero > .hero-overlay,
.services-hero > .hero-overlay,
.wc-hero > .hero-overlay,
.consulting-hero > .hero-overlay,
.about-hero > .about-hero-overlay{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  background:linear-gradient(
    90deg,
    var(--cream,#f8f2ea) 0%,
    rgba(248,242,234,.995) 40%,
    rgba(248,242,234,.86) 49%,
    rgba(248,242,234,.16) 67%,
    rgba(248,242,234,.02) 100%
  )!important;
  pointer-events:none!important;
}

/* Consistent live-copy area. */
.hero > .hero-content,
.services-hero > .hero-content,
.wc-hero > .hero-content,
.consulting-hero > .hero-content,
.about-hero > .about-hero-content{
  position:relative!important;
  z-index:2!important;
  width:min(1200px,calc(100% - 40px))!important;
  margin:0 auto!important;
  padding:46px 0!important;
  align-self:center!important;
}

/* Limit the text to the left column on every page. */
.hero > .hero-content > *,
.services-hero .hero-text-column,
.wc-hero > .hero-content > *,
.consulting-hero > .hero-content > *,
.about-hero .about-hero-copy-wrap{
  max-width:var(--lexvico-inner-hero-copy-width)!important;
}

.hero h1,
.services-hero h1,
.wc-hero h1,
.consulting-hero h1,
.about-hero h1{
  max-width:var(--lexvico-inner-hero-copy-width)!important;
  margin-top:0!important;
  font-size:clamp(48px,4.7vw,68px)!important;
  line-height:.97!important;
  letter-spacing:-.018em!important;
}

.consulting-hero h1{
  font-size:clamp(46px,4.25vw,61px)!important;
}

.hero .hero-lead,
.hero .hero-copy,
.hero .hero-note,
.services-hero .hero-lead,
.services-hero .hero-copy,
.wc-hero .hero-lead,
.wc-hero .hero-copy,
.consulting-hero .hero-copy,
.about-hero .hero-lead,
.about-hero .hero-copy{
  width:auto!important;
  max-width:var(--lexvico-inner-hero-copy-width)!important;
  font-size:14px!important;
  line-height:1.58!important;
}

.hero .hero-note{
  font-size:18px!important;
}

.hero .hero-actions,
.services-hero .hero-actions,
.wc-hero .hero-actions,
.consulting-hero .hero-actions,
.about-hero .hero-actions{
  margin-top:24px!important;
}

/* Tablet/mobile: equal-height stacked heroes, with text above image. */
@media(max-width:900px){
  :root{
    --lexvico-inner-hero-height:820px;
  }

  .hero,
  .services-hero,
  .wc-hero,
  .consulting-hero,
  .about-hero{
    height:var(--lexvico-inner-hero-height)!important;
    min-height:var(--lexvico-inner-hero-height)!important;
    max-height:var(--lexvico-inner-hero-height)!important;
    align-items:flex-start!important;
  }

  .hero > .hero-photo,
  .services-hero > .hero-photo,
  .wc-hero > .hero-photo,
  .consulting-hero > .hero-photo,
  .about-hero > .about-hero-image{
    inset:54% 0 0!important;
    height:46%!important;
    width:100%!important;
    background-position:center 18%!important;
  }

  .hero > .hero-overlay,
  .services-hero > .hero-overlay,
  .wc-hero > .hero-overlay,
  .consulting-hero > .hero-overlay,
  .about-hero > .about-hero-overlay{
    background:linear-gradient(
      180deg,
      var(--cream,#f8f2ea) 0%,
      var(--cream,#f8f2ea) 50%,
      rgba(248,242,234,.84) 58%,
      rgba(248,242,234,.08) 75%,
      rgba(248,242,234,.01) 100%
    )!important;
  }

  .hero > .hero-content,
  .services-hero > .hero-content,
  .wc-hero > .hero-content,
  .consulting-hero > .hero-content,
  .about-hero > .about-hero-content{
    width:min(100% - 32px,1200px)!important;
    padding:42px 0 0!important;
    margin:0 auto!important;
  }

  .hero h1,
  .services-hero h1,
  .wc-hero h1,
  .consulting-hero h1,
  .about-hero h1{
    font-size:clamp(42px,8vw,56px)!important;
  }
}

@media(max-width:560px){
  :root{
    --lexvico-inner-hero-height:860px;
  }

  .hero h1,
  .services-hero h1,
  .wc-hero h1,
  .consulting-hero h1,
  .about-hero h1{
    font-size:42px!important;
  }

  .hero .hero-actions,
  .services-hero .hero-actions,
  .wc-hero .hero-actions,
  .consulting-hero .hero-actions,
  .about-hero .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    max-width:340px!important;
  }
}


/* =========================================================
   Full-site responsive hardening — July 23, 2026
   Desktop, ultrawide, laptop, tablet, and mobile
   ========================================================= */

html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

*,*::before,*::after{
  min-width:0;
}

img,svg,video,canvas,iframe{
  max-width:100%;
  height:auto;
}

table{
  width:100%;
  max-width:100%;
}

.container{
  width:min(100% - clamp(28px,4vw,72px),1440px)!important;
  max-width:1440px!important;
  margin-inline:auto!important;
}

/* Keep header content centered and prevent navigation overflow. */
.site-header .nav-wrap{
  width:min(100% - clamp(28px,4vw,72px),1440px)!important;
  max-width:1440px!important;
  margin-inline:auto!important;
  gap:clamp(18px,2vw,34px)!important;
}

.site-header .brand{
  flex:0 1 300px!important;
  width:clamp(220px,19vw,300px)!important;
  max-width:300px!important;
}

.site-header .brand img{
  width:100%!important;
  height:auto!important;
  max-height:76px!important;
  object-fit:contain!important;
  object-position:left center!important;
}

.primary-nav{
  flex:1 1 auto!important;
  min-width:0!important;
  justify-content:flex-end!important;
  gap:clamp(12px,1.25vw,24px)!important;
  white-space:nowrap!important;
}

.primary-nav>a,
.primary-nav .nav-dropdown-toggle{
  font-size:clamp(9px,.72vw,11px)!important;
}

/* Prevent cards and grids from overflowing at intermediate widths. */
.service-grid,
.service-card-grid,
.detail-grid,
.consulting-grid,
.partner-grid,
.process-grid,
.policy-grid,
.reason-grid,
.topic-grid,
.footer-grid,
.footer-links-grid,
.cards{
  min-width:0!important;
}

.service-grid>*,
.service-card-grid>*,
.detail-grid>*,
.consulting-grid>*,
.partner-grid>*,
.process-grid>*,
.policy-grid>*,
.reason-grid>*,
.topic-grid>*,
.footer-grid>*,
.footer-links-grid>*,
.cards>*{
  min-width:0!important;
  max-width:100%!important;
}

/* Uniform hero responsiveness across standard and ultrawide screens. */
@media(min-width:1600px){
  :root{
    --lexvico-inner-hero-height:580px;
    --lexvico-inner-hero-copy-width:560px;
  }

  .hero,
  .services-hero,
  .wc-hero,
  .consulting-hero,
  .about-hero{
    width:100%!important;
    max-width:1920px!important;
    margin-inline:auto!important;
  }

  .hero > .hero-photo,
  .services-hero > .hero-photo,
  .wc-hero > .hero-photo,
  .consulting-hero > .hero-photo,
  .about-hero > .about-hero-image{
    inset:0 0 0 50%!important;
    background-size:cover!important;
    background-position:center 16%!important;
  }

  .hero > .hero-content,
  .services-hero > .hero-content,
  .wc-hero > .hero-content,
  .consulting-hero > .hero-content,
  .about-hero > .about-hero-content{
    width:min(100% - 96px,1440px)!important;
    max-width:1440px!important;
  }

  .hero h1,
  .services-hero h1,
  .wc-hero h1,
  .consulting-hero h1,
  .about-hero h1{
    font-size:clamp(52px,3.6vw,70px)!important;
  }
}

/* Large desktop/laptop */
@media(min-width:1181px) and (max-width:1599px){
  .hero,
  .services-hero,
  .wc-hero,
  .consulting-hero,
  .about-hero{
    max-width:none!important;
  }

  .hero > .hero-photo,
  .services-hero > .hero-photo,
  .wc-hero > .hero-photo,
  .consulting-hero > .hero-photo,
  .about-hero > .about-hero-image{
    inset:0 0 0 50%!important;
    background-position:center 18%!important;
  }
}

/* Compact desktop and landscape tablet:
   collapse the header before it can clip or run off-screen. */
@media(max-width:1180px){
  .site-header .nav-wrap{
    min-height:88px!important;
  }

  .menu-toggle{
    display:block!important;
    flex:0 0 auto!important;
  }

  .primary-nav{
    position:absolute!important;
    top:100%!important;
    left:0!important;
    right:0!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    width:100%!important;
    max-height:calc(100vh - 88px)!important;
    overflow-y:auto!important;
    padding:18px clamp(20px,4vw,48px) 24px!important;
    background:var(--cream,#f8f2ea)!important;
    box-shadow:0 18px 42px rgba(20,20,30,.14)!important;
    white-space:normal!important;
  }

  .primary-nav.open{
    display:flex!important;
  }

  .primary-nav>a,
  .primary-nav .nav-dropdown-toggle{
    width:100%!important;
    padding:12px 4px!important;
    font-size:12px!important;
    text-align:left!important;
  }

  .nav-dropdown{
    width:100%!important;
  }

  .nav-dropdown-menu{
    position:static!important;
    width:100%!important;
    min-width:0!important;
    margin-top:0!important;
    padding:0 0 8px 16px!important;
    border:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }

  .nav-dropdown-menu a{
    padding:10px 6px!important;
  }

  .service-grid,
  .service-card-grid,
  .consulting-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .detail-grid,
  .partner-grid,
  .process-grid,
  .reason-grid,
  .policy-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .footer-grid,
  .site-footer .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Portrait tablets */
@media(max-width:900px){
  .container,
  .site-header .nav-wrap{
    width:min(100% - 32px,1440px)!important;
  }

  .hero,
  .services-hero,
  .wc-hero,
  .consulting-hero,
  .about-hero{
    height:auto!important;
    min-height:820px!important;
    max-height:none!important;
  }

  .service-grid,
  .service-card-grid,
  .consulting-grid,
  .detail-grid,
  .partner-grid,
  .process-grid,
  .reason-grid,
  .policy-grid,
  .topic-grid,
  .cards{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .pricing-grid,
  .about-section,
  .deliverables-layout,
  .footer-top{
    grid-template-columns:1fr!important;
  }

  .about-copy,
  .about-inner,
  .deliverables-intro{
    max-width:none!important;
  }
}

/* Phones */
@media(max-width:640px){
  .container,
  .site-header .nav-wrap,
  .site-footer .footer-grid,
  .site-footer .footer-bottom-inner{
    width:min(100% - 24px,1440px)!important;
  }

  .site-header .brand{
    width:min(220px,72vw)!important;
  }

  .hero,
  .services-hero,
  .wc-hero,
  .consulting-hero,
  .about-hero{
    min-height:860px!important;
  }

  .service-grid,
  .service-card-grid,
  .consulting-grid,
  .detail-grid,
  .partner-grid,
  .process-grid,
  .reason-grid,
  .policy-grid,
  .topic-grid,
  .cards,
  .footer-grid,
  .site-footer .footer-grid{
    grid-template-columns:1fr!important;
  }

  .hero h1,
  .services-hero h1,
  .wc-hero h1,
  .consulting-hero h1,
  .about-hero h1{
    font-size:clamp(38px,12vw,46px)!important;
    overflow-wrap:anywhere!important;
  }

  .hero-actions,
  .cta-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:360px!important;
  }

  .hero-actions .button,
  .cta-actions .button,
  .submit-button{
    width:100%!important;
    min-width:0!important;
  }

  .pricing-note,
  .cta-inner,
  .footer-bottom-inner{
    flex-direction:column!important;
    align-items:flex-start!important;
  }

  .toc-card ol{
    columns:1!important;
  }
}

/* Very small phones */
@media(max-width:380px){
  .container,
  .site-header .nav-wrap,
  .site-footer .footer-grid,
  .site-footer .footer-bottom-inner{
    width:calc(100% - 18px)!important;
  }

  .site-header .brand{
    width:195px!important;
  }

  .hero h1,
  .services-hero h1,
  .wc-hero h1,
  .consulting-hero h1,
  .about-hero h1{
    font-size:36px!important;
  }
}
