[hidden] {display:none!important;}
html {overflow-x:clip;}
body {overflow-wrap:break-word;}
.section-head {min-width:0;}
.section-head>* {min-width:0;}
.section-head h2, .faq h2, .contact h2 {text-wrap:balance;}
.gallery-actions {flex-wrap:wrap;}
.gallery-grid[hidden], .google-reviews[hidden] {display:none!important;}
.privacy-consent {display:grid!important; grid-template-columns:auto 1fr; align-items:start; gap:10px!important; margin:18px 0 4px!important; font-size:14px!important; font-weight:500!important; line-height:1.65;}
.privacy-consent input {width:17px!important; min-height:17px!important; margin:2px 0 0; padding:0; accent-color:var(--red);}
.privacy-consent a {color:#fff; text-decoration:underline; text-underline-offset:3px;}
.footer-bottom {align-items:center;}
.footer-bottom a {white-space:nowrap;}
@media(min-width:1101px) {
  .header .menu-button {display:none!important;}
  .header .nav {display:flex!important;}
}
body .hero-arrows button, body .campaign-controls button {min-width:44px; min-height:44px; width:44px; height:44px;}
body .hero-arrows {flex-shrink:0;}
body .hero-controls {gap:12px;}
body .icon-close, body .chat-head button {min-width:44px; min-height:44px;}
body .hero-arrow-controls {justify-content:flex-end; pointer-events:none;}
body .hero-arrow-controls button {pointer-events:auto;}
body .hero-arrow-controls .hero-arrows {margin-right:0;}
@media(min-width:851px) {
  body .hero-arrow-controls {top:var(--hero-arrows-top,65%); bottom:auto;}
}
body .hero-arrows {gap:6px; margin-right:0;}
@media(max-width:610px) {
  body .hero-slide {background-image:var(--slide-image-mobile,var(--slide-image));}
}
body .maplibregl-ctrl-group button {min-width:44px; min-height:44px;}

@media(max-width:1100px) {
  .header .nav {display:none!important;}
  .header .menu-button {display:flex!important;}
}
@media(max-width:850px) {
  .section-head {margin-bottom:32px;}
  .footer-bottom {align-items:flex-start; flex-wrap:wrap;}
}
@media(max-width:610px) {
  .section-head h2, .faq h2, .contact h2 {line-height:.96; overflow-wrap:anywhere; word-break:normal;}
  .google-reviews h2 {line-height:1.02; word-break:normal;}
  .service-content h3 {font-size:36px!important;}
  .gallery-actions {align-items:flex-start; flex-direction:column;}
  .gallery-actions .inline-link {margin-top:0;}
  .footer-bottom {padding-bottom:88px;}
}
* {box-sizing:border-box;}
html {scroll-behavior:smooth;}
body {margin:0; font:16px/1.55 Inter,"Segoe UI",Arial,sans-serif; overflow-x:hidden;}
body.modal-open {overflow:hidden;}
a {color:inherit; text-decoration:none;}
button, input, select, textarea {font:inherit;}
button {cursor:pointer;}
img {max-width:100%; display:block;}
.container {margin-inline:auto;}
.skip {position:absolute; top:-100px; left:12px; background:#fff; color:#111; padding:12px; z-index:1000;}
.skip:focus {top:12px;}
.visually-hidden {position:absolute; width:1px; height:1px; clip:rect(0,0,0,0); overflow:hidden;}
h1, h2, h3, p {margin-top:0;}
h1, h2, h3 {letter-spacing:-.055em; line-height:1.05;}
h1, h2 {font-weight:650;}
em {font-family:Georgia,"Times New Roman",serif; font-weight:400; letter-spacing:-.065em;}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {outline:2px solid #ff6d5a; outline-offset:3px;}
.header {height:76px; position:sticky; top:0;}
.navrow {height:100%; display:flex; align-items:center;}
.brand {display:flex; align-items:center; flex:none;}
.nav {display:flex; margin:auto; font-size:13px; font-weight:650;}
.nav a {transition:color .2s;}
.nav a:hover {color:var(--red);}
.nav-book {padding:12px 18px; font-weight:750; font-size:13px; white-space:nowrap;}
.nav-book:hover, .btn-primary:hover {transform:translateY(-2px);}
.nav-book span {margin-left:16px;}
.mobile-nav {display:none;}
.hero {min-height:min(780px,calc(100svh - 106px)); position:relative; isolation:isolate; display:flex; align-items:center;}
.kicker, .index-label {font-size:11px; font-weight:800; margin-bottom:25px;}
.kicker {color:#d7dfdf; display:flex; align-items:center; gap:12px;}
.hero h1 {font-size:clamp(64px,7.2vw,118px); margin:0 0 30px; max-width:920px;}
.hero h1 em {color:#f6f7f7;}
.hero-cta {display:flex; flex-wrap:wrap;}
.contact-actions {display:flex; gap:12px; flex-wrap:wrap;}
.btn {display:inline-flex; align-items:center; justify-content:space-between; gap:30px; border-radius:4px; padding:13px 20px; border:1px solid transparent; font-size:13px; font-weight:750; line-height:1.3; transition:transform .2s,background .2s,border-color .2s;}
.signal-strip {display:flex; align-items:center; font-weight:900; white-space:nowrap;}
.signal-strip div {min-width:max-content; animation:marquee 26s linear infinite;}
.signal-strip b {font-size:13px;}
.section-head {display:grid; grid-template-columns:1.5fr 1fr; gap:55px; align-items:end; margin-bottom:46px;}
.section-head h2, .faq h2, .contact h2 {font-size:clamp(48px,5.6vw,86px); margin:0;}
.section-head>p {max-width:470px; color:#69757a; font-size:18px; margin:0 0 7px;}
.faq-grid>div>p:last-child {max-width:470px; font-size:18px; margin:0 0 7px;}
.service-grid {display:grid;}
.service-card {height:570px; position:relative; overflow:hidden; background:#202c30; color:#fff;}
.service-card img {width:100%; height:100%; object-fit:cover; transition:transform .7s;}
.service-card:hover img {transform:scale(1.045);}
.service-shade {position:absolute; inset:0;}
.service-content {position:absolute; bottom:35px; left:35px; right:35px;}
.service-content>span {font-size:11px; font-weight:800;}
.service-content h3 {font-size:clamp(35px,3.6vw,56px); margin:10px 0;}
.service-content p {color:#d6dfe0; line-height:1.45;}
.service-content button {border:0; border-bottom:1px solid #edf2f1; padding:0 0 6px; background:none; color:#fff; font-size:13px; font-weight:750;}
.service-content button span {margin-left:20px;}
.technology {position:relative; overflow:hidden;}
.technology:after {content:""; position:absolute; width:560px; height:560px; right:-220px; top:-240px; border:1px solid #3c5359; border-radius:50%; box-shadow:0 0 0 90px #18272b55,0 0 0 180px #18272b33; pointer-events:none;}
.inline-link {display:inline-block; border-bottom:1px solid #b9c5c7; padding-bottom:7px; font-size:13px; font-weight:750; margin-top:20px;}
.inline-link span {color:var(--red); margin-left:15px;}
.steps {display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:55px 0 35px;}
.steps article {border-top:1px solid #aebbb9; padding-top:23px;}
.steps article span {font-size:12px; letter-spacing:.15em; font-weight:800;}
.steps article h3 {font-size:27px; margin:32px 0 12px;}
.steps article p {max-width:300px;}
.faq-grid {display:grid; grid-template-columns:1fr 1fr; gap:80px;}
.faq-grid>div>p:last-child {margin-top:24px;}
.faq-list {border-top:1px solid #c5ceca;}
.faq details {border-bottom:1px solid #c5ceca;}
.faq summary {list-style:none; cursor:pointer; padding:23px 0; font-size:17px; font-weight:750; display:flex; justify-content:space-between; gap:20px;}
.faq summary::-webkit-details-marker {display:none;}
.faq summary span {font-size:25px; line-height:1; transition:transform .2s;}
.faq details[open] summary span {transform:rotate(45deg);}
.faq details p {line-height:1.6; margin:0; padding:0 35px 23px 0;}
.contact {position:relative; overflow:hidden;}
.contact:before {content:""; position:absolute; inset:0; pointer-events:none;}
.contact-grid {display:grid; grid-template-columns:1.2fr .8fr; gap:80px; position:relative;}
.contact h2 {margin-bottom:24px;}
.contact-grid>div>p:not(.index-label) {font-size:18px; max-width:450px;}
.contact-actions {margin-top:30px;}
.contact-card {padding:35px; display:flex; flex-direction:column; align-items:flex-start; min-height:370px;}
.contact-card>span {font-size:11px; letter-spacing:.17em; font-weight:850; margin-bottom:22px;}
.contact-card address {font-style:normal; font-size:22px; line-height:1.4; margin-bottom:15px;}
.contact-card a {font-size:14px; font-weight:650; margin-top:7px;}
.contact-card a:hover {color:#ff735e;}
.contact-divider {height:1px; width:100%; margin:25px 0;}
.footer-main {display:grid; grid-template-columns:2fr 1fr 1fr; gap:50px; padding:75px 0;}
.footer-logo {font-size:24px; font-weight:950; letter-spacing:-.08em;}
.footer-logo span {font-weight:350; margin-left:3px;}
.footer-main p {font-size:14px; max-width:270px; margin-top:13px;}
.footer-main>div:not(:first-child) {display:flex; flex-direction:column; gap:9px; font-size:14px; color:#c3cdce;}
.footer-main>div>span {font-size:11px; letter-spacing:.15em; font-weight:800; margin-bottom:12px;}
.footer-bottom {border-top:1px solid #283339; display:flex; justify-content:space-between; gap:20px; padding:24px 0 34px; font-size:12px;}
.modal[hidden], .chat-panel[hidden], .mobile-nav[hidden] {display:none!important;}
.modal {position:fixed; inset:0; z-index:80; display:flex; justify-content:flex-end;}
.modal-backdrop {position:absolute; inset:0; background:#000b; backdrop-filter:blur(5px);}
.modal-panel {position:relative; width:min(100%,650px); height:100%; overflow-y:auto; padding:35px clamp(24px,4vw,55px) 50px; box-shadow:-25px 0 80px #0006; animation:slideIn .32s both;}
.modal-top {display:flex; align-items:start; justify-content:space-between; gap:15px;}
.modal-top .index-label {margin-bottom:13px;}
.modal h2 {font-size:clamp(34px,3.2vw,50px); margin:0;}
.icon-close {border:1px solid #b4c0bd; background:transparent; width:40px; height:40px; border-radius:50%; font-size:27px; line-height:1; flex:none;}
.chat-head button {border:1px solid #b4c0bd; background:transparent; border-radius:50%; line-height:1; flex:none;}
.modal-intro {margin:19px 0 25px;}
.form-grid {display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.modal label {display:flex; flex-direction:column; gap:7px; font-size:13px; font-weight:750; margin-bottom:16px;}
.modal input, .modal select, .modal textarea {width:100%; border:1px solid #bfcbc8; border-radius:4px; padding:10px 12px; font-size:15px;}
.modal textarea {resize:vertical;}
.form-note {font-size:12px; line-height:1.5;}
.form-submit {width:100%; margin-top:12px;}
.form-status {font-size:13px; margin:12px 0 0; min-height:20px;}
.chat-launch {position:fixed; z-index:50; color:#fff; padding:13px 19px; display:flex; gap:12px; align-items:center; font-size:13px; font-weight:800;}
.chat-panel {position:fixed; z-index:51; width:min(390px,calc(100vw - 30px)); height:min(550px,calc(100dvh - 115px)); box-shadow:0 20px 70px #0008; display:flex; flex-direction:column; overflow:hidden; animation:chatIn .25s both;}
.chat-head {color:#fff; padding:16px; display:flex; align-items:center; justify-content:space-between; gap:12px;}
.chat-head strong {display:block; font-size:12px; letter-spacing:.08em;}
.chat-head span {font-size:11px; color:#afc0c0;}
.chat-head button {color:#fff; border-color:#657578; width:30px; height:30px; font-size:22px;}
.chat-messages {flex:1; overflow-y:auto; padding:20px 16px; display:flex; flex-direction:column; gap:10px;}
.bubble {max-width:88%; padding:11px 13px; border-radius:10px; font-size:14px; line-height:1.45; white-space:pre-wrap;}
.bubble.bot {align-self:flex-start; border-bottom-left-radius:2px;}
.bubble.user {align-self:flex-end; color:#fff; border-bottom-right-radius:2px;}
.quick-replies {padding:0 14px 12px; display:flex; flex-wrap:wrap; gap:6px;}
.quick-replies button {border:1px solid #bbc7c2; border-radius:99px; padding:6px 10px; font-size:12px;}
.chat-panel form {display:flex; padding:0 14px 13px; gap:5px;}
.chat-panel input {flex:1; min-width:0; border:1px solid #b8c6c2; border-radius:5px; padding:9px; font-size:14px;}
.chat-panel form button {background:var(--red); color:#fff; border:0; border-radius:5px; width:38px; font-size:19px;}
.chat-whatsapp {text-align:center; padding:11px; font-size:13px; font-weight:750;}
@keyframes heroScale {from{transform:scale(1.055);opacity:.6}to{transform:scale(1);opacity:1}}
@keyframes pulse {50%{box-shadow:0 0 3px var(--red);opacity:.7}}
@keyframes marquee {to{transform:translateX(-45%)}}
@keyframes slideIn {from{transform:translateX(30px);opacity:.65}}
@keyframes chatIn {from{transform:translateY(12px);opacity:0}}
@media(max-width:1100px) {
  .nav {gap:18px;}
  .service-card {height:500px;}
}
@media(max-width:850px) {
  .container {width:min(100% - 40px,1480px);}
  .menu-button {display:flex; width:42px; height:42px; border:1px solid #657378; border-radius:4px; background:none; align-items:center; justify-content:center; flex-direction:column; gap:6px;}
  .menu-button span {width:19px; height:2px; background:#fff;}
  .mobile-nav:not([hidden]) {display:flex; position:absolute; left:0; right:0; flex-direction:column; background:#10181d; padding:10px 20px 25px; box-shadow:0 15px 25px #0007;}
  .mobile-nav a, .mobile-nav button {padding:13px 0; border:0; border-bottom:1px solid #2d3b41; background:none; color:#fff; text-align:left; font-size:16px;}
  .hero {min-height:720px;}
  .hero h1 {font-size:clamp(62px,10vw,88px);}
  .section {padding:80px 0;}
  .section-head, .faq-grid, .contact-grid {grid-template-columns:1fr; gap:28px;}
  .section-head>p {font-size:17px;}
  .contact-card {min-height:0;}
  .footer-main {grid-template-columns:2fr 1fr 1fr;}
}
@media(max-width:610px) {
  .nav-book {display:none;}
  .hero {min-height:690px; align-items:start;}
  .hero h1 {font-size:clamp(54px,13vw,76px);}
  .signal-strip {height:40px;}
  .section-head h2, .faq h2, .contact h2 {font-size:clamp(47px,11vw,68px);}
  .service-content {left:23px; right:23px; bottom:22px;}
  .steps {grid-template-columns:1fr; gap:0; margin:36px 0;}
  .steps article {padding:17px 0;}
  .steps article h3 {margin:18px 0 8px;}
  .contact-grid {gap:38px;}
  .contact-card {padding:25px;}
  .contact-card address {font-size:19px;}
  .footer-main {grid-template-columns:1fr 1fr; gap:35px; padding:55px 0;}
  .footer-main>div:first-child {grid-column:1/-1;}
  .footer-bottom {flex-wrap:wrap;}
  .form-grid {grid-template-columns:1fr; gap:0;}
  .modal-panel {padding:25px 20px 40px;}
  .chat-launch {padding:12px;}
  .chat-launch span:last-child {display:none;}
}

.header {border-bottom-color:#e0e4df;}
.nav a {position:relative;}
.nav a.is-current {color:var(--red);}
.menu-button span {background:#263331;}
.mobile-nav a, .mobile-nav button {color:#202726; border-bottom-color:#e1e5e0;}
.hero-carousel {display:block; overflow:hidden;}
.hero-slide {position:absolute; inset:0; background-image:var(--slide-image); background-size:cover; opacity:0; visibility:hidden; transform:scale(1.035);}
.hero-slide-ppf {--slide-image:url('../images/hero-ppf.webp'); --slide-image-mobile:url('../images/hero-ppf-960.webp');}
.hero-slide-studio {--slide-image:url('../images/studio-suv.webp'); --slide-image-mobile:url('../images/studio-suv-960.webp');}
.hero-slide-protection {--slide-image:url('../images/hero-protection.webp'); --slide-image-mobile:url('../images/hero-protection-960.webp');}
.hero-slide.is-active {opacity:1; visibility:visible;}
.hero-shade {position:absolute; inset:0;}
.slide-inner {height:100%; display:flex; align-items:center; position:relative;}
.hero-carousel h1, .hero-carousel h2 {margin:0 0 27px;}
.hero-carousel .kicker:before {content:""; width:26px; height:1px;}
.hero-carousel .slide-copy>p:not(.kicker) {margin-bottom:28px;}
.hero-controls {position:absolute; left:50%; transform:translateX(-50%); display:flex; align-items:center; justify-content:space-between;}
.hero-arrows, .campaign-controls>div {display:flex; gap:8px;}
.hero-arrows button, .campaign-controls button {border:1px solid #abb7b0; width:42px; height:42px; border-radius:50%; font-size:19px; transition:background .2s,transform .2s;}
.hero-arrows button:hover, .campaign-controls button:hover {transform:translateY(-2px);}
.section-head h2, .faq h2, .contact h2 {letter-spacing:-.055em;}
.campaign {padding:100px 0 95px;}
.campaign-header {display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:34px;}
.campaign-header h2 {font-size:clamp(44px,5vw,72px); margin:0;}
.campaign-header p:last-child {font-size:19px; margin-bottom:7px;}
.campaign-slider {position:relative; height:570px; overflow:hidden; color:#fff;}
.campaign-slide {position:absolute; inset:0; display:grid; grid-template-columns:1.1fr .9fr; opacity:0; visibility:hidden; transform:translateX(35px); transition:opacity .5s,transform .6s,visibility .5s;}
.campaign-slide.is-active {opacity:1; visibility:visible; transform:translateX(0);}
.campaign-slider .campaign-slide {
  z-index:0;
  overflow:hidden;
  transform:none;
  transition:opacity 1s ease, visibility 0s linear 1s;
}
.campaign-slider .campaign-slide.is-active {z-index:1; transition:opacity 1s ease, visibility 0s;}
.campaign-slider .campaign-photo {transform:scale(1.045); transition:transform 5s cubic-bezier(.2,.6,.3,1);}
.campaign-slider .campaign-slide.is-active .campaign-photo {transform:scale(1);}
.campaign-slider .campaign-copy > * {
  opacity:0;
  transform:translateY(20px);
  transition:opacity .2s ease, transform .2s ease;
}
.campaign-slider .campaign-slide.is-active .campaign-copy > * {
  opacity:1;
  transform:translateY(0);
  transition:opacity .75s ease, transform .9s cubic-bezier(.22,1,.36,1);
}
.campaign-slider .campaign-slide.is-active .campaign-chip {transition-delay:.18s;}
.campaign-slider .campaign-slide.is-active .campaign-tag {transition-delay:.26s;}
.campaign-slider .campaign-slide.is-active .campaign-copy > h3 {transition-delay:.3s;}
.campaign-slider .campaign-slide.is-active .price,
.campaign-slider .campaign-slide.is-active .campaign-copy > ul {transition-delay:.46s;}
.campaign-slider .campaign-slide.is-active .btn {transition-delay:.6s;}
.campaign-slider .campaign-slide.is-active .campaign-copy > small {transition-delay:.7s;}
.campaign-slider .campaign-controls {z-index:4;}

.campaign-photo {background-size:cover; background-position:center; position:relative;}
.campaign-photo:after {content:""; position:absolute; inset:0;}
.campaign-copy {display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:45px clamp(32px,5vw,80px) 95px 20px;}
.campaign-chip {font-size:12px; line-height:1.5; letter-spacing:.045em; font-weight:600;}
.campaign-tag {max-width:42ch;letter-spacing:0;font-size:16px;line-height:1.6;font-weight:400;margin:16px 0 20px;text-wrap:pretty;}
.campaign-copy h3 {font-size:clamp(36px,3.3vw,52px); margin:0 0 16px;}
.price {margin-bottom:25px; display:flex; flex-direction:column;}
.price del {font-size:19px;}
.price strong {font-size:clamp(43px,4vw,65px); line-height:1.1; letter-spacing:-.06em;}
.price strong span {display:block; font-size:16px; letter-spacing:0; font-weight:500; margin-top:4px;}
.campaign-copy ul {list-style:none; padding:0; margin:0 0 22px; columns:2; column-gap:18px;}
.campaign-copy li {break-inside:avoid; font-size:14px; padding:5px 0;}
.campaign-copy li:before {content:"✓"; padding-right:7px;}
.campaign-copy small {display:block; font-size:11px; line-height:1.45; margin-top:16px; max-width:340px;}
.campaign-product-note {display:block;max-width:80ch;margin:20px 0 0;padding-left:14px;border-left:2px solid var(--color-signal,#e7433a);font-size:13px;line-height:1.7;color:#b9c5cd;}
.campaign-product-note strong {font-weight:600;color:#f4f7f8;}
.campaign-product-note[hidden] {display:none;}
main > [data-home-section]:first-child:not(.hero) {margin-top:100px;}
.campaign-controls {position:absolute; bottom:25px; right:30px; left:30px; display:flex; justify-content:space-between; align-items:center; color:#fff; font-size:12px; font-weight:800; letter-spacing:.12em;}
.technology:after {display:none;}
.instagram .section-head>div>p:not(.index-label) {font-size:18px; margin-bottom:5px;}
.gallery-grid {display:grid; grid-template-columns:repeat(4,1fr); gap:12px;}
.gallery-grid a {position:relative; display:block; overflow:hidden; aspect-ratio:4/5; background:#d7dcd6;}
.gallery-grid img {width:100%; height:100%; object-fit:cover; transition:transform .55s;}
.gallery-grid a:hover img {transform:scale(1.055);}
.gallery-grid span {position:absolute; z-index:1; bottom:20px; left:18px; color:white; font-size:12px; letter-spacing:.09em; font-weight:800;}
.contact-card {border-color:#60756a;}
@media(max-width:850px) {
  .hero-slide {background-position:59% center;}
  .campaign-slider {height:550px;}
  .campaign-slide {grid-template-columns:1fr 1fr;}
  .campaign-copy {padding-right:28px;}
  .gallery-grid {grid-template-columns:repeat(2,1fr);}
}
@media(max-width:610px) {
  .slide-copy {padding:0;}
  .hero-carousel .slide-copy>p:not(.kicker) {max-width:350px;}
  .campaign {padding:70px 0;}
  .campaign-header {display:block;}
  .campaign-header p:last-child {font-size:16px; margin-top:15px;}
  .campaign-slide {display:flex; flex-direction:column;}
  .campaign-photo {height:260px; flex:none; background-position:center;}
  .campaign-copy {flex:1; justify-content:flex-start;}
  .campaign-copy h3 {font-size:43px; margin-bottom:13px;}
  .campaign-tag {font-size:15px;margin:12px 0 16px;}
  .price {margin-bottom:15px;}
  .price strong {font-size:46px;}
  .campaign-copy ul {margin-bottom:14px;}
  .campaign-controls {bottom:15px; left:22px; right:22px;}
  .gallery-grid {gap:8px;}
  .gallery-grid a {aspect-ratio:1;}
  .gallery-grid span {font-size:10px; bottom:11px; left:11px;}
}
.header {z-index:60;}
.nav {margin-left:auto; margin-right:8px;}
.menu-button {align-items:center; justify-content:center; flex-direction:row; font-size:13px; font-weight:800; white-space:nowrap;}
.menu-label {display:inline-block;}
.menu-bars {display:flex; flex-direction:column; gap:5px;}
.menu-bars i {display:block; width:17px; height:2px; background:#24312d; transition:transform .25s;}
.menu-button[aria-expanded="true"] .menu-bars i:first-child {transform:translateY(3.5px) rotate(45deg);}
.menu-button[aria-expanded="true"] .menu-bars i:last-child {transform:translateY(-3.5px) rotate(-45deg);}
.mobile-nav:not([hidden]) {display:block!important; position:absolute; top:76px; left:0; right:0; width:100%; height:calc(100dvh - 76px); overflow:auto; padding:0; box-shadow:0 25px 55px #06110b63; animation:menuDrop .35s both;}
.mega-inner {display:grid; grid-template-columns:.8fr 1.4fr; column-gap:10%; min-height:100%; padding-block:55px 30px;}
.mega-heading span {font-size:11px; letter-spacing:.16em; font-weight:800;}
.mega-heading p {font-size:clamp(32px,4vw,58px); line-height:1.03; letter-spacing:-.06em; margin:25px 0;}
.mega-links a {display:flex; align-items:baseline; gap:20px; border-bottom:1px solid #52635b; padding:8px 0 13px; color:#fff; font-size:clamp(29px,3.5vw,52px); font-weight:600; letter-spacing:-.055em; transition:padding .25s,color .25s;}
.mega-links a:first-child {border-top:1px solid #52635b;}
.mega-links a:hover {padding-left:12px;}
.mega-links small {font-size:11px; letter-spacing:0; color:#b4c4ba;}
.mega-links a span {margin-left:auto; font-size:22px; color:#d97066;}
.mega-bottom {grid-column:1/-1; align-self:end; display:flex; align-items:center; gap:24px; border-top:1px solid #52635b; padding-top:22px; font-size:12px;}
.mega-bottom button {border:0; background:#d04a40; color:white; padding:13px 17px; border-radius:3px; font-weight:800;}
.mega-bottom span {margin-left:auto; color:#b2c0b7; letter-spacing:.14em;}
.signal-strip .ticker-track {display:flex; align-items:center; width:max-content; height:100%;}
.signal-strip .ticker-track span {flex:none; white-space:nowrap;}
.signal-strip {font-size:12px; letter-spacing:.18em;}
@keyframes tickerStable {to{transform:translateX(-50%)}}
@keyframes menuDrop {from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px) {
  .nav {display:none;}
  .nav-book {margin-left:auto;}
}
@media(max-width:850px) {
  .mobile-nav:not([hidden]) {top:76px;}
  .mega-inner {grid-template-columns:1fr; gap:25px;}
  .mega-heading p {display:none;}
  .mega-links a {font-size:clamp(27px,6vw,46px);}
}
@media(max-width:610px) {
  .menu-button {width:auto;}
  .menu-label {font-size:12px;}
  .mobile-nav:not([hidden]) {top:68px; height:calc(100dvh - 68px);}
  .mega-inner {padding-block:30px;}
  .mega-links a {font-size:clamp(27px,8vw,38px); padding:12px 0;}
  .mega-bottom {flex-wrap:wrap; gap:14px;}
  .mega-bottom span {width:100%; margin:0;}
  .signal-strip b {margin:0 24px;}
}
.brand {width:188px; height:70px; overflow:visible;}
.brand img {width:188px; max-width:none; height:auto;}
.navrow {gap:18px;}
.nav {gap:clamp(15px,2vw,32px);}
.menu-button {display:flex!important; flex:none; width:auto; min-width:96px; height:43px; padding:0 14px; border:1px solid #728d82; gap:12px;}
.menu-button:hover {background:#ffffff1c; border-color:#c5dad1;}
.menu-button .menu-label {display:inline-block; width:auto; height:auto; background:none; color:inherit; font-size:13px; line-height:1.2; font-weight:750;}
.menu-button .menu-bars {width:19px; height:auto; background:none; display:flex; flex-direction:column; gap:5px;}
.menu-button .menu-bars i {width:18px; height:2px; background:#f6f8f5;}
.mobile-nav:not([hidden]) {color:#f7faf7;}
.technology h2, .technology h2 em {color:#f6faf6;}
.technology .index-label {color:#f18578;}
.contact-card a, .footer-main a, .footer-bottom a {color:#f5f8f4;}
.signal-strip {overflow:hidden;}
.signal-strip .ticker-track {animation:tickerStable 65s linear infinite; will-change:transform;}
.signal-strip .ticker-track span {padding-left:44px;}
.signal-strip b {margin:0 29px;}
.chat-launch {right:20px; bottom:20px; max-width:calc(100vw - 40px);}
.chat-panel {right:20px;}
@media(max-width:1200px) {
  .brand {width:155px;}
  .brand img {width:155px;}
  .nav {gap:14px;}
}

@media(max-width:610px) {
  .header {height:68px;}
  .brand {width:142px; height:62px;}
  .brand img {width:142px;}
  .menu-button {min-width:80px; padding:0 10px;}
  .menu-button .menu-label {font-size:12px;}
  .chat-launch {right:14px;}
}
:root {--bg:#080b10; --panel:#111923; --paper:#0e131b; --ink:#f3f6f8; --white:#f4f7fa; --muted:#a5b5c0; --line:#263844; --red:#f2443b; --ice:#a8d6e4;}
html {scroll-padding-top:76px;}
::selection {background:#f2443b; color:#fff;}
.header {background:rgba(7,12,18,.92); border-bottom:1px solid #34454d88; color:#f7f9fa; backdrop-filter:blur(26px); box-shadow:0 12px 35px #0005;}
.header:after {content:""; position:absolute; bottom:-1px; left:0; width:26%; height:1px; background:linear-gradient(90deg,transparent,var(--red),transparent); opacity:.8;}
.nav a {font-size:12px; letter-spacing:.06em; text-transform:uppercase;}
.header .nav a {color:#c6d2d6;}
.header .nav a:hover, .header .nav a.is-current {color:#fff;}
.nav-book, .btn-primary {background:#c82f28; border:1px solid #ff6d64; color:#fff; box-shadow:0 8px 30px #ef453039; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%); border-radius:0; transition:transform .25s,background .25s,box-shadow .25s;}
.nav-book:hover, .btn-primary:hover {background:#b62823; box-shadow:0 10px 38px #f2443b70;}
.menu-button {background:#ffffff07; border-color:#526873; color:#fff; border-radius:0; clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);}
.mobile-nav:not([hidden]) {background:linear-gradient(135deg,#081019,#12202a 65%,#0a0d12); border-top:1px solid #4d647055;}
.mega-links a {border-color:#37515b;}
.mega-links a:first-child {border-color:#37515b;}
.mega-links a:hover {color:#ff756d;}
.mega-heading span {color:#ff6a60;}
.mega-bottom {border-color:#37515b;}
.hero-carousel {height:min(850px,calc(100svh - 104px)); min-height:660px; background:#080c12;}
.hero-slide {background-position:center 52%; transition:opacity 1.7s ease,transform 8s ease,visibility 1.7s;}
.hero-slide.is-active {transform:scale(1.035);}
.hero-slide:after {content:""; position:absolute; z-index:2; inset:-15% -35%; pointer-events:none; opacity:0; transform:translateX(-48%) skewX(-16deg); background:linear-gradient(90deg,transparent 38%,rgba(150,220,242,.07) 48%,rgba(255,103,91,.2) 50%,rgba(150,220,242,.07) 52%,transparent 62%);}
.hero-slide.is-active:after {animation:heroLightSweep 1.65s cubic-bezier(.22,1,.36,1) both;}
.hero-slide .slide-copy {opacity:0; transform:translateY(22px); transition:opacity .8s ease .28s,transform 1s cubic-bezier(.22,1,.36,1) .22s;}
.hero-slide.is-active .slide-copy {opacity:1; transform:translateY(0);}
@keyframes heroLightSweep {0%{opacity:0;transform:translateX(-48%) skewX(-16deg)}18%{opacity:1}72%{opacity:.7}100%{opacity:0;transform:translateX(48%) skewX(-16deg)}}
.hero-shade {background:linear-gradient(90deg,#060a10ed 0%,#060a10d6 21%,#060a1090 42%,#060a1026 75%),linear-gradient(0deg,#070b12a6,transparent 33%);}
.hero-carousel:before {content:""; position:absolute; z-index:2; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent 0,transparent calc(50% - 1px),#ffffff08 50%,transparent calc(50% + 1px)),linear-gradient(0deg,transparent 0,transparent calc(50% - 1px),#ffffff08 50%,transparent calc(50% + 1px)); opacity:.35;}
.slide-inner {z-index:3;}
.slide-copy {max-width:850px; padding-bottom:30px;}
.hero-carousel h1, .hero-carousel h2 {font-family:Inter,"Segoe UI",Arial,sans-serif; color:#f8fafb; font-size:clamp(55px,6.25vw,100px); font-weight:760; text-shadow:0 5px 25px #0009;}
.hero-carousel em {font-family:inherit; font-style:normal; font-weight:750; color:#ff514b; letter-spacing:inherit;}
.hero-carousel .kicker {font-size:11px; color:#e9f0f2; letter-spacing:.25em;}
.hero-carousel .kicker:before {background:var(--red); box-shadow:0 0 14px var(--red);}
.hero-carousel .slide-copy>p:not(.kicker) {font-size:clamp(17px,1.4vw,20px); text-shadow:0 2px 15px #000;}
.hero-carousel .btn-ghost, .btn-ghost {border-color:#93a5ad; background:#08121ba8; color:#f9fafa; border-radius:0; backdrop-filter:blur(9px);}
.hero-carousel .btn-ghost:hover, .btn-ghost:hover {background:#ffffff25; border-color:#fff;}
.hero-controls {z-index:5; bottom:31px;}
.hero-arrows button, .campaign-controls button {border-color:#8ba0aa86; background:#0b1721b8; color:#fff; backdrop-filter:blur(10px);}
.hero-arrows button:hover, .campaign-controls button:hover {background:#b62823; border-color:#da4037;}
.hero-interface {position:absolute; right:max(40px,calc((100vw - 1440px)/2)); top:40px; display:flex; align-items:center; gap:12px; z-index:4; color:#d3e4e8; font-size:10px; font-weight:800; letter-spacing:.15em; text-shadow:0 2px 10px #000;}
.hero-interface-line {width:38px; height:1px; background:#f2443b; box-shadow:0 0 10px #f2443b;}
.index-label {color:#ff665c;}
.section-head h2, .faq h2, .contact h2 {color:#f6f9fa; font-weight:720;}
.section-head em, .faq em, .contact em {font-family:inherit; font-style:normal; font-weight:430; color:#aac9d4; letter-spacing:-.065em;}
.signal-strip {background:#e64239; color:#fff; border-top:1px solid #ff706a; border-bottom:1px solid #ff706a; mask-image:none; -webkit-mask-image:none; height:42px;}
.signal-strip b {color:#ffd0cb;}
.section {padding:120px 0;}
.campaign {background:#0b1119; color:#fff;}
.campaign-header p:last-child {color:#a5b6c0;}
.campaign-header h2 {color:#f8fbfb;}
.campaign-slider {background:#111d26; border:1px solid #35515c; border-radius:0; box-shadow:0 22px 65px #0008; clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);}
.campaign-slide {background:#111d26;}
.campaign-photo:after {background:linear-gradient(90deg,transparent 65%,#111d26);}
.campaign-chip {color:#ff756b;}
.campaign-tag {color:#b6c8ce;}
.campaign-copy small {color:#b5c3c9;}
.campaign-copy h3 {color:#fff;}
.campaign-copy li:before {color:#ff6961;}
.price del {color:#a7b7be;}
.services {background:#0e151e; color:#eef4f6;}
.services .section-head>p {color:#a8b9c2;}
.service-card {border-radius:0; border:1px solid #3b505d; clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);}
.service-shade {background:linear-gradient(0deg,#040b12f2,#040b1211 75%);}
.service-content>span {color:#ff938a;}
.service-content button span {color:#ff776b;}
.technology {background:#111c25; color:#f6fafb;}
.technology:before {content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 80% 15%,#3578991a,transparent 40%),repeating-linear-gradient(90deg,transparent 0,transparent 139px,#9fd5e708 140px);}
.technology .inline-link {color:#fff; border-color:#7c9ba8;}
.process {background:#0b1119; color:#f4f8f9;}
.process .section-head>p, .steps article p {color:#aabdc5;}
.steps article {border-color:#3c5461;}
.steps article span {color:#ff665c;}
.steps article h3 {color:#fff;}
.instagram {background:#101923; color:#f4f8f9;}
.instagram .section-head>div>p:not(.index-label) {color:#a9bdc4;}
.instagram .inline-link {color:#fff;}
.gallery-grid a {border-radius:0; border:1px solid #39515d;}
.gallery-grid a:hover {border-color:#f66d62;}
.faq {background:#0c121a; color:#f2f7f8;}
.faq-grid>div>p:last-child, .faq details p {color:#a9bdc5;}
.faq-list, .faq details {border-color:#3b535e;}
.faq summary {color:#f4f8f9;}
.faq summary span {color:#ff6d63;}
.contact {background:#151f28; color:#f5f9fa;}
.contact:before {display:block; background:radial-gradient(circle at 10% 85%,#d7373020,transparent 35%),repeating-linear-gradient(90deg,transparent 0,transparent 159px,#ffffff07 160px);}
.contact-grid>div>p:not(.index-label) {color:#b5c7ce;}
.contact-card {background:#0e1821; border:1px solid #4a6673; clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);}
.contact-card>span {color:#ff756b;}
.contact-divider {background:#4a6673;}
.footer {background:#080d14; color:#dfe9ed;}
.footer-main>div>span {color:#ff7469;}
.footer-main p, .footer-bottom {color:#9bb0ba;}
.footer-bottom {border-color:#273b46;}
.chat-launch {background:#c82f28; border:1px solid #ff8278; border-radius:0; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%); box-shadow:0 13px 34px #e7433a4a;}
.chat-panel {background:#101b25; color:#eaf1f3; border:1px solid #526e7b; border-radius:0;}
.chat-head {background:#172a35;}
.bubble.bot {background:#273843; color:#f2f6f8;}
.bubble.user {background:#d94a43;}
.quick-replies button {background:#1c2b35; color:#e8f1f3; border-color:#4b6673;}
.chat-panel input {background:#0e1821; border-color:#4e6874; color:#fff;}
.chat-whatsapp {background:#233d38; color:#baf4ce;}
.modal-panel {background:#101b25; color:#f3f7f8;}
.modal-intro, .form-note {color:#b5c6cd;}
.modal input, .modal select, .modal textarea {background:#192833; color:#fff; border-color:#54707b;}
.modal input::placeholder, .modal textarea::placeholder {color:#9aacb4;}
.form-status {color:#b7e9d6;}
.icon-close {color:#fff; border-color:#748e99;}
@media(max-width:850px) {
  .hero-carousel {height:720px;}
  .hero-shade {background:linear-gradient(90deg,#060a10f5,#060a10bf 55%,#060a1055),linear-gradient(0deg,#060a10b8,transparent 40%);}
  .hero-carousel h1, .hero-carousel h2 {font-size:clamp(52px,8.3vw,82px);}
  .hero-interface {right:20px;}
}
@media(max-width:610px) {
  html {scroll-padding-top:68px;}
  .hero-carousel {min-height:0;}
  .hero-slide {background-position:61% center;}
  .hero-controls {bottom:18px;}
  .hero-shade {background:linear-gradient(180deg,#060a10e8 0%,#060a10d7 44%,#060a107d 78%,#060a1099 100%);}
  .slide-inner {align-items:flex-start;}
  .hero-interface {top:28px; right:18px; font-size:8px;}
  .hero-arrows button {width:38px; height:38px;}
  .campaign-slider {height:690px;}
  .campaign-photo:after {background:linear-gradient(0deg,#111d26,transparent 48%);}
  .campaign-copy {padding:18px 22px 75px;}
  .service-card {height:470px;}
  .chat-launch {border-radius:0;}
}

@media(max-width:610px) {
  .chat-launch {bottom:72px;}
  .hero-arrows {margin-right:48px;}
}
:root {--color-void:#060a10; --color-carbon:#101820; --color-steel:#26323a; --color-signal:#e7433a; --color-text:#f4f7f8; --color-muted:#aab6bc; --space-2:8px; --space-3:12px; --space-4:16px; --space-6:24px; --space-8:32px; --space-12:48px; --space-16:64px; --space-24:96px;}
body {background:var(--color-void); color:var(--color-text); line-height:1.6;}
.container {width:min(100% - 80px,1440px);}
.index-label, .kicker {letter-spacing:.13em;}
.hero-carousel h1, .hero-carousel h2 {max-width:900px; text-wrap:balance;}
.hero-carousel h1 em, .hero-carousel h2 em, .section-head h2 em, .faq h2 em, .contact h2 em {font-family:inherit; font-style:normal; font-weight:inherit; letter-spacing:inherit; color:inherit;}
.hero-carousel .slide-copy>p:not(.kicker) {max-width:590px; color:#d6dee2; line-height:1.55;}
.hero-cta {gap:14px;}
.btn {min-height:52px; padding-inline:22px;}
.btn:active, .nav-book:active {transform:translateY(0) scale(.98);}
.proof-rail {position:absolute; z-index:4; left:50%; bottom:94px; transform:translateX(-50%); display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #ffffff2b; border-bottom:1px solid #ffffff1f; background:#0710189c; backdrop-filter:blur(10px);}
.proof-item {min-height:64px; padding:13px 20px; display:flex; align-items:center; gap:12px; border-right:1px solid #ffffff1f;}
.proof-item:last-child {border-right:0;}
.proof-item i {width:7px; height:7px; flex:none; background:var(--color-signal); box-shadow:0 0 16px #e7433a;}
.proof-item span {font-size:13px; color:#dbe3e6; font-weight:700;}
.proof-item small {display:block; color:#84959d; font-size:11px; font-weight:600;}
.service-grid {grid-template-columns:1.12fr .88fr; gap:20px;}
.service-card:first-child {height:610px;}
.service-card:last-child {height:550px; margin-top:60px;}
.service-content>span {letter-spacing:.11em;}
.service-content p {font-size:16px; max-width:440px;}
.service-content button {min-height:44px; text-align:left;}
.section-head>p, .faq-grid>div>p:last-child {line-height:1.65;}
.technology, .contact {border-top:1px solid #ffffff12;}
.steps article {position:relative; padding-right:28px;}
.steps article:after {content:""; position:absolute; right:0; top:24px; width:7px; height:7px; background:var(--color-signal);}
.steps article:last-child:after {display:none;}
.faq summary {min-height:64px; align-items:center;}
.contact-card {border-left:3px solid var(--color-signal);}
.modal-panel {border-left:1px solid #ffffff24;}
.modal-intro {max-width:54ch;}
.modal input, .modal select, .modal textarea {min-height:48px;}
.modal input:hover, .modal select:hover, .modal textarea:hover {border-color:#7e918a;}
body.menu-open {overflow:hidden;}
@media(max-width:1100px) {
  .proof-rail {grid-template-columns:repeat(2,1fr); bottom:88px;}
  .proof-item:nth-child(2) {border-right:0;}
  .proof-item:nth-child(-n+2) {border-bottom:1px solid #ffffff1f;}
  .service-card:first-child, .service-card:last-child {height:540px; margin-top:0;}
}
@media(max-width:610px) {
  .container {width:min(100% - 36px,1440px);}
  .hero-carousel {height:790px;}
  .slide-inner {padding-top:84px;}
  .hero-carousel h1, .hero-carousel h2 {font-size:clamp(46px,12vw,62px);}
  .hero-carousel .slide-copy>p:not(.kicker) {font-size:16px; line-height:1.5;}
  .hero-cta {display:grid; grid-template-columns:1fr;}
  .hero-cta .btn {width:100%;}
  .proof-rail {bottom:82px; grid-template-columns:1fr 1fr;}
  .proof-item {min-height:54px; padding:9px 10px; gap:8px;}
  .proof-item span {font-size:11px;}
  .proof-item small {font-size:10px;}
  .proof-item i {width:5px; height:5px;}
  .service-grid {grid-template-columns:1fr; gap:14px;}
  .service-card:first-child, .service-card:last-child {height:470px; margin:0;}
  .steps article:after {display:none;}
  .section-head>p, .faq-grid>div>p:last-child {font-size:16px;}
  .modal-panel {border-left:0;}
}
.service-film-card {height:330px; margin-top:20px;}
.service-film-card img {object-position:center 48%;}
.service-film-card .service-shade {background:linear-gradient(90deg,#040b12f2 0%,#040b12c7 38%,#040b122b 72%),linear-gradient(0deg,#040b12d9,transparent 70%);}
.service-film-card .service-content {max-width:570px;}
.service-film-card .service-content h3 {font-size:clamp(36px,4vw,58px);}
.signal-strip .ticker-track {animation-name:tickerRightToLeft; animation-duration:65s; animation-timing-function:linear; animation-iteration-count:infinite;}
.signal-strip .ticker-track span {width:max-content; min-width:100vw; display:flex; align-items:center; padding:0 12px!important; gap:0;}
.signal-strip .ticker-track span i {font-style:normal; white-space:nowrap; flex:1 0 auto; padding:0 28px; text-align:center;}
.signal-strip .ticker-track span b {margin:0; width:24px; flex:0 0 24px; text-align:center;}
@keyframes tickerRightToLeft {from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:610px) {
  .signal-strip {font-size:12px; letter-spacing:.05em;}
  .signal-strip .ticker-track span {padding:0 2px!important;}
  .signal-strip .ticker-track span i {padding:0 16px;}
  .signal-strip .ticker-track span b {width:16px; flex-basis:16px; font-size:10px;}
}
.gallery-grid a:after {content:""; position:absolute; inset:38% 0 0; background:linear-gradient(transparent,#03080ddd); pointer-events:none;}
.gallery-grid .instagram-card__meta {position:absolute; z-index:2; left:18px; right:18px; bottom:17px; display:grid; gap:5px; color:#fff;}
.gallery-grid .instagram-card__meta strong {font-size:12px; line-height:1.3; letter-spacing:.02em; overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;}
.gallery-grid .instagram-card__meta time {font-size:9px; letter-spacing:.12em; color:#c9d5d9; text-transform:uppercase;}
.gallery-grid .instagram-card__type {position:absolute; z-index:2; right:12px; top:12px; padding:5px 7px; background:#071018cf; color:#fff; font-size:9px; font-weight:800; letter-spacing:.08em;}
.gallery-grid.is-refreshing {opacity:.72; transition:opacity .2s;}
.services .service-grid {grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;}
.services .service-grid .service-card {height:520px; margin:0;}
.services .service-grid .service-content {left:28px; right:28px; bottom:27px;}
.services .service-grid .service-content h3 {font-size:clamp(34px,3vw,48px);}
.services .service-grid .service-content p {font-size:15px; min-height:44px;}
.services .service-film-card {height:520px; margin:0;}
.services .service-film-card img {object-position:62% center;}
.services .service-film-card .service-shade {background:linear-gradient(0deg,#040b12f2,#040b1211 75%);}
@media(max-width:1100px) {
  .services .service-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .services .service-grid .service-card {height:480px;}
  .services .service-grid .service-film-card {grid-column:1/-1; height:380px;}
  .services .service-grid .service-film-card img {object-position:center 48%;}
}
@media(max-width:610px) {
  .service-film-card {height:470px; margin-top:14px;}
  .service-film-card img {object-position:64% center;}
  .service-film-card .service-shade {background:linear-gradient(0deg,#040b12f2 0%,#040b127a 58%,#040b1217 100%);}
  .service-film-card .service-content {max-width:none;}
}
@media(max-width:610px) {
  .services .service-grid {grid-template-columns:1fr;}
  .services .service-grid .service-card, .services .service-grid .service-film-card {grid-column:auto; height:440px; margin:0;}
  .services .service-grid .service-content {left:22px; right:22px; bottom:22px;}
  .services .service-grid .service-content p {min-height:0;}
  .services .service-grid .service-film-card img {object-position:64% center;}
}
.gallery-grid .instagram-card__meta time {display:none!important;}
.technology.technology-coded {padding:clamp(64px,5.8vw,96px) 0; background:#071721; color:#f5f9fb; isolation:isolate; overflow:hidden;}
.section-anchor {position:absolute;top:0;left:0;scroll-margin-top:110px;}
.technology-coded:before {content:""; position:absolute; inset:0; display:block!important; z-index:-2; background:radial-gradient(circle at 51% 48%,#1f4d6338 0,transparent 26%),repeating-linear-gradient(90deg,transparent 0,transparent 159px,#8dc6d408 160px),repeating-linear-gradient(0deg,transparent 0,transparent 159px,#8dc6d408 160px);}
.technology-coded:after {display:none;}
.technology-coded .container {width:min(100% - 80px,1472px);}
.tech-html-grid {display:grid; grid-template-columns:minmax(280px,.9fr) minmax(320px,1.15fr) minmax(390px,1fr); align-items:center; gap:clamp(12px,2vw,34px); min-height:clamp(600px,46vw,760px);}
.tech-intro {position:relative; z-index:3; align-self:center;}
.technology-coded .index-label {color:#ff554b; margin-bottom:31px;}
.tech-intro h2 {font-size:clamp(54px,4.4vw,76px); line-height:1.01; letter-spacing:-.058em; margin:0 0 34px; max-width:8.5ch; color:#f7fafb; text-wrap:balance;}
.tech-intro h2 span {display:block; white-space:normal; overflow-wrap:anywhere;}
.tech-intro h2 .tech-accent {color:#78ddf3;}
.tech-intro h2 em {color:inherit; font:inherit; letter-spacing:inherit;}
.tech-intro>p:not(.index-label) {max-width:535px; color:#b8ced7; font-size:17px; line-height:1.62; margin-bottom:25px;}
.technology-coded .inline-link {color:#f7fafb; border-color:#88a8b5; margin-top:6px;}
.tech-vehicle {position:relative; min-height:clamp(520px,43vw,710px); display:grid; place-items:center;}
.tech-vehicle:before {content:""; position:absolute; z-index:2; inset:2% 0; background:none; filter:drop-shadow(0 28px 34px #000b) drop-shadow(0 0 24px #78ddf347);}
.tech-rings {position:absolute; width:min(29vw,450px); aspect-ratio:1; border:1px solid #6ca5b837; border-radius:50%; box-shadow:0 0 0 48px #12303d1f,0 0 0 96px #12303d13;}
.tech-rings:before {content:""; position:absolute; border-radius:50%; inset:11%; border:1px dashed #89cfe34d;}
.tech-rings:after {content:""; position:absolute; border-radius:50%; border:1px dashed #89cfe34d;}
.tech-rings:after {inset:27%; border-style:solid; border-color:#8ac7d52c;}
@keyframes techPing {50%{box-shadow:0 0 0 11px #ff554b38,0 0 0 20px #ff554b12,0 0 24px #ff554b}}
.tech-flow {position:relative; display:grid;}
.tech-flow__item {position:relative; z-index:1; grid-template-columns:108px minmax(0,1fr); align-items:center;}
.tech-flow__panel {position:relative; margin-left:-18px;}
.tech-flow__panel:before {content:""; position:absolute; left:0; top:50%; width:20px; height:1px; background:#ff554b; transform:translateX(-100%);}
.tech-flow__title {margin-bottom:7px;}
.tech-flow__title strong {color:#ff554b; line-height:1; font-weight:680; letter-spacing:-.055em;}
.tech-flow__title h3 {margin:0; color:#f8fbfc; line-height:1.3; font-weight:850;}
.tech-flow__panel p {margin:0; color:#bad0d8;}
@media(max-width:1280px) {
  .technology-coded .container {width:min(100% - 64px,1472px);}
  .tech-html-grid {grid-template-columns:minmax(280px,.8fr) minmax(280px,.9fr) minmax(360px,1fr);}
  .tech-intro h2 {font-size:clamp(50px,4.7vw,64px);}
  .tech-flow__panel {padding-right:22px;}
  .tech-flow__item {grid-template-columns:88px 1fr;}
}
@media(max-width:980px) {
  .tech-html-grid {grid-template-columns:minmax(300px,.8fr) minmax(530px,1.2fr); min-height:0;}
  .tech-intro {grid-row:1/3;}
  .tech-vehicle {min-height:460px;}
  .tech-rings {width:390px;}
  .tech-flow {gap:18px; padding:0 0 20px;}
  .tech-flow__item, .tech-flow__item:nth-of-type(3) {transform:none;}
  .tech-flow__panel {min-height:112px; padding-block:21px;}
}
@media(max-width:980px) {
  .tech-html-grid {grid-template-columns:minmax(0,1fr);}
  .tech-flow {grid-column:auto;}
}
@media(max-width:720px) {
  .technology.technology-coded {padding-block:70px;}
  .technology-coded .container {width:min(100% - 36px,1540px);}
  .tech-html-grid {grid-template-columns:minmax(0,1fr); gap:35px;}
  .tech-intro {grid-row:auto;}
  .tech-intro h2 {font-size:clamp(48px,12vw,64px); line-height:1.03;}
  .tech-intro>p:not(.index-label) {font-size:16px;}
  .tech-rings {width:min(92vw,410px);}
  .tech-vehicle:before {inset:3% 6%;}
  .tech-flow {gap:14px;}
  .tech-flow__item {grid-template-columns:66px 1fr;}
  .tech-flow__panel {min-height:108px; margin-left:0;}
  .tech-flow__title h3 {letter-spacing:.06em;}
}
@media(min-width:981px) {
  .tech-flow {gap:clamp(42px,4vw,64px); margin-left:-10px;}
  .tech-flow__item {grid-template-columns:132px minmax(0,1fr); isolation:isolate;}
  .tech-flow__item:before {content:""; position:absolute; z-index:-1; right:calc(100% - 18px); top:50%; width:clamp(70px,6vw,112px); height:38px; border-top:3px solid #ff655c; transform-origin:right center; filter:drop-shadow(0 0 7px #ff554b99); pointer-events:none;}
  .tech-flow__item:nth-of-type(2):before {transform:rotate(8deg);}
  .tech-flow__item:nth-of-type(3):before {transform:rotate(-12deg);}
  .tech-flow__panel {min-height:154px; margin-left:-10px; padding:35px 28px 28px 68px;}
  .tech-flow__title {gap:20px; margin-bottom:10px;}
  .tech-flow__title strong {font-size:43px;}
  .tech-flow__title h3 {font-size:14px; letter-spacing:.02em; white-space:normal;}
  .tech-flow__panel p {font-size:16px; line-height:1.5;}
  .tech-flow__panel:before {width:32px;}
}
@media(min-width:981px) and (max-width:1280px) {
  .tech-flow__item {grid-template-columns:108px minmax(0,1fr);}
  .tech-flow__panel {min-height:140px; padding:29px 20px 24px 48px;}
  .tech-flow__title {gap:13px;}
  .tech-flow__title strong {font-size:36px;}
  .tech-flow__title h3 {font-size:12px;}
  .tech-flow__panel p {font-size:14px;}
}
.tech-vehicle:after {display:none!important;}
.tech-flow {gap:0!important; margin-left:0!important; padding:0; border-top:1px solid #38525e;}
.tech-flow__item, .tech-flow__item:nth-of-type(3) {display:block!important; transform:none!important;}
.tech-flow__item:before {display:none!important;}
.tech-flow__panel {min-height:0!important; margin:0!important; padding:28px 8px!important; border:0!important; border-bottom:1px solid #38525e!important; background:transparent!important; clip-path:none!important;}
.tech-flow__panel:before {display:none!important;}
.tech-flow__title {display:grid; grid-template-columns:58px minmax(0,1fr); align-items:baseline; gap:18px; margin:0 0 9px;}
.tech-flow__title strong {font-size:34px!important;}
.tech-flow__title h3 {font-size:16px!important; letter-spacing:0!important; text-transform:none; white-space:normal!important;}
.tech-flow__panel p {padding-left:76px; font-size:15px!important; line-height:1.55!important; max-width:42ch;}
@media(max-width:720px) {
  .tech-vehicle {min-height:500px;}
  .tech-flow__panel {padding:22px 2px!important;}
  .tech-flow__title {grid-template-columns:50px 1fr; gap:12px;}
  .tech-flow__title strong {font-size:29px!important;}
  .tech-flow__title h3 {font-size:15px!important;}
  .tech-flow__panel p {padding-left:62px; font-size:14px!important;}
}
.process .steps {gap:28px; margin-top:48px;}
.process .steps article {padding-top:26px; padding-right:20px;}
.process .steps article:after {display:none;}
.step-icon {position:relative; width:76px; height:76px; margin:0 0 15px; color:#78ddf3;}
.step-icon:before, .step-icon:after {content:""; position:absolute; width:18px; height:18px; border-color:currentColor;}
.step-icon:before {left:0; top:0; border-left:2px solid; border-top:2px solid;}
.step-icon:after {right:0; bottom:0; border-right:2px solid; border-bottom:2px solid;}
.step-icon svg {width:62px; height:62px; margin:7px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round;}
.step-icon svg:focus {outline:none;}
.process .steps article:nth-child(1) .step-icon:after, .process .steps article:nth-child(2) .step-icon:after, .process .steps article:nth-child(3) .step-icon:after {border-color:#ff665c;}
.process .steps article span {display:block; margin-top:2px;}
.process .steps article h3 {margin:14px 0 12px;}
@media(max-width:610px) {
  .process .steps {gap:0;}
  .process .steps article {display:grid; grid-template-columns:68px 1fr; column-gap:18px; padding:24px 0;}
  .step-icon {grid-row:1/4; width:64px; height:64px; margin:0;}
  .step-icon svg {width:52px; height:52px; margin:6px;}
  .process .steps article span, .process .steps article h3, .process .steps article p {grid-column:2; margin-left:0;}
  .process .steps article h3 {margin:7px 0 8px;}
}
.hero-carousel .slide-inner {display:flex; align-items:center; justify-content:flex-start; padding-top:0; padding-bottom:120px;}
.hero-carousel .slide-copy {width:min(64%,920px); max-width:920px; margin:0; padding:0; text-align:left;}
.hero-carousel h1, .hero-carousel h2 {line-height:1.08; letter-spacing:-.055em; margin-bottom:32px;}
.hero-carousel .kicker {margin-bottom:24px;}
.hero-carousel .slide-copy>p:not(.kicker) {margin-left:0; margin-right:0;}
.hero-carousel .kicker, .hero-carousel .hero-cta {justify-content:flex-start;}
@media(max-width:1100px) {
  .hero-carousel .slide-copy {width:min(72%,820px);}
}
@media(max-width:610px) {
  .hero-carousel .slide-inner {align-items:center; justify-content:flex-start; padding:40px 0 150px;}
  .hero-carousel .slide-copy {width:100%;}
  .hero-carousel h1, .hero-carousel h2 {line-height:1.07; letter-spacing:-.045em; margin-bottom:26px;}
  .hero-carousel .kicker {margin-bottom:20px;}
  .hero-carousel .hero-cta {justify-content:flex-start;}
}
.support-dock {position:fixed; right:18px; bottom:18px; z-index:50; display:flex; flex-direction:column; align-items:flex-end; gap:8px;}
.support-action {position:relative; width:148px; height:44px; padding:0 14px; display:flex; align-items:center; gap:10px; border:1px solid #465d68; background:#101b25; color:#edf4f6; font-size:12px; font-weight:800; letter-spacing:.01em; box-shadow:0 9px 26px #0008; clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%); transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s,background .3s,box-shadow .3s;}
.support-action svg {width:21px; height:21px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.support-action:hover {transform:translateX(-5px); border-color:#ff7d71; box-shadow:0 14px 38px #0009,0 0 18px #ed4e3838;}
.support-whatsapp {background:#128c5e; border-color:#43d793; color:#fff;}
.support-whatsapp:hover {background:#19a96f; border-color:#7af0b5; box-shadow:0 12px 32px #0009,0 0 17px #25d36652;}
.support-instagram {background:#c82f28; border-color:#ff8278; color:#fff;}
.support-instagram:hover {background:#b62823; border-color:#ffaaa2; box-shadow:0 12px 32px #0009,0 0 17px #ed4e3852;}
.support-dock .chat-launch {position:relative; right:auto; bottom:auto; z-index:auto; margin:0; border-radius:0; background:#101b25; padding:0 14px; color:#edf4f6;}
.support-dock .chat-launch[aria-expanded="true"] {background:#101b25; border-color:#ff8278;}
.chat-panel {bottom:180px;}
@media(max-width:610px) {
  .support-dock {right:12px; bottom:12px; flex-direction:row;}
  .support-action {width:44px; padding:0; justify-content:center;}
  .support-action span {display:none;}
  .chat-panel {right:14px; bottom:70px;}
}
.instagram .section-head,.services .section-head,.google-reviews__head {grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:end; column-gap:clamp(60px,9vw,150px); margin-bottom:54px;}
.instagram .section-head h2 {font-size:clamp(58px,5.4vw,86px); line-height:.96; letter-spacing:-.06em;}
.instagram .section-head h2 em {display:block; margin-top:.08em;}
.instagram .section-head>div:last-child,.services .section-head>p,.google-reviews__head>div:last-child {max-width:560px; justify-self:end; width:100%;}
.google-reviews__heading {container-type:inline-size;}
.google-reviews__heading h2 {font-size:clamp(1.5rem,12cqi,5.375rem);line-height:1.02;letter-spacing:-.045em;overflow-wrap:break-word;word-break:normal;text-wrap:balance;white-space:pre-line;}
.google-reviews__head>div:last-child {width:fit-content;}
.services .section-head>p {margin:0;line-height:1.55;}
.google-reviews__intro {line-height:1.55;}
.instagram .section-head>div:last-child>p {max-width:540px; margin:0; font-size:18px; line-height:1.55; color:#a9bdc4;}
.gallery-actions {display:flex; align-items:flex-end; gap:28px; margin-top:24px;}
.instagram .gallery-actions .inline-link {flex:1; margin:0; padding-bottom:8px; line-height:1.35; white-space:normal;}
@media(max-width:900px) {
  .instagram .section-head,.services .section-head,.google-reviews__head {grid-template-columns:1fr; gap:30px;}
  .instagram .section-head>div:last-child,.services .section-head>p,.google-reviews__head>div:last-child {justify-self:start; max-width:640px;width:100%;}
  .gallery-actions {max-width:640px;}
}
@media(max-width:610px) {
  .instagram .section-head,.services .section-head,.google-reviews__head {gap:24px; margin-bottom:34px;}
  .instagram .section-head h2 {font-size:clamp(48px,14vw,66px); line-height:.98;}
  .instagram .section-head>div:last-child>p {font-size:16px;}
  .gallery-actions {display:grid; gap:14px; margin-top:20px;}
  .instagram .gallery-actions .inline-link {width:100%;}
}
.contact .contact-grid {grid-template-columns:minmax(0,.82fr) minmax(600px,1.18fr); gap:clamp(50px,6vw,90px); align-items:center;}
.contact-location {display:grid; grid-template-rows:minmax(410px,1fr) auto; border:1px solid #4a6673; border-left:3px solid var(--color-signal); background:#0e1821; clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%); overflow:hidden;}
@media(max-width:380px) {
  body .hero-controls {gap:4px;}

  body .hero-carousel {height:920px;}
}
@media(min-width:1101px) {
  body .hero-arrows {margin-right:180px;}
}

/* Keep the image dissolve and staggered copy on one transition timeline. */
.hero-carousel .hero-slide {
  z-index:0;
  transform:scale(1.045);
  transition:opacity 1s ease, transform 5s cubic-bezier(.2,.6,.3,1), visibility 0s linear 1s;
}
.hero-carousel .hero-slide.is-active {
  z-index:1;
  transform:scale(1);
  transition:opacity 1s ease, transform 5s cubic-bezier(.2,.6,.3,1), visibility 0s;
}
.hero-carousel .hero-slide .slide-copy {
  opacity:1;
  transform:none;
  transition:none;
}
.hero-carousel .slide-copy > .kicker,
.hero-carousel .slide-copy > h1,
.hero-carousel .slide-copy > h2,
.hero-carousel .slide-copy > p:not(.kicker),
.hero-carousel .slide-copy > .hero-cta {
  opacity:0;
  transform:translateY(20px);
  transition:opacity .2s ease, transform .2s ease;
}
.hero-carousel .hero-slide.is-active .slide-copy > * {
  opacity:1;
  transform:translateY(0);
  transition:opacity .75s ease, transform .9s cubic-bezier(.22,1,.36,1);
}
.hero-carousel .hero-slide.is-active .kicker {transition-delay:.18s;}
.hero-carousel .hero-slide.is-active .slide-copy > h1,
.hero-carousel .hero-slide.is-active .slide-copy > h2 {transition-delay:.3s;}
.hero-carousel .hero-slide.is-active .slide-copy > p:not(.kicker) {transition-delay:.46s;}
.hero-carousel .hero-slide.is-active .hero-cta {transition-delay:.6s;}
/* Give the complete campaign photo room before the copy panel. */
.campaign-slider {height:600px;}
.campaign-slider .campaign-slide {grid-template-columns:60% 40%;}
.campaign-slider .campaign-photo {
  position:absolute;
  inset:0;
  transform:none!important;
  transition:none;
  margin-right:0;
  background-color:#111d26;
}
.campaign-image {position:absolute; inset:0; --image-direction:1; background-size:cover; background-position:center; transform:scaleX(var(--image-direction)) scale(1.035); transition:transform 5s cubic-bezier(.2,.6,.3,1);}
.campaign-photo-ppf .campaign-image {background-image:url('../images/ppf-application.webp'); background-position:42% center;}
.campaign-photo-studio .campaign-image {background-image:url('../images/campaign-white-suv.webp'); background-position:center;}
.campaign-slide.is-active .campaign-image {transform:scaleX(var(--image-direction)) scale(1);}
.campaign-slider .campaign-photo:after {
  inset:0;
  width:auto;
  background:linear-gradient(90deg,transparent 0%,rgba(17,29,38,.03) 32%,rgba(17,29,38,.2) 47%,rgba(17,29,38,.6) 59%,rgba(17,29,38,.92) 72%,#111d26 88%);
  z-index:1;
  pointer-events:none;
}
.campaign-slider .campaign-copy {grid-column:2; position:relative; z-index:2; min-width:0; padding:40px 32px 100px 28px;}
@media(max-width:900px) {
  .campaign-slider {height:880px;}
  .campaign-slider .campaign-slide {display:flex; flex-direction:column;}
  .campaign-slider .campaign-photo {position:relative; inset:auto; height:clamp(250px,48vw,360px); flex:none; margin-right:0;}
  .campaign-photo-studio .campaign-image {background-position:left center;}
  .campaign-slider .campaign-photo:after {
    inset:auto 0 -18px;
    width:auto;
    height:130px;
    background:linear-gradient(180deg,transparent,rgba(17,29,38,.15) 35%,rgba(17,29,38,.65) 70%,#111d26 100%);
  }
  .campaign-slider .campaign-copy {flex:1; justify-content:flex-start; padding:22px 26px 85px;}
  .campaign-slider .campaign-copy h3 {font-size:clamp(36px,6vw,48px);}
  .campaign-slider .campaign-controls {left:26px; right:26px; bottom:20px;}
}

.contact-location .contact-card {min-height:0; border:0; border-top:1px solid #4a6673; border-left:0; clip-path:none; padding:27px 30px 30px;}
.contact-location .contact-card address {font-size:19px;}
.contact-location .contact-divider {margin:18px 0;}
.contact-route {display:inline-flex; align-items:center; gap:11px; min-height:46px; margin-top:10px; padding:0 17px; border:1px solid #ff8177; background:#c82f28; color:#fff; font-size:13px; font-weight:850; clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%); transition:background .25s,box-shadow .25s,transform .25s;}
.contact-route:hover {background:#b62823; box-shadow:0 8px 24px #e7433a4d; transform:translateY(-2px);}
.contact-route svg {width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round;}
.route-status {display:block; min-height:18px; margin-top:8px; color:#9fb2ba; font-size:11px; line-height:1.4;}
@media(max-width:1100px) {
  .contact .contact-grid {grid-template-columns:1fr; gap:42px;}
  .contact-location {grid-template-columns:1.1fr .9fr; grid-template-rows:none;}
  .contact-map, .contact-map .maplibregl-map {min-height:390px;}
  .contact-location .contact-card {border-top:0; border-left:1px solid #4a6673;}
}
@media(max-width:610px) {
  .contact-location {grid-template-columns:1fr; grid-template-rows:280px auto;}
  .contact-map, .contact-map .maplibregl-map {min-height:280px;}
  .contact-location .contact-card {border-left:0; border-top:1px solid #4a6673; padding:24px;}
}

/* Vector icons share a centered box instead of a font baseline. */
.ui-arrow,
.btn > span[aria-hidden="true"],
.nav-book > span,
.inline-link > span[aria-hidden="true"],
.service-content button > span[aria-hidden="true"],
.mega-links a > span {
  display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px;
  padding:0;line-height:1;font-size:0;letter-spacing:0;vertical-align:middle;
}
.ui-arrow::before,
.btn > span[aria-hidden="true"]::before,
.nav-book > span::before,
.inline-link > span[aria-hidden="true"]::before,
.service-content button > span[aria-hidden="true"]::before,
.mega-links a > span::before,
.seo-decision-options a span::before,
.hero-arrows button::before,
.campaign-controls button::before,
.icon-close::before,
.chat-head button::before,
#chat-form button::before,
.faq summary span::before {
  content:"";display:block;width:18px;height:18px;background:currentColor;
  mask:url('/assets/icons/arrow-up-right.svg') center / contain no-repeat;
}
.ui-arrow-down::before {transform:rotate(90deg);}
.btn > .ui-arrow-down::before {transform:rotate(90deg);}
.service-content button {display:inline-flex;align-items:center;}
.hero-arrows button,.campaign-controls button,.icon-close,.chat-head button,#chat-form button {
  display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:0;line-height:1;letter-spacing:0;
}
.hero-arrows button::before,.campaign-controls button::before {
  mask-image:url('/assets/icons/arrow-right.svg');
}
[data-hero-prev]::before,[data-campaign-prev]::before {transform:rotate(180deg);}
.icon-close::before,.chat-head button::before {mask-image:url('/assets/icons/close.svg');}
.faq summary span {display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex:none;font-size:0;}
.faq summary span::before {mask-image:url('/assets/icons/plus.svg');}
.support-action svg,.contact-route svg,.step-icon svg {display:block;flex:none;}
.hero-background {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%;}
img.campaign-image {width:100%;height:100%;object-fit:cover;object-position:center;}
img.campaign-image-branded {object-position:left top;transform-origin:left top;}
.process-image {position:absolute;z-index:2;inset:2% 0;width:100%;height:96%;object-fit:contain;filter:drop-shadow(0 28px 34px #000b);}
.service-detail {display:block;color:#fff;font-size:14px;font-weight:650;text-underline-offset:4px;margin:12px 0;}
@media(max-width:610px) {
  .hero-background {object-position:61% center;}
}
@media(max-width:850px) {
  body .hero-arrow-controls {top:var(--hero-arrows-top,70%);bottom:auto;justify-content:flex-start;}
}


/* Readable conditions, native zoom and keyboard navigation. */
:focus-visible {outline:3px solid #ffb4ab;outline-offset:4px;}
.form-note,.privacy-consent,.campaign-copy small,.campaign-product-note,.route-status,.seo-coverage-note {font-size:14px;line-height:1.65;}
.modal-panel input,.modal-panel select,.modal-panel textarea {font-size:16px;min-width:0;}
#visit-preference[hidden] {display:none;}
#visit-note {grid-column:1/-1;margin-top:0;}
.mobile-more {border:0;}
.mobile-more > summary {display:none;}
.gallery-grid .instagram-card__meta strong {font-size:14px;line-height:1.5;}
@media(max-width:650px) {
  .mobile-more {margin:12px 24px;border-block:1px solid #556974;}
  .mobile-more > summary {display:list-item;padding:16px 4px;min-height:48px;font-size:16px;cursor:pointer;}
  .mobile-more .container {width:100%;padding-inline:0;}
  .mobile-more .section,.mobile-more .seo-home-intro {padding-block:24px;}
  .section {padding-block:48px;}
  .services .service-grid .service-card {height:360px;}
  .service-content p {font-size:16px;line-height:1.6;}
  .hero h1,.hero-slide h2 {font-size:clamp(36px,10vw,56px);overflow-wrap:break-word;}
  .slide-copy {max-width:100%;}
  .campaign-copy small {max-width:none;}
  .modal-top h2 {font-size:28px;overflow-wrap:anywhere;}
}

/* Let long price conditions determine the slide height. */
.campaign-slider {height:auto;}
.campaign-slider .campaign-slide.is-active {position:relative;inset:auto;min-height:600px;}
@media(max-width:850px) {
  .campaign-slider .campaign-slide.is-active {min-height:0;}
  .campaign-slider .campaign-copy {flex:none;padding-bottom:100px;}
}
@media(max-width:650px) {
  body .hero-carousel {height:auto;min-height:0;}
  .hero-carousel .hero-slide.is-active {position:relative;inset:auto;width:100%;}
  .hero-carousel .slide-inner {padding-top:100px;padding-bottom:120px;}
  .hero-carousel .proof-rail {display:none;}
}

.modal-panel .form-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));}

[data-motion-paused="true"] .ticker-track {animation-play-state:paused!important;}
.hero-carousel:focus-visible,.campaign-slider:focus-visible,.signal-strip:focus-visible {outline:2px solid #78ddf3;outline-offset:3px;}
/* Keep the restored slider and strip effects; reduce motion elsewhere. */
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto!important;}
  *:not(:where(.hero-carousel,.hero-carousel *,.campaign-slider,.campaign-slider *,.signal-strip,.signal-strip *)),
  *:not(:where(.hero-carousel,.hero-carousel *,.campaign-slider,.campaign-slider *,.signal-strip,.signal-strip *))::before,
  *:not(:where(.hero-carousel,.hero-carousel *,.campaign-slider,.campaign-slider *,.signal-strip,.signal-strip *))::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
