
html{scrollbar-gutter:stable;}
.nav-shell{border:0!important;box-shadow:0 14px 32px rgba(10,7,18,.22)!important;isolation:isolate;}
.nav-shell::after{content:"";position:absolute;right:0;bottom:-1px;left:0;z-index:5;height:2px;background:#120d1f;pointer-events:none;}
.nav-shell .nav-links{gap:.28rem!important;}
.nav-shell .nav-links a,.nav-shell .nav-links a:first-child{min-height:2.55rem;margin:.27rem 0;padding:0 clamp(.78rem,1.15vw,1.12rem)!important;border:0!important;border-radius:.65rem!important;isolation:isolate;overflow:hidden;transition:color .22s ease,transform .22s ease!important;}
.nav-shell .nav-links a::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(228,74,75,.18));opacity:0;transform:scale(.86);transition:opacity .22s ease,transform .28s cubic-bezier(.22,1,.36,1);}
.nav-shell .nav-links a::after,.nav-shell .nav-links a:first-child::after{right:.8rem!important;bottom:.22rem!important;left:.8rem!important;height:2px!important;border-radius:99px;transform-origin:center!important;}
.nav-shell .nav-links a:hover,.nav-shell .nav-links a[aria-current="page"]{background:transparent!important;color:#ff8989!important;transform:translateY(-1px);}
.nav-shell .nav-links a:hover::before,.nav-shell .nav-links a[aria-current="page"]::before{opacity:1;transform:scale(1);}
.nav-actions :where(.nav-contact-link,.nav-book-call){transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease,background-color .22s ease!important;}
.nav-actions :where(.nav-contact-link,.nav-book-call):hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(0,0,0,.2);}
.site-scroll-meter{position:fixed;top:50%;right:.72rem;z-index:80;display:grid;justify-items:center;gap:.55rem;padding:.62rem .45rem;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(18,13,31,.84);color:#fff;box-shadow:0 12px 28px rgba(18,13,31,.25),inset 0 1px 0 rgba(255,255,255,.16);backdrop-filter:blur(12px);pointer-events:none;transform:translateY(-50%);mix-blend-mode:normal;}
.site-scroll-meter-track{position:relative;width:4px;height:7rem;border-radius:999px;background:rgba(255,255,255,.25);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);overflow:hidden;}
.site-scroll-meter-track span{position:absolute;inset:auto 0 0;height:var(--scroll-progress,0%);border-radius:999px;background:linear-gradient(180deg,#ffd1c9,#ff716f 48%,#e44a4b);box-shadow:0 0 12px rgba(255,113,111,.9);transition:height .08s linear;}
.site-scroll-meter b{font-size:.62rem;font-weight:900;letter-spacing:.08em;text-shadow:0 1px 4px rgba(0,0,0,.5);font-variant-numeric:tabular-nums;writing-mode:vertical-rl;}
.contact-form-panel .enquiry-submit-button{width:100%!important;min-height:3.65rem;justify-self:stretch!important;justify-content:center;margin-top:auto;border:1px solid rgba(185,39,45,.38);font-size:.94rem;letter-spacing:.01em;box-shadow:0 18px 34px rgba(185,39,45,.25);}
.contact-form-panel .enquiry-submit-button .icon{transition:transform .24s cubic-bezier(.22,1,.36,1);}
.contact-form-panel .enquiry-submit-button:hover .icon{transform:translate3d(.28rem,-.18rem,0) rotate(-8deg);}
.contact-form-panel .enquiry-submit-button:active{transform:translateY(1px) scale(.995)!important;}
.required-mark{margin-left:.22rem;color:#e44a4b;font-weight:900;}
@media(max-width:1439px){.scroll-drift{transform:none!important;will-change:auto!important;}}
.topbar .logo-mark,.topbar .logo-mark img{transform:none!important;transition:none!important;}
@media(max-width:900px){
html{scrollbar-width:none!important;scrollbar-gutter:auto!important;}
html::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
.topbar{height:5.35rem!important;min-height:5.35rem!important;padding:0!important;align-items:center!important;overflow:hidden!important;}
.brand{display:flex!important;width:100%!important;max-width:none!important;height:5.35rem!important;min-height:5.35rem!important;margin:0!important;padding:0 .75rem 0 4rem!important;box-sizing:border-box;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:.6rem!important;overflow:hidden!important;}
.brand>span:last-child{order:1!important;flex:1 1 auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;}
.brand-name{display:block!important;font-size:clamp(.8rem,3.25vw,1.05rem)!important;line-height:1!important;letter-spacing:0!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;}
.brand-tagline{display:block!important;margin-top:.25rem!important;font-size:clamp(.48rem,1.8vw,.62rem)!important;line-height:1.05!important;letter-spacing:.1em!important;word-spacing:0!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;}
.topbar .logo-mark{order:2!important;flex:0 0 3.75rem!important;grid-column:auto!important;grid-row:auto!important;width:3.75rem!important;height:calc(100% - .5rem)!important;min-width:3.75rem!important;max-width:3.75rem!important;margin:0 0 .5rem!important;padding:0!important;align-self:stretch!important;border-radius:0 0 .72rem .72rem!important;background:#fff!important;overflow:hidden!important;}
.topbar .logo-mark img{width:82%!important;height:auto!important;max-height:64%!important;object-fit:contain!important;background:#fff!important;}
.menu-toggle{display:grid!important;place-items:center!important;top:calc(50% - .15rem)!important;left:.75rem!important;right:auto!important;width:2.75rem!important;height:2.75rem!important;min-width:2.75rem!important;min-height:2.75rem!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#fff!important;box-shadow:none!important;transform:translateY(-50%)!important;}
.menu-toggle:hover{background:transparent!important;transform:translateY(-50%)!important;}
.menu-toggle::before{content:""!important;position:absolute!important;inset:0!important;width:1.5rem!important;height:1.05rem!important;margin:auto!important;border-radius:1px!important;background:linear-gradient(#fff,#fff) 0 0/100% 2px no-repeat,linear-gradient(#fff,#fff) 0 50%/100% 2px no-repeat,linear-gradient(#fff,#fff) 0 100%/100% 2px no-repeat!important;transform:none!important;transform-origin:center!important;}
.menu-toggle .menu-icon{display:none!important;opacity:0!important;}
.menu-toggle .close-icon,.menu-toggle svg.close-icon{position:absolute!important;inset:0!important;width:1.5rem!important;height:1.5rem!important;margin:auto!important;color:#fff!important;transform:rotate(-90deg) scale(.5)!important;transform-origin:center!important;}
body.menu-open .menu-toggle::before{opacity:0!important;transform:rotate(90deg) scale(.65)!important;}
body.menu-open .menu-toggle .close-icon,body.menu-open .menu-toggle svg.close-icon{opacity:1!important;transform:rotate(0) scale(1)!important;}
.nav-shell{display:none!important;}
.drawer,.menu-overlay{display:block!important;}
main :where(h1,.page-hero h1,.contact-intro h1){font-size:clamp(2.35rem,11.6vw,3.35rem)!important;line-height:1.02!important;text-wrap:balance;}
main h2{font-size:clamp(2rem,9.5vw,2.85rem)!important;line-height:1.04!important;}
.contact-intro{padding-top:3.25rem!important;}
.contact-service-strip{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem!important;}
.contact-service-strip a{display:flex;align-items:center;min-height:3rem;padding:.72rem!important;line-height:1.25;}
.contact-details-panel,.contact-form-panel{padding:1.15rem!important;border-radius:1rem!important;}
.contact-form-panel .enquiry-submit-button{min-height:3.8rem;}
:where(.service-card,.service-index-card,.value-card,.audience-card,.quote-card,.method-card){border-radius:1rem!important;}
.site-scroll-meter{top:auto;right:0;bottom:0;left:0;display:block;padding:0;border:0;border-radius:0;background:rgba(18,13,31,.72);box-shadow:0 -2px 14px rgba(18,13,31,.24);transform:none;backdrop-filter:blur(8px);}
.site-scroll-meter-track{width:100%;height:4px;border-radius:0;background:rgba(255,255,255,.38)}
.site-scroll-meter-track span{inset:0 auto 0 0;width:var(--scroll-progress,0%);height:100%;border-radius:0;background:linear-gradient(90deg,#ff9b85,#e44a4b,#ffd1c9)}
.site-scroll-meter b{display:none}
}
@media(max-width:340px){
.topbar,.brand{height:4.75rem!important;min-height:4.75rem!important;}
.brand{padding-left:3.65rem!important;padding-right:.5rem!important;gap:.35rem!important;}
.brand-name{font-size:.66rem!important;}
.brand-tagline{font-size:.4rem!important;letter-spacing:.045em!important;}
.topbar .logo-mark{flex-basis:3rem!important;width:3rem!important;height:calc(100% - .5rem)!important;min-width:3rem!important;max-width:3rem!important;}
.menu-toggle{left:.5rem!important;width:2.75rem!important;height:2.75rem!important;}
}
@media(min-width:901px){
.topbar{height:5.35rem!important;min-height:5.35rem!important;padding:0!important;align-items:center!important;overflow:hidden!important;}
.brand{display:flex!important;width:min(var(--layout-max),calc(100% - (var(--page-gutter) * 2)))!important;max-width:none!important;height:5.35rem!important;min-height:5.35rem!important;margin-inline:auto!important;padding:0!important;box-sizing:border-box;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:1.25rem!important;overflow:hidden!important;}
.brand>span:last-child{order:1!important;flex:1 1 auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;}
.logo-mark{order:2!important;flex:0 0 3.85rem!important;grid-column:auto!important;grid-row:auto!important;width:3.85rem!important;height:calc(100% - .42rem)!important;min-width:3.85rem!important;max-width:3.85rem!important;margin:0 0 .42rem!important;padding:0!important;align-self:stretch!important;border-radius:0 0 .78rem .78rem!important;background:#fff!important;overflow:hidden!important;}
.topbar .logo-mark img{width:82%!important;height:auto!important;max-height:64%!important;object-fit:contain!important;background:#fff!important;}
.brand-name{font-size:clamp(1.05rem,2vw,1.8rem)!important;line-height:1!important;white-space:nowrap!important;}
.brand-tagline{display:block!important;margin-top:.38rem!important;font-size:clamp(.58rem,.85vw,.8rem)!important;letter-spacing:.22em!important;white-space:nowrap!important;}
.menu-toggle{display:none!important;}
.nav-shell{display:flex!important;padding-inline:clamp(1rem,3.5vw,3.25rem)!important;}
}

/* Supporting content enters once, without blur or scroll-linked layout work. */
.reveal { opacity: 1; transform: none; filter: none; transition: none; }
.js-ready .motion-reveal {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  filter: none;
  transition: opacity 480ms ease var(--motion-delay, 0ms), transform 560ms cubic-bezier(.22,1,.36,1) var(--motion-delay, 0ms);
}
.js-ready .motion-reveal.in-view { opacity: 1; transform: none; }
.site-loader { display: none !important; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  main :is(.service-card,.service-context-card,.service-index-card,.service-dossier-card,.method-card,.value-card,.industry-card,.quote-card,.resource-card) {
    transition: transform 260ms ease, border-color 260ms ease;
  }
  main :is(.service-card,.service-context-card,.service-index-card,.service-dossier-card,.method-card,.value-card,.industry-card,.quote-card,.resource-card):hover {
    transform: translateY(-5px);
    border-color: rgba(228,74,75,.5);
  }
  .button { transition: transform 200ms ease, background-color 200ms ease; }
  .button:hover { transform: translateY(-2px); }
  .button .icon { transition: transform 200ms ease; }
  .button:hover .icon { transform: translateX(3px); }
}
@media (prefers-reduced-motion: no-preference) {
  .page-hero:not(.office-motion-hero)::before { animation: hero-settle 1600ms ease-out both; }
}
@keyframes hero-settle { from { transform: scale(1.045); } to { transform: scale(1); } }
/* Avoid running existing decorative loops in sections outside the viewport. */
main > section[data-motion-visible="false"] *,
main > section[data-motion-visible="false"] *::before,
main > section[data-motion-visible="false"] *::after,
main > section[data-motion-visible="false"]::before,
main > section[data-motion-visible="false"]::after,
.home-slide[aria-hidden="true"] *,
body.motion-tab-hidden main *,
body.motion-tab-hidden main *::before,
body.motion-tab-hidden main *::after { animation-play-state: paused !important; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js-ready .motion-reveal, .reveal { opacity: 1 !important; transform: none !important; filter: none !important; }
}

/* Keep the accessibility shortcut out of the visual layout until focused. */
.skip-link:not(:focus) { position: fixed !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
.skip-link:focus { position: fixed; top: 12px; left: 12px; z-index: 100000; padding: 14px 22px; border-radius: 8px; color: #fff; background: #142139; outline: 3px solid #ff7c85; outline-offset: 3px; }
