@font-face{font-family:"Barlow Condensed";src:url("./assets/fonts/BarlowCondensed-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url("./assets/fonts/Inter-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url("./assets/fonts/Inter-SemiBold.ttf") format("truetype");font-weight:600;font-style:normal;font-display:swap}

:root{--red:#e10600;--red-hover:#bd0500;--ink:#111317;--paper:#f5f5f2;--steel:#8a8f96;--muted:#626972;--line:#dfe1de;--blue:#26a9e0;--max:1240px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:130px;color-scheme:light}
body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.6 Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body,input,select,button{font-synthesis:none}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img{display:block;max-width:100%;height:auto}
figure,p,h1,h2,h3{margin:0}
h1,h2,h3,.step-number{font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif;font-weight:700;line-height:1.02}
h1{font-size:clamp(62px,6.7vw,96px);letter-spacing:-.022em}
h2{font-size:clamp(44px,4.6vw,66px);letter-spacing:-.018em}
h3{font-size:36px;letter-spacing:-.01em}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
::selection{background:var(--red);color:white}
.container{width:min(var(--max),calc(100% - 112px));margin-inline:auto}
.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:12px 20px;background:var(--ink);color:#fff;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:56px;padding:17px 24px;border:1px solid transparent;border-radius:6px;background:var(--red);color:#fff;font:600 14px/1.3 Inter,Arial,sans-serif;text-align:center;transition:background-color .2s,box-shadow .2s,transform .2s}
.button:hover{background:var(--red-hover);box-shadow:0 6px 18px #e106001a}
.button:active{transform:translateY(1px)}
.button .arrow{width:20px;height:20px;flex:none;filter:brightness(0) invert(1);transition:transform .2s}
.button:hover .arrow{transform:translateX(3px)}
.button:disabled{cursor:not-allowed;opacity:.65;transform:none;box-shadow:none}
.button:disabled:hover{background:var(--red)}
.text-link{font-size:13px;font-weight:600;text-underline-offset:5px;text-decoration:underline;text-decoration-color:#a8acaf;transition:color .2s}
.text-link:hover{color:var(--red)}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:20px;color:var(--red);font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.13em;text-transform:uppercase}
.eyebrow::before{content:"";flex:none;width:24px;height:1px;background:currentColor}

/* A compact header leaves the opening composition in focus. */
.site-header{position:sticky;z-index:20;top:0;background:#fffffff5;border-bottom:1px solid #11131708;backdrop-filter:blur(14px)}
.header-inner{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:block;flex:none;width:112px}
.brand img{width:112px;height:112px;object-fit:contain}
.desktop-nav{display:flex;align-items:center;gap:36px;margin-left:70px}
.desktop-nav a{padding:10px 0;font-size:13px;color:#53585f;transition:color .2s}
.desktop-nav a:hover{color:var(--red)}
.header-cta{min-height:46px;padding:12px 18px;gap:18px;background:transparent;border-color:#d9dcd8;color:var(--ink);font-size:12px;white-space:nowrap}
.header-cta .arrow{width:18px;height:18px;filter:none}
.header-cta:hover{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:none}
.header-cta:hover .arrow{filter:brightness(0) invert(1)}
.menu-toggle{border:0;background:transparent;padding:10px;min-width:44px;min-height:44px;border-radius:4px}
.mobile-nav{border-top:1px solid var(--line);padding:10px 24px 24px;background:white}
.mobile-nav a{display:block;padding:13px 0;font-size:15px}
.mobile-nav a:hover{color:var(--red)}

/* One strong architectural image and a restrained brand signature. */
.hero-shell{background:var(--paper)}
.hero{display:grid;grid-template-columns:1.02fr 1fr;gap:56px;align-items:center;padding-block:52px 66px}
.hero-copy{padding:14px 0 18px}
.hero-copy h1{max-width:570px;text-wrap:balance}
.hero-copy h1 span{display:block;color:var(--red)}
.hero-description{max-width:430px;margin-top:28px;font-size:18px;line-height:1.65;color:var(--muted)}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:32px}
.hero-cta{min-width:232px}
.hero-figure{position:relative;align-self:center;margin-left:14px;padding-bottom:24px}
.hero-image-frame{overflow:hidden;border-radius:8px 60px 8px 8px;background:#d9ddd6}
.hero-image{width:100%;height:auto;aspect-ratio:5/6;object-fit:cover;object-position:50% 55%}
.image-signature{position:absolute;left:-36px;bottom:54px;max-width:calc(100% - 10px);padding:21px 30px 23px;border-left:3px solid var(--red);background:#fff;border-radius:0 5px 5px 0;box-shadow:0 10px 40px #1113170c}
.image-signature span{display:block;font-size:9px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.image-signature strong{display:block;margin-top:5px;font-family:"Barlow Condensed",sans-serif;font-size:29px;line-height:1.1;font-weight:700}

/* Open columns and hairline dividers keep the service offering light. */
.services{padding-block:94px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px}
.section-heading .eyebrow{margin-bottom:18px}
.section-intro{max-width:330px;color:var(--muted);font-size:15px;line-height:1.8;padding-bottom:5px}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:50px;border-top:1px solid var(--line)}
.service{cursor:pointer;touch-action:manipulation;position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:28px 28px 0;border-right:1px solid var(--line);transition:background-color .2s}
.service:first-child{padding-left:0}
.service:last-child{border-right:0;padding-right:0}
.service-number{font-size:11px;letter-spacing:.06em;color:#747a82;margin-bottom:23px}
.service h3{font-size:34px;min-height:2.04em}
.service p{margin:16px 0 22px;color:var(--muted);font-size:14px;line-height:1.75;max-width:220px}
.service-link{display:flex;align-items:center;gap:25px;min-height:44px;margin-top:auto;font-size:11px;font-weight:600;color:#555c65}
.service-link img{width:18px;height:18px;opacity:.7;transition:transform .2s}
.service:hover .service-link,.service:focus-visible .service-link{color:var(--red)}
.service:hover .service-link img,.service:focus-visible .service-link img{transform:translateX(4px)}

.process{padding-block:80px;background:var(--ink);color:#fff}
.process .eyebrow{color:#c1c5cb}
.process .eyebrow::before{background:var(--red)}
.process .section-intro{color:#a9adb3;max-width:310px}
.process-grid{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin:50px 0 0;padding:0}
.process-grid li{border-top:1px solid #ffffff30;padding-top:24px}
.step-number{display:block;color:var(--red);font-size:25px;line-height:1;margin-bottom:22px}
.process h3{font-size:28px;line-height:1.1}
.process p:not(.eyebrow):not(.section-intro){margin-top:12px;color:#bfc2c8;font-size:14px;line-height:1.7;max-width:200px}

.faq{display:grid;grid-template-columns:.88fr 1.12fr;gap:80px;align-items:start;padding-block:94px}
.faq-heading>p:last-child{font-size:14px;line-height:1.7;color:var(--muted);margin-top:20px}
.faq-list{border-top:1px solid var(--line);margin-top:8px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;cursor:pointer;padding:25px 0;font-size:14px;font-weight:600;line-height:1.6}
.faq summary::-webkit-details-marker{display:none}
.faq summary img{flex:none;width:19px;height:19px;opacity:.55;transition:transform .2s}
.faq summary:hover{color:var(--red)}
.faq details[open] summary img{transform:rotate(180deg)}
.faq details p{padding:0 32px 24px 0;color:var(--muted);font-size:14px;line-height:1.8}

.contact{background:var(--paper);padding-block:80px}
.contact-grid{display:grid;grid-template-columns:1fr 1.06fr;gap:90px;align-items:center}
.contact-copy h2{max-width:390px;font-size:clamp(46px,4.4vw,62px);text-wrap:balance}
.contact-copy>p:not(.eyebrow){max-width:320px;color:var(--muted);font-size:16px;line-height:1.8;margin-top:23px}
.contact-signature{border-top:1px solid #d9dcd8;padding-top:23px;margin-top:35px;max-width:300px;font-size:12px;font-weight:600}
.contact-signature span{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:3px}
.contact-form{display:grid;gap:17px;border:1px solid #e4e6e1;border-radius:12px;background:white;padding:34px;box-shadow:0 12px 36px #11131704}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.field{min-width:0}
.field label{display:block;font-size:12px;font-weight:600;color:#444b54;margin-bottom:8px}
.field input,.field select{display:block;width:100%;min-height:50px;border:1px solid #dce0dc;border-radius:5px;background:#fcfcfb;color:var(--ink);font-size:13px;line-height:1.5;padding:13px 14px;transition:border-color .2s,background .2s}
.field input::placeholder{color:#787f87;opacity:1}
.field input:hover,.field select:hover{border-color:var(--steel)}
.field input:focus,.field select:focus{border-color:var(--ink);background:#fff}
.field select{appearance:none;background:#fcfcfb url("./assets/icons/chevron-down.svg") right 14px center/16px no-repeat;padding-right:42px}
.field input[aria-invalid="true"],.field select[aria-invalid="true"]{border-color:var(--red)}
.field-error{display:block;font-size:12px;line-height:1.5;color:#b10500;margin-top:6px}
.field-error:empty{display:none}
.submit-button{width:100%;min-height:52px;margin-top:3px}
.form-status{font-size:14px;line-height:1.6}
.whatsapp-link{justify-self:start}
.mobile-contact-bar{position:fixed;z-index:15;bottom:0;left:0;width:100%;background:#fffffff5;backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:12px 20px max(12px,env(safe-area-inset-bottom));box-shadow:0 -8px 30px #11131705}
.mobile-contact-bar .button{width:100%;min-height:48px;font-size:12px;padding:13px 16px;gap:20px}
.site-footer{display:flex;align-items:center;gap:30px;min-height:152px;padding-block:20px}
.footer-logo{width:100px;height:100px;object-fit:contain;flex:none}
.site-footer p{border-left:1px solid var(--line);padding-left:30px;font-size:11px;color:var(--muted);white-space:nowrap}
.site-footer strong{color:#3b424b;font-weight:600}
.footer-rule{height:1px;background:var(--line);flex:1;margin-left:16px}

@media(min-width:1600px){.hero{gap:80px}.hero-copy h1{font-size:98px}}
@media(max-width:1100px){
  .container{width:calc(100% - 72px)}
  .desktop-nav{gap:25px;margin-left:20px}
  .hero{gap:36px;padding-block:44px 54px}.hero-figure{margin-left:0}
  h1{font-size:clamp(62px,7.5vw,80px)}
  .hero-description{font-size:16px;max-width:360px}.hero-actions{gap:20px}.hero-actions .text-link{font-size:12px}
  .image-signature{left:-20px;padding:18px 22px;bottom:46px}.image-signature strong{font-size:25px}
  .section-intro{max-width:280px;font-size:14px}
  .services,.faq{padding-block:76px}.service{padding-inline:22px}.service h3{font-size:31px}
  .process{padding-block:66px}.process-grid{gap:24px}
  .faq{gap:50px}.contact-grid{gap:45px}.contact-form{padding:26px}.contact{padding-block:66px}
}
@media(max-width:760px){
  html{scroll-padding-top:102px}body{padding-bottom:0}
  .container{width:calc(100% - 40px)}
  .header-inner{min-height:90px;gap:12px}.brand,.brand img{width:88px;height:88px}
  .desktop-nav{display:none}.header-cta{margin-left:auto;padding:10px 13px;min-height:40px;font-size:11px;gap:10px}.header-cta .arrow{width:15px;height:15px}
  .menu-toggle:not([hidden]){display:block;padding:9px}.menu-toggle img{width:22px;height:22px}
  .hero{grid-template-columns:1fr;gap:32px;padding-block:34px 38px}
  .hero-copy{padding:0}.eyebrow{font-size:10px;letter-spacing:.1em;gap:10px;margin-bottom:20px}.eyebrow::before{width:19px}
  h1{font-size:clamp(58px,13vw,78px);line-height:.99;letter-spacing:-.018em}
  .hero-copy h1{max-width:450px;text-wrap:initial}.hero-copy h1 span{display:block}
  .hero-description{font-size:15px;line-height:1.75;margin-top:23px;max-width:400px}
  .hero-actions{margin-top:26px;gap:22px}.hero-cta{min-width:0;width:100%;min-height:52px;font-size:13px;justify-content:space-between;padding-inline:22px}
  .hero-actions .text-link{display:none}
  .hero-figure{margin:0;padding-bottom:27px}.hero-image-frame{border-radius:7px 36px 7px 7px}
  .hero-image{aspect-ratio:1.15;object-position:center 64%}
  .image-signature{bottom:48px;left:-1px;padding:15px 20px;max-width:90%}.image-signature strong{font-size:25px}.image-signature span{font-size:8px}
  h2{font-size:46px;line-height:1.02}
  .services{padding-block:56px}
  .section-heading{display:block}.section-heading .eyebrow{margin-bottom:18px}.section-intro{font-size:14px;line-height:1.75;margin-top:22px;max-width:350px;padding:0}
  .services-grid{grid-template-columns:1fr;gap:0;margin-top:30px}
  .service{display:grid;grid-template-columns:30px 1fr 30px;column-gap:14px;padding:23px 0!important;border-right:0;border-bottom:1px solid var(--line);align-items:center}
  .service-number{grid-row:1/3;align-self:start;padding-top:7px;margin:0;font-size:10px}
  .service h3{font-size:31px;min-height:0;grid-column:2;grid-row:1}
  .service p{grid-column:2;grid-row:2;margin:9px 0 0;max-width:230px;font-size:14px;line-height:1.6}
  .service-link{grid-column:3;grid-row:1/3;align-self:center;justify-content:center;min-width:44px;min-height:44px;margin:0;position:relative;left:-7px}
  .service-link span{display:none}.service-link img{width:19px;height:19px}
  .process{padding-block:54px}.process h2{font-size:48px}.process .section-intro{max-width:300px;font-size:14px;margin-top:21px}
  .process-grid{display:block;margin-top:36px;padding-left:10px}
  .process-grid li{display:grid;grid-template-columns:32px 1fr;column-gap:20px;position:relative;border-top:0;border-left:1px solid #ffffff30;padding:0 0 29px 26px}
  .process-grid li:last-child{padding-bottom:0;border-left-color:transparent}
  .process-grid li::before{content:"";width:7px;height:7px;position:absolute;left:-4px;top:9px;background:#e10600;border-radius:50%}
  .step-number{grid-column:1;grid-row:1/3;margin:0;font-size:22px;line-height:1.2}
  .process h3{grid-column:2;font-size:27px;line-height:1.1}
  .process p:not(.eyebrow):not(.section-intro){grid-column:2;font-size:14px;margin-top:6px;max-width:235px}
  .faq{grid-template-columns:1fr;gap:30px;padding-block:56px}.faq-heading h2 br{display:none}.faq-heading h2{font-size:45px}.faq-heading>p:last-child{margin-top:16px;font-size:13px}.faq-list{margin-top:0}
  .faq summary{font-size:14px;gap:16px;padding-block:23px}.faq details p{font-size:14px;padding-right:10px}
  .contact{padding-block:54px}.contact-grid{grid-template-columns:1fr;gap:30px}
  .contact-copy h2{font-size:48px;max-width:380px;text-wrap:balance}.contact-copy>p:not(.eyebrow){font-size:14px;margin-top:20px;max-width:280px}
  .contact-signature{display:none}
  .contact-form{padding:24px 20px;border-radius:10px;gap:18px}.form-row{grid-template-columns:1fr;gap:18px}
  .field label{font-size:12px;margin-bottom:8px}.field input,.field select{min-height:52px;font-size:16px;padding:13px 12px}.field select{padding-right:38px}
  .submit-button{min-height:52px;font-size:13px}
  .site-footer{gap:20px;min-height:125px;padding-block:17px}.footer-logo{width:84px;height:84px}.site-footer p{font-size:10px;line-height:1.8;white-space:normal;padding-left:20px}.footer-rule{display:none}
}
@media(max-width:380px){
  .container{width:calc(100% - 36px)}.header-inner{gap:7px}.brand,.brand img{width:78px;height:78px}.header-cta{font-size:10px;padding-inline:11px}.header-cta .arrow{display:none}.hero{padding-top:29px}h1{font-size:56px}.contact-form{padding-inline:18px}.service{column-gap:10px}.process-grid li{column-gap:15px;padding-left:20px}.image-signature strong{font-size:23px}
}
@media(prefers-reduced-motion:no-preference){
  .hero-copy{animation:arrive .65s both}.hero-figure{animation:arrive .75s .1s both}
  @keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


.service:focus-visible{outline:3px solid var(--blue);outline-offset:4px;z-index:1}
.service:active{background-color:#edeeea}
@media(hover:hover){.service:hover{background-color:var(--paper)}}

/* WhatsApp: fixed-size target and unmodified vector proportions. */
.whatsapp-float{position:fixed;z-index:16;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:center;width:56px;height:56px;min-width:56px;min-height:56px;padding:0;line-height:1;flex-shrink:0;border:0;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 4px 16px #11131729;touch-action:manipulation;transition:background-color .18s,box-shadow .18s}
.whatsapp-float img{display:block;width:32px;height:32px;max-width:none;flex:none;object-fit:contain;pointer-events:none;user-select:none}
.whatsapp-float:active{background:#1ebe5b}
@media(hover:hover){.whatsapp-float:hover{background:#1ebe5b;box-shadow:0 6px 20px #11131733}}
@media(max-width:760px){
  .whatsapp-float{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .mobile-contact-bar:not([hidden])~.whatsapp-float{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  .site-footer{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none}}

/* Preserve the camera focal point in the shorter mobile image crop. */
@media(max-width:760px){.hero-image{object-position:center 12%}}

/* Contact window: native dialog handles focus, Escape and background isolation. */
.whatsapp-dialog{position:fixed;inset:auto 24px 92px auto;margin:0;padding:0;width:400px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 120px);border:0;border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 20px 70px #11131740;overflow:hidden}
.whatsapp-dialog[open]{display:flex;flex-direction:column}
.whatsapp-dialog::backdrop{background:#11131755;backdrop-filter:blur(3px)}
.chat-header{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--ink);color:white;flex:none;border-bottom:3px solid var(--red)}
.chat-avatar{width:60px;height:60px;flex:none;border-radius:10px;background:white;object-fit:contain;padding:3px}
.chat-heading{flex:1;min-width:0}.chat-heading h2{font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif;font-size:28px;line-height:1.05;letter-spacing:0;font-weight:700;color:white}.chat-heading p{font-size:11px;color:#d2d4d7;margin-top:2px;line-height:1.4}
.chat-close{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:white;font-size:29px;line-height:1;padding:0}.chat-close:hover{background:#ffffff20}.chat-close:focus-visible{outline-color:white;outline-offset:0}
.chat-body{overflow-y:auto;overscroll-behavior:contain;padding:18px;min-height:0;scrollbar-gutter:stable}
.chat-greeting{background:#fff;border-radius:0 10px 10px;border-left:3px solid var(--red);padding:12px 14px;margin:0 0 14px;font-size:13px;line-height:1.65;box-shadow:0 1px 2px #1113170a}
.chat-greeting strong{display:block;color:var(--ink);margin-bottom:5px;font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif;font-size:24px;line-height:1.1;font-weight:700}
.whatsapp-dialog .contact-form{padding:18px;border-radius:12px;gap:14px;border:0;box-shadow:0 2px 8px #11131708}
.whatsapp-dialog .form-row{grid-template-columns:1fr;gap:14px}
.whatsapp-dialog .field label{font-size:12px;margin-bottom:6px}
.whatsapp-dialog .field input,.whatsapp-dialog .field select{font-size:16px;min-height:46px;padding:10px 12px}
.whatsapp-dialog .field select{padding-right:36px}
.whatsapp-dialog .submit-button,.whatsapp-dialog .whatsapp-link{background:var(--red);color:white;min-height:48px;font-size:13px;width:100%;justify-content:center}
.whatsapp-dialog .submit-button:hover,.whatsapp-dialog .whatsapp-link:hover{background:var(--red-hover)}
.whatsapp-dialog .form-status{font-size:12px;line-height:1.6}
@media(max-width:760px){.whatsapp-dialog{inset:auto 12px calc(12px + env(safe-area-inset-bottom,0px)) 12px;width:auto;max-width:none;max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px));border-radius:16px}.chat-body{padding:14px}.chat-header{padding:12px 14px}}

.whatsapp-dialog .field input:focus,.whatsapp-dialog .field select:focus{outline:2px solid var(--red);outline-offset:2px;border-color:var(--red)}

/* Grupo 2W footer */
.site-footer{display:block;position:relative;background:var(--ink);color:#fff;min-height:0;padding:0;border-top:1px solid #ffffff0d}
.site-footer::before{content:"";display:block;width:72px;height:3px;background:var(--red);margin-left:max(20px,calc((100% - 1240px)/2))}
.footer-main{display:grid;grid-template-columns:1.65fr .75fr 1fr;gap:64px;padding-block:52px 44px;align-items:start}
.footer-brand-block{display:flex;align-items:center;gap:24px}
.footer-brand-mark{display:grid;place-items:center;width:112px;height:112px;flex:none;background:#fff;border-radius:14px}
.site-footer .footer-logo{width:104px;height:104px;object-fit:contain}
.site-footer p{border:0;padding:0;white-space:normal;margin:0}
.site-footer .footer-brand-title{font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif;font-weight:700;font-size:34px;line-height:1.08;color:#fff;max-width:220px}
.site-footer .footer-segment{font-size:12px;color:#aeb3ba;margin-top:12px;line-height:1.6}
.site-footer .footer-label{color:#9ca2ab;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.footer-nav a{font-size:13px;line-height:1.5;padding:8px 0;min-height:36px;color:#e6e7e9}
.footer-contact{padding-top:0}.footer-contact-link{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:10px 0;border-bottom:1px solid #ffffff30;font-size:18px;font-weight:600;color:#fff}
.footer-contact-link svg{width:22px;height:22px;flex:none;color:#ff423c}
.site-footer .footer-contact-note{margin-top:13px;color:#aeb3ba;font-size:12px;line-height:1.6}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:77px;border-top:1px solid #ffffff1a;padding-block:18px}
.site-footer .footer-bottom p{font-size:11px;color:#9097a0}
.footer-back-top{display:flex;align-items:center;gap:12px;min-height:44px;font-size:11px;color:#cdd0d5;padding:8px 0}.footer-back-top svg{width:16px;height:16px}
@media(hover:hover){.footer-nav a:hover,.footer-back-top:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}.footer-contact-link:hover{border-color:var(--red);color:#fff}}
@media(max-width:1100px){.footer-main{gap:32px;grid-template-columns:1.4fr .7fr 1fr}.footer-brand-block{gap:16px}.footer-brand-mark{width:88px;height:88px}.site-footer .footer-logo{width:82px;height:82px}.site-footer .footer-brand-title{font-size:29px}.footer-contact-link{font-size:16px}}
@media(max-width:760px){.site-footer{padding:0 0 calc(80px + env(safe-area-inset-bottom,0px))}.footer-main{grid-template-columns:1fr 1fr;gap:32px 24px;padding-block:34px 28px}.footer-brand-block{grid-column:1/-1;gap:22px;padding-bottom:26px;border-bottom:1px solid #ffffff1a}.site-footer .footer-brand-title{font-size:32px;max-width:210px}.footer-brand-mark{width:96px;height:96px}.site-footer .footer-logo{width:90px;height:90px}.footer-contact-link{font-size:14px;gap:6px;flex-wrap:wrap;justify-content:flex-start}.footer-contact-link svg{width:18px;height:18px}.footer-bottom{gap:16px;min-height:72px;padding-block:14px}.site-footer .footer-bottom p{font-size:10px;max-width:160px}.footer-back-top{font-size:10px;gap:8px;white-space:nowrap}.footer-nav a{min-height:44px}.footer-label{line-height:1.5}}

.site-footer .footer-chat-trigger{display:block;background:transparent;border:0;padding:8px 0;margin-top:5px;min-height:44px;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:4px}
@media(hover:hover){.site-footer .footer-chat-trigger:hover{color:#fff;text-decoration-color:var(--red)}}

/* Four service photographs share one image sheet; each tile is shown independently. */
.service-photo{position:relative;display:block;width:100%;aspect-ratio:1;overflow:hidden;border-radius:6px 24px 6px 6px;background:var(--paper);margin-bottom:20px;flex:none}
.service-photo img{position:absolute;display:block;width:200%;height:200%;max-width:none;left:0;top:0;object-fit:fill;pointer-events:none}
.service-photo-2 img{left:-100%}.service-photo-3 img{top:-100%}.service-photo-4 img{left:-100%;top:-100%}
.service .service-number{margin-bottom:12px}
@media(max-width:760px){
 .service{grid-template-columns:96px minmax(0,1fr) 22px;column-gap:16px;align-items:start}
 .service-photo{grid-column:1;grid-row:1/3;align-self:start;margin:0;border-radius:5px 18px 5px 5px}
 .service .service-number{display:none}
 .service h3{font-size:28px;grid-column:2;grid-row:1;min-height:0;line-height:1.05}
 .service p{grid-column:2;grid-row:2;font-size:13px;line-height:1.6;margin-top:8px;max-width:none}
 .service-link{grid-column:3;grid-row:1/3;align-self:center;left:-11px}
}
@media(max-width:380px){.service{grid-template-columns:80px minmax(0,1fr) 20px;column-gap:12px}.service h3{font-size:26px}.service p{font-size:12px}}

@media(min-width:761px){.service{padding:28px 22px 0!important}}

/* Branded, keyboard accessible service selector. Expansion stays inside the form. */
.service-picker{width:100%;min-width:0}
.service-picker-control{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:52px;padding:13px 14px;border:1px solid #dce0dc;border-radius:7px;background:#fcfcfb;color:var(--ink);font:inherit;font-size:14px;line-height:1.5;text-align:left;transition:border-color .18s,box-shadow .18s,background .18s}
.service-picker-control.is-placeholder{color:#69717a}
.service-picker-control:hover{border-color:#9b9fa4}
.service-picker-control:focus-visible,.service-picker.is-open .service-picker-control{outline:none;border-color:var(--red);box-shadow:0 0 0 3px #e1060012;background:#fff}
.service-picker-control[aria-invalid="true"]{border-color:var(--red)}
.picker-chevron{width:8px;height:8px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-right:3px;transition:transform .22s}
.is-open .picker-chevron{transform:rotate(225deg) translate(-2px,-1px);color:var(--red)}
.service-picker-panel{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .24s ease,opacity .18s ease,visibility .24s;pointer-events:none}
.service-picker.is-open .service-picker-panel{grid-template-rows:1fr;opacity:1;visibility:visible;pointer-events:auto}
.service-picker-clip{min-height:0;overflow:hidden}
.service-picker-list{margin:8px 0 3px;padding:6px;background:#fff;border:1px solid #e5e6e3;border-radius:10px;box-shadow:0 6px 18px #11131709;max-height:232px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c6c8c5 transparent}
.service-picker-option{position:relative;display:flex;align-items:center;min-height:44px;padding:11px 36px 11px 12px;border-radius:6px;color:var(--ink);font-size:13px;line-height:1.4;cursor:pointer;touch-action:manipulation}
.service-picker-option.is-active,.service-picker-option:hover{background:var(--paper)}
.service-picker-option[aria-selected="true"]{color:var(--red);background:#fff0ef;font-weight:600}
.service-picker-option[aria-selected="true"]::after{content:"";position:absolute;right:14px;width:6px;height:11px;border:solid var(--red);border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px)}
.whatsapp-dialog .service-picker-control{font-size:16px;min-height:48px}
.whatsapp-dialog .service-picker-list{max-height:196px}
@media(max-width:760px){.service-picker-control{font-size:16px}.service-picker-option{font-size:14px;min-height:48px}}
@media(prefers-reduced-motion:reduce){.service-picker-panel,.service-picker-control,.picker-chevron{transition:none}}
