/* LA CARCACHA · Hoja única de estilos. Editar por secciones. */

/* 01 · Base, navegación y home */
@font-face {
  font-family:Lexend;
  src:url('assets/fonts/lexend.woff2') format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
:root {
  --blue:#0099cc;
  --blue-ink:#00789f;
  --black:#23272b;
  --white:#fff;
  --muted:#62686e;
  --line:#d7dce0;
  --soft:#f5f7f8;
  --gutter:clamp(22px,5.3vw,88px);
  --max:1440px;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}
body {
  margin:0;
  font-family:Lexend,Arial,sans-serif;
  color:var(--black);
  background:var(--white);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
body.menu-open {
  overflow:hidden;
}
h1,h2,h3,p,figure {
  margin:0;
}
h1,h2,h3 {
  font-weight:700;
  line-height:1.08;
  letter-spacing:-.05em;
}
h2 {
  font-size:clamp(30px,3.15vw,48px);
}
h3 {
  font-size:clamp(21px,1.8vw,28px);
}
img {
  display:block;
  max-width:100%;
  height:auto;
}
a {
  color:inherit;
  text-decoration:none;
}
button {
  font:inherit;
  color:inherit;
  cursor:pointer;
}
button,a,summary {
  -webkit-tap-highlight-color:transparent;
}
button {
  touch-action:manipulation;
}
button:disabled {
  opacity:.3;
  cursor:default;
}
a,button,summary {
  outline-offset:6px;
}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline:3px solid var(--blue);
}
[hidden] {
  display:none!important;
}
::selection {
  background:var(--blue);
  color:#fff;
}
.container {
  width:min(100% - var(--gutter)*2,var(--max));
  margin-inline:auto;
}
.section-pad {
  padding-block:clamp(60px,7vw,108px);
}
.eyebrow {
  font-size:13px;
  line-height:1.4;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:18px;
  color:var(--muted);
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:18px;
  font-size:15px;
  font-weight:500;
  text-decoration:underline;
  text-underline-offset:5px;
  text-decoration-thickness:1px;
  min-height:44px;
}
.text-link span {
  font-size:23px;
  text-decoration:none;
  transition:transform .2s;
}
.text-link:hover span {
  transform:translate(3px,-3px);
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  min-height:54px;
  padding:15px 23px;
  border:1px solid transparent;
  border-radius:3px;
  font-size:14px;
  font-weight:500;
  line-height:1.4;
  transition:background .2s,transform .2s,box-shadow .2s;
}
.button span {
  font-size:23px;
  line-height:1;
}
.button-dark {
  background:var(--black);
  color:white;
}
.button-dark:hover {
  background:#101417;
  transform:translateY(-3px);
  box-shadow:5px 5px 0 var(--blue);
}
.skip-link {
  position:fixed;
  top:8px;
  left:12px;
  padding:14px 22px;
  background:white;
  color:var(--black);
  z-index:100;
  transform:translateY(-150%);
}
.skip-link:focus {
  transform:none;
}
.site-header {
  height:84px;
  background:var(--black);
  color:white;
  position:sticky;
  top:0;
  z-index:50;
}
.header-inner {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
}
.brand {
  display:block;
  flex-shrink:0;
  width:220px;
}
.brand img {
  width:100%;
  height:auto;
}
.main-nav {
  display:flex;
  align-items:center;
  gap:34px;
  font-size:14px;
}
.main-nav>a,.nav-trigger {
  min-height:44px;
  display:flex;
  align-items:center;
  white-space:nowrap;
}
.main-nav a:hover,.nav-trigger:hover {
  color:#5ad0f6;
}
.nav-trigger {
  border:0;
  background:transparent;
  padding:0;
  gap:10px;
  font-size:14px;
}
.nav-trigger span {
  color:#3db9e3;
}
.nav-group {
  position:relative;
}
.nav-panel {
  position:absolute;
  right:-20px;
  top:calc(100% + 12px);
  width:290px;
  padding:12px;
  background:white;
  color:var(--black);
  box-shadow:0 15px 40px #0002;
  border-top:3px solid var(--blue);
}
.nav-panel a {
  display:block;
  padding:12px 14px;
  font-size:14px;
  line-height:1.4;
}
.nav-panel a:hover {
  color:var(--blue-ink);
  background:var(--soft);
}
.menu-toggle {
  display:none;
  border:0;
  background:transparent;
  padding:10px;
  min-height:44px;
}
.hero {
  overflow:hidden;
  background:white;
}
.hero-inner {
  position:relative;
  min-height:650px;
  min-height:clamp(620px,49vw,790px);
  display:flex;
  align-items:center;
}
.hero-copy {
  position:relative;
  z-index:2;
  padding-block:70px 100px;
  pointer-events:none;
}
.hero-copy a {
  pointer-events:auto;
}
.hero-kicker {
  font-size:clamp(22px,2.4vw,35px);
  font-weight:600;
  color:var(--blue-ink);
  margin-bottom:15px;
  letter-spacing:-.04em;
}
.hero h1 {
  font-size:clamp(66px,7.35vw,119px);
  line-height:.95;
  font-weight:800;
  letter-spacing:-.065em;
  color:var(--blue);
  margin-left:-.055em;
}
.hero h1 span {
  display:block;
}
.hero-subtitle {
  font-size:clamp(19px,2vw,29px);
  font-weight:600;
  line-height:1.2;
  letter-spacing:-.035em;
  margin:27px 0 31px;
  max-width:630px;
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:34px;
}
.hero-photo {
  position:absolute;
  right:calc(var(--gutter)*-.65);
  bottom:0;
  width:40%;
  height:100%;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
}
.hero-photo img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:right bottom;
}
.hero-actions .button {
  box-shadow:5px 5px 0 #b1ebfb;
}
.ticker-shell {
  overflow:hidden;
  padding:24px 0;
  margin-top:-40px;
  position:relative;
  z-index:3;
  pointer-events:none;
}
.ticker {
  background:var(--blue);
  color:#09141a;
  transform:rotate(-2.2deg);
  width:104%;
  margin-left:-2%;
  padding:19px 0;
  position:relative;
  pointer-events:auto;
}
.ticker-track {
  display:flex;
  width:max-content;
  animation:ticker 32s linear infinite;
  will-change:transform;
}
.ticker-track>span {
  flex-shrink:0;
  white-space:nowrap;
  font-size:clamp(22px,2.25vw,34px);
  font-weight:750;
  letter-spacing:-.02em;
}
.ticker b {
  display:inline-block;
  margin-inline:28px;
  font-size:1.2em;
  line-height:.7;
  vertical-align:middle;
}
.ticker-control {
  position:absolute;
  right:5%;
  top:50%;
  transform:translateY(-50%);
  height:36px;
  width:36px;
  border:1px solid #23333b66;
  background:var(--blue);
  border-radius:50%;
  box-shadow:0 0 0 8px var(--blue);
  font-size:15px;
}
.ticker.paused .ticker-track {
  animation-play-state:paused;
}
@keyframes ticker {
  to {
    transform:translateX(-50%);
  }
}
.intro {
  padding-top:65px;
}
.intro-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8%;
}
.intro h2 {
  max-width:610px;
}
.intro-copy {
  font-size:17px;
  line-height:1.6;
  margin:24px 0 22px;
  max-width:610px;
}
.credentials {
  border-left:1px solid var(--line);
  padding-left:12%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.years {
  display:flex;
  gap:24px;
  align-items:center;
  margin-bottom:23px;
}
.years>strong {
  font-size:clamp(88px,9.6vw,145px);
  line-height:1;
  letter-spacing:-.09em;
  color:var(--blue);
  font-weight:750;
}
.years>strong span {
  font-size:.62em;
  vertical-align:15%;
  margin-left:3px;
}
.years p {
  font-size:15px;
  line-height:1.5;
}
.stats {
  margin:0;
}
.stats>div {
  display:flex;
  gap:10px;
  padding-block:10px;
  font-size:15px;
  border-bottom:1px solid var(--line);
}
.stats>div:last-child {
  border:0;
}
.stats dt {
  font-size:22px;
  font-weight:650;
  letter-spacing:-.04em;
  min-width:90px;
}
.stats dd {
  margin:0;
  align-self:center;
  line-height:1.4;
}
.services {
  background:var(--black);
  color:white;
  overflow:hidden;
}
.services-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8%;
  align-items:start;
}
.services .eyebrow {
  color:#a0a8b0;
}
.services h2 {
  max-width:600px;
}
.services-photo {
  margin-top:32px;
  aspect-ratio:1.95;
  object-fit:cover;
  width:100%;
  filter:grayscale(1);
  object-position:center 50%;
  opacity:.9;
}
.service-list {
  padding-top:25px;
}
.service {
  border-bottom:1px solid #ffffff4d;
}
.service:first-child {
  border-top:1px solid #ffffff4d;
}
.service summary {
  display:flex;
  align-items:center;
  gap:20px;
  padding:24px 0;
  cursor:pointer;
  list-style:none;
}
.service summary::-webkit-details-marker,.faq summary::-webkit-details-marker {
  display:none;
}
.service-number {
  font-size:20px;
  font-weight:400;
  color:#bdc2c5;
  letter-spacing:-.04em;
}
.service h3 {
  font-size:clamp(25px,2.4vw,37px);
  font-weight:600;
  letter-spacing:-.04em;
}
.toggle-symbol {
  flex:0 0 20px;
  width:20px;
  height:20px;
  margin-left:auto;
  position:relative;
}
.toggle-symbol:before,.toggle-symbol:after {
  content:'';
  position:absolute;
  background:currentColor;
  left:0;
  top:9px;
  width:20px;
  height:2px;
}
.toggle-symbol:after {
  transform:rotate(90deg);
  transition:transform .2s;
}
details[open]>summary .toggle-symbol:after {
  transform:rotate(0);
}
.service[open] summary,.service[open] .service-number {
  color:#24b9e8;
}
.service-body {
  padding:0 0 26px 43px;
}
.service-body p {
  font-size:16px;
  line-height:1.6;
  color:#e0e3e5;
  margin-bottom:17px;
  max-width:520px;
}
.service-body .text-link {
  font-size:14px;
}
.work h2 {
  max-width:1020px;
  font-size:clamp(33px,4vw,62px);
  margin-bottom:40px;
}
.case-grid {
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:35px 32px;
}
.case-marathon {
  grid-column:1;
  grid-row:1;
}
.case-air {
  grid-column:1;
  grid-row:2;
}
.case-persa {
  grid-column:2;
  grid-row:1 / span 2;
  display:flex;
  flex-direction:column;
}
.case-image {
  position:relative;
  overflow:hidden;
  background:var(--soft);
}
.case-image img {
  width:100%;
  aspect-ratio:2.15;
  object-fit:cover;
  transition:transform .55s;
}
.case-persa .case-image {
  flex:1;
}
.case-persa .case-image img {
  height:100%;
  position:absolute;
  inset:0;
  aspect-ratio:auto;
  object-position:center;
}
.case-open {
  position:absolute;
  right:17px;
  bottom:17px;
  background:white;
  color:var(--black);
  border-radius:50%;
  height:44px;
  width:44px;
  display:grid;
  place-items:center;
  font-size:26px;
  transition:background .2s,transform .2s;
}
.case:hover img {
  transform:scale(1.035);
}
.case:hover .case-open {
  background:var(--blue);
  transform:rotate(5deg);
}
.case-caption {
  padding-top:16px;
}
.case-caption h3 {
  font-size:22px;
  font-weight:600;
  letter-spacing:-.03em;
}
.case-caption p {
  font-size:15px;
  color:var(--muted);
  margin-top:7px;
}
.client-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:70px;
}
.client-head .eyebrow {
  margin:0;
}
.slider-buttons {
  display:flex;
  align-items:center;
  gap:12px;
}
.slider-buttons button {
  width:44px;
  height:44px;
  border:1px solid var(--line);
  background:transparent;
  border-radius:50%;
  font-size:24px;
  line-height:1;
  transition:background .2s;
}
.slider-buttons button:hover:enabled {
  background:var(--blue);
  color:var(--black);
  border-color:var(--blue);
}
.clients {
  display:flex;
  gap:clamp(35px,5vw,75px);
  overflow-x:auto;
  padding:30px 0 18px;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  scrollbar-color:#cad2d8 transparent;
}
.clients img {
  flex:0 0 135px;
  width:135px;
  height:80px;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.65;
  scroll-snap-align:start;
  transition:opacity .2s,filter .2s;
}
.clients img:hover {
  filter:none;
  opacity:1;
}
.reviews {
  padding-top:15px;
}
.review-grid {
  display:grid;
  grid-template-columns:.8fr 1.3fr;
  gap:8%;
  border-top:1px solid var(--line);
  padding-top:64px;
}
.review-intro h2 {
  font-size:clamp(30px,3vw,45px);
  max-width:390px;
}
.google-label {
  font-size:13px;
  color:var(--muted);
  margin-top:24px;
}
.google-label>span {
  letter-spacing:.16em;
  color:var(--blue-ink);
  font-size:22px;
}
.review-controls {
  margin-top:26px;
}
.review-controls>span {
  font-size:13px;
  font-variant-numeric:tabular-nums;
  min-width:58px;
  text-align:center;
}
.review-stage {
  position:relative;
  padding-left:65px;
  min-height:345px;
}
.quote-mark {
  position:absolute;
  top:-33px;
  left:-5px;
  font-family:Georgia,serif;
  font-size:120px;
  color:var(--blue);
  line-height:1.2;
}
.review-item blockquote {
  margin:0;
  font-size:clamp(18px,1.5vw,23px);
  line-height:1.6;
  letter-spacing:-.015em;
}
.review-item figcaption {
  margin-top:28px;
  font-size:15px;
  font-weight:600;
}
.review-item figcaption>span {
  display:block;
  color:var(--muted);
  font-size:13px;
  font-weight:400;
  margin-top:3px;
}
.process {
  background:var(--blue);
  padding-block:70px;
}
.process-grid {
  display:grid;
  grid-template-columns:1.7fr 1fr;
  gap:40px;
  align-items:center;
}
.process h2 {
  font-size:clamp(36px,4.3vw,67px);
  line-height:1.04;
  letter-spacing:-.055em;
  color:#10232b;
}
.process h2 span {
  color:white;
}
.process-action {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
}
.process-star {
  font-size:76px;
  line-height:1;
  color:#10232b;
  margin-bottom:8px;
}
.process .text-link {
  font-size:14px;
  color:#10232b;
}
.process .button:hover {
  box-shadow:5px 5px 0 #fff;
}
.faq-grid {
  display:grid;
  grid-template-columns:.8fr 1.3fr;
  gap:8%;
}
.faq h2 {
  max-width:350px;
}
.faq-list details {
  border-bottom:1px solid var(--line);
}
.faq-list details:first-child {
  border-top:1px solid var(--line);
}
.faq summary {
  display:flex;
  align-items:center;
  gap:22px;
  cursor:pointer;
  list-style:none;
  padding:23px 0;
  font-size:16px;
  font-weight:500;
  line-height:1.5;
}
.faq details[open] summary {
  color:var(--blue-ink);
}
.faq details p {
  font-size:16px;
  line-height:1.65;
  padding:0 32px 25px 0;
  color:var(--muted);
}
.faq details p a {
  text-decoration:underline;
  text-underline-offset:3px;
  color:var(--blue-ink);
}
.footer {
  background:var(--black);
  color:white;
  padding:75px 0 28px;
  position:relative;
  overflow:hidden;
}
.footer-top {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:80px;
  align-items:center;
  padding-bottom:60px;
}
.footer h2 {
  font-size:clamp(70px,8.8vw,132px);
  line-height:.91;
  letter-spacing:-.065em;
}
.footer h2>span {
  color:var(--blue);
}
.footer-contact {
  display:flex;
  flex-direction:column;
  max-width:390px;
  width:100%;
  justify-self:end;
}
.footer-contact a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #ffffff40;
  padding:18px 0;
  font-size:23px;
  letter-spacing:-.025em;
}
.footer-contact a:hover {
  color:#3fc5f2;
}
.footer-contact a>span {
  font-size:30px;
}
.footer-bottom {
  border-top:1px solid #ffffff30;
  padding-top:34px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:32px;
}
.social-links {
  display:flex;
  gap:30px;
  font-size:14px;
}
.social-links a:hover,.legal a:hover {
  text-decoration:underline;
  text-underline-offset:4px;
}
.legal {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  margin-top:34px;
  font-size:12px;
  color:#b9bfc4;
}
.legal>div {
  display:flex;
  gap:25px;
}
.legal p span {
  color:#43bfe6;
}
.whatsapp-float {
  position:fixed;
  bottom:23px;
  right:23px;
  width:58px;
  height:58px;
  background:#19c966;
  color:#fff;
  border-radius:50%;
  z-index:40;
  display:grid;
  place-items:center;
  box-shadow:0 4px 18px #0002;
  transition:transform .2s;
}
.whatsapp-float:hover {
  transform:translateY(-4px);
}
.whatsapp-float svg {
  width:34px;
  height:34px;
}
@media(min-width:1700px) {
  .hero-photo {
    right:0;
    width:39%;
  }
  .hero-inner {
    min-height:790px;
  }
  .hero h1 {
    font-size:119px;
  }
}
@media(max-width:1100px) {
  .main-nav {
    gap:22px;
  }
  .brand {
    width:185px;
  }
  .hero-inner {
    min-height:560px;
  }
  .hero-copy {
    padding-block:60px 80px;
  }
  .hero h1 {
    font-size:7.35vw;
  }
  .hero-photo {
    width:42%;
    right:calc(var(--gutter)*-.6);
  }
  .hero-subtitle {
    max-width:460px;
  }
  .hero-actions {
    gap:25px;
    align-items:flex-start;
    flex-direction:column;
  }
  .hero-actions .text-link {
    min-height:30px;
  }
  .intro-grid,.services-grid {
    gap:5%;
  }
  .credentials {
    padding-left:8%;
  }
  .years {
    gap:15px;
  }
  .years p {
    font-size:13px;
  }
  .stats>div {
    display:block;
  }
  .stats dd {
    font-size:14px;
  }
  .stats dt {
    font-size:23px;
  }
  .service-body {
    padding-left:0;
  }
  .process-grid {
    grid-template-columns:1.5fr 1fr;
  }
  .process h2 {
    font-size:4.7vw;
  }
  .case-caption h3 {
    font-size:20px;
  }
}
@media(max-width:760px) {
  :root {
    --gutter:24px;
  }
  html {
    scroll-padding-top:90px;
  }
  .site-header {
    height:72px;
  }
  .brand {
    width:172px;
  }
  .menu-toggle {
    display:flex;
    align-items:center;
    gap:14px;
    font-size:14px;
    z-index:2;
  }
  .menu-icon {
    position:relative;
    width:22px;
    height:16px;
    border-top:2px solid white;
    border-bottom:2px solid white;
  }
  .menu-icon:after {
    content:'';
    position:absolute;
    top:5px;
    left:0;
    width:22px;
    height:2px;
    background:white;
    transition:transform .2s;
  }
  .menu-toggle[aria-expanded="true"] .menu-icon {
    border-color:transparent;
  }
  .menu-toggle[aria-expanded="true"] .menu-icon:before {
    content:'';
    position:absolute;
    top:5px;
    left:0;
    width:22px;
    height:2px;
    background:white;
    transform:rotate(-45deg);
  }
  .menu-toggle[aria-expanded="true"] .menu-icon:after {
    transform:rotate(45deg);
  }
  .main-nav {
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:72px;
    background:var(--black);
    padding:18px var(--gutter) 30px;
    max-height:calc(100dvh - 72px);
    overflow-y:auto;
    border-top:1px solid #ffffff25;
    box-shadow:0 20px 25px #0002;
    gap:0;
  }
  .main-nav.is-open {
    display:block;
  }
  .main-nav>a,.nav-trigger {
    padding-block:17px;
    font-size:20px;
    width:100%;
    text-align:left;
  }
  .nav-group,.main-nav>a {
    border-bottom:1px solid #ffffff26;
  }
  .nav-trigger {
    justify-content:space-between;
  }
  .nav-panel {
    position:static;
    width:100%;
    box-shadow:none;
    border-top:0;
    background:#ffffff08;
    color:white;
    padding:4px 12px 10px;
  }
  .nav-panel a {
    font-size:15px;
  }
  .nav-panel a:hover {
    background:#ffffff10;
    color:#58d3fc;
  }
  .hero-inner {
    min-height:0;
    display:block;
    padding-top:43px;
  }
  .hero-copy {
    padding:0;
    pointer-events:auto;
  }
  .hero-kicker {
    font-size:21px;
    margin-bottom:10px;
  }
  .hero h1 {
    font-size:clamp(41px,9.3vw,70px);
    letter-spacing:-.065em;
    line-height:1.02;
  }
  .hero-subtitle {
    font-size:21px;
    max-width:440px;
    margin:22px 0 25px;
  }
  .hero-actions {
    gap:14px;
    position:relative;
    z-index:2;
  }
  .hero-actions .button {
    min-height:51px;
    font-size:13px;
    gap:16px;
    padding-inline:18px;
  }
  .hero-actions .text-link {
    font-size:14px;
  }
  .hero-photo {
    position:relative;
    width:66%;
    height:auto;
    right:auto;
    margin-left:auto;
    margin-top:-50px;
    pointer-events:none;
    z-index:0;
  }
  .hero-photo img {
    height:auto;
    width:100%;
    max-height:510px;
    object-fit:contain;
    object-position:bottom;
  }
  .ticker-shell {
    margin-top:-25px;
    padding-block:20px;
  }
  .ticker {
    padding-block:16px;
    transform:rotate(-3deg);
  }
  .ticker-track>span {
    font-size:23px;
  }
  .ticker b {
    margin-inline:18px;
  }
  .ticker-control {
    right:8%;
    width:32px;
    height:32px;
  }
  .intro {
    padding-top:45px;
  }
  .intro-grid,.services-grid,.review-grid,.faq-grid {
    grid-template-columns:1fr;
    gap:40px;
  }
  .intro h2 {
    font-size:34px;
    max-width:530px;
  }
  .intro-copy {
    font-size:16px;
  }
  .credentials {
    padding:30px 0 0;
    border-left:0;
    border-top:1px solid var(--line);
  }
  .years {
    gap:25px;
    justify-content:flex-start;
    margin-bottom:22px;
  }
  .years>strong {
    font-size:108px;
  }
  .years p {
    font-size:15px;
  }
  .stats {
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:18px;
  }
  .stats>div {
    border:0;
    padding:0;
  }
  .stats dt {
    font-size:26px;
    margin-bottom:5px;
    min-width:0;
  }
  .stats dd {
    font-size:13px;
    line-height:1.55;
  }
  .services h2 {
    font-size:34px;
    max-width:580px;
  }
  .services-photo {
    max-height:265px;
    aspect-ratio:1.8;
  }
  .service-list {
    padding-top:0;
  }
  .service h3 {
    font-size:29px;
  }
  .service summary {
    padding:22px 0;
  }
  .service-body {
    padding-left:42px;
  }
  .work h2 {
    font-size:36px;
    margin-bottom:30px;
  }
  .case-grid {
    grid-template-columns:1fr;
    gap:34px;
  }
  .case-marathon,.case-air,.case-persa {
    grid-row:auto;
    grid-column:auto;
  }
  .case-persa {
    display:block;
  }
  .case-image img,.case-persa .case-image img {
    position:static;
    height:auto;
    aspect-ratio:1.5;
    object-fit:cover;
  }
  .case-caption h3 {
    font-size:23px;
  }
  .case-caption p {
    font-size:14px;
  }
  .client-head {
    margin-top:47px;
    align-items:flex-end;
  }
  .client-head .eyebrow {
    font-size:12px;
    max-width:200px;
  }
  .slider-buttons button {
    width:40px;
    height:40px;
  }
  .clients {
    gap:32px;
  }
  .clients img {
    flex-basis:120px;
    width:120px;
    height:70px;
  }
  .reviews {
    padding-top:0;
  }
  .review-grid {
    padding-top:45px;
    gap:30px;
  }
  .review-intro h2 {
    font-size:34px;
    max-width:480px;
  }
  .google-label {
    margin-top:20px;
  }
  .review-controls {
    margin-top:18px;
  }
  .review-stage {
    padding-left:37px;
    min-height:365px;
  }
  .quote-mark {
    font-size:80px;
    top:-20px;
    left:-9px;
  }
  .review-item blockquote {
    font-size:18px;
  }
  .review-item figcaption {
    margin-top:20px;
  }
  .process-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  .process h2 {
    font-size:clamp(32px,6.6vw,50px);
  }
  .process-action {
    align-items:flex-start;
    position:relative;
    padding-top:10px;
  }
  .process-star {
    position:absolute;
    right:0;
    top:13px;
    font-size:55px;
  }
  .process .button {
    max-width:calc(100% - 64px);
    font-size:13px;
    gap:12px;
    padding-inline:15px;
  }
  .faq h2 {
    font-size:34px;
    max-width:450px;
  }
  .faq summary {
    font-size:15px;
    gap:20px;
  }
  .footer {
    padding:55px 0 95px;
  }
  .footer-top {
    grid-template-columns:1fr;
    gap:38px;
    padding-bottom:38px;
  }
  .footer h2 {
    font-size:clamp(74px,16vw,114px);
  }
  .footer-contact {
    justify-self:start;
    max-width:none;
  }
  .footer-contact a {
    font-size:21px;
  }
  .footer-bottom {
    align-items:flex-start;
    flex-direction:column;
    gap:25px;
    padding-top:30px;
  }
  .social-links {
    gap:26px;
  }
  .legal {
    flex-direction:column;
    align-items:flex-start;
    font-size:12px;
    gap:20px;
  }
  .legal>div {
    flex-wrap:wrap;
    gap:18px;
  }
  .whatsapp-float {
    right:17px;
    bottom:17px;
    width:53px;
    height:53px;
  }
}
@media(max-width:760px) {
  .hero-inner {
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .hero-copy {
    order:1;
  }
  .hero-photo {
    order:2;
    margin-top:12px;
    width:66%;
  }
  .legal {
    padding-right:48px;
  }
}
@media(max-width:390px) {
  :root {
    --gutter:20px;
  }
  .hero h1 {
    font-size:10.3vw;
  }
  .hero-subtitle {
    font-size:19px;
  }
  .hero-photo {
    margin-top:10px;
    width:66%;
  }
  .desktop-break {
    display:none;
  }
  .stats {
    gap:12px;
  }
  .stats dt {
    font-size:23px;
  }
  .stats dd {
    font-size:12px;
  }
  .service h3 {
    font-size:26px;
  }
  .process h2 {
    font-size:8.1vw;
  }
  .process-star {
    display:none;
  }
  .process .button {
    max-width:100%;
  }
  .review-stage {
    min-height:420px;
  }
}
.clients {
  gap:60px;
  padding:36px 0 24px;
  scroll-snap-type:none;
}
.clients img {
  flex:0 0 230px;
  width:230px;
  height:145px;
  opacity:.8;
}
.clients.is-looping {
  display:block;
  overflow:hidden;
  scrollbar-width:none;
}
.clients-track {
  display:flex;
  width:max-content;
  animation:client-loop 110s linear infinite;
  animation-play-state:paused;
}
.clients-group {
  display:flex;
  align-items:center;
  gap:60px;
  padding-right:60px;
  flex-shrink:0;
}
.clients.is-in-view .clients-track {
  animation-play-state:running;
}
.clients.is-paused .clients-track,.clients.is-page-hidden .clients-track,.clients:focus-within .clients-track {
  animation-play-state:paused;
}
.client-motion-toggle {
  display:inline-flex;
  align-items:center;
  gap:9px;
  flex-shrink:0;
  min-height:44px;
  padding:8px 14px;
  border:1px solid var(--line);
  border-radius:30px;
  background:transparent;
  font-size:13px;
}
.client-motion-toggle:hover {
  border-color:var(--blue);
  color:var(--blue-ink);
}
.client-motion-toggle>span:first-child {
  font-size:17px;
  width:17px;
  text-align:center;
}
@keyframes client-loop {
  to {
    transform:translateX(-50%);
  }
}
@media(hover:hover) {
  .clients:hover .clients-track {
    animation-play-state:paused;
  }
}
@media(max-width:760px) {
  .clients {
    padding:25px 0 15px;
  }
  .clients img {
    flex-basis:180px;
    width:180px;
    height:116px;
  }
  .clients-group {
    gap:34px;
    padding-right:34px;
  }
  .clients-track {
    animation-duration:90s;
  }
  .client-head .eyebrow {
    max-width:190px;
  }
  .client-motion-toggle {
    padding-inline:10px;
    font-size:12px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
  }
  .ticker-control,.client-motion-toggle {
    display:none!important;
  }
  .clients.is-looping {
    overflow-x:auto;
    scrollbar-width:thin;
  }
  .clients-copy {
    display:none!important;
  }
  .clients-track {
    transform:none!important;
  }
}
@media print {
  .clients.is-looping {
    overflow:visible;
  }
  .clients-track {
    animation:none;
    transform:none;
    width:auto;
  }
  .clients-group {
    flex-wrap:wrap;
    width:100%;
    gap:20px;
    padding:0;
  }
  .clients-copy,.client-motion-toggle {
    display:none!important;
  }
}
@media print {
  .site-header {
    position:static;
  }
  .main-nav,.whatsapp-float,.ticker-control,.slider-buttons {
    display:none!important;
  }
  .hero-inner {
    min-height:500px;
  }
  .ticker-track {
    animation:none;
  }
  .section-pad {
    padding-block:32px;
  }
  .case {
    break-inside:avoid;
  }
  .footer {
    padding:30px 0;
  }
  .review-stage {
    min-height:0;
  }
  details>div,details>p {
    display:block!important;
  }
}

/* 02 · Marketing */
.marketing-page .site-header {
  background:white;
  color:var(--black);
  border-bottom:1px solid #23272b0d;
}
.marketing-page .nav-contact {
  background:var(--black);
  color:white;
  padding:10px 20px;
  gap:18px;
  border-radius:3px;
}
.marketing-page .nav-contact:hover {
  background:var(--blue);
  color:var(--black);
}
.marketing-page .main-nav a:hover,
.marketing-page .nav-trigger:hover {
  color:var(--blue-ink);
}
.marketing-page .nav-panel [aria-current="page"] {
  background:var(--soft);
  color:var(--blue-ink);
}
:where(.marketing-page) .marketing-hero {
  padding-top:48px;
  overflow:hidden;
}
:where(.marketing-page) .marketing-hero-grid {
  display:grid;
  grid-template-columns:1.07fr 1fr;
  align-items:center;
  gap:5%;
  padding-block:22px 50px;
}
:where(.marketing-page) .marketing-hero-copy {
  padding-bottom:15px;
}
:where(.marketing-page) .marketing-hero-copy .eyebrow {
  font-size:12px;
  margin-bottom:10px;
}
:where(.marketing-page) .marketing-label {
  color:var(--blue-ink);
  font-size:24px;
  font-weight:600;
  letter-spacing:-.045em;
  margin-bottom:20px;
}
:where(.marketing-page) .marketing-hero h1 {
  font-size:clamp(34px,3.7vw,58px);
  line-height:1.08;
  letter-spacing:-.058em;
  font-weight:750;
}
:where(.marketing-page) .marketing-hero h1>span {
  display:inline-block;
  color:var(--blue);
  position:relative;
  white-space:nowrap;
  padding-bottom:12px;
}
:where(.marketing-page) .marketing-hero h1>span:after,
:where(.marketing-page) .marketing-hero h1>span:before {
  content:'';
  position:absolute;
  bottom:0;
  left:13%;
  width:75%;
  border-bottom:3px solid var(--blue);
  transform:rotate(-3deg);
  border-radius:50%;
}
:where(.marketing-page) .marketing-hero h1>span:before {
  bottom:-5px;
  left:22%;
  width:60%;
  transform:rotate(-1deg);
}
:where(.marketing-page) .marketing-lead {
  max-width:520px;
  margin-block:28px 26px;
  font-size:16px;
  line-height:1.65;
  color:#50575c;
}
:where(.marketing-page) .marketing-hero-visual {
  position:relative;
  min-width:0;
  margin-left:12px;
}
:where(.marketing-page) .marketing-photo-mount {
  position:relative;
}
:where(.marketing-page) .marketing-photo-mount:before {
  content:'';
  position:absolute;
  inset:-22px -22px 48px 35px;
  background:var(--blue);
}
:where(.marketing-page) .marketing-main-photo {
  position:relative;
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:cover;
}
:where(.marketing-page) .marketing-photo-detail {
  position:absolute;
  bottom:30px;
  left:-36px;
  width:42%;
  aspect-ratio:1.13;
  background:white;
  border:6px solid white;
  box-shadow:0 8px 25px #0002;
  transform:rotate(-7deg);
}
:where(.marketing-page) .detail-crop {
  position:absolute;
  inset:0;
  overflow:hidden;
}
:where(.marketing-page) .marketing-photo-detail img {
  position:absolute;
  bottom:0;
  width:100%;
  height:auto;
}
:where(.marketing-page) .marketing-photo-detail>span {
  position:absolute;
  right:-18px;
  top:-22px;
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:50%;
  background:var(--black);
  color:white;
  font-size:32px;
  transform:rotate(7deg);
}
:where(.marketing-page) .marketing-hero-visual figcaption {
  color:var(--muted);
  font-size:10px;
  text-align:right;
  margin-top:10px;
}
:where(.marketing-page) .marketing-local-nav {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  padding-block:8px 12px;
}
:where(.marketing-page) .marketing-local-nav a {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:20px;
  min-height:52px;
  font-size:14px;
  transition:color .2s;
}
:where(.marketing-page) .marketing-local-nav a span {
  font-size:22px;
  transition:transform .2s;
}
:where(.marketing-page) .marketing-local-nav a:hover {
  color:var(--blue-ink);
}
:where(.marketing-page) .marketing-local-nav a:hover span {
  transform:translateY(4px);
}
:where(.marketing-page) .marketing-manifesto {
  background:var(--blue);
  padding-block:38px;
  color:#10232b;
}
:where(.marketing-page) .manifesto-grid {
  display:grid;
  grid-template-columns:1fr 1.7fr;
  gap:50px;
  align-items:center;
}
:where(.marketing-page) .manifesto-grid>p {
  font-size:17px;
  line-height:1.5;
  font-weight:500;
  padding-right:40px;
  border-right:1px solid #10232b55;
}
:where(.marketing-page) .manifesto-grid h2 {
  font-size:clamp(25px,2.6vw,40px);
  line-height:1.16;
}
:where(.marketing-page) .marketing-services .eyebrow {
  color:var(--blue-ink);
  margin-bottom:14px;
}
:where(.marketing-page) .marketing-services h2 {
  font-size:clamp(34px,4vw,58px);
}
:where(.marketing-page) .marketing-service-grid {
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  grid-template-rows:1fr 1fr;
  margin-top:44px;
}
:where(.marketing-page) .marketing-service-feature {
  grid-row:1 / 3;
  padding-right:32px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:28px;
}
:where(.marketing-page) .feature-heading {
  display:flex;
  align-items:flex-start;
  gap:16px;
}
:where(.marketing-page) .feature-number {
  font-size:clamp(75px,8vw,128px);
  font-weight:750;
  letter-spacing:-.09em;
  color:#ace3f4;
  line-height:.94;
  margin-left:-.03em;
}
:where(.marketing-page) .feature-heading h3 {
  font-size:clamp(22px,2vw,29px);
  padding-top:7px;
}
:where(.marketing-page) .marketing-service-grid p {
  font-size:14px;
  line-height:1.6;
  color:var(--muted);
  margin-top:14px;
}
:where(.marketing-page) .marketing-service-feature>img {
  width:100%;
  aspect-ratio:1.62;
  object-fit:cover;
  object-position:center 46%;
}
:where(.marketing-page) .marketing-service-item {
  position:relative;
  border-left:1px solid var(--line);
  padding:0 25px 26px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
:where(.marketing-page) .marketing-service-item:nth-child(n+4) {
  border-top:1px solid var(--line);
  padding-top:24px;
  padding-bottom:0;
}
:where(.marketing-page) .marketing-service-number {
  display:block;
  color:var(--blue-ink);
  font-size:31px;
  font-weight:650;
  line-height:1;
  margin-bottom:16px;
  letter-spacing:-.06em;
}
:where(.marketing-page) .marketing-service-item h3 {
  font-size:clamp(23px,2.1vw,30px);
  max-width:290px;
}
:where(.marketing-page) .service-mark {
  display:block;
  font-size:26px;
  margin-top:auto;
  padding-top:16px;
  line-height:1;
  transition:transform .25s;
}
:where(.marketing-page) .marketing-service-item:hover .service-mark {
  transform:translate(4px,-4px);
  color:var(--blue-ink);
}
:where(.marketing-page) .marketing-audience {
  background:var(--soft);
  padding-block:64px;
}
:where(.marketing-page) .audience-grid {
  display:grid;
  grid-template-columns:.85fr 2fr;
  gap:60px;
  align-items:center;
}
:where(.marketing-page) .audience-grid h2 {
  font-size:clamp(38px,4.4vw,64px);
  line-height:1.02;
}
:where(.marketing-page) .audience-star {
  display:block;
  font-size:65px;
  color:var(--blue);
  line-height:1;
  margin:15px 0 0 100px;
}
:where(.marketing-page) .audience-list {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:35px 55px;
}
:where(.marketing-page) .audience-list li {
  position:relative;
  padding-left:34px;
  font-size:15px;
  line-height:1.6;
}
:where(.marketing-page) .audience-list li:before {
  content:'';
  position:absolute;
  left:0;
  top:.7em;
  width:20px;
  height:3px;
  background:var(--blue);
}
:where(.marketing-page) .marketing-process h2 {
  font-size:clamp(32px,3.5vw,52px);
}
:where(.marketing-page) .marketing-steps {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  list-style:none;
  padding:0;
  margin:46px 0 0;
  position:relative;
}
:where(.marketing-page) .marketing-steps:before {
  content:'';
  position:absolute;
  left:5px;
  right:0;
  top:25px;
  height:2px;
  background:var(--blue);
}
:where(.marketing-page) .marketing-steps:after {
  content:'';
  position:absolute;
  right:3px;
  top:17px;
  width:16px;
  height:16px;
  border-top:3px solid var(--blue);
  border-right:3px solid var(--blue);
  transform:rotate(45deg);
}
:where(.marketing-page) .marketing-steps li {
  min-width:0;
  padding-right:23px;
}
:where(.marketing-page) .step-dot {
  position:relative;
  background:white;
  border:2px solid var(--blue);
  color:var(--blue-ink);
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-size:20px;
  font-weight:600;
  z-index:1;
}
:where(.marketing-page) .marketing-steps p {
  border-right:1px solid var(--line);
  padding-right:22px;
  margin-top:24px;
  font-size:14px;
  line-height:1.7;
  min-height:145px;
}
:where(.marketing-page) .marketing-steps li:last-child p {
  border-right:0;
  padding-right:0;
}
:where(.marketing-page) .marketing-process-note {
  border-top:1px solid var(--line);
  margin-top:42px;
  padding-top:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:50px;
}
:where(.marketing-page) .marketing-process-note p {
  font-size:16px;
  max-width:660px;
  line-height:1.6;
}
:where(.marketing-page) .marketing-process-note a {
  flex-shrink:0;
  color:var(--blue-ink);
  font-size:14px;
}
:where(.marketing-page) .marketing-case {
  background:var(--black);
  color:white;
}
:where(.marketing-page) .marketing-case-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7%;
  align-items:center;
}
:where(.marketing-page) .marketing-case-image {
  position:relative;
  height:100%;
  min-height:470px;
  max-height:650px;
  padding:14px;
}
:where(.marketing-page) .marketing-case-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:47% center;
  filter:grayscale(1);
}
:where(.marketing-page) .case-corner {
  position:absolute;
  width:28px;
  height:28px;
  border-color:var(--blue);
  border-style:solid;
}
:where(.marketing-page) .corner-one {
  top:0;
  left:0;
  border-width:5px 0 0 5px;
}
:where(.marketing-page) .corner-two {
  top:0;
  right:0;
  border-width:5px 5px 0 0;
}
:where(.marketing-page) .corner-three {
  bottom:0;
  left:0;
  border-width:0 0 5px 5px;
}
:where(.marketing-page) .corner-four {
  bottom:0;
  right:0;
  border-width:0 5px 5px 0;
}
:where(.marketing-page) .marketing-case-copy .eyebrow {
  color:#c3ccd0;
  margin-bottom:17px;
}
:where(.marketing-page) .marketing-case-copy h2 {
  font-size:clamp(32px,3.4vw,52px);
}
:where(.marketing-page) .case-years {
  font-size:20px;
  line-height:1.4;
  letter-spacing:-.02em;
  margin-top:24px;
}
:where(.marketing-page) .case-years strong {
  display:block;
  font-size:clamp(64px,6.7vw,104px);
  font-weight:750;
  line-height:1.1;
  letter-spacing:-.07em;
  color:#17b2e6;
  margin-bottom:8px;
}
:where(.marketing-page) .case-date {
  font-size:12px;
  color:#d3d7d9;
  margin-top:15px;
}
:where(.marketing-page) .marketing-case-stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid #ffffff40;
  padding-top:22px;
  margin:25px 0 15px;
  gap:18px;
}
:where(.marketing-page) .marketing-case-stats>div+div {
  border-left:1px solid #ffffff40;
  padding-left:18px;
}
:where(.marketing-page) .marketing-case-stats dt {
  font-size:clamp(26px,2.9vw,44px);
  line-height:1.15;
  font-weight:650;
  letter-spacing:-.06em;
  color:#17b2e6;
  white-space:nowrap;
}
:where(.marketing-page) .marketing-case-stats dd {
  margin:7px 0 0;
  font-size:13px;
  line-height:1.4;
}
:where(.marketing-page) .case-social {
  margin-top:24px;
  display:flex;
  flex-wrap:wrap;
  gap:8px 17px;
  font-size:11px;
  color:#d3d7d9;
}
:where(.marketing-page) .case-social>span {
  width:100%;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:3px;
}
:where(.marketing-page) .case-social a {
  min-height:34px;
  display:inline-flex;
  align-items:center;
}
:where(.marketing-page) .case-social a:hover {
  color:#17b2e6;
}
:where(.marketing-page) .marketing-faq h2 {
  max-width:none;
  font-size:clamp(30px,3.1vw,46px);
  margin-bottom:36px;
}
:where(.marketing-page) .marketing-faq-columns {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5%;
}
:where(.marketing-page) .marketing-faq summary {
  font-size:15px;
  min-height:83px;
}
:where(.marketing-page) .marketing-faq details p {
  font-size:14px;
}
:where(.marketing-page) .marketing-cta {
  background:var(--blue);
  padding-block:62px;
  color:#10232b;
}
:where(.marketing-page) .marketing-cta-grid {
  display:grid;
  grid-template-columns:1.3fr 1fr .32fr;
  gap:45px;
  align-items:center;
}
:where(.marketing-page) .marketing-cta h2 {
  font-size:clamp(33px,3.6vw,54px);
  line-height:1.08;
}
:where(.marketing-page) .marketing-cta-grid>div {
  border-left:1px solid #10232b55;
  padding-left:35px;
}
:where(.marketing-page) .marketing-cta p {
  font-size:14px;
  line-height:1.65;
  margin-bottom:22px;
}
:where(.marketing-page) .marketing-cta .button {
  font-size:13px;
  padding-inline:18px;
  gap:12px;
}
:where(.marketing-page) .marketing-cta .button:hover {
  box-shadow:5px 5px 0 white;
}
:where(.marketing-page) .cta-arrow {
  border:2px solid var(--black);
  border-radius:50%;
  width:100px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  font-size:76px;
  line-height:1;
}
:where(.marketing-page) .marketing-footer {
  background:var(--black);
  color:white;
  padding-block:50px 28px;
}
:where(.marketing-page) .marketing-footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
}
:where(.marketing-page) .marketing-footer .brand {
  width:205px;
}
:where(.marketing-page) .footer-chal {
  font-weight:600;
  font-size:18px;
  letter-spacing:-.025em;
  margin-top:9px;
}
:where(.marketing-page) .marketing-contact-links {
  display:flex;
  gap:28px;
  font-size:13px;
  flex-wrap:wrap;
}
:where(.marketing-page) .marketing-contact-links a {
  text-decoration:underline;
  text-underline-offset:5px;
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.marketing-page) .marketing-footer-social {
  display:flex;
  gap:20px;
  font-size:12px;
}
:where(.marketing-page) .marketing-footer-social a {
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.marketing-page) .marketing-footer a:hover {
  color:#46c7f2;
}
:where(.marketing-page) .marketing-signoff {
  font-size:12px;
  color:#c6cbd0;
  margin-top:28px;
}
:where(.marketing-page) .marketing-footer .legal {
  padding-top:22px;
  margin-top:25px;
  border-top:1px solid #ffffff30;
}
@media(min-width:1700px) {
  :where(.marketing-page) .marketing-hero-grid {
    gap:7%;
  }
  :where(.marketing-page) .marketing-hero h1 {
    font-size:61px;
  }
}
@media(max-width:1100px) {
  :where(.marketing-page) .marketing-hero-grid {
    gap:4%;
  }
  :where(.marketing-page) .marketing-hero h1 {
    font-size:3.75vw;
  }
  :where(.marketing-page) .marketing-lead {
    font-size:15px;
  }
  :where(.marketing-page) .marketing-photo-detail {
    left:-22px;
  }
  :where(.marketing-page) .marketing-service-feature {
    padding-right:22px;
  }
  :where(.marketing-page) .feature-heading {
    display:block;
  }
  :where(.marketing-page) .feature-number {
    font-size:84px;
    margin-bottom:15px;
    display:block;
  }
  :where(.marketing-page) .marketing-service-item {
    padding-inline:22px;
  }
  :where(.marketing-page) .audience-grid {
    gap:35px;
  }
  :where(.marketing-page) .audience-list {
    gap:30px;
  }
  :where(.marketing-page) .marketing-case-grid {
    gap:5%;
  }
  :where(.marketing-page) .marketing-case-stats {
    gap:10px;
  }
  :where(.marketing-page) .marketing-case-stats>div+div {
    padding-left:10px;
  }
  :where(.marketing-page) .marketing-cta-grid {
    grid-template-columns:1.2fr 1fr;
    gap:35px;
  }
  :where(.marketing-page) .cta-arrow {
    display:none;
  }
  :where(.marketing-page) .marketing-footer-top {
    flex-wrap:wrap;
  }
  :where(.marketing-page) .marketing-steps li {
    padding-right:14px;
  }
  :where(.marketing-page) .marketing-steps p {
    padding-right:14px;
  }
  :where(.marketing-page) .marketing-process-note {
    gap:30px;
  }
  :where(.marketing-page) .marketing-process-note p {
    max-width:540px;
  }
}
@media(max-width:760px) {
  .marketing-page .menu-icon {
    border-color:var(--black);
  }
  .marketing-page .menu-icon:after,
.marketing-page .menu-toggle[aria-expanded="true"] .menu-icon:before {
    background:var(--black);
  }
  .marketing-page .main-nav {
    background:white;
    border-top-color:var(--line);
  }
  .marketing-page .nav-group,
.marketing-page .main-nav>a {
    border-bottom-color:var(--line);
  }
  .marketing-page .nav-panel {
    background:var(--soft);
    color:var(--black);
  }
  .marketing-page .main-nav .nav-contact {
    margin-top:18px;
    padding-inline:18px;
    display:flex;
    justify-content:space-between;
  }
  :where(.marketing-page) .marketing-hero {
    padding-top:25px;
  }
  :where(.marketing-page) .marketing-hero-grid {
    grid-template-columns:1fr;
    gap:44px;
    padding-block:15px 30px;
  }
  :where(.marketing-page) .marketing-hero-copy {
    padding:0;
  }
  :where(.marketing-page) .marketing-label {
    font-size:22px;
    margin-bottom:17px;
  }
  :where(.marketing-page) .marketing-hero h1 {
    font-size:clamp(34px,6.8vw,51px);
    line-height:1.1;
  }
  :where(.marketing-page) .marketing-lead {
    max-width:560px;
    font-size:15px;
    margin-block:28px 23px;
  }
  :where(.marketing-page) .marketing-hero-visual {
    margin:10px 12px 0 20px;
    max-width:540px;
  }
  :where(.marketing-page) .marketing-main-photo {
    aspect-ratio:1.05;
    object-position:center 43%;
  }
  :where(.marketing-page) .marketing-photo-mount:before {
    inset:-15px -15px 45px 26px;
  }
  :where(.marketing-page) .marketing-photo-detail {
    width:38%;
    bottom:34px;
    left:-18px;
    aspect-ratio:1.13;
    border-width:5px;
  }
  :where(.marketing-page) .marketing-photo-detail>span {
    width:38px;
    height:38px;
    font-size:26px;
    top:-16px;
    right:-15px;
  }
  :where(.marketing-page) .marketing-hero-visual figcaption {
    font-size:9px;
  }
  :where(.marketing-page) .marketing-local-nav {
    grid-template-columns:1fr 1fr;
    padding-block:8px;
    column-gap:20px;
  }
  :where(.marketing-page) .marketing-local-nav a {
    font-size:13px;
    gap:12px;
    justify-content:space-between;
    padding-inline:5px;
    min-height:48px;
  }
  :where(.marketing-page) .marketing-local-nav a:nth-child(-n+2) {
    border-bottom:1px solid var(--line);
  }
  :where(.marketing-page) .marketing-manifesto {
    padding-block:34px;
  }
  :where(.marketing-page) .manifesto-grid {
    grid-template-columns:1fr;
    gap:25px;
  }
  :where(.marketing-page) .manifesto-grid>p {
    border-right:0;
    border-bottom:1px solid #10232b55;
    padding:0 0 24px;
    font-size:15px;
    max-width:560px;
  }
  :where(.marketing-page) .manifesto-grid h2 {
    font-size:29px;
    max-width:570px;
  }
  :where(.marketing-page) .marketing-services h2 {
    font-size:36px;
  }
  :where(.marketing-page) .marketing-service-grid {
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
    margin-top:32px;
  }
  :where(.marketing-page) .marketing-service-feature {
    grid-row:auto;
    grid-column:1 / 3;
    padding:0 0 28px;
    gap:22px;
  }
  :where(.marketing-page) .feature-heading {
    display:flex;
    gap:24px;
    align-items:center;
  }
  :where(.marketing-page) .feature-heading h3 {
    padding:0;
    font-size:25px;
  }
  :where(.marketing-page) .feature-number {
    font-size:100px;
    margin-bottom:0;
  }
  :where(.marketing-page) .feature-heading p {
    margin-top:10px;
  }
  :where(.marketing-page) .marketing-service-feature>img {
    aspect-ratio:2.1;
    max-height:270px;
  }
  :where(.marketing-page) .marketing-service-item {
    padding:25px 19px 25px 0;
    border-left:0;
    border-top:1px solid var(--line);
  }
  :where(.marketing-page) .marketing-service-item:nth-child(odd) {
    border-left:1px solid var(--line);
    padding-left:20px;
    padding-right:0;
  }
  :where(.marketing-page) .marketing-service-item:nth-child(n+4) {
    padding-top:25px;
    padding-bottom:0;
  }
  :where(.marketing-page) .marketing-service-item h3 {
    font-size:22px;
    overflow-wrap:break-word;
  }
  :where(.marketing-page) .marketing-service-number {
    font-size:28px;
  }
  :where(.marketing-page) .marketing-service-grid p {
    font-size:13px;
  }
  :where(.marketing-page) .marketing-audience {
    padding-block:50px;
  }
  :where(.marketing-page) .audience-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  :where(.marketing-page) .audience-grid>div {
    display:flex;
    justify-content:space-between;
    align-items:center;
  }
  :where(.marketing-page) .audience-grid h2 {
    font-size:44px;
  }
  :where(.marketing-page) .audience-star {
    margin:0 12px 0 0;
    font-size:64px;
  }
  :where(.marketing-page) .audience-list {
    grid-template-columns:1fr;
    gap:24px;
  }
  :where(.marketing-page) .audience-list li {
    font-size:15px;
  }
  :where(.marketing-page) .marketing-process h2 {
    font-size:34px;
  }
  :where(.marketing-page) .marketing-steps {
    grid-template-columns:1fr;
    margin-top:34px;
    gap:28px;
  }
  :where(.marketing-page) .marketing-steps:before {
    top:8px;
    bottom:0;
    left:22px;
    right:auto;
    width:2px;
    height:auto;
  }
  :where(.marketing-page) .marketing-steps:after {
    left:15px;
    top:auto;
    bottom:0;
    width:16px;
    height:16px;
    transform:rotate(135deg);
  }
  :where(.marketing-page) .marketing-steps li {
    display:grid;
    grid-template-columns:46px 1fr;
    gap:22px;
    padding:0;
  }
  :where(.marketing-page) .step-dot {
    width:46px;
    height:46px;
    font-size:18px;
  }
  :where(.marketing-page) .marketing-steps p {
    border:0;
    margin:0;
    padding:7px 0 0;
    min-height:0;
    font-size:15px;
  }
  :where(.marketing-page) .marketing-steps li:last-child {
    padding-bottom:22px;
  }
  :where(.marketing-page) .marketing-process-note {
    display:block;
    margin-top:32px;
    padding-top:24px;
  }
  :where(.marketing-page) .marketing-process-note p {
    font-size:15px;
  }
  :where(.marketing-page) .marketing-process-note a {
    margin-top:15px;
  }
  :where(.marketing-page) .marketing-case-grid {
    grid-template-columns:1fr;
    gap:37px;
  }
  :where(.marketing-page) .marketing-case-image {
    height:350px;
    min-height:0;
    padding:12px;
  }
  :where(.marketing-page) .marketing-case-image img {
    object-position:center;
  }
  :where(.marketing-page) .marketing-case-copy h2 {
    font-size:38px;
    max-width:580px;
  }
  :where(.marketing-page) .case-years {
    font-size:19px;
    margin-top:20px;
  }
  :where(.marketing-page) .case-years strong {
    font-size:82px;
  }
  :where(.marketing-page) .marketing-case-stats {
    margin-top:24px;
    gap:12px;
  }
  :where(.marketing-page) .marketing-case-stats dt {
    font-size:clamp(28px,7.7vw,44px);
  }
  :where(.marketing-page) .marketing-case-stats dd {
    font-size:12px;
  }
  :where(.marketing-page) .case-social {
    margin-top:20px;
  }
  :where(.marketing-page) .marketing-faq h2 {
    font-size:34px;
    margin-bottom:30px;
  }
  :where(.marketing-page) .marketing-faq-columns {
    grid-template-columns:1fr;
    gap:0;
  }
  :where(.marketing-page) .marketing-faq-columns>.faq-list+.faq-list details:first-child {
    border-top:0;
  }
  :where(.marketing-page) .marketing-faq summary {
    min-height:75px;
    font-size:15px;
  }
  :where(.marketing-page) .marketing-cta {
    padding-block:45px;
  }
  :where(.marketing-page) .marketing-cta-grid {
    grid-template-columns:1fr;
    gap:27px;
  }
  :where(.marketing-page) .marketing-cta h2 {
    font-size:39px;
  }
  :where(.marketing-page) .marketing-cta-grid>div {
    border-left:0;
    padding:24px 0 0;
    border-top:1px solid #10232b55;
  }
  :where(.marketing-page) .marketing-cta p {
    font-size:15px;
    max-width:450px;
  }
  :where(.marketing-page) .marketing-footer {
    padding-block:42px 92px;
  }
  :where(.marketing-page) .marketing-footer-top {
    display:block;
  }
  :where(.marketing-page) .marketing-contact-links {
    margin-top:25px;
    gap:8px 22px;
  }
  :where(.marketing-page) .marketing-footer-social {
    margin-top:10px;
    gap:24px;
  }
  :where(.marketing-page) .marketing-signoff {
    max-width:400px;
    line-height:1.7;
    margin-top:25px;
  }
  :where(.marketing-page) .marketing-footer .legal {
    gap:14px;
    padding-right:25px;
  }
  :where(.marketing-page) .marketing-footer .legal>div {
    gap:12px 20px;
  }
}
@media(max-width:390px) {
  :where(.marketing-page) .wide-break {
    display:none;
  }
  :where(.marketing-page) .marketing-hero h1 {
    font-size:34px;
  }
  :where(.marketing-page) .marketing-services h2 {
    font-size:33px;
  }
  :where(.marketing-page) .feature-heading {
    gap:17px;
  }
  :where(.marketing-page) .feature-number {
    font-size:83px;
  }
  :where(.marketing-page) .feature-heading h3 {
    font-size:23px;
  }
  :where(.marketing-page) .marketing-service-item h3 {
    font-size:20px;
  }
  :where(.marketing-page) .marketing-service-item {
    padding-right:14px;
  }
  :where(.marketing-page) .marketing-service-item:nth-child(odd) {
    padding-left:14px;
  }
  :where(.marketing-page) .marketing-case-copy h2 {
    font-size:34px;
  }
  :where(.marketing-page) .marketing-case-stats {
    gap:7px;
  }
  :where(.marketing-page) .marketing-case-stats>div+div {
    padding-left:8px;
  }
  :where(.marketing-page) .marketing-case-stats dt {
    font-size:28px;
  }
  :where(.marketing-page) .marketing-case-stats dd {
    font-size:11px;
  }
  :where(.marketing-page) .marketing-cta h2 {
    font-size:35px;
  }
  :where(.marketing-page) .case-years strong {
    font-size:74px;
  }
}
@media print {
  .marketing-page .site-header {
    position:static;
  }
  :where(.marketing-page) .marketing-local-nav,
:where(.marketing-page) .marketing-photo-detail,
:where(.marketing-page) .whatsapp-float {
    display:none;
  }
  :where(.marketing-page) .marketing-hero-grid {
    gap:30px;
  }
  :where(.marketing-page) .marketing-case-image {
    min-height:0;
    height:350px;
  }
  :where(.marketing-page) .marketing-service-item,
:where(.marketing-page) .marketing-steps li {
    break-inside:avoid;
  }
  :where(.marketing-page) .marketing-footer {
    padding-bottom:25px;
  }
}

/* 03 · Web */
.web-page .site-header {
  border-bottom:1px solid #ffffff18;
}
.web-page .nav-contact {
  background:white;
  color:var(--black);
  padding:10px 20px;
  gap:18px;
  border-radius:3px;
}
.web-page .nav-contact:hover {
  background:var(--blue);
  color:var(--black);
}
.web-page .nav-panel [aria-current="page"] {
  color:var(--blue-ink);
  background:var(--soft);
}
:where(.web-page) .web-hero {
  background:var(--black);
  color:white;
  overflow:hidden;
  padding:65px 0 27px;
}
:where(.web-page) .web-hero-heading {
  display:grid;
  grid-template-columns:1.7fr 1fr;
  gap:8%;
  align-items:end;
}
:where(.web-page) .web-hero .eyebrow {
  color:#c5cdd2;
  margin-bottom:25px;
}
:where(.web-page) .web-hero h1 {
  font-size:clamp(38px,4.5vw,68px);
  line-height:1.06;
  font-weight:700;
  letter-spacing:-.055em;
}
:where(.web-page) .web-hero h1>span {
  color:#28b8e7;
  display:block;
  margin-top:8px;
}
:where(.web-page) .web-hero-copy {
  padding:0 0 4px;
  position:relative;
}
:where(.web-page) .web-hero-copy p {
  font-size:16px;
  line-height:1.7;
  color:#d3d9dc;
  max-width:420px;
  margin-bottom:27px;
}
:where(.web-page) .web-cursor {
  width:70px;
  height:77px;
  display:block;
  color:#28b8e7;
  transform:rotate(-10deg);
  margin:0 0 20px auto;
}
:where(.web-page) .web-cursor svg {
  width:100%;
  height:100%;
}
:where(.web-page) .button-light {
  background:white;
  color:var(--black);
}
:where(.web-page) .button-light:hover {
  background:#dbf5fe;
  transform:translateY(-3px);
  box-shadow:5px 5px 0 var(--blue);
}
:where(.web-page) .web-hero-copy>.text-link {
  display:flex;
  width:max-content;
  margin-top:15px;
  color:#d3d9dc;
  font-size:13px;
  gap:12px;
}
:where(.web-page) .web-showcase {
  position:relative;
  height:470px;
  margin:65px 0 28px;
}
:where(.web-page) .web-showcase:before {
  content:'';
  position:absolute;
  inset:80px -80px 38px;
  background:var(--blue);
  transform:rotate(-3deg);
}
:where(.web-page) .web-window {
  position:absolute;
  box-shadow:0 16px 42px #0005;
  border:1px solid #ffffff30;
  border-radius:8px;
  overflow:hidden;
  background:white;
  color:var(--black);
  width:52%;
  transition:translate .3s;
}
:where(.web-page) .web-window:hover {
  translate:0 -8px;
}
:where(.web-page) .window-bar {
  height:32px;
  background:#f0f3f5;
  border-bottom:1px solid #d9e0e5;
  display:flex;
  align-items:center;
  gap:5px;
  padding:0 12px;
  color:#56616a;
}
:where(.web-page) .window-bar i {
  width:5px;
  height:5px;
  border-radius:50%;
  background:#aeb9c2;
  flex-shrink:0;
}
:where(.web-page) .window-bar span {
  font-size:9px;
  letter-spacing:.01em;
  text-align:center;
  margin:auto;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  padding-right:22px;
}
:where(.web-page) .web-window img {
  width:100%;
  height:auto;
}
:where(.web-page) .web-window figcaption {
  font-size:10px;
  line-height:1.4;
  padding:9px 15px;
  letter-spacing:.03em;
}
:where(.web-page) .window-left {
  top:58px;
  left:-4%;
  width:38%;
  transform:rotate(-7deg);
}
:where(.web-page) .window-main {
  z-index:3;
  left:24%;
  top:0;
  transform:rotate(1deg);
}
:where(.web-page) .window-right {
  right:-4%;
  top:73px;
  width:37%;
  transform:rotate(8deg);
}
:where(.web-page) .web-hero-bottom {
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:11px;
  color:#c5cdd2;
  position:relative;
}
:where(.web-page) .web-hero-bottom a {
  min-height:40px;
  display:flex;
  align-items:center;
  gap:20px;
}
:where(.web-page) .web-hero-bottom>span {
  display:flex;
  align-items:center;
}
:where(.web-page) .web-hero-bottom a:hover {
  color:#28b8e7;
}
:where(.web-page) .web-problem-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10%;
  align-items:start;
}
:where(.web-page) .web-problem h2 {
  font-size:clamp(31px,3.6vw,53px);
  line-height:1.13;
}
:where(.web-page) .web-problem .eyebrow {
  color:var(--blue-ink);
}
:where(.web-page) .web-problem-copy {
  padding-top:36px;
  font-size:16px;
  line-height:1.8;
  color:var(--muted);
}
:where(.web-page) .web-problem-copy>p+p {
  margin-top:22px;
}
:where(.web-page) .web-problem-copy strong {
  color:var(--black);
}
:where(.web-page) .web-services {
  background:var(--soft);
}
:where(.web-page) .web-section-heading {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  margin-bottom:40px;
}
:where(.web-page) .web-section-heading h2 {
  font-size:clamp(36px,4.4vw,66px);
}
:where(.web-page) .web-outline-star {
  color:var(--blue);
  font-size:90px;
  line-height:1;
  margin-right:25px;
}
:where(.web-page) .web-service-row {
  display:grid;
  grid-template-columns:50px 1.1fr 1.25fr 160px;
  gap:35px;
  align-items:center;
  border-top:1px solid var(--line);
  padding:31px 0;
  transition:background .25s;
}
:where(.web-page) .web-service-row:last-child {
  border-bottom:1px solid var(--line);
}
:where(.web-page) .web-service-number {
  color:var(--blue-ink);
  font-size:15px;
  font-weight:500;
  align-self:start;
  margin-top:7px;
}
:where(.web-page) .web-service-row h3 {
  font-size:clamp(24px,2.4vw,34px);
  font-weight:600;
  line-height:1.12;
  max-width:310px;
}
:where(.web-page) .web-service-row p {
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
  max-width:370px;
}
:where(.web-page) .web-service-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  font-size:11px;
  min-height:48px;
}
:where(.web-page) .web-service-link>span {
  text-decoration:underline;
  text-underline-offset:5px;
}
:where(.web-page) .web-service-link>b {
  width:43px;
  height:43px;
  flex:0 0 43px;
  display:grid;
  place-items:center;
  border:1px solid #aab5bc;
  border-radius:50%;
  font-weight:400;
  font-size:26px;
  transition:background .2s,transform .2s;
}
:where(.web-page) .web-service-link:hover>b {
  transform:rotate(5deg);
  background:var(--blue);
  border-color:var(--blue);
}
:where(.web-page) .web-service-link:hover>span {
  color:var(--blue-ink);
}
:where(.web-page) .web-audience-grid {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:10%;
}
:where(.web-page) .web-audience h2 {
  font-size:clamp(36px,4vw,58px);
}
:where(.web-page) .web-audience-arrow {
  display:grid;
  place-items:center;
  border:1px solid var(--blue);
  color:var(--blue);
  border-radius:50%;
  width:110px;
  height:110px;
  font-size:83px;
  line-height:1;
  margin-top:32px;
}
:where(.web-page) .web-audience ul {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:30px 40px;
}
:where(.web-page) .web-audience li {
  border-top:2px solid var(--blue);
  padding-top:19px;
  font-size:16px;
  line-height:1.65;
}
:where(.web-page) .web-process {
  background:var(--black);
  color:white;
}
:where(.web-page) .web-process-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:12%;
  align-items:start;
}
:where(.web-page) .web-process-heading {
  position:sticky;
  top:125px;
}
:where(.web-page) .web-process .eyebrow {
  color:#b9c5cb;
}
:where(.web-page) .web-process h2 {
  font-size:clamp(42px,5.2vw,78px);
  line-height:1.08;
}
:where(.web-page) .web-process h2 span {
  color:#28b8e7;
}
:where(.web-page) .web-route {
  display:flex;
  align-items:center;
  gap:20px;
  max-width:270px;
  margin-top:50px;
  color:#28b8e7;
  font-size:13px;
}
:where(.web-page) .web-route i {
  flex:1;
  height:1px;
  background:#28b8e7;
}
:where(.web-page) .web-steps {
  list-style:none;
  padding:0;
  margin:0;
}
:where(.web-page) .web-steps li {
  display:grid;
  grid-template-columns:46px 1fr;
  gap:25px;
  position:relative;
  padding-bottom:37px;
}
:where(.web-page) .web-steps li:not(:last-child):before {
  content:'';
  position:absolute;
  left:22px;
  top:46px;
  bottom:0;
  width:1px;
  background:#5d6870;
}
:where(.web-page) .web-steps li:last-child {
  padding-bottom:0;
}
:where(.web-page) .web-step-number {
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid #28b8e7;
  display:grid;
  place-items:center;
  color:#28b8e7;
  font-size:14px;
}
:where(.web-page) .web-steps h3 {
  font-size:25px;
  font-weight:550;
  margin-top:8px;
}
:where(.web-page) .web-steps p {
  font-size:15px;
  line-height:1.65;
  color:#c6cdd1;
  margin-top:13px;
  max-width:440px;
}
:where(.web-page) .web-case {
  background:var(--blue);
  color:#10232b;
}
:where(.web-page) .web-case-top {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:10%;
  align-items:end;
  margin-bottom:42px;
}
:where(.web-page) .web-case .eyebrow {
  color:#17313d;
}
:where(.web-page) .web-case-top h2 {
  font-size:clamp(36px,4.2vw,63px);
  line-height:1.07;
}
:where(.web-page) .web-case-top>p {
  font-size:18px;
  line-height:1.6;
  max-width:420px;
}
:where(.web-page) .web-case-grid {
  display:grid;
  grid-template-columns:1.5fr .7fr;
  gap:8%;
  align-items:center;
}
:where(.web-page) .web-case-screen {
  min-width:0;
  border-radius:8px 8px 0 0;
  box-shadow:14px 14px 0 #122b3933;
  background:var(--black);
  overflow:hidden;
}
:where(.web-page) .web-case-screen img {
  width:100%;
  height:auto;
}
:where(.web-page) .web-case-screen figcaption {
  font-size:11px;
  background:var(--black);
  color:#d2dbe1;
  padding:13px 18px;
}
:where(.web-page) .web-case-results dl {
  margin:0;
}
:where(.web-page) .web-case-results dl>div+div {
  border-top:1px solid #10232b60;
  margin-top:25px;
  padding-top:24px;
}
:where(.web-page) .web-case-results dt {
  font-size:clamp(50px,5.8vw,90px);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-.065em;
}
:where(.web-page) .web-case-results dd {
  font-size:17px;
  margin:5px 0 0;
}
:where(.web-page) .web-case-date {
  font-size:12px;
  margin-top:24px;
}
:where(.web-page) .web-case-results .text-link {
  margin-top:14px;
  font-size:14px;
}
:where(.web-page) .web-case-site {
  display:block;
  width:max-content;
  font-size:12px;
  min-height:44px;
  padding-block:10px;
}
:where(.web-page) .web-case-site:hover {
  text-decoration:underline;
  text-underline-offset:4px;
}
:where(.web-page) .web-faq h2 {
  font-size:clamp(31px,3.5vw,48px);
  max-width:460px;
}
:where(.web-page) .web-faq summary {
  font-size:16px;
  min-height:85px;
}
:where(.web-page) .web-faq .eyebrow {
  color:var(--blue-ink);
}
:where(.web-page) .web-cta {
  padding-block:70px 85px;
  background:var(--soft);
  border-top:1px solid var(--line);
}
:where(.web-page) .web-cta-grid {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:9%;
  align-items:end;
}
:where(.web-page) .web-cta h2 {
  font-size:clamp(38px,4.6vw,70px);
  line-height:1.06;
}
:where(.web-page) .web-cta h2 span {
  color:var(--blue-ink);
}
:where(.web-page) .web-cta p:not(.eyebrow) {
  font-size:16px;
  line-height:1.7;
  max-width:430px;
  margin-bottom:26px;
  color:var(--muted);
}
:where(.web-page) .web-footer {
  background:var(--black);
  color:white;
  padding-block:50px 28px;
}
:where(.web-page) .web-footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
}
:where(.web-page) .web-footer .brand {
  width:205px;
}
:where(.web-page) .web-footer .footer-chal {
  font-weight:600;
  font-size:18px;
  letter-spacing:-.025em;
  margin-top:9px;
}
:where(.web-page) .web-contact-links {
  display:flex;
  gap:28px;
  font-size:13px;
  flex-wrap:wrap;
}
:where(.web-page) .web-contact-links a {
  text-decoration:underline;
  text-underline-offset:5px;
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.web-page) .web-footer-social {
  display:flex;
  gap:20px;
  font-size:12px;
}
:where(.web-page) .web-footer-social a {
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.web-page) .web-footer a:hover {
  color:#46c7f2;
}
:where(.web-page) .web-signoff {
  font-size:12px;
  color:#c6cbd0;
  margin-top:28px;
}
:where(.web-page) .web-footer .legal {
  padding-top:22px;
  margin-top:25px;
  border-top:1px solid #ffffff30;
}
@media(min-width:1700px) {
  :where(.web-page) .web-showcase {
    height:565px;
  }
}
@media(max-width:1100px) {
  :where(.web-page) .web-hero-heading {
    gap:5%;
    grid-template-columns:1.6fr 1fr;
  }
  :where(.web-page) .web-hero-copy p {
    font-size:14px;
  }
  :where(.web-page) .web-hero-copy .button {
    font-size:12px;
    padding-inline:15px;
    gap:15px;
  }
  :where(.web-page) .web-cursor {
    width:55px;
    height:60px;
    margin-bottom:12px;
  }
  :where(.web-page) .web-showcase {
    height:360px;
  }
  :where(.web-page) .web-service-row {
    grid-template-columns:32px 1.1fr 1.2fr 48px;
    gap:22px;
  }
  :where(.web-page) .web-service-link>span {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
  }
  :where(.web-page) .web-process-grid {
    gap:8%;
  }
  :where(.web-page) .web-case-grid {
    gap:6%;
  }
  :where(.web-page) .web-case-results dd {
    font-size:15px;
  }
  :where(.web-page) .web-footer-top {
    flex-wrap:wrap;
  }
}
@media(max-width:760px) {
  .web-page .main-nav .nav-contact {
    padding-inline:18px;
    margin-top:18px;
    justify-content:space-between;
  }
  :where(.web-page) .web-hero {
    padding-top:38px;
    padding-bottom:23px;
  }
  :where(.web-page) .web-hero-heading {
    grid-template-columns:1fr;
    gap:28px;
  }
  :where(.web-page) .web-hero h1 {
    font-size:clamp(35px,6.8vw,52px);
  }
  :where(.web-page) .web-hero .eyebrow {
    font-size:12px;
    margin-bottom:20px;
  }
  :where(.web-page) .web-hero-copy p {
    font-size:15px;
    max-width:550px;
    margin-bottom:23px;
  }
  :where(.web-page) .web-cursor {
    display:none;
  }
  :where(.web-page) .web-hero-copy .button {
    font-size:13px;
    padding-inline:18px;
    min-height:52px;
  }
  :where(.web-page) .web-hero-copy>.text-link {
    font-size:13px;
    margin-top:12px;
  }
  :where(.web-page) .web-showcase {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px 16px;
    height:auto;
    margin:44px 0 15px;
    padding-block:15px 26px;
  }
  :where(.web-page) .web-showcase:before {
    inset:35px -50px 70px;
    transform:rotate(-5deg);
  }
  :where(.web-page) .web-window {
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    width:auto;
    border-radius:5px;
    min-width:0;
  }
  :where(.web-page) .window-main {
    grid-column:1/3;
    grid-row:1;
    transform:rotate(1.5deg);
    margin-inline:6px;
  }
  :where(.web-page) .window-left {
    grid-column:1;
    grid-row:2;
    transform:rotate(-4deg);
  }
  :where(.web-page) .window-right {
    grid-column:2;
    grid-row:2;
    transform:rotate(4deg);
  }
  :where(.web-page) .web-window figcaption {
    font-size:9px;
    padding:7px 9px;
  }
  :where(.web-page) .window-bar {
    height:23px;
    padding-inline:8px;
    gap:3px;
  }
  :where(.web-page) .window-bar i {
    width:4px;
    height:4px;
  }
  :where(.web-page) .window-bar span {
    font-size:8px;
    padding-right:10px;
  }
  :where(.web-page) .window-left .window-bar span,
:where(.web-page) .window-right .window-bar span {
    display:none;
  }
  :where(.web-page) .web-hero-bottom {
    display:block;
    font-size:10px;
  }
  :where(.web-page) .web-hero-bottom a {
    font-size:12px;
    margin-top:9px;
    width:max-content;
  }
  :where(.web-page) .web-problem-grid {
    grid-template-columns:1fr;
    gap:26px;
  }
  :where(.web-page) .web-problem h2 {
    font-size:34px;
    max-width:560px;
  }
  :where(.web-page) .web-problem-copy {
    padding:0;
    font-size:15px;
  }
  :where(.web-page) .web-problem-copy>p+p {
    margin-top:19px;
  }
  :where(.web-page) .web-section-heading {
    margin-bottom:30px;
    gap:15px;
  }
  :where(.web-page) .web-section-heading h2 {
    font-size:36px;
  }
  :where(.web-page) .web-section-heading .eyebrow {
    font-size:11px;
    max-width:240px;
  }
  :where(.web-page) .web-outline-star {
    font-size:53px;
    margin:0;
  }
  :where(.web-page) .web-service-row {
    grid-template-columns:25px 1fr 44px;
    gap:10px 16px;
    padding-block:25px;
  }
  :where(.web-page) .web-service-number {
    grid-column:1;
    grid-row:1;
    font-size:12px;
    margin-top:5px;
  }
  :where(.web-page) .web-service-row h3 {
    grid-column:2;
    grid-row:1;
    font-size:25px;
    max-width:400px;
  }
  :where(.web-page) .web-service-row p {
    grid-column:2;
    grid-row:2;
    font-size:14px;
    max-width:450px;
  }
  :where(.web-page) .web-service-link {
    grid-column:3;
    grid-row:1/3;
    align-self:center;
  }
  :where(.web-page) .web-service-link>b {
    width:39px;
    height:39px;
    flex-basis:39px;
  }
  :where(.web-page) .web-audience-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  :where(.web-page) .web-audience h2 {
    font-size:37px;
  }
  :where(.web-page) .web-audience-arrow {
    display:none;
  }
  :where(.web-page) .web-audience ul {
    gap:28px;
    grid-template-columns:1fr 1fr;
  }
  :where(.web-page) .web-audience li {
    font-size:14px;
    line-height:1.7;
    padding-top:14px;
  }
  :where(.web-page) .web-process-grid {
    grid-template-columns:1fr;
    gap:40px;
  }
  :where(.web-page) .web-process-heading {
    position:static;
  }
  :where(.web-page) .web-process h2 {
    font-size:45px;
    max-width:490px;
  }
  :where(.web-page) .web-process h2 br {
    display:none;
  }
  :where(.web-page) .web-route {
    margin-top:27px;
    max-width:200px;
  }
  :where(.web-page) .web-steps li {
    gap:18px;
    padding-bottom:29px;
  }
  :where(.web-page) .web-steps h3 {
    font-size:25px;
  }
  :where(.web-page) .web-steps p {
    font-size:14px;
    margin-top:10px;
  }
  :where(.web-page) .web-case-top {
    grid-template-columns:1fr;
    gap:25px;
    margin-bottom:32px;
  }
  :where(.web-page) .web-case-top h2 {
    font-size:37px;
  }
  :where(.web-page) .web-case-top>p {
    font-size:16px;
    max-width:550px;
  }
  :where(.web-page) .web-case-grid {
    grid-template-columns:1fr;
    gap:35px;
  }
  :where(.web-page) .web-case-screen {
    box-shadow:8px 8px 0 #122b3933;
  }
  :where(.web-page) .web-case-screen figcaption {
    font-size:10px;
    padding:10px 12px;
  }
  :where(.web-page) .web-case-results dl {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
  }
  :where(.web-page) .web-case-results dl>div+div {
    border-top:0;
    border-left:1px solid #10232b60;
    padding:0 0 0 20px;
    margin:0;
  }
  :where(.web-page) .web-case-results dt {
    font-size:clamp(42px,9vw,68px);
  }
  :where(.web-page) .web-case-results dd {
    font-size:14px;
  }
  :where(.web-page) .web-case-date {
    margin-top:20px;
  }
  :where(.web-page) .web-case-results .text-link {
    margin-top:5px;
  }
  :where(.web-page) .web-faq h2 {
    font-size:35px;
    max-width:550px;
  }
  :where(.web-page) .web-faq .faq-grid {
    gap:28px;
  }
  :where(.web-page) .web-faq summary {
    min-height:78px;
    font-size:15px;
  }
  :where(.web-page) .web-faq details p {
    font-size:14px;
  }
  :where(.web-page) .web-cta {
    padding-block:47px 55px;
  }
  :where(.web-page) .web-cta-grid {
    grid-template-columns:1fr;
    gap:25px;
  }
  :where(.web-page) .web-cta h2 {
    font-size:41px;
    max-width:550px;
  }
  :where(.web-page) .web-cta p:not(.eyebrow) {
    font-size:15px;
    margin-bottom:23px;
  }
  :where(.web-page) .web-footer {
    padding-block:42px 92px;
  }
  :where(.web-page) .web-footer-top {
    display:block;
  }
  :where(.web-page) .web-contact-links {
    margin-top:25px;
    gap:8px 22px;
  }
  :where(.web-page) .web-footer-social {
    margin-top:10px;
    gap:24px;
  }
  :where(.web-page) .web-signoff {
    max-width:400px;
    line-height:1.7;
    margin-top:25px;
  }
  :where(.web-page) .web-footer .legal {
    gap:14px;
    padding-right:25px;
  }
  :where(.web-page) .web-footer .legal>div {
    gap:12px 20px;
  }
}
@media(max-width:390px) {
  :where(.web-page) .web-hero h1 {
    font-size:clamp(29px,8.55vw,34px);
  }
  :where(.web-page) .web-service-row {
    gap:10px 13px;
    grid-template-columns:21px 1fr 38px;
  }
  :where(.web-page) .web-service-row h3 {
    font-size:22px;
  }
  :where(.web-page) .web-service-row p {
    font-size:13px;
  }
  :where(.web-page) .web-section-heading h2 {
    font-size:32px;
  }
  :where(.web-page) .web-outline-star {
    font-size:43px;
  }
  :where(.web-page) .web-audience ul {
    grid-template-columns:1fr;
    gap:22px;
  }
  :where(.web-page) .web-case-top h2 {
    font-size:33px;
  }
  :where(.web-page) .web-case-results dt {
    font-size:42px;
  }
  :where(.web-page) .web-case-results dl {
    gap:15px;
  }
  :where(.web-page) .web-case-results dl>div+div {
    padding-left:15px;
  }
  :where(.web-page) .web-case-results dd {
    font-size:13px;
  }
  :where(.web-page) .web-cta h2 {
    font-size:37px;
  }
}
@media print {
  :where(.web-page) .web-showcase {
    height:400px;
  }
  :where(.web-page) .web-window {
    box-shadow:none;
  }
  :where(.web-page) .web-process-heading {
    position:static;
  }
  :where(.web-page) .web-steps li,
:where(.web-page) .web-service-row {
    break-inside:avoid;
  }
  :where(.web-page) .web-footer {
    padding-bottom:25px;
  }
  :where(.web-page) .web-case-screen {
    box-shadow:none;
  }
}

/* 04 · Publicidad */
.ads-page .site-header {
  background:white;
  color:var(--black);
  border-bottom:1px solid var(--line);
}
.ads-page .nav-contact {
  background:var(--black);
  color:white;
  padding:10px 20px;
  gap:18px;
  border-radius:3px;
}
.ads-page .nav-contact:hover {
  background:var(--blue);
  color:var(--black);
}
.ads-page .main-nav a:hover,
.ads-page .nav-trigger:hover {
  color:var(--blue-ink);
}
.ads-page .nav-panel [aria-current="page"] {
  color:var(--blue-ink);
  background:var(--soft);
}
:where(.ads-page) .ads-hero {
  background:var(--blue);
  color:#10232b;
  padding:54px 0 0;
  overflow:hidden;
}
:where(.ads-page) .ads-hero-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:7%;
  align-items:center;
  padding-bottom:40px;
}
:where(.ads-page) .ads-hero-photo {
  position:relative;
  align-self:stretch;
  min-height:530px;
}
:where(.ads-page) .ads-hero-photo>img {
  width:100%;
  height:100%;
  max-height:680px;
  object-fit:cover;
  object-position:center;
  border:7px solid #ffffff;
  transform:rotate(-3deg);
}
:where(.ads-page) .ads-hero-photo figcaption {
  position:absolute;
  left:14px;
  bottom:12px;
  font-size:9px;
  background:var(--black);
  color:white;
  padding:5px 8px;
  transform:rotate(-3deg);
}
:where(.ads-page) .ads-photo-arrow {
  position:absolute;
  right:-25px;
  bottom:40px;
  width:70px;
  height:70px;
  background:white;
  color:var(--black);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:44px;
  line-height:1;
  box-shadow:0 5px 15px #10232b33;
}
:where(.ads-page) .ads-hero-copy {
  padding-block:10px;
}
:where(.ads-page) .ads-hero .eyebrow {
  color:#17313d;
  font-size:12px;
  margin-bottom:23px;
}
:where(.ads-page) .ads-hero h1 {
  font-size:clamp(34px,3.75vw,57px);
  line-height:1.08;
  letter-spacing:-.055em;
  font-weight:750;
}
:where(.ads-page) .ads-hero h1>span {
  color:white;
}
:where(.ads-page) .ads-lead {
  font-size:16px;
  line-height:1.7;
  margin-block:25px;
  max-width:580px;
}
:where(.ads-page) .ads-hero .button:hover {
  box-shadow:5px 5px 0 white;
}
:where(.ads-page) .ads-local-nav {
  display:flex;
  justify-content:flex-end;
  gap:52px;
  border-top:1px solid #10232b55;
  padding-block:12px;
}
:where(.ads-page) .ads-local-nav a {
  display:flex;
  align-items:center;
  gap:22px;
  min-height:48px;
  font-size:13px;
}
:where(.ads-page) .ads-local-nav a>span {
  font-size:21px;
  transition:transform .2s;
}
:where(.ads-page) .ads-local-nav a:hover>span {
  transform:translateY(4px);
}
:where(.ads-page) .ads-problem-grid {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:10%;
}
:where(.ads-page) .ads-problem h2 {
  font-size:clamp(33px,3.8vw,55px);
  line-height:1.12;
}
:where(.ads-page) .ads-problem h2>span {
  color:var(--blue-ink);
}
:where(.ads-page) .ads-problem .eyebrow {
  color:var(--blue-ink);
}
:where(.ads-page) .ads-problem-copy {
  padding-top:37px;
  font-size:16px;
  line-height:1.8;
  color:var(--muted);
}
:where(.ads-page) .ads-problem-copy p+p {
  margin-top:22px;
}
:where(.ads-page) .ads-problem-copy strong {
  color:var(--black);
}
:where(.ads-page) .ads-services {
  background:var(--soft);
}
:where(.ads-page) .ads-section-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-bottom:42px;
}
:where(.ads-page) .ads-section-heading h2 {
  font-size:clamp(34px,3.8vw,55px);
}
:where(.ads-page) .ads-section-heading>span {
  color:var(--blue);
  font-size:80px;
  line-height:1;
  margin-right:20px;
}
:where(.ads-page) .ads-services-grid {
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr;
  gap:20px;
}
:where(.ads-page) .ads-google {
  grid-row:span 2;
  background:var(--black);
  color:white;
  padding:32px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
}
:where(.ads-page) .ads-service-number {
  display:block;
  font-size:14px;
  letter-spacing:.04em;
  color:var(--blue-ink);
  margin-bottom:26px;
}
:where(.ads-page) .ads-google .ads-service-number {
  color:#28b8e7;
}
:where(.ads-page) .ads-google h3 {
  font-size:38px;
  letter-spacing:-.055em;
}
:where(.ads-page) .ads-google>p {
  font-size:15px;
  line-height:1.7;
  color:#d0d7db;
  margin-top:18px;
}
:where(.ads-page) .ads-search-art {
  display:flex;
  gap:15px;
  align-items:center;
  justify-content:space-between;
  width:100%;
  border:1px solid #6c7d86;
  border-radius:50px;
  padding:13px 15px;
  margin-block:30px 20px;
  color:#d2dce1;
  font-size:11px;
}
:where(.ads-page) .ads-search-art svg {
  width:25px;
  height:25px;
  flex-shrink:0;
  color:#28b8e7;
}
:where(.ads-page) .ads-google-details {
  width:100%;
  border-block:1px solid #ffffff35;
  margin-bottom:20px;
}
:where(.ads-page) .ads-google-details summary {
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  font-size:13px;
  padding-block:17px;
  list-style:none;
}
:where(.ads-page) .ads-google-details summary::-webkit-details-marker {
  display:none;
}
:where(.ads-page) .ads-google-details summary>span {
  font-size:23px;
  transition:transform .2s;
}
:where(.ads-page) .ads-google-details[open] summary>span {
  transform:rotate(45deg);
}
:where(.ads-page) .ads-google-details p {
  font-size:13px;
  line-height:1.7;
  color:#d0d7db;
  padding-bottom:18px;
}
:where(.ads-page) .ads-google .text-link {
  font-size:14px;
  margin-top:auto;
}
:where(.ads-page) .ads-service {
  background:white;
  border:1px solid #e3e8eb;
  padding:27px;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
:where(.ads-page) .ads-service h3 {
  font-size:clamp(22px,2.1vw,29px);
  line-height:1.15;
  max-width:280px;
}
:where(.ads-page) .ads-service p {
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
  margin-top:16px;
}
:where(.ads-page) .ads-service-arrow {
  font-size:25px;
  margin-top:auto;
  padding-top:19px;
  line-height:1;
  color:var(--blue-ink);
}
:where(.ads-page) .ads-track-record {
  margin-top:50px;
  padding-top:32px;
  border-top:1px solid var(--line);
}
:where(.ads-page) .ads-track-record>.eyebrow {
  font-size:11px;
  margin-bottom:26px;
}
:where(.ads-page) .ads-track-record dl {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:35px;
  margin:0;
}
:where(.ads-page) .ads-track-record dl>div+div {
  border-left:1px solid var(--line);
  padding-left:35px;
}
:where(.ads-page) .ads-track-record dt {
  font-size:clamp(36px,4.5vw,64px);
  font-weight:650;
  color:var(--blue-ink);
  line-height:1.1;
  letter-spacing:-.055em;
}
:where(.ads-page) .ads-track-record dd {
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
  margin:12px 0 0;
}
:where(.ads-page) .ads-audience {
  background:var(--black);
  color:white;
}
:where(.ads-page) .ads-audience-heading {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  margin-bottom:40px;
}
:where(.ads-page) .ads-audience .eyebrow {
  color:#bfcbd1;
  max-width:250px;
  margin:0;
}
:where(.ads-page) .ads-audience h2 {
  font-size:clamp(38px,4.7vw,67px);
}
:where(.ads-page) .ads-audience-list {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  list-style:none;
  padding:0;
  margin:0;
  gap:35px;
}
:where(.ads-page) .ads-audience-list li {
  border-top:2px solid var(--blue);
  padding-top:23px;
  font-size:16px;
  line-height:1.65;
  color:#e2e7e9;
}
:where(.ads-page) .ads-steps {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:28px;
}
:where(.ads-page) .ads-steps li {
  border-top:1px solid var(--line);
  padding-top:20px;
  min-width:0;
}
:where(.ads-page) .ads-steps li>span {
  font-size:51px;
  font-weight:600;
  color:#b4e2f0;
  line-height:1;
  letter-spacing:-.07em;
}
:where(.ads-page) .ads-steps h3 {
  font-size:21px;
  font-weight:600;
  margin-top:25px;
  letter-spacing:-.035em;
}
:where(.ads-page) .ads-steps p {
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
  margin-top:16px;
}
:where(.ads-page) .ads-case {
  background:#1c2024;
  color:white;
}
:where(.ads-page) .ads-case-grid {
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:8%;
  align-items:stretch;
}
:where(.ads-page) .ads-case .eyebrow {
  color:#bfcbd1;
}
:where(.ads-page) .ads-case h2 {
  font-size:clamp(42px,4.6vw,69px);
  line-height:1.03;
}
:where(.ads-page) .ads-case-desc {
  font-size:15px;
  line-height:1.8;
  color:#d1d8dc;
  margin-top:25px;
  max-width:590px;
}
:where(.ads-page) .ads-case-date {
  font-size:12px;
  color:#c0cbd1;
  margin-top:30px;
}
:where(.ads-page) .ads-case-stats {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 30px;
  margin:17px 0 23px;
}
:where(.ads-page) .ads-case-stats .ads-main-result {
  grid-column:1/3;
}
:where(.ads-page) .ads-case-stats .ads-main-result dt {
  font-size:clamp(64px,7vw,108px);
  font-weight:700;
  letter-spacing:-.075em;
}
:where(.ads-page) .ads-main-result dt>span {
  font-size:.6em;
  margin-left:5px;
}
:where(.ads-page) .ads-case-stats dt {
  font-size:clamp(29px,3.1vw,44px);
  line-height:1.08;
  font-weight:600;
  color:#28b8e7;
  letter-spacing:-.05em;
}
:where(.ads-page) .ads-case-stats dd {
  font-size:13px;
  color:#d3dce0;
  margin:8px 0 0;
}
:where(.ads-page) .ads-case-stats>div:not(.ads-main-result) {
  border-top:1px solid #ffffff35;
  padding-top:20px;
}
:where(.ads-page) .ads-case-photo {
  display:flex;
  flex-direction:column;
  min-width:0;
  padding-top:10px;
}
:where(.ads-page) .ads-case-photo img {
  width:100%;
  height:100%;
  min-height:470px;
  max-height:730px;
  object-fit:cover;
  object-position:center;
  filter:grayscale(1);
}
:where(.ads-page) .ads-case-photo figcaption {
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:10px;
  color:#c2ccd2;
  margin-top:13px;
}
:where(.ads-page) .ads-case-photo figcaption a {
  min-height:35px;
  display:flex;
  align-items:center;
}
:where(.ads-page) .ads-case-photo figcaption>span {
  display:flex;
  align-items:center;
}
:where(.ads-page) .ads-case-social {
  display:flex;
  gap:26px;
  align-items:center;
  font-size:11px;
  margin-top:30px;
  padding-top:20px;
  border-top:1px solid #ffffff30;
  color:#c2ccd2;
}
:where(.ads-page) .ads-case-social>span {
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-right:auto;
}
:where(.ads-page) .ads-case-social a {
  min-height:35px;
  display:flex;
  align-items:center;
}
:where(.ads-page) .ads-case-social a:hover {
  color:#28b8e7;
}
:where(.ads-page) .ads-faq-heading {
  max-width:900px;
  margin-bottom:35px;
}
:where(.ads-page) .ads-faq h2 {
  max-width:none;
  font-size:clamp(33px,3.6vw,51px);
}
:where(.ads-page) .ads-faq .faq-list {
  max-width:100%;
}
:where(.ads-page) .ads-faq summary {
  font-size:18px;
  min-height:88px;
}
:where(.ads-page) .ads-faq details p {
  max-width:870px;
  font-size:15px;
}
:where(.ads-page) .ads-cta {
  padding-block:60px;
  background:var(--blue);
  color:#10232b;
}
:where(.ads-page) .ads-cta-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10%;
  align-items:center;
}
:where(.ads-page) .ads-cta .eyebrow {
  color:#17313d;
}
:where(.ads-page) .ads-cta h2 {
  font-size:clamp(43px,5vw,74px);
  line-height:1.06;
}
:where(.ads-page) .ads-cta h2 span {
  color:white;
}
:where(.ads-page) .ads-cta p:not(.eyebrow) {
  font-size:16px;
  line-height:1.7;
  margin-bottom:25px;
  max-width:500px;
}
:where(.ads-page) .ads-cta .button:hover {
  box-shadow:5px 5px 0 white;
}
:where(.ads-page) .ads-footer {
  background:var(--black);
  color:white;
  padding-block:50px 28px;
}
:where(.ads-page) .ads-footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
}
:where(.ads-page) .ads-footer .brand {
  width:205px;
}
:where(.ads-page) .ads-footer .footer-chal {
  font-weight:600;
  font-size:18px;
  letter-spacing:-.025em;
  margin-top:9px;
}
:where(.ads-page) .ads-contact-links {
  display:flex;
  gap:28px;
  font-size:13px;
  flex-wrap:wrap;
}
:where(.ads-page) .ads-contact-links a {
  text-decoration:underline;
  text-underline-offset:5px;
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.ads-page) .ads-footer-social {
  display:flex;
  gap:20px;
  font-size:12px;
}
:where(.ads-page) .ads-footer-social a {
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.ads-page) .ads-footer a:hover {
  color:#46c7f2;
}
:where(.ads-page) .ads-signoff {
  font-size:12px;
  color:#c6cbd0;
  margin-top:28px;
}
:where(.ads-page) .ads-footer .legal {
  padding-top:22px;
  margin-top:25px;
  border-top:1px solid #ffffff30;
}
@media(max-width:1100px) {
  :where(.ads-page) .ads-hero-grid {
    gap:6%;
    grid-template-columns:.8fr 1.2fr;
  }
  :where(.ads-page) .ads-hero h1 {
    font-size:3.9vw;
  }
  :where(.ads-page) .ads-hero-photo {
    min-height:510px;
  }
  :where(.ads-page) .ads-lead {
    font-size:15px;
  }
  :where(.ads-page) .ads-google {
    padding:25px;
  }
  :where(.ads-page) .ads-service {
    padding:23px;
  }
  :where(.ads-page) .ads-services-grid {
    gap:16px;
    grid-template-columns:1.25fr 1fr 1fr;
  }
  :where(.ads-page) .ads-steps {
    gap:18px;
  }
  :where(.ads-page) .ads-steps h3 {
    font-size:18px;
  }
  :where(.ads-page) .ads-case-grid {
    gap:5%;
  }
  :where(.ads-page) .ads-footer-top {
    flex-wrap:wrap;
  }
}
@media(max-width:760px) {
  .ads-page .menu-icon {
    border-color:var(--black);
  }
  .ads-page .menu-icon:after,
.ads-page .menu-toggle[aria-expanded="true"] .menu-icon:before {
    background:var(--black);
  }
  .ads-page .main-nav {
    background:white;
    border-top-color:var(--line);
  }
  .ads-page .nav-group,
.ads-page .main-nav>a {
    border-bottom-color:var(--line);
  }
  .ads-page .nav-panel {
    background:var(--soft);
    color:var(--black);
  }
  .ads-page .main-nav .nav-contact {
    margin-top:18px;
    padding-inline:18px;
    justify-content:space-between;
  }
  :where(.ads-page) .ads-hero {
    padding-top:30px;
  }
  :where(.ads-page) .ads-hero-grid {
    grid-template-columns:1fr;
    gap:32px;
    padding-bottom:30px;
  }
  :where(.ads-page) .ads-hero-copy {
    grid-row:1;
    padding:0;
  }
  :where(.ads-page) .ads-hero h1 {
    font-size:clamp(33px,6.8vw,48px);
    line-height:1.1;
  }
  :where(.ads-page) .ads-hero .eyebrow {
    font-size:11px;
    margin-bottom:19px;
  }
  :where(.ads-page) .ads-lead {
    font-size:15px;
    margin-block:22px;
  }
  :where(.ads-page) .ads-hero .button {
    font-size:13px;
    padding-inline:18px;
    gap:17px;
  }
  :where(.ads-page) .ads-hero-photo {
    min-height:0;
    height:390px;
    max-width:540px;
    margin:10px 15px 6px 8px;
  }
  :where(.ads-page) .ads-hero-photo>img {
    height:100%;
    object-position:center 57%;
    border-width:5px;
  }
  :where(.ads-page) .ads-photo-arrow {
    width:53px;
    height:53px;
    font-size:34px;
    right:-16px;
    bottom:27px;
  }
  :where(.ads-page) .ads-hero-photo figcaption {
    font-size:8px;
    bottom:10px;
  }
  :where(.ads-page) .ads-local-nav {
    justify-content:space-between;
    gap:12px;
    padding-block:8px;
  }
  :where(.ads-page) .ads-local-nav a {
    font-size:11px;
    gap:10px;
    min-height:47px;
  }
  :where(.ads-page) .ads-local-nav a>span {
    font-size:18px;
  }
  :where(.ads-page) .ads-problem-grid {
    grid-template-columns:1fr;
    gap:25px;
  }
  :where(.ads-page) .ads-problem h2 {
    font-size:35px;
    max-width:550px;
  }
  :where(.ads-page) .ads-problem-copy {
    padding:0;
    font-size:15px;
  }
  :where(.ads-page) .ads-problem-copy p+p {
    margin-top:18px;
  }
  :where(.ads-page) .ads-section-heading {
    gap:18px;
    margin-bottom:30px;
  }
  :where(.ads-page) .ads-section-heading h2 {
    font-size:35px;
  }
  :where(.ads-page) .ads-section-heading>.ads-arrow,
:where(.ads-page) .ads-section-heading>span {
    font-size:53px;
    margin:0;
  }
  :where(.ads-page) .ads-section-heading .eyebrow {
    font-size:11px;
  }
  :where(.ads-page) .ads-services-grid {
    grid-template-columns:1fr 1fr;
    gap:16px;
  }
  :where(.ads-page) .ads-google {
    grid-row:auto;
    grid-column:1/3;
    padding:28px;
  }
  :where(.ads-page) .ads-google h3 {
    font-size:37px;
  }
  :where(.ads-page) .ads-search-art {
    max-width:380px;
  }
  :where(.ads-page) .ads-service {
    padding:22px 19px;
  }
  :where(.ads-page) .ads-service h3 {
    font-size:23px;
    overflow-wrap:break-word;
  }
  :where(.ads-page) .ads-service p {
    font-size:13px;
    line-height:1.65;
  }
  :where(.ads-page) .ads-service-number {
    font-size:12px;
    margin-bottom:20px;
  }
  :where(.ads-page) .ads-track-record {
    margin-top:32px;
    padding-top:27px;
  }
  :where(.ads-page) .ads-track-record dl {
    gap:15px;
  }
  :where(.ads-page) .ads-track-record dl>div+div {
    padding-left:15px;
  }
  :where(.ads-page) .ads-track-record dt {
    font-size:clamp(27px,6.3vw,40px);
  }
  :where(.ads-page) .ads-track-record dd {
    font-size:11px;
    margin-top:9px;
  }
  :where(.ads-page) .ads-track-record>.eyebrow {
    font-size:10px;
  }
  :where(.ads-page) .ads-audience-heading {
    display:block;
    margin-bottom:30px;
  }
  :where(.ads-page) .ads-audience .eyebrow {
    margin-bottom:18px;
    font-size:11px;
    max-width:100%;
  }
  :where(.ads-page) .ads-audience h2 {
    font-size:39px;
  }
  :where(.ads-page) .ads-audience-list {
    grid-template-columns:1fr 1fr;
    gap:28px 24px;
  }
  :where(.ads-page) .ads-audience-list li {
    font-size:14px;
    padding-top:18px;
  }
  :where(.ads-page) .ads-steps {
    grid-template-columns:1fr;
    gap:0;
  }
  :where(.ads-page) .ads-steps li {
    display:grid;
    grid-template-columns:50px 1fr;
    gap:8px 20px;
    padding-block:23px;
  }
  :where(.ads-page) .ads-steps li>span {
    font-size:40px;
    grid-column:1;
    grid-row:1/3;
  }
  :where(.ads-page) .ads-steps h3 {
    font-size:23px;
    margin:0;
    grid-column:2;
  }
  :where(.ads-page) .ads-steps p {
    font-size:14px;
    margin:0;
    grid-column:2;
  }
  :where(.ads-page) .ads-steps li:last-child {
    padding-bottom:0;
  }
  :where(.ads-page) .ads-case-grid {
    grid-template-columns:1fr;
    gap:35px;
  }
  :where(.ads-page) .ads-case h2 {
    font-size:46px;
  }
  :where(.ads-page) .ads-case h2 br {
    display:none;
  }
  :where(.ads-page) .ads-case-desc {
    font-size:15px;
    margin-top:22px;
  }
  :where(.ads-page) .ads-case-date {
    margin-top:25px;
  }
  :where(.ads-page) .ads-case-stats .ads-main-result dt {
    font-size:80px;
  }
  :where(.ads-page) .ads-case-stats dt {
    font-size:34px;
  }
  :where(.ads-page) .ads-case-photo {
    padding:0;
  }
  :where(.ads-page) .ads-case-photo img {
    min-height:0;
    height:340px;
    object-position:center;
  }
  :where(.ads-page) .ads-case-photo figcaption {
    font-size:9px;
    gap:10px;
  }
  :where(.ads-page) .ads-case-social {
    gap:8px 20px;
    flex-wrap:wrap;
    margin-top:23px;
  }
  :where(.ads-page) .ads-case-social>span {
    width:100%;
    font-size:10px;
  }
  :where(.ads-page) .ads-faq h2 {
    font-size:34px;
  }
  :where(.ads-page) .ads-faq-heading {
    margin-bottom:28px;
  }
  :where(.ads-page) .ads-faq summary {
    font-size:16px;
    min-height:80px;
  }
  :where(.ads-page) .ads-faq details p {
    font-size:14px;
  }
  :where(.ads-page) .ads-cta {
    padding-block:45px;
  }
  :where(.ads-page) .ads-cta-grid {
    grid-template-columns:1fr;
    gap:27px;
  }
  :where(.ads-page) .ads-cta h2 {
    font-size:47px;
  }
  :where(.ads-page) .ads-cta p:not(.eyebrow) {
    font-size:15px;
  }
  :where(.ads-page) .ads-cta .button {
    font-size:13px;
    padding-inline:17px;
  }
  :where(.ads-page) .ads-footer {
    padding-block:42px 92px;
  }
  :where(.ads-page) .ads-footer-top {
    display:block;
  }
  :where(.ads-page) .ads-contact-links {
    margin-top:25px;
    gap:8px 22px;
  }
  :where(.ads-page) .ads-footer-social {
    margin-top:10px;
    gap:24px;
  }
  :where(.ads-page) .ads-signoff {
    max-width:400px;
    line-height:1.7;
    margin-top:25px;
  }
  :where(.ads-page) .ads-footer .legal {
    gap:14px;
    padding-right:25px;
  }
  :where(.ads-page) .ads-footer .legal>div {
    gap:12px 20px;
  }
}
@media(max-width:390px) {
  :where(.ads-page) .ads-hero h1 {
    font-size:32px;
  }
  :where(.ads-page) .ads-hero-photo {
    height:335px;
  }
  :where(.ads-page) .ads-service {
    padding:20px 16px;
  }
  :where(.ads-page) .ads-service h3 {
    font-size:21px;
  }
  :where(.ads-page) .ads-services-grid {
    gap:12px;
  }
  :where(.ads-page) .ads-track-record dl {
    gap:10px;
  }
  :where(.ads-page) .ads-track-record dl>div+div {
    padding-left:10px;
  }
  :where(.ads-page) .ads-track-record dt {
    font-size:25px;
  }
  :where(.ads-page) .ads-track-record dd {
    font-size:10px;
  }
  :where(.ads-page) .ads-local-nav a {
    font-size:10px;
    gap:6px;
  }
  :where(.ads-page) .ads-audience-list {
    grid-template-columns:1fr;
    gap:25px;
  }
  :where(.ads-page) .ads-case-stats .ads-main-result dt {
    font-size:70px;
  }
  :where(.ads-page) .ads-cta h2 {
    font-size:43px;
  }
}
@media print {
  :where(.ads-page) .ads-hero-photo {
    min-height:0;
    height:450px;
  }
  :where(.ads-page) .ads-local-nav {
    display:none;
  }
  :where(.ads-page) .ads-service,
:where(.ads-page) .ads-steps li {
    break-inside:avoid;
  }
  :where(.ads-page) .ads-case-photo img {
    min-height:0;
    height:450px;
  }
  :where(.ads-page) .ads-google-details>p {
    display:block!important;
  }
  :where(.ads-page) .ads-footer {
    padding-bottom:25px;
  }
}

/* 05 · Comunicación */
.comm-page .site-header {
  background:white;
  color:var(--black);
  border-bottom:1px solid var(--line);
}
.comm-page .nav-contact {
  background:var(--black);
  color:white;
  padding:10px 20px;
  gap:18px;
  border-radius:3px;
}
.comm-page .nav-contact:hover {
  background:var(--blue);
  color:var(--black);
}
.comm-page .main-nav a:hover,
.comm-page .nav-trigger:hover {
  color:var(--blue-ink);
}
.comm-page .nav-panel [aria-current="page"] {
  color:var(--blue-ink);
  background:var(--soft);
}
:where(.comm-page) .comm-footer {
  background:var(--black);
  color:white;
  padding-block:50px 28px;
}
:where(.comm-page) .comm-footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
}
:where(.comm-page) .comm-footer .brand {
  width:205px;
}
:where(.comm-page) .comm-footer .footer-chal {
  font-weight:600;
  font-size:18px;
  letter-spacing:-.025em;
  margin-top:9px;
}
:where(.comm-page) .comm-contact-links {
  display:flex;
  gap:28px;
  font-size:13px;
  flex-wrap:wrap;
}
:where(.comm-page) .comm-contact-links a {
  text-decoration:underline;
  text-underline-offset:5px;
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.comm-page) .comm-footer-social {
  display:flex;
  gap:20px;
  font-size:12px;
}
:where(.comm-page) .comm-footer-social a {
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.comm-page) .comm-footer a:hover {
  color:#46c7f2;
}
:where(.comm-page) .comm-signoff {
  font-size:12px;
  color:#c6cbd0;
  margin-top:28px;
}
:where(.comm-page) .comm-footer .legal {
  padding-top:22px;
  margin-top:25px;
  border-top:1px solid #ffffff30;
}
:where(.comm-page) .comm-hero {
  background:#f5f7f8;
  padding-top:38px;
  overflow:hidden;
}
:where(.comm-page) .comm-hero-top {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin-bottom:24px;
}
:where(.comm-page) .comm-hero-top .eyebrow {
  margin:0;
  font-size:12px;
}
:where(.comm-page) .comm-hero-note {
  font-size:12px;
  color:var(--muted);
}
:where(.comm-page) .comm-hero h1 {
  position:relative;
  font-size:clamp(55px,9.9vw,151px);
  line-height:1.05;
  font-weight:650;
  letter-spacing:-.065em;
  max-width:1320px;
}
:where(.comm-page) .comm-clear {
  position:relative;
  display:inline-block;
  background:var(--blue);
  color:#fff;
  padding:0 35px 15px 24px;
  transform:rotate(-3deg);
  margin:16px 0 14px 3px;
  border-radius:4px 4px 4px 0;
}
:where(.comm-page) .comm-clear:after {
  content:'';
  position:absolute;
  left:0;
  bottom:-24px;
  border-top:25px solid var(--blue);
  border-right:32px solid transparent;
}
:where(.comm-page) .comm-period {
  color:var(--black);
}
:where(.comm-page) .comm-asterisk {
  width:clamp(70px,9vw,138px);
  height:auto;
  position:absolute;
  left:54%;
  bottom:28px;
  color:var(--blue);
  transform:rotate(10deg);
  animation:comm-turn 1.4s cubic-bezier(.2,.7,.25,1) both;
}
@keyframes comm-turn {
  from {
    transform:rotate(-45deg) scale(.8);
  }
  to {
    transform:rotate(10deg) scale(1);
  }
}
:where(.comm-page) .comm-hero-bottom {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:12%;
  align-items:start;
  margin-top:42px;
  margin-bottom:44px;
}
:where(.comm-page) .comm-hero-statement {
  font-size:clamp(24px,2.7vw,38px);
  line-height:1.28;
  letter-spacing:-.045em;
  max-width:560px;
}
:where(.comm-page) .comm-hero-statement>span {
  color:var(--blue-ink);
}
:where(.comm-page) .comm-hero-copy>p {
  font-size:15px;
  line-height:1.8;
  margin-bottom:22px;
  max-width:540px;
}
:where(.comm-page) .comm-index {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  gap:30px;
}
:where(.comm-page) .comm-index a {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-block:20px;
  font-size:12px;
}
:where(.comm-page) .comm-index a>span {
  font-size:22px;
  color:var(--blue-ink);
  transition:transform .2s;
}
:where(.comm-page) .comm-index a:hover>span {
  transform:translateY(4px);
}
:where(.comm-page) .comm-problem-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12%;
}
:where(.comm-page) .comm-problem h2 {
  font-size:clamp(33px,3.7vw,53px);
  line-height:1.12;
}
:where(.comm-page) .comm-problem .eyebrow {
  color:var(--blue-ink);
}
:where(.comm-page) .comm-problem-copy {
  font-size:16px;
  line-height:1.8;
  color:var(--muted);
  padding-top:33px;
}
:where(.comm-page) .comm-problem-copy p+p {
  margin-top:24px;
  color:var(--black);
}
:where(.comm-page) .comm-voice-art {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:33px;
}
:where(.comm-page) .comm-voice-art>span {
  font-size:12px;
  padding:10px 18px;
  border:1px solid var(--line);
  border-radius:30px;
}
:where(.comm-page) .comm-voice-art>span:first-child {
  background:var(--black);
  color:white;
  border-color:var(--black);
}
:where(.comm-page) .comm-services {
  background:var(--soft);
}
:where(.comm-page) .comm-section-heading {
  margin-bottom:38px;
}
:where(.comm-page) .comm-section-heading h2 {
  font-size:clamp(33px,3.7vw,53px);
}
:where(.comm-page) .comm-services-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  align-items:stretch;
}
:where(.comm-page) .comm-service {
  padding:27px 28px 34px;
  min-width:0;
  display:flex;
  flex-direction:column;
}
:where(.comm-page) .comm-branding {
  background:white;
  border:1px solid var(--line);
}
:where(.comm-page) .comm-events {
  background:var(--blue);
  color:#10232b;
}
:where(.comm-page) .comm-messages {
  background:var(--black);
  color:white;
}
:where(.comm-page) .comm-service-top {
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:11px;
  letter-spacing:.05em;
  text-transform:uppercase;
}
:where(.comm-page) .comm-service-top>span:last-child {
  font-size:21px;
  line-height:1;
}
:where(.comm-page) .comm-service h3 {
  font-size:clamp(25px,2.6vw,37px);
  line-height:1.1;
  letter-spacing:-.045em;
  margin-top:32px;
  min-height:2.2em;
}
:where(.comm-page) .comm-service p {
  font-size:14px;
  line-height:1.75;
  margin-top:20px;
}
:where(.comm-page) .comm-branding p {
  color:var(--muted);
}
:where(.comm-page) .comm-messages p {
  color:#d1dae0;
}
:where(.comm-page) .comm-messages p+p {
  margin-top:12px;
}
:where(.comm-page) .comm-type-art,
:where(.comm-page) .comm-event-art,
:where(.comm-page) .comm-message-art {
  height:190px;
  margin-top:27px;
  position:relative;
}
:where(.comm-page) .comm-type-art>span {
  font-size:120px;
  line-height:1.1;
  letter-spacing:-.09em;
  font-weight:500;
  display:block;
}
:where(.comm-page) .comm-type-art i {
  display:inline-block;
  width:26px;
  height:26px;
  border-radius:50%;
  background:var(--black);
  margin:18px 2px 0 0;
}
:where(.comm-page) .comm-type-art i:nth-of-type(2) {
  background:var(--blue);
}
:where(.comm-page) .comm-type-art i:nth-of-type(3) {
  background:#d7dce0;
}
:where(.comm-page) .comm-event-art {
  border:1px solid #10232b70;
  padding:18px;
  transform:rotate(-5deg);
  width:90%;
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
:where(.comm-page) .comm-event-art>span:first-child {
  font-size:clamp(30px,3.4vw,49px);
  font-weight:600;
  line-height:1;
  letter-spacing:-.06em;
}
:where(.comm-page) .comm-event-art>span:last-child {
  font-size:50px;
  color:white;
}
:where(.comm-page) .comm-message-art {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:20px;
}
:where(.comm-page) .comm-message-art span {
  position:relative;
  background:white;
  color:var(--black);
  padding:12px 19px;
  font-size:clamp(17px,1.8vw,26px);
  font-weight:500;
  letter-spacing:-.04em;
  transform:rotate(-4deg);
}
:where(.comm-page) .comm-message-art span+span {
  background:var(--blue);
  color:#10232b;
  align-self:flex-end;
  transform:rotate(4deg);
}
:where(.comm-page) .comm-message-art span:after {
  content:'';
  position:absolute;
  left:12px;
  bottom:-10px;
  border-top:11px solid white;
  border-right:13px solid transparent;
}
:where(.comm-page) .comm-message-art span+span:after {
  border-top-color:var(--blue);
}
:where(.comm-page) .comm-audience {
  background:var(--black);
  color:white;
}
:where(.comm-page) .comm-audience-grid {
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:12%;
}
:where(.comm-page) .comm-audience .eyebrow {
  color:#b6c6ce;
  max-width:290px;
}
:where(.comm-page) .comm-audience h2 {
  font-size:clamp(50px,6vw,90px);
  line-height:1.02;
}
:where(.comm-page) .comm-audience ul {
  margin:0;
  padding:0;
  list-style:none;
}
:where(.comm-page) .comm-audience li {
  border-top:1px solid #ffffff38;
  padding:22px 0;
  display:grid;
  grid-template-columns:28px 1fr;
  gap:22px;
  font-size:16px;
  line-height:1.65;
  color:#e2e8eb;
}
:where(.comm-page) .comm-audience li>span {
  font-size:12px;
  color:#4ec8f0;
  padding-top:3px;
}
:where(.comm-page) .comm-audience li:last-child {
  padding-bottom:0;
}
:where(.comm-page) .comm-steps {
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:32px;
}
:where(.comm-page) .comm-steps li {
  grid-column:span 2;
  display:flex;
  gap:23px;
  padding-top:25px;
  border-top:1px solid var(--line);
  min-width:0;
}
:where(.comm-page) .comm-steps li:nth-child(4) {
  grid-column:2/4;
}
:where(.comm-page) .comm-steps li>span {
  font-size:15px;
  color:var(--blue-ink);
  line-height:1.4;
}
:where(.comm-page) .comm-steps h3 {
  font-size:23px;
  font-weight:600;
}
:where(.comm-page) .comm-steps p {
  font-size:14px;
  color:var(--muted);
  line-height:1.7;
  margin-top:14px;
}
:where(.comm-page) .comm-case {
  background:#1b2024;
  color:white;
}
:where(.comm-page) .comm-case-heading {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:flex-end;
  margin-bottom:40px;
}
:where(.comm-page) .comm-case .eyebrow {
  color:#c5d1d8;
}
:where(.comm-page) .comm-case h2 {
  font-size:clamp(70px,10vw,144px);
  line-height:.9;
}
:where(.comm-page) .comm-case-heading .text-link {
  font-size:14px;
}
:where(.comm-page) .comm-case-grid {
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:7%;
  align-items:center;
}
:where(.comm-page) .comm-case-quote {
  font-size:clamp(29px,3.4vw,49px);
  line-height:1.2;
  letter-spacing:-.04em;
  color:#30bcea;
  margin-bottom:25px;
  max-width:590px;
}
:where(.comm-page) .comm-case-story>p:not(.comm-case-quote) {
  font-size:15px;
  line-height:1.8;
  color:#d1d9de;
}
:where(.comm-page) .comm-client-logo {
  display:block;
  width:160px;
  height:90px;
  overflow:hidden;
  margin-top:18px;
}
:where(.comm-page) .comm-client-logo img {
  width:160px;
  height:160px;
  object-fit:contain;
  transform:translateY(-35px);
}
:where(.comm-page) .comm-case-visual {
  min-width:0;
}
:where(.comm-page) .comm-case-visual>img {
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  border:7px solid #f1f3f4;
  transform:rotate(2deg);
}
:where(.comm-page) .comm-case-visual figcaption {
  font-size:10px;
  line-height:1.7;
  color:#c1ccd2;
  margin-top:25px;
}
:where(.comm-page) .comm-case-social {
  display:flex;
  gap:24px;
  align-items:center;
  font-size:11px;
  margin-top:35px;
  padding-top:20px;
  border-top:1px solid #ffffff30;
  color:#c2ccd2;
}
:where(.comm-page) .comm-case-social>span {
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-right:auto;
}
:where(.comm-page) .comm-case-social a {
  min-height:40px;
  display:flex;
  align-items:center;
}
:where(.comm-page) .comm-case-social a:hover {
  color:#28b8e7;
}
:where(.comm-page) .comm-faq-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:10%;
}
:where(.comm-page) .comm-faq h2 {
  font-size:clamp(32px,3.5vw,49px);
}
:where(.comm-page) .comm-faq summary {
  font-size:17px;
  min-height:95px;
}
:where(.comm-page) .comm-faq details p {
  font-size:14px;
  line-height:1.75;
}
:where(.comm-page) .comm-cta {
  background:var(--blue);
  color:#10232b;
  padding-block:65px;
}
:where(.comm-page) .comm-cta .eyebrow {
  color:#17313d;
}
:where(.comm-page) .comm-cta h2 {
  font-size:clamp(38px,5.4vw,78px);
  line-height:1.1;
  max-width:1150px;
}
:where(.comm-page) .comm-cta h2>span {
  color:white;
}
:where(.comm-page) .comm-cta-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:40px;
  margin-top:35px;
  padding-top:30px;
  border-top:1px solid #10232b50;
}
:where(.comm-page) .comm-cta-bottom>p {
  font-size:16px;
  line-height:1.7;
  max-width:590px;
}
:where(.comm-page) .comm-cta .button {
  flex-shrink:0;
}
:where(.comm-page) .comm-cta .button:hover {
  box-shadow:5px 5px 0 white;
}
@media(max-width:1100px) {
  :where(.comm-page) .comm-services-grid {
    gap:16px;
  }
  :where(.comm-page) .comm-service {
    padding:24px 22px 30px;
  }
  :where(.comm-page) .comm-type-art,
:where(.comm-page) .comm-event-art,
:where(.comm-page) .comm-message-art {
    height:170px;
  }
  :where(.comm-page) .comm-type-art>span {
    font-size:104px;
  }
  :where(.comm-page) .comm-service h3 {
    font-size:27px;
  }
  :where(.comm-page) .comm-service p {
    font-size:13px;
  }
  :where(.comm-page) .comm-steps {
    gap:30px 22px;
  }
  :where(.comm-page) .comm-steps li {
    gap:16px;
  }
  :where(.comm-page) .comm-steps h3 {
    font-size:21px;
  }
  :where(.comm-page) .comm-footer-top {
    flex-wrap:wrap;
  }
  :where(.comm-page) .comm-cta-bottom>p {
    max-width:470px;
  }
}
@media(max-width:760px) {
  .comm-page .menu-icon {
    border-color:var(--black);
  }
  .comm-page .menu-icon:after,
.comm-page .menu-toggle[aria-expanded="true"] .menu-icon:before {
    background:var(--black);
  }
  .comm-page .main-nav {
    background:white;
    border-top-color:var(--line);
  }
  .comm-page .nav-group,
.comm-page .main-nav>a {
    border-bottom-color:var(--line);
  }
  .comm-page .nav-panel {
    background:var(--soft);
    color:var(--black);
  }
  .comm-page .main-nav .nav-contact {
    margin-top:18px;
    padding-inline:18px;
    justify-content:space-between;
  }
  :where(.comm-page) .comm-hero {
    padding-top:30px;
  }
  :where(.comm-page) .comm-hero-top {
    margin-bottom:24px;
  }
  :where(.comm-page) .comm-hero-top .eyebrow {
    font-size:10px;
  }
  :where(.comm-page) .comm-hero-note {
    display:none;
  }
  :where(.comm-page) .comm-hero h1 {
    font-size:10.15vw;
    line-height:1.12;
  }
  :where(.comm-page) .comm-clear {
    font-size:1.52em;
    padding:0 22px 10px 15px;
    margin-top:20px;
  }
  :where(.comm-page) .comm-clear:after {
    bottom:-17px;
    border-top-width:18px;
    border-right-width:23px;
  }
  :where(.comm-page) .comm-asterisk {
    left:auto;
    right:6%;
    bottom:23px;
    width:15vw;
    max-width:95px;
  }
  :where(.comm-page) .comm-hero-bottom {
    grid-template-columns:1fr;
    gap:25px;
    margin-top:28px;
    margin-bottom:28px;
  }
  :where(.comm-page) .comm-hero-statement {
    font-size:27px;
    max-width:480px;
  }
  :where(.comm-page) .comm-hero-copy>p {
    font-size:14px;
    line-height:1.75;
  }
  :where(.comm-page) .comm-hero .button {
    font-size:13px;
    padding-inline:18px;
  }
  :where(.comm-page) .comm-index {
    gap:15px;
  }
  :where(.comm-page) .comm-index a {
    font-size:10px;
    gap:10px;
    padding-block:17px;
    line-height:1.5;
  }
  :where(.comm-page) .comm-index a>span {
    font-size:19px;
  }
  :where(.comm-page) .comm-problem-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  :where(.comm-page) .comm-problem h2 {
    font-size:35px;
  }
  :where(.comm-page) .comm-problem-copy {
    padding:0;
    font-size:15px;
  }
  :where(.comm-page) .comm-voice-art {
    margin-top:25px;
    gap:8px;
  }
  :where(.comm-page) .comm-voice-art>span {
    font-size:10px;
    padding:9px 14px;
  }
  :where(.comm-page) .comm-section-heading {
    margin-bottom:28px;
  }
  :where(.comm-page) .comm-section-heading h2 {
    font-size:34px;
  }
  :where(.comm-page) .comm-section-heading .eyebrow {
    font-size:11px;
  }
  :where(.comm-page) .comm-services-grid {
    grid-template-columns:1fr;
    gap:22px;
  }
  :where(.comm-page) .comm-service {
    padding:25px 27px 30px;
  }
  :where(.comm-page) .comm-service-top {
    font-size:11px;
  }
  :where(.comm-page) .comm-type-art,
:where(.comm-page) .comm-event-art,
:where(.comm-page) .comm-message-art {
    height:155px;
    margin-top:22px;
  }
  :where(.comm-page) .comm-type-art>span {
    font-size:100px;
  }
  :where(.comm-page) .comm-type-art i {
    margin-top:10px;
  }
  :where(.comm-page) .comm-event-art {
    max-width:310px;
  }
  :where(.comm-page) .comm-event-art>span:first-child {
    font-size:42px;
  }
  :where(.comm-page) .comm-message-art {
    max-width:320px;
    width:100%;
    margin-inline:auto;
  }
  :where(.comm-page) .comm-message-art span {
    font-size:23px;
  }
  :where(.comm-page) .comm-service h3 {
    font-size:31px;
    min-height:0;
    margin-top:28px;
    max-width:390px;
  }
  :where(.comm-page) .comm-service p {
    font-size:14px;
    margin-top:17px;
  }
  :where(.comm-page) .comm-audience-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  :where(.comm-page) .comm-audience h2 {
    font-size:44px;
  }
  :where(.comm-page) .comm-audience h2 br {
    display:none;
  }
  :where(.comm-page) .comm-audience .eyebrow {
    max-width:100%;
    font-size:11px;
  }
  :where(.comm-page) .comm-audience li {
    font-size:15px;
    gap:14px;
    padding-block:20px;
  }
  :where(.comm-page) .comm-steps {
    grid-template-columns:1fr;
    gap:0;
  }
  :where(.comm-page) .comm-steps li,
:where(.comm-page) .comm-steps li:nth-child(4) {
    grid-column:auto;
    gap:22px;
    padding-block:23px;
  }
  :where(.comm-page) .comm-steps li>span {
    font-size:17px;
    min-width:25px;
  }
  :where(.comm-page) .comm-steps h3 {
    font-size:25px;
  }
  :where(.comm-page) .comm-steps p {
    font-size:14px;
    margin-top:12px;
  }
  :where(.comm-page) .comm-steps li:last-child {
    padding-bottom:0;
  }
  :where(.comm-page) .comm-case-heading {
    display:block;
    margin-bottom:27px;
  }
  :where(.comm-page) .comm-case h2 {
    font-size:80px;
  }
  :where(.comm-page) .comm-case-heading .text-link {
    margin-top:23px;
    font-size:13px;
  }
  :where(.comm-page) .comm-case-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  :where(.comm-page) .comm-case-quote {
    font-size:34px;
    margin-bottom:22px;
  }
  :where(.comm-page) .comm-case-story>p:not(.comm-case-quote) {
    font-size:14px;
  }
  :where(.comm-page) .comm-case-visual {
    padding-inline:7px;
  }
  :where(.comm-page) .comm-case-visual>img {
    border-width:5px;
  }
  :where(.comm-page) .comm-case-visual figcaption {
    font-size:10px;
    margin-top:20px;
  }
  :where(.comm-page) .comm-case-social {
    flex-wrap:wrap;
    gap:4px 22px;
    margin-top:26px;
  }
  :where(.comm-page) .comm-case-social>span {
    width:100%;
    font-size:10px;
  }
  :where(.comm-page) .comm-client-logo {
    margin-top:15px;
  }
  :where(.comm-page) .comm-faq-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  :where(.comm-page) .comm-faq h2 {
    font-size:34px;
    max-width:500px;
  }
  :where(.comm-page) .comm-faq summary {
    font-size:16px;
    min-height:85px;
  }
  :where(.comm-page) .comm-faq details p {
    font-size:14px;
  }
  :where(.comm-page) .comm-cta {
    padding-block:48px;
  }
  :where(.comm-page) .comm-cta h2 {
    font-size:40px;
  }
  :where(.comm-page) .comm-cta-bottom {
    display:block;
    margin-top:26px;
    padding-top:25px;
  }
  :where(.comm-page) .comm-cta-bottom>p {
    font-size:15px;
    margin-bottom:25px;
  }
  :where(.comm-page) .comm-cta .button {
    font-size:13px;
    padding-inline:17px;
  }
  :where(.comm-page) .comm-footer {
    padding-block:42px 92px;
  }
  :where(.comm-page) .comm-footer-top {
    display:block;
  }
  :where(.comm-page) .comm-contact-links {
    margin-top:25px;
    gap:8px 22px;
  }
  :where(.comm-page) .comm-footer-social {
    margin-top:10px;
    gap:24px;
  }
  :where(.comm-page) .comm-signoff {
    max-width:400px;
    line-height:1.7;
    margin-top:25px;
  }
  :where(.comm-page) .comm-footer .legal {
    gap:14px;
    padding-right:25px;
  }
  :where(.comm-page) .comm-footer .legal>div {
    gap:12px 20px;
  }
}
@media(max-width:390px) {
  :where(.comm-page) .comm-hero h1 {
    font-size:9.95vw;
  }
  :where(.comm-page) .comm-hero-statement {
    font-size:25px;
  }
  :where(.comm-page) .comm-index {
    gap:10px;
  }
  :where(.comm-page) .comm-index a {
    font-size:9px;
    gap:7px;
  }
  :where(.comm-page) .comm-service {
    padding-inline:23px;
  }
  :where(.comm-page) .comm-service h3 {
    font-size:28px;
  }
  :where(.comm-page) .comm-cta h2 {
    font-size:36px;
  }
  :where(.comm-page) .comm-voice-art>span {
    padding-inline:12px;
  }
}
@media(prefers-reduced-motion:reduce) {
  :where(.comm-page) .comm-asterisk {
    animation:none;
  }
}
@media print {
  :where(.comm-page) .comm-index {
    display:none;
  }
  :where(.comm-page) .comm-service,
:where(.comm-page) .comm-steps li {
    break-inside:avoid;
  }
  :where(.comm-page) .comm-footer {
    padding-bottom:25px;
  }
}

/* 06 · Maratón */
:where(.race-page) .race-footer {
  background:var(--black);
  color:white;
  padding-block:50px 28px;
}
:where(.race-page) .race-footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
}
:where(.race-page) .race-footer .brand {
  width:205px;
}
:where(.race-page) .race-footer .footer-chal {
  font-weight:600;
  font-size:18px;
  letter-spacing:-.025em;
  margin-top:9px;
}
:where(.race-page) .race-contact-links {
  display:flex;
  gap:28px;
  font-size:13px;
  flex-wrap:wrap;
}
:where(.race-page) .race-contact-links a {
  text-decoration:underline;
  text-underline-offset:5px;
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.race-page) .race-footer-social {
  display:flex;
  gap:20px;
  font-size:12px;
}
:where(.race-page) .race-footer-social a {
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.race-page) .race-footer a:hover {
  color:#46c7f2;
}
:where(.race-page) .race-signoff {
  font-size:12px;
  color:#c6cbd0;
  margin-top:28px;
}
:where(.race-page) .race-footer .legal {
  padding-top:22px;
  margin-top:25px;
  border-top:1px solid #ffffff30;
}
.race-page {
  background:#f6f7f8;
}
.race-page .site-header {
  border-bottom:1px solid #ffffff25;
}
.race-page .nav-contact {
  border:1px solid #ffffff60;
  padding:9px 18px;
  gap:20px;
}
.race-page .nav-panel [aria-current=page] {
  background:var(--soft);
  color:var(--blue-ink);
}
:where(.race-page) .race-hero {
  position:relative;
  background:#171c20;
  color:white;
  isolation:isolate;
  min-height:690px;
  display:flex;
  align-items:stretch;
  overflow:hidden;
}
:where(.race-page) .race-hero-image,
:where(.race-page) .race-hero-shade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:-2;
}
:where(.race-page) .race-hero-image {
  object-fit:cover;
  object-position:center 64%;
}
:where(.race-page) .race-hero-shade {
  z-index:-1;
  background:linear-gradient(90deg,rgba(10,17,22,.91),rgba(10,17,22,.23)),linear-gradient(0deg,rgba(10,17,22,.75),transparent 60%);
}
:where(.race-page) .race-hero-inner {
  display:flex;
  flex-direction:column;
  padding-block:35px 28px;
}
:where(.race-page) .race-hero-top {
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
}
:where(.race-page) .race-hero-top .eyebrow {
  color:#d1dce3;
  font-size:11px;
  margin:0;
}
:where(.race-page) .race-hero-top>span {
  font-size:11px;
  color:#d1dce3;
  white-space:nowrap;
}
:where(.race-page) .race-hero-grid {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  align-items:center;
  gap:50px;
  flex:1;
  padding-block:55px;
}
:where(.race-page) .race-hero h1 {
  font-size:clamp(56px,6.5vw,99px);
  font-weight:650;
  line-height:.98;
  letter-spacing:-.06em;
}
:where(.race-page) .race-hero h1>span {
  color:#41c4ef;
}
:where(.race-page) .race-tagline {
  font-size:clamp(18px,2vw,27px);
  line-height:1.4;
  letter-spacing:-.025em;
  margin-top:27px;
}
:where(.race-page) .race-years {
  justify-self:end;
  text-align:right;
  border-right:2px solid #41c4ef;
  padding-right:27px;
}
:where(.race-page) .race-years>strong {
  font-size:clamp(140px,21vw,310px);
  letter-spacing:-.09em;
  font-weight:600;
  line-height:.85;
  display:block;
  color:#41c4ef;
}
:where(.race-page) .race-years>span {
  display:block;
  font-size:clamp(17px,1.8vw,25px);
  line-height:1.3;
  margin-top:22px;
}
:where(.race-page) .race-hero-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  border-top:1px solid #ffffff50;
  padding-top:19px;
  font-size:11px;
}
:where(.race-page) .race-hero-bottom a {
  display:flex;
  gap:30px;
  align-items:center;
  min-height:40px;
}
:where(.race-page) .race-hero-bottom a>span {
  font-size:26px;
  color:#41c4ef;
}
:where(.race-page) .race-chapters {
  background:var(--black);
  color:white;
}
:where(.race-page) .race-chapters>.container {
  display:flex;
  gap:35px;
  justify-content:space-between;
  flex-wrap:wrap;
}
:where(.race-page) .race-chapters a {
  min-height:64px;
  display:flex;
  align-items:center;
  font-size:11px;
}
:where(.race-page) .race-chapters a:hover {
  color:#41c4ef;
}
:where(.race-page) .race-results {
  background:white;
}
:where(.race-page) .race-section-head {
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:80px;
  align-items:end;
}
:where(.race-page) .race-section-head>.eyebrow {
  grid-column:1/-1;
  color:var(--blue-ink);
}
:where(.race-page) .race-section-head h2 {
  font-size:clamp(38px,4.5vw,67px);
}
:where(.race-page) .race-period {
  font-size:12px;
  color:var(--muted);
  line-height:1.8;
  justify-self:end;
}
:where(.race-page) .race-scoreboard {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin:48px 0 0;
  padding-top:30px;
  border-top:1px solid var(--line);
  gap:28px;
}
:where(.race-page) .race-scoreboard>div+div {
  border-left:1px solid var(--line);
  padding-left:28px;
}
:where(.race-page) .race-scoreboard dt {
  font-size:clamp(45px,5.7vw,84px);
  font-weight:650;
  line-height:1;
  letter-spacing:-.07em;
  color:var(--blue-ink);
  white-space:nowrap;
}
:where(.race-page) .race-scoreboard dt>span {
  font-size:.6em;
  margin-left:4px;
}
:where(.race-page) .race-scoreboard dd {
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
  margin:16px 0 0;
  max-width:200px;
}
:where(.race-page) .race-story {
  background:#eef1f3;
}
:where(.race-page) .race-story-title h2 {
  font-size:clamp(38px,5vw,75px);
}
:where(.race-page) .race-story-title h2>span {
  color:var(--blue-ink);
}
:where(.race-page) .race-story-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9%;
  margin-top:40px;
  max-width:1200px;
}
:where(.race-page) .race-story-grid h3 {
  font-size:19px;
  letter-spacing:-.03em;
  margin-bottom:17px;
}
:where(.race-page) .race-story-grid p {
  font-size:16px;
  line-height:1.8;
  color:var(--muted);
}
:where(.race-page) .race-scope {
  display:grid;
  grid-template-columns:.6fr 1.4fr;
  gap:50px;
  border-top:1px solid var(--line);
  padding-top:28px;
  margin-top:42px;
  align-items:start;
}
:where(.race-page) .race-scope .eyebrow {
  font-size:11px;
  margin:7px 0 0;
}
:where(.race-page) .race-scope ul {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  list-style:none;
  padding:0;
  margin:0;
}
:where(.race-page) .race-scope li {
  font-size:11px;
  border:1px solid #bcc8d0;
  border-radius:30px;
  padding:8px 14px;
  color:#424d55;
}
:where(.race-page) .race-work {
  background:white;
}
:where(.race-page) .race-work-heading {
  padding-block:70px 48px;
}
:where(.race-page) .race-work-heading h2 {
  font-size:clamp(39px,5vw,73px);
}
:where(.race-page) .race-work-number {
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:25px;
}
:where(.race-page) .race-community {
  background:var(--black);
  color:white;
  padding-block:70px;
}
:where(.race-page) .race-community-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12%;
  align-items:center;
}
:where(.race-page) .race-community h3,
:where(.race-page) .race-digital h3,
:where(.race-page) .race-coverage h3 {
  font-size:clamp(37px,4.3vw,64px);
  line-height:1.1;
}
:where(.race-page) .race-community .race-work-number {
  color:#b7cbd5;
}
:where(.race-page) .race-community h3+p {
  font-size:16px;
  line-height:1.8;
  color:#d6e0e6;
  max-width:460px;
  margin-top:24px;
}
:where(.race-page) .race-organic {
  border-top:1px solid #ffffff35;
  padding-top:25px;
  margin-top:27px;
}
:where(.race-page) .race-organic h4 {
  font-size:17px;
  letter-spacing:-.03em;
  font-weight:500;
  margin:0 0 12px;
}
:where(.race-page) .race-organic p {
  font-size:14px;
  color:#d6e0e6;
}
:where(.race-page) .race-community .text-link {
  font-size:12px;
  margin-top:25px;
}
:where(.race-page) .race-community-statement {
  border:1px solid #ffffff35;
  padding:35px;
  position:relative;
}
:where(.race-page) .race-community-statement:after {
  content:'';
  position:absolute;
  top:-1px;
  right:-1px;
  width:38px;
  height:38px;
  border-top:3px solid #41c4ef;
  border-right:3px solid #41c4ef;
}
:where(.race-page) .race-small-label {
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#c5d3da;
}
:where(.race-page) .race-community-statement>p {
  font-size:clamp(85px,11vw,170px);
  font-weight:650;
  line-height:1.2;
  letter-spacing:-.075em;
  color:#41c4ef;
  margin-block:24px 10px;
}
:where(.race-page) .race-community-statement>p>span {
  font-size:.65em;
}
:where(.race-page) .race-community-caption {
  font-size:clamp(21px,2.5vw,35px);
  letter-spacing:-.04em;
  line-height:1.3;
  display:block;
}
:where(.race-page) .race-community-links {
  display:flex;
  gap:25px;
  border-top:1px solid #ffffff30;
  padding-top:16px;
  margin-top:30px;
  font-size:11px;
}
:where(.race-page) .race-community-links a {
  display:flex;
  min-height:36px;
  align-items:center;
}
:where(.race-page) .race-digital-head,
:where(.race-page) .race-coverage-head {
  display:flex;
  justify-content:space-between;
  gap:60px;
  align-items:flex-end;
  margin-bottom:40px;
}
:where(.race-page) .race-digital-head>p,
:where(.race-page) .race-coverage-head>p {
  max-width:300px;
  font-size:16px;
  color:var(--muted);
  line-height:1.7;
}
:where(.race-page) .race-digital h3>span {
  color:var(--blue-ink);
}
:where(.race-page) .race-digital-grid {
  display:grid;
  grid-template-columns:1.8fr 1fr;
  gap:7%;
  align-items:center;
}
:where(.race-page) .race-browser {
  min-width:0;
}
:where(.race-page) .race-browser-bar {
  display:flex;
  gap:5px;
  padding:14px 17px;
  background:#e8edef;
  border:1px solid var(--line);
  border-radius:9px 9px 0 0;
  align-items:center;
}
:where(.race-page) .race-browser-bar i {
  display:block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#adb9c0;
}
:where(.race-page) .race-browser-bar>span {
  font-size:10px;
  margin-left:17px;
  color:#626c73;
}
:where(.race-page) .race-browser>a {
  display:block;
  border:1px solid var(--line);
  border-top:0;
  overflow:hidden;
}
:where(.race-page) .race-browser img {
  width:100%;
  height:auto;
  transition:transform .5s;
}
:where(.race-page) .race-browser a:hover img {
  transform:scale(1.015);
}
:where(.race-page) .race-browser figcaption {
  display:flex;
  justify-content:space-between;
  gap:15px;
  color:var(--muted);
  font-size:10px;
  margin-top:15px;
  line-height:1.6;
}
:where(.race-page) .race-browser figcaption>span {
  white-space:nowrap;
}
:where(.race-page) .race-web-stats>div {
  padding-block:22px;
  border-bottom:1px solid var(--line);
}
:where(.race-page) .race-web-stats strong {
  display:block;
  font-weight:600;
  font-size:clamp(50px,6.5vw,95px);
  line-height:1;
  letter-spacing:-.07em;
}
:where(.race-page) .race-web-stats strong>span {
  font-size:.62em;
  margin-left:4px;
  color:var(--blue-ink);
}
:where(.race-page) .race-web-stats p {
  font-size:13px;
  color:var(--muted);
  margin-top:13px;
}
:where(.race-page) .race-web-stats .text-link {
  font-size:12px;
  margin-top:20px;
}
:where(.race-page) .race-coverage {
  background:#eef1f3;
}
:where(.race-page) .race-coverage h3>span {
  color:var(--blue-ink);
}
:where(.race-page) .race-film>a {
  position:relative;
  display:block;
  background:#111;
  overflow:hidden;
  isolation:isolate;
}
:where(.race-page) .race-film>a:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#000c,transparent 65%);
  z-index:-1;
}
:where(.race-page) .race-film img {
  width:100%;
  aspect-ratio:16/8;
  object-fit:cover;
  position:relative;
  z-index:-2;
  transition:transform .5s;
}
:where(.race-page) .race-film a:hover img {
  transform:scale(1.025);
}
:where(.race-page) .race-play {
  position:absolute;
  left:50%;
  top:40%;
  transform:translate(-50%,-50%);
  width:80px;
  height:80px;
  border:1px solid white;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#0004;
  color:white;
  font-size:22px;
  padding-left:4px;
  transition:background .2s;
}
:where(.race-page) .race-film a:hover .race-play {
  background:var(--blue);
}
:where(.race-page) .race-film-title {
  position:absolute;
  bottom:37px;
  left:37px;
  color:white;
  font-size:clamp(24px,3vw,43px);
  line-height:1.2;
  letter-spacing:-.04em;
}
:where(.race-page) .race-film-link {
  position:absolute;
  right:30px;
  bottom:40px;
  color:white;
  font-size:12px;
}
:where(.race-page) .race-film figcaption {
  display:flex;
  justify-content:space-between;
  gap:25px;
  font-size:10px;
  line-height:1.7;
  color:var(--muted);
  margin-top:16px;
}
:where(.race-page) .race-coverage-stages {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:35px;
  list-style:none;
  padding:0;
  margin:30px 0 0;
}
:where(.race-page) .race-coverage-stages li {
  padding-top:18px;
  border-top:1px solid #b6c5cf;
  font-size:16px;
  display:flex;
  gap:20px;
  align-items:center;
}
:where(.race-page) .race-coverage-stages li>span {
  font-size:11px;
  color:var(--blue-ink);
}
:where(.race-page) .race-continuity {
  background:var(--blue);
  color:#10232b;
  overflow:hidden;
}
:where(.race-page) .race-continuity-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:9%;
  align-items:center;
}
:where(.race-page) .race-big-year {
  font-size:clamp(160px,27vw,380px);
  font-weight:650;
  line-height:1;
  letter-spacing:-.09em;
  color:#ffffff;
  white-space:nowrap;
}
:where(.race-page) .race-big-year>span {
  font-size:.4em;
  vertical-align:top;
  position:relative;
  top:30px;
}
:where(.race-page) .race-continuity .eyebrow {
  color:#163441;
  font-size:11px;
}
:where(.race-page) .race-continuity h2 {
  font-size:clamp(42px,5vw,75px);
}
:where(.race-page) .race-continuity h2+p {
  font-size:16px;
  line-height:1.8;
  margin-top:25px;
  max-width:630px;
}
:where(.race-page) .race-cta {
  background:white;
}
:where(.race-page) .race-cta-grid {
  display:grid;
  grid-template-columns:1.7fr 1fr;
  gap:10%;
  align-items:end;
}
:where(.race-page) .race-cta h2 {
  font-size:clamp(35px,4vw,57px);
  line-height:1.13;
}
:where(.race-page) .race-cta h2>span {
  color:var(--blue-ink);
}
:where(.race-page) .race-cta .button {
  justify-self:end;
  white-space:nowrap;
}
:where(.race-page) .race-next {
  display:block;
  background:#e9eef1;
  border-top:1px solid var(--line);
  transition:background .2s;
}
:where(.race-page) .race-next:hover {
  background:#dcebf1;
}
:where(.race-page) .race-next>.container {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-block:30px;
  gap:40px;
}
:where(.race-page) .race-next div>span {
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
}
:where(.race-page) .race-next strong {
  display:block;
  font-size:clamp(28px,3.4vw,46px);
  font-weight:600;
  letter-spacing:-.055em;
  margin-top:7px;
}
:where(.race-page) .race-next .race-next-arrow {
  font-size:54px;
  color:var(--blue-ink);
}
@media(max-width:1100px) {
  :where(.race-page) .race-hero {
    min-height:620px;
  }
  :where(.race-page) .race-hero-grid {
    gap:30px;
  }
  :where(.race-page) .race-scoreboard {
    gap:20px;
  }
  :where(.race-page) .race-scoreboard>div+div {
    padding-left:20px;
  }
  :where(.race-page) .race-community-grid {
    gap:7%;
  }
  :where(.race-page) .race-community-statement {
    padding:27px;
  }
  :where(.race-page) .race-footer-top {
    flex-wrap:wrap;
  }
  :where(.race-page) .race-cta-grid {
    gap:6%;
  }
  :where(.race-page) .race-cta .button {
    font-size:12px;
    padding-inline:16px;
    gap:13px;
  }
}
@media(max-width:760px) {
  .race-page .main-nav .nav-contact {
    padding:16px;
    margin-top:15px;
    justify-content:space-between;
  }
  :where(.race-page) .race-hero {
    min-height:0;
  }
  :where(.race-page) .race-hero-inner {
    padding-block:25px 18px;
  }
  :where(.race-page) .race-hero-top .eyebrow {
    font-size:9px;
    max-width:230px;
    line-height:1.6;
  }
  :where(.race-page) .race-hero-top>span {
    display:none;
  }
  :where(.race-page) .race-hero-grid {
    grid-template-columns:1fr;
    gap:32px;
    padding-block:38px 27px;
  }
  :where(.race-page) .race-hero h1 {
    font-size:clamp(47px,10.8vw,75px);
  }
  :where(.race-page) .race-hero-image {
    object-position:61% center;
  }
  :where(.race-page) .race-hero-shade {
    background:linear-gradient(90deg,#101820dd,#10182066),linear-gradient(0deg,#101820aa,transparent);
  }
  :where(.race-page) .race-tagline {
    font-size:18px;
    margin-top:21px;
  }
  :where(.race-page) .race-years {
    display:flex;
    justify-self:start;
    align-items:center;
    gap:25px;
    text-align:left;
    border-right:0;
    padding:0;
  }
  :where(.race-page) .race-years>strong {
    font-size:115px;
  }
  :where(.race-page) .race-years>span {
    font-size:16px;
    margin:0;
    line-height:1.5;
    border-left:1px solid #41c4ef;
    padding-left:22px;
  }
  :where(.race-page) .race-hero-bottom {
    gap:10px;
    font-size:9px;
    align-items:center;
  }
  :where(.race-page) .race-hero-bottom>p {
    max-width:165px;
    line-height:1.7;
  }
  :where(.race-page) .race-hero-bottom a {
    gap:13px;
    line-height:1.5;
  }
  :where(.race-page) .race-hero-bottom a>span {
    font-size:22px;
  }
  :where(.race-page) .race-chapters>.container {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 20px;
  }
  :where(.race-page) .race-chapters a {
    font-size:10px;
    min-height:48px;
    border-bottom:1px solid #ffffff20;
  }
  :where(.race-page) .race-chapters a:nth-child(n+3) {
    border:0;
  }
  :where(.race-page) .race-section-head {
    grid-template-columns:1fr;
    gap:0;
  }
  :where(.race-page) .race-section-head .eyebrow {
    font-size:11px;
  }
  :where(.race-page) .race-section-head h2 {
    font-size:37px;
  }
  :where(.race-page) .race-period {
    justify-self:start;
    font-size:11px;
    margin-top:22px;
  }
  :where(.race-page) .race-scoreboard {
    grid-template-columns:1fr 1fr;
    gap:25px 20px;
    margin-top:27px;
    padding-top:27px;
  }
  :where(.race-page) .race-scoreboard>div+div {
    border:0;
    padding-left:0;
  }
  :where(.race-page) .race-scoreboard>div:nth-child(even) {
    border-left:1px solid var(--line);
    padding-left:20px;
  }
  :where(.race-page) .race-scoreboard dt {
    font-size:clamp(42px,10.8vw,65px);
  }
  :where(.race-page) .race-scoreboard dd {
    font-size:11px;
    margin-top:10px;
  }
  :where(.race-page) .race-story-title h2 {
    font-size:38px;
  }
  :where(.race-page) .race-story-grid {
    grid-template-columns:1fr;
    gap:28px;
    margin-top:30px;
  }
  :where(.race-page) .race-story-grid h3 {
    font-size:19px;
    margin-bottom:12px;
  }
  :where(.race-page) .race-story-grid p {
    font-size:14px;
    line-height:1.8;
  }
  :where(.race-page) .race-scope {
    grid-template-columns:1fr;
    gap:20px;
    margin-top:30px;
    padding-top:25px;
  }
  :where(.race-page) .race-scope ul {
    gap:8px;
  }
  :where(.race-page) .race-scope li {
    font-size:10px;
    padding:7px 11px;
  }
  :where(.race-page) .race-work-heading {
    padding-block:52px 35px;
  }
  :where(.race-page) .race-work-heading h2 {
    font-size:38px;
  }
  :where(.race-page) .race-community {
    padding-block:45px;
  }
  :where(.race-page) .race-community-grid {
    grid-template-columns:1fr;
    gap:33px;
  }
  :where(.race-page) .race-work-number {
    font-size:10px;
    margin-bottom:19px;
  }
  :where(.race-page) .race-community h3,
:where(.race-page) .race-digital h3,
:where(.race-page) .race-coverage h3 {
    font-size:35px;
  }
  :where(.race-page) .race-community h3+p {
    font-size:14px;
    margin-top:19px;
  }
  :where(.race-page) .race-organic {
    margin-top:22px;
    padding-top:21px;
  }
  :where(.race-page) .race-organic p {
    font-size:13px;
  }
  :where(.race-page) .race-community .text-link {
    font-size:11px;
    gap:10px;
  }
  :where(.race-page) .race-community-statement {
    padding:25px;
  }
  :where(.race-page) .race-community-statement>p {
    font-size:94px;
    margin-top:15px;
  }
  :where(.race-page) .race-community-caption {
    font-size:27px;
  }
  :where(.race-page) .race-small-label {
    font-size:9px;
  }
  :where(.race-page) .race-community-links {
    margin-top:23px;
  }
  :where(.race-page) .race-digital-head,
:where(.race-page) .race-coverage-head {
    display:block;
    margin-bottom:28px;
  }
  :where(.race-page) .race-digital-head>p,
:where(.race-page) .race-coverage-head>p {
    margin-top:22px;
    font-size:14px;
    max-width:100%;
  }
  :where(.race-page) .race-digital-grid {
    grid-template-columns:1fr;
    gap:27px;
  }
  :where(.race-page) .race-browser-bar {
    padding:11px 13px;
  }
  :where(.race-page) .race-browser figcaption {
    font-size:9px;
    gap:10px;
  }
  :where(.race-page) .race-web-stats {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:17px;
  }
  :where(.race-page) .race-web-stats>div {
    padding-block:12px 20px;
  }
  :where(.race-page) .race-web-stats strong {
    font-size:48px;
  }
  :where(.race-page) .race-web-stats p {
    font-size:11px;
    margin-top:12px;
  }
  :where(.race-page) .race-web-stats .text-link {
    grid-column:1/-1;
    margin:0;
    font-size:12px;
  }
  :where(.race-page) .race-film img {
    aspect-ratio:4/4.5;
    object-position:40% center;
  }
  :where(.race-page) .race-play {
    width:60px;
    height:60px;
    top:33%;
    font-size:18px;
  }
  :where(.race-page) .race-film-title {
    font-size:26px;
    left:22px;
    bottom:63px;
  }
  :where(.race-page) .race-film-link {
    left:22px;
    right:auto;
    bottom:28px;
    font-size:11px;
  }
  :where(.race-page) .race-film figcaption {
    display:block;
    font-size:9px;
  }
  :where(.race-page) .race-film figcaption>span {
    display:block;
  }
  :where(.race-page) .race-film figcaption>span+span {
    margin-top:6px;
  }
  :where(.race-page) .race-coverage-stages {
    gap:15px;
    margin-top:25px;
  }
  :where(.race-page) .race-coverage-stages li {
    font-size:12px;
    line-height:1.6;
    display:block;
  }
  :where(.race-page) .race-coverage-stages li>span {
    display:block;
    margin-bottom:9px;
    font-size:10px;
  }
  :where(.race-page) .race-continuity-grid {
    grid-template-columns:1fr;
    gap:25px;
  }
  :where(.race-page) .race-big-year {
    font-size:155px;
    line-height:.85;
  }
  :where(.race-page) .race-big-year>span {
    top:8px;
  }
  :where(.race-page) .race-continuity h2 {
    font-size:43px;
  }
  :where(.race-page) .race-continuity .eyebrow {
    font-size:10px;
  }
  :where(.race-page) .race-continuity h2+p {
    font-size:14px;
    margin-top:22px;
  }
  :where(.race-page) .race-cta-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  :where(.race-page) .race-cta h2 {
    font-size:35px;
  }
  :where(.race-page) .race-cta .button {
    justify-self:start;
    font-size:13px;
    padding-inline:18px;
    gap:20px;
  }
  :where(.race-page) .race-next>.container {
    padding-block:27px;
    gap:20px;
  }
  :where(.race-page) .race-next div>span {
    font-size:9px;
  }
  :where(.race-page) .race-next strong {
    font-size:32px;
  }
  :where(.race-page) .race-next .race-next-arrow {
    font-size:44px;
  }
  :where(.race-page) .race-footer {
    padding-block:42px 92px;
  }
  :where(.race-page) .race-footer-top {
    display:block;
  }
  :where(.race-page) .race-contact-links {
    margin-top:25px;
    gap:8px 22px;
  }
  :where(.race-page) .race-footer-social {
    margin-top:10px;
    gap:24px;
  }
  :where(.race-page) .race-signoff {
    max-width:400px;
    line-height:1.7;
    margin-top:25px;
  }
  :where(.race-page) .race-footer .legal {
    gap:14px;
    padding-right:25px;
  }
  :where(.race-page) .race-footer .legal>div {
    gap:12px 20px;
  }
}
@media(max-width:390px) {
  :where(.race-page) .race-scoreboard {
    gap:24px 14px;
  }
  :where(.race-page) .race-scoreboard>div:nth-child(even) {
    padding-left:14px;
  }
  :where(.race-page) .race-scoreboard dt {
    font-size:39px;
  }
  :where(.race-page) .race-hero h1 {
    font-size:11vw;
  }
  :where(.race-page) .race-tagline {
    font-size:17px;
  }
  :where(.race-page) .race-web-stats strong {
    font-size:43px;
  }
  :where(.race-page) .race-cta h2 {
    font-size:32px;
  }
}
@media print {
  :where(.race-page) .race-hero {
    min-height:570px;
  }
  :where(.race-page) .race-chapters {
    display:none;
  }
  :where(.race-page) .race-scoreboard>div,
:where(.race-page) .race-story-grid article {
    break-inside:avoid;
  }
  :where(.race-page) .race-footer {
    padding-bottom:25px;
  }
}

/* 07 · Electro Persa */
:where(.persa-page) .persa-footer {
  background:var(--black);
  color:white;
  padding-block:50px 28px;
}
:where(.persa-page) .persa-footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
}
:where(.persa-page) .persa-footer .brand {
  width:205px;
}
:where(.persa-page) .persa-footer .footer-chal {
  font-weight:600;
  font-size:18px;
  letter-spacing:-.025em;
  margin-top:9px;
}
:where(.persa-page) .persa-contact-links {
  display:flex;
  gap:28px;
  font-size:13px;
  flex-wrap:wrap;
}
:where(.persa-page) .persa-contact-links a {
  text-decoration:underline;
  text-underline-offset:5px;
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.persa-page) .persa-footer-social {
  display:flex;
  gap:20px;
  font-size:12px;
}
:where(.persa-page) .persa-footer-social a {
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.persa-page) .persa-footer a:hover {
  color:#46c7f2;
}
:where(.persa-page) .persa-signoff {
  font-size:12px;
  color:#c6cbd0;
  margin-top:28px;
}
:where(.persa-page) .persa-footer .legal {
  padding-top:22px;
  margin-top:25px;
  border-top:1px solid #ffffff30;
}
.persa-page {
  background:white;
}
.persa-page .site-header {
  background:white;
  color:var(--black);
  border-bottom:1px solid var(--line);
}
.persa-page .nav-contact {
  background:var(--black);
  color:white;
  padding:10px 20px;
  gap:20px;
}
.persa-page .nav-panel [aria-current=page] {
  background:var(--soft);
  color:var(--blue-ink);
}
.persa-page .main-nav a:hover,
.persa-page .nav-trigger:hover {
  color:var(--blue-ink);
}
:where(.persa-page) .persa-hero {
  padding-block:45px 0;
  overflow:hidden;
}
:where(.persa-page) .persa-hero-grid {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:7%;
  align-items:center;
}
:where(.persa-page) .persa-hero h1 {
  font-size:clamp(90px,12vw,175px);
  letter-spacing:-.07em;
  line-height:.91;
  font-weight:650;
}
:where(.persa-page) .persa-hero h1>span {
  color:var(--blue);
}
:where(.persa-page) .persa-hero .eyebrow {
  font-size:11px;
  margin-bottom:30px;
}
:where(.persa-page) .persa-lead {
  font-size:clamp(21px,2.6vw,37px);
  line-height:1.35;
  letter-spacing:-.035em;
  margin-top:32px;
}
:where(.persa-page) .persa-lead strong {
  font-weight:500;
  color:var(--blue-ink);
}
:where(.persa-page) .persa-hero .text-link {
  font-size:13px;
  margin-top:25px;
}
:where(.persa-page) .persa-hero-visual {
  position:relative;
  min-width:0;
  height:530px;
  margin-left:25px;
}
:where(.persa-page) .persa-hero-visual>img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:160px 0 0 0;
}
:where(.persa-page) .persa-years {
  position:absolute;
  left:-65px;
  bottom:40px;
  display:flex;
  align-items:center;
  gap:20px;
  background:var(--blue);
  padding:21px 28px;
  color:#10232b;
}
:where(.persa-page) .persa-years strong {
  font-size:90px;
  font-weight:600;
  line-height:.9;
  letter-spacing:-.065em;
}
:where(.persa-page) .persa-years>span {
  font-size:14px;
  line-height:1.5;
}
:where(.persa-page) .persa-photo-tag {
  position:absolute;
  right:18px;
  top:23px;
  writing-mode:vertical-rl;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:9px;
  background:#ffffffd9;
  padding:12px 8px;
}
:where(.persa-page) .persa-start-line {
  display:flex;
  align-items:center;
  gap:25px;
  padding-block:28px;
  margin-top:37px;
  border-top:1px solid var(--line);
  font-size:12px;
}
:where(.persa-page) .persa-line {
  height:1px;
  flex:1;
  background:var(--blue);
  position:relative;
}
:where(.persa-page) .persa-line:before,
:where(.persa-page) .persa-line:after {
  content:'';
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--blue);
  position:absolute;
  top:-3px;
}
:where(.persa-page) .persa-line:after {
  right:0;
}
:where(.persa-page) .persa-line-year {
  color:var(--muted);
  font-size:11px;
  border-left:1px solid var(--line);
  padding-left:25px;
}
:where(.persa-page) .persa-chapters {
  background:var(--black);
  color:white;
}
:where(.persa-page) .persa-chapters>.container {
  display:flex;
  justify-content:space-between;
  gap:30px;
}
:where(.persa-page) .persa-chapters a {
  font-size:11px;
  min-height:63px;
  display:flex;
  align-items:center;
}
:where(.persa-page) .persa-chapters a:hover {
  color:#41c4ef;
}
:where(.persa-page) .persa-story {
  background:var(--soft);
}
:where(.persa-page) .persa-story-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12%;
}
:where(.persa-page) .persa-story h2 {
  font-size:clamp(36px,4.2vw,61px);
  line-height:1.1;
}
:where(.persa-page) .persa-story h2>span {
  color:var(--blue-ink);
}
:where(.persa-page) .persa-client-logo {
  width:180px;
  max-height:105px;
  object-fit:contain;
  object-position:left;
  margin-top:35px;
}
:where(.persa-page) .persa-story-copy {
  padding-top:34px;
}
:where(.persa-page) .persa-story-copy article+article {
  border-top:1px solid var(--line);
  margin-top:28px;
  padding-top:28px;
}
:where(.persa-page) .persa-story h3 {
  font-size:19px;
  letter-spacing:-.03em;
  margin-bottom:15px;
}
:where(.persa-page) .persa-story-copy p {
  font-size:16px;
  line-height:1.8;
  color:var(--muted);
}
:where(.persa-page) .persa-evolution {
  background:var(--black);
  color:white;
}
:where(.persa-page) .persa-evolution-heading .eyebrow {
  color:#bfd2db;
}
:where(.persa-page) .persa-evolution h2 {
  font-size:clamp(40px,5.5vw,80px);
  max-width:980px;
  line-height:1.05;
}
:where(.persa-page) .persa-google-line {
  font-size:clamp(24px,3.3vw,46px);
  line-height:1.2;
  color:#41c4ef;
  letter-spacing:-.04em;
  margin-top:22px;
}
:where(.persa-page) .persa-evolution-copy {
  max-width:740px;
  margin:28px 0 0 auto;
  font-size:16px;
  line-height:1.85;
  color:#d0dce2;
}
:where(.persa-page) .persa-evolution-path {
  display:grid;
  grid-template-columns:1fr 100px 1.2fr;
  align-items:stretch;
  margin-block:47px 45px;
}
:where(.persa-page) .persa-origin,
:where(.persa-page) .persa-destination {
  padding:32px;
  border:1px solid #ffffff45;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
:where(.persa-page) .persa-destination {
  background:var(--blue);
  color:#10232b;
  border-color:var(--blue);
}
:where(.persa-page) .persa-origin>span,
:where(.persa-page) .persa-destination>span {
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:11px;
  margin-bottom:22px;
}
:where(.persa-page) .persa-origin strong,
:where(.persa-page) .persa-destination strong {
  font-weight:600;
  letter-spacing:-.05em;
  font-size:clamp(30px,3.5vw,49px);
  line-height:1.05;
}
:where(.persa-page) .persa-origin p,
:where(.persa-page) .persa-destination p {
  margin-top:22px;
  font-size:13px;
  line-height:1.6;
}
:where(.persa-page) .persa-origin p {
  color:#c8d7de;
}
:where(.persa-page) .persa-path-arrow {
  display:grid;
  place-items:center;
  font-size:60px;
  color:#41c4ef;
}
:where(.persa-page) .persa-scope-head {
  display:flex;
  justify-content:space-between;
  gap:25px;
  align-items:center;
  border-bottom:1px solid #ffffff40;
  padding-bottom:16px;
}
:where(.persa-page) .persa-scope-head .eyebrow {
  font-size:11px;
  margin:0;
  color:#bfd2db;
}
:where(.persa-page) .persa-scope-head>span {
  font-size:10px;
  color:#bfd2db;
}
:where(.persa-page) .persa-scope {
  list-style:none;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:28px;
  margin:0;
  padding:30px 0 0;
}
:where(.persa-page) .persa-scope li>span {
  font-size:11px;
  color:#41c4ef;
  display:block;
  margin-bottom:25px;
}
:where(.persa-page) .persa-scope h3 {
  font-size:21px;
  line-height:1.2;
}
:where(.persa-page) .persa-scope p {
  font-size:12px;
  color:#cbd6dc;
  line-height:1.75;
  margin-top:15px;
}
:where(.persa-page) .persa-results {
  background:#eef1f3;
}
:where(.persa-page) .persa-results-heading {
  margin-bottom:40px;
}
:where(.persa-page) .persa-results h2 {
  font-size:clamp(36px,4.7vw,68px);
  line-height:1.1;
}
:where(.persa-page) .persa-results h2>span {
  color:var(--blue-ink);
}
:where(.persa-page) .persa-results-grid {
  display:grid;
  grid-template-columns:1.05fr 1fr 1fr;
  gap:22px;
}
:where(.persa-page) .persa-results-grid article {
  padding:30px;
  min-width:0;
}
:where(.persa-page) .persa-results-grid h3 {
  font-size:17px;
  letter-spacing:-.025em;
  font-weight:500;
}
:where(.persa-page) .persa-google-result {
  grid-column:1/-1;
  background:var(--blue);
  color:#10232b;
  position:relative;
  overflow:hidden;
}
:where(.persa-page) .persa-result-label {
  display:flex;
  align-items:center;
  gap:25px;
}
:where(.persa-page) .persa-result-label>span {
  font-size:11px;
  border-left:1px solid #10232b70;
  padding-left:25px;
}
:where(.persa-page) .persa-results dl {
  margin:35px 0 0;
}
:where(.persa-page) .persa-google-result dl {
  display:flex;
  gap:8%;
  align-items:end;
  padding-right:100px;
}
:where(.persa-page) .persa-results dt {
  font-size:clamp(45px,4.8vw,69px);
  font-weight:650;
  letter-spacing:-.065em;
  line-height:1.05;
  white-space:nowrap;
}
:where(.persa-page) .persa-results dt>span {
  font-size:.6em;
  margin-left:5px;
}
:where(.persa-page) .persa-results dd {
  font-size:13px;
  line-height:1.6;
  margin:11px 0 0;
}
:where(.persa-page) .persa-main-metric dt {
  font-size:clamp(80px,10vw,146px);
  color:white;
}
:where(.persa-page) .persa-clicks {
  border-left:1px solid #10232b55;
  padding-left:45px;
  padding-bottom:7px;
}
:where(.persa-page) .persa-clicks dt {
  font-size:clamp(44px,5vw,73px);
}
:where(.persa-page) .persa-result-arrow {
  position:absolute;
  right:30px;
  bottom:23px;
  font-size:100px;
  color:#ffffff80;
  line-height:1;
}
:where(.persa-page) .persa-web-result,
:where(.persa-page) .persa-social-result {
  background:white;
}
:where(.persa-page) .persa-web-result dt,
:where(.persa-page) .persa-social-result dt {
  color:var(--blue-ink);
}
:where(.persa-page) .persa-secondary-metric {
  border-top:1px solid var(--line);
  padding-top:25px;
  margin-top:25px;
}
:where(.persa-page) .persa-secondary-metric dt {
  font-size:30px;
  color:var(--black);
}
:where(.persa-page) .persa-web-result dd,
:where(.persa-page) .persa-social-result dd {
  color:var(--muted);
}
:where(.persa-page) .persa-maps-result {
  background:var(--black);
  color:white;
}
:where(.persa-page) .persa-maps-result h3+p {
  color:#bacbd4;
  font-size:11px;
  margin-top:13px;
}
:where(.persa-page) .persa-maps-result dt {
  color:#41c4ef;
  font-size:57px;
}
:where(.persa-page) .persa-maps-result dt>span {
  font-size:27px;
  vertical-align:middle;
  letter-spacing:0;
  margin-left:10px;
}
:where(.persa-page) .persa-maps-result dd {
  color:#d1dee5;
  font-size:12px;
}
:where(.persa-page) .persa-maps-result dl>div+div {
  border-top:1px solid #ffffff35;
  margin-top:22px;
  padding-top:22px;
}
:where(.persa-page) .persa-maps-result dl>div+div dt {
  font-size:32px;
  color:white;
}
:where(.persa-page) .persa-continuity {
  background:white;
}
:where(.persa-page) .persa-continuity-grid {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:12%;
  align-items:center;
}
:where(.persa-page) .persa-five {
  font-size:clamp(180px,27vw,385px);
  font-weight:650;
  letter-spacing:-.1em;
  line-height:.9;
  color:var(--blue);
  position:relative;
}
:where(.persa-page) .persa-five>span {
  font-size:.36em;
  vertical-align:top;
  position:relative;
  top:25px;
  padding-left:15px;
}
:where(.persa-page) .persa-continuity h2 {
  font-size:clamp(44px,5.7vw,80px);
}
:where(.persa-page) .persa-continuity h2+p {
  font-size:16px;
  line-height:1.8;
  margin-top:25px;
  color:var(--muted);
  max-width:680px;
}
:where(.persa-page) .persa-cta {
  background:var(--blue);
  color:#10232b;
}
:where(.persa-page) .persa-cta .eyebrow {
  color:#17313d;
}
:where(.persa-page) .persa-cta-grid {
  display:grid;
  grid-template-columns:1.7fr 1fr;
  gap:8%;
  align-items:end;
}
:where(.persa-page) .persa-cta h2 {
  font-size:clamp(36px,4.7vw,68px);
  line-height:1.12;
}
:where(.persa-page) .persa-cta h2>span {
  color:white;
}
:where(.persa-page) .persa-cta .button {
  justify-self:end;
  white-space:nowrap;
}
:where(.persa-page) .persa-cta .button:hover {
  box-shadow:5px 5px 0 white;
}
:where(.persa-page) .persa-case-nav {
  background:#f0f3f4;
}
:where(.persa-page) .persa-case-nav>.container {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
}
:where(.persa-page) .persa-case-nav a {
  padding-block:32px;
  display:block;
}
:where(.persa-page) .persa-case-nav a+a {
  text-align:right;
}
:where(.persa-page) .persa-case-nav span {
  font-size:11px;
  color:var(--muted);
}
:where(.persa-page) .persa-case-nav strong {
  display:block;
  font-weight:500;
  font-size:clamp(19px,2.4vw,32px);
  letter-spacing:-.04em;
  line-height:1.2;
  margin-top:12px;
}
:where(.persa-page) .persa-case-nav a:hover strong {
  color:var(--blue-ink);
}
@media(max-width:1100px) {
  :where(.persa-page) .persa-hero-visual {
    height:485px;
  }
  :where(.persa-page) .persa-hero-grid {
    gap:6%;
  }
  :where(.persa-page) .persa-scope {
    gap:18px;
  }
  :where(.persa-page) .persa-scope h3 {
    font-size:18px;
  }
  :where(.persa-page) .persa-results-grid {
    gap:18px;
  }
  :where(.persa-page) .persa-results-grid article {
    padding:25px;
  }
  :where(.persa-page) .persa-google-result dl {
    padding-right:70px;
  }
  :where(.persa-page) .persa-clicks {
    padding-left:25px;
  }
  :where(.persa-page) .persa-result-arrow {
    font-size:75px;
    right:20px;
  }
  :where(.persa-page) .persa-footer-top {
    flex-wrap:wrap;
  }
  :where(.persa-page) .persa-cta .button {
    font-size:12px;
    padding-inline:16px;
    gap:14px;
  }
}
@media(max-width:760px) {
  .persa-page .menu-icon {
    border-color:var(--black);
  }
  .persa-page .menu-icon:after,
.persa-page .menu-toggle[aria-expanded=true] .menu-icon:before {
    background:var(--black);
  }
  .persa-page .main-nav {
    background:white;
    border-top-color:var(--line);
  }
  .persa-page .nav-group,
.persa-page .main-nav>a {
    border-bottom-color:var(--line);
  }
  .persa-page .nav-panel {
    background:var(--soft);
    color:var(--black);
  }
  .persa-page .main-nav .nav-contact {
    padding-inline:18px;
    margin-top:15px;
    justify-content:space-between;
  }
  :where(.persa-page) .persa-hero {
    padding-top:33px;
  }
  :where(.persa-page) .persa-hero-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  :where(.persa-page) .persa-hero h1 {
    font-size:clamp(86px,23vw,126px);
  }
  :where(.persa-page) .persa-hero .eyebrow {
    font-size:10px;
    margin-bottom:25px;
  }
  :where(.persa-page) .persa-lead {
    font-size:24px;
    line-height:1.4;
    margin-top:25px;
  }
  :where(.persa-page) .persa-hero .text-link {
    font-size:12px;
    margin-top:20px;
  }
  :where(.persa-page) .persa-hero-visual {
    height:350px;
    margin-left:28px;
  }
  :where(.persa-page) .persa-hero-visual>img {
    border-radius:110px 0 0 0;
    object-position:center 35%;
  }
  :where(.persa-page) .persa-years {
    left:-28px;
    bottom:22px;
    padding:17px 23px;
    gap:20px;
  }
  :where(.persa-page) .persa-years strong {
    font-size:72px;
  }
  :where(.persa-page) .persa-years>span {
    font-size:13px;
  }
  :where(.persa-page) .persa-photo-tag {
    font-size:8px;
    right:12px;
    top:20px;
  }
  :where(.persa-page) .persa-start-line {
    gap:14px;
    font-size:10px;
    margin-top:25px;
    padding-block:22px;
  }
  :where(.persa-page) .persa-line-year {
    font-size:9px;
    padding-left:14px;
  }
  :where(.persa-page) .persa-chapters>.container {
    gap:15px;
  }
  :where(.persa-page) .persa-chapters a {
    font-size:9px;
    line-height:1.5;
    min-height:60px;
    max-width:110px;
  }
  :where(.persa-page) .persa-story-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  :where(.persa-page) .persa-story h2 {
    font-size:37px;
  }
  :where(.persa-page) .persa-client-logo {
    width:145px;
    max-height:80px;
    margin-top:26px;
  }
  :where(.persa-page) .persa-story-copy {
    padding:0;
  }
  :where(.persa-page) .persa-story-copy p {
    font-size:14px;
  }
  :where(.persa-page) .persa-story-copy article+article {
    padding-top:23px;
    margin-top:23px;
  }
  :where(.persa-page) .persa-evolution h2 {
    font-size:39px;
  }
  :where(.persa-page) .persa-google-line {
    font-size:27px;
    margin-top:19px;
  }
  :where(.persa-page) .persa-evolution-copy {
    font-size:14px;
    margin-top:24px;
  }
  :where(.persa-page) .persa-evolution-path {
    grid-template-columns:1fr;
    margin-block:30px;
  }
  :where(.persa-page) .persa-origin,
:where(.persa-page) .persa-destination {
    padding:25px;
  }
  :where(.persa-page) .persa-origin strong,
:where(.persa-page) .persa-destination strong {
    font-size:34px;
  }
  :where(.persa-page) .persa-origin>span,
:where(.persa-page) .persa-destination>span {
    font-size:10px;
    margin-bottom:18px;
  }
  :where(.persa-page) .persa-origin p,
:where(.persa-page) .persa-destination p {
    margin-top:16px;
  }
  :where(.persa-page) .persa-path-arrow {
    font-size:42px;
    min-height:62px;
    transform:rotate(90deg);
  }
  :where(.persa-page) .persa-scope-head {
    display:block;
  }
  :where(.persa-page) .persa-scope-head>span {
    display:block;
    margin-top:10px;
  }
  :where(.persa-page) .persa-scope-head .eyebrow {
    font-size:10px;
  }
  :where(.persa-page) .persa-scope {
    grid-template-columns:1fr;
    padding-top:0;
    gap:0;
  }
  :where(.persa-page) .persa-scope li {
    display:flex;
    gap:23px;
    padding-block:22px;
    border-bottom:1px solid #ffffff25;
  }
  :where(.persa-page) .persa-scope li>span {
    margin:4px 0 0;
    min-width:20px;
  }
  :where(.persa-page) .persa-scope h3 {
    font-size:24px;
  }
  :where(.persa-page) .persa-scope p {
    font-size:13px;
    margin-top:10px;
  }
  :where(.persa-page) .persa-scope li:last-child {
    border:0;
    padding-bottom:0;
  }
  :where(.persa-page) .persa-results h2 {
    font-size:36px;
  }
  :where(.persa-page) .persa-results-heading {
    margin-bottom:28px;
  }
  :where(.persa-page) .persa-results-grid {
    grid-template-columns:1fr;
    gap:18px;
  }
  :where(.persa-page) .persa-results-grid article {
    padding:27px;
  }
  :where(.persa-page) .persa-result-label {
    gap:17px;
  }
  :where(.persa-page) .persa-result-label>span {
    font-size:10px;
    padding-left:17px;
  }
  :where(.persa-page) .persa-google-result dl {
    display:block;
    padding:0;
    margin-top:28px;
  }
  :where(.persa-page) .persa-main-metric dt {
    font-size:76px;
  }
  :where(.persa-page) .persa-clicks {
    border-left:0;
    border-top:1px solid #10232b55;
    padding:22px 0 0;
    margin-top:25px;
  }
  :where(.persa-page) .persa-clicks dt {
    font-size:45px;
  }
  :where(.persa-page) .persa-result-arrow {
    font-size:62px;
    right:25px;
    bottom:25px;
  }
  :where(.persa-page) .persa-results dd {
    font-size:12px;
  }
  :where(.persa-page) .persa-web-result dt,
:where(.persa-page) .persa-social-result dt {
    font-size:65px;
  }
  :where(.persa-page) .persa-secondary-metric dt {
    font-size:32px;
  }
  :where(.persa-page) .persa-maps-result dt {
    font-size:65px;
  }
  :where(.persa-page) .persa-results dl {
    margin-top:25px;
  }
  :where(.persa-page) .persa-continuity-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  :where(.persa-page) .persa-five {
    font-size:165px;
  }
  :where(.persa-page) .persa-five>span {
    top:10px;
    padding-left:10px;
  }
  :where(.persa-page) .persa-continuity h2 {
    font-size:46px;
  }
  :where(.persa-page) .persa-continuity h2+p {
    font-size:14px;
    margin-top:23px;
  }
  :where(.persa-page) .persa-cta-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  :where(.persa-page) .persa-cta h2 {
    font-size:37px;
  }
  :where(.persa-page) .persa-cta .button {
    justify-self:start;
    font-size:13px;
    padding-inline:17px;
    gap:17px;
  }
  :where(.persa-page) .persa-case-nav>.container {
    gap:25px;
  }
  :where(.persa-page) .persa-case-nav a {
    padding-block:28px;
  }
  :where(.persa-page) .persa-case-nav strong {
    font-size:19px;
  }
  :where(.persa-page) .persa-case-nav span {
    font-size:10px;
  }
  :where(.persa-page) .persa-footer {
    padding-block:42px 92px;
  }
  :where(.persa-page) .persa-footer-top {
    display:block;
  }
  :where(.persa-page) .persa-contact-links {
    margin-top:25px;
    gap:8px 22px;
  }
  :where(.persa-page) .persa-footer-social {
    margin-top:10px;
    gap:24px;
  }
  :where(.persa-page) .persa-signoff {
    line-height:1.7;
    margin-top:25px;
  }
  :where(.persa-page) .persa-footer .legal {
    gap:14px;
    padding-right:25px;
  }
  :where(.persa-page) .persa-footer .legal>div {
    gap:12px 20px;
  }
}
@media(max-width:390px) {
  :where(.persa-page) .persa-hero h1 {
    font-size:23vw;
  }
  :where(.persa-page) .persa-lead {
    font-size:22px;
  }
  :where(.persa-page) .persa-main-metric dt {
    font-size:65px;
  }
  :where(.persa-page) .persa-results-grid article {
    padding:23px;
  }
  :where(.persa-page) .persa-start-line {
    gap:10px;
  }
  :where(.persa-page) .persa-line-year {
    padding-left:10px;
  }
  :where(.persa-page) .persa-chapters>.container {
    gap:12px;
  }
  :where(.persa-page) .persa-cta h2 {
    font-size:33px;
  }
}
@media print {
  :where(.persa-page) .persa-chapters {
    display:none;
  }
  :where(.persa-page) .persa-hero-visual {
    height:400px;
  }
  :where(.persa-page) .persa-results-grid article {
    break-inside:avoid;
  }
  :where(.persa-page) .persa-footer {
    padding-bottom:25px;
  }
}

/* 08 · Expertos en Aire */
:where(.air-page) .air-footer {
  background:var(--black);
  color:white;
  padding-block:50px 28px;
}
:where(.air-page) .air-footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
}
:where(.air-page) .air-footer .brand {
  width:205px;
}
:where(.air-page) .air-footer .footer-chal {
  font-weight:600;
  font-size:18px;
  letter-spacing:-.025em;
  margin-top:9px;
}
:where(.air-page) .air-contact-links {
  display:flex;
  gap:28px;
  font-size:13px;
  flex-wrap:wrap;
}
:where(.air-page) .air-contact-links a {
  text-decoration:underline;
  text-underline-offset:5px;
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.air-page) .air-footer-social {
  display:flex;
  gap:20px;
  font-size:12px;
}
:where(.air-page) .air-footer-social a {
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.air-page) .air-footer a:hover {
  color:#46c7f2;
}
:where(.air-page) .air-signoff {
  font-size:12px;
  color:#c6cbd0;
  margin-top:28px;
}
:where(.air-page) .air-footer .legal {
  padding-top:22px;
  margin-top:25px;
  border-top:1px solid #ffffff30;
}
.air-page {
  background:white;
}
.air-page .site-header {
  background:var(--black);
  color:white;
}
.air-page .site-header .brand img {
  filter:brightness(0) invert(1);
}
.air-page .nav-contact {
  background:var(--blue);
  color:#10232b;
  padding:10px 20px;
  gap:20px;
}
.air-page .nav-panel [aria-current=page] {
  background:var(--soft);
  color:var(--blue-ink);
}
:where(.air-page) .air-hero {
  background:var(--black);
  color:white;
  padding-top:35px;
  overflow:hidden;
}
:where(.air-page) .air-hero-top {
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:12px;
  border-bottom:1px solid #ffffff40;
  padding-bottom:22px;
}
:where(.air-page) .air-hero-top .eyebrow {
  grid-column:1/-1;
  color:#b7c8d2;
  font-size:10px;
  margin:0;
}
:where(.air-page) .air-hero h1 {
  font-size:clamp(25px,3vw,44px);
  font-weight:500;
  letter-spacing:-.035em;
}
:where(.air-page) .air-edition {
  font-size:11px;
  color:#b7c8d2;
}
:where(.air-page) .air-hero-grid {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:6%;
  align-items:center;
  padding-block:45px 50px;
}
:where(.air-page) .air-hero h2 {
  font-size:clamp(40px,4.7vw,69px);
  font-weight:600;
  line-height:1.07;
  max-width:640px;
}
:where(.air-page) .air-hero h2>span {
  color:#41c4ef;
}
:where(.air-page) .air-hero .text-link {
  font-size:12px;
  margin-top:25px;
}
:where(.air-page) .air-hero-stat {
  padding-top:10px;
  min-width:0;
}
:where(.air-page) .air-big-number {
  font-size:clamp(72px,8.4vw,127px);
  font-weight:600;
  line-height:1;
  letter-spacing:-.075em;
  white-space:nowrap;
  color:#41c4ef;
}
:where(.air-page) .air-big-number>span {
  font-size:.48em;
  letter-spacing:-.045em;
  margin-left:5px;
}
:where(.air-page) .air-hero-stat>p+p {
  font-size:14px;
  line-height:1.8;
  margin-top:19px;
  color:#d3dce2;
}
:where(.air-page) .air-hero-stat strong {
  font-size:11px;
  font-weight:400;
  color:#a9bcc8;
}
:where(.air-page) .air-rise {
  display:block;
  width:100%;
  max-width:430px;
  height:70px;
  margin-top:20px;
  color:var(--blue);
}
:where(.air-page) .air-cover {
  position:relative;
  height:285px;
}
:where(.air-page) .air-cover>img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 44%;
}
:where(.air-page) .air-cover:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(transparent 25%,#10191dc9);
}
:where(.air-page) .air-cover figcaption {
  position:absolute;
  z-index:1;
  inset:auto var(--gutter) 26px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  font-size:12px;
  line-height:1.65;
}
:where(.air-page) .air-cover figcaption>span:last-child {
  font-size:18px;
}
:where(.air-page) .air-cover figcaption>span:last-child span {
  font-size:28px;
  padding-left:12px;
}
:where(.air-page) .air-chapters {
  background:var(--blue);
  color:#10232b;
}
:where(.air-page) .air-chapters>.container {
  display:flex;
  justify-content:space-between;
  gap:25px;
}
:where(.air-page) .air-chapters a {
  display:flex;
  align-items:center;
  min-height:63px;
  font-size:11px;
}
:where(.air-page) .air-chapters a:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}
:where(.air-page) .air-results-head {
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:10px 40px;
  margin-bottom:45px;
}
:where(.air-page) .air-results-head .eyebrow {
  grid-column:1/-1;
  margin-bottom:8px;
}
:where(.air-page) .air-results h2 {
  font-size:clamp(36px,4.3vw,62px);
  line-height:1.08;
}
:where(.air-page) .air-results h2>span {
  color:var(--blue-ink);
}
:where(.air-page) .air-period {
  align-self:end;
  justify-self:end;
  font-size:11px;
  color:var(--muted);
}
:where(.air-page) .air-result-rows article {
  display:grid;
  grid-template-columns:45px 1fr 1.15fr 50px;
  align-items:center;
  gap:22px;
  padding:25px 27px;
  border-top:1px solid var(--line);
}
:where(.air-page) .air-result-index {
  font-size:11px;
  color:var(--muted);
}
:where(.air-page) .air-result-rows h3 {
  font-size:22px;
  font-weight:500;
  letter-spacing:-.035em;
}
:where(.air-page) .air-result-rows article>p {
  font-size:clamp(50px,6vw,86px);
  letter-spacing:-.065em;
  line-height:1.1;
  font-weight:600;
  color:var(--blue-ink);
}
:where(.air-page) .air-result-rows article>p span {
  font-size:.6em;
}
:where(.air-page) .air-result-up {
  font-size:50px;
  color:var(--blue);
}
:where(.air-page) .air-result-rows .air-result-feature {
  background:var(--blue);
  border-color:var(--blue);
  color:#10232b;
}
:where(.air-page) .air-result-feature .air-result-index {
  color:#183c4a;
}
:where(.air-page) .air-result-rows .air-result-feature>p,
:where(.air-page) .air-result-feature .air-result-up {
  color:white;
}
:where(.air-page) .air-story {
  background:var(--soft);
}
:where(.air-page) .air-story-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12%;
  align-items:start;
}
:where(.air-page) .air-story h2 {
  font-size:clamp(37px,4.3vw,62px);
  line-height:1.08;
}
:where(.air-page) .air-story h2>span {
  color:var(--blue-ink);
}
:where(.air-page) .air-client-logo {
  width:235px;
  height:118px;
  object-fit:cover;
  object-position:center;
  margin-top:20px;
}
:where(.air-page) .air-story-copy {
  padding-top:40px;
}
:where(.air-page) .air-story h3 {
  font-size:20px;
  margin-bottom:15px;
}
:where(.air-page) .air-story-copy p {
  font-size:16px;
  line-height:1.8;
  color:var(--muted);
}
:where(.air-page) .air-story-copy article+article {
  margin-top:30px;
  padding-top:30px;
  border-top:1px solid var(--line);
}
:where(.air-page) .air-strategy {
  background:var(--black);
  color:white;
}
:where(.air-page) .air-strategy .eyebrow {
  color:#bacdd7;
}
:where(.air-page) .air-strategy-head {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:15px 9%;
}
:where(.air-page) .air-strategy-head .eyebrow {
  grid-column:1/-1;
  margin-bottom:5px;
}
:where(.air-page) .air-strategy h2 {
  font-size:clamp(36px,4.2vw,60px);
  line-height:1.1;
}
:where(.air-page) .air-strategy h2>span {
  color:#41c4ef;
}
:where(.air-page) .air-strategy-head>p:last-child {
  font-size:15px;
  line-height:1.85;
  color:#cbd8df;
  align-self:end;
}
:where(.air-page) .air-strategy-path {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  padding:0;
  margin:50px 0 38px;
  list-style:none;
  border:1px solid #ffffff45;
}
:where(.air-page) .air-strategy-path li {
  padding:30px;
  position:relative;
  min-height:215px;
}
:where(.air-page) .air-strategy-path li+li {
  border-left:1px solid #ffffff45;
}
:where(.air-page) .air-strategy-path li:last-child {
  background:var(--blue);
  color:#10232b;
}
:where(.air-page) .air-strategy-path li>span {
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#b8ceda;
}
:where(.air-page) .air-strategy-path li:last-child>span {
  color:#183c4a;
}
:where(.air-page) .air-strategy-path h3 {
  font-size:clamp(28px,3vw,42px);
  line-height:1.05;
  margin-top:28px;
}
:where(.air-page) .air-strategy-path p {
  font-size:12px;
  margin-top:18px;
  max-width:calc(100% - 35px);
}
:where(.air-page) .air-strategy-path b {
  position:absolute;
  right:25px;
  bottom:22px;
  font-size:35px;
  font-weight:400;
  color:#41c4ef;
}
:where(.air-page) .air-strategy-path li:last-child b {
  color:white;
}
:where(.air-page) .air-services {
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:30px;
}
:where(.air-page) .air-services .eyebrow {
  font-size:10px;
  margin:8px 0 0;
}
:where(.air-page) .air-services ul {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
:where(.air-page) .air-services li {
  font-size:11px;
  border:1px solid #ffffff40;
  border-radius:30px;
  padding:9px 14px;
}
:where(.air-page) .air-digital {
  background:#edf1f3;
}
:where(.air-page) .air-digital-heading {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:35px;
  align-items:end;
  margin-bottom:38px;
}
:where(.air-page) .air-digital h2 {
  font-size:clamp(38px,4.5vw,65px);
}
:where(.air-page) .air-digital h2>span {
  color:var(--blue-ink);
}
:where(.air-page) .air-digital-heading>p {
  font-size:14px;
  color:var(--muted);
  justify-self:end;
  max-width:290px;
}
:where(.air-page) .air-site {
  max-width:1000px;
  margin-inline:auto;
}
:where(.air-page) .air-site>a {
  display:block;
  box-shadow:0 18px 35px #23323c12;
  background:white;
  border:1px solid var(--line);
  transition:transform .3s;
}
:where(.air-page) .air-site>a:hover {
  transform:translateY(-4px);
}
:where(.air-page) .air-browser-bar {
  display:flex;
  justify-content:space-between;
  gap:15px;
  background:white;
  padding:14px 20px;
  font-size:10px;
  color:var(--muted);
  border-bottom:1px solid var(--line);
}
:where(.air-page) .air-browser-bar>span:first-child {
  color:#b6bec4;
  letter-spacing:3px;
  font-size:8px;
}
:where(.air-page) .air-site img {
  width:100%;
  height:auto;
}
:where(.air-page) .air-site figcaption {
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:10px;
  line-height:1.6;
  color:var(--muted);
  margin-top:16px;
}
:where(.air-page) .air-site figcaption>span {
  white-space:nowrap;
}
:where(.air-page) .air-recognition {
  background:white;
  padding-block:65px;
}
:where(.air-page) .air-recognition-grid {
  display:grid;
  grid-template-columns:.55fr 1.45fr;
  gap:9%;
  align-items:center;
}
:where(.air-page) .air-recognition-year {
  font-size:100px;
  letter-spacing:-.085em;
  line-height:.8;
  color:var(--blue);
  position:relative;
  justify-self:center;
}
:where(.air-page) .air-recognition-year>span {
  font-size:58px;
  position:absolute;
  top:0;
  left:110%;
  letter-spacing:0;
}
:where(.air-page) .air-recognition h2 {
  font-size:clamp(34px,4vw,56px);
  line-height:1.13;
}
:where(.air-page) .air-recognition h2>span {
  color:var(--blue-ink);
}
:where(.air-page) .air-recognition h2+p {
  font-size:14px;
  color:var(--muted);
  margin-top:20px;
}
:where(.air-page) .air-recognition .eyebrow {
  font-size:11px;
}
:where(.air-page) .air-continuity {
  background:var(--black);
  color:white;
}
:where(.air-page) .air-continuity-grid {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:12%;
  align-items:center;
}
:where(.air-page) .air-two {
  font-size:clamp(180px,28vw,380px);
  line-height:.9;
  font-weight:600;
  letter-spacing:-.1em;
  color:var(--blue);
}
:where(.air-page) .air-two>span {
  font-size:.35em;
  vertical-align:top;
  padding-left:20px;
  position:relative;
  top:20px;
}
:where(.air-page) .air-continuity .eyebrow {
  color:#bfd2dc;
}
:where(.air-page) .air-continuity h2 {
  font-size:clamp(46px,5.8vw,82px);
}
:where(.air-page) .air-continuity h2>span {
  color:#41c4ef;
}
:where(.air-page) .air-continuity h2+p {
  font-size:16px;
  line-height:1.8;
  color:#d0dce2;
  margin-top:25px;
  max-width:670px;
}
:where(.air-page) .air-continuity-note {
  display:block;
  font-size:11px;
  color:#a9bdc8;
  border-top:1px solid #ffffff35;
  padding-top:20px;
  margin-top:25px;
}
:where(.air-page) .air-cta {
  background:var(--blue);
  color:#10232b;
}
:where(.air-page) .air-cta .eyebrow {
  color:#17313d;
}
:where(.air-page) .air-cta-grid {
  display:grid;
  grid-template-columns:1.7fr 1fr;
  gap:8%;
  align-items:end;
}
:where(.air-page) .air-cta h2 {
  font-size:clamp(36px,4.7vw,68px);
  line-height:1.12;
}
:where(.air-page) .air-cta h2>span {
  color:white;
}
:where(.air-page) .air-cta .button {
  justify-self:end;
  white-space:nowrap;
}
:where(.air-page) .air-cta .button:hover {
  box-shadow:5px 5px 0 white;
}
:where(.air-page) .air-case-nav {
  background:#f0f3f4;
}
:where(.air-page) .air-case-nav>.container {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
}
:where(.air-page) .air-case-nav a {
  padding-block:32px;
  display:block;
}
:where(.air-page) .air-case-nav a+a {
  text-align:right;
}
:where(.air-page) .air-case-nav span {
  font-size:11px;
  color:var(--muted);
}
:where(.air-page) .air-case-nav strong {
  display:block;
  font-weight:500;
  font-size:clamp(19px,2.4vw,32px);
  letter-spacing:-.04em;
  line-height:1.2;
  margin-top:12px;
}
:where(.air-page) .air-case-nav a:hover strong {
  color:var(--blue-ink);
}
@media(max-width:1100px) {
  :where(.air-page) .air-hero-grid {
    gap:5%;
  }
  :where(.air-page) .air-hero h2 {
    font-size:4.8vw;
  }
  :where(.air-page) .air-hero-stat>p+p {
    font-size:12px;
  }
  :where(.air-page) .air-strategy-path li {
    padding:25px;
  }
  :where(.air-page) .air-services {
    display:block;
  }
  :where(.air-page) .air-services ul {
    justify-content:flex-start;
    margin-top:17px;
  }
  :where(.air-page) .air-result-rows article {
    grid-template-columns:25px 1fr 1.2fr 35px;
    gap:18px;
    padding-inline:22px;
  }
  :where(.air-page) .air-footer-top {
    flex-wrap:wrap;
  }
  :where(.air-page) .air-cta .button {
    font-size:12px;
    padding-inline:16px;
    gap:14px;
  }
}
@media(max-width:760px) {
  .air-page .main-nav .nav-contact {
    padding-inline:18px;
    margin-top:15px;
    justify-content:space-between;
  }
  .air-page .nav-panel [aria-current=page] {
    background:#ffffff15;
    color:#41c4ef;
  }
  :where(.air-page) .air-hero {
    padding-top:30px;
  }
  :where(.air-page) .air-hero-top {
    grid-template-columns:1fr;
    gap:13px;
    padding-bottom:20px;
  }
  :where(.air-page) .air-hero-top .eyebrow {
    font-size:9px;
  }
  :where(.air-page) .air-hero h1 {
    font-size:27px;
  }
  :where(.air-page) .air-edition {
    font-size:10px;
  }
  :where(.air-page) .air-hero-grid {
    grid-template-columns:1fr;
    gap:30px;
    padding-block:32px;
  }
  :where(.air-page) .air-hero h2 {
    font-size:39px;
    max-width:530px;
  }
  :where(.air-page) .air-hero .text-link {
    font-size:11px;
    margin-top:17px;
  }
  :where(.air-page) .air-hero-stat {
    padding:25px 0 0;
    border-top:1px solid #ffffff30;
  }
  :where(.air-page) .air-big-number {
    font-size:21vw;
    max-width:540px;
  }
  :where(.air-page) .air-hero-stat>p+p {
    font-size:12px;
    margin-top:13px;
  }
  :where(.air-page) .air-hero-stat strong {
    font-size:10px;
  }
  :where(.air-page) .air-rise {
    height:47px;
    margin-top:7px;
    max-width:320px;
  }
  :where(.air-page) .air-cover {
    height:240px;
  }
  :where(.air-page) .air-cover>img {
    object-position:45% center;
  }
  :where(.air-page) .air-cover figcaption {
    inset:auto var(--gutter) 20px;
    font-size:10px;
  }
  :where(.air-page) .air-cover figcaption>span:last-child {
    font-size:13px;
  }
  :where(.air-page) .air-cover figcaption>span:last-child span {
    font-size:21px;
    padding-left:6px;
  }
  :where(.air-page) .air-chapters>.container {
    gap:20px;
  }
  :where(.air-page) .air-chapters a {
    font-size:9px;
    min-height:60px;
    line-height:1.5;
  }
  :where(.air-page) .air-results-head {
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:30px;
  }
  :where(.air-page) .air-results h2 {
    font-size:34px;
  }
  :where(.air-page) .air-period {
    justify-self:start;
    font-size:10px;
  }
  :where(.air-page) .air-result-rows article {
    grid-template-columns:20px 1fr 26px;
    gap:14px;
    padding:24px 20px;
  }
  :where(.air-page) .air-result-rows h3 {
    font-size:19px;
  }
  :where(.air-page) .air-result-rows article>p {
    grid-column:2;
    grid-row:2;
    font-size:54px;
  }
  :where(.air-page) .air-result-up {
    grid-column:3;
    grid-row:2;
    font-size:32px;
  }
  :where(.air-page) .air-result-index {
    font-size:10px;
  }
  :where(.air-page) .air-story-grid {
    grid-template-columns:1fr;
    gap:22px;
  }
  :where(.air-page) .air-story h2 {
    font-size:37px;
  }
  :where(.air-page) .air-story-copy {
    padding:0;
  }
  :where(.air-page) .air-story h3 {
    font-size:19px;
  }
  :where(.air-page) .air-story-copy p {
    font-size:14px;
  }
  :where(.air-page) .air-client-logo {
    width:210px;
    height:105px;
    margin-top:16px;
  }
  :where(.air-page) .air-strategy-head {
    grid-template-columns:1fr;
    gap:19px;
  }
  :where(.air-page) .air-strategy h2 {
    font-size:37px;
  }
  :where(.air-page) .air-strategy-head>p:last-child {
    font-size:14px;
  }
  :where(.air-page) .air-strategy-path {
    grid-template-columns:1fr;
    margin-block:30px;
  }
  :where(.air-page) .air-strategy-path li {
    min-height:180px;
    padding:25px;
  }
  :where(.air-page) .air-strategy-path li+li {
    border-left:0;
    border-top:1px solid #ffffff45;
  }
  :where(.air-page) .air-strategy-path h3 {
    font-size:33px;
    margin-top:23px;
  }
  :where(.air-page) .air-strategy-path p {
    font-size:13px;
  }
  :where(.air-page) .air-services li {
    font-size:10px;
    padding:9px 12px;
  }
  :where(.air-page) .air-digital-heading {
    grid-template-columns:1fr;
    gap:22px;
    margin-bottom:28px;
  }
  :where(.air-page) .air-digital h2 {
    font-size:38px;
  }
  :where(.air-page) .air-digital-heading>p {
    justify-self:start;
    font-size:13px;
  }
  :where(.air-page) .air-browser-bar {
    padding:12px;
    font-size:9px;
    gap:10px;
  }
  :where(.air-page) .air-browser-bar>span:first-child {
    font-size:6px;
    letter-spacing:1px;
  }
  :where(.air-page) .air-site figcaption {
    font-size:9px;
    gap:12px;
  }
  :where(.air-page) .air-site figcaption>span {
    display:none;
  }
  :where(.air-page) .air-recognition {
    padding-block:52px;
  }
  :where(.air-page) .air-recognition-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  :where(.air-page) .air-recognition-year {
    font-size:70px;
    justify-self:start;
  }
  :where(.air-page) .air-recognition-year>span {
    font-size:45px;
  }
  :where(.air-page) .air-recognition h2 {
    font-size:32px;
  }
  :where(.air-page) .air-recognition .eyebrow {
    font-size:10px;
  }
  :where(.air-page) .air-recognition h2+p {
    font-size:13px;
  }
  :where(.air-page) .air-continuity-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  :where(.air-page) .air-two {
    font-size:165px;
  }
  :where(.air-page) .air-two>span {
    padding-left:12px;
    top:10px;
  }
  :where(.air-page) .air-continuity h2 {
    font-size:47px;
  }
  :where(.air-page) .air-continuity h2+p {
    font-size:14px;
    margin-top:22px;
  }
  :where(.air-page) .air-continuity-note {
    font-size:10px;
  }
  :where(.air-page) .air-cta-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  :where(.air-page) .air-cta h2 {
    font-size:36px;
  }
  :where(.air-page) .air-cta .button {
    justify-self:start;
    font-size:13px;
    padding-inline:17px;
    gap:17px;
  }
  :where(.air-page) .air-case-nav>.container {
    gap:25px;
  }
  :where(.air-page) .air-case-nav a {
    padding-block:28px;
  }
  :where(.air-page) .air-case-nav strong {
    font-size:22px;
  }
  :where(.air-page) .air-case-nav span {
    font-size:10px;
  }
  :where(.air-page) .air-footer {
    padding-block:42px 92px;
  }
  :where(.air-page) .air-footer-top {
    display:block;
  }
  :where(.air-page) .air-contact-links {
    margin-top:25px;
    gap:8px 22px;
  }
  :where(.air-page) .air-footer-social {
    margin-top:10px;
    gap:24px;
  }
  :where(.air-page) .air-signoff {
    line-height:1.7;
    margin-top:25px;
  }
  :where(.air-page) .air-footer .legal {
    gap:14px;
    padding-right:25px;
  }
  :where(.air-page) .air-footer .legal>div {
    gap:12px 20px;
  }
}
@media(max-width:390px) {
  :where(.air-page) .air-hero h2 {
    font-size:35px;
  }
  :where(.air-page) .air-result-rows article {
    padding-inline:15px;
    gap:10px;
  }
  :where(.air-page) .air-result-rows article>p {
    font-size:46px;
  }
  :where(.air-page) .air-results h2 {
    font-size:31px;
  }
  :where(.air-page) .air-cta h2 {
    font-size:32px;
  }
}
@media print {
  :where(.air-page) .air-chapters {
    display:none;
  }
  :where(.air-page) .air-cover {
    height:220px;
  }
  :where(.air-page) .air-result-rows article,
:where(.air-page) .air-strategy-path li {
    break-inside:avoid;
  }
  :where(.air-page) .air-footer {
    padding-bottom:25px;
  }
}

/* 09 · ERIAC */
:where(.eriac-page) .eriac-footer {
  background:var(--black);
  color:white;
  padding-block:50px 28px;
}
:where(.eriac-page) .eriac-footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
}
:where(.eriac-page) .eriac-footer .brand {
  width:205px;
}
:where(.eriac-page) .eriac-footer .footer-chal {
  font-weight:600;
  font-size:18px;
  letter-spacing:-.025em;
  margin-top:9px;
}
:where(.eriac-page) .eriac-contact-links {
  display:flex;
  gap:28px;
  font-size:13px;
  flex-wrap:wrap;
}
:where(.eriac-page) .eriac-contact-links a {
  text-decoration:underline;
  text-underline-offset:5px;
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.eriac-page) .eriac-footer-social {
  display:flex;
  gap:20px;
  font-size:12px;
}
:where(.eriac-page) .eriac-footer-social a {
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.eriac-page) .eriac-footer a:hover {
  color:#46c7f2;
}
:where(.eriac-page) .eriac-signoff {
  font-size:12px;
  color:#c6cbd0;
  margin-top:28px;
}
:where(.eriac-page) .eriac-footer .legal {
  padding-top:22px;
  margin-top:25px;
  border-top:1px solid #ffffff30;
}
.eriac-page {
  background:white;
}
.eriac-page .site-header {
  background:var(--blue);
  color:#10232b;
  border-bottom:1px solid #10232b30;
}
.eriac-page .site-header .brand img {
  filter:brightness(0) invert(1);
}
.eriac-page .nav-contact {
  background:var(--black);
  color:white;
  padding:10px 20px;
  gap:20px;
}
.eriac-page .nav-trigger>span {
  color:#10232b;
}
.eriac-page .nav-panel [aria-current=page] {
  background:var(--soft);
  color:var(--blue-ink);
}
:where(.eriac-page) .eriac-hero {
  background:var(--blue);
  color:#10232b;
  padding-block:35px 45px;
  overflow:hidden;
}
:where(.eriac-page) .eriac-hero-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
}
:where(.eriac-page) .eriac-hero-top .eyebrow {
  color:#17313d;
  font-size:10px;
  margin:0;
}
:where(.eriac-page) .eriac-hero-top>span {
  font-size:10px;
}
:where(.eriac-page) .eriac-hero-title {
  display:grid;
  grid-template-columns:1fr 290px;
  align-items:center;
  gap:6%;
  padding-block:40px 38px;
}
:where(.eriac-page) .eriac-hero h1 {
  font-size:clamp(130px,19vw,290px);
  line-height:.9;
  letter-spacing:-.065em;
  color:white;
  font-weight:600;
}
:where(.eriac-page) .eriac-hero h1>span {
  color:#10232b;
}
:where(.eriac-page) .eriac-six {
  position:relative;
  display:flex;
  align-items:center;
  gap:20px;
  background:var(--black);
  color:white;
  padding:30px 27px;
  transform:rotate(5deg);
  min-height:180px;
}
:where(.eriac-page) .eriac-six strong {
  font-size:120px;
  letter-spacing:-.09em;
  line-height:1;
  font-weight:500;
}
:where(.eriac-page) .eriac-six>span {
  font-size:13px;
  line-height:1.65;
}
:where(.eriac-page) .eriac-six>b {
  position:absolute;
  right:15px;
  top:5px;
  font-size:35px;
  color:#41c4ef;
  font-weight:400;
}
:where(.eriac-page) .eriac-hero-bottom {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:40px;
  border-top:1px solid #10232b60;
  padding-top:28px;
}
:where(.eriac-page) .eriac-hero-bottom>p {
  font-size:clamp(22px,2.9vw,41px);
  letter-spacing:-.04em;
  line-height:1.35;
}
:where(.eriac-page) .eriac-hero-bottom strong {
  font-weight:500;
  color:white;
}
:where(.eriac-page) .eriac-hero-bottom .text-link {
  font-size:12px;
  flex-shrink:0;
}
:where(.eriac-page) .eriac-chapters {
  background:var(--black);
  color:white;
}
:where(.eriac-page) .eriac-chapters>.container {
  display:flex;
  justify-content:space-between;
  gap:25px;
}
:where(.eriac-page) .eriac-chapters a {
  display:flex;
  align-items:center;
  min-height:63px;
  font-size:11px;
}
:where(.eriac-page) .eriac-chapters a:hover {
  color:#41c4ef;
}
:where(.eriac-page) .eriac-story-heading {
  margin-bottom:43px;
}
:where(.eriac-page) .eriac-story h2 {
  font-size:clamp(38px,4.8vw,70px);
  line-height:1.08;
}
:where(.eriac-page) .eriac-story h2>span {
  color:var(--blue-ink);
}
:where(.eriac-page) .eriac-story-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:12%;
  align-items:center;
}
:where(.eriac-page) .eriac-brand-block {
  background:var(--soft);
  padding:28px 30px 32px;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
:where(.eriac-page) .eriac-brand-block>img {
  width:100%;
  height:auto;
  max-width:370px;
  margin:0 auto 35px;
}
:where(.eriac-page) .eriac-brand-block>p {
  display:flex;
  align-items:center;
  gap:20px;
  border-top:1px solid var(--line);
  padding-top:28px;
}
:where(.eriac-page) .eriac-brand-block strong {
  font-size:66px;
  letter-spacing:-.055em;
  line-height:1;
  font-weight:500;
  color:var(--blue-ink);
}
:where(.eriac-page) .eriac-brand-block span {
  font-size:12px;
  line-height:1.6;
  color:var(--muted);
}
:where(.eriac-page) .eriac-story h3 {
  font-size:20px;
  margin-bottom:15px;
}
:where(.eriac-page) .eriac-story-copy p {
  font-size:15px;
  line-height:1.8;
  color:var(--muted);
}
:where(.eriac-page) .eriac-story-copy article+article {
  margin-top:27px;
  padding-top:27px;
  border-top:1px solid var(--line);
}
:where(.eriac-page) .eriac-evolution {
  background:var(--black);
  color:white;
}
:where(.eriac-page) .eriac-evolution .eyebrow {
  color:#b9cbd5;
  font-size:11px;
}
:where(.eriac-page) .eriac-evolution-heading {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:8%;
  align-items:end;
}
:where(.eriac-page) .eriac-evolution h2 {
  font-size:clamp(34px,4vw,58px);
  line-height:1.1;
}
:where(.eriac-page) .eriac-evolution h2>span {
  color:#41c4ef;
}
:where(.eriac-page) .eriac-evolution-heading>p {
  font-size:15px;
  line-height:1.85;
  color:#c5d5de;
}
:where(.eriac-page) .eriac-evolution-statement {
  display:grid;
  grid-template-columns:100px 1fr 1fr;
  gap:30px;
  align-items:center;
  border-top:1px solid #ffffff40;
  margin-top:50px;
  padding-top:38px;
}
:where(.eriac-page) .eriac-evolution-statement>span {
  font-size:100px;
  font-weight:300;
  line-height:1;
  color:#41c4ef;
}
:where(.eriac-page) .eriac-evolution-statement>p {
  font-size:31px;
  line-height:1.2;
  letter-spacing:-.035em;
}
:where(.eriac-page) .eriac-evolution-statement>div {
  font-size:14px;
  line-height:1.8;
  color:#c5d5de;
}
:where(.eriac-page) .eriac-evolution-statement strong {
  font-weight:500;
  color:white;
}
:where(.eriac-page) .eriac-work {
  background:#f5f7f8;
}
:where(.eriac-page) .eriac-work-heading {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12%;
  align-items:end;
  margin-bottom:45px;
}
:where(.eriac-page) .eriac-work h2 {
  font-size:clamp(36px,4.5vw,65px);
  line-height:1.1;
}
:where(.eriac-page) .eriac-work h2>span {
  color:var(--blue-ink);
}
:where(.eriac-page) .eriac-work-heading>p {
  font-size:15px;
  line-height:1.8;
  color:var(--muted);
}
:where(.eriac-page) .eriac-work-grid {
  display:grid;
  grid-template-columns:.65fr 1.35fr;
  align-items:stretch;
  gap:0;
  background:white;
}
:where(.eriac-page) .eriac-forum-note {
  padding:35px 30px;
  background:var(--blue);
  color:#10232b;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
:where(.eriac-page) .eriac-forum-note .eyebrow {
  color:#17313d;
  font-size:10px;
  margin-bottom:25px;
}
:where(.eriac-page) .eriac-forum-note h3 {
  font-size:clamp(40px,5.1vw,73px);
  font-weight:600;
  line-height:1;
}
:where(.eriac-page) .eriac-forum-note h3>span {
  font-size:.7em;
  padding-left:15px;
  color:white;
}
:where(.eriac-page) .eriac-forum-note h3+p {
  font-size:12px;
  line-height:1.8;
  margin-top:25px;
}
:where(.eriac-page) .eriac-edition {
  display:block;
  font-size:9px;
  line-height:1.6;
  border-top:1px solid #10232b55;
  padding-top:17px;
  margin-top:28px;
}
:where(.eriac-page) .eriac-forum {
  min-width:0;
  padding:24px;
  align-self:center;
}
:where(.eriac-page) .eriac-forum>a {
  display:block;
  transition:transform .3s;
}
:where(.eriac-page) .eriac-forum>a:hover {
  transform:translateY(-4px);
}
:where(.eriac-page) .eriac-forum img {
  width:100%;
  height:auto;
}
:where(.eriac-page) .eriac-forum figcaption {
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:9px;
  line-height:1.6;
  color:var(--muted);
  margin-top:15px;
}
:where(.eriac-page) .eriac-forum figcaption>a {
  white-space:nowrap;
  text-decoration:underline;
  text-underline-offset:4px;
}
:where(.eriac-page) .eriac-services {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  list-style:none;
  margin:40px 0 0;
  padding:0;
  gap:0 40px;
}
:where(.eriac-page) .eriac-services li {
  padding:24px 0;
  border-top:1px solid var(--line);
  display:flex;
  gap:24px;
}
:where(.eriac-page) .eriac-services li>span {
  font-size:11px;
  color:var(--blue-ink);
  margin-top:4px;
}
:where(.eriac-page) .eriac-services h3 {
  font-size:20px;
  font-weight:500;
  letter-spacing:-.025em;
  line-height:1.25;
}
:where(.eriac-page) .eriac-results {
  background:white;
}
:where(.eriac-page) .eriac-results-heading {
  margin-bottom:38px;
}
:where(.eriac-page) .eriac-results h2 {
  font-size:clamp(36px,4.6vw,67px);
  line-height:1.1;
}
:where(.eriac-page) .eriac-results h2>span {
  color:var(--blue-ink);
}
:where(.eriac-page) .eriac-results-grid {
  display:grid;
  grid-template-columns:1.3fr .8fr 1fr;
  gap:20px;
}
:where(.eriac-page) .eriac-results article {
  min-width:0;
  padding:28px;
  position:relative;
  overflow:hidden;
}
:where(.eriac-page) .eriac-results h3 {
  font-size:15px;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.4;
}
:where(.eriac-page) .eriac-results dl {
  margin:30px 0 0;
}
:where(.eriac-page) .eriac-results dt {
  font-size:clamp(45px,4.5vw,65px);
  line-height:1.05;
  letter-spacing:-.055em;
  font-weight:600;
  white-space:nowrap;
}
:where(.eriac-page) .eriac-results dt>span {
  font-size:.6em;
  margin-left:3px;
}
:where(.eriac-page) .eriac-results dd {
  margin:12px 0 0;
  font-size:12px;
  line-height:1.7;
}
:where(.eriac-page) .eriac-instagram {
  background:var(--blue);
  color:#10232b;
}
:where(.eriac-page) .eriac-instagram dl {
  margin-top:55px;
}
:where(.eriac-page) .eriac-instagram dt {
  color:white;
  font-size:clamp(57px,6.2vw,89px);
}
:where(.eriac-page) .eriac-instagram dd {
  max-width:200px;
}
:where(.eriac-page) .eriac-metric-arrow {
  display:block;
  margin-top:20px;
  line-height:1;
  text-align:right;
  color:white;
  font-size:63px;
  font-weight:300;
}
:where(.eriac-page) .eriac-instagram-detail {
  background:#edf1f3;
}
:where(.eriac-page) .eriac-instagram-detail dt {
  color:var(--blue-ink);
}
:where(.eriac-page) .eriac-results dl>div+div {
  border-top:1px solid var(--line);
  margin-top:22px;
  padding-top:22px;
}
:where(.eriac-page) .eriac-linkedin {
  background:var(--black);
  color:white;
}
:where(.eriac-page) .eriac-linkedin dt {
  color:#41c4ef;
}
:where(.eriac-page) .eriac-linkedin dl>div+div {
  border-color:#ffffff40;
}
:where(.eriac-page) .eriac-linkedin dd {
  color:#cbdbe3;
}
:where(.eriac-page) .eriac-linkedin>span {
  position:absolute;
  right:24px;
  top:21px;
  font-size:24px;
  font-weight:600;
  line-height:1;
}
:where(.eriac-page) .eriac-more-results {
  display:grid;
  grid-template-columns:1.3fr .8fr 1fr;
  gap:20px;
  margin-top:20px;
}
:where(.eriac-page) .eriac-more-results article {
  background:#edf1f3;
  display:grid;
  grid-template-columns:.65fr 1.35fr;
  gap:25px;
  align-items:center;
}
:where(.eriac-page) .eriac-more-results dl {
  margin:0;
}
:where(.eriac-page) .eriac-more-results dt {
  font-size:60px;
  color:var(--blue-ink);
}
:where(.eriac-page) .eriac-more-results dd {
  font-size:11px;
  max-width:240px;
}
:where(.eriac-page) .eriac-more-results article:first-child {
  grid-template-columns:1fr 1.1fr;
}
:where(.eriac-page) .eriac-more-results article:first-child dt {
  font-size:55px;
}
:where(.eriac-page) .eriac-social-links {
  display:flex;
  align-items:center;
  gap:25px;
  flex-wrap:wrap;
  border-top:1px solid var(--line);
  margin-top:35px;
  padding-top:22px;
  font-size:11px;
}
:where(.eriac-page) .eriac-social-links>p {
  margin-right:auto;
  color:var(--muted);
}
:where(.eriac-page) .eriac-social-links a {
  display:flex;
  align-items:center;
  min-height:44px;
  text-decoration:underline;
  text-underline-offset:5px;
}
:where(.eriac-page) .eriac-continuity {
  background:var(--black);
  color:white;
}
:where(.eriac-page) .eriac-continuity-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12%;
  align-items:center;
}
:where(.eriac-page) .eriac-continuity .eyebrow {
  font-size:11px;
  color:#bad0db;
}
:where(.eriac-page) .eriac-continuity h2 {
  font-size:clamp(46px,6.2vw,90px);
  line-height:1.03;
}
:where(.eriac-page) .eriac-continuity h2>span {
  color:#41c4ef;
}
:where(.eriac-page) .eriac-continuity h2+p {
  font-size:12px;
  color:#bfd2dc;
  margin-top:23px;
}
:where(.eriac-page) .eriac-continuity-copy>span {
  display:block;
  line-height:.8;
  font-size:95px;
  color:var(--blue);
  margin-bottom:25px;
}
:where(.eriac-page) .eriac-continuity-copy>p {
  font-size:18px;
  line-height:1.85;
  letter-spacing:-.02em;
  color:#d5e0e6;
}
:where(.eriac-page) .eriac-cta {
  background:var(--blue);
  color:#10232b;
}
:where(.eriac-page) .eriac-cta .eyebrow {
  color:#17313d;
}
:where(.eriac-page) .eriac-cta-grid {
  display:grid;
  grid-template-columns:1.7fr 1fr;
  gap:8%;
  align-items:end;
}
:where(.eriac-page) .eriac-cta h2 {
  font-size:clamp(36px,4.7vw,68px);
  line-height:1.12;
}
:where(.eriac-page) .eriac-cta h2>span {
  color:white;
}
:where(.eriac-page) .eriac-cta .button {
  justify-self:end;
  white-space:nowrap;
}
:where(.eriac-page) .eriac-cta .button:hover {
  box-shadow:5px 5px 0 white;
}
:where(.eriac-page) .eriac-case-nav {
  background:#f0f3f4;
}
:where(.eriac-page) .eriac-case-nav>.container {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
}
:where(.eriac-page) .eriac-case-nav a {
  padding-block:32px;
  display:block;
}
:where(.eriac-page) .eriac-case-nav a+a {
  text-align:right;
}
:where(.eriac-page) .eriac-case-nav span {
  font-size:11px;
  color:var(--muted);
}
:where(.eriac-page) .eriac-case-nav strong {
  display:block;
  font-weight:500;
  font-size:clamp(19px,2.4vw,32px);
  letter-spacing:-.04em;
  line-height:1.2;
  margin-top:12px;
}
:where(.eriac-page) .eriac-case-nav a:hover strong {
  color:var(--blue-ink);
}
@media(max-width:1100px) {
  :where(.eriac-page) .eriac-hero-title {
    grid-template-columns:1fr 235px;
    gap:5%;
  }
  :where(.eriac-page) .eriac-hero h1 {
    font-size:18.5vw;
  }
  :where(.eriac-page) .eriac-six {
    padding:28px 20px;
    gap:15px;
    min-height:160px;
  }
  :where(.eriac-page) .eriac-six strong {
    font-size:100px;
  }
  :where(.eriac-page) .eriac-six>span {
    font-size:11px;
  }
  :where(.eriac-page) .eriac-story-grid {
    gap:7%;
  }
  :where(.eriac-page) .eriac-brand-block {
    padding-inline:22px;
  }
  :where(.eriac-page) .eriac-brand-block strong {
    font-size:55px;
  }
  :where(.eriac-page) .eriac-brand-block span {
    font-size:11px;
  }
  :where(.eriac-page) .eriac-brand-block>p {
    gap:15px;
  }
  :where(.eriac-page) .eriac-evolution-statement {
    grid-template-columns:70px 1fr 1fr;
    gap:25px;
  }
  :where(.eriac-page) .eriac-evolution-statement>span {
    font-size:70px;
  }
  :where(.eriac-page) .eriac-evolution-statement>p {
    font-size:26px;
  }
  :where(.eriac-page) .eriac-work-heading {
    gap:8%;
  }
  :where(.eriac-page) .eriac-forum-note {
    padding:28px 24px;
  }
  :where(.eriac-page) .eriac-forum {
    padding:20px;
  }
  :where(.eriac-page) .eriac-services {
    gap:0 25px;
  }
  :where(.eriac-page) .eriac-services li {
    gap:17px;
  }
  :where(.eriac-page) .eriac-services h3 {
    font-size:18px;
  }
  :where(.eriac-page) .eriac-results-grid {
    gap:16px;
  }
  :where(.eriac-page) .eriac-results article {
    padding:23px;
  }
  :where(.eriac-page) .eriac-more-results {
    gap:16px;
  }
  :where(.eriac-page) .eriac-more-results article,
:where(.eriac-page) .eriac-more-results article:first-child {
    grid-template-columns:1fr;
    gap:18px;
  }
  :where(.eriac-page) .eriac-more-results dl {
    display:flex;
    align-items:center;
    gap:25px;
  }
  :where(.eriac-page) .eriac-more-results dd {
    margin:0;
  }
  :where(.eriac-page) .eriac-more-results dt {
    font-size:55px;
  }
  :where(.eriac-page) .eriac-footer-top {
    flex-wrap:wrap;
  }
  :where(.eriac-page) .eriac-cta .button {
    font-size:12px;
    padding-inline:16px;
    gap:14px;
  }
}
@media(max-width:760px) {
  .eriac-page .main-nav {
    background:var(--blue);
    color:#10232b;
    border-top-color:#10232b40;
  }
  .eriac-page .nav-group,
.eriac-page .main-nav>a {
    border-bottom-color:#10232b40;
  }
  .eriac-page .nav-panel {
    background:#ffffffc9;
    color:var(--black);
  }
  .eriac-page .nav-panel a:hover {
    color:var(--blue-ink);
  }
  .eriac-page .main-nav .nav-contact {
    padding-inline:18px;
    margin-top:15px;
    justify-content:space-between;
  }
  :where(.eriac-page) .eriac-hero {
    padding-block:30px 32px;
  }
  :where(.eriac-page) .eriac-hero-top {
    display:block;
  }
  :where(.eriac-page) .eriac-hero-top .eyebrow {
    font-size:9px;
  }
  :where(.eriac-page) .eriac-hero-top>span {
    display:block;
    font-size:9px;
    margin-top:13px;
  }
  :where(.eriac-page) .eriac-hero-title {
    grid-template-columns:1fr;
    gap:22px;
    padding-block:30px 33px;
  }
  :where(.eriac-page) .eriac-hero h1 {
    font-size:24vw;
    line-height:.85;
  }
  :where(.eriac-page) .eriac-six {
    justify-self:end;
    margin-right:8px;
    min-height:105px;
    padding:17px 27px;
    gap:22px;
    transform:rotate(4deg);
  }
  :where(.eriac-page) .eriac-six strong {
    font-size:76px;
  }
  :where(.eriac-page) .eriac-six>span {
    font-size:12px;
  }
  :where(.eriac-page) .eriac-six>b {
    font-size:25px;
    right:9px;
    top:3px;
  }
  :where(.eriac-page) .eriac-hero-bottom {
    display:block;
    padding-top:24px;
  }
  :where(.eriac-page) .eriac-hero-bottom>p {
    font-size:25px;
    line-height:1.4;
  }
  :where(.eriac-page) .eriac-hero-bottom .text-link {
    margin-top:20px;
    font-size:11px;
  }
  :where(.eriac-page) .eriac-chapters>.container {
    gap:19px;
  }
  :where(.eriac-page) .eriac-chapters a {
    font-size:9px;
    line-height:1.5;
    min-height:60px;
    max-width:110px;
  }
  :where(.eriac-page) .eriac-story-heading {
    margin-bottom:28px;
  }
  :where(.eriac-page) .eriac-story h2 {
    font-size:36px;
  }
  :where(.eriac-page) .eriac-story-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  :where(.eriac-page) .eriac-brand-block {
    padding:25px;
  }
  :where(.eriac-page) .eriac-brand-block>img {
    max-width:285px;
    margin-bottom:25px;
  }
  :where(.eriac-page) .eriac-brand-block>p {
    padding-top:23px;
    gap:22px;
  }
  :where(.eriac-page) .eriac-brand-block strong {
    font-size:60px;
  }
  :where(.eriac-page) .eriac-brand-block span {
    font-size:12px;
  }
  :where(.eriac-page) .eriac-story h3 {
    font-size:19px;
  }
  :where(.eriac-page) .eriac-story-copy p {
    font-size:14px;
  }
  :where(.eriac-page) .eriac-evolution .eyebrow {
    font-size:10px;
  }
  :where(.eriac-page) .eriac-evolution-heading {
    grid-template-columns:1fr;
    gap:25px;
  }
  :where(.eriac-page) .eriac-evolution h2 {
    font-size:35px;
  }
  :where(.eriac-page) .eriac-evolution-heading>p {
    font-size:14px;
  }
  :where(.eriac-page) .eriac-evolution-statement {
    grid-template-columns:45px 1fr;
    gap:20px;
    margin-top:30px;
    padding-top:28px;
  }
  :where(.eriac-page) .eriac-evolution-statement>span {
    font-size:48px;
  }
  :where(.eriac-page) .eriac-evolution-statement>p {
    font-size:28px;
  }
  :where(.eriac-page) .eriac-evolution-statement>div {
    grid-column:1/-1;
    font-size:14px;
  }
  :where(.eriac-page) .eriac-work-heading {
    grid-template-columns:1fr;
    gap:25px;
    margin-bottom:30px;
  }
  :where(.eriac-page) .eriac-work h2 {
    font-size:38px;
  }
  :where(.eriac-page) .eriac-work-heading>p {
    font-size:14px;
  }
  :where(.eriac-page) .eriac-work-grid {
    grid-template-columns:1fr;
  }
  :where(.eriac-page) .eriac-forum-note {
    padding:28px;
  }
  :where(.eriac-page) .eriac-forum-note h3 {
    font-size:55px;
  }
  :where(.eriac-page) .eriac-forum-note .eyebrow {
    margin-bottom:22px;
  }
  :where(.eriac-page) .eriac-forum-note h3+p {
    font-size:13px;
    margin-top:22px;
  }
  :where(.eriac-page) .eriac-edition {
    font-size:10px;
    margin-top:24px;
  }
  :where(.eriac-page) .eriac-forum {
    padding:17px;
  }
  :where(.eriac-page) .eriac-forum figcaption {
    font-size:9px;
    gap:10px;
  }
  :where(.eriac-page) .eriac-services {
    grid-template-columns:1fr 1fr;
    gap:0 22px;
    margin-top:30px;
  }
  :where(.eriac-page) .eriac-services li {
    display:block;
    padding-block:22px;
  }
  :where(.eriac-page) .eriac-services h3 {
    font-size:17px;
    line-height:1.3;
    margin-top:15px;
  }
  :where(.eriac-page) .eriac-services li>span {
    font-size:10px;
  }
  :where(.eriac-page) .eriac-results h2 {
    font-size:35px;
  }
  :where(.eriac-page) .eriac-results-heading {
    margin-bottom:28px;
  }
  :where(.eriac-page) .eriac-results-grid {
    grid-template-columns:1fr;
    gap:18px;
  }
  :where(.eriac-page) .eriac-results article {
    padding:28px;
  }
  :where(.eriac-page) .eriac-results h3 {
    font-size:16px;
  }
  :where(.eriac-page) .eriac-instagram dl {
    margin-top:30px;
  }
  :where(.eriac-page) .eriac-instagram dt {
    font-size:75px;
  }
  :where(.eriac-page) .eriac-metric-arrow {
    font-size:57px;
    margin-top:5px;
  }
  :where(.eriac-page) .eriac-instagram-detail dl,
:where(.eriac-page) .eriac-linkedin dl {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:25px;
  }
  :where(.eriac-page) .eriac-results dl>div+div {
    border-top:0;
    margin:0;
    padding:0;
  }
  :where(.eriac-page) .eriac-instagram-detail dt,
:where(.eriac-page) .eriac-linkedin dt {
    font-size:55px;
  }
  :where(.eriac-page) .eriac-results dd {
    font-size:12px;
  }
  :where(.eriac-page) .eriac-linkedin>span {
    top:28px;
    right:28px;
  }
  :where(.eriac-page) .eriac-more-results {
    grid-template-columns:1fr;
    gap:18px;
    margin-top:18px;
  }
  :where(.eriac-page) .eriac-more-results article,
:where(.eriac-page) .eriac-more-results article:first-child {
    gap:22px;
  }
  :where(.eriac-page) .eriac-more-results dl {
    gap:27px;
  }
  :where(.eriac-page) .eriac-more-results dt,
:where(.eriac-page) .eriac-more-results article:first-child dt {
    font-size:55px;
  }
  :where(.eriac-page) .eriac-more-results dd {
    font-size:11px;
  }
  :where(.eriac-page) .eriac-social-links {
    gap:5px 24px;
    padding-top:25px;
    margin-top:30px;
  }
  :where(.eriac-page) .eriac-social-links>p {
    flex-basis:100%;
    margin:0 0 10px;
    font-size:12px;
  }
  :where(.eriac-page) .eriac-social-links a {
    font-size:11px;
  }
  :where(.eriac-page) .eriac-continuity-grid {
    grid-template-columns:1fr;
    gap:38px;
  }
  :where(.eriac-page) .eriac-continuity h2 {
    font-size:51px;
  }
  :where(.eriac-page) .eriac-continuity .eyebrow {
    font-size:10px;
  }
  :where(.eriac-page) .eriac-continuity h2+p {
    font-size:12px;
    margin-top:20px;
  }
  :where(.eriac-page) .eriac-continuity-copy>span {
    font-size:60px;
    margin-bottom:20px;
  }
  :where(.eriac-page) .eriac-continuity-copy>p {
    font-size:16px;
    line-height:1.8;
  }
  :where(.eriac-page) .eriac-cta-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  :where(.eriac-page) .eriac-cta h2 {
    font-size:36px;
  }
  :where(.eriac-page) .eriac-cta .button {
    justify-self:start;
    font-size:13px;
    padding-inline:17px;
    gap:17px;
  }
  :where(.eriac-page) .eriac-case-nav>.container {
    gap:25px;
  }
  :where(.eriac-page) .eriac-case-nav a {
    padding-block:28px;
  }
  :where(.eriac-page) .eriac-case-nav strong {
    font-size:22px;
  }
  :where(.eriac-page) .eriac-case-nav span {
    font-size:10px;
  }
  :where(.eriac-page) .eriac-footer {
    padding-block:42px 92px;
  }
  :where(.eriac-page) .eriac-footer-top {
    display:block;
  }
  :where(.eriac-page) .eriac-contact-links {
    margin-top:25px;
    gap:8px 22px;
  }
  :where(.eriac-page) .eriac-footer-social {
    margin-top:10px;
    gap:24px;
  }
  :where(.eriac-page) .eriac-signoff {
    line-height:1.7;
    margin-top:25px;
  }
  :where(.eriac-page) .eriac-footer .legal {
    gap:14px;
    padding-right:25px;
  }
  :where(.eriac-page) .eriac-footer .legal>div {
    gap:12px 20px;
  }
}
@media(max-width:390px) {
  :where(.eriac-page) .eriac-hero-bottom>p {
    font-size:23px;
  }
  :where(.eriac-page) .eriac-story h2,
:where(.eriac-page) .eriac-evolution h2 {
    font-size:32px;
  }
  :where(.eriac-page) .eriac-services h3 {
    font-size:16px;
  }
  :where(.eriac-page) .eriac-instagram dt {
    font-size:65px;
  }
  :where(.eriac-page) .eriac-instagram-detail dt,
:where(.eriac-page) .eriac-linkedin dt {
    font-size:46px;
  }
  :where(.eriac-page) .eriac-results article {
    padding:24px;
  }
  :where(.eriac-page) .eriac-more-results dl {
    gap:20px;
  }
  :where(.eriac-page) .eriac-more-results dt,
:where(.eriac-page) .eriac-more-results article:first-child dt {
    font-size:49px;
  }
  :where(.eriac-page) .eriac-cta h2 {
    font-size:32px;
  }
}
@media print {
  :where(.eriac-page) .eriac-chapters {
    display:none;
  }
  :where(.eriac-page) .eriac-six {
    transform:none;
  }
  :where(.eriac-page) .eriac-results article,
:where(.eriac-page) .eriac-services li {
    break-inside:avoid;
  }
  :where(.eriac-page) .eriac-footer {
    padding-bottom:25px;
  }
}
@media(min-width:761px) {
  :where(.eriac-page) .eriac-more-results article,
:where(.eriac-page) .eriac-more-results article:first-child {
    display:block;
  }
  :where(.eriac-page) .eriac-more-results dl {
    display:block;
    margin-top:25px;
  }
  :where(.eriac-page) .eriac-more-results dd {
    margin-top:12px;
  }
  :where(.eriac-page) .eriac-more-results dt,
:where(.eriac-page) .eriac-more-results article:first-child dt {
    font-size:clamp(40px,4.5vw,55px);
  }
}

/* 10 · ANDAMOS */
:where(.andamos-page) .andamos-footer {
  background:var(--black);
  color:white;
  padding-block:50px 28px;
}
:where(.andamos-page) .andamos-footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
}
:where(.andamos-page) .andamos-footer .brand {
  width:205px;
}
:where(.andamos-page) .andamos-footer .footer-chal {
  font-weight:600;
  font-size:18px;
  letter-spacing:-.025em;
  margin-top:9px;
}
:where(.andamos-page) .andamos-contact-links {
  display:flex;
  gap:28px;
  font-size:13px;
  flex-wrap:wrap;
}
:where(.andamos-page) .andamos-contact-links a {
  text-decoration:underline;
  text-underline-offset:5px;
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.andamos-page) .andamos-footer-social {
  display:flex;
  gap:20px;
  font-size:12px;
}
:where(.andamos-page) .andamos-footer-social a {
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.andamos-page) .andamos-footer a:hover {
  color:#46c7f2;
}
:where(.andamos-page) .andamos-signoff {
  font-size:12px;
  color:#c6cbd0;
  margin-top:28px;
}
:where(.andamos-page) .andamos-footer .legal {
  padding-top:22px;
  margin-top:25px;
  border-top:1px solid #ffffff30;
}
.andamos-page {
  background:white;
}
.andamos-page .site-header {
  background:white;
  color:var(--black);
  border-bottom:1px solid var(--line);
}
.andamos-page .nav-contact {
  background:var(--black);
  color:white;
  padding:10px 20px;
  gap:20px;
}
.andamos-page .nav-panel [aria-current=page] {
  background:var(--soft);
  color:var(--blue-ink);
}
:where(.andamos-page) .andamos-hero {
  padding-top:35px;
  overflow:hidden;
}
:where(.andamos-page) .andamos-hero-top {
  display:flex;
  justify-content:space-between;
  gap:25px;
  align-items:center;
}
:where(.andamos-page) .andamos-hero-top .eyebrow {
  font-size:10px;
  margin:0;
}
:where(.andamos-page) .andamos-hero-top>span {
  font-size:11px;
  color:var(--muted);
}
:where(.andamos-page) .andamos-hero-grid {
  display:grid;
  grid-template-columns:1.35fr 1fr;
  gap:8%;
  align-items:center;
  padding-block:38px;
}
:where(.andamos-page) .andamos-hero h1 {
  font-size:clamp(45px,6vw,88px);
  letter-spacing:-.055em;
  font-weight:600;
  line-height:1;
}
:where(.andamos-page) .andamos-hero h1>span {
  color:var(--blue);
}
:where(.andamos-page) .andamos-headline {
  font-size:clamp(32px,4.7vw,68px);
  line-height:1.12;
  letter-spacing:-.045em;
  margin-top:28px;
}
:where(.andamos-page) .andamos-headline strong {
  color:var(--blue-ink);
  font-weight:500;
}
:where(.andamos-page) .andamos-lead {
  font-size:19px;
  line-height:1.6;
  color:var(--muted);
  margin-top:25px;
}
:where(.andamos-page) .andamos-hero .text-link {
  font-size:12px;
  margin-top:23px;
}
:where(.andamos-page) .andamos-hero-art {
  background:var(--blue);
  color:#10232b;
  padding:24px 28px 22px;
  position:relative;
  border-radius:130px 0 0 0;
  min-height:450px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
}
:where(.andamos-page) .andamos-art-top {
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.09em;
  align-self:end;
  max-width:140px;
  text-align:right;
}
:where(.andamos-page) .andamos-eight {
  display:flex;
  align-items:center;
  gap:26px;
  margin-block:20px;
}
:where(.andamos-page) .andamos-eight strong {
  font-size:clamp(170px,20vw,280px);
  font-weight:500;
  line-height:.9;
  letter-spacing:-.08em;
  color:white;
}
:where(.andamos-page) .andamos-eight>span {
  font-size:15px;
  line-height:1.55;
}
:where(.andamos-page) .andamos-art-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid #10232b60;
  padding-top:17px;
  font-size:11px;
  line-height:1.6;
}
:where(.andamos-page) .andamos-art-bottom b {
  font-size:45px;
  line-height:1;
  font-weight:400;
}
:where(.andamos-page) .andamos-hero-note {
  display:flex;
  align-items:center;
  gap:16px;
  border-top:1px solid var(--line);
  padding-block:24px;
  font-size:12px;
}
:where(.andamos-page) .andamos-dot {
  width:9px;
  height:9px;
  flex-shrink:0;
  border-radius:50%;
  background:var(--blue);
}
:where(.andamos-page) .andamos-hero-note>span:last-child {
  margin-left:auto;
  font-size:10px;
  color:var(--muted);
}
:where(.andamos-page) .andamos-chapters {
  background:var(--black);
  color:white;
}
:where(.andamos-page) .andamos-chapters>.container {
  display:flex;
  justify-content:space-between;
  gap:25px;
}
:where(.andamos-page) .andamos-chapters a {
  font-size:11px;
  min-height:63px;
  display:flex;
  align-items:center;
}
:where(.andamos-page) .andamos-chapters a:hover {
  color:#41c4ef;
}
:where(.andamos-page) .andamos-story {
  background:var(--soft);
}
:where(.andamos-page) .andamos-story-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11%;
  align-items:start;
}
:where(.andamos-page) .andamos-story h2 {
  font-size:clamp(35px,4.2vw,60px);
  line-height:1.1;
}
:where(.andamos-page) .andamos-story h2>span {
  color:var(--blue-ink);
}
:where(.andamos-page) .andamos-client-logo {
  margin-top:28px;
  max-width:240px;
}
:where(.andamos-page) .andamos-client-logo img {
  width:240px;
  height:130px;
  object-fit:cover;
  object-position:center;
}
:where(.andamos-page) .andamos-story-copy {
  padding-top:32px;
}
:where(.andamos-page) .andamos-story-copy p {
  font-size:15px;
  line-height:1.85;
  color:var(--muted);
}
:where(.andamos-page) .andamos-story-copy article {
  border-top:1px solid var(--line);
  margin-top:28px;
  padding-top:28px;
}
:where(.andamos-page) .andamos-story h3 {
  font-size:20px;
  margin-bottom:15px;
}
:where(.andamos-page) .andamos-work {
  background:white;
}
:where(.andamos-page) .andamos-work-heading {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:12px 10%;
  align-items:end;
}
:where(.andamos-page) .andamos-work-heading .eyebrow {
  grid-column:1/-1;
}
:where(.andamos-page) .andamos-work h2 {
  font-size:clamp(37px,4.8vw,70px);
  line-height:1.08;
}
:where(.andamos-page) .andamos-work h2>span {
  color:var(--blue-ink);
}
:where(.andamos-page) .andamos-work-heading>p:last-child {
  font-size:15px;
  line-height:1.85;
  color:var(--muted);
  padding-bottom:5px;
}
:where(.andamos-page) .andamos-services {
  list-style:none;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  margin:45px 0 0;
  padding:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
:where(.andamos-page) .andamos-services li {
  padding:26px 20px 28px;
  position:relative;
  min-width:0;
}
:where(.andamos-page) .andamos-services li+li {
  border-left:1px solid var(--line);
}
:where(.andamos-page) .andamos-services li>span:first-child {
  font-size:10px;
  color:var(--muted);
}
:where(.andamos-page) .andamos-services h3 {
  font-size:20px;
  font-weight:500;
  letter-spacing:-.025em;
  line-height:1.3;
  margin-top:27px;
  min-height:78px;
}
:where(.andamos-page) .andamos-service-symbol {
  display:block;
  color:var(--blue-ink);
  font-size:66px;
  line-height:1;
  font-weight:300;
  margin-top:32px;
}
:where(.andamos-page) .andamos-play {
  font-size:60px;
}
:where(.andamos-page) .andamos-services li:nth-child(2) {
  background:var(--blue);
  color:#10232b;
}
:where(.andamos-page) .andamos-services li:nth-child(2)>span:first-child {
  color:#17313d;
}
:where(.andamos-page) .andamos-services li:nth-child(2) .andamos-service-symbol {
  color:white;
}
:where(.andamos-page) .andamos-presence {
  background:var(--black);
  color:white;
}
:where(.andamos-page) .andamos-presence .eyebrow {
  color:#bed1dc;
  font-size:11px;
}
:where(.andamos-page) .andamos-presence-grid {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:10%;
  align-items:end;
}
:where(.andamos-page) .andamos-presence h2 {
  font-size:clamp(57px,8.7vw,126px);
  line-height:.98;
  font-weight:600;
}
:where(.andamos-page) .andamos-presence h2>span {
  color:#41c4ef;
}
:where(.andamos-page) .andamos-presence-arrow {
  display:block;
  font-size:125px;
  line-height:1;
  color:var(--blue);
  margin-bottom:25px;
}
:where(.andamos-page) .andamos-presence-grid p {
  font-size:20px;
  line-height:1.75;
  letter-spacing:-.025em;
  color:#d2dfe6;
  max-width:540px;
}
:where(.andamos-page) .andamos-results {
  background:#edf1f3;
}
:where(.andamos-page) .andamos-results-heading {
  margin-bottom:40px;
}
:where(.andamos-page) .andamos-results h2 {
  font-size:clamp(36px,4.6vw,66px);
  line-height:1.1;
}
:where(.andamos-page) .andamos-results h2>span {
  color:var(--blue-ink);
}
:where(.andamos-page) .andamos-featured-results {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:22px;
}
:where(.andamos-page) .andamos-results article {
  padding:30px;
  min-width:0;
  position:relative;
  overflow:hidden;
}
:where(.andamos-page) .andamos-results h3 {
  font-size:16px;
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.4;
}
:where(.andamos-page) .andamos-results dl {
  margin:35px 0 0;
}
:where(.andamos-page) .andamos-results dt {
  font-size:clamp(55px,7vw,101px);
  line-height:1;
  letter-spacing:-.065em;
  font-weight:600;
  white-space:nowrap;
}
:where(.andamos-page) .andamos-results dt>span {
  font-size:.6em;
  margin-left:3px;
}
:where(.andamos-page) .andamos-results dd {
  font-size:13px;
  line-height:1.7;
  margin:16px 0 0;
  max-width:300px;
}
:where(.andamos-page) .andamos-clicks {
  background:var(--blue);
  color:#10232b;
}
:where(.andamos-page) .andamos-clicks dt {
  color:white;
}
:where(.andamos-page) .andamos-clicks>span {
  display:block;
  font-size:70px;
  font-weight:300;
  color:white;
  text-align:right;
  line-height:.8;
  margin-top:22px;
}
:where(.andamos-page) .andamos-registers {
  background:var(--black);
  color:white;
}
:where(.andamos-page) .andamos-registers dt {
  color:#41c4ef;
}
:where(.andamos-page) .andamos-registers dd {
  color:#ccdde5;
}
:where(.andamos-page) .andamos-register-lines {
  display:flex;
  gap:10px;
  margin-top:36px;
  align-items:center;
  height:35px;
}
:where(.andamos-page) .andamos-register-lines i {
  display:block;
  height:1px;
  background:#41c4ef;
  flex:1;
  position:relative;
}
:where(.andamos-page) .andamos-register-lines i:after {
  content:'';
  display:block;
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#41c4ef;
  right:0;
  top:-3px;
}
:where(.andamos-page) .andamos-network-results {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:22px;
}
:where(.andamos-page) .andamos-network-results article {
  background:white;
}
:where(.andamos-page) .andamos-network-results dt {
  font-size:clamp(43px,4.8vw,69px);
  color:var(--blue-ink);
}
:where(.andamos-page) .andamos-network-results dd {
  font-size:12px;
  color:var(--muted);
  max-width:230px;
}
:where(.andamos-page) .andamos-congress {
  background:white;
}
:where(.andamos-page) .andamos-congress-grid {
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:12%;
  align-items:center;
}
:where(.andamos-page) .andamos-congress-number {
  font-size:clamp(180px,28vw,390px);
  letter-spacing:-.1em;
  font-weight:600;
  line-height:.85;
  color:var(--blue);
}
:where(.andamos-page) .andamos-congress-number>span {
  font-size:.3em;
  vertical-align:top;
  padding-left:16px;
  position:relative;
  top:20px;
}
:where(.andamos-page) .andamos-congress h2 {
  font-size:clamp(36px,4.6vw,66px);
  line-height:1.1;
}
:where(.andamos-page) .andamos-congress h2>span {
  color:var(--blue-ink);
}
:where(.andamos-page) .andamos-congress h2+p {
  font-size:16px;
  line-height:1.85;
  color:var(--muted);
  margin-top:25px;
}
:where(.andamos-page) .andamos-congress-note {
  display:block;
  font-size:10px;
  line-height:1.6;
  border-top:1px solid var(--line);
  padding-top:20px;
  margin-top:25px;
  color:var(--muted);
}
:where(.andamos-page) .andamos-continuity {
  background:var(--black);
  color:white;
}
:where(.andamos-page) .andamos-continuity .eyebrow {
  color:#b9d0dd;
  font-size:11px;
}
:where(.andamos-page) .andamos-continuity h2 {
  font-size:clamp(42px,6.4vw,92px);
  line-height:1.08;
}
:where(.andamos-page) .andamos-continuity h2>span {
  color:#41c4ef;
}
:where(.andamos-page) .andamos-continuity-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10%;
  border-top:1px solid #ffffff40;
  margin-top:38px;
  padding-top:35px;
}
:where(.andamos-page) .andamos-continuity-grid>p:first-child {
  font-size:25px;
  line-height:1.55;
  letter-spacing:-.03em;
  max-width:610px;
}
:where(.andamos-page) .andamos-continuity-grid>p:last-child {
  font-size:15px;
  line-height:1.85;
  color:#c6d8e3;
}
:where(.andamos-page) .andamos-cta {
  background:var(--blue);
  color:#10232b;
}
:where(.andamos-page) .andamos-cta .eyebrow {
  color:#17313d;
}
:where(.andamos-page) .andamos-cta-grid {
  display:grid;
  grid-template-columns:1.7fr 1fr;
  gap:8%;
  align-items:end;
}
:where(.andamos-page) .andamos-cta h2 {
  font-size:clamp(36px,4.5vw,65px);
  line-height:1.12;
}
:where(.andamos-page) .andamos-cta h2>span {
  color:white;
}
:where(.andamos-page) .andamos-cta h2+p {
  font-size:14px;
  margin-top:28px;
  line-height:1.7;
}
:where(.andamos-page) .andamos-cta .button {
  justify-self:end;
  white-space:nowrap;
}
:where(.andamos-page) .andamos-cta .button:hover {
  box-shadow:5px 5px 0 white;
}
:where(.andamos-page) .andamos-case-nav {
  background:#f0f3f4;
}
:where(.andamos-page) .andamos-case-nav>.container {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
}
:where(.andamos-page) .andamos-case-nav a {
  padding-block:32px;
  display:block;
}
:where(.andamos-page) .andamos-case-nav a+a {
  text-align:right;
}
:where(.andamos-page) .andamos-case-nav span {
  font-size:11px;
  color:var(--muted);
}
:where(.andamos-page) .andamos-case-nav strong {
  display:block;
  font-weight:500;
  font-size:clamp(19px,2.4vw,32px);
  letter-spacing:-.04em;
  line-height:1.2;
  margin-top:12px;
}
:where(.andamos-page) .andamos-case-nav a:hover strong {
  color:var(--blue-ink);
}
@media(max-width:1100px) {
  :where(.andamos-page) .andamos-hero-grid {
    gap:6%;
    grid-template-columns:1.3fr 1fr;
  }
  :where(.andamos-page) .andamos-hero-art {
    padding:22px;
    min-height:415px;
    border-radius:95px 0 0 0;
  }
  :where(.andamos-page) .andamos-eight {
    gap:15px;
  }
  :where(.andamos-page) .andamos-eight>span {
    font-size:12px;
  }
  :where(.andamos-page) .andamos-lead {
    font-size:17px;
  }
  :where(.andamos-page) .andamos-services li {
    padding-inline:15px;
  }
  :where(.andamos-page) .andamos-services h3 {
    font-size:17px;
  }
  :where(.andamos-page) .andamos-services h3 {
    min-height:88px;
  }
  :where(.andamos-page) .andamos-presence-grid {
    gap:7%;
  }
  :where(.andamos-page) .andamos-presence-grid p {
    font-size:18px;
  }
  :where(.andamos-page) .andamos-results article {
    padding:25px;
  }
  :where(.andamos-page) .andamos-congress-grid {
    gap:10%;
  }
  :where(.andamos-page) .andamos-footer-top {
    flex-wrap:wrap;
  }
  :where(.andamos-page) .andamos-cta .button {
    font-size:12px;
    padding-inline:16px;
    gap:14px;
  }
}
@media(max-width:760px) {
  .andamos-page .menu-icon {
    border-color:var(--black);
  }
  .andamos-page .menu-icon:after,
.andamos-page .menu-toggle[aria-expanded=true] .menu-icon:before {
    background:var(--black);
  }
  .andamos-page .main-nav {
    background:white;
    border-top-color:var(--line);
  }
  .andamos-page .nav-group,
.andamos-page .main-nav>a {
    border-bottom-color:var(--line);
  }
  .andamos-page .nav-panel {
    background:var(--soft);
    color:var(--black);
  }
  .andamos-page .main-nav .nav-contact {
    padding-inline:18px;
    margin-top:15px;
    justify-content:space-between;
  }
  :where(.andamos-page) .andamos-hero {
    padding-top:28px;
  }
  :where(.andamos-page) .andamos-hero-top {
    gap:20px;
  }
  :where(.andamos-page) .andamos-hero-top .eyebrow {
    font-size:9px;
    max-width:220px;
  }
  :where(.andamos-page) .andamos-hero-top>span {
    font-size:9px;
    white-space:nowrap;
  }
  :where(.andamos-page) .andamos-hero-grid {
    grid-template-columns:1fr;
    gap:28px;
    padding-block:28px;
  }
  :where(.andamos-page) .andamos-hero h1 {
    font-size:12.2vw;
  }
  :where(.andamos-page) .andamos-headline {
    font-size:39px;
    margin-top:24px;
  }
  :where(.andamos-page) .andamos-lead {
    font-size:17px;
    margin-top:22px;
  }
  :where(.andamos-page) .andamos-hero .text-link {
    font-size:11px;
    margin-top:18px;
  }
  :where(.andamos-page) .andamos-hero-art {
    min-height:340px;
    padding:24px 26px;
    border-radius:95px 0 0 0;
    max-width:520px;
    width:100%;
  }
  :where(.andamos-page) .andamos-art-top {
    font-size:9px;
    max-width:130px;
  }
  :where(.andamos-page) .andamos-eight {
    justify-content:center;
    gap:30px;
    margin-block:15px;
  }
  :where(.andamos-page) .andamos-eight strong {
    font-size:180px;
  }
  :where(.andamos-page) .andamos-eight>span {
    font-size:15px;
  }
  :where(.andamos-page) .andamos-art-bottom {
    padding-top:15px;
    font-size:10px;
  }
  :where(.andamos-page) .andamos-art-bottom b {
    font-size:37px;
  }
  :where(.andamos-page) .andamos-hero-note {
    flex-wrap:wrap;
    gap:10px 14px;
    padding-block:22px;
    font-size:12px;
  }
  :where(.andamos-page) .andamos-hero-note>span:last-child {
    margin-left:23px;
    width:100%;
    font-size:9px;
  }
  :where(.andamos-page) .andamos-chapters>.container {
    gap:20px;
  }
  :where(.andamos-page) .andamos-chapters a {
    font-size:9px;
    line-height:1.5;
    min-height:60px;
    max-width:105px;
  }
  :where(.andamos-page) .andamos-story-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  :where(.andamos-page) .andamos-story h2 {
    font-size:35px;
  }
  :where(.andamos-page) .andamos-client-logo {
    margin-top:20px;
    max-width:210px;
  }
  :where(.andamos-page) .andamos-client-logo img {
    width:210px;
    height:110px;
  }
  :where(.andamos-page) .andamos-story-copy {
    padding:0;
  }
  :where(.andamos-page) .andamos-story-copy p {
    font-size:14px;
  }
  :where(.andamos-page) .andamos-story h3 {
    font-size:19px;
  }
  :where(.andamos-page) .andamos-work-heading {
    grid-template-columns:1fr;
    gap:20px;
  }
  :where(.andamos-page) .andamos-work-heading .eyebrow {
    margin-bottom:0;
  }
  :where(.andamos-page) .andamos-work h2 {
    font-size:38px;
  }
  :where(.andamos-page) .andamos-work-heading>p:last-child {
    font-size:14px;
    padding:0;
  }
  :where(.andamos-page) .andamos-services {
    grid-template-columns:1fr;
    margin-top:30px;
  }
  :where(.andamos-page) .andamos-services li {
    display:grid;
    grid-template-columns:25px 1fr 45px;
    gap:15px;
    align-items:center;
    padding:23px 15px;
  }
  :where(.andamos-page) .andamos-services li+li {
    border-left:0;
    border-top:1px solid var(--line);
  }
  :where(.andamos-page) .andamos-services h3 {
    font-size:23px;
    min-height:0;
    margin:0;
    line-height:1.2;
  }
  :where(.andamos-page) .andamos-service-symbol,
:where(.andamos-page) .andamos-play {
    font-size:40px;
    margin:0;
    text-align:center;
  }
  :where(.andamos-page) .andamos-presence .eyebrow {
    font-size:10px;
  }
  :where(.andamos-page) .andamos-presence-grid {
    grid-template-columns:1fr;
    gap:32px;
  }
  :where(.andamos-page) .andamos-presence h2 {
    font-size:clamp(49px,13vw,80px);
  }
  :where(.andamos-page) .andamos-presence-arrow {
    font-size:65px;
    margin-bottom:22px;
  }
  :where(.andamos-page) .andamos-presence-grid p {
    font-size:17px;
    line-height:1.8;
  }
  :where(.andamos-page) .andamos-results-heading {
    margin-bottom:28px;
  }
  :where(.andamos-page) .andamos-results h2 {
    font-size:34px;
  }
  :where(.andamos-page) .andamos-featured-results {
    grid-template-columns:1fr;
    gap:18px;
  }
  :where(.andamos-page) .andamos-results article {
    padding:27px;
  }
  :where(.andamos-page) .andamos-results dt {
    font-size:70px;
  }
  :where(.andamos-page) .andamos-results dd {
    font-size:12px;
    margin-top:15px;
  }
  :where(.andamos-page) .andamos-results dl {
    margin-top:30px;
  }
  :where(.andamos-page) .andamos-clicks>span {
    font-size:57px;
    margin-top:25px;
  }
  :where(.andamos-page) .andamos-register-lines {
    margin-top:28px;
  }
  :where(.andamos-page) .andamos-network-results {
    grid-template-columns:1fr;
    gap:18px;
    margin-top:18px;
  }
  :where(.andamos-page) .andamos-network-results article {
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:25px;
    align-items:center;
  }
  :where(.andamos-page) .andamos-network-results h3 {
    font-size:15px;
  }
  :where(.andamos-page) .andamos-network-results dl {
    margin:0;
  }
  :where(.andamos-page) .andamos-network-results dt {
    font-size:49px;
  }
  :where(.andamos-page) .andamos-network-results dd {
    font-size:11px;
    line-height:1.7;
  }
  :where(.andamos-page) .andamos-congress-grid {
    grid-template-columns:1fr;
    gap:33px;
  }
  :where(.andamos-page) .andamos-congress-number {
    font-size:170px;
  }
  :where(.andamos-page) .andamos-congress-number>span {
    top:10px;
    padding-left:12px;
  }
  :where(.andamos-page) .andamos-congress h2 {
    font-size:35px;
  }
  :where(.andamos-page) .andamos-congress h2+p {
    font-size:14px;
    margin-top:22px;
  }
  :where(.andamos-page) .andamos-congress-note {
    font-size:9px;
  }
  :where(.andamos-page) .andamos-continuity .eyebrow {
    font-size:10px;
  }
  :where(.andamos-page) .andamos-continuity h2 {
    font-size:45px;
  }
  :where(.andamos-page) .andamos-continuity h2>span {
    display:block;
  }
  :where(.andamos-page) .andamos-continuity-grid {
    grid-template-columns:1fr;
    gap:25px;
    margin-top:28px;
    padding-top:28px;
  }
  :where(.andamos-page) .andamos-continuity-grid>p:first-child {
    font-size:22px;
    line-height:1.6;
  }
  :where(.andamos-page) .andamos-continuity-grid>p:last-child {
    font-size:14px;
  }
  :where(.andamos-page) .andamos-cta-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  :where(.andamos-page) .andamos-cta h2 {
    font-size:35px;
  }
  :where(.andamos-page) .andamos-cta h2+p {
    font-size:13px;
    margin-top:24px;
  }
  :where(.andamos-page) .andamos-cta .button {
    justify-self:start;
    font-size:13px;
    padding-inline:17px;
    gap:17px;
  }
  :where(.andamos-page) .andamos-case-nav>.container {
    gap:25px;
  }
  :where(.andamos-page) .andamos-case-nav a {
    padding-block:28px;
  }
  :where(.andamos-page) .andamos-case-nav strong {
    font-size:22px;
  }
  :where(.andamos-page) .andamos-case-nav span {
    font-size:10px;
  }
  :where(.andamos-page) .andamos-footer {
    padding-block:42px 92px;
  }
  :where(.andamos-page) .andamos-footer-top {
    display:block;
  }
  :where(.andamos-page) .andamos-contact-links {
    margin-top:25px;
    gap:8px 22px;
  }
  :where(.andamos-page) .andamos-footer-social {
    margin-top:10px;
    gap:24px;
  }
  :where(.andamos-page) .andamos-signoff {
    line-height:1.7;
    margin-top:25px;
  }
  :where(.andamos-page) .andamos-footer .legal {
    gap:14px;
    padding-right:25px;
  }
  :where(.andamos-page) .andamos-footer .legal>div {
    gap:12px 20px;
  }
}
@media(max-width:390px) {
  :where(.andamos-page) .andamos-headline {
    font-size:36px;
  }
  :where(.andamos-page) .andamos-story h2,
:where(.andamos-page) .andamos-results h2 {
    font-size:31px;
  }
  :where(.andamos-page) .andamos-results dt {
    font-size:61px;
  }
  :where(.andamos-page) .andamos-results article {
    padding:23px;
  }
  :where(.andamos-page) .andamos-network-results article {
    grid-template-columns:.65fr 1.35fr;
    gap:20px;
  }
  :where(.andamos-page) .andamos-network-results dt {
    font-size:46px;
  }
  :where(.andamos-page) .andamos-network-results h3 {
    font-size:13px;
  }
  :where(.andamos-page) .andamos-services h3 {
    font-size:21px;
  }
  :where(.andamos-page) .andamos-cta h2 {
    font-size:31px;
  }
}
@media print {
  :where(.andamos-page) .andamos-chapters {
    display:none;
  }
  :where(.andamos-page) .andamos-hero-art {
    min-height:340px;
  }
  :where(.andamos-page) .andamos-services li,
:where(.andamos-page) .andamos-results article {
    break-inside:avoid;
  }
  :where(.andamos-page) .andamos-footer {
    padding-bottom:25px;
  }
}

/* 11 · RADTHINK */
:where(.rad-page) .rad-footer {
  background:var(--black);
  color:white;
  padding-block:50px 28px;
}
:where(.rad-page) .rad-footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
}
:where(.rad-page) .rad-footer .brand {
  width:205px;
}
:where(.rad-page) .rad-footer .footer-chal {
  font-weight:600;
  font-size:18px;
  letter-spacing:-.025em;
  margin-top:9px;
}
:where(.rad-page) .rad-contact-links {
  display:flex;
  gap:28px;
  font-size:13px;
  flex-wrap:wrap;
}
:where(.rad-page) .rad-contact-links a {
  text-decoration:underline;
  text-underline-offset:5px;
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.rad-page) .rad-footer-social {
  display:flex;
  gap:20px;
  font-size:12px;
}
:where(.rad-page) .rad-footer-social a {
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.rad-page) .rad-footer a:hover {
  color:#46c7f2;
}
:where(.rad-page) .rad-signoff {
  font-size:12px;
  color:#c6cbd0;
  margin-top:28px;
}
:where(.rad-page) .rad-footer .legal {
  padding-top:22px;
  margin-top:25px;
  border-top:1px solid #ffffff30;
}
.rad-page {
  background:white;
}
.rad-page .site-header {
  background:var(--black);
  color:white;
}
.rad-page .site-header .brand img {
  filter:brightness(0) invert(1);
}
.rad-page .nav-contact {
  background:var(--blue);
  color:#10232b;
  padding:10px 20px;
  gap:20px;
}
.rad-page .nav-panel [aria-current=page] {
  background:var(--soft);
  color:var(--blue-ink);
}
:where(.rad-page) .rad-hero {
  background-color:var(--black);
  background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);
  background-size:80px 80px;
  color:white;
  padding-block:35px 50px;
  overflow:hidden;
}
:where(.rad-page) .rad-hero-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
}
:where(.rad-page) .rad-hero-top .eyebrow {
  color:#bdcfd9;
  font-size:10px;
  margin:0;
}
:where(.rad-page) .rad-hero-top>span {
  font-size:10px;
  color:#bdcfd9;
}
:where(.rad-page) .rad-hero h1 {
  font-size:clamp(75px,13.4vw,195px);
  letter-spacing:-.065em;
  line-height:1;
  font-weight:600;
  margin-block:30px 35px;
}
:where(.rad-page) .rad-hero h1>span {
  color:var(--blue);
}
:where(.rad-page) .rad-hero-bottom {
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:10%;
  align-items:center;
  border-top:1px solid #ffffff40;
  padding-top:35px;
}
:where(.rad-page) .rad-honesty {
  font-size:clamp(29px,3.5vw,50px);
  line-height:1.1;
  letter-spacing:-.04em;
  color:#41c4ef;
}
:where(.rad-page) .rad-lead {
  font-size:clamp(23px,2.5vw,36px);
  line-height:1.4;
  letter-spacing:-.035em;
  margin-top:15px;
}
:where(.rad-page) .rad-lead strong {
  font-weight:500;
}
:where(.rad-page) .rad-hero .text-link {
  font-size:12px;
  margin-top:23px;
}
:where(.rad-page) .rad-route {
  position:relative;
  padding:0 0 0 30px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  min-width:0;
}
:where(.rad-page) .rad-route-start {
  font-size:12px;
  color:#c8d8e0;
  border:1px solid #ffffff50;
  padding:10px 12px;
  justify-self:start;
  white-space:nowrap;
}
:where(.rad-page) .rad-route-check {
  font-size:10px;
  color:#91d8ef;
  align-self:center;
}
:where(.rad-page) .rad-route-turn {
  position:absolute;
  width:20px;
  height:90px;
  left:9px;
  top:22px;
  border-left:2px solid var(--blue);
  border-top:2px solid var(--blue);
  border-bottom:2px solid var(--blue);
}
:where(.rad-page) .rad-route strong {
  grid-column:1/-1;
  font-size:29px;
  font-weight:500;
  line-height:1.2;
  letter-spacing:-.035em;
  color:white;
  background:var(--blue);
  padding:20px 24px;
  position:relative;
}
:where(.rad-page) .rad-route strong>span {
  position:absolute;
  right:18px;
  bottom:10px;
  font-size:40px;
  color:#10232b;
  font-weight:300;
}
:where(.rad-page) .rad-chapters {
  background:var(--blue);
  color:#10232b;
}
:where(.rad-page) .rad-chapters>.container {
  display:flex;
  justify-content:space-between;
  gap:25px;
}
:where(.rad-page) .rad-chapters a {
  font-size:11px;
  min-height:63px;
  display:flex;
  align-items:center;
}
:where(.rad-page) .rad-chapters a:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}
:where(.rad-page) .rad-brand {
  display:grid;
  grid-template-columns:.5fr 1.5fr;
  gap:10%;
  padding-bottom:45px;
  border-bottom:1px solid var(--line);
  margin-bottom:45px;
}
:where(.rad-page) .rad-brand .eyebrow {
  margin-top:5px;
}
:where(.rad-page) .rad-brand>p:last-child {
  font-size:16px;
  line-height:1.85;
  color:var(--muted);
}
:where(.rad-page) .rad-challenge {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10%;
}
:where(.rad-page) .rad-story h2 {
  font-size:clamp(36px,4.2vw,61px);
  line-height:1.1;
}
:where(.rad-page) .rad-story h2>span {
  color:var(--blue-ink);
}
:where(.rad-page) .rad-challenge-copy p {
  font-size:15px;
  line-height:1.85;
  color:var(--muted);
}
:where(.rad-page) .rad-challenge-copy p+p {
  margin-top:23px;
}
:where(.rad-page) .rad-challenge-copy p:nth-child(2) {
  color:var(--black);
  font-weight:450;
}
:where(.rad-page) .rad-decision {
  background:var(--blue);
  color:#10232b;
  padding-block:50px;
}
:where(.rad-page) .rad-decision-grid {
  display:grid;
  grid-template-columns:130px 1fr auto;
  gap:35px;
  align-items:center;
}
:where(.rad-page) .rad-turn-symbol {
  font-size:155px;
  line-height:1;
  font-weight:300;
  color:white;
}
:where(.rad-page) .rad-decision-grid>p {
  font-size:clamp(34px,4.6vw,66px);
  line-height:1.12;
  letter-spacing:-.04em;
}
:where(.rad-page) .rad-decision strong {
  color:white;
  font-weight:500;
}
:where(.rad-page) .rad-decision-note {
  align-self:end;
  font-size:11px;
  padding-bottom:5px;
}
:where(.rad-page) .rad-strategy {
  background:var(--black);
  color:white;
}
:where(.rad-page) .rad-strategy .eyebrow {
  color:#bed2dd;
}
:where(.rad-page) .rad-strategy-heading {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:12px 9%;
  align-items:end;
}
:where(.rad-page) .rad-strategy-heading .eyebrow {
  grid-column:1/-1;
}
:where(.rad-page) .rad-strategy h2 {
  font-size:clamp(34px,4.5vw,65px);
  line-height:1.1;
}
:where(.rad-page) .rad-strategy h2>span {
  color:#41c4ef;
}
:where(.rad-page) .rad-strategy-heading>p:last-child {
  font-size:15px;
  line-height:1.85;
  color:#c6d8e2;
}
:where(.rad-page) .rad-strategy-board {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:9%;
  margin-top:50px;
  align-items:stretch;
}
:where(.rad-page) .rad-blog {
  background:var(--blue);
  color:#10232b;
  padding:35px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
}
:where(.rad-page) .rad-blog .eyebrow {
  color:#17313d;
  font-size:10px;
  margin-bottom:28px;
}
:where(.rad-page) .rad-blog h3 {
  font-size:clamp(45px,5.6vw,80px);
  font-weight:600;
  line-height:1;
}
:where(.rad-page) .rad-blog h3>span {
  font-size:.7em;
  font-weight:300;
  padding-left:12px;
  color:white;
}
:where(.rad-page) .rad-blog h3+p {
  font-size:14px;
  line-height:1.8;
  margin-top:25px;
  max-width:330px;
}
:where(.rad-page) .rad-blog strong {
  font-weight:600;
}
:where(.rad-page) .rad-document-lines {
  margin-top:35px;
}
:where(.rad-page) .rad-document-lines i {
  display:block;
  height:1px;
  background:#10232b55;
  margin-top:13px;
  width:100%;
}
:where(.rad-page) .rad-document-lines i:last-child {
  width:65%;
}
:where(.rad-page) .rad-strategy-services>h3 {
  font-size:16px;
  font-weight:400;
  letter-spacing:0;
  color:#c6d8e2;
  margin-bottom:20px;
}
:where(.rad-page) .rad-strategy-services ol {
  list-style:none;
  margin:0;
  padding:0;
}
:where(.rad-page) .rad-strategy-services li {
  display:flex;
  align-items:center;
  gap:25px;
  border-top:1px solid #ffffff35;
  font-size:19px;
  letter-spacing:-.025em;
  line-height:1.5;
  padding-block:21px;
}
:where(.rad-page) .rad-strategy-services li>span {
  font-size:10px;
  color:#41c4ef;
  min-width:20px;
}
:where(.rad-page) .rad-strategy-purpose {
  font-size:clamp(22px,2.5vw,36px);
  letter-spacing:-.03em;
  line-height:1.55;
  border-top:1px solid #ffffff35;
  padding-top:35px;
  margin-top:45px;
  max-width:1100px;
  color:#d6e4ec;
}
:where(.rad-page) .rad-results {
  background:white;
}
:where(.rad-page) .rad-results-heading {
  margin-bottom:42px;
}
:where(.rad-page) .rad-results h2 {
  font-size:clamp(38px,4.9vw,71px);
  line-height:1.1;
}
:where(.rad-page) .rad-results h2>span {
  color:var(--blue-ink);
}
:where(.rad-page) .rad-web-results {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6%;
  border-top:1px solid var(--line);
  padding-top:30px;
}
:where(.rad-page) .rad-web-results article {
  min-width:0;
}
:where(.rad-page) .rad-results h3 {
  font-size:14px;
  line-height:1.5;
  font-weight:500;
  letter-spacing:-.02em;
}
:where(.rad-page) .rad-web-results dl {
  margin:28px 0 0;
}
:where(.rad-page) .rad-web-results dt {
  font-size:clamp(66px,9.2vw,134px);
  font-weight:600;
  letter-spacing:-.065em;
  line-height:1;
  white-space:nowrap;
  color:var(--blue-ink);
}
:where(.rad-page) .rad-web-results dt>span {
  font-size:.5em;
  margin-left:4px;
}
:where(.rad-page) .rad-results dd {
  margin:16px 0 0;
  font-size:13px;
  line-height:1.65;
  color:var(--muted);
}
:where(.rad-page) .rad-linkedin-results {
  background:var(--black);
  color:white;
  padding:28px 32px;
  margin-top:45px;
  display:grid;
  grid-template-columns:.7fr 2.3fr;
  gap:40px;
  align-items:center;
}
:where(.rad-page) .rad-linkedin-results h3 {
  font-size:24px;
}
:where(.rad-page) .rad-linkedin-results h3>span {
  display:block;
  font-size:50px;
  font-weight:300;
  color:#41c4ef;
  margin-top:10px;
  line-height:1;
}
:where(.rad-page) .rad-linkedin-results dl {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:25px;
  margin:0;
}
:where(.rad-page) .rad-linkedin-results dl>div {
  border-left:1px solid #ffffff40;
  padding-left:25px;
  min-width:0;
}
:where(.rad-page) .rad-linkedin-results dt {
  font-size:clamp(35px,4.1vw,59px);
  font-weight:500;
  letter-spacing:-.04em;
  line-height:1.1;
  color:#41c4ef;
  white-space:nowrap;
}
:where(.rad-page) .rad-linkedin-results dt>span {
  font-size:.55em;
  margin-left:2px;
}
:where(.rad-page) .rad-linkedin-results dd {
  font-size:12px;
  color:#ccdde7;
  margin-top:9px;
}
:where(.rad-page) .rad-organic {
  display:flex;
  gap:25px;
  align-items:center;
  margin-top:30px;
  padding:28px 32px;
  background:#eef2f4;
}
:where(.rad-page) .rad-organic>span {
  font-size:58px;
  line-height:1;
  color:var(--blue);
  font-weight:300;
}
:where(.rad-page) .rad-organic>p {
  font-size:21px;
  letter-spacing:-.025em;
  line-height:1.5;
}
:where(.rad-page) .rad-organic strong {
  font-weight:500;
  color:var(--blue-ink);
}
:where(.rad-page) .rad-learning {
  background:#f5f7f8;
}
:where(.rad-page) .rad-learning-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11%;
  align-items:start;
}
:where(.rad-page) .rad-learning h2 {
  font-size:clamp(36px,4.2vw,61px);
  line-height:1.1;
}
:where(.rad-page) .rad-learning h2>span {
  color:var(--blue-ink);
}
:where(.rad-page) .rad-learning-copy {
  padding-top:32px;
}
:where(.rad-page) .rad-learning-copy p {
  font-size:16px;
  line-height:1.85;
  color:var(--muted);
}
:where(.rad-page) .rad-learning-copy p+p {
  margin-top:25px;
}
:where(.rad-page) .rad-cta {
  background:var(--blue);
  color:#10232b;
}
:where(.rad-page) .rad-cta .eyebrow {
  color:#17313d;
}
:where(.rad-page) .rad-cta-grid {
  display:grid;
  grid-template-columns:1.7fr 1fr;
  gap:8%;
  align-items:end;
}
:where(.rad-page) .rad-cta h2 {
  font-size:clamp(36px,4.5vw,65px);
  line-height:1.12;
}
:where(.rad-page) .rad-cta h2>span {
  color:white;
}
:where(.rad-page) .rad-cta h2+p {
  font-size:14px;
  margin-top:28px;
  line-height:1.7;
}
:where(.rad-page) .rad-cta .button {
  justify-self:end;
  white-space:nowrap;
}
:where(.rad-page) .rad-cta .button:hover {
  box-shadow:5px 5px 0 white;
}
:where(.rad-page) .rad-case-nav {
  background:#f0f3f4;
}
:where(.rad-page) .rad-case-nav>.container {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
}
:where(.rad-page) .rad-case-nav a {
  padding-block:32px;
  display:block;
}
:where(.rad-page) .rad-case-nav a+a {
  text-align:right;
}
:where(.rad-page) .rad-case-nav span {
  font-size:11px;
  color:var(--muted);
}
:where(.rad-page) .rad-case-nav strong {
  display:block;
  font-weight:500;
  font-size:clamp(19px,2.4vw,32px);
  letter-spacing:-.04em;
  line-height:1.2;
  margin-top:12px;
}
:where(.rad-page) .rad-case-nav a:hover strong {
  color:var(--blue-ink);
}
@media(max-width:1100px) {
  :where(.rad-page) .rad-hero-bottom {
    gap:6%;
    grid-template-columns:1.1fr .9fr;
  }
  :where(.rad-page) .rad-route strong {
    font-size:25px;
    padding:18px;
  }
  :where(.rad-page) .rad-decision-grid {
    grid-template-columns:90px 1fr;
    gap:25px;
  }
  :where(.rad-page) .rad-turn-symbol {
    font-size:110px;
  }
  :where(.rad-page) .rad-decision-note {
    grid-column:2;
  }
  :where(.rad-page) .rad-strategy-board {
    gap:6%;
  }
  :where(.rad-page) .rad-blog {
    padding:28px;
  }
  :where(.rad-page) .rad-strategy-services li {
    font-size:17px;
    gap:18px;
  }
  :where(.rad-page) .rad-linkedin-results {
    grid-template-columns:.6fr 2.4fr;
    gap:25px;
    padding:26px;
  }
  :where(.rad-page) .rad-linkedin-results dl {
    gap:15px;
  }
  :where(.rad-page) .rad-linkedin-results dl>div {
    padding-left:15px;
  }
  :where(.rad-page) .rad-footer-top {
    flex-wrap:wrap;
  }
  :where(.rad-page) .rad-cta .button {
    font-size:12px;
    padding-inline:16px;
    gap:14px;
  }
}
@media(max-width:760px) {
  .rad-page .main-nav .nav-contact {
    padding-inline:18px;
    margin-top:15px;
    justify-content:space-between;
  }
  .rad-page .nav-panel [aria-current=page] {
    background:#ffffff15;
    color:#41c4ef;
  }
  :where(.rad-page) .rad-hero {
    padding-block:28px 34px;
    background-size:55px 55px;
  }
  :where(.rad-page) .rad-hero-top {
    display:block;
  }
  :where(.rad-page) .rad-hero-top .eyebrow {
    font-size:9px;
    max-width:290px;
  }
  :where(.rad-page) .rad-hero-top>span {
    display:block;
    font-size:9px;
    margin-top:13px;
  }
  :where(.rad-page) .rad-hero h1 {
    font-size:12.5vw;
    margin-block:27px;
  }
  :where(.rad-page) .rad-hero-bottom {
    grid-template-columns:1fr;
    gap:28px;
    padding-top:26px;
  }
  :where(.rad-page) .rad-honesty {
    font-size:29px;
  }
  :where(.rad-page) .rad-lead {
    font-size:24px;
    line-height:1.4;
    margin-top:17px;
  }
  :where(.rad-page) .rad-hero .text-link {
    font-size:11px;
    margin-top:18px;
  }
  :where(.rad-page) .rad-route {
    max-width:430px;
    margin-left:6px;
    padding-left:24px;
    gap:18px;
  }
  :where(.rad-page) .rad-route-start {
    font-size:11px;
  }
  :where(.rad-page) .rad-route-check {
    font-size:10px;
  }
  :where(.rad-page) .rad-route strong {
    font-size:27px;
    padding:23px;
  }
  :where(.rad-page) .rad-route-turn {
    left:3px;
  }
  :where(.rad-page) .rad-chapters>.container {
    gap:20px;
  }
  :where(.rad-page) .rad-chapters a {
    font-size:9px;
    line-height:1.5;
    min-height:60px;
    max-width:110px;
  }
  :where(.rad-page) .rad-brand {
    grid-template-columns:1fr;
    gap:17px;
    padding-bottom:30px;
    margin-bottom:30px;
  }
  :where(.rad-page) .rad-brand .eyebrow {
    margin:0;
  }
  :where(.rad-page) .rad-brand>p:last-child {
    font-size:14px;
  }
  :where(.rad-page) .rad-challenge {
    grid-template-columns:1fr;
    gap:28px;
  }
  :where(.rad-page) .rad-story h2 {
    font-size:35px;
  }
  :where(.rad-page) .rad-challenge-copy p {
    font-size:14px;
  }
  :where(.rad-page) .rad-challenge-copy p+p {
    margin-top:21px;
  }
  :where(.rad-page) .rad-decision {
    padding-block:38px;
  }
  :where(.rad-page) .rad-decision-grid {
    grid-template-columns:45px 1fr;
    gap:20px;
  }
  :where(.rad-page) .rad-turn-symbol {
    font-size:65px;
    align-self:start;
  }
  :where(.rad-page) .rad-decision-grid>p {
    font-size:30px;
    line-height:1.2;
  }
  :where(.rad-page) .rad-decision-note {
    font-size:10px;
  }
  :where(.rad-page) .rad-strategy-heading {
    grid-template-columns:1fr;
    gap:23px;
  }
  :where(.rad-page) .rad-strategy-heading .eyebrow {
    margin:0;
  }
  :where(.rad-page) .rad-strategy h2 {
    font-size:36px;
  }
  :where(.rad-page) .rad-strategy-heading>p:last-child {
    font-size:14px;
  }
  :where(.rad-page) .rad-strategy-board {
    grid-template-columns:minmax(0,1fr);
    gap:32px;
    margin-top:30px;
  }
  :where(.rad-page) .rad-blog {
    padding:28px;
  }
  :where(.rad-page) .rad-blog h3 {
    font-size:60px;
  }
  :where(.rad-page) .rad-blog h3+p {
    font-size:14px;
  }
  :where(.rad-page) .rad-document-lines {
    margin-top:26px;
  }
  :where(.rad-page) .rad-strategy-services>h3 {
    font-size:15px;
    margin-bottom:18px;
  }
  :where(.rad-page) .rad-strategy-services li {
    font-size:17px;
    gap:20px;
    padding-block:20px;
  }
  :where(.rad-page) .rad-strategy-purpose {
    font-size:23px;
    line-height:1.6;
    padding-top:28px;
    margin-top:30px;
  }
  :where(.rad-page) .rad-results-heading {
    margin-bottom:28px;
  }
  :where(.rad-page) .rad-results h2 {
    font-size:37px;
  }
  :where(.rad-page) .rad-web-results {
    grid-template-columns:1fr;
    gap:30px;
    padding-top:25px;
  }
  :where(.rad-page) .rad-web-results article+article {
    border-top:1px solid var(--line);
    padding-top:25px;
  }
  :where(.rad-page) .rad-web-results dl {
    margin-top:22px;
  }
  :where(.rad-page) .rad-web-results dt {
    font-size:77px;
  }
  :where(.rad-page) .rad-results h3 {
    font-size:13px;
  }
  :where(.rad-page) .rad-results dd {
    font-size:12px;
    margin-top:13px;
  }
  :where(.rad-page) .rad-linkedin-results {
    display:block;
    padding:26px;
    margin-top:30px;
  }
  :where(.rad-page) .rad-linkedin-results h3 {
    font-size:20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  :where(.rad-page) .rad-linkedin-results h3>span {
    font-size:30px;
    margin:0;
  }
  :where(.rad-page) .rad-linkedin-results dl {
    grid-template-columns:1fr;
    gap:21px;
    margin-top:24px;
  }
  :where(.rad-page) .rad-linkedin-results dl>div {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border-left:0;
    border-top:1px solid #ffffff35;
    padding:22px 0 0;
  }
  :where(.rad-page) .rad-linkedin-results dt {
    font-size:46px;
  }
  :where(.rad-page) .rad-linkedin-results dd {
    margin:0;
    font-size:12px;
  }
  :where(.rad-page) .rad-organic {
    gap:20px;
    margin-top:22px;
    padding:25px;
  }
  :where(.rad-page) .rad-organic>span {
    font-size:43px;
  }
  :where(.rad-page) .rad-organic>p {
    font-size:18px;
  }
  :where(.rad-page) .rad-learning-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  :where(.rad-page) .rad-learning h2 {
    font-size:35px;
  }
  :where(.rad-page) .rad-learning-copy {
    padding:0;
  }
  :where(.rad-page) .rad-learning-copy p {
    font-size:14px;
  }
  :where(.rad-page) .rad-cta-grid {
    grid-template-columns:1fr;
    gap:28px;
  }
  :where(.rad-page) .rad-cta h2 {
    font-size:35px;
  }
  :where(.rad-page) .rad-cta h2+p {
    font-size:13px;
    margin-top:24px;
  }
  :where(.rad-page) .rad-cta .button {
    justify-self:start;
    font-size:13px;
    padding-inline:17px;
    gap:17px;
  }
  :where(.rad-page) .rad-case-nav>.container {
    gap:25px;
  }
  :where(.rad-page) .rad-case-nav a {
    padding-block:28px;
  }
  :where(.rad-page) .rad-case-nav strong {
    font-size:21px;
  }
  :where(.rad-page) .rad-case-nav span {
    font-size:10px;
  }
  :where(.rad-page) .rad-footer {
    padding-block:42px 92px;
  }
  :where(.rad-page) .rad-footer-top {
    display:block;
  }
  :where(.rad-page) .rad-contact-links {
    margin-top:25px;
    gap:8px 22px;
  }
  :where(.rad-page) .rad-footer-social {
    margin-top:10px;
    gap:24px;
  }
  :where(.rad-page) .rad-signoff {
    line-height:1.7;
    margin-top:25px;
  }
  :where(.rad-page) .rad-footer .legal {
    gap:14px;
    padding-right:25px;
  }
  :where(.rad-page) .rad-footer .legal>div {
    gap:12px 20px;
  }
}
@media(max-width:390px) {
  :where(.rad-page) .rad-blog h3 {
    font-size:52px;
  }
  :where(.rad-page) .rad-honesty {
    font-size:27px;
  }
  :where(.rad-page) .rad-lead {
    font-size:22px;
  }
  :where(.rad-page) .rad-route strong {
    font-size:25px;
  }
  :where(.rad-page) .rad-story h2,
:where(.rad-page) .rad-strategy h2 {
    font-size:32px;
  }
  :where(.rad-page) .rad-web-results dt {
    font-size:68px;
  }
  :where(.rad-page) .rad-decision-grid>p {
    font-size:27px;
  }
  :where(.rad-page) .rad-cta h2 {
    font-size:31px;
  }
}
@media print {
  :where(.rad-page) .rad-chapters {
    display:none;
  }
  :where(.rad-page) .rad-route {
    break-inside:avoid;
  }
  :where(.rad-page) .rad-web-results article {
    break-inside:avoid;
  }
  :where(.rad-page) .rad-footer {
    padding-bottom:25px;
  }
}

/* 12 · Contacto */
:where(.contact-page) .contact-footer {
  background:var(--black);
  color:white;
  padding-block:50px 28px;
}
:where(.contact-page) .contact-footer-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
}
:where(.contact-page) .contact-footer .brand {
  width:205px;
}
:where(.contact-page) .contact-footer .footer-chal {
  font-weight:600;
  font-size:18px;
  letter-spacing:-.025em;
  margin-top:9px;
}
:where(.contact-page) .contact-contact-links {
  display:flex;
  gap:28px;
  font-size:13px;
  flex-wrap:wrap;
}
:where(.contact-page) .contact-contact-links a {
  text-decoration:underline;
  text-underline-offset:5px;
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.contact-page) .contact-footer-social {
  display:flex;
  gap:20px;
  font-size:12px;
}
:where(.contact-page) .contact-footer-social a {
  min-height:44px;
  display:flex;
  align-items:center;
}
:where(.contact-page) .contact-footer a:hover {
  color:#46c7f2;
}
:where(.contact-page) .contact-signoff {
  font-size:12px;
  color:#c6cbd0;
  margin-top:28px;
}
:where(.contact-page) .contact-footer .legal {
  padding-top:22px;
  margin-top:25px;
  border-top:1px solid #ffffff30;
}
.contact-page .site-header .brand img {
  filter:brightness(0) invert(1);
}
.contact-page .nav-contact {
  background:var(--blue);
  color:#10232b;
  padding:10px 20px;
  gap:20px;
}
:where(.contact-page) .contact-intro {
  background:#f6f7f8;
  padding-block:58px 65px;
}
:where(.contact-page) .contact-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);
  gap:7%;
  align-items:start;
}
:where(.contact-page) .contact-welcome {
  padding-top:8px;
}
:where(.contact-page) .contact-welcome>.eyebrow {
  font-size:10px;
  letter-spacing:.14em;
}
:where(.contact-page) .contact-welcome h1 {
  font-size:clamp(88px,10.2vw,155px);
  font-weight:650;
  line-height:1.03;
  letter-spacing:-.075em;
  margin:22px 0 30px;
  color:var(--blue-ink);
}
:where(.contact-page) .contact-welcome h1>span {
  color:var(--black);
}
:where(.contact-page) .contact-welcome h2 {
  font-size:clamp(30px,3.2vw,48px);
  line-height:1.13;
  max-width:490px;
}
:where(.contact-page) .contact-welcome h2>span {
  display:block;
}
:where(.contact-page) .contact-lead {
  font-size:15px;
  line-height:1.85;
  max-width:410px;
  margin:24px 0 15px;
  color:var(--muted);
}
:where(.contact-page) .contact-welcome .text-link {
  font-size:12px;
  gap:14px;
}
:where(.contact-page) .contact-note {
  display:flex;
  align-items:center;
  gap:17px;
  border-top:1px solid var(--line);
  margin-top:46px;
  padding-top:28px;
  max-width:405px;
}
:where(.contact-page) .contact-spark {
  color:var(--blue-ink);
  font-size:62px;
  line-height:1;
  transition:transform .4s;
}
:where(.contact-page) .contact-note:hover .contact-spark {
  transform:rotate(35deg);
}
:where(.contact-page) .contact-note p {
  font-size:12px;
  line-height:1.8;
}
:where(.contact-page) .contact-note-arrow {
  margin-left:auto;
  font-size:55px;
  font-weight:300;
  line-height:1;
  color:var(--blue-ink);
}
:where(.contact-page) .contact-form-panel {
  background:white;
  padding:34px;
  border:1px solid var(--line);
  box-shadow:8px 8px 0 #0099cc22;
  scroll-margin-top:110px;
  min-width:0;
}
:where(.contact-page) .contact-form-heading {
  display:flex;
  gap:18px;
  align-items:center;
}
:where(.contact-page) .contact-form-heading>span {
  font-size:43px;
  font-weight:300;
  line-height:1;
  background:var(--blue);
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  flex-shrink:0;
}
:where(.contact-page) .contact-form-heading .eyebrow {
  font-size:9px;
  margin:0 0 7px;
}
:where(.contact-page) .contact-form-heading h2 {
  font-size:29px;
}
:where(.contact-page) .contact-form-intro {
  font-size:13px;
  line-height:1.8;
  margin:22px 0;
}
:where(.contact-page) .contact-form-intro>span {
  font-size:10px;
  color:var(--muted);
}
:where(.contact-page) .contact-fields {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:21px 18px;
}
:where(.contact-page) .contact-field-wide {
  grid-column:1/-1;
}
:where(.contact-page) .contact-field label {
  display:block;
  font-size:11px;
  font-weight:500;
  margin-bottom:9px;
  line-height:1.55;
}
:where(.contact-page) .contact-field label>span {
  font-size:9px;
  font-weight:400;
  color:var(--muted);
}
:where(.contact-page) .contact-field input,
:where(.contact-page) .contact-field select,
:where(.contact-page) .contact-field textarea {
  display:block;
  width:100%;
  min-width:0;
  min-height:47px;
  border:1px solid #b9c3ca;
  border-radius:0;
  background:#f8fafb;
  color:var(--black);
  font:inherit;
  font-size:12px;
  padding:12px;
  line-height:1.5;
}
:where(.contact-page) .contact-field textarea {
  resize:vertical;
  min-height:104px;
}
:where(.contact-page) .contact-field input::placeholder,
:where(.contact-page) .contact-field textarea::placeholder {
  color:#686f74;
  opacity:1;
}
:where(.contact-page) .contact-field input:focus-visible,
:where(.contact-page) .contact-field select:focus-visible,
:where(.contact-page) .contact-field textarea:focus-visible {
  outline:2px solid var(--blue-ink);
  outline-offset:3px;
  background:white;
}
:where(.contact-page) .contact-field input:user-invalid,
:where(.contact-page) .contact-field textarea:user-invalid {
  border-color:#ab3131;
}
:where(.contact-page) .contact-consent {
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:10px;
  line-height:1.8;
  cursor:pointer;
  margin-block:22px;
}
:where(.contact-page) .contact-consent input {
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin:0;
  accent-color:var(--blue-ink);
}
:where(.contact-page) .contact-consent input:focus-visible {
  outline:2px solid var(--blue-ink);
  outline-offset:3px;
}
:where(.contact-page) .contact-consent a {
  text-decoration:underline;
  text-underline-offset:3px;
}
:where(.contact-page) .contact-form-panel .button {
  width:100%;
  font-size:13px;
  border-radius:0;
}
:where(.contact-page) .contact-delivery-note {
  font-size:10px;
  line-height:1.7;
  color:var(--muted);
  margin-top:12px;
  text-align:center;
}
:where(.contact-page) .contact-ready {
  border-top:1px solid var(--line);
  padding-top:22px;
}
:where(.contact-page) .contact-ready h3 {
  font-size:25px;
}
:where(.contact-page) .contact-ready>p {
  font-size:13px;
  line-height:1.7;
  margin:14px 0;
}
:where(.contact-page) .contact-ready pre {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  background:var(--soft);
  padding:16px;
  font:inherit;
  font-size:12px;
  line-height:1.8;
  max-height:350px;
  overflow:auto;
}
:where(.contact-page) .contact-edit {
  border:0;
  background:none;
  text-decoration:underline;
  text-underline-offset:4px;
  min-height:44px;
  font-size:12px;
  margin-top:12px;
  padding:0;
}
:where(.contact-page) .contact-ready h3:focus {
  outline:2px solid var(--blue-ink);
  outline-offset:5px;
}
:where(.contact-page) .contact-routes {
  background:var(--black);
  color:white;
  padding-block:40px 47px;
}
:where(.contact-page) .contact-routes-heading {
  display:flex;
  justify-content:space-between;
  gap:25px;
  align-items:center;
  margin-bottom:30px;
}
:where(.contact-page) .contact-routes h2 {
  font-size:23px;
  font-weight:500;
}
:where(.contact-page) .contact-routes-heading>p {
  font-size:12px;
  color:#c6d0d7;
}
:where(.contact-page) .contact-route-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:30px;
}
:where(.contact-page) .contact-route-grid>a {
  border-top:1px solid #ffffff40;
  padding-top:18px;
}
:where(.contact-page) .contact-route-label {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:10px;
  color:#c6d0d7;
}
:where(.contact-page) .contact-route-label b {
  font-size:26px;
  color:#41c4ef;
  font-weight:300;
}
:where(.contact-page) .contact-route-grid strong {
  font-weight:450;
  font-size:clamp(16px,1.7vw,25px);
  letter-spacing:-.035em;
  display:block;
  margin-top:15px;
  overflow-wrap:anywhere;
}
:where(.contact-page) .contact-route-grid>a:hover strong {
  color:#41c4ef;
}
:where(.contact-page) .contact-closing {
  background:var(--blue);
  color:#10232b;
}
:where(.contact-page) .contact-closing-grid {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:12%;
  align-items:center;
}
:where(.contact-page) .contact-closing h2 {
  font-size:clamp(35px,4.7vw,68px);
  line-height:1.1;
}
:where(.contact-page) .contact-closing h2>span {
  color:white;
}
:where(.contact-page) .contact-closing p {
  font-size:15px;
  line-height:1.85;
}
:where(.contact-page) .contact-closing .text-link {
  margin-top:18px;
  font-size:13px;
}
@media(max-width:1100px) {
  :where(.contact-page) .contact-grid {
    gap:5%;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  }
  :where(.contact-page) .contact-form-panel {
    padding:27px;
  }
  :where(.contact-page) .contact-form-heading h2 {
    font-size:25px;
  }
  :where(.contact-page) .contact-form-heading>span {
    width:48px;
    height:48px;
  }
  :where(.contact-page) .contact-fields {
    gap:18px 12px;
  }
  :where(.contact-page) .contact-field label {
    font-size:10px;
  }
  :where(.contact-page) .contact-footer-top {
    flex-wrap:wrap;
  }
}
@media(max-width:760px) {
  .contact-page .main-nav .nav-contact {
    padding-inline:18px;
    margin-top:15px;
    justify-content:space-between;
  }
  :where(.contact-page) .contact-intro {
    padding-block:33px 45px;
  }
  :where(.contact-page) .contact-grid {
    grid-template-columns:minmax(0,1fr);
    gap:34px;
  }
  :where(.contact-page) .contact-welcome {
    padding:0;
  }
  :where(.contact-page) .contact-welcome>.eyebrow {
    font-size:9px;
  }
  :where(.contact-page) .contact-welcome h1 {
    font-size:clamp(83px,21vw,130px);
    margin:16px 0 22px;
  }
  :where(.contact-page) .contact-welcome h2 {
    font-size:33px;
    max-width:470px;
  }
  :where(.contact-page) .contact-welcome h2>span {
    display:inline;
  }
  :where(.contact-page) .contact-lead {
    font-size:14px;
    line-height:1.8;
    margin-top:20px;
  }
  :where(.contact-page) .contact-note {
    margin-top:24px;
    padding-top:20px;
    max-width:none;
  }
  :where(.contact-page) .contact-note p {
    font-size:11px;
  }
  :where(.contact-page) .contact-spark {
    font-size:47px;
  }
  :where(.contact-page) .contact-note-arrow {
    font-size:42px;
  }
  :where(.contact-page) .contact-form-panel {
    padding:25px;
    box-shadow:6px 6px 0 #0099cc22;
    scroll-margin-top:90px;
  }
  :where(.contact-page) .contact-form-heading h2 {
    font-size:26px;
  }
  :where(.contact-page) .contact-form-intro {
    margin-block:20px;
  }
  :where(.contact-page) .contact-fields {
    grid-template-columns:minmax(0,1fr);
    gap:18px;
  }
  :where(.contact-page) .contact-field label {
    font-size:12px;
  }
  :where(.contact-page) .contact-field label>span {
    font-size:10px;
  }
  :where(.contact-page) .contact-field input,
:where(.contact-page) .contact-field select,
:where(.contact-page) .contact-field textarea {
    font-size:16px;
  }
  :where(.contact-page) .contact-consent {
    font-size:11px;
  }
  :where(.contact-page) .contact-delivery-note {
    font-size:11px;
  }
  :where(.contact-page) .contact-routes {
    padding-block:34px;
  }
  :where(.contact-page) .contact-routes-heading {
    display:block;
    margin-bottom:25px;
  }
  :where(.contact-page) .contact-routes h2 {
    font-size:24px;
  }
  :where(.contact-page) .contact-routes-heading>p {
    margin-top:13px;
  }
  :where(.contact-page) .contact-route-grid {
    grid-template-columns:minmax(0,1fr);
    gap:26px;
  }
  :where(.contact-page) .contact-route-grid strong {
    font-size:23px;
    margin-top:9px;
  }
  :where(.contact-page) .contact-closing-grid {
    grid-template-columns:minmax(0,1fr);
    gap:25px;
  }
  :where(.contact-page) .contact-closing h2 {
    font-size:39px;
    max-width:520px;
  }
  :where(.contact-page) .contact-closing p {
    font-size:14px;
  }
  :where(.contact-page) .contact-footer {
    padding-block:40px 30px;
  }
  :where(.contact-page) .contact-footer-top {
    display:block;
  }
  :where(.contact-page) .contact-contact-links {
    margin-top:23px;
    gap:8px 22px;
  }
  :where(.contact-page) .contact-footer-social {
    margin-top:10px;
  }
  :where(.contact-page) .contact-signoff {
    line-height:1.7;
  }
  :where(.contact-page) .contact-footer .legal {
    padding-right:0;
  }
}
@media(max-width:390px) {
  :where(.contact-page) .contact-form-panel {
    padding:20px;
  }
  :where(.contact-page) .contact-form-heading {
    gap:12px;
  }
  :where(.contact-page) .contact-form-heading h2 {
    font-size:23px;
  }
  :where(.contact-page) .contact-form-heading>span {
    width:42px;
    height:42px;
    font-size:34px;
  }
  :where(.contact-page) .contact-welcome h2 {
    font-size:30px;
  }
  :where(.contact-page) .contact-closing h2 {
    font-size:34px;
  }
  :where(.contact-page) .contact-welcome .text-link {
    font-size:11px;
    gap:10px;
  }
}
