:root {
  --red: #ef1f25;
  --red-deep: #a30d18;
  --green: #0f9437;
  --green-deep: #0b6a28;
  --charcoal: #090b0f;
  --charcoal-soft: #10141a;
  --paper: #f4f5f7;
  --white: #ffffff;
  --text: #181b20;
  --muted: #6b7179;
  --line: rgba(255,255,255,.12);
  --line-dark: rgba(17,20,26,.1);
  --shadow: 0 24px 80px rgba(0,0,0,.24);
  --shadow-soft: 0 12px 36px rgba(0,0,0,.08);
  --radius: 28px;
  --container: 1220px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--text); background:#fff; line-height:1.55; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
a { color: inherit; }
img { max-width:100%; height:auto; display:block; }
button,input,select,textarea { font: inherit; }
button { cursor:pointer; }
body.nav-open, body.modal-open { overflow:hidden; }
.container { width:min(calc(100% - 48px), var(--container)); margin-inline:auto; }
.skip-link { position:absolute; left:-9999px; top:auto; }
.skip-link:focus { left:16px; top:16px; z-index:9999; background:#fff; color:#000; padding:10px 14px; border-radius:10px; }

.scroll-progress { position:fixed; left:0; right:0; top:0; height:3px; z-index:999; background:transparent; pointer-events:none; }
.scroll-progress__bar { display:block; width:0%; height:100%; background:linear-gradient(90deg,var(--red),var(--green)); box-shadow:0 0 18px rgba(15,148,55,.35); }

.site-topbar { position:relative; z-index:50; background:linear-gradient(90deg,#070809 0%,#0e1215 100%); border-bottom:1px solid rgba(255,255,255,.08); }
.site-topbar__inner { display:flex; gap:12px 24px; justify-content:space-between; align-items:center; min-height:42px; flex-wrap:wrap; padding:8px 0; }
.site-topbar__item { display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:rgba(255,255,255,.84); font-size:.88rem; }
.site-topbar__item--address { color:rgba(255,255,255,.7); }
.icon-wrap { width:18px; height:18px; display:inline-grid; place-items:center; flex:0 0 auto; }
.icon-wrap svg { width:100%; height:100%; display:block; }
.site-header { position:sticky; top:0; z-index:100; border-bottom:1px solid rgba(255,255,255,.08); backdrop-filter:saturate(140%) blur(16px); background:rgba(8,10,12,.74); transition: background .25s ease, box-shadow .25s ease, border-color .25s ease; }
.site-header--scrolled { background:rgba(8,10,12,.93); box-shadow:0 10px 30px rgba(0,0,0,.2); }
.site-header__inner { display:grid; grid-template-columns:auto 1fr auto; gap:24px; align-items:center; min-height:96px; }
.brand { display:inline-flex; align-items:center; }
.brand__logo, .custom-logo { width:auto; height:80px; object-fit:contain; }
.site-nav { justify-self:center; }
.site-nav__list { display:flex; align-items:center; gap:26px; list-style:none; margin:0; padding:0; }
.site-nav__list a { color:rgba(255,255,255,.84); text-decoration:none; font-weight:700; font-size:.96rem; position:relative; }
.site-nav__list a::after { content:""; position:absolute; left:0; bottom:-8px; width:100%; height:2px; background:linear-gradient(90deg,var(--red),var(--green)); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.site-nav__list a:hover::after { transform:scaleX(1); }
.site-header__actions { display:flex; align-items:center; gap:12px; }
.header-chip { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:999px; color:#fff; text-decoration:none; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.05); transition:transform .2s ease, background .2s ease; }
.header-chip:hover { background:rgba(255,255,255,.1); transform:translateY(-1px); }
.nav-toggle { display:none; position:relative; width:48px; height:48px; border-radius:14px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.06); color:#fff; }
.nav-toggle__icon { position:absolute; inset:0; display:grid; place-items:center; transition:opacity .2s ease, transform .2s ease; }
.nav-toggle__icon svg { width:24px; height:24px; }
.nav-toggle__icon--close { opacity:0; transform:scale(.8); }
.nav-toggle.is-active .nav-toggle__icon--menu { opacity:0; transform:scale(.8); }
.nav-toggle.is-active .nav-toggle__icon--close { opacity:1; transform:scale(1); }
.floating-whatsapp { position:fixed; right:18px; bottom:18px; z-index:130; }
.floating-whatsapp a { display:inline-flex; align-items:center; gap:10px; min-height:56px; padding:0 18px; border-radius:999px; background:linear-gradient(135deg,#14b64a,#0f9437); color:#fff; text-decoration:none; font-weight:900; box-shadow:0 18px 36px rgba(15,148,55,.32); animation:pulseFloat 2.6s ease-in-out infinite; }
@keyframes pulseFloat { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-4px); box-shadow:0 22px 42px rgba(15,148,55,.38);} }

.button { position:relative; overflow:hidden; isolation:isolate; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:0 24px; border-radius:16px; border:0; background:linear-gradient(135deg,var(--red) 0%, #ff3742 100%); color:#fff; text-decoration:none; font-weight:800; letter-spacing:-.01em; box-shadow:0 12px 30px rgba(239,31,37,.24); transition:transform .25s ease, box-shadow .25s ease, opacity .25s ease; }
.button:hover { transform:translateY(-2px); box-shadow:0 18px 38px rgba(239,31,37,.28); }
.button--shine::before { content:""; position:absolute; top:0; left:-80%; width:56%; height:100%; background:linear-gradient(110deg, transparent 0%, rgba(255,255,255,.38) 45%, transparent 100%); transform:skewX(-16deg); transition:left .65s cubic-bezier(.2,.65,.2,1); z-index:-1; }
.button--shine:hover::before { left:130%; }
.button--ghost { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.16); box-shadow:none; }
.button--ghost:hover { background:rgba(255,255,255,.06); }
.button--small { min-height:46px; padding-inline:16px; }
.button--compact { min-height:46px; padding-inline:18px; }

.hero { position:relative; overflow:clip; color:#fff; }
.hero--full { min-height:calc(100vh - 126px); background-image: var(--hero-image); background-size:cover; background-position:center right; }
.hero__overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(7,8,10,.92) 0%, rgba(7,8,10,.72) 40%, rgba(7,8,10,.42) 100%); }
.hero__scanlines { position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.02), rgba(255,255,255,0)); mix-blend-mode:screen; opacity:.35; pointer-events:none; }
.hero__accent { position:absolute; border-radius:50%; filter:blur(120px); opacity:.22; pointer-events:none; }
.hero__accent--red { width:420px; height:420px; background:var(--red); left:-160px; top:22%; }
.hero__accent--green { width:360px; height:360px; background:var(--green); right:-120px; bottom:10%; }
.hero__gridlines { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px); background-size:84px 84px; mask-image:linear-gradient(180deg, transparent 0%, #000 18%, #000 76%, transparent 100%); opacity:.28; }
.hero__container { position:relative; z-index:1; width:min(calc(100% - 48px), 1340px); margin-inline:auto; }
.hero__grid { display:grid; grid-template-columns:1.08fr .92fr; gap:44px; align-items:center; min-height:calc(100vh - 126px); padding:56px 0 80px; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; margin:0 0 14px; color:#97f0b3; font-size:.8rem; letter-spacing:.18em; font-weight:900; }
.eyebrow--dark { color:var(--green-deep); }
.hero h1,.section-heading h2,.experience__copy h2,.split-feature__copy h2,.why__sticky h2,.contact__panel h2,.seo__copy h2 { margin:0; line-height:.95; letter-spacing:-.06em; }
.hero h1 { font-size:clamp(3.6rem,7vw,6.5rem); max-width:11ch; }
.hero__lead { margin:22px 0 0; max-width:58ch; color:rgba(255,255,255,.82); font-size:clamp(1.06rem,1.5vw,1.22rem); }
.hero__actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.hero__proof { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.hero__proof span { display:inline-flex; align-items:center; gap:10px; padding:10px 14px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.08); color:rgba(255,255,255,.93); backdrop-filter:blur(8px); }
.hero__proof svg { width:16px; height:16px; }
.hero-contact { position:relative; z-index:1; padding:26px; border-radius:30px; background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.93) 100%); color:var(--text); box-shadow:var(--shadow); border:1px solid rgba(255,255,255,.55); }
.hero-contact::before { content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; background:linear-gradient(135deg, rgba(239,31,37,.5), rgba(15,148,55,.35)); -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none; }
.hero-contact__badge { display:inline-flex; padding:8px 12px; border-radius:999px; background:rgba(239,31,37,.08); color:var(--red-deep); font-size:.8rem; font-weight:900; }
.hero-contact__header h2 { margin-top:14px; font-size:clamp(2rem,3vw,2.8rem); letter-spacing:-.05em; line-height:1; }
.hero-contact__header p { margin:12px 0 0; color:var(--muted); }
.lead-form { margin-top:22px; }
.lead-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.lead-form label { display:grid; gap:8px; margin-bottom:14px; }
.lead-form span { font-size:.9rem; font-weight:800; color:#20242b; }
.lead-form input,.lead-form select,.lead-form textarea { width:100%; border-radius:16px; border:1px solid rgba(14,17,20,.12); background:rgba(255,255,255,.9); min-height:54px; padding:14px 16px; outline:none; transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.lead-form textarea { min-height:128px; resize:vertical; }
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus { border-color:rgba(239,31,37,.45); box-shadow:0 0 0 4px rgba(239,31,37,.08); }
.lead-form__submit { width:100%; margin-top:4px; }
.lead-form__meta,.lead-form__status { margin:10px 0 0; font-size:.92rem; color:var(--muted); }

.section { padding:82px 0; }
.section--compact { padding:26px 0 10px; }
.section--dark { background:#090a0c; color:#fff; }
.section-heading { max-width:880px; margin-bottom:26px; }
.section-heading h2,.experience__copy h2,.split-feature__copy h2,.why__sticky h2,.contact__panel h2,.seo__copy h2 { font-size:clamp(2.5rem,5vw,4.5rem); }
.section-heading p,.experience__copy p,.split-feature__copy p,.seo__copy p { margin:16px 0 0; color:var(--muted); font-size:1.08rem; }
.section-heading--light p { color:#aeb3ba; }

.stats { background:#fff; }
.stats-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.stat-card { position:relative; overflow:hidden; min-height:170px; padding:24px; border-radius:24px; background:linear-gradient(180deg,#ffffff 0%, #f2f5f8 100%); border:1px solid rgba(17,20,26,.08); box-shadow:var(--shadow-soft); }
.stat-card::after { content:""; position:absolute; inset:auto -16% -66% auto; width:140px; height:140px; border-radius:50%; background:radial-gradient(circle, rgba(15,148,55,.18), transparent 70%); }
.stat-card strong { display:block; margin-bottom:12px; font-size:clamp(2rem,4vw,3.6rem); line-height:1; letter-spacing:-.06em; }
.stat-card span { display:block; max-width:18ch; color:#5d636b; font-weight:700; }

.experience { background:#fff; }
.experience__grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:36px; align-items:center; }
.check-list { list-style:none; padding:0; margin:24px 0 0; display:grid; gap:12px; }
.check-list li { display:flex; align-items:center; gap:10px; font-weight:700; }
.check-list svg { width:18px; height:18px; color:var(--green); }
.experience__media { position:relative; border-radius:30px; overflow:hidden; box-shadow:var(--shadow); }
.experience__media img { width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; }
.experience__badge { position:absolute; left:18px; bottom:18px; padding:12px 16px; border-radius:999px; background:rgba(10,12,14,.74); color:#fff; backdrop-filter:blur(10px); font-weight:900; }

.intent { background:#fff; }
.intent-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.intent-card { position:relative; min-height:282px; padding:24px; overflow:hidden; border-radius:28px; text-decoration:none; color:var(--text); background:linear-gradient(180deg,#fbfbfc 0%,#f2f4f7 100%); border:1px solid rgba(17,20,26,.08); box-shadow:var(--shadow-soft); transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.intent-card:hover { transform:translateY(-4px); box-shadow:0 20px 44px rgba(0,0,0,.12); border-color:rgba(239,31,37,.18); }
.intent-card--red { background:linear-gradient(135deg, rgba(239,31,37,.12), rgba(255,255,255,1)); }
.intent-card--green { background:linear-gradient(135deg, rgba(15,148,55,.12), rgba(255,255,255,1)); }
.intent-card__index { font-size:.9rem; font-weight:900; color:var(--muted); }
.intent-card h3 { margin:66px 0 10px; font-size:2rem; line-height:1; letter-spacing:-.05em; }
.intent-card p { margin:0; color:#5e646d; }
.intent-card__arrow { position:absolute; right:20px; bottom:20px; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:#fff; box-shadow:0 10px 20px rgba(0,0,0,.08); }
.intent-card__arrow svg { width:20px; height:20px; }

.services-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.service-panel { display:grid; grid-template-columns:1fr; border-radius:30px; overflow:hidden; background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)); border:1px solid var(--line); box-shadow:0 16px 30px rgba(0,0,0,.12); transition:transform .3s ease, box-shadow .3s ease; }
.service-panel:hover { transform:translateY(-3px); box-shadow:0 26px 56px rgba(0,0,0,.18); }
.service-panel__image { overflow:hidden; }
.service-panel__image img { width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .7s cubic-bezier(.2,.65,.2,1); }
.service-panel:hover .service-panel__image img { transform:scale(1.05); }
.service-panel__body { padding:22px; }
.service-card__tag { display:inline-flex; align-items:center; margin-bottom:10px; color:#ff7b80; font-size:.75rem; font-weight:900; letter-spacing:.16em; }
.service-panel h3 { margin:0; font-size:clamp(1.8rem,3vw,2.35rem); line-height:1; letter-spacing:-.04em; color:#fff; }
.service-panel p { margin:14px 0 20px; color:#aeb3ba; }

.portfolio { background:#fff; }
.comparison-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.comparison-card { border-radius:28px; overflow:hidden; background:#fff; border:1px solid rgba(17,20,26,.08); box-shadow:var(--shadow-soft); }
.comparison-visual { position:relative; isolation:isolate; overflow:hidden; aspect-ratio:4/3; background:#0b0d10; }
.comparison-visual__after,
.comparison-visual__before { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.comparison-visual__before { filter:grayscale(1) brightness(.55) blur(1px); clip-path:inset(0 52% 0 0); }
.comparison-divider { position:absolute; top:0; bottom:0; left:48%; width:2px; background:rgba(255,255,255,.9); box-shadow:0 0 0 8px rgba(255,255,255,.14); }
.comparison-label { position:absolute; top:16px; z-index:2; padding:8px 12px; border-radius:999px; backdrop-filter:blur(10px); font-size:.78rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.comparison-label--before { left:16px; background:rgba(7,8,10,.62); color:#fff; }
.comparison-label--after { right:16px; background:rgba(15,148,55,.18); color:#fff; border:1px solid rgba(255,255,255,.16); }
.comparison-card__body { padding:22px; }
.comparison-card__body h3 { margin:0; font-size:1.5rem; letter-spacing:-.04em; }
.comparison-card__body p { margin:10px 0 0; color:#676c73; }

.split-feature { background:var(--paper); }
.split-feature__grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; }
.split-feature__media { border-radius:30px; overflow:hidden; box-shadow:var(--shadow); }
.split-feature__media img { width:100%; aspect-ratio:4/3; object-fit:cover; }

.testimonials-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.testimonial-card { position:relative; overflow:hidden; padding:28px; border-radius:28px; background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03)); border:1px solid var(--line); box-shadow:0 18px 36px rgba(0,0,0,.12); }
.testimonial-card::after { content:"”"; position:absolute; right:20px; top:18px; font-size:4rem; line-height:1; color:rgba(255,255,255,.08); font-weight:900; }
.testimonial-card__stars { color:#97f0b3; font-size:1.05rem; letter-spacing:.18em; margin-bottom:18px; }
.testimonial-card h3 { margin: 0 0 12px; color:#fff; font-size:1.45rem; letter-spacing:-.035em; }
.testimonial-card p { margin:0; color:#d7dbe0; font-size:1.02rem; }
.testimonial-card__icon { width:44px; height:44px; display:grid; place-items:center; border-radius:14px; margin-bottom:18px; background:rgba(15,148,55,.12); color:#97f0b3; border:1px solid rgba(255,255,255,.08); }
.testimonial-card__icon svg { width:22px; height:22px; }
.testimonial-card__author { margin-top:22px; display:grid; gap:4px; }
.testimonial-card__author strong { color:#fff; }
.testimonial-card__author span { color:#a6adb5; font-size:.94rem; }

.seo { background:#fff; }
.seo__panel { display:grid; grid-template-columns:.95fr 1.05fr; gap:24px; align-items:center; padding:34px; border-radius:32px; background:linear-gradient(135deg,#f4f6f8 0%,#ffffff 100%); border:1px solid rgba(17,20,26,.08); box-shadow:var(--shadow-soft); }
.seo__chips { display:flex; flex-wrap:wrap; gap:12px; }
.seo__chips span { display:inline-flex; align-items:center; min-height:48px; padding:0 16px; border-radius:999px; background:#fff; border:1px solid rgba(17,20,26,.08); box-shadow:0 10px 24px rgba(0,0,0,.06); font-weight:800; color:#27303a; }

.faq { background:var(--paper); }
.faq-list { display:grid; gap:16px; }
.faq-item { border-radius:22px; background:#fff; border:1px solid rgba(17,20,26,.08); box-shadow:var(--shadow-soft); overflow:hidden; }
.faq-item__toggle { width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 24px; background:transparent; border:0; text-align:left; font-weight:900; font-size:1.08rem; color:#1b2128; }
.faq-item__icon { flex:0 0 auto; width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:#f2f4f6; transition:transform .2s ease, background .2s ease; }
.faq-item__icon svg { width:18px; height:18px; }
.faq-item__content { display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s ease; }
.faq-item__content > p { overflow:hidden; margin:0; padding:0 24px 0; color:#61666f; }
.faq-item.is-open .faq-item__content { grid-template-rows:1fr; }
.faq-item.is-open .faq-item__content > p { padding-bottom:22px; }
.faq-item.is-open .faq-item__icon { transform:rotate(90deg); background:rgba(239,31,37,.08); }

.why { background:#fff; }
.why__grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; align-items:start; }
.why__sticky { position:sticky; top:132px; }
.why__items { border-top:1px solid var(--line-dark); }
.why-item { display:grid; grid-template-columns:72px 1fr; gap:24px; padding:34px 0; border-bottom:1px solid var(--line-dark); }
.why-item > span { color:var(--red); font-weight:900; }
.why-item h3 { margin:0 0 8px; font-size:1.45rem; letter-spacing:-.03em; }
.why-item p { margin:0; color:#676c73; }

.contact { background:var(--paper); }
.contact__panel { position:relative; overflow:hidden; display:grid; grid-template-columns:1.2fr .8fr; gap:60px; padding:64px; border-radius:36px; background:linear-gradient(135deg,#111318,#070808); color:#fff; box-shadow:var(--shadow); }
.contact__panel::after { content:""; position:absolute; width:420px; height:420px; background:var(--red); border-radius:50%; filter:blur(120px); opacity:.13; right:-140px; top:-170px; }
.contact__panel > * { position:relative; z-index:1; }
.contact__panel > div:first-child > p:not(.eyebrow) { color:#b4b9c0; max-width:650px; }
.contact__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.contact__details { display:grid; gap:12px; }
.contact__details div { padding:20px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.04); }
.contact__details span { font-size:.67rem; letter-spacing:.14em; color:#ff7378; font-weight:850; }
.contact__details p { margin:8px 0 0; color:#e6e8eb; }

.modal { position:fixed; inset:0; z-index:300; display:none; }
.modal.is-open { display:block; }
.modal__backdrop { position:absolute; inset:0; background:rgba(0,0,0,.62); backdrop-filter:blur(8px); }
.modal__dialog { position:relative; width:min(calc(100% - 28px), 920px); max-height:min(88vh, 900px); overflow:auto; margin:6vh auto 0; padding:28px; border-radius:28px; background:#fff; box-shadow:var(--shadow); }
.modal__close { position:absolute; right:18px; top:18px; width:44px; height:44px; border:0; border-radius:50%; background:#f3f5f7; color:#111; }
.modal__close svg { width:22px; height:22px; }
.modal__header { display:grid; grid-template-columns:160px 1fr; gap:18px; align-items:center; padding-right:48px; }
.modal__header img { width:100%; max-width:160px; border-radius:18px; object-fit:cover; aspect-ratio:4/3; }
.modal__header h3 { margin:0; font-size:clamp(2rem,3vw,3rem); line-height:.98; letter-spacing:-.05em; }
.modal__list { display:grid; grid-template-columns:1fr; gap:12px; list-style:none; padding:0; margin:26px 0; }
.modal__list--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.modal__list li { padding:14px 16px; border-radius:14px; background:#f4f6f8; border:1px solid rgba(17,20,26,.06); font-weight:700; }

.site-footer { background:#050506; color:#c0c4ca; padding:70px 0 28px; }
.site-footer__grid { display:grid; grid-template-columns:1.2fr 1fr .7fr; gap:52px; }
.site-footer__logo { width:min(320px, 100%); }
.site-footer__copy { max-width:390px; color:#858b93; }
.site-footer__label { color:#fff; font-size:.75rem; letter-spacing:.14em; font-weight:850; }
.site-footer a { display:block; color:#c0c4ca; text-decoration:none; margin:6px 0; }
.site-footer__bottom { margin-top:54px; padding-top:22px; border-top:1px solid var(--line); display:flex; justify-content:space-between; color:#757b84; font-size:.8rem; }
.content-area { min-height:55vh; }
.prose { max-width:860px; }
.prose h1 { font-size:clamp(2.8rem,6vw,5rem); line-height:.95; letter-spacing:-.05em; }

.split-chars .char { display:inline-block; opacity:1; transform:none; filter:none; }
.has-js .split-chars .char { transform:translateY(.9em) rotate(2deg); opacity:0; filter:blur(6px); transition:transform .62s cubic-bezier(.2,.65,.2,1), opacity .62s ease, filter .62s ease; transition-delay:calc(var(--char-index) * 18ms); will-change:transform, opacity, filter; }
.has-js .reveal { opacity:0; transform:translateY(12px) scale(.998); transition:opacity .62s ease, transform .62s cubic-bezier(.2,.65,.2,1); }
.has-js .reveal.is-visible { opacity:1; transform:none; }
.has-js .split-chars.is-visible .char,
.has-js .reveal.is-visible.split-chars .char,
.has-js .reveal.is-visible .split-chars .char { transform:translateY(0) rotate(0); opacity:1; filter:blur(0); }
.tilt-card { transform-style:preserve-3d; transition:transform .18s ease, box-shadow .18s ease; will-change:transform; }
.tilt-card.tilted { box-shadow:0 28px 60px rgba(0,0,0,.18); }
.magnetic { transition:transform .18s ease, box-shadow .18s ease; will-change:transform; }

@media (max-width: 1180px) {
  .hero__grid, .experience__grid, .split-feature__grid, .why__grid, .contact__panel, .seo__panel { grid-template-columns:1fr; }
  .site-header__inner { grid-template-columns:auto 1fr auto; }
  .comparison-grid, .testimonials-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 980px) {
  .site-topbar__inner { justify-content:flex-start; }
  .site-topbar__item--address { width:100%; }
  .site-header__cta, .header-chip { display:none; }
  .nav-toggle { display:grid; place-items:center; }
  .site-header__inner { grid-template-columns:auto auto; justify-content:space-between; }
  .site-nav { position:fixed; inset:126px 0 auto 0; padding:18px 20px 28px; background:#0a0b0d; border-bottom:1px solid var(--line); transform:translateY(-140%); opacity:0; pointer-events:none; transition:.25s ease; justify-self:stretch; }
  .site-nav.is-open { transform:translateY(0); opacity:1; pointer-events:auto; }
  .site-nav__list { display:grid; gap:0; }
  .site-nav__list a { display:block; padding:14px 0; border-bottom:1px solid var(--line); }
  .site-nav__list a::after { display:none; }
  .hero--full, .hero__grid { min-height:auto; }
  .hero__grid { grid-template-columns:1fr; padding-top:46px; }
  .lead-form__grid, .intent-grid, .services-grid, .stats-grid { grid-template-columns:repeat(2,1fr); }
  .split-feature__grid, .site-footer__grid, .seo__panel { grid-template-columns:1fr; }
  .why__sticky { position:static; }
}
@media (max-width: 640px) {
  .container, .hero__container { width:min(calc(100% - 28px), var(--container)); }
  .section { padding:58px 0; }
  .section--compact { padding:22px 0 4px; }
  .site-topbar { display:none; }
  .site-header__inner { min-height:78px; grid-template-columns:1fr auto; }
  .brand__logo, .custom-logo { height:62px; }
  .site-nav { inset:78px 0 auto 0; }
  .hero--full { background-position:68% center; }
  .hero__grid { padding-top:28px; padding-bottom:62px; }
  .hero h1 { font-size:clamp(3rem,16vw,5rem); }
  .hero__actions, .contact__actions { display:grid; }
  .hero__actions .button, .contact__actions .button { width:100%; }
  .lead-form__grid, .intent-grid, .services-grid, .modal__list--two, .comparison-grid, .testimonials-grid, .stats-grid { grid-template-columns:1fr; }
  .hero-contact { padding:20px; border-radius:24px; }
  .intent-card { min-height:250px; }
  .intent-card h3 { margin-top:58px; }
  .contact__panel { padding:34px 24px; border-radius:26px; }
  .modal__dialog { width:min(calc(100% - 20px), 920px); padding:22px; margin-top:4vh; }
  .modal__header { grid-template-columns:1fr; }
  .site-footer__bottom { gap:14px; flex-direction:column; }
  .floating-whatsapp a span:last-child { display:none; }
  .floating-whatsapp a { width:56px; padding:0; justify-content:center; }
  .faq-item__toggle { padding:18px 18px; font-size:1rem; }
  .faq-item__content > p { padding-inline:18px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .split-chars .char { opacity:1; transform:none; filter:none; }
}

/* v1.5 — Premium gallery, works carousel, editable testimonials and service pages */
.service-panel__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:auto; }
.service-panel__image { display:block; }
.services-all { margin-top:28px; }
.text-link { display:inline-flex; align-items:center; gap:10px; color:inherit; font-weight:900; text-decoration:none; }
.text-link svg { width:20px; height:20px; transition:transform .2s ease; }
.text-link:hover svg { transform:translateX(4px); }

.premium-gallery { background:#fff; overflow:hidden; }
.premium-gallery__grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:180px; gap:16px; }
.premium-gallery__item { position:relative; grid-column:span 4; grid-row:span 2; margin:0; overflow:hidden; border-radius:26px; background:#101318; box-shadow:var(--shadow-soft); isolation:isolate; }
.premium-gallery__item--wide { grid-column:span 8; }
.premium-gallery__item--tall { grid-row:span 3; }
.premium-gallery__item img { width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.65,.2,1), filter .5s ease; }
.premium-gallery__item::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 44%,rgba(0,0,0,.78)); z-index:1; }
.premium-gallery__item figcaption { position:absolute; left:20px; right:20px; bottom:18px; z-index:2; color:#fff; font-size:1.05rem; font-weight:900; letter-spacing:-.02em; transform:translateY(4px); transition:transform .3s ease; }
.premium-gallery__item:hover img { transform:scale(1.055); filter:saturate(1.08); }
.premium-gallery__item:hover figcaption { transform:translateY(0); }

.carousel-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; }
.carousel-controls { display:flex; gap:10px; padding-bottom:4px; }
.carousel-control { width:52px; height:52px; border-radius:50%; border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.06); color:#fff; font-size:1.3rem; transition:transform .2s ease, background .2s ease, border-color .2s ease; }
.carousel-control:hover { transform:translateY(-2px); background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.26); }
.work-carousel { position:relative; }
.work-carousel__viewport { overflow:hidden; }
.work-carousel__track { display:flex; gap:20px; transform:translate3d(0,0,0); transition:transform .65s cubic-bezier(.2,.65,.2,1); will-change:transform; }
.work-slide { flex:0 0 calc((100% - 40px)/3); min-width:0; border-radius:28px; overflow:hidden; background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03)); border:1px solid var(--line); color:#fff; box-shadow:0 20px 42px rgba(0,0,0,.14); }
.work-slide__media { display:block; position:relative; overflow:hidden; aspect-ratio:4/3; background:#12151a; }
.work-slide__media > img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.65,.2,1); }
.work-slide:hover .work-slide__media > img { transform:scale(1.045); }
.work-slide__body { padding:22px; }
.work-slide__body h3 { margin:0; font-size:1.55rem; line-height:1.05; letter-spacing:-.04em; }
.work-slide__body h3 a { color:#fff; text-decoration:none; }
.work-slide__body p { margin:10px 0 0; color:#aeb3ba; }
.work-slide__vehicle { color:#d9dde2 !important; font-weight:800; }
.work-slide--reference .work-slide__body p { color:#aeb3ba; }
.work-carousel__dots { display:flex; justify-content:center; gap:8px; margin-top:24px; }
.work-carousel__dot { width:8px; height:8px; padding:0; border:0; border-radius:999px; background:rgba(255,255,255,.26); transition:width .25s ease, background .25s ease; }
.work-carousel__dot.is-active { width:28px; background:linear-gradient(90deg,var(--red),var(--green)); }

.work-before-after { position:relative; width:100%; height:100%; overflow:hidden; background:#090b0f; }
.work-before-after__after,.work-before-after__before { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.work-before-after__before { clip-path:inset(0 50% 0 0); filter:saturate(.55) brightness(.72); }
.work-before-after__line { position:absolute; top:0; bottom:0; left:50%; width:2px; background:#fff; box-shadow:0 0 0 6px rgba(255,255,255,.16); }
.work-before-after__tag { position:absolute; top:14px; z-index:2; padding:7px 10px; border-radius:999px; font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; backdrop-filter:blur(8px); }
.work-before-after__tag--before { left:14px; background:rgba(8,10,12,.62); color:#fff; }
.work-before-after__tag--after { right:14px; background:rgba(15,148,55,.55); color:#fff; }
.work-before-after--large { aspect-ratio:16/10; border-radius:28px; box-shadow:var(--shadow); }

.testimonials { background:#fff; }
.testimonials .testimonial-card { background:linear-gradient(180deg,#fff,#f4f6f8); border-color:rgba(17,20,26,.08); box-shadow:var(--shadow-soft); color:var(--text); }
.testimonials .testimonial-card::after { color:rgba(17,20,26,.05); }
.testimonials .testimonial-card__stars { color:var(--green); }
.testimonials .testimonial-card p { color:#525a63; }
.testimonials .testimonial-card__author strong { color:#15191e; }
.testimonials .testimonial-card__author span { color:#6b7179; }
.testimonial-card__quote p { margin:0; }

.service-directory { background:var(--paper); }
.service-directory__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.service-directory__item { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 20px; border-radius:20px; background:#fff; border:1px solid rgba(17,20,26,.08); box-shadow:0 10px 24px rgba(0,0,0,.05); color:#20242a; text-decoration:none; font-weight:900; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.service-directory__item svg { width:20px; height:20px; flex:0 0 auto; }
.service-directory__item:hover { transform:translateY(-2px); box-shadow:0 18px 34px rgba(0,0,0,.09); border-color:rgba(239,31,37,.18); }

/* Service archive and single pages */
.archive-hero { position:relative; overflow:hidden; background:radial-gradient(circle at 80% 20%,rgba(15,148,55,.2),transparent 30%),radial-gradient(circle at 10% 40%,rgba(239,31,37,.18),transparent 28%),#090b0f; color:#fff; }
.archive-hero__inner { padding:120px 0 90px; max-width:900px; }
.archive-hero h1 { margin:0; max-width:12ch; font-size:clamp(3.6rem,7vw,6.4rem); line-height:.92; letter-spacing:-.065em; }
.archive-hero p:not(.eyebrow) { max-width:62ch; margin:20px 0 0; color:#b8bec5; font-size:1.14rem; }
.service-archive { background:#fff; }
.service-archive__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.service-archive-card { overflow:hidden; border-radius:26px; border:1px solid rgba(17,20,26,.08); box-shadow:var(--shadow-soft); background:#fff; }
.service-archive-card__media { display:block; overflow:hidden; aspect-ratio:16/10; background:#111318; }
.service-archive-card__media img { width:100%; height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.2,.65,.2,1); }
.service-archive-card:hover .service-archive-card__media img { transform:scale(1.045); }
.service-archive-card__body { padding:22px; }
.service-archive-card__body h2 { margin:0; font-size:1.6rem; line-height:1.04; letter-spacing:-.04em; }
.service-archive-card__body h2 a { color:#15191e; text-decoration:none; }
.service-archive-card__body p { color:#676c73; }

.service-hero { position:relative; overflow:hidden; min-height:620px; display:grid; align-items:end; background-image:var(--service-hero-image); background-size:cover; background-position:center; color:#fff; }
.service-hero__overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,8,10,.92) 0%,rgba(7,8,10,.68) 48%,rgba(7,8,10,.26) 100%); }
.service-hero__inner { position:relative; z-index:1; padding:140px 0 80px; }
.service-hero__copy { max-width:760px; }
.service-hero__back { display:inline-flex; margin-bottom:28px; color:#dfe4e8; text-decoration:none; font-weight:800; }
.service-hero h1 { margin:0; max-width:12ch; font-size:clamp(3.6rem,7vw,6.2rem); line-height:.92; letter-spacing:-.065em; }
.service-hero__lead { max-width:54ch; margin:22px 0 0; color:#d5d9dd; font-size:1.2rem; }
.service-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.service-content { background:#fff; }
.service-content__grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); gap:70px; align-items:start; }
.prose-service { font-size:1.08rem; color:#4e555e; }
.prose-service h2 { margin:0 0 20px; color:#161a1f; font-size:clamp(2.4rem,4.5vw,4rem); line-height:.98; letter-spacing:-.055em; }
.prose-service h3 { margin:42px 0 16px; color:#161a1f; font-size:1.5rem; letter-spacing:-.03em; }
.prose-service p { max-width:68ch; }
.prose-service ul { display:grid; gap:10px; padding-left:20px; }
.prose-service li::marker { color:var(--green); }
.service-sidebar { position:sticky; top:130px; }
.service-sidebar__card { padding:28px; border-radius:28px; background:linear-gradient(145deg,#f4f6f8,#fff); border:1px solid rgba(17,20,26,.08); box-shadow:var(--shadow-soft); }
.service-sidebar__card h2 { margin:0; font-size:2rem; line-height:1; letter-spacing:-.045em; }
.service-sidebar__card p:not(.eyebrow) { color:#676c73; }
.service-sidebar__card .button { width:100%; margin-top:10px; }
.service-benefits__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.benefit-card { padding:26px; border-radius:24px; border:1px solid var(--line); background:rgba(255,255,255,.05); }
.benefit-card > span { color:#97f0b3; font-weight:900; }
.benefit-card h3 { margin:54px 0 10px; font-size:1.5rem; letter-spacing:-.035em; }
.benefit-card p { margin:0; color:#aeb3ba; }
.related-services { background:var(--paper); }
.related-services__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.related-service-card { position:relative; min-height:340px; overflow:hidden; border-radius:26px; text-decoration:none; color:#fff; box-shadow:var(--shadow-soft); }
.related-service-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.82)); }
.related-service-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.related-service-card > div { position:absolute; left:22px; right:22px; bottom:20px; z-index:2; }
.related-service-card h3 { margin:0 0 8px; font-size:1.65rem; letter-spacing:-.04em; }
.related-service-card span { font-weight:850; }
.related-service-card:hover img { transform:scale(1.05); }

.work-single-hero { position:relative; min-height:620px; display:grid; align-items:end; background-image:var(--work-image); background-size:cover; background-position:center; color:#fff; }
.work-single-hero__overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,8,10,.16),rgba(7,8,10,.88)); }
.work-single-hero__inner { position:relative; z-index:1; padding:120px 0 70px; }
.work-single-hero h1 { margin:0; max-width:14ch; font-size:clamp(3.4rem,7vw,6rem); line-height:.92; letter-spacing:-.06em; }
.work-single-hero__vehicle { margin:18px 0 0; color:#d5d9dd; font-size:1.12rem; font-weight:800; }
.work-single__grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:46px; align-items:start; }

@media (max-width:1180px) {
  .service-directory__grid,.service-archive__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .work-slide { flex-basis:calc((100% - 20px)/2); }
  .service-content__grid,.work-single__grid { grid-template-columns:1fr; }
  .service-sidebar { position:static; }
}
@media (max-width:980px) {
  .premium-gallery__grid { grid-auto-rows:150px; }
  .premium-gallery__item,.premium-gallery__item--wide { grid-column:span 6; }
  .premium-gallery__item--tall { grid-row:span 2; }
  .carousel-heading { align-items:start; }
  .service-benefits__grid,.related-services__grid { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .service-panel__actions { display:grid; }
  .service-panel__actions .button { width:100%; }
  .premium-gallery__grid { grid-template-columns:1fr; grid-auto-rows:auto; }
  .premium-gallery__item,.premium-gallery__item--wide,.premium-gallery__item--tall { grid-column:auto; grid-row:auto; aspect-ratio:4/3; }
  .carousel-heading { display:block; }
  .carousel-controls { justify-content:flex-end; padding:0 0 20px; }
  .work-slide { flex-basis:100%; }
  .service-directory__grid,.service-archive__grid { grid-template-columns:1fr; }
  .service-hero { min-height:560px; }
  .service-hero__inner { padding:100px 0 58px; }
  .service-hero h1,.archive-hero h1,.work-single-hero h1 { font-size:clamp(3rem,14vw,4.8rem); }
  .service-hero__actions { display:grid; }
  .service-hero__actions .button { width:100%; }
  .archive-hero__inner { padding:96px 0 70px; }
}
.premium-gallery__item > a { display:block; width:100%; height:100%; color:#fff; text-decoration:none; }
.carousel-control:disabled { opacity:.35; cursor:not-allowed; transform:none; }


/* Mission, vision and values */
.identity-section { position:relative; overflow:hidden; background:radial-gradient(circle at 12% 15%,rgba(239,31,37,.14),transparent 28%),radial-gradient(circle at 88% 76%,rgba(15,148,55,.16),transparent 30%),#090b0f; color:#fff; }
.identity-section::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent); }
.identity-section .container { position:relative; z-index:1; }
.identity-intro { display:grid; grid-template-columns:1.12fr .88fr; gap:36px; align-items:end; margin-bottom:28px; }
.identity-intro h2 { margin:0; max-width:13ch; color:#fff; font-size:clamp(2.7rem,5vw,4.8rem); line-height:.95; letter-spacing:-.06em; }
.identity-intro > p { margin:0; max-width:56ch; color:#b8bec5; font-size:1.08rem; }
.identity-pillars { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.identity-card { position:relative; min-height:360px; padding:30px; overflow:hidden; border-radius:30px; border:1px solid rgba(255,255,255,.12); background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025)); box-shadow:0 22px 46px rgba(0,0,0,.16); }
.identity-card::after { content:""; position:absolute; width:260px; height:260px; right:-100px; bottom:-120px; border-radius:50%; filter:blur(10px); opacity:.2; }
.identity-card--mission::after { background:var(--red); }
.identity-card--vision::after { background:var(--green); }
.identity-card__index { display:block; color:rgba(255,255,255,.5); font-weight:900; }
.identity-card__label { margin:54px 0 10px; color:#97f0b3 !important; font-size:.76rem; letter-spacing:.16em; font-weight:900; }
.identity-card--mission .identity-card__label { color:#ff8589 !important; }
.identity-card h3 { position:relative; z-index:1; margin:0; max-width:14ch; color:#fff; font-size:clamp(1.9rem,3vw,2.8rem); line-height:1; letter-spacing:-.045em; }
.identity-card > p:last-child { position:relative; z-index:1; max-width:60ch; margin:18px 0 0; color:#c2c7cd; }
.values-block { margin-top:20px; padding:30px; border-radius:30px; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.09); }
.values-block__heading { display:grid; grid-template-columns:.42fr 1fr; gap:24px; align-items:end; margin-bottom:24px; }
.values-block__heading h3 { margin:0; max-width:22ch; color:#fff; font-size:clamp(2rem,3.5vw,3.2rem); line-height:1; letter-spacing:-.05em; }
.values-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.value-card { min-height:220px; padding:20px; border-radius:20px; background:#12151a; border:1px solid rgba(255,255,255,.08); }
.value-card > span { display:block; color:#ff7b80; font-weight:900; }
.value-card h4 { margin:52px 0 9px; color:#fff; font-size:1.08rem; line-height:1.12; letter-spacing:-.025em; }
.value-card p { margin:0; color:#aeb4bb; font-size:.94rem; }

/* Contrast guardrails: explicit text colors per surface to prevent inherited white-on-white or dark-on-dark text. */
.stats,
.experience,
.premium-gallery,
.testimonials,
.service-directory,
.faq,
.service-archive,
.service-content,
.related-services,
.work-single { color:#181b20; }
.stats h1,.stats h2,.stats h3,.stats h4,
.experience h1,.experience h2,.experience h3,.experience h4,
.premium-gallery h1,.premium-gallery h2,.premium-gallery h3,.premium-gallery h4,
.testimonials h1,.testimonials h2,.testimonials h3,.testimonials h4,
.service-directory h1,.service-directory h2,.service-directory h3,.service-directory h4,
.faq h1,.faq h2,.faq h3,.faq h4,
.service-archive h1,.service-archive h2,.service-archive h3,.service-archive h4,
.service-content h1,.service-content h2,.service-content h3,.service-content h4,
.related-services .section-heading h2,
.work-single h1,.work-single h2,.work-single h3,.work-single h4 { color:#15191e; }
.section--dark,
.archive-hero,
.service-hero,
.work-single-hero,
.contact__panel { color:#fff; }
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4,
.archive-hero h1,.archive-hero h2,.archive-hero h3,
.service-hero h1,.service-hero h2,.service-hero h3,
.work-single-hero h1,.work-single-hero h2,.work-single-hero h3,
.contact__panel h1,.contact__panel h2,.contact__panel h3 { color:#fff; }
.section--dark .section-heading p { color:#aeb3ba; }
.section--dark .text-link,.section--dark a.text-link { color:#fff; }
.contact__panel .eyebrow { color:#97f0b3; }
.modal__dialog { color:#181b20; }
.modal__dialog h1,.modal__dialog h2,.modal__dialog h3,.modal__dialog h4 { color:#15191e; }
.modal__dialog p,.modal__dialog li { color:#4f5660; }

@media (max-width:1180px) {
  .identity-intro { grid-template-columns:1fr; gap:20px; }
  .values-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .identity-pillars,.values-block__heading { grid-template-columns:1fr; }
  .values-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .identity-card { min-height:auto; }
  .identity-card__label { margin-top:36px; }
}
@media (max-width:520px) {
  .values-grid { grid-template-columns:1fr; }
  .values-block { padding:20px; }
}


/* v1.6.1 — Full-width hero and responsive typography hotfix */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

main,
section,
.site-header,
.site-topbar,
.site-footer {
  max-width: 100%;
}

.hero--full {
  width: 100%;
  min-height: calc(100svh - 126px);
  background-position: center right;
}

.hero__container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-inline: clamp(28px, 5vw, 96px);
}

.hero__grid {
  width: 100%;
  grid-template-columns: minmax(0, 1.14fr) minmax(390px, .86fr);
  gap: clamp(34px, 4.5vw, 78px);
  min-height: calc(100svh - 126px);
  padding-block: clamp(54px, 7vh, 92px);
}

.hero__grid > *,
.lead-form__grid > *,
.stats-grid > *,
.intent-grid > *,
.services-grid > *,
.experience__grid > *,
.identity-intro > *,
.identity-pillars > *,
.values-grid > *,
.premium-gallery__grid > *,
.service-directory__grid > *,
.service-archive__grid > * {
  min-width: 0;
}

.hero__content {
  width: 100%;
  max-width: 780px;
  justify-self: start;
}

.hero h1 {
  max-width: 12.5ch;
  font-size: clamp(3.5rem, 6.2vw, 6.65rem);
  line-height: .94;
  letter-spacing: -.052em;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.hero__lead {
  max-width: 60ch;
  text-wrap: pretty;
}

.hero-contact {
  width: min(100%, 520px);
  justify-self: end;
}

.split-chars .word {
  display: inline-block;
  white-space: nowrap;
}

input,
select,
textarea,
button {
  max-width: 100%;
}

@media (max-width: 1180px) {
  .hero__container {
    padding-inline: clamp(26px, 4vw, 52px);
  }

  .hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
    min-height: auto;
    padding-block: 56px 68px;
  }

  .hero__content {
    max-width: 880px;
  }

  .hero h1 {
    max-width: 14ch;
    font-size: clamp(3.35rem, 7vw, 5.4rem);
  }

  .hero-contact {
    width: min(100%, 760px);
    justify-self: start;
  }
}

@media (max-width: 760px) {
  .hero--full {
    min-height: auto;
    background-position: 68% center;
  }

  .hero__overlay {
    background: linear-gradient(180deg, rgba(7,8,10,.88) 0%, rgba(7,8,10,.76) 52%, rgba(7,8,10,.92) 100%);
  }

  .hero__container {
    padding-inline: 20px;
  }

  .hero__grid {
    gap: 28px;
    padding-block: 34px 52px;
  }

  .hero__content {
    max-width: 100%;
  }

  .hero h1 {
    max-width: 100%;
    font-size: clamp(2.7rem, 11.3vw, 4rem);
    line-height: .96;
    letter-spacing: -.045em;
    text-wrap: balance;
  }

  .hero__lead {
    max-width: 100%;
    font-size: 1.02rem;
    line-height: 1.55;
  }

  .hero__proof {
    gap: 8px;
  }

  .hero__proof span {
    padding: 8px 10px;
    font-size: .88rem;
  }

  .hero-contact {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 420px) {
  .hero__container {
    padding-inline: 16px;
  }

  .hero h1 {
    font-size: clamp(2.45rem, 10.9vw, 3.4rem);
    line-height: .97;
  }

  .hero__actions {
    gap: 10px;
  }

  .hero-contact {
    padding: 18px;
  }
}


/* v1.6.2 — Section rhythm + reliable nested text animation */
/* The previous build could reserve space for nested animated headings while their characters stayed hidden.
   Every animated heading is now independently observed and visible as soon as it enters the viewport. */

.identity-section,
.services,
.premium-gallery,
.work-carousel-section,
.testimonials,
.service-directory,
.faq,
.contact,
.experience {
  scroll-margin-top: 110px;
}

.identity-section { padding-block: 76px; }
.services { padding-block: 76px; }
.premium-gallery { padding-block: 72px; }
.work-carousel-section { padding-block: 72px; }
.testimonials { padding-block: 72px; }
.service-directory { padding-block: 70px; }
.faq { padding-block: 70px; }
.contact { padding-block: 70px; }
.experience { padding-block: 76px; }

.identity-intro h2,
.section-heading h2,
.carousel-heading h2 {
  text-wrap: balance;
}

.identity-intro > p,
.section-heading > p:last-child,
.carousel-heading .section-heading > p:last-child {
  text-wrap: pretty;
}

.carousel-heading {
  margin-bottom: 22px;
  align-items: end;
}
.carousel-heading .section-heading {
  margin-bottom: 0;
}

.premium-gallery .section-heading,
.services .section-heading,
.service-directory .section-heading,
.testimonials .section-heading,
.faq .section-heading {
  margin-bottom: 24px;
}

.premium-gallery__grid,
.services-grid,
.service-directory__grid,
.testimonials-grid,
.faq-list {
  margin-top: 0;
}

/* Give sections a clean visual handoff without using large empty bands. */
.identity-section + .services,
.services + .premium-gallery,
.premium-gallery + .work-carousel-section,
.work-carousel-section + .testimonials,
.work-carousel-section + .service-directory,
.testimonials + .service-directory {
  border-top: 1px solid rgba(255,255,255,.045);
}

.premium-gallery + .work-carousel-section,
.service-directory + .faq {
  position: relative;
}

@media (max-width: 1180px) {
  .identity-section,
  .services,
  .premium-gallery,
  .work-carousel-section,
  .testimonials,
  .service-directory,
  .faq,
  .contact,
  .experience {
    padding-block: 64px;
  }

  .identity-intro {
    gap: 16px;
    margin-bottom: 24px;
  }

  .carousel-heading {
    margin-bottom: 18px;
  }
}

@media (max-width: 760px) {
  .identity-section,
  .services,
  .premium-gallery,
  .work-carousel-section,
  .testimonials,
  .service-directory,
  .faq,
  .contact,
  .experience {
    padding-block: 50px;
  }

  .section-heading {
    margin-bottom: 20px;
  }

  .identity-intro {
    margin-bottom: 20px;
  }

  .values-block {
    margin-top: 16px;
  }

  .carousel-heading {
    margin-bottom: 16px;
  }

  .carousel-controls {
    padding-bottom: 0;
  }
}

/* v1.6.3: larger header logo */
@media (min-width: 981px){.brand__logo,.custom-logo{height:92px!important;}}
@media (max-width: 980px){.brand__logo,.custom-logo{height:62px!important;}}


/* v1.6.4 — Premium full-width footer */
.site-footer.site-footer--premium {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: none;
  padding: 0;
  background:
    linear-gradient(180deg, #080a0d 0%, #050607 48%, #030405 100%);
  color: #c8cdd3;
  border-top: 1px solid rgba(255,255,255,.08);
}
.site-footer__ambient {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}
.site-footer__glow {
  position: absolute;
  width: 540px;
  height: 540px;
  border-radius: 50%;
  filter: blur(150px);
  opacity: .13;
}
.site-footer__glow--red { left: -230px; top: -150px; background: var(--red); }
.site-footer__glow--green { right: -220px; bottom: -220px; background: var(--green); }
.site-footer__gridlines {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 78px 78px;
  mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.9) 55%, transparent 100%);
  opacity: .5;
}
.site-footer__full {
  position: relative;
  z-index: 1;
  width: 100%;
}
.site-footer__cta-wrap {
  width: 100%;
  padding: clamp(38px, 5vw, 72px) clamp(24px, 5vw, 84px) 0;
}
.site-footer__cta {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(340px,.65fr);
  gap: clamp(28px, 4vw, 72px);
  align-items: center;
  width: 100%;
  padding: clamp(34px, 4.5vw, 66px);
  border-radius: 34px;
  background:
    radial-gradient(circle at 8% 10%, rgba(239,31,37,.18), transparent 30%),
    radial-gradient(circle at 92% 90%, rgba(15,148,55,.16), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 30px 80px rgba(0,0,0,.28);
  backdrop-filter: blur(18px);
}
.site-footer__cta::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 170px;
  height: 3px;
  background: linear-gradient(90deg, var(--red), transparent);
}
.site-footer__cta::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 170px;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--green));
}
.site-footer__eyebrow {
  margin: 0 0 14px;
  color: #a7f0bd;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .19em;
}
.site-footer__cta h2 {
  max-width: 16ch;
  margin: 0;
  color: #fff;
  font-size: clamp(2.35rem, 4.3vw, 5rem);
  line-height: .94;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.site-footer__cta-copy > p:last-child {
  max-width: 60ch;
  margin: 18px 0 0;
  color: #aeb4bc;
  font-size: 1.03rem;
}
.site-footer__cta-actions {
  display: grid;
  gap: 14px;
  justify-items: stretch;
}
.site-footer__primary-cta {
  width: 100%;
  min-height: 62px;
  border-radius: 18px;
  font-size: 1rem;
}
.site-footer__call {
  display: flex !important;
  align-items: center;
  gap: 14px;
  min-height: 70px;
  margin: 0 !important;
  padding: 14px 18px;
  border-radius: 18px;
  text-decoration: none;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.09);
  transition: transform .22s ease, background .22s ease, border-color .22s ease;
}
.site-footer__call:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.075);
  border-color: rgba(255,255,255,.16);
}
.site-footer__call .icon-wrap {
  width: 34px;
  height: 34px;
  padding: 8px;
  border-radius: 12px;
  color: #fff;
  background: rgba(255,255,255,.08);
}
.site-footer__call span:last-child { display: grid; }
.site-footer__call small,
.site-footer__contact-list small {
  color: #777f88;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.site-footer__call strong { color: #fff; font-size: 1.04rem; }

.site-footer__content {
  display: grid;
  grid-template-columns: minmax(280px,1.25fr) repeat(2,minmax(190px,.7fr)) minmax(270px,.95fr);
  gap: clamp(28px, 4vw, 70px);
  width: 100%;
  padding: clamp(54px, 6vw, 92px) clamp(24px, 5vw, 84px) clamp(44px, 5vw, 72px);
}
.site-footer__brand-col,
.site-footer__column { min-width: 0; }
.site-footer__brand-link {
  display: inline-flex !important;
  margin: 0 0 24px !important;
  text-decoration: none;
}
.site-footer__logo {
  width: min(360px, 100%);
  max-height: 132px;
  object-fit: contain;
  object-position: left center;
}
.site-footer__copy {
  max-width: 42ch;
  margin: 0;
  color: #8f969f;
  font-size: .98rem;
}
.site-footer__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}
.site-footer__trust span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 999px;
  color: #cdd3d9;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.07);
  font-size: .82rem;
  font-weight: 800;
}
.site-footer__trust svg { width: 15px; height: 15px; color: #91e8ab; }
.site-footer__label {
  margin: 5px 0 22px;
  color: #fff;
  font-size: .74rem;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.site-footer__links {
  display: grid;
  gap: 2px;
}
.site-footer__links a {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 43px;
  margin: 0 !important;
  padding: 8px 0;
  color: #aeb4bc;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.055);
  transition: color .2s ease, padding-left .2s ease, border-color .2s ease;
}
.site-footer__links a:hover {
  color: #fff;
  padding-left: 6px;
  border-color: rgba(255,255,255,.14);
}
.site-footer__links svg {
  width: 15px;
  height: 15px;
  opacity: .5;
  transition: transform .2s ease, opacity .2s ease;
}
.site-footer__links a:hover svg { transform: translateX(3px); opacity: 1; }
.site-footer__contact-list { display: grid; gap: 10px; }
.site-footer__contact-list > a,
.site-footer__address {
  display: flex !important;
  align-items: flex-start;
  gap: 13px;
  margin: 0 !important;
  padding: 14px;
  border-radius: 16px;
  color: #aeb4bc;
  text-decoration: none;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.065);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.site-footer__contact-list > a:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.12);
}
.site-footer__contact-icon {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, rgba(239,31,37,.18), rgba(15,148,55,.16));
}
.site-footer__contact-icon svg { width: 17px; height: 17px; }
.site-footer__contact-list > a > span:last-child,
.site-footer__address > span:last-child { display: grid; gap: 2px; min-width: 0; }
.site-footer__contact-list strong,
.site-footer__address strong {
  color: #e4e7ea;
  font-size: .91rem;
  font-weight: 750;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  margin: 0;
  padding: 22px clamp(24px, 5vw, 84px) 26px;
  color: #686f77;
  font-size: .78rem;
  border-top: 1px solid rgba(255,255,255,.07);
  background: rgba(0,0,0,.16);
}
.site-footer__bottom > div { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.site-footer__dot { color: rgba(255,255,255,.22); }
.site-footer__backtop {
  display: inline-flex !important;
  align-items: center;
  gap: 9px;
  margin: 0 !important;
  color: #aeb4bc !important;
  text-decoration: none;
  font-weight: 800;
  transition: color .2s ease, transform .2s ease;
}
.site-footer__backtop:hover { color: #fff !important; transform: translateY(-2px); }
.site-footer__backtop span { font-size: 1rem; }

@media (max-width: 1120px) {
  .site-footer__cta { grid-template-columns: 1fr; }
  .site-footer__cta-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-footer__content { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .site-footer__cta-wrap { padding: 22px 14px 0; }
  .site-footer__cta {
    padding: 28px 20px;
    border-radius: 24px;
    gap: 28px;
  }
  .site-footer__cta h2 { font-size: clamp(2.2rem, 12vw, 3.6rem); max-width: none; }
  .site-footer__cta-actions { grid-template-columns: 1fr; }
  .site-footer__content {
    grid-template-columns: 1fr;
    gap: 38px;
    padding: 52px 20px 42px;
  }
  .site-footer__logo { width: min(310px, 86vw); }
  .site-footer__copy { max-width: 100%; }
  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
    padding: 20px 20px 24px;
  }
}

/* v1.6.5 — CTA alignment + Google Maps / Waze route links */
.site-footer__primary-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 11px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  line-height: 1.15;
  text-align: center;
  white-space: normal;
}
.site-footer__primary-cta .icon-wrap {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  display: inline-grid;
  place-items: center;
}
.site-footer__primary-cta > span:last-child {
  display: inline-block;
  line-height: 1.15;
}

.site-header__route-links {
  display: flex;
  align-items: center;
  gap: 8px;
}
.route-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  margin: 0;
  padding: 0 11px;
  border-radius: 13px;
  color: #e9edf1;
  text-decoration: none;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.085);
  transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.route-link:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.085);
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}
.route-link__icon {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 22px;
}
.route-link__icon svg { width: 100%; height: 100%; display: block; }
.route-link__label { font-size: .78rem; font-weight: 850; line-height: 1; white-space: nowrap; }
.route-link--waze .route-link__icon { color: #67d7f4; }

.site-footer__routes {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.site-footer__routes-label {
  margin: 0 0 10px;
  color: #777f88;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.site-footer__route-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.site-footer__route-card {
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) 18px;
  align-items: center;
  gap: 10px;
  min-height: 70px;
  margin: 0 !important;
  padding: 12px !important;
  border-radius: 16px;
  color: #e8ebef !important;
  text-decoration: none;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.075);
  transition: transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.site-footer__route-card:hover {
  transform: translateY(-3px);
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 16px 30px rgba(0,0,0,.18);
}
.site-footer__route-logo {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(255,255,255,.96);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.06);
}
.site-footer__route-logo svg { width: 24px; height: 24px; display: block; }
.site-footer__route-logo--waze {
  color: #48c7e6;
  background: rgba(255,255,255,.95);
}
.site-footer__route-card > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.site-footer__route-card small {
  color: #737b84;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.site-footer__route-card strong {
  color: #fff;
  font-size: .82rem;
  line-height: 1.15;
}
.site-footer__route-arrow {
  width: 17px;
  height: 17px;
  color: #747b84;
  transition: transform .22s ease, color .22s ease;
}
.site-footer__route-arrow svg { width: 100%; height: 100%; }
.site-footer__route-card:hover .site-footer__route-arrow { transform: translateX(3px); color: #fff; }

@media (max-width: 1360px) {
  .route-link__label { display: none; }
  .route-link { width: 42px; padding: 0; }
}
@media (max-width: 1120px) {
  .site-header__route-links { display: flex; }
  .site-footer__route-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px) {
  .site-header__route-links { gap: 6px; }
  .route-link { width: 40px; min-height: 40px; border-radius: 12px; }
  .route-link__icon { width: 21px; height: 21px; flex-basis: 21px; }
}
@media (max-width: 720px) {
  .site-footer__primary-cta { width: 100%; min-height: 58px; }
  .site-footer__route-grid { grid-template-columns: 1fr; }
  .site-footer__route-card { min-height: 66px; }
}
@media (max-width: 520px) {
  .site-header__route-links { display: none; }
}

/* v1.6.5 CTA color hardening against legacy footer link rules */
.site-footer.site-footer--premium .site-footer__primary-cta,
.site-footer.site-footer--premium .site-footer__primary-cta:hover,
.site-footer.site-footer--premium .site-footer__primary-cta:focus-visible {
  color: #fff !important;
  text-decoration: none !important;
}


/* v1.6.6 — Testimonios en carrusel con avatares */
.testimonials-carousel { position:relative; }
.testimonials-carousel__viewport { overflow:hidden; }
.testimonials-carousel__track { display:flex; gap:20px; transform:translate3d(0,0,0); transition:transform .7s cubic-bezier(.2,.65,.2,1); will-change:transform; }
.testimonial-slide { flex:0 0 calc((100% - 60px)/4); min-width:0; }
.testimonials-carousel__dots { margin-top:24px; }
.testimonial-card { height:100%; display:flex; flex-direction:column; }
.testimonial-card__header { display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.testimonial-card__avatar { width:64px; height:64px; border-radius:50%; overflow:hidden; flex:0 0 auto; display:grid; place-items:center; background:linear-gradient(135deg, rgba(239,31,37,.16), rgba(15,148,55,.14)); border:1px solid rgba(17,20,26,.08); color:#15191e; font-weight:900; font-size:1.05rem; }
.testimonials .testimonial-card__avatar { border-color:rgba(17,20,26,.08); }
.testimonial-card__avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.testimonial-card__identity { display:grid; gap:4px; }
.testimonial-card__identity strong { color:#15191e; font-size:1.02rem; line-height:1.1; }
.testimonial-card__identity span { color:#6f7780; font-size:.92rem; }
.testimonial-card__quote { flex:1 1 auto; }
.testimonial-card__service { margin-top:18px; align-self:flex-start; padding:8px 12px; border-radius:999px; background:rgba(15,148,55,.08); color:#176f3a; border:1px solid rgba(15,148,55,.12); font-size:.8rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }

@media (max-width: 1230px) {
  .testimonial-slide { flex-basis: calc((100% - 40px)/3); }
}
@media (max-width: 920px) {
  .testimonial-slide { flex-basis: calc((100% - 20px)/2); }
}
@media (max-width: 640px) {
  .testimonial-slide { flex-basis: 100%; }
  .testimonial-card__header { margin-bottom:14px; }
}


/* v1.6.7 — Testimonials premium continuous carousel */
.testimonials { position:relative; overflow:hidden; background:
  radial-gradient(circle at 7% 10%, rgba(239,31,37,.055), transparent 24%),
  radial-gradient(circle at 92% 82%, rgba(15,148,55,.06), transparent 25%),
  #fff;
}
.testimonials-carousel__viewport { overflow:hidden; padding:8px 0 18px; mask-image:linear-gradient(90deg, transparent 0, #000 3%, #000 97%, transparent 100%); }
.testimonials-carousel__track { transition:none; align-items:stretch; }
.testimonial-slide { padding-block:4px; }
.testimonials .testimonial-card {
  min-height:330px;
  padding:24px;
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(247,249,250,.94));
  border:1px solid rgba(17,20,26,.075);
  box-shadow:0 16px 44px rgba(17,20,26,.08);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.testimonials .testimonial-card:hover {
  transform:translateY(-5px);
  border-color:rgba(15,148,55,.18);
  box-shadow:0 24px 58px rgba(17,20,26,.12);
}
.testimonial-card::after { content:"“"; right:22px; top:14px; font-family:Georgia,serif; font-size:5.3rem; color:rgba(15,148,55,.07) !important; }
.testimonial-card__header { position:relative; z-index:2; }
.testimonial-card__avatar { width:68px; height:68px; padding:3px; background:linear-gradient(135deg,var(--red),var(--green)); border:0; box-shadow:0 10px 26px rgba(0,0,0,.1); }
.testimonial-card__avatar img { border-radius:50%; border:3px solid #fff; }
.testimonial-card__identity strong { font-size:1.06rem; }
.testimonial-card__identity span { position:relative; padding-left:14px; }
.testimonial-card__identity span::before { content:""; position:absolute; left:0; top:50%; width:6px; height:6px; margin-top:-3px; border-radius:50%; background:var(--green); }
.testimonials .testimonial-card__stars { display:inline-flex; align-items:center; gap:1px; width:max-content; margin:0 0 16px; color:#f5b301; letter-spacing:.08em; font-size:1.08rem; text-shadow:0 1px 0 rgba(0,0,0,.04); }
.testimonial-card__quote p { font-size:1rem; line-height:1.66; color:#414850 !important; }
.testimonial-card__service { margin-top:20px; background:rgba(239,31,37,.055); border-color:rgba(239,31,37,.11); color:#9d2229; }
.testimonials-carousel__controls .carousel-control { color:#15191e; background:#fff; border-color:rgba(17,20,26,.1); box-shadow:0 8px 24px rgba(17,20,26,.07); }
.testimonials-carousel__controls .carousel-control:hover { background:#15191e; color:#fff; border-color:#15191e; }
.testimonials-carousel.is-paused .testimonial-card { border-color:rgba(17,20,26,.1); }

@media (max-width:640px) {
  .testimonials-carousel__viewport { mask-image:none; }
  .testimonials .testimonial-card { min-height:310px; padding:22px; }
  
}
