/* Shared final mobile rules. Loaded after the legacy page-specific styles. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.huco-icon { display:inline-block; width:1em; height:1em; min-width:1em; flex-shrink:0; vertical-align:-.12em; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.portfolio-shot span::after { content:""!important; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18 18 6M6 6h12v12'/%3E%3C/svg%3E") center/12px 12px no-repeat; }

@media (min-width:981px) and (max-width:1100px) {
  body.responsive-site .site-header,body.responsive-site .site-header .header-shell { height:68px!important; }
  body.responsive-site .site-header .header-shell { display:flex!important; width:100%!important; padding-inline:24px!important; justify-content:space-between!important; align-items:center!important; }
  body.responsive-site .header-actions { width:auto!important; }
  body.responsive-site .header-actions>*:not(.menu-toggle),body.responsive-site .desktop-nav { display:none!important; }
  body.responsive-site .site-header .brand img { width:150px!important; }
  body.responsive-site .site-header .menu-toggle { display:flex!important; width:44px!important; height:44px!important; }
}

@media (max-width:980px) {
  :root { --mobile-gutter:clamp(16px,4vw,24px); --mobile-section:56px; --mobile-h1:clamp(30px,8.5vw,44px); --mobile-h2:clamp(26px,7.3vw,36px); --mobile-h3:clamp(22px,6vw,28px); }
  body.responsive-site { min-width:0!important; }
  body.responsive-site .shell,
  body.responsive-site .header-shell,
  body.responsive-site .clients-v48 .clients-showcase-inner,
  body.responsive-site .team-v75-section .shell,
  body.responsive-site .footer-v21 .shell {
    width:100%!important; max-width:100%!important; min-width:0!important;
    margin-inline:auto!important; padding-inline:var(--mobile-gutter)!important;
  }
  body.responsive-site .shell .shell { padding-inline:0!important; }
  body.responsive-site .editorial-shell { width:calc(100% - var(--mobile-gutter) * 2)!important; }
  body.responsive-site main :is(h1,h2,h3,p,li) { word-spacing:normal!important; word-break:normal!important; overflow-wrap:break-word!important; }
  body.responsive-site main h1,
  body.responsive-site.about-page .about-ref-hero .about-ref-copy h1,
  body.responsive-site.contact-page .contact-ref-hero .about-ref-copy h1,
  body.responsive-site.service-landing-page .pm49-copy h1 {
    font-size:var(--mobile-h1)!important; line-height:1.12!important; letter-spacing:-.035em!important;
    width:auto!important; max-width:100%!important; text-wrap:pretty!important;
  }
  body.responsive-site main h2,
  body.responsive-site .inner-title h2,
  body.responsive-site .contact-next-card h2,
  #selected-work.portfolio-realism .pm40-side-main h2 {
    font-size:var(--mobile-h2)!important; line-height:1.16!important; letter-spacing:-.03em!important;
    max-width:100%!important; text-wrap:pretty!important;
  }
  body.responsive-site main h3,
  #selected-work.portfolio-realism .pm40-copy h3,
  #work .portfolio-scroll-copy h3 {
    font-size:var(--mobile-h3)!important; line-height:1.2!important; letter-spacing:-.025em!important;
  }
  body.responsive-site main :is(h1,h2) br { display:none!important; }
  body.responsive-site main p,
  body.responsive-site.about-page .about-ref-copy p,
  body.responsive-site.contact-page .contact-ref-hero .about-ref-copy p,
  #selected-work.portfolio-realism .pm40-copy p,
  #work .portfolio-scroll-copy p {
    font-size:15px!important; line-height:1.65!important; letter-spacing:0!important;
    text-align:start; text-wrap:pretty; max-width:100%!important;
  }
  body.responsive-site main p.hero-kicker { font-size:11px!important; line-height:1.5!important; letter-spacing:.1em!important; }
  body.responsive-site main :is(h1,h2,h3) + p { margin-top:16px!important; }
  body.responsive-site main :is(input,select,textarea) { min-width:0!important; max-width:100%!important; font-size:16px!important; line-height:1.5!important; }
  body.responsive-site :is(button,input,select,summary) { min-height:44px; }
  body.responsive-site :is(p,h1,h2,h3) a { min-height:0!important; }
  body.responsive-site main .reveal { opacity:1!important; transform:none!important; visibility:visible!important; }
  body.responsive-site main > :is(.section,.inner-section,.clients-showcase,.insights-v32,.team-v75-section,.faq-v75-section,.pm36-tools,.pm42-path,.pm46-capabilities,.pm46-faq) {
    padding-block:var(--mobile-section)!important; padding-inline:0!important;
  }
  body.responsive-site :is(.about-bento-head,.services-v9-head,.portfolio-scroll-head,.clients-showcase-head,.process-v30-head,.insights-v32-head,.contact-v21-head,.inner-title,.pm36-tools-head,.pm46-cap-head,.pm46-faq-intro) {
    margin-bottom:28px!important; gap:20px!important;
  }
  body.responsive-site :is(.eyebrow,.section-kicker,.huco-editorial-kicker,.editorial-kicker) { line-height:1.5!important; letter-spacing:.1em!important; }
  body.responsive-site .eyebrow { margin-bottom:16px!important; }

  /* Keep the header and drawer usable on touch browsers and narrow foldables. */
  body.responsive-site .site-header,body.responsive-site .header-shell { height:68px!important; }
  body.responsive-site .site-header .brand { min-height:0!important; max-width:150px!important; }
  body.responsive-site .site-header .brand img { width:136px!important; height:auto!important; }
  body.responsive-site .site-header #menuToggle { width:44px!important; height:44px!important; flex-basis:44px!important; }
  body.responsive-site .mobile-menu { padding-inline:var(--mobile-gutter)!important; padding-bottom:max(24px,env(safe-area-inset-bottom))!important; }
  body.responsive-site .mobile-main-nav a { font-size:21px!important; line-height:1.25!important; }
  body.responsive-site .mobile-service-grid a { font-size:13px!important; line-height:1.45!important; }

  /* Home: cards use their content height, with one gutter per container. */
  body.responsive-site .services-v9-list { display:grid!important; gap:12px!important; }
  body.responsive-site .services-v9-row,
  body.responsive-site .services-v9-row.is-active {
    display:grid!important; grid-template-columns:minmax(0,1fr) 40px!important; grid-template-rows:auto auto!important;
    gap:12px 16px!important; min-height:0!important; padding:20px!important; align-items:start!important;
  }
  body.responsive-site .services-v9-no { grid-column:1; grid-row:1; align-self:center; padding:0!important; }
  body.responsive-site .services-v9-row-copy { grid-column:1/-1; grid-row:2; min-width:0; }
  body.responsive-site .services-v9-row-copy small { margin:0 0 8px!important; }
  body.responsive-site .services-v9-row-copy p { padding:0!important; margin:12px 0 0!important; font-size:14px!important; }
  body.responsive-site .services-v9-row-arrow { position:static!important; grid-column:2; grid-row:1; justify-self:end; align-self:center; width:36px!important; height:36px!important; transform:none!important; }
  body.responsive-site .services-v9-row-arrow .huco-icon { width:18px; height:18px; }
  body.responsive-site :is(.about-exp-card,.about-rating-card) { padding:22px!important; min-height:0!important; gap:28px; }
  body.responsive-site .about-exp-card figure { margin-top:20px!important; }
  body.responsive-site .about-collab-card { min-height:320px!important; }
  body.responsive-site .about-skill-bars { padding:20px!important; }
  body.responsive-site .about-support-card { min-height:150px!important; }
  body.responsive-site .clients-v48 .clients-logo-stage { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  body.responsive-site .clients-v48 .client-logo-item { height:auto!important; min-height:130px!important; padding:18px 10px!important; }
  body.responsive-site .client-logo-wrap { max-width:100%!important; }
  body.responsive-site .client-logo-wrap img { width:100%!important; height:48px!important; object-fit:contain!important; }
  body.responsive-site .testimonial-v32 { padding:var(--mobile-section) 0!important; }
  body.responsive-site .testimonial-v32-sticky { padding:0!important; }
  body.responsive-site .testimonial-v32-stage { margin-top:28px!important; }
  body.responsive-site .testimonial-v32-track { gap:12px!important; }
  body.responsive-site .t32-card { flex-basis:min(82vw,340px)!important; width:min(82vw,340px)!important; max-width:none!important; height:auto!important; min-height:290px!important; padding:22px!important; }
  body.responsive-site .t32-card blockquote { font-size:24px!important; line-height:1.25!important; }
  body.responsive-site .results-v32 > .shell { padding-inline:var(--mobile-gutter)!important; }
  body.responsive-site .results-v32-wrap.shell { width:calc(100% - var(--mobile-gutter) * 2)!important; padding:0!important; min-height:0!important; }
  body.responsive-site .results-v32-copy { padding:24px 20px!important; }
  body.responsive-site .results-v32-metrics article { min-height:130px!important; padding:24px 20px!important; }
  body.responsive-site .process-v30 .process-screen { min-height:0!important; padding:24px 20px!important; }
  body.responsive-site .process-v30 .process-rail { display:flex!important; overflow-x:auto!important; }
  body.responsive-site .process-v30 .process-rail button { flex:1 0 84px; }
  body.responsive-site .process-v30 .process-orbit { width:140px!important; height:140px!important; }
  body.responsive-site .contact-v21-head { margin-bottom:28px!important; }
  body.responsive-site :is(.brief-v21-visual,.contact-v21-form,.contact-form-v3,.contact-brief-aside,.contact-fit-grid article,.contact-next-card,.contact-office-panel,.cta-panel) { padding:24px 20px!important; min-width:0!important; }
  body.responsive-site :is(.contact-v21-formhead,.contact-v21-bottom,.form-submit-row) { flex-wrap:wrap!important; gap:16px!important; }
  body.responsive-site .contact-v21-grid .field { padding-top:16px!important; }
  body.responsive-site .inner-form-grid { grid-template-columns:minmax(0,1fr)!important; gap:20px!important; }
  body.responsive-site :is(.contact-brief-layout,.contact-next-card,.contact-office-grid,.contact-fit-grid) { gap:24px!important; }
  body.responsive-site .contact-channel-grid { padding-block:16px!important; gap:12px!important; }

  /* Preserve the portfolio image proportions, reduce only nested mobile gutters. */
  #work .portfolio-scroll-story { padding-inline:var(--mobile-gutter)!important; }
  #work .portfolio-scroll-info { padding:24px 20px!important; }
  #work .portfolio-scroll-visuals { padding:0 12px 12px!important; }
  #work .portfolio-scroll-slide { padding:0!important; gap:12px!important; }
  #work .portfolio-scroll-index { font-size:44px!important; margin-bottom:18px!important; }
  #work .portfolio-scroll-tabs { gap:4px 14px!important; margin-bottom:24px!important; }
  #work .portfolio-scroll-result { margin-top:20px!important; }
  #work .portfolio-scroll-result b { font-size:32px!important; }

  /* Heroes: remove doubled header offsets and narrow character-based measures. */
  body.responsive-site .hero { display:flex!important; align-items:flex-start!important; height:auto!important; min-height:min(720px,100svh)!important; }
  body.responsive-site .hero-content { position:relative!important; inset:auto!important; transform:none!important; margin:0!important; width:100%!important; max-width:100%!important; padding:116px var(--mobile-gutter) 64px!important; text-align:center!important; }
  body.responsive-site .hero-content h1 { text-align:center!important; }
  body.responsive-site .hero-kicker { margin-inline:0!important; width:auto!important; }
  body.responsive-site .hero-actions { justify-content:center!important; align-items:center!important; }
  body.responsive-site .hero-copy { width:auto!important; max-width:100%!important; }
  body.responsive-site.about-page .about-ref-hero .about-ref-inner,
  body.responsive-site.contact-page .contact-ref-hero .about-ref-inner {
    width:100%!important; padding:116px var(--mobile-gutter) 48px!important; min-height:100svh!important; gap:24px!important;
  }
  body.responsive-site :is(.about-ref-copy,.pm49-copy) { width:100%!important; max-width:100%!important; }
  body.responsive-site .about-ref-stats { margin-top:32px!important; gap:24px!important; flex-wrap:wrap!important; }
  body.responsive-site .about-ref-stats>div { min-width:0!important; margin:0!important; padding:0!important; flex:1 1 90px; }
  body.responsive-site .about-ref-stats>div+div::before { display:none!important; }
  body.responsive-site .about-ref-stats strong { font-size:38px!important; line-height:1!important; }
  body.responsive-site.service-landing-page .pm49-hero { padding-top:68px!important; }
  body.responsive-site.service-landing-page .pm49-hero-inner { padding:40px var(--mobile-gutter) 48px!important; min-height:0!important; }
  body.responsive-site .pm49-stats { gap:24px!important; margin-top:32px!important; }
  body.responsive-site .pm49-stats>div { min-width:0!important; flex:1 1 0; }
  body.responsive-site .pm49-stats strong { font-size:36px!important; }
  body.responsive-site .pm49-form-wrap { margin-top:32px!important; }
  body.responsive-site .pm49-form { padding:24px 20px!important; }
  body.responsive-site .pm49-form-top h2 { font-size:24px!important; }
  body.responsive-site .pm49-fields { gap:16px!important; }
  body.responsive-site .pm49-fields label>span { font-size:11px!important; }
  body.responsive-site .pm49-form-note { font-size:11px!important; line-height:1.5!important; }
  body.responsive-site :is(.v75-hero,.service-directory) { padding:112px 0 48px!important; min-height:0!important; }
  body.responsive-site .v75-hero-grid { gap:24px!important; }
  body.responsive-site .service-directory h1 { margin-bottom:28px!important; }
  body.responsive-site .service-directory-card { padding:24px 20px!important; min-height:0!important; }
  body.responsive-site .service-directory-card span { padding-top:20px!important; }

  /* Service content and accordions retain the full available text width. */
  body.responsive-site .huco-editorial-process-v103 { padding-block:var(--mobile-section)!important; }
  body.responsive-site .huco-editorial-main,
  body.responsive-site .huco-editorial-strip { width:calc(100% - var(--mobile-gutter) * 2)!important; margin-inline:auto!important; }
  body.responsive-site .huco-editorial-main { margin-top:0!important; min-height:0!important; }
  body.responsive-site .huco-editorial-copy { padding:0 0 24px!important; }
  body.responsive-site .huco-editorial-image { height:auto!important; min-height:0!important; aspect-ratio:1.6!important; }
  body.responsive-site .huco-editorial-strip { padding:0!important; margin-top:24px!important; }
  body.responsive-site .huco-editorial-process-v103::after { display:none!important; }
  #selected-work.portfolio-realism .pm40-side-inner { padding:32px var(--mobile-gutter)!important; }
  #selected-work.portfolio-realism .pm40-case .pm40-copy { padding:28px var(--mobile-gutter)!important; }
  body.responsive-site .pm42-flow { padding-left:0!important; }
  body.responsive-site .pm42-flow-line { display:none!important; }
  body.responsive-site .pm42-flow-step { grid-template-columns:32px minmax(0,1fr)!important; gap:12px!important; padding:24px 0!important; min-height:0!important; opacity:1!important; transform:none!important; }
  body.responsive-site .pm42-node { width:32px!important; height:32px!important; }
  body.responsive-site .pm42-step-metric { grid-column:2!important; padding:0!important; border:0!important; }
  body.responsive-site .pm46-cap-core { min-height:220px!important; padding:24px 20px!important; }
  body.responsive-site .pm46-cap-items article { gap:8px 10px!important; grid-template-columns:20px minmax(0,1fr)!important; padding:24px 16px!important; align-items:start!important; min-height:0!important; }
  body.responsive-site .pm46-faq-list summary { grid-template-columns:22px minmax(0,1fr) 20px!important; padding:20px 16px!important; gap:10px!important; }
  body.responsive-site .pm46-faq-list summary strong { font-size:16px!important; line-height:1.4!important; }
  body.responsive-site .pm46-answer { padding-inline:16px!important; }
  body.responsive-site .pm46-faq-list details[open] .pm46-answer { max-height:none!important; padding-bottom:20px!important; }
  body.responsive-site .pm37-final { padding-top:var(--mobile-section)!important; }
  body.responsive-site .pm37-final-inner { padding-bottom:40px!important; }
  body.responsive-site .faq-v75-q { grid-template-columns:24px minmax(0,1fr) 28px!important; padding:18px 12px!important; gap:8px!important; }
  body.responsive-site .faq-v75-num { width:24px!important; height:24px!important; }
  body.responsive-site .faq-v75-icon { width:28px!important; height:28px!important; }
  body.responsive-site .faq-v75-q strong { font-size:16px!important; line-height:1.4!important; }
  body.responsive-site .faq-v75-a p { padding:0 16px 20px!important; }
  body.responsive-site .faq-v75-item.is-open .faq-v75-a { max-height:none!important; }
  body.responsive-site .about-unified-flow,body.responsive-site .about-unified-bottom { margin-top:32px!important; }
  body.responsive-site .about-v4-flow { margin-top:28px!important; }

  /* Journal, legal copy and footer share the same gutters and reading rhythm. */
  body.responsive-site.insights-page main { padding-top:68px!important; }
  body.responsive-site .insights-intro { padding-block:40px 32px!important; }
  body.responsive-site .article-header { padding-block:32px!important; }
  body.responsive-site .article-breadcrumb { margin-bottom:24px!important; flex-wrap:wrap; gap:8px 12px; }
  body.responsive-site .article-header h1 { margin:20px 0!important; }
  body.responsive-site .article-byline { gap:12px!important; }
  body.responsive-site .article-byline time { margin-left:0!important; }
  body.responsive-site .article-cover { margin-bottom:32px!important; }
  body.responsive-site .article-body { font-size:15px!important; line-height:1.65!important; }
  body.responsive-site .article-body p { margin-bottom:20px!important; }
  body.responsive-site .article-body>section { padding-top:28px!important; }
  body.responsive-site :is(.article-takeaway,.article-service,.article-related>div>a) { padding:24px 20px!important; }
  body.responsive-site .article-related { margin-block:48px!important; }
  body.responsive-site .insight-card h2 { font-size:24px!important; }
  body.responsive-site .home-insight-copy h3 { font-size:24px!important; }
  body.responsive-site .insight-card-featured .insight-card-copy { padding:24px 20px!important; }
  body.responsive-site .editorial-cta { margin-top:40px!important; padding-block:32px 48px!important; }
  body.responsive-site :is(.editorial-button,.pm35-btn,.pm40-start) { white-space:normal!important; max-width:100%!important; }
  body.responsive-site .legal-hero { padding:48px var(--mobile-gutter)!important; }
  body.responsive-site .legal-content { padding:24px var(--mobile-gutter) 48px!important; }
  body.responsive-site .legal-block { padding-block:24px!important; }
  body.responsive-site .clients-v48 .clients-showcase-head h2,
  body.responsive-site.contact-page .contact-office-grid h2 { font-size:var(--mobile-h2)!important; line-height:1.16!important; }
  body.responsive-site .footer-v21-main { width:100%!important; padding:32px 0!important; gap:0 24px!important; }
  body.responsive-site .footer-v21-main>* { padding:24px 0!important; min-width:0!important; }
  body.responsive-site .footer-v21-bottom { gap:12px!important; padding-block:20px!important; }
  body.responsive-site .footer-v21 p { font-size:14px!important; line-height:1.65!important; }
  body.responsive-site a[href^="mailto:"] { overflow-wrap:anywhere; }
}

@media (max-width:360px) {
  :root { --mobile-section:48px; }
  body.responsive-site .mobile-service-grid { grid-template-columns:1fr!important; }
  body.responsive-site .service-directory-grid { grid-template-columns:minmax(0,1fr)!important; }
  body.responsive-site .services-v9-row,body.responsive-site .services-v9-row.is-active { padding:18px!important; }
  body.responsive-site .huco-editorial-kicker { font-size:9px!important; gap:10px!important; }
  body.responsive-site .huco-editorial-kicker::before { flex-basis:20px!important; width:20px!important; }
  body.responsive-site .pm40-side-top { flex-wrap:wrap; }
  body.responsive-site .editorial-meta { flex-wrap:wrap; gap:8px 12px; }
  body.responsive-site .insight-filters { gap:6px; }
  body.responsive-site .insight-filters button { padding-inline:12px!important; }
}

/* Mobile follow-up: framed sections retain a small outer gutter. */
.process-auto-controls { display:none; }
.service-mobile-review[hidden] { display:none!important; }
.footer-v21 .footer-insights-link { color:#111!important; }
body[data-theme="dark"] .footer-v21 .footer-insights-link { color:#fff!important; }
.footer-menu > summary { list-style:none; }
.footer-menu > summary::-webkit-details-marker { display:none; }
.footer-menu > summary .huco-icon { display:none; }
@media (min-width:981px) {
  .footer-menu > summary { cursor:default; pointer-events:none; }
}
@media (max-width:980px) {
  body.responsive-site .process-v30-stage.shell {
    width:calc(100% - var(--mobile-gutter) * 2)!important;
    margin-inline:auto!important; padding:0!important; max-width:none!important;
  }
  body.responsive-site .process-v30 .process-rail {
    display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:0!important; overflow:visible!important; padding:8px!important;
  }
  body.responsive-site .process-v30 .process-rail button {
    width:100%!important; min-width:0!important; min-height:58px!important; height:auto!important;
    margin:0!important; padding:10px 4px!important; font-size:11px!important; line-height:1.35!important;
    border-radius:10px; color:#aaa;
  }
  body.responsive-site .process-v30 .process-rail button.active { background:#252525; color:#fff; }
  body.responsive-site .process-v30 .process-rail button span { display:block!important; position:static!important; margin:0 0 4px!important; padding:0!important; }
  body.responsive-site .process-auto-controls { display:flex; justify-content:space-between; align-items:center; padding:0 20px; border-bottom:1px solid #292929; color:#aaa; font-size:11px; }
  body.responsive-site .process-autoplay { min-height:44px; padding:8px 0 8px 18px; background:none; border:0; color:#fff; font:inherit; cursor:pointer; }
  body.responsive-site .process-v30 .process-orbit { width:116px!important; height:116px!important; margin:0 auto 24px!important; }
  body.responsive-site .process-v30 .process-orbit b { font-size:54px!important; }
  body.responsive-site .process-v30 .process-orbit span { transform-origin:0 44px!important; }
  body.responsive-site .process-v30 .process-copy { min-height:225px; }
  body.responsive-site .process-v30 .process-copy h3 { margin:12px 0!important; }
  body.responsive-site .process-v30 .process-copy p { margin:0!important; }
  body.responsive-site .process-v30 .process-copy ul { flex-wrap:wrap!important; gap:6px!important; padding-top:18px!important; }
  body.responsive-site .process-v30 .process-copy li { padding:6px 9px!important; }

  body.responsive-site .testimonial-v32-sticky {
    width:calc(100% - var(--mobile-gutter) * 2)!important; margin-inline:auto!important;
    padding:24px 0!important; border-radius:24px!important; overflow:hidden!important;
  }
  body.responsive-site .testimonial-v32-head.shell { padding-inline:20px!important; gap:16px!important; }
  body.responsive-site .testimonial-v32-head :is(h2,.eyebrow) { margin:0!important; }
  body.responsive-site .testimonial-v32-note { padding:0!important; }
  body.responsive-site .testimonial-v32-note p { margin:12px 0 0!important; }
  body.responsive-site .testimonial-v32-stage.shell {
    width:100%!important; padding:0 16px!important; margin-top:24px!important;
    scroll-padding-inline:16px; scroll-snap-type:x mandatory;
  }
  body.responsive-site .testimonial-v32-track { transform:none!important; align-items:stretch!important; padding:0!important; }
  body.responsive-site .t32-card {
    flex:0 0 min(76vw,340px)!important; width:min(76vw,340px)!important;
    padding:20px!important; min-height:0!important; display:flex!important;
    gap:18px!important; scroll-snap-align:start; opacity:1!important; transform:none!important;
  }
  body.responsive-site .t32-card blockquote { margin:24px 0 0!important; font-size:22px!important; }
  body.responsive-site .t32-person { margin-top:auto!important; gap:10px!important; }
  body.responsive-site .t32-person>span { flex:0 0 34px; width:34px; height:34px; }
  body.responsive-site .t32-result { position:relative!important; inset:auto!important; text-align:left!important; padding-top:14px!important; border-top:1px solid currentColor; }
  body.responsive-site .t32-result strong { font-size:30px!important; }
  body.responsive-site .t32-result span { display:block; margin-top:5px; line-height:1.4; }

  body.responsive-site .results-v32-copy :is(.eyebrow,h2) { margin:0 0 16px!important; }
  body.responsive-site .results-v32-copy p { margin:0!important; }
  body.responsive-site .results-v32-metrics article {
    display:grid!important; grid-template-columns:minmax(0,1fr)!important; justify-content:stretch!important; align-content:start!important; gap:10px!important; min-height:0!important;
    padding:22px 20px!important; transform:none!important;
  }
  body.responsive-site .results-v32-metrics small { position:static!important; inset:auto!important; display:block; margin:0!important; line-height:1.4!important; }
  body.responsive-site .results-v32-metrics strong { line-height:1!important; margin:0!important; }
  body.responsive-site .results-v32-metrics span { margin:0!important; line-height:1.4!important; }
  body.responsive-site .results-v32-metrics article>i { margin-top:6px; }

  /* Keep the existing red-orb art visible in a compact hero. */
  body.responsive-site.service-landing-page .pm49-hero {
    min-height:0!important; height:auto!important; padding:68px 0 0!important;
    display:block!important; background:#080505!important;
  }
  body.responsive-site.service-landing-page .pm49-hero-inner {
    display:block!important; width:100%!important; padding:40px var(--mobile-gutter) 40px!important;
    min-height:0!important; gap:0!important;
  }
  body.responsive-site.service-landing-page .pm49-bg-video.service-hero-image {
    display:block!important; opacity:1!important; filter:none!important;
    object-fit:cover!important; object-position:78% center!important;
    width:100%!important; height:100%!important; max-width:none!important;
  }
  body.responsive-site.service-landing-page .pm49-overlay.service-hero-overlay {
    background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.12)),linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.25))!important;
  }
  body.responsive-site .pm49-copy h1 { margin:22px 0 16px!important; }
  body.responsive-site .pm49-copy>p { margin:0 0 24px!important; }
  body.responsive-site .pm49-stats { margin-top:28px!important; }
  body.responsive-site main>section.service-mobile-review {
    padding:24px var(--mobile-gutter) 40px!important; background:#f5f3ef; color:#fff;
  }
  body.responsive-site .service-mobile-review .pm49-form-wrap {
    width:100%!important; max-width:650px!important; margin:0 auto!important;
    background:#111!important; border:1px solid #333!important; scroll-margin-top:84px;
    backdrop-filter:none!important; -webkit-backdrop-filter:none!important; box-shadow:none!important;
  }
  body.responsive-site .service-mobile-review .pm49-form { border-radius:24px!important; }
  body.responsive-site .service-mobile-review .pm49-fields { grid-template-columns:1fr!important; }
  body.responsive-site .service-mobile-review .pm49-fields label { min-width:0!important; }

  /* Insets apply to the portfolio frame; original image fitting is preserved. */
  body.responsive-site #selected-work.portfolio-realism {
    width:calc(100% - var(--mobile-gutter) * 2)!important; margin-inline:auto!important;
  }

  /* Native disclosure menus remain expanded on desktop and collapse on mobile. */
  body.responsive-site .footer-v21-main { grid-template-columns:1fr!important; min-height:0!important; padding-block:24px!important; }
  body.responsive-site .footer-v21-main>* { grid-column:1!important; grid-row:auto!important; border-right:0!important; padding-block:20px!important; }
  body.responsive-site .footer-v21-main>.footer-menu { padding:0!important; }
  body.responsive-site .footer-menu>summary {
    min-height:60px; display:flex; align-items:center; justify-content:space-between; gap:16px;
    cursor:pointer; padding:16px 0;
  }
  body.responsive-site .footer-v21 :is(.footer-menu h4,.footer-v21-news h4,.footer-v21-office h4,.footer-v21-social h4) { font-size:20px!important; line-height:1.3!important; margin:0 0 12px!important; }
  body.responsive-site .footer-menu>summary h4 { margin:0!important; }
  body.responsive-site .footer-menu>summary .huco-icon { display:block; width:18px; height:18px; transition:transform .2s; }
  body.responsive-site .footer-menu[open]>summary .huco-icon { transform:rotate(180deg); }
  body.responsive-site .footer-menu-links { display:grid; gap:0; padding-bottom:12px; }
  body.responsive-site .footer-menu-links a {
    display:flex!important; align-items:center!important; min-height:44px!important;
    padding:10px 0!important; margin:0!important; font-size:14px!important; line-height:1.5!important;
  }
  body.responsive-site .footer-v21-office :is(a,p) { margin:0 0 8px!important; padding:0!important; min-height:0!important; line-height:1.65!important; }
  body.responsive-site .footer-v21-brand-copy { margin-block:18px!important; }
}
@media (max-width:360px) {
  body.responsive-site .process-v30 .process-copy { min-height:270px; }
  body.responsive-site .t32-card blockquote { font-size:20px!important; }
}
@media (prefers-reduced-motion:reduce) {
  .process-v30 .process-orbit :is(span,b),.process-v30 .process-orbit::before,.process-v30 .process-orbit::after { animation:none!important; }
}

/* Center mobile introductions while leaving article copy and forms easy to scan. */
@media (max-width:980px) {
  body.responsive-site .hero-content { align-items:center!important; }
  body.responsive-site .hero-content :is(h1,.hero-kicker,.hero-copy) {
    width:100%!important; max-width:100%!important; margin-inline:auto!important; text-align:center!important;
  }
  body.responsive-site .hero-actions { width:100%!important; gap:16px!important; }
  body.responsive-site .hero-actions a { align-self:center!important; width:max-content!important; max-width:100%!important; }
  body.responsive-site .about-ref-hero .about-ref-inner { justify-items:center!important; }
  body.responsive-site .about-ref-hero::before { background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.5) 45%,rgba(0,0,0,.35))!important; }
  body.responsive-site .about-ref-hero .about-ref-copy p { color:rgba(255,255,255,.9)!important; }
  body.responsive-site.about-page .about-ref-hero .about-ref-copy,
  body.responsive-site.contact-page .contact-ref-hero .about-ref-copy,
  body.responsive-site.service-landing-page .pm49-copy {
    text-align:center!important; width:100%!important; margin-inline:auto!important;
  }
  body.responsive-site.about-page .about-ref-hero .about-ref-copy :is(h1,p),
  body.responsive-site.contact-page .contact-ref-hero .about-ref-copy :is(h1,p),
  body.responsive-site.service-landing-page .pm49-copy :is(h1,p) {
    width:100%!important; max-width:100%!important; margin-inline:auto!important; text-align:center!important;
  }
  body.responsive-site .about-ref-pill,
  body.responsive-site .pm49-pill { margin-inline:auto!important; justify-content:center!important; text-align:center!important; }
  body.responsive-site .about-ref-btn,
  body.responsive-site .pm49-cta { margin-inline:auto!important; justify-content:center!important; text-align:center!important; }
  body.responsive-site .about-ref-stats,
  body.responsive-site .pm49-stats {
    display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important; gap:20px!important; justify-content:center!important; text-align:center!important;
  }
  body.responsive-site .about-ref-stats>div,
  body.responsive-site .pm49-stats>div {
    display:flex!important; flex-direction:column!important; align-items:center!important;
    justify-content:flex-start!important; min-width:0!important; margin:0!important; padding:0!important;
    gap:8px!important; text-align:center!important;
  }
  body.responsive-site .about-ref-stats :is(strong,span),
  body.responsive-site .pm49-stats :is(strong,span) { margin:0!important; max-width:100%!important; text-align:center!important; }
  body.responsive-site .pm49-stats>i { display:none!important; }
  body.responsive-site .pm49-stats>div:last-child { border-left:1px solid rgba(255,255,255,.18); }
  body.responsive-site .v75-hero { text-align:center!important; }
  body.responsive-site .v75-hero :is(h1,p,.v75-eyebrow),
  body.responsive-site .insights-intro :is(h1,p,.editorial-kicker),
  body.responsive-site .article-header :is(h1,p,.editorial-kicker),
  body.responsive-site .legal-hero :is(h1,p,span) { width:100%!important; max-width:100%!important; text-align:center!important; margin-inline:auto!important; }
  body.responsive-site .v75-mini-stats { justify-content:center!important; }
  body.responsive-site .v75-mini-stats>div { text-align:center!important; }
  body.responsive-site .service-directory>.shell>:is(h1,.eyebrow) { text-align:center!important; justify-content:center!important; }
  body.responsive-site .insights-intro-bottom { align-items:center!important; text-align:center!important; }
  body.responsive-site .article-header,
  body.responsive-site .legal-hero { text-align:center!important; }
  body.responsive-site .article-breadcrumb,
  body.responsive-site .article-byline { justify-content:center!important; }

  /* Use the available reading width instead of desktop-sized text caps. */
  body.responsive-site .footer-v21-main.footer-v21-aligned .footer-v21-brand-copy,
  body.responsive-site .footer-v21 :is(.footer-v21-brand,.footer-v21-news,.footer-v21-office) p {
    width:100%!important; max-width:none!important;
  }
  body.responsive-site .footer-v21-brand { align-items:stretch!important; }
  body.responsive-site .about-collab-card p { left:20px!important; right:20px!important; width:auto!important; max-width:none!important; }
  body.responsive-site .pm46-cap-items article:hover { padding:24px 16px!important; }
  body.responsive-site .pm46-cap-items article>span { padding-top:5px!important; }
  body.responsive-site .pm46-cap-items article>div { min-width:0!important; }
  body.responsive-site .pm46-cap-items h3 { margin:0!important; }
  body.responsive-site .pm46-cap-items h3+p { margin:10px 0 0!important; }
  body.responsive-site .pm46-cap-items em { grid-column:2!important; text-align:left!important; line-height:1.5!important; margin:0!important; }
}
