
/* === BLOG STYLES (appended) === */

.blog-single{background:#fff}
.post-article{display:block}

/* Header / hero — navy band so the site header is visible */
.post-header{
  background:var(--c-bg-dark);
  color:#fff;
  padding:calc(var(--header-h,80px) + 72px) 0 clamp(4rem,6vw,6rem);
  position:relative;
}
.post-header__inner{
  max-width:780px;
  margin:0 auto;
  padding:0 clamp(1.5rem,4vw,3rem);
}
.post-breadcrumb{
  display:flex; align-items:center; gap:.5rem;
  font-size:.8125rem; color:rgba(255,255,255,.6);
  margin-bottom:1.75rem;
  flex-wrap:wrap;
}
.post-breadcrumb a{
  color:rgba(255,255,255,.6);
  text-decoration:none;
  transition:color .15s var(--t-base);
}
.post-breadcrumb a:hover{color:var(--c-accent)}
.post-breadcrumb span{color:rgba(255,255,255,.4)}

.post-eyebrow{
  display:inline-block;
  background:var(--c-accent);
  color:#fff;
  padding:.35rem .8rem;
  border-radius:999px;
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-decoration:none;
  margin-bottom:1.25rem;
  transition:background .2s var(--t-base);
}
.post-eyebrow:hover{background:var(--c-text)}

.post-title{
  font-family:"Roboto",system-ui,sans-serif;
  font-size:clamp(2rem,4vw,3.5rem);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.02em;
  color:#fff !important;
  margin:0 0 1.5rem;
}
.post-title .dot{color:var(--c-accent) !important}

.post-meta{
  display:flex; align-items:center; gap:.65rem;
  flex-wrap:wrap;
  font-size:.875rem;
  color:rgba(255,255,255,.7);
  margin-bottom:1.5rem;
}
.post-meta__item{display:inline-flex; align-items:center; gap:.4rem}
.post-meta__dot{
  width:6px; height:6px; background:var(--c-accent); border-radius:50%;
  display:inline-block;
}
.post-meta__author{color:#fff; font-weight:600}
.post-meta__sep{opacity:.4}

.post-lede{
  font-size:1.1875rem;
  line-height:1.6;
  color:rgba(255,255,255,.85);
  margin:0;
}

/* Cover */
.blog-cover{
  max-width:1100px;
  margin:clamp(2rem,3vw,3rem) auto 0;
  padding:0 clamp(1.5rem,4vw,3rem);
  position:relative;
  z-index:1;
}
/* Article hero cover — only here we want the rounded shadow card look */
.blog-cover > .blog-cover__svg-wrap,
.blog-cover > .blog-cover__img,
.blog-cover svg.blog-cover__img{
  display:block;
  width:100%;
  height:auto;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 24px 60px -20px rgba(15,10,38,.25);
}
.blog-cover > .blog-cover__svg-wrap svg{
  display:block;
  width:100%;
  height:auto;
}

/* Default wrap behavior (used in tiles): fill, no rounded corners of its own */
.blog-cover__svg-wrap{
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
}
.blog-cover__svg-wrap svg{
  display:block;
  width:100%;
  height:100%;
}

/* Content */
.post-content{padding:clamp(3rem,6vw,5rem) 0 clamp(2rem,4vw,3rem)}
.post-content__inner{
  max-width:720px;
  margin:0 auto;
  padding:0 clamp(1.5rem,4vw,3rem);
}
.post-body{font-size:1.0625rem; line-height:1.75; color:var(--c-text)}
.post-body > * + *{margin-top:1.25em}
.post-body h2{
  font-size:1.75rem;
  font-weight:700;
  letter-spacing:-.01em;
  margin-top:2.5em;
  color:var(--c-text);
}
.post-body h3{
  font-size:1.375rem;
  font-weight:700;
  margin-top:2em;
  color:var(--c-text);
}
.post-body a{
  color:var(--c-accent);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.post-body a:hover{color:var(--c-text)}
.post-body blockquote{
  border-left:3px solid var(--c-accent);
  padding:.5rem 0 .5rem 1.25rem;
  margin-left:0;
  font-style:normal;
  color:var(--c-text);
  font-weight:500;
}
.post-body img{
  max-width:100%;
  height:auto;
  border-radius:8px;
  margin:2rem 0;
}
.post-body ul, .post-body ol{padding-left:1.25rem}
.post-body li + li{margin-top:.4em}
.post-body code{
  background:var(--c-bg);
  padding:.15em .4em;
  border-radius:4px;
  font-size:.9em;
}
.post-body pre{
  background:var(--c-bg-dark);
  color:#fff;
  padding:1.25rem;
  border-radius:8px;
  overflow-x:auto;
  font-size:.875rem;
  line-height:1.6;
}
.post-body pre code{background:transparent; color:inherit; padding:0}

/* Share */
.post-share{
  margin-top:3rem;
  padding-top:2rem;
  border-top:1px solid var(--c-line);
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:1rem;
}
.post-share__label{
  font-size:.875rem;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--c-text);
}
.post-share__label .dot{color:var(--c-accent)}
.post-share__buttons{display:flex; align-items:center; gap:.5rem; flex-wrap:wrap}
.post-share__btn{
  width:40px; height:40px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--c-bg);
  color:var(--c-text);
  border:0;
  cursor:pointer;
  text-decoration:none;
  transition:background .15s var(--t-base), color .15s var(--t-base), transform .2s var(--t-spring);
}
.post-share__btn svg{width:18px; height:18px}
.post-share__btn:hover{
  background:var(--c-accent);
  color:#fff;
  transform:translateY(-2px);
}
.post-share__msg{
  font-size:.8125rem;
  color:var(--c-text-muted);
}

/* Related */
.post-related{
  background:var(--c-bg);
  padding:clamp(3rem,6vw,5rem) 0;
  margin-top:clamp(2rem,5vw,4rem);
}
.post-related__head{
  max-width:1200px;
  margin:0 auto clamp(2rem,3vw,3rem);
  padding:0 clamp(1.5rem,4vw,3rem);
}
.post-related__eyebrow{
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--c-text-muted);
  margin:0 0 .5rem;
}
.post-related__title{
  font-size:clamp(1.75rem,3vw,2.5rem);
  font-weight:700;
  letter-spacing:-.01em;
  margin:0;
  color:var(--c-text);
}
.post-related__title .dot{color:var(--c-accent)}
.post-related__grid{
  max-width:1200px;
  margin:0 auto;
  padding:0 clamp(1.5rem,4vw,3rem);
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(1.25rem,2vw,2rem);
}
@media (max-width:880px){.post-related__grid{grid-template-columns:1fr}}

.related-card{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:12px;
  overflow:hidden;
  text-decoration:none;
  color:var(--c-text);
  transition:transform .25s var(--t-spring), box-shadow .25s var(--t-base), border-color .15s var(--t-base);
  display:flex; flex-direction:column;
}
.related-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 28px -10px rgba(15,10,38,.2);
  border-color:rgba(15,10,38,.2);
}
.related-card__cover{aspect-ratio:16/9; overflow:hidden; background:transparent}
.related-card__cover .blog-cover__svg-wrap, .related-card__cover img{display:block; width:100%; height:100%}
.related-card__cover .blog-cover__svg-wrap svg{display:block; width:100%; height:100%}
.related-card__cover img{object-fit:cover}
.related-card__body{padding:1.25rem 1.25rem 1.5rem}
.related-card__eyebrow{
  display:inline-block;
  font-size:.625rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:.5rem;
}
.related-card__title{
  font-size:1.0625rem;
  font-weight:700;
  line-height:1.3;
  margin:0 0 .75rem;
  color:var(--c-text);
}
.related-card__meta{
  font-size:.75rem;
  color:var(--c-text-muted);
}

/* ============ BLOG INDEX (listing) ============ */
.blog-index{background:#fff}
.blog-index__hero{
  background:var(--c-bg-dark);
  color:#fff;
  padding:calc(var(--header-h,80px) + 80px) 0 80px;
}
.blog-index__hero-inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 clamp(1.5rem,4vw,3rem);
}
.blog-index__eyebrow{
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin:0 0 1rem;
}
.blog-index__title{
  font-size:clamp(2.5rem,5vw,4rem);
  font-weight:700;
  line-height:1.05;
  letter-spacing:-.02em;
  margin:0 0 1.25rem;
  color:#fff !important;
}
.blog-index__title .dot{color:var(--c-accent) !important}
.blog-index__sub{
  font-size:1.1875rem;
  color:rgba(255,255,255,.7);
  margin:0;
  max-width:580px;
}

.blog-filters{
  background:var(--c-bg);
  padding:1.5rem 0;
  border-bottom:1px solid var(--c-line);
}
.blog-filters__inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 clamp(1.5rem,4vw,3rem);
  display:flex; align-items:center; gap:.75rem;
  flex-wrap:wrap;
}
.blog-filter{
  padding:.55rem 1.1rem;
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:999px;
  color:var(--c-text);
  font-size:.875rem;
  font-weight:500;
  text-decoration:none;
  transition:all .15s var(--t-base);
  white-space:nowrap;
}
.blog-filter:hover{
  border-color:var(--c-bg-dark);
  color:var(--c-bg-dark);
}
.blog-filter.is-active{
  background:var(--c-bg-dark);
  color:#fff;
  border-color:var(--c-bg-dark);
}
.blog-filter__count{
  margin-left:.4rem;
  font-size:.75rem;
  opacity:.6;
  font-variant-numeric:tabular-nums;
}

.blog-list{padding:clamp(3rem,5vw,5rem) 0}
.blog-list__inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 clamp(1.5rem,4vw,3rem);
}
.blog-list__grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:clamp(1.5rem,2.5vw,2.25rem);
}
@media (max-width:1024px){.blog-list__grid{grid-template-columns:repeat(2, 1fr)}}
@media (max-width:640px){.blog-list__grid{grid-template-columns:1fr}}

.blog-card{
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:14px;
  overflow:hidden;
  text-decoration:none;
  color:var(--c-text);
  display:flex; flex-direction:column;
  transition:transform .25s var(--t-spring), box-shadow .25s var(--t-base), border-color .15s var(--t-base);
}
.blog-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 32px -12px rgba(15,10,38,.22);
  border-color:rgba(15,10,38,.2);
}
.blog-card__cover{aspect-ratio:16/9; overflow:hidden; background:transparent}
.blog-card__cover .blog-cover__svg-wrap, .blog-card__cover .blog-cover__svg-wrap svg, .blog-card__cover img{
  display:block; width:100%; height:100%;
}
.blog-card__cover img{object-fit:cover}
.blog-card__body{padding:1.5rem 1.5rem 1.75rem; flex:1; display:flex; flex-direction:column}
.blog-card__eyebrow{
  display:inline-block;
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin-bottom:.75rem;
}
.blog-card__title{
  font-size:1.25rem;
  font-weight:700;
  line-height:1.25;
  margin:0 0 .85rem;
  color:var(--c-text);
}
.blog-card__excerpt{
  font-size:.9375rem;
  line-height:1.55;
  color:var(--c-text-muted);
  margin:0 0 1.25rem;
  flex:1;
}
.blog-card__meta{
  font-size:.75rem;
  color:var(--c-text-muted);
  padding-top:1rem;
  border-top:1px solid var(--c-line);
}

.blog-empty{
  text-align:center;
  padding:4rem 1rem;
  color:var(--c-text-muted);
}

/* === MEGA MENU OVERRIDES (appended) === */

.mega-menu__inner{
  padding:clamp(1.5rem,2.5vw,2.25rem) clamp(1.5rem,5vw,3rem) clamp(1.25rem,2vw,2rem);
  max-width:1320px;
  margin:0 auto;
}

/* Column eyebrows */
.mega-col-label{
  font-size:.6875rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--c-text-muted);
  margin-bottom:1rem;
  display:flex;
  align-items:baseline;
  gap:.5rem;
}
.mega-col-label--main{
  padding-left:.25rem;
}
.mega-col-label__hint{
  text-transform:none;
  letter-spacing:0;
  font-weight:500;
  font-size:.75rem;
  color:var(--c-accent);
}
.mega-col-label__hint::before{
  content:"/ ";
  color:var(--c-line);
  margin-right:.2rem;
}

.mega-menu__layout{
  display:grid;
  grid-template-columns:minmax(260px, 320px) 1fr;
  gap:clamp(2rem,4vw,3.5rem);
  align-items:stretch;
  max-height:clamp(320px, 56vh, 460px);
}

/* Aside categories — card style matching homepage expertise tiles */
.mega-aside{
  display:flex;
  flex-direction:column;
  gap:.75rem;
  padding-right:clamp(1rem, 2vw, 1.5rem);
}
.mega-cat{
  display:block;
  padding:.95rem 1rem 1rem;
  background:#fff;
  border:1px solid var(--c-line);
  border-radius:12px;
  text-decoration:none;
  color:var(--c-text);
  position:relative;
  transition:border-color .08s linear, box-shadow .08s linear;
}
.mega-cat:hover{
  border-color:rgba(15,10,38,.18);
  box-shadow:0 6px 16px -8px rgba(15,10,38,.18);
}
.mega-cat.is-active{
  border-color:var(--c-bg-dark);
  box-shadow:0 0 0 1px var(--c-bg-dark), 0 8px 20px -8px rgba(15,10,38,.22);
}
.mega-cat__dot{
  width:8px; height:8px; background:var(--c-accent); border-radius:50%;
  display:block;
  margin-bottom:.65rem;
  transition:transform .08s linear, box-shadow .08s linear;
}
.mega-cat:hover .mega-cat__dot,
.mega-cat.is-active .mega-cat__dot{
  transform:scale(1.3);
  box-shadow:0 0 0 4px rgba(239,61,105,.15);
}
.mega-cat__body{min-width:0; padding-right:34px}
.mega-cat__title{
  display:block;
  font-family:"Roboto",system-ui,sans-serif;
  font-size:1.0625rem;
  font-weight:700;
  letter-spacing:-.01em;
  color:var(--c-text);
  line-height:1.2;
  transition:color .08s linear;
}
.mega-cat.is-active .mega-cat__title{color:var(--c-bg-dark)}
.mega-cat__desc{
  margin:.35rem 0 0;
  font-size:.8125rem;
  color:var(--c-text-muted);
  line-height:1.45;
}
.mega-cat__arrow{
  position:absolute;
  top:.95rem;
  right:1rem;
  display:inline-flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:50%;
  background:var(--c-accent); color:#fff;
  transition:background .08s linear;
}
.mega-cat__arrow svg{width:14px; height:14px; display:block}
.mega-cat.is-active .mega-cat__arrow{background:var(--c-bg-dark)}

/* Main panel — services */
.mega-main{
  position:relative;
  min-width:0;
}
.mega-panel{
  display:none;
  height:100%;
}
.mega-panel.is-active{display:block; animation:megaFadeIn .08s linear}
@keyframes megaFadeIn{from{opacity:.6} to{opacity:1}}

.mega-panel__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:.15rem clamp(1rem, 2vw, 1.75rem);
  align-content:start;
}
.mega-panel__list a{
  display:flex; align-items:center; justify-content:space-between;
  padding:.5rem .25rem .5rem .25rem;
  color:var(--c-text);
  font-size:.9375rem;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .15s var(--t-base), padding-left .25s cubic-bezier(.2,.8,.2,1), border-color .15s var(--t-base);
}
.mega-panel__list a:hover{
  color:var(--c-accent);
  padding-left:.6rem;
  border-bottom-color:var(--c-line);
}
.mega-panel__label{flex:1; min-width:0}
.mega-panel__arrow{
  opacity:0;
  transform:translateX(-4px);
  transition:opacity .2s var(--t-base), transform .2s var(--t-spring);
  color:var(--c-accent);
  font-weight:500;
  padding-left:.5rem;
}
.mega-panel__list a:hover .mega-panel__arrow{
  opacity:1;
  transform:translateX(0);
}

/* Footer — full-width cream band, neutral on any page */
.mega-menu__foot{
  background:var(--c-bg);
  padding:1.1rem clamp(1.5rem,5vw,3rem);
  border-top:1px solid var(--c-line);
}
.mega-menu__foot-inner{
  max-width:1320px;
  margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  gap:1.5rem; flex-wrap:wrap;
}
.mega-menu__foot-text{
  color:var(--c-text-muted);
  font-size:.9375rem;
}
.mega-menu__foot-text strong{
  color:var(--c-text);
  font-weight:600;
}
.mega-menu__foot-pill{
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--c-accent); color:#fff;
  padding:.7rem 1.3rem; border-radius:999px;
  font-weight:600; font-size:.9375rem;
  text-decoration:none;
  box-shadow:0 6px 16px -4px rgba(239,61,105,.45);
  transition:background .2s var(--t-base), transform .2s var(--t-spring), box-shadow .2s var(--t-base);
}
.mega-menu__foot-pill:hover{
  background:var(--c-text); color:#fff;
  transform:translateX(3px);
  box-shadow:0 8px 22px -4px rgba(15,10,38,.35);
}

/* Mobile — keep the two-col, but stack panels under aside */
@media (max-width:900px){
  .mega-menu__layout{
    grid-template-columns:1fr;
    max-height:none;
  }
  .mega-aside{
    border-right:0;
    border-bottom:1px solid var(--c-line);
    padding-right:0;
    padding-bottom:.75rem;
    margin-bottom:.75rem;
  }
}

/* === MOBILE QA SWEEP (defensive fixes for templates I wrote) === */

/* Universal: prevent horizontal scroll on any custom block */
html, body{overflow-x:hidden}
@media(max-width:640px){
  *{max-width:100vw}
  img, svg{max-width:100%; height:auto}
}

/* ============ AUDIT PAGE ============ */
@media(max-width:640px){
  .audit-hero{padding:calc(var(--header-h,80px) + 48px) 0 56px}
  .audit-hero__inner{padding:0 16px}
  .audit-hero__title{font-size:36px}
  .audit-hero__sub{font-size:16px}
  .audit-hero__stats{gap:16px}
  .audit-hero__stat strong{font-size:28px}
  .audit-form-wrap{padding:48px 0}
  .audit-form-wrap__inner{padding:0 16px}
  .audit-steps, .audit-checks, .audit-after, .audit-faq{padding:56px 0}
  .audit-steps__inner, .audit-checks__inner, .audit-after__inner, .audit-faq__inner{padding:0 16px}
  .audit-steps h2, .audit-checks h2, .audit-after h2, .audit-faq h2{font-size:26px;margin-bottom:24px}
  .audit-check{padding:20px}
  .audit-check__count{font-size:30px}
  .audit-check__title{font-size:16px}
  .audit-after p{font-size:15px}
  .audit-after a.btn{padding:14px 24px;font-size:14px;min-height:44px}
  .audit-faq__item{padding-bottom:20px}
  .audit-faq h3{font-size:16px}
  .audit-faq p{font-size:14px}
}

/* ============ ABOUT PAGE ============ */
@media(max-width:640px){
  .about-hero{padding:calc(var(--header-h,80px) + 48px) 0 56px}
  .about-hero__inner{padding:0 16px;gap:32px}
  .about-hero__title{font-size:38px}
  .about-hero__sub{font-size:16px}
  .about-hero__sig-name{font-size:20px}
  .about-section{padding:56px 0}
  .about-section__inner{padding:0 16px}
  .about-section__title{font-size:28px}
  .about-section__lede{font-size:16px}
  .about-prose{font-size:15px}

  .about-stats{padding:56px 0}
  .about-stats__inner{padding:0 16px}
  .about-stat__num{font-size:32px}
  .today-card{padding:24px}
  .today-card__title{font-size:18px}
  .today-card__desc{font-size:14px}
  .about-cta{padding:64px 0}
  .about-cta__inner{padding:0 16px}
  .about-cta p{font-size:15px}
  .about-cta .btn{padding:14px 24px;font-size:14px;min-height:44px}
}

/* ============ CONTACT PAGE ============ */
@media(max-width:640px){
  .contact-hero{padding:calc(var(--header-h,80px) + 48px) 0 56px}
  .contact-hero__inner{padding:0 16px}
  .contact-hero__title{font-size:36px}
  .contact-hero__sub{font-size:16px}
  .contact-channels{padding:48px 0}
  .contact-channels__inner{padding:0 16px}
  .contact-channel{padding:24px}
  .contact-channel__title{font-size:18px}
  .contact-channel__desc{font-size:13px}
  .contact-channel__phone-num{font-size:16px}
  .contact-form-section{padding:56px 0}
  .contact-form-section__inner{padding:0 16px}
  .contact-form-section__title{font-size:26px}
  .contact-form-section__lede{font-size:15px}
  .contact-form input, .contact-form textarea, .contact-form select{padding:12px 14px;font-size:16px}
  .contact-form__btn{width:100%;padding:14px 24px;font-size:15px;min-height:44px;justify-self:stretch}
  .contact-where{padding:56px 0}
  .contact-where__inner{padding:0 16px}
  .contact-where__title{font-size:24px}
  .contact-where__lede{font-size:15px}
  .contact-where__country{padding:6px 12px;font-size:13px}
}

/* ============ LEGAL PAGES ============ */
@media(max-width:640px){
  .legal-hero{padding:calc(var(--header-h,80px) + 40px) 0 40px}
  .legal-hero__inner{padding:0 16px}
  .legal-hero__title{font-size:28px}
  .legal-hero__meta{font-size:13px}
  .legal-content{padding:48px 0}
  .legal-content__inner{padding:0 16px;font-size:15px}
  .legal-content__inner h2{font-size:20px;margin:36px 0 12px}
  .legal-content__inner h3{font-size:16px;margin:24px 0 8px}
  .legal-content__inner blockquote{padding:16px 18px}
}

/* ============ BLOG ============ */
@media(max-width:640px){
  .blog-index__hero{padding:calc(var(--header-h,80px) + 48px) 0 56px}
  .blog-index__hero-inner{padding:0 16px}
  .blog-index__title{font-size:36px}
  .blog-index__sub{font-size:16px}
  .blog-filters{padding:1rem 0}
  .blog-filters__inner{padding:0 16px;gap:.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none}
  .blog-filters__inner::-webkit-scrollbar{display:none}
  .blog-filter{padding:.5rem .9rem;font-size:.8125rem;flex-shrink:0}
  .blog-list{padding:48px 0}
  .blog-list__inner{padding:0 16px}
  .blog-list__grid{gap:1rem}
  .blog-card__body{padding:20px}
  .blog-card__title{font-size:1.0625rem}
  .blog-card__excerpt{font-size:.875rem}

  /* Single post */
  .post-header{padding:calc(var(--header-h,80px) + 56px) 0 56px}
  .post-header__inner{padding:0 16px}
  .post-title{font-size:30px}
  .post-meta{font-size:.8125rem}
  .post-lede{font-size:1rem}
  .blog-cover{padding:0 16px;margin-top:24px}
  .post-content{padding:48px 0 32px}
  .post-content__inner{padding:0 16px}
  .post-body{font-size:1rem}
  .post-body h2{font-size:1.4rem}
  .post-body h3{font-size:1.2rem}
  .post-share{margin-top:36px;padding-top:24px}
  .post-share__buttons{gap:.4rem}
  .post-share__btn{width:44px;height:44px}
  .post-related{padding:48px 0}
  .post-related__head{padding:0 16px;margin-bottom:24px}
  .post-related__title{font-size:24px}
  .post-related__grid{padding:0 16px;gap:1rem}
  .related-card__body{padding:16px}
  .related-card__title{font-size:.9375rem}
}

/* Force minimum touch target size on all custom CTAs */
@media(max-width:880px){
  .audit-after a.btn,
  .about-cta .btn,
  .contact-form__btn,
  .contact-channel__phone,
  .post-share__btn,
  .blog-filter,
  .contact-where__country{min-height:36px;line-height:1.3}
}

/* iOS Safari: prevent zoom on input focus */
@media(max-width:640px){
  input[type=text], input[type=email], input[type=tel], input[type=url],
  textarea, select{font-size:16px !important}
}

/* === MOBILE NAV (hamburger + drawer) === */

.site-nav__burger{display:none}

@media(max-width:1023px){
  /* Hide desktop nav + social icons */
  .site-header .site-nav{display:none}
  .site-header__actions{display:none}

  /* Show hamburger */
  .site-nav__burger{
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;
    background:transparent;border:0;cursor:pointer;
    color:#fff;
    padding:0;margin-left:auto;
  }
  .site-nav__burger svg{width:24px;height:24px;display:block}
  .site-nav__burger:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}

  /* Drawer overlay */
  .mobile-drawer{
    position:fixed;inset:0;
    background:#fff;
    z-index:1000;
    transform:translateX(100%);
    transition:transform .35s cubic-bezier(.2,.8,.2,1);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    visibility:hidden;
  }
  .mobile-drawer.is-open{
    transform:translateX(0);
    visibility:visible;
  }

  .mobile-drawer__head{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 20px;
    border-bottom:1px solid var(--c-line);
    position:sticky;top:0;background:#fff;z-index:1;
  }
  .mobile-drawer__brand{
    display:flex;align-items:center;
    font-size:18px;font-weight:700;color:var(--c-text);
    text-decoration:none;
    letter-spacing:-.01em;
  }
  .mobile-drawer__brand .dot{color:var(--c-accent)}
  .mobile-drawer__close{
    width:44px;height:44px;
    background:transparent;border:0;cursor:pointer;
    color:var(--c-text);
    display:flex;align-items:center;justify-content:center;
    padding:0;
  }
  .mobile-drawer__close svg{width:24px;height:24px}

  .mobile-drawer__nav{padding:8px 0}
  .mobile-drawer__link{
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 24px;
    color:var(--c-text);
    text-decoration:none;
    font-size:18px;
    font-weight:600;
    border-bottom:1px solid var(--c-line);
    min-height:60px;
  }
  .mobile-drawer__link:hover, .mobile-drawer__link:active{background:var(--c-bg);color:var(--c-accent)}
  .mobile-drawer__link .arrow{color:var(--c-text-muted);font-size:14px}

  /* Expertise category sublist (collapsed by default) */
  .mobile-drawer__expertise{
    border-bottom:1px solid var(--c-line);
  }
  .mobile-drawer__exp-toggle{
    width:100%;
    display:flex;align-items:center;justify-content:space-between;
    padding:18px 24px;
    background:transparent;border:0;
    color:var(--c-text);font-size:18px;font-weight:600;
    cursor:pointer;text-align:left;
    min-height:60px;
  }
  .mobile-drawer__exp-toggle:active{background:var(--c-bg)}
  .mobile-drawer__exp-toggle .chev{
    width:18px;height:18px;color:var(--c-text-muted);
    transition:transform .2s;
  }
  .mobile-drawer__expertise.is-open .mobile-drawer__exp-toggle .chev{transform:rotate(180deg)}
  .mobile-drawer__exp-sub{
    display:none;
    background:var(--c-bg);
    padding:8px 0;
  }
  .mobile-drawer__expertise.is-open .mobile-drawer__exp-sub{display:block}
  .mobile-drawer__exp-cat{
    padding:14px 24px 6px;
    font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
    color:var(--c-text-muted);
    display:flex;align-items:center;gap:8px;
  }
  .mobile-drawer__exp-cat::before{
    content:"";width:6px;height:6px;background:var(--c-accent);border-radius:50%;display:inline-block;
  }
  .mobile-drawer__exp-svc{
    display:block;
    padding:10px 24px;color:var(--c-text);text-decoration:none;
    font-size:15px;
    border-top:1px solid rgba(0,0,0,.05);
  }
  .mobile-drawer__exp-svc:active{background:rgba(0,0,0,.04);color:var(--c-accent)}

  /* CTA pill at bottom */
  .mobile-drawer__cta{
    padding:24px;background:var(--c-bg-dark);color:#fff;margin-top:auto;
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
    position:sticky;bottom:0;
  }
  .mobile-drawer__cta-text{color:rgba(255,255,255,.7);font-size:13px}
  .mobile-drawer__cta-pill{
    display:inline-flex;align-items:center;gap:6px;
    background:var(--c-accent);color:#fff;padding:12px 18px;
    border-radius:999px;text-decoration:none;font-weight:600;font-size:14px;
  }

  /* Body scroll lock when drawer is open */
  body.has-drawer-open{overflow:hidden;position:fixed;width:100%}
}

@media(min-width:1024px){
  .mobile-drawer{display:none}
}

/* Hide footer social icons on mobile (they live in the drawer instead) */
@media(max-width:768px){
  .site-footer__social{display:none}
}

/* Mobile drawer socials block */
.mobile-drawer__socials{
  padding:20px 24px;
  border-top:1px solid var(--c-line);
  display:flex;align-items:center;justify-content:space-between;
}
.mobile-drawer__socials-label{
  font-size:12px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--c-text-muted);
}
.mobile-drawer__socials-icons{display:flex;gap:14px}
.mobile-drawer__socials-icons a{
  color:var(--c-text);
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  background:var(--c-bg);border-radius:50%;
}
.mobile-drawer__socials-icons a:active{background:var(--c-accent);color:#fff}

/* === FORCE colors inside drawer (override header/global inheritance) === */
.mobile-drawer{color:#1B1340}
.mobile-drawer *{color:inherit}
.mobile-drawer__brand{color:#1B1340 !important;font-family:"Roboto",system-ui,sans-serif;font-weight:700}
.mobile-drawer__brand .dot{color:#EF3D69 !important}
.mobile-drawer__close{color:#1B1340 !important}
.mobile-drawer__link{color:#1B1340 !important}
.mobile-drawer__link .arrow{color:#5B5570 !important}
.mobile-drawer__exp-toggle{color:#1B1340 !important}
.mobile-drawer__exp-toggle .chev{color:#5B5570 !important}
.mobile-drawer__exp-cat{color:#5B5570 !important}
.mobile-drawer__exp-svc{color:#1B1340 !important}
.mobile-drawer__cta-pill{color:#fff !important}
.mobile-drawer__socials-label{color:#5B5570 !important}
.mobile-drawer__socials-icons a{color:#1B1340 !important}

/* FIX expertise cards on coral homepage section — force navy text */
.expertise-card{color:#1B1340 !important}
.expertise-card__title{color:#1B1340 !important}
.expertise-card__desc{color:#5B5570 !important}
.expertise-card__count{color:#EF3D69 !important}

/* FIX drawer expertise sub-list bg + text (vars are getting overridden) */
.mobile-drawer__exp-sub{background:#F7F2E8 !important}
.mobile-drawer__exp-cat{color:#5B5570 !important;background:#F7F2E8 !important}
.mobile-drawer__exp-svc{color:#1B1340 !important;background:#F7F2E8 !important;border-top-color:rgba(0,0,0,.06) !important}

/* ===== NUCLEAR FIX — fully hardcoded drawer colors ===== */
/* Drawer canvas */
.mobile-drawer{background:#fff !important;color:#1B1340 !important}

/* Expertise sub-list — cream bg, navy text */
.mobile-drawer__expertise{background:#fff !important}
.mobile-drawer__exp-sub{background:#F7F2E8 !important;color:#1B1340 !important}
.mobile-drawer__exp-sub > *{background:#F7F2E8 !important}
.mobile-drawer__exp-cat{color:#5B5570 !important;background:#F7F2E8 !important;border-bottom:1px solid rgba(27,19,64,.06) !important}
.mobile-drawer__exp-cat::before{background:#EF3D69 !important}
.mobile-drawer__exp-svc{color:#1B1340 !important;background:#F7F2E8 !important;border-top:1px solid rgba(27,19,64,.06) !important}
.mobile-drawer__exp-svc:active{background:rgba(239,61,105,.08) !important;color:#EF3D69 !important}

/* Social icons block — coral pills */
.mobile-drawer__socials{background:#fff !important;border-top:1px solid #EFE9DD !important}
.mobile-drawer__socials-label{color:#5B5570 !important;background:#fff !important}
.mobile-drawer__socials-icons a{
  background:#EF3D69 !important;
  color:#fff !important;
  width:44px !important;height:44px !important;
  border-radius:50% !important;
  display:inline-flex !important;align-items:center !important;justify-content:center !important;
  transition:transform .15s !important;
}
.mobile-drawer__socials-icons a svg{fill:#fff !important;color:#fff !important}
.mobile-drawer__socials-icons a:active{transform:scale(.94)}
/* Blog filters — desktop pills, mobile dropdown */
.blog-filters__select{display:none}
@media(max-width:640px){
  .blog-filters__inner{display:block !important;overflow:visible !important;padding:0 16px}
  .blog-filter{display:none !important}
  .blog-filters__select{
    display:block !important;
    width:100%;
    padding:14px 44px 14px 18px;
    font-size:16px;
    font-weight:600;
    color:#1B1340;
    background-color:#fff;
    background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231B1340' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 16px center;
    background-size:18px 18px;
    border:1px solid #EFE9DD;
    border-radius:999px;
    -webkit-appearance:none;
    appearance:none;
    cursor:pointer;
    line-height:1.2;
  }
  .blog-filters__select:focus{outline:2px solid #1B1340;outline-offset:1px}
}

/* Timeline mobile — widen the year column so "Aujourd'hui" fits */
@media(max-width:640px){

}

/* === FORCE LIGHT COLOR SCHEME ===
 * Disable iOS Safari + Android Chrome auto-dark-mode.
 * The site is brand-designed; we never want browser auto-darkening
 * to invert our navy/coral/cream palette.
 */
html, body{
  color-scheme: only light !important;
  forced-color-adjust: none;
}

/* Defensive: even if a prefers-color-scheme query is added later,
 * force our colors to never invert */
@media (prefers-color-scheme: dark){
  html, body{color-scheme: only light !important}
  html{filter:none !important}
}

/* === SCOPED CASCADE FIXES (post-cleanup) ===
 * These are the only overrides still needed after force-light fixed iOS auto-dark.
 * They address cases where theme.json CSS variables (--c-bg, --c-text, --c-text-muted)
 * are redefined in dark sections, breaking custom blocks that depend on them.
 */

/* Mobile drawer — its CSS lives outside any theme section so it never inherits
   the dark redefinitions. Hardcoded colors keep it visually stable. */
.mobile-drawer{color:#1B1340}
.mobile-drawer__brand{color:#1B1340;font-family:"Roboto",system-ui,sans-serif;font-weight:700}
.mobile-drawer__brand .dot{color:#EF3D69}
.mobile-drawer__close{color:#1B1340;background:transparent}
.mobile-drawer__link{color:#1B1340;background:#fff;border-bottom:1px solid #EFE9DD;font-weight:600}
.mobile-drawer__link .arrow{color:#5B5570}
.mobile-drawer__link:hover, .mobile-drawer__link:active{background:#F7F2E8;color:#EF3D69}
.mobile-drawer__link:hover .arrow, .mobile-drawer__link:active .arrow{color:#EF3D69}
.mobile-drawer__nav > .mobile-drawer__link:last-child{border-bottom:0}

.mobile-drawer__expertise{background:#fff;border-bottom:1px solid #EFE9DD}
.mobile-drawer__exp-toggle{color:#1B1340;background:#fff;font-weight:600}
.mobile-drawer__exp-toggle .chev{color:#5B5570}
.mobile-drawer__exp-sub{background:#F7F2E8;color:#1B1340;display:none;padding:8px 0}
.mobile-drawer__expertise.is-open .mobile-drawer__exp-sub{display:block}

.mobile-drawer__svc{display:block;padding:14px 24px;color:#1B1340;background:#F7F2E8;text-decoration:none;font-size:15px;border-top:1px solid rgba(27,19,64,.06)}
.mobile-drawer__svc--all{font-weight:700;color:#EF3D69;border-top:0}
.mobile-drawer__svc:active{background:rgba(239,61,105,.1);color:#EF3D69}

.mobile-drawer__cat{background:#fff;margin:8px 16px;border-radius:10px;border:1px solid #EFE9DD;overflow:hidden}
.mobile-drawer__cat-toggle{width:100%;display:flex;align-items:center;gap:10px;padding:14px 16px;background:#fff;color:#1B1340;border:0;font-size:16px;font-weight:700;cursor:pointer;text-align:left}
.mobile-drawer__cat-dot{width:8px;height:8px;background:#EF3D69;border-radius:50%;flex:0 0 auto}
.mobile-drawer__cat-label{flex:1}
.mobile-drawer__cat-chev{width:18px;height:18px;color:#5B5570;transition:transform .2s}
.mobile-drawer__cat.is-open .mobile-drawer__cat-chev{transform:rotate(180deg)}
.mobile-drawer__cat-sub{display:none;background:#fff;border-top:1px solid #EFE9DD}
.mobile-drawer__cat.is-open .mobile-drawer__cat-sub{display:block}
.mobile-drawer__cat .mobile-drawer__svc{background:#fff;padding-left:34px;border-top:1px solid rgba(27,19,64,.04)}
.mobile-drawer__cat .mobile-drawer__svc--all{background:#fff;padding-left:34px}

.mobile-drawer__socials{background:#fff;border-top:1px solid #EFE9DD}
.mobile-drawer__socials-label{color:#5B5570;background:#fff}
.mobile-drawer__socials-icons a{background:#EF3D69;color:#fff;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.mobile-drawer__socials-icons a svg{fill:#fff;color:#fff}

.mobile-drawer__cta{background:#1B1340}
.mobile-drawer__cta-text{color:rgba(255,255,255,.7);background:transparent}
.mobile-drawer__cta-pill{background:#EF3D69;color:#fff}

/* Audit page var-cascade fix — the local --cream/--navy resolve via theme tokens
   that can be navy in dark sections. Hardcode locally. */
.audit-check li{background:#F7F2E8;color:#1B1340}

/* Expertise cards on coral section — the section sets color:white which propagates to title/desc */
.expertise-card__title{color:#1B1340}
.expertise-card__desc{color:#5B5570}

/* Blog cards — text colors needed because the dark hero section sets color:white that propagates */
.blog-card{color:#1B1340}
.blog-card__title{color:#1B1340}
.blog-card__excerpt{color:#5B5570}
.blog-card__meta{color:#5B5570}
.blog-card__eyebrow{color:#EF3D69}

.related-card{color:#1B1340}
.related-card__title{color:#1B1340}
.related-card__meta{color:#5B5570}
.related-card__eyebrow{color:#EF3D69}

/* Post body */
.post-body, .post-body p, .post-body li{color:#1B1340}
.post-body h2, .post-body h3{color:#1B1340}

/* Audit page critical fixes — local vars depend on theme tokens that can flip */
.audit-form-wrap h2{color:#1B1340}
.audit-form-wrap p{color:#5B5570}
.audit-steps h2{color:#1B1340}
.audit-step h3{color:#1B1340}
.audit-step p{color:#5B5570}
.audit-step__num{color:#EF3D69}
.audit-checks h2{color:#1B1340}
.audit-check__title{color:#1B1340}
.audit-check__count{color:#EF3D69}
.audit-check p{color:#5B5570}
.audit-faq h2{color:#1B1340}
.audit-faq h3{color:#1B1340}
.audit-faq p{color:#5B5570}

/* About page text */
.about-prose, .about-prose p{color:#1B1340}
.about-section__lede{color:#5B5570}
.today-card__title{color:#1B1340}
.today-card__desc{color:#5B5570}
.timeline__title{color:#1B1340}
.timeline__desc{color:#5B5570}

/* Contact page text */
.contact-channel__title{color:#1B1340}
.contact-channel__desc{color:#5B5570}
.contact-form label{color:#5B5570}
.contact-form input, .contact-form textarea, .contact-form select{color:#1B1340}
.contact-where__lede{color:#5B5570}

/* Legal pages */
.legal-content__inner, .legal-content__inner p, .legal-content__inner li, .legal-content__inner h2, .legal-content__inner h3{color:#1B1340}

/* Audit promo form on homepage — visible labels on navy bg */
.audit-form__field{display:block;margin-bottom:14px}
.audit-form__label{
  display:block;font-size:12px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:8px;
}
.audit-form input::placeholder{color:#9D97AE;opacity:1}

/* About sections — hardcode backgrounds so they do not rely on body var(--c-bg) which can flip */
.about-section{background:#fff}
.about-section--cream{background:#F7F2E8}


/* Audit homepage form — match input width and padding to button */
.audit-form{display:flex;flex-direction:column;gap:14px}
.audit-form input{
  width:100%;
  box-sizing:border-box;
  padding:18px 24px;
  font-size:16px;
  border-radius:999px;
  border:0;
  background:#fff;
  color:#1B1340;
}
.audit-form input::placeholder{color:#9D97AE;opacity:1}
.audit-form button{
  width:100%;
  box-sizing:border-box;
  padding:18px 24px;
  font-size:16px;
  font-weight:600;
  border-radius:999px;
  border:0;
  background:#EF3D69;
  color:#fff;
  cursor:pointer;
}

/* Force expertise card title + description visibility on coral homepage section */
.expertise-card{color:#1B1340}
.expertise-card *{color:inherit}
.expertise-card__title{color:#1B1340;font-weight:800}
.expertise-card__desc{color:#5B5570}
.expertise-card__count{color:#EF3D69}

/* Service tile inside expertise card (mobile accordion) — keep titles visible */
.mobile-services-panel .service-tile{color:#1B1340}
.mobile-services-panel .service-tile__title{color:#1B1340}
.mobile-services-panel .service-tile__category{color:#EF3D69}

/* Timeline dots — solid coral, no cream halo dependency */

@media(max-width:640px){

}


/* ============================================================
 * RESTORED OVERRIDES — June 1-3, 2026
 * (Recovered after /tmp wipe at reboot)
 * ============================================================ */

/* === HIDE SOCIAL ICONS IN HEADER (keep them in footer) === */
.site-header .social-ico{display:none !important}


/* === AUDIT HOMEPAGE CTA — single button (replaces 2-field form) === */
.audit-cta{display:flex;justify-content:center;margin:0 auto 1.5rem;max-width:540px}
.audit-cta__button{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  width:100%;
  padding:18px 32px;
  font-size:16px;font-weight:600;
  background:#EF3D69;color:#fff;
  border-radius:999px;border:0;
  text-decoration:none;
  transition:background .2s ease, transform .25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.audit-cta__button:hover{background:#D02F58;transform:translateY(-2px);color:#fff}
.audit-cta__button::after{
  content:"\2192";font-weight:400;font-size:18px;
  transition:transform .25s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.audit-cta__button:hover::after{transform:translateX(4px)}


/* === FULL-BLEED SECTIONS on wide screens ===
 * Neutralize theme.json global padding so coloured sections reach viewport edges. */
:root {
  --wp--style--root--padding-left: 0 !important;
  --wp--style--root--padding-right: 0 !important;
}
.has-global-padding {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.wp-site-blocks {
  max-width: 100% !important;
  margin-inline: 0 !important;
}


/* === WIDE-SCREEN CENTERING (selective) ===
 * Wide containers center on >1620px screens; narrow prose centers within section
 * so cream feels balanced. Hero sections keep visual unity (text + icon tight). */
@media (min-width: 1620px) {
  .hero__container,
  .services-band__inner,
  .approche__inner,
  .blog-section__inner,
  .audit-section__inner,
  .site-footer__inner,
  .site-footer__bottom,
  .hub-services__inner,
  .hub-other__inner {
    margin-inline: auto !important;
  }
  .service-content__inner,
  .hub-intro__inner,
  .related-services__inner {
    margin-inline: auto !important;
  }
  .service-hero__inner,
  .hub-hero__inner {
    margin-left: 0 !important;
    margin-right: auto !important;
  }
  .hub-hero,
  .service-hero {
    padding-left: max(clamp(180px,12vw,220px), calc((100% - 1320px) / 2)) !important;
    padding-right: max(clamp(2rem,5vw,5rem), calc((100% - 1320px) / 2)) !important;
  }
  .picard-signature {
    left: max(clamp(16px, 2vw, 32px), calc(50% - 810px + 16px)) !important;
  }
}


/* === BLOG-CARD hover snappier ===
 * Default uses --t-spring (600ms with overshoot) which feels laggy for a 4px lift.
 * Switch to 220ms ease-out on transform + box-shadow aligned. */
.blog-card{
  transition: transform .22s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow .22s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  will-change: transform;
}
.blog-card:hover{
  transform: translate3d(0, -4px, 0) !important;
}


/* === TIMELINE MOBILE (Aujourd'hui fits + dot+line perfectly aligned) === */
@media(max-width:640px){
  .timeline__item{
    grid-template-columns: 80px 1fr !important;
    gap: 20px !important;
  }
  .timeline__year{
    font-size: 11px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    word-break: normal !important;
  }
  .timeline__content{
    padding-left: 22px !important;
  }
  .timeline::before{
    left: 90px !important;
    width: 1px !important;
    background: rgba(239,61,105,.2) !important;
  }
  .timeline__content::before{
    left: -15px !important;
    top: 8px !important;
    width: 10px !important;
    height: 10px !important;
    background: #EF3D69 !important;
    box-shadow: none !important;
    border: 0 !important;
  }
}


/* === EXPERTISE CARD arrow stays white on selected ===
 * The parent rule .expertise-card *{color:inherit} forces the arrow icon to
 * take the card text color (navy), making it invisible on the navy bg circle.
 * Force the icon to stay white in both states. */
.expertise-card__arrow,
.expertise-card__arrow svg,
.expertise-card.is-selected .expertise-card__arrow,
.expertise-card.is-selected .expertise-card__arrow svg{
  color:#fff !important;
  stroke:#fff !important;
}
