/* CMB Contábil — sistema visual institucional */
:root {
  --navy-950: #040d1a;
  --navy-900: #071426;
  --navy-850: #091b32;
  --navy-800: #0b2341;
  --navy-700: #10345f;
  --blue-700: #1558a6;
  --blue-600: #1f6dce;
  --blue-500: #2b7ee9;
  --blue-300: #91c0ff;
  --ice: #eaf4ff;
  --paper: #f8fafc;
  --white: #ffffff;
  --ink: #0a1525;
  --muted: #56677d;
  --muted-dark: #a9b9ce;
  --line: #dce5f0;
  --line-dark: rgba(255, 255, 255, 0.14);
  --green: #168c56;
  --serif: "DM Serif Display", Georgia, "Times New Roman", serif;
  --sans: "Manrope", Arial, sans-serif;
  --container: 1240px;
  --shadow-soft: 0 28px 90px -54px rgba(2, 16, 34, 0.55);
  --shadow-deep: 0 34px 90px -42px rgba(1, 11, 24, 0.7);
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  min-width: 0;
  overflow-x: clip;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; border: 0; background: none; cursor: pointer; }
input, textarea, select { -webkit-user-select: text; user-select: text; }
ul { padding: 0; list-style: none; }
p { text-wrap: pretty; }
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 400; line-height: 0.98; letter-spacing: -0.035em; text-wrap: balance; }

.skip-link { position: fixed; top: 0.6rem; left: 0.6rem; z-index: 999; transform: translateY(-160%); padding: 0.75rem 1rem; border-radius: 999px; background: var(--white); color: var(--navy-900); font-weight: 800; }
.skip-link:focus { transform: none; }
:focus-visible { outline: 3px solid var(--blue-300); outline-offset: 4px; }
.container { width: min(calc(100% - 2.5rem), var(--container)); margin-inline: auto; }
.section { padding: clamp(5rem, 10vw, 9rem) 0; }
.section--compact { padding: clamp(3.7rem, 7vw, 6.5rem) 0; }
.surface { background: var(--white); }
.surface-soft { background: var(--ice); }
.on-dark { color: var(--white); }
.on-dark p { color: var(--muted-dark); }
.eyebrow { display: inline-flex; align-items: center; gap: 0.7rem; color: var(--blue-700); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.2em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 1.8rem; height: 1px; background: currentColor; }
.on-dark .eyebrow { color: var(--blue-300); }
.display { margin-top: 1.15rem; font-size: clamp(2.7rem, 6vw, 5.6rem); }
.display em, .title em { color: var(--blue-500); font-weight: inherit; }
.on-dark .display em, .on-dark .title em { color: var(--blue-300); }
.title { margin-top: 1rem; font-size: clamp(2.3rem, 4.8vw, 4.35rem); }
.lead { margin-top: 1.4rem; max-width: 61ch; color: var(--muted); font-size: clamp(1.02rem, 1.5vw, 1.18rem); }
.section-heading { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(260px, 0.42fr); align-items: end; gap: 3rem; }
.section-heading .lead { margin: 0 0 0.45rem; }
.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(1.35rem); transition: opacity 0.8s var(--ease), transform 0.8s var(--ease); transition-delay: var(--reveal-delay,0s); }
.js .reveal.is-visible { opacity: 1; transform: none; }
.js :is(.journey-grid,.health-cards,.services-grid,.method-grid,.detail-cards,.principles,.timeline) > .reveal:nth-child(2) { --reveal-delay: .08s; }
.js :is(.journey-grid,.health-cards,.services-grid,.method-grid,.detail-cards,.principles,.timeline) > .reveal:nth-child(3) { --reveal-delay: .16s; }
.js :is(.journey-grid,.health-cards,.services-grid,.method-grid,.detail-cards,.principles,.timeline) > .reveal:nth-child(4) { --reveal-delay: .24s; }
.js :is(.journey-grid,.health-cards,.services-grid,.method-grid,.detail-cards,.principles,.timeline) > .reveal:nth-child(5) { --reveal-delay: .32s; }
.js :is(.journey-grid,.health-cards,.services-grid,.method-grid,.detail-cards,.principles,.timeline) > .reveal:nth-child(6) { --reveal-delay: .4s; }

.btn { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 0.7rem; padding: 0.82rem 1.35rem; border-radius: 999px; font-size: 0.9rem; font-weight: 800; line-height: 1; transition: transform 0.35s var(--ease), color 0.35s var(--ease), background-color 0.35s var(--ease), border-color 0.35s var(--ease); white-space: nowrap; }
.btn:hover { transform: translateY(-2px); }
.btn--primary { background: var(--blue-700); color: var(--white); }
.btn--primary:hover { background: var(--blue-600); }
.btn--light { background: var(--white); color: var(--navy-900); }
.btn--outline { border: 1px solid var(--line-dark); color: var(--white); }
.btn--outline:hover { border-color: rgba(255,255,255,.36); background: rgba(255,255,255,.07); }
.btn--green { background: var(--green); color: var(--white); }
.btn__arrow { width: 1.5rem; height: 1.5rem; display: inline-block; flex: 0 0 auto; border-radius: 50%; overflow: hidden; background-color: currentColor; -webkit-mask: url("../img/icon-arrow-up-right.svg") center/1rem 1rem no-repeat; mask: url("../img/icon-arrow-up-right.svg") center/1rem 1rem no-repeat; font-size: 0; transition: transform 0.35s var(--ease); }
.btn:hover .btn__arrow { transform: rotate(45deg); }

.site-header { position: fixed; top: 0.75rem; left: 50%; z-index: 80; width: min(calc(100% - 1.4rem), 1260px); transform: translateX(-50%); }
.site-header__bar { min-height: 66px; display: flex; align-items: center; gap: 1rem; padding: 0.52rem 0.62rem 0.52rem 1rem; border: 1px solid rgba(7,20,38,.13); border-radius: 999px; background: rgba(255,255,255,.94); box-shadow: 0 18px 58px -32px rgba(0,18,44,.46); backdrop-filter: blur(18px) saturate(1.15); transition: background-color 0.35s var(--ease), border-color 0.35s var(--ease), box-shadow .35s var(--ease); }
.site-header.is-scrolled .site-header__bar { background: rgba(255,255,255,.985); border-color: rgba(7,20,38,.17); box-shadow: 0 18px 54px -30px rgba(0,18,44,.36); }
.brand { display: inline-flex; align-items: center; flex-shrink: 0; }
.brand img { width: 142px; height: auto; object-fit: contain; }
.brand--header { gap: .8rem; }
.brand__home-label { display: inline-flex; align-items: center; gap: .55rem; color: rgba(7,20,38,.68); font-size: .67rem; font-weight: 800; line-height: 1; letter-spacing: .16em; text-transform: uppercase; transition: color .3s var(--ease); }
.brand__home-label::before { content: ">"; color: var(--blue-600); font-size: 1rem; font-weight: 500; line-height: .7; transition: transform .3s var(--ease); }
.brand--header:hover .brand__home-label { color: var(--navy-900); }
.brand--header:hover .brand__home-label::before { transform: translateX(.18rem); }
.nav { margin-left: auto; display: flex; align-items: center; gap: clamp(0.72rem, 1.25vw, 1.2rem); }
.nav a { position: relative; color: rgba(7,20,38,.72); font-size: 0.76rem; font-weight: 700; white-space: nowrap; }
.nav a::after { content: ""; position: absolute; left: 0; bottom: -0.45rem; width: 100%; height: 1px; background: var(--blue-600); transform: scaleX(0); transform-origin: right; transition: transform 0.35s var(--ease); }
.nav a:hover, .nav a[aria-current="page"] { color: var(--navy-900); }
.nav a:hover::after, .nav a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.header-cta { margin-left: 0.4rem; }
.mobile-header-cta { display: none; width: 44px; height: 44px; margin-left: auto; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: #117d4a; color: var(--white); }
.mobile-header-cta .wa-symbol { width: 1.25rem; height: 1.25rem; }
.menu-toggle { display: none; margin-left: auto; width: 48px; height: 48px; border: 1px solid rgba(7,20,38,.18); border-radius: 50%; color: var(--navy-900); align-items: center; justify-content: center; }
.menu-toggle__lines, .menu-toggle__lines::before, .menu-toggle__lines::after { width: 20px; height: 1px; display: block; background: currentColor; transition: transform 0.35s var(--ease), opacity 0.35s var(--ease); }
.menu-toggle__lines { position: relative; }
.menu-toggle__lines::before, .menu-toggle__lines::after { content: ""; position: absolute; left: 0; }
.menu-toggle__lines::before { top: -6px; }
.menu-toggle__lines::after { top: 6px; }
.menu-toggle[aria-expanded="true"] .menu-toggle__lines { background: transparent; }
.menu-toggle[aria-expanded="true"] .menu-toggle__lines::before { top: 0; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__lines::after { top: 0; transform: rotate(-45deg); }

.mobile-menu { position: fixed; inset: 0; z-index: 70; display: grid; align-content: start; overflow-y: auto; overscroll-behavior: contain; padding: 6.4rem 1.5rem 2rem; background: var(--navy-950); visibility: hidden; opacity: 0; transform: translateY(-1rem); transition: opacity 0.35s var(--ease), transform 0.35s var(--ease), visibility 0.35s; }
.mobile-menu.is-open { visibility: visible; opacity: 1; transform: none; }
.mobile-menu nav { display: grid; gap: 0; }
.mobile-menu nav a { display: flex; align-items: center; justify-content: space-between; min-height: 67px; border-bottom: 1px solid var(--line-dark); color: var(--white); font-family: var(--serif); font-size: clamp(1.7rem, 8vw, 2.7rem); }
.mobile-menu nav a span { color: var(--blue-300); font-family: var(--sans); font-size: 0.7rem; letter-spacing: 0.15em; }
.mobile-menu .btn { margin-top: 2rem; width: 100%; }

.hero { position: relative; min-height: 100svh; display: grid; align-items: center; overflow: hidden; background: var(--navy-950); }
.hero__media { position: absolute; inset: 0; overflow: hidden; }
.hero__media::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(90deg, rgba(3,12,24,.98) 0%, rgba(3,12,24,.86) 42%, rgba(3,12,24,.16) 76%), linear-gradient(0deg, rgba(3,12,24,.7), transparent 45%); }
.hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; filter: saturate(.82) contrast(1.02); }
.hero__caption { position: absolute; right: clamp(1.5rem,4vw,4.5rem); bottom: 6.2rem; z-index: 3; padding-left: 1rem; border-left: 1px solid rgba(255,255,255,.48); color: rgba(255,255,255,.8); font-size: .66rem; font-weight: 700; line-height: 1.5; letter-spacing: .12em; text-align: right; text-transform: uppercase; }
.hero-carousel__slides, .hero-carousel__slide { position: absolute; inset: 0; }
.hero-carousel__slide { z-index: 1; margin: 0; visibility: hidden; opacity: 0; transition: opacity .85s var(--ease), visibility .85s; }
.hero-carousel__slide.is-active { visibility: visible; opacity: 1; }
.hero-carousel__controls { position: absolute; right: clamp(14rem,17vw,17rem); bottom: 2rem; z-index: 4; display: flex; align-items: center; gap: .45rem; }
.hero-carousel__arrow { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; background: rgba(4,13,26,.42); color: var(--white); backdrop-filter: blur(8px); transition: border-color .25s ease, background .25s ease, transform .25s ease; }
.hero-carousel__arrow:hover, .hero-carousel__arrow:focus-visible { border-color: rgba(255,255,255,.9); background: rgba(30,103,196,.78); transform: translateY(-2px); }
.hero-carousel__arrow svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hero-carousel__dots { display: flex; align-items: center; gap: .35rem; padding: 0 .25rem; }
.hero-carousel__dot { position: relative; width: 44px; height: 44px; border: 0; background: transparent; }
.hero-carousel__dot::before { content: ""; position: absolute; left: 50%; top: 50%; width: 20px; height: 2px; background: rgba(255,255,255,.5); transform: translate(-50%,-50%); transition: width .25s ease, background .25s ease; }
.hero-carousel__dot.is-active::before { width: 31px; background: var(--blue-300); }
.hero-carousel__dot:focus-visible { outline: 2px solid var(--white); outline-offset: -5px; border-radius: 999px; }
.hero__mesh { position: absolute; inset: -4%; z-index: 1; opacity: .17; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 70px 70px; mask-image: linear-gradient(90deg,#000,transparent 70%); animation: mesh-drift 16s ease-in-out infinite alternate; }
.hero__content { position: relative; z-index: 2; width: min(calc(100% - 2.5rem), var(--container)); margin-inline: auto; padding: clamp(8.5rem, 17vh, 12rem) 0 clamp(3rem, 7vh, 5.4rem); color: var(--white); }
.hero__content h1 { margin-top: 1.3rem; max-width: 12.2ch; font-size: clamp(3.4rem, 7vw, 6.8rem); }
.hero__content h1 em { display: block; color: var(--blue-300); }
.hero__lead { margin-top: 1.55rem; max-width: 48ch; color: #c4d0df; font-size: clamp(1.02rem, 1.55vw, 1.22rem); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }
.hero__proof { position: absolute; right: 0; bottom: clamp(3rem, 7vh, 5.4rem); display: grid; justify-items: end; color: var(--white); }
.hero__proof strong { font-family: var(--serif); font-size: clamp(3.3rem, 6vw, 6.2rem); font-weight: 400; letter-spacing: -0.06em; line-height: .8; }
.hero__proof span { margin-top: 0.75rem; max-width: 16ch; text-align: right; color: #bdcada; font-size: 0.78rem; font-weight: 700; line-height: 1.35; text-transform: uppercase; letter-spacing: 0.12em; }
.hero--split { min-height: max(820px, 100svh); }
.hero--split::before { content: ""; position: absolute; inset: 0 auto 0 47.5%; z-index: 1; width: 1px; background: linear-gradient(transparent,rgba(145,192,255,.32) 25%,rgba(145,192,255,.32) 75%,transparent); }
.hero--split .hero__media { inset: 0 0 0 auto; width: 52.5%; }
.hero--split .hero__media::after { background: linear-gradient(90deg,var(--navy-950) 0%,rgba(4,13,26,.48) 10%,rgba(4,13,26,.03) 38%),linear-gradient(0deg,rgba(4,13,26,.5),transparent 32%); }
.hero--split .hero__media img { object-position: center 35%; filter: saturate(.86) contrast(1.02); }
.hero--split .hero-carousel__slide--portrait img { object-position: center 32%; }
.hero--split .hero__content { display: grid; grid-template-columns: minmax(0,47%) 1fr; padding: 8rem 0 3rem; }
.hero--split .hero__content > * { grid-column: 1; }
.hero--split .hero__content h1 { max-width: 12.8ch; font-size: clamp(3.35rem,4.5vw,5.2rem); text-wrap: wrap; }
.hero--split .hero__proof { position: static; display: flex; align-items: end; justify-content: flex-start; gap: 1rem; margin-top: clamp(2rem,4vh,3.2rem); padding-top: 1.3rem; border-top: 1px solid var(--line-dark); }
.hero--split .hero__proof strong { font-size: 3.5rem; }
.hero--split .hero__proof span { margin: 0 0 .1rem; max-width: 21ch; text-align: left; }
.hero--internal { min-height: 72svh; }
.hero--internal .hero__content { padding-bottom: clamp(4rem, 8vw, 7rem); }
.hero--internal .hero__content h1 { max-width: 13ch; font-size: clamp(3.2rem, 7vw, 6.5rem); }
.hero--clean { background: radial-gradient(circle at 82% 18%, rgba(43,126,233,.25), transparent 29%), linear-gradient(135deg,var(--navy-950),var(--navy-800)); }
.hero--clean .hero__media { display: none; }
.hero--story .hero__content, .hero--health .hero__content { display: grid; grid-template-columns: minmax(0,58%) 1fr; padding-right: 0; }
.hero--story .hero__content > *, .hero--health .hero__content > * { grid-column: 1; }
.story-seal { position: absolute; right: max(calc((100vw - var(--container))/2),2rem); bottom: 14%; z-index: 2; width: min(30vw,330px); aspect-ratio: 1; display: grid; place-items: center; align-content: center; border: 1px solid rgba(255,255,255,.19); border-radius: 50%; color: var(--white); }
.story-seal::before, .story-seal::after { content: ""; position: absolute; inset: 10%; border: 1px solid rgba(145,192,255,.18); border-radius: 50%; }
.story-seal::after { inset: 22%; }
.story-seal img { position: absolute; width: 46%; height: auto; aspect-ratio: 1; object-fit: contain; opacity: .07; }
.story-seal strong { position: relative; font-family: var(--serif); font-size: clamp(4.5rem,8vw,7.5rem); font-weight: 400; line-height: .82; letter-spacing: -.07em; }
.story-seal span { position: relative; margin-top: .8rem; color: var(--blue-300); font-size: .67rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.health-orbit { position: absolute; right: max(calc((100vw - var(--container))/2),2rem); bottom: 12%; z-index: 2; width: min(35vw,440px); aspect-ratio: 1; border: 1px solid rgba(145,192,255,.24); border-radius: 50%; color: var(--white); animation: orbit-breathe 7s ease-in-out infinite; }
.health-orbit::before, .health-orbit::after { content: ""; position: absolute; inset: 17%; border: 1px solid rgba(145,192,255,.15); border-radius: 50%; animation: ring-pulse 5.5s ease-in-out infinite; }
.health-orbit::after { inset: 35%; background: rgba(43,126,233,.1); animation-delay: -2.75s; }
.health-orbit__track { position: absolute; inset: 3%; }
.health-orbit .orbit-node { --orbit-duration: 24s; }
.health-orbit .orbit-node b { padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.17); background: rgba(4,13,26,.86); color: var(--blue-300); box-shadow: 0 10px 26px -18px rgba(0,0,0,.9); }
.health-orbit strong { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--serif); font-size: clamp(3rem,6vw,5.6rem); font-weight: 400; }
.health-orbit small { position: absolute; left: 50%; bottom: 27%; transform: translateX(-50%); color: var(--muted-dark); font-size: .6rem; font-weight: 800; white-space: nowrap; letter-spacing: .11em; text-transform: uppercase; }
.hero--services .hero__content { display: grid; grid-template-columns: minmax(0,62%) 1fr; padding-right: 0; }
.hero--services .hero__content > * { grid-column: 1; }
.service-constellation { position: absolute; right: max(calc((100vw - var(--container))/2),2rem); bottom: 16%; z-index: 2; width: min(30vw,360px); aspect-ratio: 1; border: 1px solid rgba(145,192,255,.2); transform: rotate(45deg); animation: constellation-breathe 7s ease-in-out infinite; }
.service-constellation::before { content: ""; position: absolute; inset: 18%; border: 1px solid rgba(145,192,255,.16); animation: diamond-pulse 5s ease-in-out infinite; }
.service-constellation__orbit { --depth-x: clamp(112px,10vw,150px); --depth-x-mid: clamp(76px,6.8vw,102px); --depth-y-front: clamp(88px,7.5vw,108px); --depth-y-front-mid: clamp(60px,5.1vw,74px); --depth-y-back: clamp(34px,3.5vw,48px); --depth-y-back-mid: clamp(21px,2.2vw,30px); position: absolute; inset: -4%; }
.service-depth-node { position: absolute; left: 50%; top: 50%; z-index: 1; pointer-events: none; opacity: 0; filter: blur(.8px); will-change: transform,opacity,filter; animation: service-depth-orbit 20s cubic-bezier(.45,0,.55,1) infinite; animation-delay: var(--depth-delay); }
.service-depth-node b { display: inline-flex; align-items: center; justify-content: center; color: var(--blue-300); font-size: .64rem; font-weight: 800; font-style: normal; white-space: nowrap; letter-spacing: .14em; text-transform: uppercase; text-shadow: 0 2px 12px rgba(4,13,26,.9); transform: rotate(-45deg); }
.service-constellation__center { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; transform: rotate(-45deg); isolation: isolate; }
.service-constellation__center::before { content: ""; position: absolute; left: 50%; top: 50%; z-index: -1; width: 53%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle,rgba(7,25,47,.99) 0 53%,rgba(7,25,47,.94) 67%,rgba(7,25,47,0) 76%); transform: translate(-50%,-50%); }
.service-constellation strong { position: relative; z-index: 2; color: var(--white); font-family: var(--serif); font-size: 6rem; font-weight: 400; text-shadow: 0 0 22px rgba(4,13,26,.8); }
.service-constellation small { position: absolute; left: 50%; top: 63%; z-index: 2; transform: translateX(-50%); color: var(--muted-dark); font-size: .58rem; font-weight: 800; white-space: nowrap; letter-spacing: .12em; text-transform: uppercase; }
.orbit-node { position: absolute; inset: 0; pointer-events: none; will-change: transform; animation: orbit-spin var(--orbit-duration) linear infinite; animation-delay: var(--orbit-delay); }
.orbit-node b { position: absolute; left: 50%; top: 0; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; font-size: .64rem; font-weight: 800; font-style: normal; letter-spacing: .14em; text-transform: uppercase; transform-origin: center; will-change: transform; animation: orbit-counter var(--orbit-duration) linear infinite; animation-delay: var(--orbit-delay); }
.health-orbit:hover .orbit-node, .health-orbit:hover .orbit-node b, .service-constellation:hover .service-depth-node { animation-play-state: paused; }

.trust-strip { position: relative; z-index: 3; background: var(--navy-900); color: var(--white); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.trust-strip__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.trust-strip__grid > div { min-height: 112px; display: grid; align-content: center; gap: .25rem; padding: 1.25rem clamp(1rem,2vw,1.8rem); border-left: 1px solid var(--line-dark); }
.trust-strip__grid > div:last-child { border-right: 1px solid var(--line-dark); }
.trust-strip strong { font-family: var(--serif); font-size: 1.55rem; font-weight: 400; line-height: 1; }
.trust-strip span { color: var(--muted-dark); font-size: .68rem; font-weight: 700; line-height: 1.4; text-transform: uppercase; letter-spacing: .1em; }

.specialties { position: relative; overflow: hidden; background: var(--blue-600); color: var(--white); border-top: 1px solid rgba(255,255,255,.2); }
.specialties__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0 0.8rem; }
.specialties__top span { font-size: 0.68rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.ticker { overflow: hidden; padding: 0.4rem 0 1.5rem; cursor: grab; touch-action: pan-y; }
.ticker:active { cursor: grabbing; }
.ticker__track { width: max-content; display: flex; gap: 0; animation: ticker 38s linear infinite; will-change: transform; }
.ticker.is-paused .ticker__track, .ticker:hover .ticker__track, .ticker:focus-within .ticker__track { animation-play-state: paused; }
.ticker__group { display: flex; align-items: center; }
.ticker__item { display: inline-flex; align-items: center; gap: 1.1rem; padding: 0 2.1rem; color: var(--white); font-family: var(--serif); font-size: clamp(1.6rem, 3.2vw, 3.1rem); line-height: 1; white-space: nowrap; }
.ticker__item::after { content: "+"; color: var(--navy-900); font-family: var(--sans); font-size: 1.1rem; font-weight: 700; }
@keyframes ticker { to { transform: translateX(-50%); } }
@keyframes orbit-spin { to { transform: rotate(360deg); } }
@keyframes orbit-counter { from { transform: translate(-50%,-50%) rotate(0); } to { transform: translate(-50%,-50%) rotate(-360deg); } }
@keyframes orbit-breathe { 0%,100% { box-shadow: 0 0 0 0 rgba(145,192,255,0); } 50% { box-shadow: 0 0 54px -30px rgba(145,192,255,.52); } }
@keyframes ring-pulse { 0%,100% { opacity: .62; transform: scale(1); } 50% { opacity: 1; transform: scale(1.035); } }
@keyframes constellation-breathe { 0%,100% { box-shadow: 0 0 0 rgba(145,192,255,0); } 50% { box-shadow: 0 0 58px -32px rgba(145,192,255,.42); } }
@keyframes diamond-pulse { 0%,100% { opacity: .62; transform: scale(1); } 50% { opacity: 1; transform: scale(.96); } }
@keyframes service-depth-orbit {
  0%,100% { z-index: 1; opacity: .08; filter: blur(1.3px); transform: translate(-50%,-50%) translate3d(0,calc(0px - var(--depth-y-back)),0) scale(.54); }
  12.5% { z-index: 1; opacity: .22; filter: blur(.8px); transform: translate(-50%,-50%) translate3d(var(--depth-x-mid),calc(0px - var(--depth-y-back-mid)),0) scale(.67); }
  25% { z-index: 2; opacity: .68; filter: blur(0); transform: translate(-50%,-50%) translate3d(var(--depth-x),0,0) scale(.84); }
  37.5% { z-index: 4; opacity: 1; filter: blur(0); transform: translate(-50%,-50%) translate3d(var(--depth-x-mid),var(--depth-y-front-mid),0) scale(1.03); }
  50% { z-index: 5; opacity: 1; filter: blur(0); transform: translate(-50%,-50%) translate3d(0,var(--depth-y-front),0) scale(1.14); }
  62.5% { z-index: 4; opacity: 1; filter: blur(0); transform: translate(-50%,-50%) translate3d(calc(0px - var(--depth-x-mid)),var(--depth-y-front-mid),0) scale(1.03); }
  75% { z-index: 2; opacity: .68; filter: blur(0); transform: translate(-50%,-50%) translate3d(calc(0px - var(--depth-x)),0,0) scale(.84); }
  87.5% { z-index: 1; opacity: .22; filter: blur(.8px); transform: translate(-50%,-50%) translate3d(calc(0px - var(--depth-x-mid)),calc(0px - var(--depth-y-back-mid)),0) scale(.67); }
}
@keyframes mesh-drift { from { transform: translate3d(-.8%,-.5%,0); } to { transform: translate3d(.8%,.5%,0); } }
@keyframes watermark-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(.45rem); } }
@keyframes cta-mark-breathe { 0%,100% { opacity: .045; transform: translateY(-50%) scale(.97); } 50% { opacity: .075; transform: translateY(-50%) scale(1.025); } }

.chapter-section { position: relative; isolation: isolate; overflow: hidden; }
.chapter-section::before { content: attr(data-chapter); position: absolute; right: max(calc((100vw - var(--container))/2),1.25rem); top: clamp(2rem,5vw,4.5rem); z-index: -1; color: rgba(31,109,206,.055); font-family: var(--serif); font-size: clamp(8rem,20vw,19rem); line-height: .65; letter-spacing: -.08em; pointer-events: none; animation: watermark-float 8s ease-in-out infinite; }
.on-dark.chapter-section::before, .method-section.chapter-section::before { color: rgba(255,255,255,.035); }
.chapter-index { display: inline-flex; align-items: center; gap: .7rem; color: var(--blue-700); font-size: .7rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.chapter-index::before { content: ""; width: 1.8rem; height: 1px; background: currentColor; }
.on-dark .chapter-index, .method-section .chapter-index { color: var(--blue-300); }
.chapter-heading { display: grid; grid-template-columns: minmax(0,.9fr) minmax(260px,.42fr); align-items: end; gap: 3rem; }
.chapter-heading .lead { margin: 0 0 .45rem; }

.journey-section { background: linear-gradient(180deg,#edf4fc 0%,#f8fafc 100%); }
.journey-grid { margin-top: 4rem; border-top: 1px solid rgba(7,20,38,.16); }
.journey-card { min-height: 190px; display: grid; grid-template-columns: 76px minmax(0,1fr) 52px; align-items: center; gap: clamp(1rem,3vw,3rem); padding: 2rem 1rem; border-bottom: 1px solid rgba(7,20,38,.16); transition: padding .55s var(--ease), background-color .55s var(--ease), color .55s var(--ease); }
.journey-card > span { color: var(--blue-700); font-family: var(--serif); font-size: 2.3rem; }
.journey-card small { color: var(--blue-700); font-size: .67rem; font-weight: 800; letter-spacing: .17em; }
.journey-card h3 { margin-top: .55rem; font-size: clamp(1.8rem,3.3vw,3rem); }
.journey-card p { max-width: 64ch; margin-top: .7rem; color: var(--muted); font-size: .9rem; }
.journey-card i { width: 46px; height: 46px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 50%; color: transparent; font-size: 0; font-style: normal; transition: transform .45s var(--ease),background-color .45s var(--ease); }
.journey-card i::before { content: ""; width: 1.05rem; height: 1.05rem; background: currentColor; color: var(--blue-700); -webkit-mask: url("../img/icon-arrow-up-right.svg") center/contain no-repeat; mask: url("../img/icon-arrow-up-right.svg") center/contain no-repeat; }
.journey-card:hover { padding-inline: 2rem; background: var(--navy-900); color: var(--white); }
.journey-card:hover > span, .journey-card:hover small { color: var(--blue-300); }
.journey-card:hover p { color: var(--muted-dark); }
.journey-card:hover i { transform: rotate(45deg); background: var(--blue-600); border-color: var(--blue-600); }

.profiles-section { background-image: radial-gradient(circle at 85% 7%,rgba(43,126,233,.07),transparent 25%); }
.profiles-section > .container > .chapter-index { margin-bottom: 2.4rem; }

.intro-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .55fr); gap: clamp(3rem, 8vw, 8rem); align-items: start; }
.intro-grid__statement { font-family: var(--serif); font-size: clamp(2.4rem, 5.1vw, 4.7rem); line-height: 1.03; letter-spacing: -.04em; }
.intro-grid__statement em { color: var(--blue-600); }
.intro-grid__copy { padding-top: 0.6rem; color: var(--muted); }
.intro-grid__copy p + p { margin-top: 1rem; }
.inline-link { display: inline-flex; align-items: center; gap: 0.6rem; margin-top: 1.6rem; color: var(--blue-700); font-weight: 800; }
.inline-link::after { content: ""; width: 1rem; height: 1rem; background: currentColor; -webkit-mask: url("../img/icon-arrow-up-right.svg") center/contain no-repeat; mask: url("../img/icon-arrow-up-right.svg") center/contain no-repeat; transition: transform .3s var(--ease); }
.inline-link:hover::after { transform: translate(.2rem,-.2rem); }

.health-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: 4rem; background: var(--line); border: 1px solid var(--line); }
.health-card { position: relative; min-height: 350px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: clamp(1.5rem, 3vw, 2.3rem); background: var(--white); }
.health-card::before { content: ""; position: absolute; inset: auto -20% -55% 15%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(43,126,233,.15), transparent 65%); transform: scale(.4); opacity: 0; transition: transform .7s var(--ease), opacity .7s var(--ease); }
.health-card:hover::before { transform: scale(1); opacity: 1; }
.health-card__index { color: var(--blue-700); font-size: .72rem; font-weight: 800; letter-spacing: .15em; }
.health-card h3 { position: relative; z-index: 1; max-width: 8ch; font-size: clamp(2.2rem, 4vw, 3.8rem); }
.health-card p { position: relative; z-index: 1; max-width: 32ch; color: var(--muted); }
.health-card .inline-link { position: relative; z-index: 1; }
.health-cards--audiences { grid-template-columns: repeat(6,minmax(0,1fr)); }
.health-cards--audiences .health-card:nth-child(-n+3) { grid-column: span 2; }
.health-cards--audiences .health-card:nth-child(n+4) { grid-column: span 3; }
.health-cards--audiences .health-card:nth-child(n+4) h3 { max-width: 13ch; }

.services-section { overflow: hidden; background: var(--navy-950); }
.services-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 4rem; perspective: 1200px; }
.service-card { position: relative; min-height: 320px; perspective: 1100px; }
.service-card__button { position: absolute; inset: 0; z-index: 3; width: 100%; border-radius: 3px; }
.service-card__inner { position: absolute; inset: 0; z-index: 1; transform-style: preserve-3d; transition: transform .56s var(--ease); }
.service-card:hover .service-card__inner, .service-card.is-flipped .service-card__inner { transform: rotateY(180deg); }
.service-card:hover .service-card__button, .service-card.is-flipped .service-card__button { pointer-events: none; }
.service-card__face { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: clamp(1.35rem, 2.4vw, 2rem); border: 1px solid var(--line-dark); border-radius: 3px; backface-visibility: hidden; -webkit-backface-visibility: hidden; transform-style: preserve-3d; }
.service-card__front { background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); }
.service-card__front::after { content: ""; position: absolute; right: -28%; bottom: -50%; width: 86%; aspect-ratio: 1; border: 1px solid rgba(145,192,255,.25); border-radius: 50%; box-shadow: 0 0 0 28px rgba(145,192,255,.035), 0 0 0 58px rgba(145,192,255,.025); }
.service-card__back { transform: rotateY(180deg) translateZ(2px); background: var(--blue-600); pointer-events: none; }
.service-card:hover .service-card__back, .service-card.is-flipped .service-card__back { pointer-events: auto; }
.service-card__num { color: var(--blue-300); font-size: .7rem; font-weight: 800; letter-spacing: .15em; }
.service-card__back .service-card__num { color: var(--white); }
.service-card h3 { position: relative; z-index: 1; max-width: 10ch; color: var(--white); font-size: clamp(1.9rem, 3.4vw, 3rem); }
.service-card__hint { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; color: var(--muted-dark); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.service-card__hint span:last-child { width: 1rem; height: 1rem; overflow: hidden; background: currentColor; color: transparent; font-size: 0; -webkit-mask: url("../img/icon-refresh.svg") center/contain no-repeat; mask: url("../img/icon-refresh.svg") center/contain no-repeat; }
.service-card__back p { color: var(--white); }
.service-card__link { position: relative; z-index: 20; width: 100%; min-height: 56px; display: flex; align-items: center; justify-content: space-between; padding: .75rem 1.1rem; border-radius: 999px; background: var(--white); color: var(--navy-900); font-size: .88rem; font-weight: 800; transform: translateZ(18px); }
.service-card__link span:last-child { width: 30px; height: 30px; display: grid; place-items: center; overflow: hidden; border-radius: 50%; background-color: var(--navy-900); color: transparent; font-size: 0; -webkit-mask: url("../img/icon-arrow-up-right.svg") center/1rem 1rem no-repeat; mask: url("../img/icon-arrow-up-right.svg") center/1rem 1rem no-repeat; transition: transform .35s var(--ease),background-color .35s var(--ease); }
.service-card__link:hover span:last-child { transform: rotate(45deg); background: var(--blue-300); }

.method-section { background: radial-gradient(circle at 88% 10%,rgba(145,192,255,.22),transparent 28%),linear-gradient(135deg,var(--blue-700),var(--navy-800)); color: var(--white); }
.method-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(240px,.36fr); column-gap: 4rem; align-items: end; }
.method-intro .chapter-index { grid-column: 1 / -1; margin-bottom: 1rem; }
.method-intro .title { margin: 0; max-width: 13ch; }
.method-intro .lead { margin-bottom: .5rem; color: #c8d8ea; }
.method-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 4.5rem; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.method-step { min-height: 330px; display: flex; flex-direction: column; padding: 1.8rem; border-left: 1px solid var(--line-dark); transition: transform .5s var(--ease),background-color .5s var(--ease); }
.method-step:hover { transform: translateY(-.45rem); background: rgba(255,255,255,.055); }
.method-step:last-child { border-right: 1px solid var(--line-dark); }
.method-step > span { color: var(--blue-300); font-family: var(--serif); font-size: 3.4rem; line-height: 1; }
.method-step small { margin-top: auto; color: var(--blue-300); font-weight: 800; letter-spacing: .16em; }
.method-step h3 { margin-top: .8rem; font-size: 1.75rem; }
.method-step p { margin-top: .75rem; color: #c3d2e3; font-size: .87rem; }
.method-proof { max-width: 820px; display: grid; grid-template-columns: 66px 1fr; align-items: center; gap: 1.4rem; margin-top: 3rem; }
.method-proof img { width: 66px; height: auto; aspect-ratio: 1; object-fit: contain; opacity: .92; }
.method-proof p { color: #d7e3ef; }
.method-proof strong { color: var(--white); }

.legacy { position: relative; overflow: hidden; background: var(--white); }
.legacy__grid { display: grid; grid-template-columns: minmax(300px,.75fr) minmax(0,1fr); gap: clamp(3rem,8vw,8rem); align-items: center; }
.legacy__photo { position: relative; min-height: 0; aspect-ratio: 695 / 867; overflow: hidden; background: var(--navy-900); }
.legacy__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: saturate(.88) contrast(1.01); }
.legacy__photo figcaption { position: absolute; left: 0; bottom: 0; z-index: 2; max-width: 48%; padding: 1rem 1.2rem; background: rgba(4,13,26,.86); color: rgba(255,255,255,.82); font-size: .65rem; line-height: 1.45; }
.people-section .legacy__photo { aspect-ratio: 1 / 1; }
.people-section .legacy__photo img { object-position: center 20%; }
.legacy__stamp { position: absolute; right: -1px; bottom: -1px; width: min(52%, 260px); aspect-ratio: 1; display: grid; align-content: center; padding: 2rem; background: var(--blue-600); color: var(--white); }
.legacy__stamp strong { font-family: var(--serif); font-size: clamp(3rem,5vw,5.2rem); font-weight: 400; line-height: .8; }
.legacy__stamp span { margin-top: .8rem; font-size: .72rem; font-weight: 800; line-height: 1.4; letter-spacing: .12em; text-transform: uppercase; }
.legacy__copy .lead { max-width: 50ch; }
.principles { margin-top: 2.5rem; display: grid; border-top: 1px solid var(--line); }
.principle { display: grid; grid-template-columns: 48px 1fr; gap: 1rem; padding: 1.3rem 0; border-bottom: 1px solid var(--line); transition: padding .4s var(--ease),background-color .4s var(--ease); }
.principle:hover { padding-inline: .8rem; background: rgba(43,126,233,.04); }
.principle span { color: var(--blue-700); font-size: .72rem; font-weight: 800; }
.principle h3 { font-family: var(--sans); font-size: 1rem; font-weight: 800; line-height: 1.3; letter-spacing: -.01em; }
.principle p { margin-top: .35rem; color: var(--muted); font-size: .93rem; }
.people-names { display: grid; margin: 2rem 0 2.2rem; border-top: 1px solid rgba(7,20,38,.13); }
.people-names > div { display: grid; gap: .2rem; padding: 1rem 0; border-bottom: 1px solid rgba(7,20,38,.13); }
.people-names strong { font-size: .95rem; }
.people-names span { color: var(--muted); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }

.environment-story { --story-progress: 0; position: relative; height: 210svh; overflow: visible; background: var(--navy-950); color: var(--white); }
.environment-story__sticky { position: sticky; top: 0; min-height: 100svh; overflow: hidden; background: var(--navy-950); }
.environment-story__heading { position: absolute; top: clamp(7rem,13vh,9.4rem); left: 0; right: 0; z-index: 4; pointer-events: none; }
.environment-story .environment-story__title { margin: 0; color: var(--blue-500); font-size: clamp(1rem,1.25vw,1.25rem); line-height: 1.2; text-shadow: none; }
.environment-story__viewport { position: absolute; inset: 0; z-index: 1; overflow: hidden; }
.environment-story__track { width: max-content; height: 100%; display: flex; will-change: transform; transform: translate3d(var(--story-offset,0px),0,0); }
.environment-story__card { position: relative; width: calc(100vw / 3); height: 100svh; flex: 0 0 auto; overflow: hidden; background: var(--navy-900); }
.environment-story__card img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; filter: saturate(.92) contrast(1.03); transform: scale(1.01); transition: transform .9s var(--ease),filter .6s var(--ease); }
.environment-story__card:nth-child(1) img { object-position: center 45%; }
.environment-story__card:nth-child(2) img, .environment-story__card:nth-child(3) img { object-position: center 54%; }
.environment-story__card:nth-child(4) img { object-position: center 48%; }
.environment-story__card:nth-child(5) img { object-position: center 42%; }
.environment-story__card::after { content: ""; position: absolute; inset: 0; z-index: 2; background: linear-gradient(180deg,rgba(3,12,24,.48) 0%,rgba(3,12,24,.08) 42%,rgba(3,12,24,.88) 100%); pointer-events: none; }
.environment-story__card figcaption { position: absolute; left: 1.25rem; right: 1.25rem; bottom: clamp(5.75rem,9vh,7rem); z-index: 3; display: grid; grid-template-columns: auto 1fr; gap: .25rem .8rem; align-items: end; }
.environment-story__card figcaption span { grid-row: 1 / 3; color: var(--blue-500); font-family: var(--serif); font-size: 2.15rem; line-height: .9; }
.environment-story__card figcaption strong { font-family: var(--serif); font-size: clamp(1.2rem,1.6vw,1.7rem); font-weight: 400; line-height: 1.05; }
.environment-story__card figcaption small { color: rgba(255,255,255,.65); font-size: .64rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.environment-story__card:hover img { transform: scale(1.055); filter: saturate(1) contrast(1.03); }
.environment-story__footer { position: absolute; left: 0; right: 0; bottom: clamp(1.6rem,4vh,3rem); z-index: 5; display: block; }
.environment-story__progress { height: 4px; overflow: hidden; background: rgba(43,126,233,.32); box-shadow: 0 2px 18px rgba(3,12,24,.28); }
.environment-story__progress span { width: 100%; height: 100%; display: block; background: var(--blue-500); transform: scaleX(var(--story-progress)); transform-origin: left center; will-change: transform; }
.environment-story__footer p { display: none; }

.calendar-section { background: var(--ice); }
.calendar-section--preview { padding-block: clamp(5.5rem,9vw,8rem); }
.calendar-preview-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.55fr); gap: clamp(2rem,6vw,6rem); margin-top: 3.25rem; align-items: center; }
.calendar-preview-copy { display: grid; gap: 1.35rem; }
.calendar-preview-copy h3 { max-width: 13ch; font-size: clamp(2rem,3.3vw,3.5rem); }
.calendar-preview-copy h3 em { color: var(--blue-700); }
.calendar-preview-copy p { max-width: 38ch; }
.calendar-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .46fr); gap: clamp(2rem,5vw,5rem); margin-top: 3.5rem; align-items: start; }
.calendar-card { position: relative; min-width: 0; padding: clamp(1.2rem,3vw,2.2rem); background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
.calendar-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: 1.8rem; }
.calendar-title { font-family: var(--serif); font-size: clamp(1.4rem,3vw,2.1rem); }
.calendar-nav { display: flex; gap: .5rem; }
.calendar-nav button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; transition: color .3s var(--ease), border-color .3s var(--ease), background-color .3s var(--ease); }
.calendar-nav button { overflow: hidden; color: transparent; font-size: 0; }
.calendar-nav button::before { content: ""; width: 1rem; height: 1rem; background: var(--navy-900); -webkit-mask: url("../img/icon-arrow-right.svg") center/contain no-repeat; mask: url("../img/icon-arrow-right.svg") center/contain no-repeat; }
.calendar-nav button[data-cal-prev]::before { transform: rotate(180deg); }
.calendar-nav button:hover { color: var(--white); border-color: var(--navy-800); background: var(--navy-800); }
.calendar-nav button:hover::before { background: var(--white); }
.calendar-weekdays, .calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.calendar-weekdays span { padding: .3rem; text-align: center; color: var(--muted); font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.calendar-day { position: relative; min-width: 0; aspect-ratio: 1 / .87; display: grid; place-items: center; border: 1px solid transparent; border-radius: 2px; color: var(--muted); font-size: .84rem; }
.calendar-day--muted { opacity: .32; }
.calendar-day--today { box-shadow: inset 0 0 0 1px var(--blue-500); color: var(--blue-700); font-weight: 800; }
button.calendar-day { color: var(--navy-900); font-weight: 800; }
button.calendar-day::after { content: ""; position: absolute; bottom: 16%; width: 5px; height: 5px; border-radius: 50%; background: var(--blue-500); }
button.calendar-day:hover, button.calendar-day[aria-expanded="true"] { background: var(--navy-900); color: var(--white); }
.calendar-popover { position: absolute; z-index: 10; width: min(290px, calc(100% - 1rem)); padding: 1.1rem; background: var(--navy-900); color: var(--white); box-shadow: var(--shadow-deep); opacity: 0; visibility: hidden; transform: translateY(.5rem); transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s; }
.calendar-popover.is-open { opacity: 1; visibility: visible; transform: none; }
.calendar-popover__date { color: var(--blue-300); font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.calendar-popover h4 { margin-top: .45rem; font-family: var(--sans); font-size: .97rem; font-weight: 800; line-height: 1.3; letter-spacing: 0; }
.calendar-popover p { margin-top: .5rem; color: var(--muted-dark); font-size: .8rem; line-height: 1.5; }
.calendar-events { display: grid; gap: .7rem; }
.calendar-event { display: grid; grid-template-columns: 48px 1fr; gap: 1rem; padding: 1.05rem 0; border-bottom: 1px solid rgba(10,21,37,.12); transition: transform .4s var(--ease),padding .4s var(--ease),background-color .4s var(--ease); }
.calendar-event:hover { transform: translateX(.45rem); padding-inline: .7rem; background: rgba(43,126,233,.045); }
.calendar-event__date { color: var(--blue-700); font-family: var(--serif); font-size: 1.65rem; line-height: 1; }
.calendar-event__date small { display: block; font-family: var(--sans); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.calendar-event h3 { font-family: var(--sans); font-size: .95rem; font-weight: 800; line-height: 1.35; letter-spacing: 0; }
.calendar-event p { margin-top: .25rem; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.calendar-note { margin-top: 1.2rem; color: var(--muted); font-size: .75rem; }

.faq-layout { display: grid; grid-template-columns: minmax(260px,.46fr) minmax(0,1fr); gap: clamp(2.5rem,7vw,7rem); align-items: start; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-question { width: 100%; display: grid; grid-template-columns: 1fr 42px; gap: 1rem; align-items: center; padding: 1.5rem 0; text-align: left; }
.faq-question span:first-child { font-family: var(--serif); font-size: clamp(1.2rem,2.2vw,1.65rem); line-height: 1.15; }
.faq-icon { width: 38px; height: 38px; position: relative; border: 1px solid var(--line); border-radius: 50%; }
.faq-icon::before, .faq-icon::after { content: ""; position: absolute; top: 50%; left: 50%; width: 12px; height: 1px; background: currentColor; transform: translate(-50%,-50%); transition: transform .35s var(--ease); }
.faq-icon::after { transform: translate(-50%,-50%) rotate(90deg); }
.faq-question[aria-expanded="true"] .faq-icon::after { transform: translate(-50%,-50%) rotate(0); }
.faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .45s var(--ease); }
.faq-answer > div { overflow: hidden; }
.faq-answer p { max-width: 70ch; padding: 0 3.6rem 1.6rem 0; color: var(--muted); }
.faq-question[aria-expanded="true"] + .faq-answer { grid-template-rows: 1fr; }

.cta-band { position: relative; overflow: hidden; background: linear-gradient(120deg,var(--blue-600),var(--blue-700)); color: var(--white); }
.cta-band::after { content: ""; position: absolute; right: -7%; top: 50%; width: min(46vw,560px); aspect-ratio: 1; transform: translateY(-50%); background: url("../img/logo-mark-v2-white.png") center/contain no-repeat; opacity: .055; pointer-events: none; animation: cta-mark-breathe 8s ease-in-out infinite; }
.cta-band__inner { position: relative; min-height: 420px; display: grid; align-items: center; grid-template-columns: minmax(0,1fr) minmax(320px,.48fr); gap: clamp(2rem,7vw,7rem); }
.cta-band__inner::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: rgba(255,255,255,.22); pointer-events: none; }
.cta-band h2 { position: relative; z-index: 1; max-width: 11ch; font-size: clamp(3rem,6.3vw,6.2rem); }
.cta-band__action { position: relative; z-index: 2; display: grid; gap: 1.25rem; align-content: center; padding: clamp(1.4rem,3vw,2rem); border: 1px solid rgba(255,255,255,.28); background: rgba(4,13,26,.13); backdrop-filter: blur(10px); }
.cta-band__action::before { content: "ATENDIMENTO DIRETO"; color: var(--white); font-size: .65rem; font-weight: 800; letter-spacing: .16em; }
.cta-band__action p { max-width: 36ch; color: rgba(255,255,255,.84); font-size: .9rem; }
.cta-band__action .btn { width: 100%; min-height: 56px; justify-content: space-between; white-space: normal; text-align: left; }

.contact-grid { display: grid; grid-template-columns: minmax(0,.65fr) minmax(0,1fr); gap: clamp(3rem,8vw,8rem); }
.contact-list { margin-top: 2.4rem; display: grid; }
.contact-row { display: grid; grid-template-columns: 120px 1fr; gap: 1rem; padding: 1.15rem 0; border-top: 1px solid var(--line); }
.contact-row span { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.contact-row a, .contact-row address { min-width: 0; overflow-wrap: anywhere; font-style: normal; font-weight: 700; }
.map { min-height: 520px; overflow: hidden; background: var(--ice); }
.map iframe { width: 100%; height: 100%; min-height: 520px; border: 0; filter: grayscale(.25) contrast(1.04); }
.home-contact-intro { position: relative; overflow: hidden; padding: clamp(6rem,11vw,10rem) 0; background: radial-gradient(circle at 88% 18%,rgba(145,192,255,.2),transparent 28%),linear-gradient(135deg,var(--navy-950),var(--navy-800)); color: var(--white); }
.home-contact-intro::after { content: ""; position: absolute; right: -8%; bottom: -48%; width: min(50vw,680px); aspect-ratio: 1; border: 1px solid rgba(145,192,255,.13); border-radius: 50%; box-shadow: 0 0 0 70px rgba(145,192,255,.025),0 0 0 140px rgba(145,192,255,.018); pointer-events: none; }
.home-contact-intro__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) minmax(520px,.68fr); gap: clamp(3rem,8vw,8rem); align-items: end; }
.home-contact-intro .title { max-width: 13ch; font-size: clamp(3.1rem,6.2vw,6.1rem); }
.home-contact-intro .title em { color: var(--blue-300); }
.home-contact-intro__action { width: 100%; max-width: 580px; justify-self: end; display: grid; gap: 1.4rem; padding: clamp(1.5rem,3vw,2.1rem); border: 1px solid rgba(255,255,255,.24); background: rgba(4,13,26,.2); backdrop-filter: blur(10px); }
.home-contact-intro__action p { color: #d0ddec; }
.home-contact-intro__action .btn { width: 100%; justify-content: center; }
.home-contact-final .lead { max-width: 42ch; margin-top: 1.4rem; color: #d0ddec; }
.contact-essentials { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.18); }
.contact-essentials > * { min-width: 0; display: block; padding: 1rem .75rem 1rem 0; color: #d0ddec; font-size: .76rem; line-height: 1.55; overflow-wrap: anywhere; }
.contact-essentials > *:nth-child(even) { padding-left: 1rem; border-left: 1px solid rgba(255,255,255,.18); }
.contact-essentials > *:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.18); }
.contact-essentials span { display: block; margin-bottom: .28rem; color: var(--blue-300); font-size: .58rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.contact-essentials a[href^="mailto:"] { white-space: nowrap; }
.home-contact-location { position: relative; z-index: 1; min-height: clamp(460px,44vw,620px); margin-top: clamp(3.5rem,7vw,6rem); display: grid; grid-template-columns: minmax(340px,.78fr) minmax(0,1fr); overflow: hidden; border: 1px solid rgba(255,255,255,.24); background: var(--navy-900); }
.home-contact-facade, .home-contact-map { position: relative; min-width: 0; min-height: 100%; overflow: hidden; }
.home-contact-facade { border-right: 1px solid rgba(255,255,255,.24); }
.home-contact-facade img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; filter: saturate(.94) contrast(1.025); }
.home-contact-facade::after { content: ""; position: absolute; inset: 42% 0 0; background: linear-gradient(180deg,transparent,rgba(3,12,24,.9)); pointer-events: none; }
.home-contact-facade figcaption { position: absolute; left: clamp(1.3rem,3vw,2.4rem); right: clamp(1.3rem,3vw,2.4rem); bottom: clamp(1.3rem,3vw,2.4rem); z-index: 1; max-width: 31ch; color: rgba(255,255,255,.82); font-size: .78rem; line-height: 1.55; }
.home-contact-facade figcaption span { display: block; margin-bottom: .45rem; color: var(--white); font-family: var(--serif); font-size: clamp(1.5rem,2.5vw,2.2rem); line-height: 1.05; }
.home-contact-map iframe { width: 100%; height: 100%; display: block; border: 0; filter: grayscale(.18) contrast(1.03); }
.contact-guide { border-top: 1px solid var(--line); }

.footer { background: var(--navy-950); color: var(--muted-dark); padding: clamp(4rem,8vw,7rem) 0 6rem; }
.footer__grid { display: grid; grid-template-columns: minmax(240px,1.1fr) repeat(3,minmax(130px,.42fr)); gap: 2.5rem; }
.footer__column { min-width: 0; }
.footer__brand .brand--footer-original { width: fit-content; display: inline-flex; }
.footer__brand .brand img { width: 190px; height: auto; }
.footer__brand p { max-width: 35ch; margin-top: 1.2rem; }
.footer__proof { display: inline-flex; margin-top: 1.2rem; padding: .5rem .7rem; border: 1px solid var(--line-dark); color: var(--blue-300); font-size: .64rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.footer__socials { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.footer-social { min-height: 42px; display: inline-flex; align-items: center; gap: .55rem; padding: .65rem .85rem; border: 1px solid var(--line-dark); color: var(--muted-dark); font-size: .72rem; font-weight: 700; letter-spacing: .03em; transition: color .25s var(--ease),border-color .25s var(--ease),background-color .25s var(--ease),transform .25s var(--ease); }
.footer-social:hover { color: var(--white); border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.045); transform: translateY(-2px); }
.footer-social .wa-symbol, .instagram-symbol { width: 1rem; height: 1rem; flex: 0 0 auto; }
.instagram-symbol { display: inline-block; background: currentColor; -webkit-mask: url("../img/instagram.svg") center/contain no-repeat; mask: url("../img/instagram.svg") center/contain no-repeat; }
.footer h3 { margin-bottom: 1.2rem; color: var(--white); font-family: var(--sans); font-size: .7rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.footer ul { display: grid; gap: .65rem; }
.footer a { overflow-wrap: anywhere; transition: color .25s; }
.footer a:hover { color: var(--white); }
.footer__bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid var(--line-dark); font-size: .75rem; }

.wa-symbol { width: 1.05rem; height: 1.05rem; display: inline-block; flex: 0 0 auto; background: currentColor; -webkit-mask: url("../img/whatsapp.svg") center/contain no-repeat; mask: url("../img/whatsapp.svg") center/contain no-repeat; }
.wa-float { position: fixed; right: 1.1rem; bottom: 1.1rem; z-index: 55; min-height: 54px; display: inline-flex; align-items: center; gap: .65rem; padding: .62rem 1rem .62rem .62rem; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; background: #117d4a; color: var(--white); box-shadow: 0 18px 48px -24px rgba(0,0,0,.7); font-size: .78rem; font-weight: 800; transition: opacity .3s var(--ease), transform .3s var(--ease), background-color .3s var(--ease); }
.wa-float:hover { background: #0d683c; transform: translateY(-2px); }
.wa-float__icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.16); }
.wa-float__icon .wa-symbol { width: 1.25rem; height: 1.25rem; }

.stage-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 4rem; border: 1px solid var(--line); }
.stage-grid a { min-height: 175px; display: flex; flex-direction: column; padding: 1.4rem; border-right: 1px solid var(--line); background: var(--white); transition: color .4s var(--ease),background-color .4s var(--ease); }
.stage-grid a:last-child { border-right: 0; }
.stage-grid span { color: var(--blue-700); font-size: .64rem; font-weight: 800; letter-spacing: .14em; }
.stage-grid strong { margin-top: auto; font-family: var(--serif); font-size: 1.55rem; font-weight: 400; line-height: 1.05; }
.stage-grid i { width: 1rem; height: 1rem; margin-top: 1rem; overflow: hidden; background: var(--blue-700); color: transparent; font-size: 0; font-style: normal; -webkit-mask: url("../img/icon-arrow-up-right.svg") center/contain no-repeat; mask: url("../img/icon-arrow-up-right.svg") center/contain no-repeat; }
.stage-grid a:hover { background: var(--navy-900); color: var(--white); }
.stage-grid a:hover span, .stage-grid a:hover i { color: var(--blue-300); }
.stage-grid--expanded { grid-template-columns: repeat(3,minmax(0,1fr)); }
.stage-grid--expanded a:nth-child(3), .stage-grid--expanded a:nth-child(6) { border-right: 0; }
.stage-grid--expanded a:nth-child(n+4) { border-top: 1px solid var(--line); }
.stage-grid__note { margin-top: 1.2rem; color: var(--muted); font-size: .85rem; }

.page-intro { background: var(--white); }
.content-grid { display: grid; grid-template-columns: minmax(240px,.42fr) minmax(0,1fr); gap: clamp(3rem,8vw,8rem); }
.content-grid > *, .content-grid__body, .hero__content, .hero__actions, .hero__actions > *, .cta-band__inner > * { min-width: 0; }
.content-grid__aside { position: sticky; top: 7.5rem; align-self: start; }
.content-grid__body > * + * { margin-top: 1.25rem; }
.content-grid__body h2 { margin-top: 3.5rem; font-size: clamp(2rem,4vw,3.6rem); }
.content-grid__body h3 { margin-top: 2.2rem; font-family: var(--sans); font-size: 1.1rem; font-weight: 800; line-height: 1.4; letter-spacing: 0; }
.content-grid__body p, .content-grid__body li { color: var(--muted); }
.content-grid__body ul { display: grid; gap: .8rem; }
.content-grid__body li { position: relative; padding-left: 1.5rem; }
.content-grid__body li::before { content: ""; position: absolute; left: 0; top: .72em; width: .45rem; height: .45rem; border-radius: 50%; background: var(--blue-500); }
.succession-overview { grid-template-columns: minmax(250px,.34fr) minmax(0,1fr); gap: clamp(4rem,9vw,9rem); }
.succession-overview .content-grid__aside .title { max-width: 9ch; font-size: clamp(2.65rem,4vw,4rem); overflow-wrap: normal; }
.succession-overview .intro-grid__statement { max-width: 16ch; font-size: clamp(2.65rem,4.5vw,4.25rem); }
.detail-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 2.4rem; }
.detail-card { position: relative; overflow: hidden; padding: 1.6rem; border: 1px solid var(--line); background: var(--white); transition: transform .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease); }
.detail-card::after { content: ""; position: absolute; right: -1.8rem; top: -1.8rem; width: 5rem; height: 5rem; border: 1px solid rgba(43,126,233,.12); border-radius: 50%; transform: scale(.55); opacity: 0; transition: transform .65s var(--ease),opacity .45s var(--ease); pointer-events: none; }
.detail-card:hover::after { transform: scale(1.5); opacity: 1; }
.detail-card:has(a):hover { z-index: 2; transform: translateY(-5px); border-color: var(--blue-300); box-shadow: var(--shadow-soft); }
.detail-card .inline-link::before { content: ""; position: absolute; inset: 0; }
.detail-card span { color: var(--blue-700); font-size: .68rem; font-weight: 800; letter-spacing: .14em; }
.detail-card h3 { margin-top: 1.7rem; font-family: var(--serif); font-size: 1.75rem; font-weight: 400; line-height: 1.05; letter-spacing: -.03em; }
.detail-card p { margin-top: .8rem; }
.service-directory .detail-cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
.service-directory .detail-card { min-height: 310px; display: flex; flex-direction: column; padding: 1.8rem; }
.service-directory .detail-card h3 { font-size: clamp(1.7rem,2.5vw,2.25rem); }
.service-directory .detail-card .inline-link { margin-top: auto; padding-top: 1.2rem; }
.timeline { margin-top: 3rem; border-left: 1px solid var(--line); }
.timeline__item { position: relative; padding: 0 0 2.7rem 2.2rem; }
.timeline__item::before { content: ""; position: absolute; left: -5px; top: .25rem; width: 9px; height: 9px; border-radius: 50%; background: var(--blue-500); box-shadow: 0 0 0 6px var(--ice); }
.timeline__item span { color: var(--blue-700); font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.timeline__item h3 { margin-top: .4rem; font-family: var(--serif); font-size: 1.8rem; font-weight: 400; letter-spacing: -.02em; }
.timeline__item p { margin-top: .6rem; }
.legal-note { margin-top: 2rem; padding: 1rem 1.2rem; border-left: 3px solid var(--blue-500); background: var(--ice); color: var(--muted); font-size: .82rem; }

.breadcrumb { display: flex; align-items: center; gap: .65rem; margin-bottom: 1.3rem; color: var(--muted-dark); font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.breadcrumb a { color: var(--blue-300); }
.service-subnav { position: sticky; top: 5.6rem; z-index: 30; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.94); backdrop-filter: blur(14px); }
.service-subnav .container { min-height: 62px; display: flex; align-items: center; gap: clamp(1rem,3vw,2.5rem); overflow-x: auto; scrollbar-width: none; }
.service-subnav a { min-height: 44px; display: inline-flex; align-items: center; flex: 0 0 auto; color: var(--muted); font-size: .72rem; font-weight: 800; }
.service-subnav a:last-child { margin-left: auto; color: var(--blue-700); }
.service-main, #quando-faz-sentido, #duvidas-do-servico { scroll-margin-top: 10.5rem; }
.service-main { background: var(--white); }
.service-main > .container { position: relative; }
.service-decision__grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(320px,.68fr); gap: clamp(3rem,8vw,8rem); align-items: start; }
.signal-list { display: grid; margin-top: 2.3rem; border-top: 1px solid var(--line); }
.signal-list li { position: relative; padding: 1.2rem 0 1.2rem 2.2rem; border-bottom: 1px solid var(--line); color: var(--ink); font-weight: 700; }
.signal-list li::before { content: "✓"; position: absolute; left: 0; top: 1.2rem; width: 1.35rem; height: 1.35rem; display: grid; place-items: center; border-radius: 50%; background: var(--blue-600); color: var(--white); font-size: .7rem; }
.service-faq { margin-top: 1.4rem; }
.related-services { margin-top: 5rem; padding-top: 2.4rem; border-top: 1px solid var(--line); }
.related-services > div { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.5rem; }
.related-services a { min-height: 150px; display: grid; grid-template-columns: 1fr 42px; align-content: center; gap: .5rem 1rem; padding: 1.5rem; border: 1px solid var(--line); background: var(--white); transition: border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease); }
.related-services a:hover { transform: translateY(-4px); border-color: var(--blue-300); box-shadow: var(--shadow-soft); }
.related-services a span { grid-column: 1; color: var(--blue-700); font-size: .64rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.related-services a strong { grid-column: 1; font-family: var(--serif); font-size: 1.7rem; font-weight: 400; line-height: 1.1; }
.related-services a i { grid-column: 2; grid-row: 1 / 3; align-self: center; width: 40px; height: 40px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 50%; color: transparent; font-size: 0; font-style: normal; }
.related-services a i::before { content: ""; width: 1rem; height: 1rem; background: var(--blue-700); -webkit-mask: url("../img/icon-arrow-up-right.svg") center/contain no-repeat; mask: url("../img/icon-arrow-up-right.svg") center/contain no-repeat; }

body[data-service="planejamento-tributario"] .hero--clean { background: radial-gradient(circle at 84% 20%,rgba(43,126,233,.32),transparent 30%),linear-gradient(135deg,#03101f,#0d3260); }
body[data-service="assessoria-contabil"] .hero--clean { background: radial-gradient(circle at 80% 15%,rgba(145,192,255,.19),transparent 28%),linear-gradient(145deg,#040d1a,#123052); }
body[data-service="abertura-e-legalizacao"] .hero--clean { background: radial-gradient(circle at 84% 18%,rgba(43,126,233,.32),transparent 29%),linear-gradient(145deg,#051326,#15427a); }
body[data-service="sucessao-familiar"] .hero--clean { background: radial-gradient(circle at 82% 15%,rgba(145,192,255,.18),transparent 26%),linear-gradient(145deg,#040d1a,#182a43); }
body[data-service="planejamento-sucessorio"] .hero--clean { background: radial-gradient(circle at 84% 18%,rgba(43,126,233,.25),transparent 29%),linear-gradient(145deg,#071426,#1b3761); }
body[data-service="aposentadoria"] .hero--clean { background: radial-gradient(circle at 82% 18%,rgba(145,192,255,.22),transparent 29%),linear-gradient(145deg,#06101f,#264364); }

@media (max-width: 1200px) {
  .home-contact-intro__grid { grid-template-columns: 1fr; align-items: start; }
  .home-contact-intro__action { max-width: 620px; justify-self: start; }
}

@media (max-width: 1080px) {
  .nav, .header-cta { display: none; }
  .mobile-header-cta { display: grid; }
  .brand__home-label { display: none; }
  .menu-toggle { display: flex; }
  .menu-toggle { margin-left: 0; }
  .section-heading, .chapter-heading { grid-template-columns: 1fr; gap: 1rem; }
  .health-cards, .services-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .health-cards--audiences .health-card { grid-column: auto; }
  .health-cards--audiences .health-card:last-child { grid-column: 1 / -1; }
  .legacy__grid { grid-template-columns: 1fr 1fr; gap: 3rem; }
  .trust-strip__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trust-strip__grid > div:nth-child(3), .trust-strip__grid > div:nth-child(4) { border-top: 1px solid var(--line-dark); }
  .method-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .method-step:nth-child(3), .method-step:nth-child(4) { border-top: 1px solid var(--line-dark); }
  .stage-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .stage-grid a:nth-child(2) { border-right: 0; }
  .stage-grid a:nth-child(3), .stage-grid a:nth-child(4) { border-top: 1px solid var(--line); }
  .stage-grid--expanded a:nth-child(odd) { border-right: 1px solid var(--line); }
  .stage-grid--expanded a:nth-child(even) { border-right: 0; }
  .stage-grid--expanded a:nth-child(n+3) { border-top: 1px solid var(--line); }
  .hero--story .hero__content, .hero--health .hero__content { grid-template-columns: minmax(0,55%) 1fr; padding-right: 0; }
  .environment-story { height: 205svh; }
  .environment-story__heading { top: 6.8rem; }
  .calendar-preview-grid { grid-template-columns: 1fr; }
  .calendar-preview-copy { max-width: 620px; }
  .calendar-layout { grid-template-columns: 1fr; }
  .calendar-events { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1.5rem; }
  .footer__grid { grid-template-columns: 1.2fr repeat(2,1fr); }
  .footer__column:last-child { grid-column: 2 / 4; }
  .service-decision__grid { grid-template-columns: 1fr; }
  .service-directory .detail-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 780px) {
  .container { width: min(calc(100% - 1.5rem), var(--container)); }
  .site-header { top: .45rem; width: calc(100% - .8rem); }
  .site-header__bar { min-height: 60px; padding: .35rem .42rem .35rem .75rem; }
  .brand img { width: 126px; height: auto; }
  .hero__content { width: min(calc(100% - 1.5rem),var(--container)); padding-top: 8.2rem; }
  .hero__content h1 { font-size: clamp(3.05rem,14.5vw,5rem); }
  .hero__media::after { background: linear-gradient(0deg,rgba(3,12,24,.98) 0%,rgba(3,12,24,.82) 55%,rgba(3,12,24,.28) 100%); }
  .hero__media img { object-position: center 18%; }
  .hero__proof { position: static; justify-items: start; margin-top: 3rem; padding-top: 1.4rem; border-top: 1px solid var(--line-dark); }
  .hero__proof span { text-align: left; }
  .hero--split { min-height: 0; display: flex; flex-direction: column; align-items: stretch; }
  .hero--split::before { display: none; }
  .hero--split .hero__media { position: relative; inset: auto; width: 100%; height: min(58svh,520px); margin-top: 4.2rem; }
  .hero--split .hero__media::after { background: linear-gradient(0deg,var(--navy-950),transparent 32%); }
  .hero--split .hero__media img { object-position: center 28%; }
  .hero--split .hero-carousel__slide--portrait img { object-position: center 30%; }
  .hero-carousel__controls { right: 1rem; bottom: .7rem; }
  .hero__caption { bottom: 6rem; }
  .hero--split .hero__content { width: min(calc(100% - 1.5rem),var(--container)); display: block; padding: 2.1rem 0 3.5rem; }
  .hero--split .hero__content h1 { font-size: clamp(3rem,14vw,4.9rem); }
  .hero--split .hero__proof { margin-top: 2.2rem; }
  .hero__caption { right: 1rem; bottom: 6rem; }
  .hero--internal { min-height: 68svh; }
  .hero--story .hero__content, .hero--health .hero__content, .hero--services .hero__content { display: block; padding-right: 0; }
  .story-seal, .health-orbit { right: -8rem; bottom: -5rem; width: 21rem; opacity: .24; }
  .health-orbit__track { visibility: hidden; }
  .story-seal strong, .story-seal span, .health-orbit > span, .health-orbit strong, .health-orbit small { visibility: hidden; }
  .service-constellation { right: -8rem; bottom: -6rem; width: 21rem; opacity: .2; }
  .service-constellation > * { visibility: hidden; }
  .trust-strip__grid { grid-template-columns: 1fr 1fr; }
  .trust-strip__grid > div { min-height: 102px; padding: 1rem; }
  .trust-strip strong { font-size: 1.3rem; }
  .specialties__top { padding-top: .8rem; }
  .ticker__item { padding-inline: 1.3rem; }
  .intro-grid, .legacy__grid, .faq-layout, .contact-grid, .content-grid, .method-intro { grid-template-columns: 1fr; }
  .chapter-section::before { top: 3rem; font-size: 9rem; }
  .journey-grid { margin-top: 2.7rem; }
  .journey-card { min-height: 0; grid-template-columns: 46px 1fr 38px; gap: .8rem; padding: 1.6rem .4rem; }
  .journey-card > span { font-size: 1.65rem; }
  .journey-card h3 { font-size: 1.65rem; }
  .journey-card p { font-size: .82rem; }
  .journey-card i { width: 36px; height: 36px; }
  .journey-card:hover { padding-inline: .7rem; }
  .health-cards, .services-grid { grid-template-columns: 1fr; }
  .health-cards--audiences .health-card:last-child { grid-column: auto; }
  .health-card { min-height: 300px; }
  .service-card { min-height: 280px; }
  .service-card__inner { transition-duration: .38s; }
  .service-card__front { opacity: 1; visibility: visible; }
  .service-card__back { opacity: 0; visibility: hidden; }
  .service-card.is-flipped .service-card__front { opacity: 0; visibility: hidden; }
  .service-card.is-flipped .service-card__back { opacity: 1; visibility: visible; }
  .method-intro .title { max-width: 15ch; }
  .method-grid { grid-template-columns: 1fr 1fr; margin-top: 3rem; }
  .method-step { min-height: 285px; padding: 1.25rem; }
  .legacy__photo { width: min(100%,560px); margin-inline: auto; }
  .environment-story { height: 500svh; }
  .environment-story__heading { top: 5.8rem; }
  .environment-story__title { font-size: clamp(.95rem,2.5vw,1.15rem); }
  .environment-story__card { width: 100vw; height: 100svh; }
  .environment-story__card figcaption { left: 1rem; right: 1rem; bottom: 5.6rem; }
  .people-section .legacy__photo { aspect-ratio: 1 / 1; }
  .calendar-events { grid-template-columns: 1fr; }
  .calendar-day { aspect-ratio: 1; font-size: .78rem; }
  .faq-answer p { padding-right: 0; }
  .cta-band__inner { min-height: 0; grid-template-columns: 1fr; align-content: center; padding-block: 5rem; }
  .cta-band__action { align-self: auto; }
  .home-contact-intro__grid { grid-template-columns: 1fr; align-items: start; }
  .home-contact-intro__action { max-width: 560px; }
  .map, .map iframe { min-height: 400px; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
  .footer__column:last-child { grid-column: auto; }
  .content-grid__aside { position: static; }
  .detail-cards { grid-template-columns: 1fr; }
  .service-directory .detail-cards { grid-template-columns: 1fr; }
  .service-subnav { top: 4.65rem; }
  .service-subnav .container { min-height: 54px; }
  .service-subnav a:last-child { margin-left: 0; }
}

@media (max-width: 480px) {
  .section { padding: 4.8rem 0; }
  .hero__actions { display: grid; }
  .hero__actions .btn, .content-grid__body .btn { width: 100%; max-width: 100%; white-space: normal; text-align: center; line-height: 1.3; padding-inline: 1rem; }
  .calendar-card { padding: .8rem; }
  .calendar-toolbar { margin-bottom: 1rem; }
  .calendar-weekdays span { font-size: .55rem; }
  .calendar-day { font-size: .72rem; }
  .contact-row { grid-template-columns: 1fr; gap: .25rem; }
  .contact-essentials { grid-template-columns: 1fr; }
  .contact-essentials > * { padding: .9rem 0; }
  .contact-essentials > *:nth-child(even) { padding-left: 0; border-left: 0; }
  .contact-essentials > *:nth-child(n+2) { border-top: 1px solid rgba(255,255,255,.18); }
  .footer__grid { grid-template-columns: 1fr; }
  .footer__brand, .footer__column:last-child { grid-column: auto; }
  .footer__bottom { flex-direction: column; }
  .wa-float { width: 52px; padding: 0; justify-content: center; }
  body:not(.page-scrolled) .wa-float { opacity: 0; pointer-events: none; transform: translateY(.7rem); }
  body.page-scrolled .wa-float { opacity: 1; pointer-events: auto; transform: none; }
  .wa-float__text { display: none; }
  .legacy__stamp { width: 58%; padding: 1.2rem; }
  .environment-story { height: 500svh; }
  .environment-story__heading { top: 5.3rem; }
  .environment-story__title { font-size: clamp(.88rem,3.5vw,1.05rem); }
  .environment-story__card figcaption { left: 1.25rem; right: 1.25rem; bottom: 5.5rem; display: block; }
  .environment-story__card figcaption span { display: block; margin-bottom: .4rem; font-size: 1.7rem; }
  .environment-story__card figcaption strong { display: block; max-width: 18ch; font-size: 1.35rem; }
  .environment-story__card figcaption small { display: none; }
  .calendar-section--preview { padding-block: 4.8rem; }
  .calendar-preview-grid { margin-top: 2.4rem; }
  .calendar-preview-copy h3 { font-size: 2.15rem; }
  .contact-essentials { grid-template-columns: 1fr; }
  .contact-essentials > * { padding: .85rem 0; border-top: 1px solid rgba(255,255,255,.18); }
  .contact-essentials > *:nth-child(even) { padding-left: 0; border-left: 0; }
  .home-contact-location { min-height: 0; margin-top: 3rem; grid-template-columns: 1fr; overflow: visible; }
  .home-contact-facade { aspect-ratio: 1225 / 1284; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.24); }
  .home-contact-map { min-height: 360px; }
  .legacy__photo figcaption { display: none; }
  .method-grid, .stage-grid { grid-template-columns: 1fr; }
  .method-step { min-height: 245px; border-right: 1px solid var(--line-dark); border-top: 1px solid var(--line-dark); }
  .method-step:first-child { border-top: 0; }
  .stage-grid a { min-height: 145px; border-right: 0; border-top: 1px solid var(--line); }
  .stage-grid--expanded a:nth-child(odd) { border-right: 0; }
  .stage-grid a:first-child { border-top: 0; }
  .trust-strip__grid { grid-template-columns: 1fr; }
  .trust-strip__grid > div { border-right: 1px solid var(--line-dark); border-top: 1px solid var(--line-dark); }
  .trust-strip__grid > div:first-child { border-top: 0; }
  .hero--split .hero__media { height: min(52svh,440px); }
  .hero--split .hero__media img { object-position: 51% 24%; }
  .hero--split .hero-carousel__slide--portrait img { object-position: center 25%; }
  .hero__caption { font-size: .56rem; }
  .cta-band__action { padding: 1.2rem; }
  .related-services > div { grid-template-columns: 1fr; }
  .service-subnav a { font-size: .66rem; }
}

@media (hover: none) {
  .service-card:hover .service-card__inner { transform: none; }
  .service-card:hover .service-card__button { pointer-events: auto; }
  .service-card.is-flipped .service-card__inner { transform: rotateY(180deg); }
  .service-card.is-flipped .service-card__button { pointer-events: none; }
  .method-step:hover, .calendar-event:hover { transform: none; }
  .principle:hover { padding-inline: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .ticker { overflow-x: auto; scrollbar-width: thin; }
  .ticker__track { animation: none; }
  .ticker__group[aria-hidden="true"] { display: none; }
  .service-depth-node { animation: none !important; opacity: 1; filter: none; }
  .service-depth-node:nth-child(1) { transform: translate(-50%,-50%) translate3d(0,-108px,0); }
  .service-depth-node:nth-child(2) { transform: translate(-50%,-50%) translate3d(135px,36px,0); }
  .service-depth-node:nth-child(3) { transform: translate(-50%,-50%) translate3d(-135px,36px,0); }
  .environment-story { height: 100svh; }
  .environment-story__track { transform: none !important; }
  .environment-story__progress span { transform: scaleX(1); }
}
