:root {
  --black: #101112;
  --coal: #17191b;
  --deep: #0b0c0e;
  --slate: #292b2e;
  --silver: #cfd2d4;
  --silver-light: #f1f2f3;
  --silver-mid: #a4a8ac;
  --line: rgba(255,255,255,.15);
  --ink: #222426;
  --muted: #6f757a;
  --paper: #f6f6f4;
  --white: #fff;
  --whatsapp: #24c45e;
  --wrap: 1232px;
  --font-heading: 'Montserrat', Arial, sans-serif;
  --font-body: 'Lato', Arial, sans-serif;
}
*,*::before,*::after { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:95px }
body { margin:0; background:var(--white); color:var(--ink); font:400 16px/1.65 var(--font-body); -webkit-font-smoothing:antialiased }
body.menu-open { overflow:hidden }
img,svg { max-width:100% }
img { display:block }
a { color:inherit; text-decoration:none }
button,select { font:inherit }
button { cursor:pointer }
:focus-visible { outline:2px solid #c3cbd1; outline-offset:5px }
::selection { background:#d7dce0; color:#171717 }
.wrap { width:min(var(--wrap),calc(100% - 88px)); margin-inline:auto }
.icon { width:20px; height:20px; display:inline-block; flex-shrink:0; stroke:currentColor; fill:none; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle }
.icon-library { width:0; height:0; position:absolute; pointer-events:none; overflow:hidden }
.skip-link { position:fixed; z-index:999; top:-80px; left:20px; background:#fff; color:#000; padding:12px 16px; border-radius:2px }
.skip-link:focus { top:16px }
.section { padding:112px 0 }
.section-dark { background:var(--black); color:var(--silver-light) }
.eyebrow { display:flex; align-items:center; gap:14px; color:#ced2d5; letter-spacing:.23em; font:700 10px/1.5 var(--font-heading); text-transform:uppercase }
.eyebrow .line { width:26px; height:1px; background:currentColor; opacity:.75 }
.eyebrow-dark { color:#60666a }
h1,h2,h3,p { margin-top:0 }
h1,h2,h3 { font-family:var(--font-heading); letter-spacing:-.045em; line-height:1.13 }
h2 { font-weight:600; font-size:clamp(34px,4vw,54px); }
h3 { font-weight:600 }
p { line-height:1.75 }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:11px; white-space:nowrap; font-family:var(--font-heading); font-size:12px; font-weight:700; letter-spacing:.015em; padding:16px 24px; border:1px solid transparent; transition:background .25s ease,color .25s ease,transform .25s ease,border-color .25s ease }
.btn:hover { transform:translateY(-2px) }
.btn .icon { width:17px; height:17px }
.btn-solid { color:#151617; background:linear-gradient(135deg,#f7f8f8,#c6cbce); border-color:#cbd0d3 }
.btn-solid:hover { background:#fff }
.btn-solid .arrow { margin-left:15px }
.btn-outline-light { border-color:#5d6266; background:transparent; color:#f0f1f1 }
.btn-outline-light:hover { background:#f5f5f5; color:#141515 }
.text-link { display:inline-flex; gap:12px; align-items:center; font-size:13px; font-weight:700; color:#e7e8e9; border-bottom:1px solid rgba(255,255,255,.35); padding-bottom:9px; transition:gap .2s,border-color .2s }
.text-link:hover { gap:19px; border-color:#fff }
.text-link .icon { width:17px; height:17px }
.text-link-dark { color:#292c2e; border-color:#6e7376 }

/* Navegación */
.site-header { position:fixed; top:0; left:0; right:0; z-index:70; background:rgba(12,13,14,.55); border-bottom:1px solid rgba(255,255,255,.13); backdrop-filter:blur(17px); -webkit-backdrop-filter:blur(17px); transition:background .2s,border-color .2s }
.site-header.is-scrolled,.site-header:has(.mobile-nav:not([hidden])) { background:rgba(11,12,13,.97); border-color:rgba(255,255,255,.19) }
.nav-wrap { display:flex; align-items:center; gap:30px; height:91px }
.nav-brand { display:block; flex-shrink:0; width:230px; overflow:hidden }
.nav-brand img { width:230px; height:auto; margin-left:-3px; transform:translateY(-1px) }
.desktop-nav { display:flex; align-items:center; justify-content:center; gap:25px; margin-left:auto }
.desktop-nav a { color:#c9ced1; font:500 11px/1 var(--font-heading); transition:color .2s; white-space:nowrap }
.desktop-nav a:hover { color:#fff }
.btn-header { flex-shrink:0; border:1px solid rgba(255,255,255,.35); color:#e8e9e9; background:rgba(255,255,255,.05); padding:13px 15px; font-size:10px; margin-left:7px }
.btn-header:hover { color:#101112; background:#e0e2e3; border-color:#e0e2e3 }
.btn-header .icon { width:15px; height:15px }
.menu-toggle,.mobile-nav { display:none }

/* Hero */
.hero { min-height:790px; position:relative; background:radial-gradient(circle at 77% 25%,#25282b 0,rgba(25,27,29,.25) 30%,transparent 53%),#0c0d0f; overflow:hidden; isolation:isolate }
.hero-bg { position:absolute; inset:0; z-index:-1; opacity:.11; background-image:linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.09) 1px,transparent 1px); background-size:94px 94px; mask-image:linear-gradient(to right,transparent 16%,#000 100%) }
.hero-grid { min-height:745px; padding-top:140px; padding-bottom:90px; display:grid; grid-template-columns:1.13fr .87fr; align-items:center; gap:65px }
.hero-copy { max-width:660px; z-index:2 }
.hero-copy h1 { margin:30px 0 26px; color:#f3f4f5; font-size:clamp(44px,4.9vw,76px); font-weight:600; line-height:1.14; letter-spacing:-.065em }
.hero-copy h1 em { font-style:normal; color:#b5bbbf; }
.hero-lead { max-width:565px; color:#abb0b4; font-size:17px; line-height:1.85; margin-bottom:34px }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:29px }
.hero-note { display:flex; gap:10px; color:#81888d; font-size:12px; margin-top:34px; align-items:center }
.hero-note .icon { width:17px; height:17px; color:#c4c9cb }
.hero-art { align-self:stretch; min-height:510px; max-height:590px; position:relative; margin-top:2px; border:1px solid #565a5d; box-shadow:15px 16px 0 -1px #17191b,15px 16px 0 0 #404348 }
.hero-photo { width:100%; height:100%; object-fit:cover; object-position:48% center; filter:grayscale(100%) contrast(1.04) brightness(.67) }
.hero-art-gradient { position:absolute; inset:0; background:linear-gradient(0deg,rgba(5,6,8,.9),transparent 53%),linear-gradient(130deg,rgba(0,0,0,.12),rgba(0,0,0,.05)) }
.hero-art-outline { position:absolute; inset:17px; border:1px solid rgba(255,255,255,.2); pointer-events:none }
.hero-glass-card { position:absolute; bottom:45px; left:-39px; display:flex; gap:17px; align-items:center; border:1px solid #707579; background:rgba(18,19,21,.89); backdrop-filter:blur(12px); padding:18px 25px; width:285px; min-height:112px; box-shadow:0 12px 35px rgba(0,0,0,.3) }
.card-mark { height:54px; width:43px; flex:0 0 43px; border-right:1px solid #63686b; display:flex; align-items:center }
.hero-glass-card span { display:block; font:600 9px/1.4 var(--font-heading); letter-spacing:.2em; color:#b6bbbf; margin-bottom:9px }
.hero-glass-card strong { display:block; font:500 14px/1.4 var(--font-heading); letter-spacing:-.03em; color:#f3f3f3 }
.hero-index { position:absolute; top:42px; right:-28px; transform:rotate(90deg) translateX(100%); transform-origin:right top; font:600 9px/1 var(--font-heading); letter-spacing:.26em; color:#e2e2e2 }
.hero-bottom { display:flex; justify-content:space-between; gap:20px; color:#92999d; font:600 9px/1.6 var(--font-heading); letter-spacing:.2em; padding-bottom:23px; text-transform:uppercase }
.down-arrow { font-size:15px; padding-left:10px; vertical-align:middle }

/* Indicadores */
.metrics { background:#1d1f21; border-bottom:1px solid #303337 }
.metrics-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 }
.metric { display:flex; align-items:center; gap:18px; min-height:147px; padding:23px 28px; color:#f5f5f5; border-left:1px solid rgba(255,255,255,.15) }
.metric:first-child { border-left:0; padding-left:0 }
.metric:last-child { padding-right:0 }
.metric-num { font:500 45px/1 var(--font-heading); letter-spacing:-.09em; white-space:nowrap }
.metric-num span { color:#8c9295; font-size:25px; vertical-align:top; padding:2px }
.metric-label { max-width:140px; color:#b7bdc1; font:500 11px/1.65 var(--font-heading) }
.metric-symbol { display:grid; place-items:center; border:1px solid rgba(255,255,255,.32); width:52px; height:52px; flex-shrink:0 }
.metric-symbol .icon { width:26px; height:26px }

/* Secciones de contenido */
.section-services { background:var(--paper) }
.section-top { display:flex; align-items:flex-end; justify-content:space-between; gap:60px; margin-bottom:48px }
.section-top h2 { margin:21px 0 0 }
.section-top > p { max-width:360px; color:#6d7276; font-size:15px; margin:0 0 2px }
.services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:#d9dcde; border:1px solid #d9dcde }
.service-card { background:#fff; min-height:340px; padding:29px 34px; display:flex; flex-direction:column; transition:background .25s,transform .25s }
.service-card:hover { background:#fafafa }
.service-card-head { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:40px }
.service-number { font:700 10px/1 var(--font-heading); letter-spacing:.1em; color:#8c9398 }
.service-icon { display:grid; place-items:center; height:51px; width:51px; border:1px solid #dce0e1; color:#31383c }
.service-icon .icon { width:25px; height:25px }
.service-card h3 { font-size:19px; line-height:1.36; letter-spacing:-.04em; margin:0 0 12px; color:#242729 }
.service-card p { color:#73797d; font-size:14px; line-height:1.72; margin-bottom:23px }
.service-link { display:inline-flex; gap:12px; align-items:center; justify-content:space-between; font:700 11px/1.5 var(--font-heading); color:#2b3033; margin-top:auto; border-top:1px solid #e5e7e8; padding-top:18px }
.service-link .icon { width:17px; height:17px; transition:transform .25s }
.service-link:hover .icon { transform:translate(3px,-3px) }
.service-card-featured { background:#25282b; color:#fff }
.service-card-featured:hover { background:#323639 }
.service-card-featured h3 { color:#fff }
.service-card-featured p { color:#c0c5c8 }
.service-card-featured .service-number,.service-card-featured .service-icon,.service-card-featured .service-link { color:#f2f2f2 }
.service-card-featured .service-icon { border-color:#666b6e }
.service-card-featured .service-link { border-color:#61676a }
.services-legal { font-size:12px; color:#777d80; margin:20px 0 0 }

/* Proceso */
.section-process { background:radial-gradient(circle at 5% 94%,#24272a,transparent 40%),#101214 }
.process-layout { display:grid; grid-template-columns:.95fr 1.05fr; gap:13%; align-items:start }
.process-intro h2 { margin:22px 0 22px; color:#f8f8f8; font-size:clamp(34px,3.8vw,50px) }
.process-intro h2 em { color:#a9afb3; font-style:normal }
.process-intro p { color:#a4aaae; max-width:430px; margin-bottom:32px }
.steps { border-top:1px solid #4a4f52 }
.step { display:flex; gap:23px; border-bottom:1px solid #45494c; padding:27px 0 28px }
.step > span { font:600 11px/1.7 var(--font-heading); color:#a8aeb2; min-width:37px }
.step h3 { font-size:18px; letter-spacing:-.025em; font-weight:600; margin:0 0 8px; color:#f6f6f6 }
.step p { color:#a4aaad; margin:0; font-size:14px; line-height:1.7 }

/* Nosotros */
.section-about { background:#fff }
.about-grid { display:grid; grid-template-columns:.91fr 1.09fr; gap:9%; align-items:center }
.about-media { height:565px; position:relative; background:#2d3133 }
.about-media > img { width:100%; height:100%; object-fit:cover; filter:grayscale(100%) contrast(1.05) }
.about-photo-badge { position:absolute; right:-25px; bottom:28px; display:flex; flex-direction:column; gap:5px; background:#181b1e; color:#fff; padding:17px 28px; box-shadow:0 17px 32px rgba(0,0,0,.16) }
.about-photo-badge span { font:600 24px/1.3 var(--font-heading); letter-spacing:.34em }
.about-photo-badge small { font:600 9px/1.5 var(--font-heading); letter-spacing:.11em; color:#b9c0c3 }
.about-text h2 { margin:22px 0 25px; max-width:615px }
.about-text > p { color:#6c7376; font-size:15px; line-height:1.9 }
.about-text strong { color:#363b3e }
.about-principles { border-top:1px solid #e0e2e4; margin-top:28px }
.about-principles > div { display:flex; gap:14px; align-items:flex-start; padding:16px 0; border-bottom:1px solid #e0e2e4; font-size:13px; color:#4e5459 }
.about-principles .icon { color:#3c4448; width:17px; height:17px }
.about-text .about-tagline { font-family:var(--font-heading); font-weight:600; color:#2e3437; margin:29px 0 0; font-size:14px }

/* Selector consulta */
.section-consult { background:linear-gradient(120deg,#25282b,#111315 55%,#242729); border-top:1px solid #3c4043; border-bottom:1px solid #414447 }
.consult-grid { display:grid; grid-template-columns:1fr .84fr; gap:10%; align-items:center }
.consult-grid h2 { color:#f5f6f6; margin:21px 0 18px; max-width:540px }
.consult-grid p { color:#aab0b3; max-width:495px; margin-bottom:0 }
.consult-panel { background:#f7f7f7; color:#25282a; padding:38px; border:1px solid #bfc4c7 }
.consult-panel label { display:block; font-family:var(--font-heading); font-size:12px; font-weight:700; color:#353a3d; margin-bottom:15px }
.select-wrap { position:relative }
.select-wrap::after { content:''; width:9px; height:9px; border-right:1.5px solid #50565a; border-bottom:1.5px solid #50565a; transform:rotate(45deg); position:absolute; right:19px; top:19px; pointer-events:none }
.consult-panel select { appearance:none; background:#fff; border:1px solid #cbd0d3; height:52px; padding:0 43px 0 16px; width:100%; color:#393f43; font:500 13px/1.3 var(--font-body) }
.consult-panel select:focus { outline:2px solid #6e787e; outline-offset:2px }
.consult-panel .btn-solid { background:#1c2022; border-color:#1c2022; color:#fff; margin-top:16px }
.consult-panel .btn-solid:hover { background:#3b4348 }
.btn-full { width:100% }
.consult-subnote { display:block; font-size:11px; line-height:1.65; color:#858a8d; text-align:center; margin-top:17px }

/* Testimonios */
.section-testimonials { background:#f5f6f6 }
.section-testimonials .section-top { margin-bottom:23px }
.placeholder-notice { display:flex; gap:12px; align-items:flex-start; border:1px solid #d0d5d8; color:#576166; font-size:12px; line-height:1.6; padding:13px 18px; background:#eceff0; margin-bottom:29px }
.placeholder-notice .icon { flex-shrink:0; width:19px; height:19px }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px }
.testimonial-card { display:flex; flex-direction:column; background:#fff; border:1px solid #e1e4e5; margin:0; padding:32px; min-height:285px }
.testimonial-card .quote { color:#a0a8ac; width:25px; height:25px; margin-bottom:28px }
.testimonial-card blockquote { margin:0; color:#42484b; font:400 17px/1.75 var(--font-body); flex:1 }
.testimonial-card figcaption { border-top:1px solid #e3e6e7; padding-top:19px; display:flex; align-items:center; gap:14px; margin-top:25px }
.mini-avatar { width:39px; height:39px; display:grid; place-items:center; border:1px solid #cfd4d6; color:#737c80; font:600 11px/1 var(--font-heading) }
.testimonial-card figcaption strong,.testimonial-card figcaption small { display:block }
.testimonial-card figcaption strong { font-size:11px; color:#2e3437; font-weight:700 }
.testimonial-card figcaption small { font-size:10px; color:#969fa3; margin-top:2px }

/* FAQ */
.section-faq { background:#fff }
.faq-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:10%; align-items:start }
.faq-intro h2 { margin:19px 0 20px }
.faq-intro p { color:#798084; font-size:15px }
.faq-intro .text-link { margin-top:13px }
.faq-items { border-top:1px solid #c9ced0 }
.faq-items details { border-bottom:1px solid #d8dcde }
.faq-items summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:30px; color:#262a2c; padding:23px 5px 23px 0; cursor:pointer; font:600 14px/1.6 var(--font-heading) }
.faq-items summary::-webkit-details-marker { display:none }
.faq-items summary .plus { width:19px; height:19px; color:#70787b; transition:transform .22s }
.faq-items details[open] .plus { transform:rotate(45deg) }
.faq-items details p { color:#70787c; margin:-3px 29px 23px 0; font-size:14px; line-height:1.8 }

/* Locations */
.section-locations { background:#171a1d }
.section-top-dark h2 { color:#fff }
.section-top-dark > p { color:#afb4b7 }
.locations-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:21px }
.location-card { border:1px solid #53585b; background:linear-gradient(130deg,#222528,#1a1d20); padding:35px 39px; min-height:290px; display:flex; flex-direction:column }
.location-top { display:flex; justify-content:space-between; align-items:center; font:700 10px/1.5 var(--font-heading); letter-spacing:.2em; color:#aab0b4 }
.location-top .icon { width:23px; height:23px }
.location-card h3 { color:#f3f4f4; font-size:26px; letter-spacing:-.04em; margin:28px 0 9px }
.location-card address { font-style:normal; color:#b9bfc1; line-height:1.75; font-size:14px }
.location-card > a { margin-top:auto; display:inline-flex; gap:9px; align-items:center; font:600 11px/1 var(--font-heading); color:#edf0f1; padding-top:18px }
.location-card > a .icon { width:15px; height:15px }
.location-card > a:hover { text-decoration:underline }

/* CTA final */
.section-final { background:radial-gradient(ellipse at 50% 35%,#2b2e31 0%,transparent 58%),#090b0d; text-align:center; padding:103px 0 115px; border-top:1px solid #4c5054 }
.final-inner { display:flex; flex-direction:column; align-items:center }
.final-inner > img { margin-bottom:20px }
.final-inner .eyebrow { letter-spacing:.17em }
.final-inner h2 { font-size:clamp(42px,5.6vw,75px); margin:24px 0 20px; letter-spacing:-.06em; color:#f4f5f5 }
.final-inner h2 em { color:#b7bdc0; font-style:normal }
.final-inner > p { max-width:520px; margin-bottom:30px; color:#9fa7ab; font-size:15px }
.final-phone { display:block; color:#d1d6d8; font:600 12px/1 var(--font-heading); letter-spacing:.19em; margin-top:27px }

/* Footer */
.site-footer { background:#0c0e0f; color:#c0c5c7 }
.footer-main { display:grid; grid-template-columns:2.15fr 1fr 1fr; gap:50px; padding:54px 0 48px }
.footer-brand > img { max-width:265px; height:auto; margin-left:-5px }
.footer-brand p { color:#929a9e; font-size:13px; margin:5px 0 0 }
.footer-col { display:flex; flex-direction:column; align-items:start; gap:10px }
.footer-col strong { text-transform:uppercase; letter-spacing:.14em; font:600 10px/1.5 var(--font-heading); margin-bottom:6px; color:#e7eaec }
.footer-col a,.footer-col span { font-size:12px; color:#a4abae }
.footer-col a:hover { color:#fff; text-decoration:underline }
.footer-bottom { display:flex; justify-content:space-between; gap:40px; border-top:1px solid #292e31; color:#838c90; padding:24px 0 34px; font-size:10px; line-height:1.6 }
.footer-bottom span:last-child { max-width:570px; text-align:right }

/* Fixed WhatsApp contact */
.wa-float { position:fixed; right:28px; bottom:27px; z-index:80; display:flex; align-items:center; justify-content:center; gap:10px; background:#1dbb58; color:#fff; border:2px solid #fff; border-radius:100px; min-height:60px; padding:0 18px; box-shadow:0 9px 29px rgba(0,0,0,.29); transition:transform .2s,background .2s }
.wa-float:hover { transform:translateY(-3px); background:#10a64b }
.wa-float .icon { width:30px; height:30px; stroke-width:1.75 }
.wa-float-label { font:700 12px/1.4 var(--font-heading) }

/* Legal */
.legal-page { background:#f6f7f7 }
.legal-container { padding:165px 0 110px; max-width:920px }
.legal-container .eyebrow { color:#70767a }
.legal-container h1 { font:600 clamp(38px,5vw,62px)/1.15 var(--font-heading); margin:25px 0 35px }
.legal-container h2 { font-size:22px; line-height:1.4; margin:32px 0 12px }
.legal-container p { color:#666e72; font-size:15px }
.legal-container .placeholder-notice { margin-bottom:40px }
.legal-container .btn { margin-top:24px }

/* reveal progressive enhancement */
[data-reveal] { opacity:0; transform:translateY(20px); transition:opacity .65s ease,transform .65s ease }
[data-reveal].is-visible { opacity:1; transform:none }

@media(max-width:1190px) {
  .wrap { width:min(var(--wrap),calc(100% - 64px)) }
  .desktop-nav { gap:16px }
  .nav-brand { width:195px }
  .nav-brand img { width:195px }
  .btn-header { padding:12px 12px }
  .hero-grid { gap:38px }
  .hero-copy h1 { font-size:clamp(44px,5vw,69px) }
  .hero-glass-card { left:-18px }
  .metric { padding:20px 18px }
  .metric:first-child { padding-left:0 }
  .metric-num { font-size:40px }
  .service-card { padding:26px; }
}
@media(max-width:980px) {
  .nav-wrap { height:76px }
  .nav-brand,.nav-brand img { width:220px }
  .desktop-nav,.nav-wrap>.btn-header { display:none }
  .menu-toggle { margin-left:auto; display:grid; place-items:center; width:47px; height:43px; color:#fff; background:none; border:1px solid rgba(255,255,255,.35) }
  .menu-toggle .icon { width:23px; height:23px }
  .menu-toggle .icon-close { display:none }
  .menu-toggle[aria-expanded="true"] .icon-menu { display:none }
  .menu-toggle[aria-expanded="true"] .icon-close { display:block }
  .mobile-nav:not([hidden]) { display:flex; flex-direction:column; position:absolute; top:76px; left:0; right:0; height:calc(100dvh - 76px); overflow-y:auto; background:#0d0f10; padding:25px max(32px,6%); gap:0; border-top:1px solid #303537 }
  .mobile-nav a { display:block; border-bottom:1px solid rgba(255,255,255,.14); padding:17px 0; color:#e1e4e6; font:600 14px/1.5 var(--font-heading) }
  .mobile-nav .mobile-nav-cta { display:flex; justify-content:space-between; align-items:center; margin-top:18px; padding:19px; color:#141617; background:#e1e4e6; border:0 }
  .hero-grid { padding-top:132px; min-height:700px; grid-template-columns:1.12fr .88fr; gap:25px }
  .hero-copy h1 { font-size:clamp(43px,5.8vw,58px) }
  .hero-lead { font-size:15px }
  .hero-art { min-height:500px; max-height:530px }
  .hero-glass-card { width:245px; bottom:30px; left:-25px; padding:16px }
  .hero-bottom { display:none }
  .metrics-grid { grid-template-columns:repeat(2,1fr) }
  .metric { border-top:1px solid #424649; min-height:125px; padding:20px 27px }
  .metric:first-child { padding-left:27px }
  .metric:nth-child(3) { border-left:0 }
  .section { padding:85px 0 }
  .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .service-card { min-height:326px }
  .process-layout { gap:7% }
  .about-grid { gap:7% }
  .about-media { height:480px }
  .faq-layout { gap:6% }
  .consult-grid { gap:7% }
  .consult-panel { padding:26px }
}
@media(max-width:700px) {
  html { scroll-padding-top:76px }
  .wrap { width:calc(100% - 40px) }
  .section { padding:73px 0 }
  h2 { font-size:clamp(31px,8vw,42px) }
  .eyebrow { font-size:9px; letter-spacing:.13em; gap:10px }
  .hero { min-height:unset }
  .hero-grid { display:flex; flex-direction:column; gap:44px; padding-top:132px; padding-bottom:66px; align-items:stretch; min-height:unset }
  .hero-copy { max-width:none }
  .hero-copy h1 { font-size:clamp(42px,9vw,59px); margin:20px 0 }
  .hero-lead { max-width:580px; font-size:15px; line-height:1.73 }
  .hero-actions { flex-direction:column; align-items:stretch; gap:20px }
  .hero-actions .btn { width:100% }
  .hero-actions .text-link { align-self:flex-start }
  .hero-note { font-size:11px; margin-top:26px; line-height:1.5 }
  .hero-art { min-height:350px; height:400px; max-height:420px; align-self:stretch; margin-left:9px; margin-right:9px }
  .hero-glass-card { left:-9px; bottom:23px; min-height:96px; max-width:260px }
  .hero-index { display:none }
  .metrics-grid { grid-template-columns:repeat(2,1fr) }
  .metric { min-height:130px; gap:11px; padding:18px 12px }
  .metric:first-child { padding-left:12px }
  .metric:nth-child(odd) { border-left:0 }
  .metric-num { font-size:35px }
  .metric-num span { font-size:19px }
  .metric-symbol { width:41px; height:41px }
  .metric-symbol .icon { width:21px; height:21px }
  .metric-label { font-size:10px }
  .section-top { flex-direction:column; align-items:flex-start; gap:18px; margin-bottom:35px }
  .section-top h2 { margin-top:15px }
  .section-top > p { max-width:none; font-size:14px }
  .services-grid { grid-template-columns:1fr }
  .service-card { min-height:268px; padding:28px }
  .service-card-head { margin-bottom:26px }
  .service-card h3 { font-size:19px }
  .process-layout,.about-grid,.consult-grid,.faq-layout { grid-template-columns:1fr; gap:42px }
  .process-intro h2 { font-size:clamp(33px,8vw,46px) }
  .step { padding:22px 0 }
  .about-media { height:390px; margin-right:11px }
  .about-photo-badge { right:-15px; padding:14px 20px }
  .about-text h2 { margin-top:18px }
  .consult-panel { padding:24px 18px }
  .testimonial-grid { grid-template-columns:1fr; gap:12px }
  .testimonial-card { min-height:230px; padding:26px }
  .faq-layout { gap:30px }
  .faq-items summary { font-size:13px; padding:18px 0 }
  .locations-grid { grid-template-columns:1fr; gap:14px }
  .location-card { min-height:250px; padding:27px }
  .section-final { padding:90px 0 }
  .final-inner h2 { font-size:clamp(39px,9vw,56px) }
  .final-inner .eyebrow { text-align:center; font-size:8px }
  .footer-main { grid-template-columns:1fr 1fr; gap:30px 20px; padding:48px 0 38px }
  .footer-brand { grid-column:1/-1 }
  .footer-bottom { display:flex; flex-direction:column; gap:12px; padding:20px 0 35px }
  .footer-bottom span:last-child { text-align:left }
  .wa-float { right:17px; bottom:17px; min-height:56px; min-width:56px; padding:0 13px }
  .wa-float-label { display:none }
  .legal-container { padding:130px 0 80px }
}
@media(max-width:390px) {
  .wrap { width:calc(100% - 30px) }
  .nav-brand,.nav-brand img { width:194px }
  .hero-copy h1 { font-size:40px }
  .hero-art { height:330px; min-height:330px }
  .metrics-grid { grid-template-columns:1fr 1fr }
  .metric { flex-direction:column; align-items:flex-start; gap:6px }
  .metric-label { max-width:135px }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important }
  [data-reveal] { opacity:1!important; transform:none!important }
}
