@import url("../brand/design-tokens.css?ver=1.6.0");

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6.5rem; }
body { margin: 0; padding-top: 5.5rem; overflow-x: clip; color: var(--allty-text); background: #fff; font-family: var(--allty-font-family); line-height: 1.6; -webkit-font-smoothing: antialiased; }
button, input, select { font: inherit; }
button, summary { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
img { display: block; max-width: 100%; height: auto; }
svg { width: 1.25rem; height: 1.25rem; }
a { color: inherit; }

:focus-visible { outline: 3px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 5px var(--allty-focus); }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 0.5rem; left: 0.5rem; z-index: 100; padding: 0.7rem 1rem; transform: translateY(-150%); color: #fff; background: var(--allty-blue-dark); border-radius: 0.5rem; font-weight: 700; }
.skip-link:focus { transform: translateY(0); }
.container { width: min(calc(100% - 2rem), 75rem); margin-inline: auto; }

.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 20; border-bottom: 1px solid rgba(22,65,148,.09); background: rgba(255,255,255,.96); backdrop-filter: blur(14px); }
.header-inner { min-height: 5.5rem; display: flex; align-items: center; gap: 2rem; }
.brand { margin-right: auto; }
.brand img { width: 10.8rem; }
.main-nav { display: flex; align-items: center; gap: 1.75rem; }
.main-nav a { min-height: 2.75rem; display: inline-flex; align-items: center; color: var(--allty-text); font-size: .9rem; font-weight: 650; text-decoration: none; }
.main-nav a:hover { color: var(--allty-blue-dark); text-decoration: underline; text-underline-offset: .3rem; }
.menu-toggle { display: none; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid var(--allty-border); border-radius: .65rem; color: var(--allty-blue-dark); background: #fff; }

.button { min-height: 3.25rem; display: inline-flex; align-items: center; justify-content: center; gap: .65rem; padding: .8rem 1.25rem; border: 2px solid transparent; border-radius: .7rem; font-weight: 750; text-decoration: none; transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease; }
.button:hover { transform: translateY(-1px); box-shadow: var(--allty-shadow-sm); }
.button--primary { color: #fff; background: var(--allty-blue-dark); }
.button--primary:hover { background: #0e3379; }
.button--secondary { color: #fff; border-color: var(--allty-success); background: var(--allty-success); }
.button--secondary:hover { border-color: #007c30; background: #007c30; }
.button--light { color: var(--allty-blue-dark); background: #fff; }
.button--block { width: 100%; }
.header-cta { min-height: 2.8rem; padding: .65rem 1rem; font-size: .85rem; }

.hero { position: relative; overflow: hidden; background: radial-gradient(circle at 80% 15%, rgba(0,165,232,.2), transparent 32%), linear-gradient(180deg,#fff 0%,#f4fafe 100%); }
.hero::before { content: ""; position: absolute; inset: auto -8rem -12rem auto; width: 30rem; height: 30rem; border-radius: 50%; border: 5rem solid rgba(187,233,52,.08); }
.hero-grid { height: clamp(43rem,calc(100vh - 5.5rem),49rem); min-height: 43rem; display: grid; grid-template-columns: minmax(0,1fr) minmax(22rem,.92fr); align-items: center; gap: clamp(2rem,5vw,4rem); padding-block: 3.25rem 5.5rem; }
.hero-copy { position: relative; z-index: 2; min-width: 0; }
.eyebrow { margin: 0 0 .65rem; color: var(--allty-green-readable); font-size: .82rem; font-weight: 800; letter-spacing: .095em; text-transform: uppercase; }
.eyebrow--light { color: var(--allty-lime); }
h1,h2,h3 { margin-top: 0; color: var(--allty-blue-dark); line-height: 1.12; }
h1 { max-width: 13ch; margin-bottom: 1.25rem; font-size: clamp(2.4rem,5.4vw,4.7rem); letter-spacing: -.052em; }
h1 span { color: var(--allty-blue-readable); }
h2 { margin-bottom: .7rem; font-size: clamp(1.75rem,3.4vw,2.65rem); letter-spacing: -.035em; }
h3 { margin-bottom: .5rem; font-size: 1.15rem; }
.hero-lead { max-width: 34rem; margin: 0; color: var(--allty-text-muted); font-size: clamp(1rem,1.6vw,1.22rem); }
.action-row { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.hero-copy .action-row { display: grid; grid-template-columns: repeat(2,minmax(0,15.2rem)); }
.hero-copy .action-row .button { width: 100%; min-width: 0; }
.trust-list { display: flex; flex-wrap: wrap; gap: 1.75rem; margin: 2.25rem 0 0; padding: 0; list-style: none; }
.trust-list li { display: flex; align-items: center; gap: .65rem; color: var(--allty-text-muted); font-size: .8rem; font-weight: 600; line-height: 1.35; }
.trust-list svg { width: 1.9rem; height: 1.9rem; color: var(--allty-blue-dark); }
.hero-media { position: relative; min-height: 28rem; display: grid; place-items: end center; overflow: hidden; border-radius: 1.6rem; background: #eaf7fc; box-shadow: 0 1.5rem 4rem rgba(22,65,148,.17); isolation: isolate; }
.hero-media img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center bottom; }
.hero-media::after { content: ""; position: absolute; top: 0; right: 0; width: 45%; height: 28%; z-index: 1; background: linear-gradient(135deg,#edf9fd 0%,#eef9fd 100%); clip-path: polygon(24% 0,100% 0,100% 100%,0 100%); }
.hero-mark { position: absolute; right: -4.5rem; top: -4.5rem; z-index: 2; width: 14rem; height: 14rem; opacity: .11; border: 2.2rem solid var(--allty-lime); border-radius: 48% 52% 62% 38%; transform: rotate(25deg); }
.hero-media--gallery { padding: clamp(1rem,3vw,2rem); background: linear-gradient(145deg,#eef9fe,#d8effa); }
.hero-media--gallery::after { display: none; }
.hero-gallery { width: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; position: relative; z-index: 3; }
.hero-gallery figure { min-width: 0; margin: 0; overflow: hidden; border: .35rem solid #fff; border-radius: 1rem; background: #fff; box-shadow: 0 .7rem 1.8rem rgba(22,65,148,.16); transform: translateY(1.5rem); }
.hero-gallery figure:nth-child(2) { transform: translateY(-1rem); }
.hero-gallery img { width: 100%; height: 14rem; position: static; object-fit: cover; }
.hero-gallery figcaption { padding: .7rem .55rem; color: var(--allty-blue-dark); font-size: .75rem; font-weight: 800; text-align: center; }
.hero-carousel-controls { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem 1rem; margin-top: -1rem; }

.hero--integrated .hero-grid { position: relative; grid-template-columns: 1fr; overflow: hidden; padding: clamp(3rem,6vw,5rem) clamp(1.25rem,4vw,3.5rem) 5.5rem; border-radius: 0 0 1.6rem 1.6rem; isolation: isolate; }
.hero--integrated .hero-grid::after { content: ""; position: absolute; inset: 0; z-index: 2; background: linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 40%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.28) 66%,rgba(255,255,255,0) 79%); pointer-events: none; }
.hero--integrated .hero-copy { z-index: 3; width: min(43rem,55%); }
.hero--integrated h1 { max-width: 18ch; font-size: clamp(2.4rem,4vw,3.8rem); }
.hero--integrated .hero-media { position: absolute; inset: 0; z-index: 1; min-height: 100%; border-radius: 0; box-shadow: none; }
.hero--integrated .hero-media img { object-fit: contain; object-position: center center; background: #eef8fc; }
.hero--integrated .hero-media::after { width: 35%; height: 25%; background: linear-gradient(135deg,rgba(237,249,253,.72),rgba(238,249,253,.9)); }
.hero--integrated .hero-carousel-controls { position: absolute; left: 50%; bottom: 1.6rem; z-index: 4; margin-top: 0; transform: translateX(-50%); }
.hero-arrows { display: flex; gap: .45rem; }
.hero-arrows button { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border: 1px solid var(--allty-border); border-radius: 50%; color: var(--allty-blue-dark); background: #fff; }
.hero-arrows button:hover { color: #fff; border-color: var(--allty-blue-dark); background: var(--allty-blue-dark); }
.hero-dots { display: flex; gap: .1rem; }
.hero-dots button { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: transparent; }
.hero-dots button::before { content: ""; width: .7rem; height: .7rem; border-radius: 50%; background: #8297a8; }
.hero-dots button[aria-current="true"]::before { width: 1.8rem; border-radius: 1rem; background: var(--allty-green-readable); }
.hero-autoplay { min-height: 2.75rem; padding: .55rem .75rem; border: 1px solid var(--allty-border); border-radius: 1.4rem; color: var(--allty-blue-dark); background: #fff; font-size: .75rem; font-weight: 700; }
.hero-autoplay:hover { color: #fff; border-color: var(--allty-blue-dark); background: var(--allty-blue-dark); }

.section { padding-block: clamp(4.5rem,8vw,7rem); }
.product-section--soft { background: linear-gradient(180deg,#f3f9fd,#eaf5fc); }
.section-heading { max-width: 48rem; margin-bottom: 2rem; }
.section-heading p:last-child, .service-intro>p:last-child, .faq-grid>div>p:last-child { margin: 0; color: var(--allty-text-muted); }
.section-heading--with-controls { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.carousel-controls { display: flex; gap: .6rem; flex: 0 0 auto; }
.carousel-controls button { width: 3rem; height: 3rem; display: grid; place-items: center; border: 1px solid var(--allty-border); border-radius: 50%; color: var(--allty-blue-dark); background: #fff; box-shadow: var(--allty-shadow-sm); }
.carousel-controls button:hover:not(:disabled) { color: #fff; border-color: var(--allty-blue-dark); background: var(--allty-blue-dark); }
.carousel-controls button:disabled { opacity: .35; cursor: default; box-shadow: none; }
.carousel-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2rem) / 3); gap: 1rem; overflow-x: auto; padding: .25rem .15rem 1.5rem; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: rgba(22,65,148,.35) transparent; }
.product-card { min-width: 0; display: flex; flex-direction: column; overflow: hidden; scroll-snap-align: start; border: 1px solid rgba(22,65,148,.1); border-radius: 1rem; background: #fff; box-shadow: 0 .5rem 1.8rem rgba(22,65,148,.09); }
.product-card__media { aspect-ratio: 16/9; display: grid; place-items: center; overflow: hidden; background: var(--allty-gradient-blue); }
.product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .28s ease; }
.product-card:hover .product-card__media img { transform: scale(1.025); }
.product-card__icon { width: 5rem; height: 5rem; display: grid; place-items: center; border-radius: 50%; color: #fff; background: rgba(255,255,255,.14); box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); }
.product-card__icon svg { width: 2.8rem; height: 2.8rem; }
.product-card__body { flex: 1; display: flex; flex-direction: column; padding: 1.25rem; }
.product-card__body p { margin: 0 0 1.4rem; color: var(--allty-text-muted); font-size: .95rem; }
.product-card__actions { display: flex; align-items: stretch; gap: .6rem; margin-top: auto; }
.card-action { flex: 1; min-height: 3rem; display: inline-flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .65rem .8rem; border: 0; border-radius: .55rem; color: #fff; background: var(--allty-blue-dark); font-size: .82rem; font-weight: 750; }
.card-action:hover { background: #0e3379; }
.card-chat { width: 3rem; min-width: 3rem; display: grid; place-items: center; border: 2px solid var(--allty-success); border-radius: .55rem; color: var(--allty-success); background: #fff; }
.card-chat:hover { color: #fff; background: var(--allty-success); }

.service-section { background: #fff; }
.service-grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(30rem,1.2fr); gap: clamp(3rem,8vw,7rem); align-items: center; }
.service-intro>img { width: 4.5rem; margin-bottom: 1.25rem; }
.steps { display: grid; gap: 1.1rem; margin: 0; padding: 0; list-style: none; counter-reset: steps; }
.steps li { display: grid; grid-template-columns: 3.4rem 1fr; gap: 1rem; align-items: center; padding: 1.2rem; border: 1px solid var(--allty-border); border-radius: 1rem; background: #fff; box-shadow: var(--allty-shadow-sm); }
.steps li>span { width: 3.2rem; height: 3.2rem; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--allty-gradient-blue); font-weight: 800; }
.steps h3, .steps p { margin: 0; }
.steps p { color: var(--allty-text-muted); font-size: .9rem; }

.faq-section { background: var(--allty-surface-soft); }
.faq-grid { display: grid; grid-template-columns: minmax(16rem,.65fr) minmax(28rem,1.35fr); gap: clamp(3rem,8vw,7rem); }
.faq-list { display: grid; gap: .75rem; }
.faq-list details { border: 1px solid var(--allty-border); border-radius: .8rem; background: #fff; }
.faq-list summary { padding: 1.2rem 3.2rem 1.2rem 1.2rem; position: relative; color: var(--allty-blue-dark); font-weight: 700; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 1.2rem; top: 50%; transform: translateY(-50%); color: var(--allty-green); font-size: 1.5rem; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: 0; padding: 0 1.2rem 1.2rem; color: var(--allty-text-muted); }

.contact-section { padding-block: clamp(4rem,8vw,6rem); color: #fff; background: radial-gradient(circle at 15% 10%,rgba(0,165,232,.38),transparent 35%), var(--allty-blue-dark); }
.contact-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(24rem,1.1fr); gap: clamp(3rem,8vw,7rem); align-items: center; }
.contact-section h2 { color: #fff; }
.contact-section p { color: rgba(255,255,255,.82); }
.text-button { min-height: 2.75rem; display: inline-flex; align-items: center; gap: .6rem; margin-top: 1rem; padding: .55rem; border: 0; color: #fff; background: transparent; font-weight: 750; text-decoration: underline; text-underline-offset: .25rem; }
.contact-actions { width: min(100%,28rem); justify-self: end; }
.contact-actions .text-button { width: 100%; justify-content: center; }
.contact-form { padding: clamp(1.25rem,3vw,2rem); border-radius: 1rem; color: var(--allty-text); background: #fff; box-shadow: 0 1.5rem 4rem rgba(4,20,56,.25); }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.field { margin-bottom: 1rem; }
.field label { display: block; margin-bottom: .4rem; font-size: .875rem; font-weight: 750; }
.field input, .field select { width: 100%; min-height: 3.2rem; padding: .7rem .8rem; border: 1px solid #adc2d3; border-radius: .55rem; color: var(--allty-text); background: #fff; }
.field input::placeholder { color: #74879a; }
.form-note { margin: .75rem 0 0; color: var(--allty-text-muted) !important; font-size: .72rem; text-align: center; }

.lead-dialog { width: min(42rem,calc(100% - 1.5rem)); max-height: calc(100dvh - 1.5rem); padding: 0; overflow: auto; border: 0; border-radius: 1.15rem; color: var(--allty-text); background: #fff; box-shadow: 0 2rem 6rem rgba(4,20,56,.35); }
.lead-dialog::backdrop { background: rgba(5,22,52,.7); backdrop-filter: blur(4px); }
.lead-dialog__card { position: relative; padding: clamp(1.4rem,4vw,2.5rem); }
.lead-dialog__close { position: absolute; top: .8rem; right: .8rem; width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border: 0; border-radius: 50%; color: var(--allty-blue-dark); background: var(--allty-surface-soft); font-size: 1.6rem; line-height: 1; }
.lead-progress { width: min(16rem,70%); display: flex; align-items: center; margin: 0 auto 1.75rem; }
.lead-progress span { width: 2rem; height: 2rem; display: grid; place-items: center; flex: 0 0 auto; border: 2px solid #bccbd7; border-radius: 50%; color: #708396; background: #fff; font-size: .8rem; font-weight: 800; }
.lead-progress span.is-active { color: #fff; border-color: var(--allty-success); background: var(--allty-success); }
.lead-progress i { height: 2px; flex: 1; background: #d7e1e8; }
.lead-dialog h2 { margin-bottom: .4rem; }
.lead-dialog h2 + p { margin: 0 0 1.4rem; color: var(--allty-text-muted); }
.lead-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.lead-fields .field--full { grid-column: 1 / -1; }
.lead-dialog .field { display: block; }
.lead-dialog .field > span, .lead-dialog legend { display: block; margin-bottom: .4rem; color: var(--allty-text); font-size: .875rem; font-weight: 750; }
.lead-dialog .field input, .lead-dialog .field select { width: 100%; min-height: 3.2rem; padding: .7rem .8rem; border: 1px solid #adc2d3; border-radius: .55rem; color: var(--allty-text); background: #fff; }
.lead-dialog .field input:focus, .lead-dialog .field select:focus { border-color: var(--allty-blue-dark); }
.lead-honeypot { position: absolute; left: -10000px; }
.consent { display: flex; align-items: flex-start; gap: .65rem; margin: .9rem 0; color: var(--allty-text-muted); font-size: .875rem; line-height: 1.5; }
.consent input { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; margin-top: .1rem; accent-color: var(--allty-success); }
.consent a { color: var(--allty-blue-dark); font-weight: 700; }
.lead-dialog fieldset { margin: 0 0 1.2rem; padding: 0; border: 0; }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.choice-grid label { display: flex; align-items: center; gap: .55rem; padding: .8rem; border: 1px solid var(--allty-border); border-radius: .6rem; color: var(--allty-blue-dark); font-weight: 700; }
.choice-grid input { accent-color: var(--allty-green); }
.lead-alert { min-height: 1.3rem; margin: .5rem 0; color: #b42318; font-size: .78rem; font-weight: 650; }
.lead-later { width: 100%; margin-top: .7rem; padding: .5rem; border: 0; color: var(--allty-text-muted); background: transparent; text-decoration: underline; }
.lead-success { padding-block: 2rem; text-align: center; }
.lead-success > span { width: 4rem; height: 4rem; display: grid; place-items: center; margin: 0 auto 1rem; border-radius: 50%; color: #fff; background: var(--allty-success); font-size: 2rem; font-weight: 800; }
.lead-success .button { margin-top: 1.5rem; }

.site-footer { color: #fff; background: #0e2d69; }
.footer-main { min-height: 8rem; display: flex; align-items: center; gap: 3rem; }
.footer-main img { width: 10rem; margin-right: auto; }
.footer-main nav { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.footer-main a { min-height: 2.75rem; display: inline-flex; align-items: center; color: rgba(255,255,255,.9); font-size: .875rem; font-weight: 650; text-decoration: none; }
.footer-main a:hover { color: #fff; text-decoration: underline; text-underline-offset: .25rem; }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding-block: 1rem; border-top: 1px solid rgba(255,255,255,.12); }
.footer-bottom p { margin: 0; color: rgba(255,255,255,.75); font-size: .8125rem; }

.prototype-toast { position: fixed; left: 50%; bottom: 1.25rem; z-index: 50; max-width: min(34rem,calc(100% - 2rem)); padding: .9rem 1.1rem; transform: translate(-50%,calc(100% + 3rem)); border-radius: .7rem; color: #fff; background: #102844; box-shadow: 0 .8rem 2rem rgba(0,0,0,.25); font-size: .85rem; font-weight: 650; opacity: 0; transition: transform .22s ease, opacity .22s ease; }
.prototype-toast.is-visible { transform: translate(-50%,0); opacity: 1; }

.cookie-banner[hidden] { display: none; }
.cookie-banner { position: fixed; left: 50%; bottom: 1rem; z-index: 45; width: min(calc(100% - 2rem),68rem); display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 1.25rem 2rem; padding: 1.15rem 1.25rem; transform: translateX(-50%); border: 1px solid var(--allty-border); border-radius: 1rem; color: var(--allty-text); background: #fff; box-shadow: 0 1rem 3rem rgba(4,20,56,.22); }
.cookie-banner strong { display: block; margin-bottom: .2rem; color: var(--allty-blue-dark); }
.cookie-banner p { margin: 0; color: var(--allty-text-muted); font-size: .875rem; line-height: 1.55; }
.cookie-banner a { color: var(--allty-blue-dark); font-weight: 700; text-underline-offset: .2rem; }
.cookie-banner__actions { display: flex; gap: .65rem; }
.cookie-banner__actions .button { white-space: nowrap; }

@media (max-width: 62rem) {
  .header-inner { gap: 1rem; }
  .main-nav { gap: 1rem; }
  .header-cta { display: none; }
  .hero-grid { grid-template-columns: 1fr 1fr; }
  .hero--integrated .hero-grid { grid-template-columns: 1fr; }
  .hero--integrated .hero-copy { width: min(38rem,68%); }
  .carousel-track { grid-auto-columns: calc((100% - 1rem) / 2); }
}

@media (max-width: 48rem) {
  html { scroll-padding-top: 5.5rem; }
  body { padding-top: 4.75rem; }
  .header-inner { min-height: 4.75rem; }
  .brand img { width: 8.7rem; }
  .menu-toggle { display: grid; }
  .main-nav { position: absolute; top: calc(100% + .4rem); left: 1rem; right: 1rem; display: none; align-items: stretch; flex-direction: column; gap: 0; padding: .5rem; border: 1px solid var(--allty-border); border-radius: .9rem; background: #fff; box-shadow: var(--allty-shadow-md); }
  .main-nav.is-open { display: flex; }
  .main-nav a { padding: .85rem; border-radius: .55rem; }
  .main-nav a:hover { background: var(--allty-surface-soft); text-decoration: none; }
  .hero-grid { height: auto; min-height: auto; grid-template-columns: 1fr; padding-block: 3.5rem 4rem; }
  .hero-grid, .hero--integrated .hero-grid { width: 100%; max-width: 100%; }
  .hero-copy, .hero-lead { min-width: 0; max-width: 100%; overflow-wrap: break-word; }
  .hero-media { min-height: 23rem; }
  .hero-mark { right: 0; }
  .hero-carousel-controls { margin-top: -1rem; }
  .hero--integrated .hero-grid { min-height: 42rem; padding: 3rem 1rem 5.25rem; }
  .hero--integrated .hero-grid::after { background: linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.93) 50%,rgba(255,255,255,.38) 72%,rgba(255,255,255,.08) 100%); }
  .hero--integrated .hero-copy { align-self: start; width: 100%; }
  .hero-copy .action-row { grid-template-columns: 1fr; }
  .hero-copy .action-row .button { width: 100%; max-width: 100%; }
  .hero--integrated .hero-media { min-height: 100%; }
  .hero--integrated .hero-media img { object-fit: cover; object-position: 58% bottom; }
  .hero--integrated .hero-media img { object-fit: cover; object-position: 58% bottom; }
  .hero--integrated .trust-list { padding: .75rem; border: 1px solid rgba(22,65,148,.1); border-radius: .8rem; background: rgba(255,255,255,.94); box-shadow: var(--allty-shadow-sm); }
  .hero--integrated .hero-carousel-controls { position: relative; left: auto; bottom: auto; align-self: end; margin-top: 1rem; transform: none; }
  .trust-list { gap: 1rem; justify-content: space-between; }
  .trust-list li { flex: 1 1 8rem; }
  .section-heading--with-controls { align-items: center; }
  .carousel-track { grid-auto-columns: min(82%,20rem); padding-right: 1rem; }
  .service-grid, .faq-grid, .contact-grid { grid-template-columns: 1fr; }
  .service-grid, .faq-grid, .contact-grid { gap: 2.5rem; }
  .contact-actions { justify-self: start; }
  .footer-main { align-items: flex-start; flex-direction: column; gap: 1.5rem; padding-block: 2.5rem; }
  .footer-main img { margin-right: 0; }
  .footer-main nav { gap: 1rem 1.5rem; }
  .cookie-banner { grid-template-columns: 1fr; gap: 1rem; }
  .cookie-banner__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .cookie-banner__actions .button { width: 100%; padding-inline: .75rem; font-size: .78rem; white-space: normal; }
}

@media (max-width: 32rem) {
  .container { width: min(calc(100% - 1.25rem),75rem); }
  h1 { font-size: clamp(2.15rem,10.5vw,2.75rem); }
  .action-row { align-items: stretch; flex-direction: column; }
  .action-row .button { width: 100%; }
  .hero-copy .action-row .button { flex-basis: auto; }
  .hero-media { min-height: 19rem; }
  .hero-media img { object-position: 47% bottom; }
  .hero-gallery { gap: .4rem; }
  .hero-gallery figure { border-width: .2rem; border-radius: .65rem; }
  .hero-gallery img { height: 9rem; }
  .hero-gallery figcaption { padding: .5rem .2rem; font-size: .64rem; }
  .trust-list { display: grid; grid-template-columns: 1fr 1fr; }
  .section-heading--with-controls { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .carousel-controls { align-self: flex-end; }
  .carousel-track { grid-auto-columns: 88%; }
  .field-row { grid-template-columns: 1fr; gap: 0; }
  .lead-fields, .choice-grid { grid-template-columns: 1fr; }
  .lead-fields .field--full { grid-column: auto; }
  .footer-main nav, .footer-bottom { flex-direction: column; }
  .cookie-banner { bottom: .5rem; width: calc(100% - 1rem); padding: 1rem; }
  .cookie-banner__actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}


.admin-bar .site-header { top: 32px; }
.custom-logo-link img { width: 10.8rem; height: auto; }
.product-card__media--placeholder { color: #fff; font-weight: 800; }
.page-shell { min-height: 60vh; padding-block: 5rem; }

.privacy-page { background: #fff; }
.privacy-hero { overflow: hidden; background: radial-gradient(circle at 88% 10%,rgba(0,165,232,.2),transparent 28%),linear-gradient(180deg,#fff,#f1f8fc); }
.privacy-hero__inner { min-height: 25rem; display: flex; align-items: center; justify-content: space-between; gap: 3rem; padding-block: clamp(4rem,8vw,6.5rem); }
.privacy-hero__inner > div { max-width: 49rem; }
.privacy-hero h1 { max-width: 15ch; margin-bottom: 1.25rem; }
.privacy-hero__lead { max-width: 42rem; margin: 0; color: var(--allty-text-muted); font-size: clamp(1.05rem,1.7vw,1.3rem); }
.privacy-updated { margin: 1.5rem 0 0; color: var(--allty-blue-dark); font-size: .78rem; font-weight: 700; }
.privacy-hero__inner > img { width: clamp(6.5rem,12vw,9rem); height: auto; opacity: .92; }
.privacy-layout { display: grid; grid-template-columns: minmax(13rem,.32fr) minmax(0,1fr); align-items: start; gap: clamp(2.5rem,7vw,6rem); padding-block: clamp(4rem,8vw,7rem); }
.privacy-index { position: sticky; top: 8rem; display: grid; gap: .15rem; padding: 1.25rem; border: 1px solid var(--allty-border); border-radius: 1rem; background: var(--allty-surface-soft); }
.privacy-index strong { margin-bottom: .7rem; color: var(--allty-blue-dark); font-size: .86rem; }
.privacy-index a { padding: .55rem .65rem; border-radius: .45rem; color: var(--allty-text-muted); font-size: .78rem; font-weight: 650; text-decoration: none; }
.privacy-index a:hover, .privacy-index a:focus-visible { color: var(--allty-blue-dark); background: #fff; }
.privacy-content { max-width: 50rem; }
.privacy-content section { scroll-margin-top: 8rem; padding-bottom: 2.5rem; }
.privacy-content section + section { padding-top: 2.5rem; border-top: 1px solid var(--allty-border); }
.privacy-content h2 { margin-bottom: 1rem; font-size: clamp(1.55rem,3vw,2.1rem); }
.privacy-content p, .privacy-content li { color: var(--allty-text-muted); font-size: 1rem; line-height: 1.75; }
.privacy-content ul { display: grid; gap: .7rem; margin: 1.2rem 0 1.5rem; padding-left: 1.3rem; }
.privacy-content li::marker { color: var(--allty-green); }
.privacy-contact { margin: 1rem 0 3rem; padding: clamp(1.5rem,4vw,2.5rem) !important; border: 0 !important; border-radius: 1rem; background: var(--allty-surface-soft); }
.privacy-contact h2 { max-width: 25ch; }
.privacy-contact .button { margin-top: .5rem; }

.privacy-page { background: #fff; }
.privacy-hero { overflow: hidden; background: radial-gradient(circle at 88% 10%,rgba(0,165,232,.2),transparent 28%),linear-gradient(180deg,#fff,#f1f8fc); }
.privacy-hero__inner { min-height: 25rem; display: flex; align-items: center; justify-content: space-between; gap: 3rem; padding-block: clamp(4rem,8vw,6.5rem); }
.privacy-hero__inner > div { max-width: 49rem; }
.privacy-hero h1 { max-width: 15ch; margin-bottom: 1.25rem; }
.privacy-hero__lead { max-width: 42rem; margin: 0; color: var(--allty-text-muted); font-size: clamp(1.05rem,1.7vw,1.3rem); }
.privacy-updated { margin: 1.5rem 0 0; color: var(--allty-blue-dark); font-size: .78rem; font-weight: 700; }
.privacy-hero__inner > img { width: clamp(6.5rem,12vw,9rem); height: auto; opacity: .92; }
.privacy-layout { display: grid; grid-template-columns: minmax(13rem,.32fr) minmax(0,1fr); align-items: start; gap: clamp(2.5rem,7vw,6rem); padding-block: clamp(4rem,8vw,7rem); }
.privacy-index { position: sticky; top: 8rem; display: grid; gap: .15rem; padding: 1.25rem; border: 1px solid var(--allty-border); border-radius: 1rem; background: var(--allty-surface-soft); }
.privacy-index strong { margin-bottom: .7rem; color: var(--allty-blue-dark); font-size: .86rem; }
.privacy-index a { padding: .55rem .65rem; border-radius: .45rem; color: var(--allty-text-muted); font-size: .78rem; font-weight: 650; text-decoration: none; }
.privacy-index a:hover, .privacy-index a:focus-visible { color: var(--allty-blue-dark); background: #fff; }
.privacy-content { max-width: 50rem; }
.privacy-content section { scroll-margin-top: 8rem; padding-bottom: 2.5rem; }
.privacy-content section + section { padding-top: 2.5rem; border-top: 1px solid var(--allty-border); }
.privacy-content h2 { margin-bottom: 1rem; font-size: clamp(1.55rem,3vw,2.1rem); }
.privacy-content p, .privacy-content li { color: var(--allty-text-muted); font-size: 1rem; line-height: 1.75; }
.privacy-content ul { display: grid; gap: .7rem; margin: 1.2rem 0 1.5rem; padding-left: 1.3rem; }
.privacy-content li::marker { color: var(--allty-green); }
.privacy-contact { margin: 1rem 0 3rem; padding: clamp(1.5rem,4vw,2.5rem) !important; border: 0 !important; border-radius: 1rem; background: var(--allty-surface-soft); }
.privacy-contact h2 { max-width: 25ch; }
.privacy-contact .button { margin-top: .5rem; }

.privacy-page { background: #fff; }
.privacy-hero { overflow: hidden; background: radial-gradient(circle at 88% 10%,rgba(0,165,232,.2),transparent 28%),linear-gradient(180deg,#fff,#f1f8fc); }
.privacy-hero__inner { min-height: 25rem; display: flex; align-items: center; justify-content: space-between; gap: 3rem; padding-block: clamp(4rem,8vw,6.5rem); }
.privacy-hero__inner > div { max-width: 49rem; }
.privacy-hero h1 { max-width: 15ch; margin-bottom: 1.25rem; }
.privacy-hero__lead { max-width: 42rem; margin: 0; color: var(--allty-text-muted); font-size: clamp(1.05rem,1.7vw,1.3rem); }
.privacy-updated { margin: 1.5rem 0 0; color: var(--allty-blue-dark); font-size: .78rem; font-weight: 700; }
.privacy-hero__inner > img { width: clamp(6.5rem,12vw,9rem); height: auto; opacity: .92; }
.privacy-layout { display: grid; grid-template-columns: minmax(13rem,.32fr) minmax(0,1fr); align-items: start; gap: clamp(2.5rem,7vw,6rem); padding-block: clamp(4rem,8vw,7rem); }
.privacy-index { position: sticky; top: 8rem; display: grid; gap: .15rem; padding: 1.25rem; border: 1px solid var(--allty-border); border-radius: 1rem; background: var(--allty-surface-soft); }
.privacy-index strong { margin-bottom: .7rem; color: var(--allty-blue-dark); font-size: .86rem; }
.privacy-index a { padding: .55rem .65rem; border-radius: .45rem; color: var(--allty-text-muted); font-size: .78rem; font-weight: 650; text-decoration: none; }
.privacy-index a:hover, .privacy-index a:focus-visible { color: var(--allty-blue-dark); background: #fff; }
.privacy-content { max-width: 50rem; }
.privacy-content section { scroll-margin-top: 8rem; padding-bottom: 2.5rem; }
.privacy-content section + section { padding-top: 2.5rem; border-top: 1px solid var(--allty-border); }
.privacy-content h2 { margin-bottom: 1rem; font-size: clamp(1.55rem,3vw,2.1rem); }
.privacy-content p, .privacy-content li { color: var(--allty-text-muted); font-size: 1rem; line-height: 1.75; }
.privacy-content ul { display: grid; gap: .7rem; margin: 1.2rem 0 1.5rem; padding-left: 1.3rem; }
.privacy-content li::marker { color: var(--allty-green); }
.privacy-contact { margin: 1rem 0 3rem; padding: clamp(1.5rem,4vw,2.5rem) !important; border: 0 !important; border-radius: 1rem; background: var(--allty-surface-soft); }
.privacy-contact h2 { max-width: 25ch; }
.privacy-contact .button { margin-top: .5rem; }

.landing-header { border-bottom: 1px solid rgba(22,65,148,.1); background: #fff; }
.single-allty_campaign { padding-top: 0; }
.landing-header__inner { min-height: 5.25rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.landing-header .brand img { width: 10rem; }
.landing-header__contact { min-height: 2.8rem; padding: .65rem 1rem; border: 0; border-radius: .65rem; color: #fff; background: var(--allty-success); font-weight: 750; }
.campaign-hero { overflow: hidden; background: radial-gradient(circle at 85% 10%,rgba(0,165,232,.2),transparent 33%),linear-gradient(180deg,#fff,#f3f9fd); }
.campaign-hero__grid { min-height: 39rem; display: grid; grid-template-columns: minmax(0,1fr) minmax(24rem,.95fr); align-items: center; gap: clamp(2.5rem,6vw,5rem); padding-block: clamp(3.5rem,7vw,6rem); }
.campaign-hero h1 { max-width: 14ch; }
.campaign-lead { max-width: 37rem; margin: 0; color: var(--allty-text-muted); font-size: clamp(1.05rem,1.7vw,1.3rem); }
.campaign-hero__media { min-height: 29rem; overflow: hidden; border-radius: 1.4rem; background: #e5f4fb; box-shadow: 0 1.5rem 4rem rgba(22,65,148,.16); }
.campaign-hero__media img { width: 100%; height: 100%; min-height: 29rem; object-fit: cover; }
.campaign-trust { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; margin: 2rem 0 0; padding: 0; color: var(--allty-text-muted); font-size: .78rem; font-weight: 650; list-style: none; }
.campaign-trust li::before { content: "✓"; margin-right: .45rem; color: var(--allty-green); font-weight: 900; }
.campaign-section { padding-block: clamp(4rem,8vw,6.5rem); }
.campaign-heading { max-width: 44rem; margin-bottom: 2rem; }
.campaign-benefit-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.campaign-benefit-grid article { padding: 1.5rem; border: 1px solid var(--allty-border); border-radius: 1rem; background: #fff; box-shadow: var(--allty-shadow-sm); }
.campaign-benefit-grid span { width: 2.5rem; height: 2.5rem; display: grid; place-items: center; margin-bottom: 1rem; border-radius: 50%; color: #fff; background: var(--allty-gradient-blue); font-weight: 800; }
.campaign-benefit-grid h3 { margin: 0; }
.campaign-about { background: var(--allty-surface-soft); }
.campaign-about__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(22rem,.85fr); align-items: center; gap: clamp(3rem,8vw,7rem); }
.campaign-about__grid > img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 1.2rem; box-shadow: var(--allty-shadow-md); }
.campaign-copy { margin-bottom: 1.5rem; color: var(--allty-text-muted); }
.campaign-steps { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.campaign-steps li { display: flex; align-items: center; gap: 1rem; padding: 1rem; border-radius: .8rem; background: #fff; color: var(--allty-blue-dark); font-weight: 750; box-shadow: var(--allty-shadow-sm); }
.campaign-steps span { width: 2.75rem; height: 2.75rem; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; color: #fff; background: var(--allty-success); }
.campaign-faq__grid { display: grid; grid-template-columns: minmax(15rem,.7fr) minmax(25rem,1.3fr); gap: clamp(3rem,8vw,7rem); }
.campaign-final { padding-block: clamp(4rem,8vw,6rem); color: #fff; background: radial-gradient(circle at 20% 10%,rgba(0,165,232,.35),transparent 35%),var(--allty-blue-dark); text-align: center; }
.campaign-final h2 { color: #fff; }
.campaign-final p:not(.eyebrow) { color: rgba(255,255,255,.82); }
.campaign-final .action-row { justify-content: center; }
.landing-footer { padding-block: 2rem; color: #fff; background: #0e2d69; }
.landing-footer__inner { display: flex; align-items: center; gap: 2rem; }
.landing-footer img { width: 9rem; margin-right: auto; }
.landing-footer p { margin: 0; color: rgba(255,255,255,.65); font-size: .75rem; }
.landing-footer a { color: #fff; font-size: .75rem; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

@media (max-width: 48rem) {
  .landing-header__inner { min-height: 4.75rem; }
  .landing-header .brand img { width: 8.5rem; }
  .landing-header__contact { padding-inline: .75rem; font-size: .75rem; }
  .campaign-hero__grid, .campaign-about__grid, .campaign-faq__grid { grid-template-columns: 1fr; }
  .campaign-hero__grid { min-height: auto; padding-block: 3rem; }
  .campaign-hero__media, .campaign-hero__media img { min-height: 20rem; }
  .campaign-benefit-grid { grid-template-columns: 1fr; }
  .landing-footer__inner { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .landing-footer img { margin-right: 0; }
  .privacy-hero__inner { min-height: auto; align-items: flex-start; padding-block: 3.5rem; }
  .privacy-hero__inner > img { width: 5rem; }
  .privacy-layout { grid-template-columns: 1fr; gap: 2.5rem; padding-block: 3.5rem; }
  .privacy-index { position: static; grid-template-columns: 1fr 1fr; }
  .privacy-index strong { grid-column: 1 / -1; }
  .privacy-content section { scroll-margin-top: 6rem; }
}

@media (max-width: 32rem) {
  .privacy-hero__inner > img { display: none; }
  .privacy-index { grid-template-columns: 1fr; }
  .privacy-index strong { grid-column: auto; }
  .privacy-contact .button { width: 100%; padding-inline: .75rem; font-size: .77rem; }
}
