/* Transparent masthead and the shared animated navigation. */
:root { --header-height: 148px; --header-rest-height: 148px; --nav-font: "Manrope", Arial, sans-serif; }
html { scroll-padding-top: 112px; }
.site-header {
  position: relative; inset: 0 0 auto; z-index: 40;
  color: var(--ink); background: transparent; border: 0;
  transition: color .35s ease, background .35s ease, box-shadow .35s ease;
}
.js .site-header { position: fixed; }
.page-home .site-header { color: var(--paper); }
html:not(.js) .page-home .site-header { background: #141414; }
.js.page-home .site-header, .js .page-home .site-header { position: fixed; }
.js .page-inner main { padding-top: var(--header-rest-height); }
.page-home .hero-inner { padding-top: calc(var(--header-rest-height) + 33px); }
html:not(.js) .page-home .hero-inner { padding-top: 33px; }
.header-inner { display: grid; grid-template-columns: minmax(150px,1fr) auto minmax(220px,1fr); gap: 32px; height: var(--header-height); position: relative; transition: height .45s var(--ease); }
.header-inner::after {
  content: ""; position: absolute; bottom: 0; left: var(--gutter); right: var(--gutter);
  height: 1px; background: currentColor; opacity: .15;
}
.site-header .wordmark { position: relative; width: 138px; height: 138px; transition: width .45s var(--ease), height .45s var(--ease); }
.site-header .wordmark-image { position: absolute; inset: 0; width: 100%; height: 100%; transition: opacity .35s ease, transform .45s var(--ease); }
.site-header .header-logo-light { opacity: 0; }
.page-home .header-logo-dark, .site-header.is-scrolled .header-logo-dark, .menu-open .header-logo-dark { opacity: 0; }
.page-home .header-logo-light, .site-header.is-scrolled .header-logo-light, .menu-open .header-logo-light { opacity: 1; }
.site-header .wordmark:hover .wordmark-image { transform: translateY(-3px); }
.site-header.is-scrolled {
  --header-height: 104px; color: var(--paper); background: rgba(18,18,18,.9);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 10px 40px #0000000c;
}
.site-header.is-scrolled .wordmark { width: 94px; height: 94px; }
.site-header.is-scrolled .header-inner::after { opacity: .08; }
.desktop-nav { gap: clamp(20px,2vw,36px); margin: 0; justify-self: center; }
.desktop-nav > a {
  display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
  padding: 18px 0; font: 700 20px/1.45 var(--nav-font); letter-spacing: -.035em;
}
.nav-index { font-size: 9px; font-weight: 550; line-height: 1; letter-spacing: .12em; opacity: .55; transition: opacity .35s ease, transform .4s var(--ease); }
.nav-label { position: relative; display: block; overflow: hidden; }
.nav-label-primary, .nav-label-echo { display: block; transition: transform .5s var(--ease); }
.nav-label-echo { position: absolute; inset: 0; transform: translateY(120%); }
.desktop-nav > a::after { height: 2px; bottom: 7px; border-radius: 2px; transition-duration: .45s; }
.desktop-nav > a:is(:hover,:focus-visible) .nav-label-primary { transform: translateY(-120%); }
.desktop-nav > a:is(:hover,:focus-visible) .nav-label-echo { transform: translateY(0); }
.desktop-nav > a:is(:hover,:focus-visible) .nav-index { opacity: .95; transform: translateX(3px); }
.desktop-nav > a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.desktop-nav > a[aria-current="page"] .nav-index { opacity: 1; }
.header-contact {
  position: relative; overflow: hidden; flex-shrink: 0; justify-self: end; padding: 9px 9px 9px 21px; gap: 19px;
  border: 1px solid #14141435; border-radius: 60px;
  font: 750 14px/1.4 var(--nav-font); letter-spacing: -.02em;
  transition: color .3s ease, background .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.page-home .header-contact, .is-scrolled .header-contact, .menu-open .header-contact { border-color: #ffffff50; background: #ffffff05; }
.header-contact span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--paper); background: var(--ink); font-size: 23px; line-height: 1; transition: transform .45s var(--ease), color .3s, background .3s; }
.page-home .header-contact span, .is-scrolled .header-contact span, .menu-open .header-contact span { color: var(--ink); background: var(--paper); }
.header-contact:is(:hover,:focus-visible) { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.header-contact:is(:hover,:focus-visible) span { color: var(--ink); background: var(--paper); transform: translateY(-2px); }
.contact-chat-icon { width: 20px; height: 20px; }
.page-home .header-contact:is(:hover,:focus-visible), .is-scrolled .header-contact:is(:hover,:focus-visible) { color: var(--ink); background: var(--paper); border-color: var(--paper); }
.page-home .header-contact:is(:hover,:focus-visible) span, .is-scrolled .header-contact:is(:hover,:focus-visible) span { color: var(--paper); background: var(--ink); }
.menu-toggle { color: inherit; border: 1px solid #ffffff35; border-radius: 50%; width: 48px; height: 48px; flex-shrink: 0; }
.page-inner .site-header:not(.is-scrolled) .menu-toggle { border-color: #14141435; }
.menu-toggle span { width: 20px; transition: transform .45s var(--ease), opacity .3s ease; }
@media (prefers-reduced-motion: no-preference) {
  .desktop-nav > a { animation: nav-entrance .7s var(--ease) both; }
  .desktop-nav > a:nth-child(2) { animation-delay: .055s; }
  .desktop-nav > a:nth-child(3) { animation-delay: .11s; }
  .desktop-nav > a:nth-child(4) { animation-delay: .165s; }
  .desktop-nav > a:nth-child(n+5) { animation-delay: .22s; }
}
@keyframes nav-entrance { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1280px) {
  .header-inner { grid-template-columns: minmax(128px,1fr) auto minmax(190px,1fr); gap: 24px; }
  .desktop-nav { gap: 20px; }
  .desktop-nav > a { font-size: 18px; }
  .header-contact { font-size: 13px; gap: 13px; padding-left: 17px; }
}
@media (max-width: 1100px) {
  :root { --header-height: 128px; --header-rest-height: 128px; }
  .site-header .wordmark { width: 116px; height: 116px; }
  .header-inner { gap: 18px; }
  .desktop-nav { gap: 17px; }
}
@media (max-width: 1060px) {
  :root { --header-height: 116px; --header-rest-height: 116px; }
  .header-inner { display: flex; gap: 22px; }
  .desktop-nav { display: none; }
  .site-header .wordmark { width: 106px; height: 106px; }
  .header-contact { margin-left: auto; }
  .menu-toggle { display: flex; }
  .site-header.is-scrolled { --header-height: 96px; }
  .site-header.is-scrolled .wordmark { width: 86px; height: 86px; }
  .menu-open .site-header { color: var(--paper); background: #141414; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .menu-open .site-header .menu-toggle { border-color: #ffffff35; }
  .mobile-nav {
    display: flex; flex-direction: column; padding: 24px var(--gutter) 38px;
    color: var(--paper); background: #141414; border-top: 0;
  }
  .js .mobile-nav, .js .mobile-nav.is-open {
    display: flex; position: fixed; inset: var(--header-height) 0 0; z-index: 41;
    max-height: calc(100dvh - var(--header-height)); overflow-y: auto; overscroll-behavior: contain;
    background: rgba(20,20,20,.98); opacity: 0; visibility: hidden;
    transform: translateY(-12px); pointer-events: none;
    transition: opacity .3s ease, transform .4s var(--ease), visibility 0s .4s;
  }
  .js .mobile-nav.is-open {
    opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;
    transition: opacity .35s ease, transform .5s var(--ease), visibility 0s;
  }
  .mobile-nav > a:not(.mobile-email) {
    display: grid; grid-template-columns: minmax(0,1fr) 30px; align-items: center; gap: 18px;
    padding: 21px 0; border-bottom: 1px solid #ffffff20;
    font-family: var(--nav-font); line-height: 1.3;
  }
  .mobile-nav > a .mobile-nav-index { color: #a4a49c; font-size: 10px; font-weight: 500; letter-spacing: .1em; }
  .mobile-nav > a .mobile-nav-label { font-size: clamp(32px,5.3vw,50px); font-weight: 700; letter-spacing: -.045em; overflow-wrap: anywhere; }
  .mobile-nav > a .mobile-nav-arrow { font-size: 27px; font-weight: 400; transition: transform .35s var(--ease); }
  .mobile-nav > a:is(:hover,:focus-visible) .mobile-nav-arrow { transform: translate(3px,-3px); }
  .mobile-email { width: fit-content; margin-top: 32px; font: 550 15px/1.6 var(--nav-font); color: #c3c3bc; }
  .js .mobile-nav > a { opacity: 0; transform: translateY(18px); transition: opacity .3s ease, transform .45s var(--ease); }
  .js .mobile-nav.is-open > a { opacity: 1; transform: translateY(0); transition-delay: .075s; }
  .js .mobile-nav.is-open > a:nth-child(2) { transition-delay: .11s; }
  .js .mobile-nav.is-open > a:nth-child(3) { transition-delay: .145s; }
  .js .mobile-nav.is-open > a:nth-child(4) { transition-delay: .18s; }
  .js .mobile-nav.is-open > a:nth-child(n+5) { transition-delay: .215s; }
}
@media (max-width: 560px) {
  :root { --header-height: 112px; --header-rest-height: 112px; }
  .header-inner { gap: 13px; }
  .site-header .wordmark { width: 102px; height: 102px; }
  .header-contact { padding: 7px 7px 7px 12px; gap: 10px; font-size: 11px; }
  .header-contact span { width: 28px; height: 28px; font-size: 20px; }
  .menu-toggle { width: 40px; height: 40px; padding: 8px; }
  .mobile-nav { padding-top: 12px; }
  .mobile-nav > a:not(.mobile-email) { gap: 10px; padding-block: 19px; }
  .page-home .hero-inner { padding-top: calc(var(--header-rest-height) + 27px); }
}
@media (max-width: 370px) {
  .header-contact { padding: 6px 6px 6px 10px; gap: 7px; font-size: 10px; }
  .header-contact span { width: 25px; height: 25px; font-size: 18px; }
  .header-inner { gap: 9px; }
}
@media (max-width: 350px) {
  .header-contact { padding: 11px 12px; font-size: 11px; }
  .header-contact span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header, .site-header *, .site-header *::after { animation: none !important; transition: none !important; }
  .desktop-nav > a:is(:hover,:focus-visible) .nav-label-primary { transform: none; }
  .nav-label-echo { display: none; }
}
@media print {
  .js .page-inner main { padding-top: 0; }
  .page-home .hero-inner { padding-top: 25px; }
}
/* CMS-backed services mega menu. */
.mega-trigger{display:flex;align-items:center;gap:8px;padding:18px 0;border:0;color:inherit;background:none;font:700 20px/1.45 Manrope,Arial,sans-serif;letter-spacing:-.035em}
.mega-trigger svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .25s}.mega-trigger[aria-expanded=true] svg{transform:rotate(180deg)}
.services-mega{position:absolute;top:100%;left:var(--gutter);right:var(--gutter);display:grid;grid-template-columns: .8fr 2fr;gap:30px;padding:34px 36px 0;background:#171a18;color:#f3f4ed;border:1px solid #ffffff20;border-radius:0 0 20px 20px;box-shadow:0 32px 65px #0007;max-height:calc(100svh - var(--header-height,148px) - 20px);overflow:auto;animation:mega-arrive .25s ease-out}
.services-mega[hidden]{display:none}.site-header:has(.mega-trigger[aria-expanded=true]){background:#171a18;color:#f3f4ed}
.site-header:has(.mega-trigger[aria-expanded=true]) .header-logo-dark{opacity:0}
.site-header:has(.mega-trigger[aria-expanded=true]) .header-logo-light{opacity:1}
.mega-intro{padding:12px 26px 12px 0;border-right:1px solid #ffffff18}.mega-intro>span{font:600 9px Manrope,Arial,sans-serif;letter-spacing:.2em;color:#a3ac9e}.mega-intro h2{font:500 32px/1.13 Manrope,Arial,sans-serif;letter-spacing:-.06em;margin:19px 0 15px}.mega-intro p{font-size:12px;line-height:1.8;color:#a8afa5;margin-bottom:20px}
.desktop-nav .services-mega a{margin:0;padding:0;font-family:Manrope,Arial,sans-serif;letter-spacing:normal}.desktop-nav .services-mega a:after{display:none}.desktop-nav .mega-intro>a{display:inline-flex;align-items:center;gap:25px;font-size:12px;padding-bottom:8px;border-bottom:1px solid #64705f}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.desktop-nav a.mega-card{display:flex;align-items:flex-start;gap:14px;border:1px solid #ffffff0d;border-radius:12px;padding:20px 17px;background:#ffffff03;transition:background .2s,border-color .2s,transform .2s}.desktop-nav a.mega-card:hover{background:#ffffff09;border-color:#ffffff30;transform:translateY(-2px)}
.mega-icon{display:grid;place-items:center;flex:0 0 36px;height:36px;border:1px solid #ffffff25;border-radius:9px;font-size:22px;color:#d6dfcd}.mega-card-copy strong{display:block;font-size:15px;line-height:1.4;letter-spacing:-.03em}.mega-card-copy small{display:block;font-size:11px;font-weight:400;line-height:1.7;color:#a4aca0;margin-top:7px}.mega-arrow{margin-left:auto;color:#a7b49e;font-size:17px}.mega-bottom{grid-column:1/-1;border-top:1px solid #ffffff15;display:flex;align-items:center;justify-content:space-between;padding:17px 0;color:#8d9787;font-size:11px}.desktop-nav .mega-bottom a{font-size:11px;color:#e5eade;display:flex;gap:20px}
.mobile-service-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}.mobile-nav .mobile-service-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid #ffffff20;border-radius:8px;font:600 13px/1.4 Manrope,Arial,sans-serif;letter-spacing:-.02em;opacity:1;transform:none}.mobile-nav .mobile-service-links a span{font-size:15px}
@keyframes mega-arrive{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:1280px){.mega-trigger{font-size:18px}.services-mega{padding:24px 26px 0;gap:24px}.mega-intro h2{font-size:28px}.desktop-nav a.mega-card{padding:16px 12px;gap:10px}}
@media(max-width:1060px){.services-mega{display:none}.mobile-nav{overflow-y:auto}}
@media(prefers-reduced-motion:reduce){.services-mega{animation:none}.mega-trigger svg,.desktop-nav a.mega-card{transition:none}}
.desktop-nav a.mega-card{align-items:center;min-height:76px}.mega-card-copy small:empty{display:none}.mega-grid{gap:9px}.desktop-nav .mega-card-copy strong{font-size:16px}
@media(min-width:1061px) and (max-width:1400px){.header-inner{grid-template-columns:minmax(110px,1fr) auto minmax(180px,1fr);gap:20px}.desktop-nav{gap:22px}.desktop-nav>a,.mega-trigger{font-size:17px}.header-contact{font-size:12px;gap:10px}}
@media(min-width:1061px) and (max-width:1180px){.desktop-nav{gap:15px}.desktop-nav>a,.mega-trigger{font-size:15px}.header-inner{gap:14px}}
@media(min-width:1061px){.header-inner{grid-template-columns:130px minmax(0,1fr) auto;gap:24px}.desktop-nav{justify-content:center;gap:clamp(13px,1.4vw,26px)}.desktop-nav>a,.mega-trigger{font-size:clamp(14px,1.12vw,19px);white-space:nowrap}.mega-trigger{gap:5px}.mega-trigger svg{width:11px}.header-contact{font-size:11px;gap:10px}}
@media(min-width:1061px) and (max-width:1200px){.header-inner{grid-template-columns:110px minmax(0,1fr) auto;gap:14px}.desktop-nav{gap:12px}.desktop-nav>a,.mega-trigger{font-size:13px}.header-contact{font-size:10px;padding-inline:10px}.header-contact>span{width:28px;height:28px}}
.services-mega.web-mega{left:0;right:0;padding:0;gap:0;grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);border-radius:0;background:#fafaf7;color:#191d19;border-color:#ddd;}
.web-mega-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:34px var(--gutter) 38px}
.web-mega-column h2,.web-mega-proof h2{font:500 17px/1.4 Manrope,Arial,sans-serif;letter-spacing:-.025em;margin:0 0 26px;padding-bottom:16px;border-bottom:1px solid #d8dbd3;display:flex;align-items:center;gap:10px}
.web-mega-column h2 svg{width:27px;height:27px;flex-shrink:0}
.desktop-nav .web-mega-column a{display:block;padding:8px 0;margin-bottom:15px;white-space:normal;transition:color .2s,transform .2s}
.web-mega-column strong{display:block;font-size:13px;line-height:1.5;font-weight:650}.web-mega-column small{display:block;margin-top:4px;font-size:11px;line-height:1.65;color:#686d64;font-weight:400}
.desktop-nav .web-mega-column a:hover{color:#54624a;transform:translateX(3px)}
.web-mega-proof{background:#eceee8;padding:34px 36px}.web-mega-proof h2{min-height:44px}.web-proof-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:22px;align-items:center;margin:26px 0}.web-proof-row>b{font:650 56px/.95 Manrope,Arial,sans-serif;letter-spacing:-.08em;color:#303a2c}.web-proof-row>b span{display:block;font-size:12px;letter-spacing:.25em;margin-top:10px}.web-proof-row strong{display:inline-block;background:#283125;color:#fff;padding:5px 9px;border-radius:4px;font-size:11px;letter-spacing:.015em}.web-proof-row p{font:400 12px/1.8 Manrope,Arial,sans-serif;color:#535a4f;margin:11px 0 0;white-space:normal}
@media(min-width:1061px) and (max-width:1280px){.web-mega-columns{gap:20px;padding-inline:30px}.web-mega-proof{padding-inline:25px}.web-proof-row{grid-template-columns:75px 1fr;gap:15px}.web-proof-row>b{font-size:45px}.web-mega-column h2{font-size:15px}.web-mega-column strong{font-size:12px}}
/* Editorial achievement cards and staggered menu entrance. */
.web-mega-proof{background:linear-gradient(140deg,#e9ece3,#f2f3ed);padding:30px 30px 26px}
.web-mega-proof h2{font-size:13px;letter-spacing:.06em;border-bottom:0;margin-bottom:18px;padding-bottom:0;min-height:0;text-transform:uppercase;color:#626b5a}
.web-proof-row{position:relative;grid-template-columns:110px minmax(0,1fr);gap:20px;margin:12px 0 0;padding:23px 19px;background:#fafbf5;border:1px solid #d6ddce;border-radius:14px;box-shadow:0 8px 24px #26302005;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.web-proof-row:after{content:'';position:absolute;width:90px;height:90px;right:-44px;top:-44px;border:1px solid #afbaa540;border-radius:50%;box-shadow:0 0 0 16px #afbaa508,0 0 0 32px #afbaa508;pointer-events:none}
.web-proof-row:hover{transform:translateY(-3px);border-color:#aebba3;box-shadow:0 12px 24px #2630200d}
.web-proof-row>b{font-size:65px;font-weight:550;letter-spacing:-.08em;line-height:1;color:#263021;position:relative}
.web-proof-row>b span{font-size:10px;letter-spacing:.25em;margin-top:9px;color:#77816c}
.web-proof-row:last-child>b{font-size:54px}
.web-proof-row:last-child>b span{display:inline;position:absolute;font-size:23px;letter-spacing:0;top:-9px;margin:0 0 0 3px;color:#82906f}
.web-proof-row strong{padding:0;background:none;color:#263021;font-size:13px;letter-spacing:-.025em;font-weight:750}
.web-proof-row p{font-size:11px;line-height:1.75;margin-top:8px;color:#777e70}
.services-mega:not([hidden]) .web-mega-column{animation:mega-content-in .55s var(--ease) both}
.services-mega:not([hidden]) .web-mega-column:nth-child(2){animation-delay:.07s}
.services-mega:not([hidden]) .web-mega-column:nth-child(3){animation-delay:.14s}
.services-mega:not([hidden]) .web-mega-column a{animation:mega-content-in .5s var(--ease) both;animation-delay:.12s}
.services-mega:not([hidden]) .web-mega-column a:nth-of-type(2){animation-delay:.2s}
.services-mega:not([hidden]) .web-mega-column a:nth-of-type(3){animation-delay:.28s}
.services-mega:not([hidden]) .web-mega-proof h2{animation:mega-content-in .5s var(--ease) .15s both}
.services-mega:not([hidden]) .web-proof-row{animation:mega-content-in .6s var(--ease) .22s both}
.services-mega:not([hidden]) .web-proof-row:last-child{animation-delay:.32s}
.services-mega:not([hidden]) .mega-intro,.services-mega:not([hidden]) .mega-card{animation:mega-content-in .5s var(--ease) both}
.services-mega:not([hidden]) .mega-card:nth-child(2){animation-delay:.06s}.services-mega:not([hidden]) .mega-card:nth-child(3){animation-delay:.12s}.services-mega:not([hidden]) .mega-card:nth-child(4){animation-delay:.18s}
@keyframes mega-content-in{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@media(min-width:1061px) and (max-width:1280px){.web-mega-proof{padding:28px 22px}.web-proof-row{grid-template-columns:90px 1fr;gap:15px;padding:20px 15px}.web-proof-row>b{font-size:55px}.web-proof-row:last-child>b{font-size:44px}.web-proof-row strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.services-mega:not([hidden]) .web-mega-column,.services-mega:not([hidden]) .web-mega-column a,.services-mega:not([hidden]) .web-mega-proof h2,.services-mega:not([hidden]) .web-proof-row,.services-mega:not([hidden]) .mega-intro,.services-mega:not([hidden]) .mega-card{animation:none}.web-proof-row{transition:none}.web-proof-row:hover{transform:none}}
/* Quiet, typographic treatment for the Web menu. */
.services-mega.web-mega{background:#fcfcf9;border-top:1px solid #dedfd8;box-shadow:0 22px 40px #0002}
.web-mega-columns{padding-top:38px;padding-bottom:36px}
.web-mega-column h2{font-weight:600;padding-bottom:19px;margin-bottom:20px;border-color:#e0e2da}
.desktop-nav .web-mega-column a{padding:10px 0;margin-bottom:13px}
.web-mega-column strong{font-weight:600}.web-mega-column small{color:#83877e;line-height:1.7}
.web-mega-proof{background:#f1f2ec;padding:38px 32px 28px;border-left:1px solid #e4e6de}
.web-mega-proof h2{font-size:10px;font-weight:600;letter-spacing:.18em;color:#7c8373;margin:0 0 5px;padding:0;min-height:0}
.web-proof-row{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:22px;background:none;border:0;border-radius:0;box-shadow:none;margin:0;padding:29px 0;overflow:visible;transition:none}
.web-proof-row+.web-proof-row{border-top:1px solid #d7dbcf}
.web-proof-row:after{display:none}.web-proof-row:hover{transform:none;box-shadow:none;border-color:#d7dbcf}
.web-proof-row>b{font-size:76px;font-weight:400;letter-spacing:-.085em;line-height:.9;color:#30372b}
.web-proof-row>b span{font-size:9px;font-weight:500;letter-spacing:.3em;margin:12px 0 0 5px;color:#939b87}
.web-proof-row:last-child>b{font-size:59px;font-weight:400}
.web-proof-row:last-child>b span{position:static;display:inline-block;vertical-align:top;font-size:19px;font-weight:400;letter-spacing:0;margin:-3px 0 0 4px;color:#7a896a}
.web-proof-row strong{font-size:13px;font-weight:600;letter-spacing:-.02em;color:#353d2e}
.web-proof-row p{font-size:11px;font-weight:400;line-height:1.85;color:#858b7d;margin-top:9px;max-width:240px}
@keyframes mega-content-in{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
@media(min-width:1061px) and (max-width:1280px){.web-mega-proof{padding:38px 28px 25px}.web-proof-row{grid-template-columns:100px minmax(0,1fr);gap:21px;padding:27px 0}.web-proof-row>b{font-size:68px}.web-proof-row:last-child>b{font-size:51px}.web-proof-row strong{font-size:12px}}
.web-mega-proof{position:relative;overflow:hidden;isolation:isolate}
.mega-proof-cats{position:absolute;z-index:-1;width:135%;height:100%;right:-40%;bottom:-22%;opacity:.085;pointer-events:none;mask-image:linear-gradient(90deg,transparent,black 30%),linear-gradient(180deg,black 35%,transparent 88%);mask-composite:intersect}
.mega-proof-cats img{width:100%;max-width:none;height:auto}
.web-proof-row:not(:last-child)>b{font-size:82px;font-weight:850;letter-spacing:-.095em;line-height:.95;background-image:url('../img/experience-pattern.svg');background-size:115px 112px;background-position:center top;background-clip:text;-webkit-background-clip:text;color:transparent;transform:skewY(-5deg);padding:4px 5px 5px 0}
.web-proof-row:not(:last-child)>b span{color:#858d7a;letter-spacing:.3em;font-weight:500;transform:skewY(5deg);font-size:9px;margin-top:11px}
@media(min-width:1061px) and (max-width:1280px){.web-proof-row:not(:last-child)>b{font-size:75px;background-size:102px 103px}}
/* Readable typography in the experience panel. */
.web-mega-proof h2{font:650 12px/1.5 Manrope,Arial,sans-serif;letter-spacing:.13em;color:#535d4a;margin-bottom:7px}
.web-proof-row strong{display:block;font:700 17px/1.4 Manrope,Arial,sans-serif;letter-spacing:-.035em;color:#222b1d}
.web-proof-row p{font:450 14px/1.75 Manrope,Arial,sans-serif;letter-spacing:-.012em;color:#50594a;max-width:300px;margin-top:10px}
.web-proof-row{gap:25px;padding-block:27px}
.mega-proof-cats{opacity:.055}
@media(min-width:1061px) and (max-width:1280px){.web-mega-proof{padding-inline:25px}.web-proof-row{grid-template-columns:90px minmax(0,1fr);gap:20px}.web-proof-row strong{font-size:15px}.web-proof-row p{font-size:13px;line-height:1.75}.web-mega-proof h2{font-size:11px}}
.web-proof-row:last-child>b{white-space:nowrap}
/* Matching patterned milestone numbers. */
.web-proof-row:last-child>b{font-weight:850;letter-spacing:-.085em;background-image:url('../img/experience-pattern.svg');background-size:145px 115px;background-position:center top;background-clip:text;-webkit-background-clip:text;color:transparent;transform:skewY(-5deg);padding:4px 4px 5px 0;white-space:nowrap;font-size:54px}
.web-proof-row:last-child>b span{color:#667657;transform:skewY(5deg);font-size:17px;margin:0 0 0 3px;vertical-align:top}
@media(min-width:1061px) and (max-width:1280px){.web-proof-row:last-child>b{font-size:44px;background-size:112px 100px}.web-proof-row:last-child>b span{font-size:14px;margin-left:2px}}
.production-feature{background:#eeefe9;padding:38px 30px;border-left:1px solid #e0e3d8}.production-feature h2{font:600 15px/1.5 Manrope,Arial,sans-serif;letter-spacing:-.025em;border-bottom:1px solid #d4d9cc;padding-bottom:20px;margin:0 0 27px}
.desktop-nav .tour-preview{position:relative;display:block;aspect-ratio:1.45;overflow:hidden;border-radius:9px;background:#16221e;color:#fff;padding:22px;isolation:isolate;white-space:normal}
.tour-brand{position:relative;z-index:2;display:block;font:500 8px Manrope,Arial,sans-serif;letter-spacing:.17em;color:#d1dccc}
.tour-room{position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,#738574 0%,#3e5248 50%,#162b23 100%);perspective:400px}
.tour-room i{position:absolute;left:10%;top:19%;width:50%;height:80%;border-radius:48% 48% 0 0;border:22px solid #c6c8ab;background:linear-gradient(130deg,#122f29,#7f9480);box-shadow:20px 20px 35px #0d221c80;transform:rotateY(25deg)}
.tour-room b{position:absolute;width:110%;height:30%;bottom:-10%;left:-5%;background:#9ca889;transform:rotate(-8deg);box-shadow:0 -1px 25px #16291b30}.tour-room em{position:absolute;right:-4%;top:0;height:100%;width:23%;background:repeating-linear-gradient(90deg,#263c2f 0 6px,#52674e 6px 12px);transform:skewY(-10deg)}
.tour-degree{position:absolute;right:23px;top:34%;font:500 58px/1 Manrope,Arial,sans-serif;letter-spacing:-.07em;color:#f4f5e8;text-shadow:0 3px 20px #0004}
.tour-caption{position:absolute;bottom:0;left:0;right:0;padding:45px 22px 20px;background:linear-gradient(transparent,#091a15d9);font:500 19px Manrope,Arial,sans-serif;letter-spacing:-.04em}.tour-caption small{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:11px;letter-spacing:0;color:#d2ddcd}.tour-caption small span{font-size:20px;transition:transform .3s}.tour-preview:hover .tour-caption small span{transform:translate(3px,-3px)}
.services-mega:not([hidden]) .production-feature{animation:mega-content-in .6s var(--ease) .15s both}.services-mega:not([hidden]) .web-mega-column a:nth-of-type(4){animation-delay:.34s}
@media(min-width:1061px) and (max-width:1280px){.production-feature{padding:38px 24px}.production-feature h2{font-size:14px}.tour-degree{font-size:48px}.tour-caption{font-size:17px}.production-columns{gap:22px}}
@media(prefers-reduced-motion:reduce){.services-mega:not([hidden]) .production-feature{animation:none}.tour-caption small span{transition:none}}
.production-feature.production-cinema{background:#171c19;color:#f4f5ef;border-left:0;padding:29px 30px;position:relative;overflow:hidden}
.cinema-eyebrow{display:block;font:600 9px Manrope,Arial,sans-serif;letter-spacing:.2em;color:#abb5a6}
.desktop-nav a.cinema-link{display:block;position:relative;white-space:normal;padding:0;margin-top:15px}
.cinema-art{height:135px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 65% 60%,#8d9b7145,transparent 65%)}
.cinema-film{display:flex;gap:9px;width:115%;position:absolute;left:-8%;top:24px;padding:12px 0;border-block:5px dotted #89937b55;transform:rotate(-12deg);opacity:.48}.cinema-film i{display:block;width:30%;height:69px;flex-shrink:0;border:1px solid #c7d0ba38;background:linear-gradient(145deg,#46513b,#171f19)}.cinema-film i:nth-child(2){background:linear-gradient(135deg,#afb39665,#303f33)}
.cinema-lens{position:absolute;left:50%;top:7px;width:118px;height:118px;transform:translateX(-50%);border:1px solid #b5c2a75c;border-radius:50%;box-shadow:0 0 0 7px #151a1780,0 0 0 8px #a0ad9126,0 15px 25px #0005;background:conic-gradient(from 25deg,#222b25,#6d7b60,#28372e,#101d18,#72816a,#222b25)}
.cinema-lens:before{content:'';position:absolute;inset:15px;border:1px solid #c5d3b359;border-radius:50%;background:radial-gradient(circle at 35% 30%,#b5c9a233,#0a1610 70%)}.cinema-lens span{position:absolute;inset:34px;border:1px solid #b3cfa24d;border-radius:50%;background:radial-gradient(circle at 30% 30%,#b8d29e66,#172b21 45%,#060e09)}
.cinema-rec{position:absolute;right:0;top:6px;display:flex;gap:6px;align-items:center;font:500 8px Manrope,Arial,sans-serif;letter-spacing:.13em;color:#b4bcae}.cinema-rec i{width:5px;height:5px;border-radius:50%;background:#c87b68}.cinema-corner{position:absolute;left:0;bottom:8px;width:17px;height:17px;border-left:1px solid #b1bca066;border-bottom:1px solid #b1bca066}
.cinema-copy{padding-top:15px}.cinema-copy>span:first-child{font:500 8px Manrope,Arial,sans-serif;letter-spacing:.14em;color:#97a38b}.cinema-copy h3{font:500 31px/1.12 Manrope,Arial,sans-serif;letter-spacing:-.055em;margin:13px 0}.cinema-copy p{font:400 12px/1.75 Manrope,Arial,sans-serif;color:#abb5a5;margin:0 0 19px}.cinema-cta{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #b1bf9b30;padding-top:13px;font:600 11px Manrope,Arial,sans-serif;color:#eef2e7}.cinema-cta b{font-size:22px;font-weight:400;transition:transform .3s}.cinema-link:hover .cinema-cta b{transform:translate(3px,-3px)}
@media(min-width:1061px) and (max-width:1280px){.production-feature.production-cinema{padding:28px}.cinema-copy h3{font-size:29px}.cinema-art{height:125px}}
@media(prefers-reduced-motion:reduce){.cinema-cta b{transition:none}}
/* Larger headings in the Web and Production panels. */
.web-mega-column h2{font-size:20px;line-height:1.4;font-weight:650;gap:11px;letter-spacing:-.035em}
.web-mega-column h2 svg{width:29px;height:29px}
.web-mega-column strong{font-size:15px;line-height:1.5;font-weight:650;letter-spacing:-.025em}
.web-mega-column small{font-size:12px;line-height:1.7;margin-top:5px}
.desktop-nav .web-mega-column a{padding-block:9px;margin-bottom:15px}
@media(min-width:1061px) and (max-width:1280px){.web-mega-columns{gap:20px;padding-inline:26px}.web-mega-column h2{font-size:18px;gap:8px}.web-mega-column h2 svg{width:25px;height:25px}.web-mega-column strong{font-size:14px}.web-mega-column small{font-size:11px}}
.design-feature{background:#eeefe9;padding:38px 30px;border-left:1px solid #e0e3d8}.design-feature h2{font:600 16px/1.5 Manrope,Arial,sans-serif;letter-spacing:-.03em;border-bottom:1px solid #d4d9cc;padding-bottom:19px;margin:0 0 24px}.desktop-nav a.design-promo{display:block;position:relative;aspect-ratio:1.4;background:#1d241f;color:#fff;overflow:hidden;border-radius:8px;white-space:normal;padding:20px;isolation:isolate}.design-promo-label{position:relative;z-index:2;font:500 8px Manrope,Arial,sans-serif;letter-spacing:.18em;color:#d7decd}.design-poster{position:absolute;left:9%;top:21%;width:52%;height:68%;background:#d9dfbe;color:#202a20;padding:7%;transform:rotate(-8deg);box-shadow:10px 14px 30px #0005}.design-poster>span{position:relative;display:block;font:800 clamp(25px,3vw,52px)/.96 Manrope,Arial,sans-serif;letter-spacing:-.075em}.poster-star{position:absolute;right:-18px;top:0;color:#af4a68;font-size:50px}.design-poster small{display:block;margin-top:20px;font:600 6px Manrope,Arial,sans-serif;letter-spacing:.08em}.design-color-card{position:absolute;right:9%;top:29%;width:30%;height:49%;background:#edece1;color:#333b30;padding:12px;transform:rotate(9deg);box-shadow:0 10px 22px #0005}.design-color-card i{display:block;height:16%;background:#b95775}.design-color-card i:nth-child(2){background:#dcac55}.design-color-card i:nth-child(3){background:#879f87}.design-color-card>span{display:block;margin-top:13px;font:650 10px/1.2 Manrope,Arial,sans-serif;letter-spacing:-.04em}.design-promo-bottom{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(transparent,#162018);padding:35px 22px 17px;font:600 14px Manrope,Arial,sans-serif;letter-spacing:-.025em}.design-promo-bottom b{font-size:24px;font-weight:400;transition:transform .25s}.design-promo:hover .design-promo-bottom b{transform:translate(3px,-3px)}.design-feature>p{font:400 12px/1.8 Manrope,Arial,sans-serif;color:#727b69;margin:17px 0 0}.services-mega:not([hidden]) .design-feature{animation:mega-content-in .6s var(--ease) .15s both}
@media(min-width:1061px) and (max-width:1280px){.design-feature{padding:38px 24px}.design-feature h2{font-size:14px}.design-columns{gap:20px}.design-poster>span{font-size:38px}.poster-star{font-size:42px}}
@media(prefers-reduced-motion:reduce){.services-mega:not([hidden]) .design-feature{animation:none}.design-promo-bottom b{transition:none}}
.services-mega.web-mega.marketing-mega{display:block;padding:32px var(--gutter) 28px}.services-mega.marketing-mega[hidden]{display:none}
.marketing-mega .marketing-columns{grid-template-columns:repeat(4,minmax(0,1fr));padding:0;gap:32px}
.marketing-columns h2{min-height:67px;align-items:flex-start;line-height:1.35;font-size:18px;margin-bottom:16px}
.marketing-columns h2 svg{margin-top:1px;flex-shrink:0}.marketing-columns strong{font-size:14px}.marketing-columns small{font-size:11px}.desktop-nav .marketing-columns a{margin-bottom:12px;padding-block:7px}
.marketing-banners{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:20px}.desktop-nav .marketing-banners>a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 25px;border-radius:9px;color:#fff;background:linear-gradient(110deg,#192b36,#374946 60%,#7c8470);white-space:normal;transition:filter .3s}.desktop-nav .marketing-banners>a:nth-child(2){background:linear-gradient(110deg,#342a3d,#694654 65%,#9e7766)}.marketing-banners h3{font:550 23px/1.2 Manrope,Arial,sans-serif;letter-spacing:-.04em;margin:0 0 9px}.marketing-banners p{font:400 12px/1.65 Manrope,Arial,sans-serif;margin:0;color:#f3f3edda}.marketing-banners>a>span{font-size:27px;transition:transform .25s}.marketing-banners>a:hover>span{transform:translate(3px,-3px)}.desktop-nav .marketing-banners>a:hover{filter:brightness(1.1)}.services-mega:not([hidden]) .marketing-banners>a{animation:mega-content-in .55s var(--ease) .24s both}.services-mega:not([hidden]) .marketing-banners>a:nth-child(2){animation-delay:.31s}
@media(min-width:1061px) and (max-width:1280px){.services-mega.web-mega.marketing-mega{padding:28px 26px 24px}.marketing-mega .marketing-columns{gap:24px}.marketing-columns h2{font-size:17px;min-height:65px}.marketing-columns strong{font-size:13px}.marketing-banners h3{font-size:20px}.desktop-nav .marketing-banners>a{padding:20px}.marketing-banners p{font-size:11px}}
@media(max-width:1060px){.services-mega.web-mega.marketing-mega{display:none}}
@media(prefers-reduced-motion:reduce){.services-mega:not([hidden]) .marketing-banners>a{animation:none}.marketing-banners>a>span,.desktop-nav .marketing-banners>a{transition:none}}
.about-mega .about-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:50px}.about-columns h2{margin-bottom:23px}.desktop-nav .about-columns a{margin-bottom:22px}
.about-feature{background:#eeefe9;border-left:1px solid #e0e3d8;padding:38px 30px}.about-feature h2{font:600 17px/1.5 Manrope,Arial,sans-serif;letter-spacing:-.025em;margin:0 0 25px;padding-bottom:19px;border-bottom:1px solid #d4d9cc}
.desktop-nav a.about-project-promo{display:block;position:relative;aspect-ratio:1.55;overflow:hidden;border-radius:8px;background:#292d24;color:#f7f5e9;padding:20px;white-space:normal;isolation:isolate}.about-promo-tag{position:relative;z-index:2;font:500 8px Manrope,Arial,sans-serif;letter-spacing:.17em;color:#e1dcc0}.about-promo-art{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 35%,#c8af6766,transparent 67%)}.about-promo-art>span{position:absolute;right:7%;top:4%;font-size:170px;line-height:1;color:#bdae79;transform:rotate(12deg)}.about-promo-art>i{position:absolute;width:180px;height:180px;right:-40px;top:-48px;border:1px solid #e1d49a33;border-radius:50%;box-shadow:0 0 0 25px #e1d49a08,0 0 0 50px #e1d49a05}.about-promo-art>b{position:absolute;right:19%;top:24%;font:700 42px/.9 Manrope,Arial,sans-serif;letter-spacing:-.08em;color:#23291e}.about-promo-art small{display:block;font-size:5px;letter-spacing:.09em;margin-top:7px}.about-promo-caption{position:absolute;inset:auto 0 0;padding:35px 22px 20px;background:linear-gradient(transparent,#1e241bed)}.about-promo-caption>strong{font:500 27px/1.08 Manrope,Arial,sans-serif;letter-spacing:-.055em}.about-promo-caption>span{display:flex;align-items:center;justify-content:space-between;margin-top:15px;font:500 11px Manrope,Arial,sans-serif;color:#d9ddcd}.about-promo-caption b{font-size:22px;transition:transform .25s}.about-project-promo:hover .about-promo-caption b{transform:translate(3px,-3px)}.services-mega:not([hidden]) .about-feature{animation:mega-content-in .6s var(--ease) .15s both}
@media(min-width:1061px) and (max-width:1280px){.about-feature{padding:38px 24px}.about-mega .about-columns{gap:34px}.about-promo-art>span{font-size:150px}.about-promo-caption>strong{font-size:24px}}
@media(prefers-reduced-motion:reduce){.services-mega:not([hidden]) .about-feature{animation:none}.about-promo-caption b{transition:none}}
/* Header contact action: clean ivory surface and inset icon. */
.site-header .header-contact{display:inline-flex;align-items:center;justify-content:center;gap:17px;padding:7px 8px 7px 20px;min-height:49px;border:1px solid #e6e9dd;border-radius:999px;background:#f3f4ec;color:#242c20;font:700 12px/1.2 Manrope,Arial,sans-serif;letter-spacing:-.025em;box-shadow:0 4px 15px #0000000d;transition:background .3s,box-shadow .3s,translate .3s}
.site-header .header-contact>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;margin:0;border:0;border-radius:50%;background:#273020;color:#f3f4ec;transition:background .3s,transform .3s}
.site-header .header-contact .contact-chat-icon{width:17px;height:17px}
.site-header .header-contact:hover{background:#fff;box-shadow:0 7px 22px #0000001a;translate:0 -2px}
.site-header .header-contact:hover>span{background:#46543c;transform:rotate(-8deg)}
.site-header .header-contact:active{translate:0 0}
.site-header .header-contact:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(min-width:1061px) and (max-width:1200px){.site-header .header-contact{font-size:10px;gap:10px;padding-left:14px;min-height:44px}.site-header .header-contact>span{width:28px;height:28px;flex-basis:28px}}
@media(max-width:560px){.site-header .header-contact{font-size:11px;gap:10px;padding:6px 7px 6px 14px;min-height:43px}.site-header .header-contact>span{width:29px;height:29px;flex-basis:29px}}
@media(max-width:370px){.site-header .header-contact{font-size:10px;gap:7px;padding-left:10px}.site-header .header-contact>span{width:25px;height:25px;flex-basis:25px}}
@media(max-width:350px){.site-header .header-contact>span{display:none}.site-header .header-contact{padding:12px}}
@media(prefers-reduced-motion:reduce){.site-header .header-contact,.site-header .header-contact>span{transition:none}.site-header .header-contact:hover{translate:none}.site-header .header-contact:hover>span{transform:none}}
/* Understated architectural contact button. */
.site-header .header-contact{position:relative;isolation:isolate;overflow:hidden;gap:18px;padding:0 0 0 18px;min-height:46px;border:1px solid currentColor;border-radius:5px;background:transparent;color:inherit;box-shadow:none;font-weight:600;font-size:12px;letter-spacing:-.015em;transition:color .3s,border-color .3s}
.site-header .header-contact::before{content:'';position:absolute;inset:0;background:#f1f2e9;z-index:-1;transform:translateY(101%);transition:transform .4s cubic-bezier(.22,1,.36,1)}
.site-header .header-contact>span{align-self:stretch;flex:0 0 43px;width:43px;height:auto;min-height:44px;border:0;border-left:1px solid #88888850;border-radius:0;background:none;color:inherit;transition:transform .3s}
.site-header .header-contact .contact-chat-icon{width:19px;height:19px;transition:transform .3s}
.site-header .header-contact:hover{background:transparent;color:#20261d;border-color:#f1f2e9;box-shadow:none;translate:none}
.site-header .header-contact:hover::before{transform:translateY(0)}
.site-header .header-contact:hover>span{background:none;transform:none}
.site-header .header-contact:hover .contact-chat-icon{transform:translate(2px,-2px)}
@media(min-width:1061px) and (max-width:1200px){.site-header .header-contact{font-size:10px;padding-left:12px;gap:12px;min-height:43px}.site-header .header-contact>span{flex-basis:32px;width:32px;min-height:41px}}
@media(max-width:560px){.site-header .header-contact{font-size:11px;padding-left:12px;gap:12px;min-height:41px}.site-header .header-contact>span{flex-basis:30px;width:30px;min-height:39px}.site-header .header-contact .contact-chat-icon{width:17px;height:17px}}
@media(max-width:370px){.site-header .header-contact{font-size:10px;gap:8px;padding-left:10px}.site-header .header-contact>span{flex-basis:26px;width:26px}}
@media(max-width:350px){.site-header .header-contact{padding:12px}.site-header .header-contact>span{display:none}}
@media(prefers-reduced-motion:reduce){.site-header .header-contact::before,.site-header .header-contact,.site-header .header-contact .contact-chat-icon{transition:none}}
/* Editorial contact link with a standalone directional mark. */
.site-header .header-contact{overflow:visible;isolation:auto;gap:18px;padding:10px 0;min-height:48px;border:0;border-radius:0;background:none;color:inherit;box-shadow:none;font:650 13px/1.2 Manrope,Arial,sans-serif;letter-spacing:-.03em;transition:opacity .25s}
.site-header .header-contact::before{display:none}
.site-header .header-contact::after{content:'';position:absolute;left:0;right:48px;bottom:7px;height:1px;background:currentColor;transform:scaleX(.22);transform-origin:left;opacity:.55;transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s}
.site-header .header-contact>span{display:grid;place-items:center;align-self:center;flex:0 0 34px;width:34px;height:34px;min-height:0;border:0;border-radius:0;background:none;color:inherit;transform:none}
.site-header .header-contact .contact-chat-icon{width:29px;height:29px;stroke-width:1.2;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.site-header .header-contact:hover{color:inherit;background:none;border:0;box-shadow:none;translate:none}
.site-header .header-contact:hover::after{transform:scaleX(1);opacity:1}
.site-header .header-contact:hover .contact-chat-icon{transform:translate(4px,-4px)}
@media(min-width:1061px) and (max-width:1200px){.site-header .header-contact{font-size:11px;gap:12px;padding:10px 0}.site-header .header-contact>span{flex-basis:28px;width:28px;height:28px}.site-header .header-contact::after{right:40px}}
@media(max-width:560px){.site-header .header-contact{font-size:11px;gap:10px;padding:9px 0;min-height:40px}.site-header .header-contact>span{flex-basis:25px;width:25px;height:25px;min-height:0}.site-header .header-contact .contact-chat-icon{width:24px;height:24px}.site-header .header-contact::after{right:35px;bottom:5px}}
@media(max-width:370px){.site-header .header-contact{font-size:10px;gap:7px}.site-header .header-contact>span{flex-basis:21px;width:21px;height:21px}.site-header .header-contact::after{right:28px}}
@media(max-width:350px){.site-header .header-contact>span{display:none}.site-header .header-contact::after{right:0}}
@media(prefers-reduced-motion:reduce){.site-header .header-contact::after,.site-header .header-contact .contact-chat-icon{transition:none}.site-header .header-contact:hover .contact-chat-icon{transform:none}}
/* Framed header invitation with stronger typography. */
.site-header .header-contact{gap:19px;min-height:54px;padding:12px 17px 12px 21px;border:1px solid #929b8b;border-radius:11px;background:linear-gradient(120deg,#ffffff08,#ffffff02);font:650 15px/1.2 Manrope,Arial,sans-serif;letter-spacing:-.035em;transition:border-color .3s,background .3s,box-shadow .3s}
.site-header .header-contact::after{display:none}
.site-header .header-contact>span{flex-basis:25px;width:25px;height:25px}
.site-header .header-contact .contact-chat-icon{width:25px;height:25px;stroke-width:1.4}
.site-header .header-contact:hover{border:1px solid #c1cab7;background:#ffffff0d;box-shadow:0 4px 18px #00000012}
.site-header .header-contact:hover .contact-chat-icon{transform:translate(2px,-2px)}
@media(min-width:1061px) and (max-width:1200px){.site-header .header-contact{font-size:13px;gap:12px;min-height:48px;padding:11px 13px 11px 16px}.site-header .header-contact>span{flex-basis:22px;width:22px;height:22px}.site-header .header-contact .contact-chat-icon{width:22px;height:22px}}
@media(max-width:560px){.site-header .header-contact{font-size:12px;gap:10px;min-height:44px;padding:10px 11px 10px 14px;border-radius:9px}.site-header .header-contact>span{flex-basis:21px;width:21px;height:21px}.site-header .header-contact .contact-chat-icon{width:21px;height:21px}}
@media(max-width:370px){.site-header .header-contact{font-size:11px;gap:7px;padding-inline:10px}.site-header .header-contact>span{flex-basis:18px;width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.site-header .header-contact{transition:none}.site-header .header-contact:hover .contact-chat-icon{transform:none}}
/* Header navigation aligned to the right without a separate contact CTA. */
@media(min-width:1061px){.header-inner{grid-template-columns:150px minmax(0,1fr);gap:32px}.desktop-nav{justify-self:end;justify-content:flex-end;margin:0;gap:clamp(20px,2vw,36px)}.desktop-nav>a,.mega-trigger{font-size:clamp(15px,1.25vw,20px)}}
@media(min-width:1061px) and (max-width:1200px){.header-inner{grid-template-columns:120px minmax(0,1fr);gap:22px}.desktop-nav{gap:19px}.desktop-nav>a,.mega-trigger{font-size:14px}}
@media(max-width:1060px){.header-inner{justify-content:space-between}.menu-toggle{margin-left:auto}}
/* The dropdown triggers use the same label motion as ordinary links. */
.mega-trigger .nav-label{position:relative;display:block;overflow:hidden}
.mega-trigger .nav-label-primary,.mega-trigger .nav-label-echo{display:block;transition:transform .42s var(--ease)}
.mega-trigger .nav-label-echo{position:absolute;inset:0;transform:translateY(115%)}
.mega-trigger:hover .nav-label-primary,.mega-trigger:focus-visible .nav-label-primary{transform:translateY(-115%)}
.mega-trigger:hover .nav-label-echo,.mega-trigger:focus-visible .nav-label-echo{transform:translateY(0)}
@media(prefers-reduced-motion:no-preference){
.desktop-nav .mega-trigger{animation:nav-entrance .7s var(--ease) both}
.desktop-nav .service-menu:nth-child(2) .mega-trigger{animation-delay:.055s}.desktop-nav .service-menu:nth-child(3) .mega-trigger{animation-delay:.11s}.desktop-nav .service-menu:nth-child(4) .mega-trigger{animation-delay:.165s}.desktop-nav .service-menu:nth-child(n+5) .mega-trigger{animation-delay:.22s}
.services-mega:not([hidden]){animation:mega-arrive .35s var(--ease) both}
.services-mega:not([hidden]) .web-mega-column:nth-child(4){animation-delay:.21s}
}
@media(prefers-reduced-motion:reduce){.mega-trigger:hover .nav-label-primary,.mega-trigger:focus-visible .nav-label-primary{transform:none}.mega-trigger .nav-label-echo{display:none}}
/* Keep the pointer inside the menu group all the way down to its panel. */
@media(min-width:1061px){.desktop-nav{align-self:stretch;align-items:stretch}.desktop-nav>.service-menu{display:flex;align-items:center}.desktop-nav>.service-menu>.mega-trigger{height:100%}.desktop-nav>a{justify-content:center}}
