
:root{
  --black:#111111;
  --black-2:#181818;
  --mist:#C5D5D6;
  --mist-2:#E8F0F0;
  --paper:#FFFFFF;
  --paper-soft:#F7F8F7;
  --ink:#17191A;
  --muted:#5F686A;
  --line:#E3E6E6;
  --gold:#B58D45;
  --shadow:0 24px 60px rgba(17,17,17,.13);
  --radius:24px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
svg{width:1em;height:1em;fill:currentColor;display:block}
:focus-visible{outline:3px solid #8CA7AA;outline-offset:3px;border-radius:6px}
.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-160%);z-index:999;background:#fff;color:#111;padding:10px 14px;border-radius:8px;font-weight:700}.skip-link:focus{transform:none}
.content-width{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.section-pad{padding:64px 0}
.soft-bg{background:var(--paper-soft)}
.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800;color:#748688}

.credit-strip{height:48px;background:var(--mist);display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;color:#111;padding-inline:max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-right));position:relative;z-index:90}
.strip-link{border:0;background:transparent;font-weight:600;font-size:13px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.strip-mark{width:35px;height:24px;justify-self:center}.strip-mark.mirror{transform:scaleX(-1)}
.site-header{background:#fff;position:relative;z-index:80}
.logo-zone{height:146px;display:grid;place-items:center;background:#fff}
.brand-button{border:0;background:transparent;padding:0;border-radius:12px}
.brand-button img{width:114px;height:114px;object-fit:cover;border:1px solid #292929;box-shadow:0 10px 25px rgba(0,0,0,.08)}
.nav-zone{background:#F6F7F6;border-top:1px solid #F0F1F0;border-bottom:1px solid #E6E8E7;position:sticky;top:0;z-index:85}
.nav-inner{width:min(100%,var(--max));height:78px;margin:auto;padding:0 20px;display:grid;grid-template-columns:56px 1fr minmax(210px,260px);align-items:center;gap:14px}
.menu-button{width:48px;height:48px;border:0;background:transparent;display:none;flex-direction:column;justify-content:center;gap:5px;padding:10px;border-radius:12px}
.menu-button span{height:2px;width:24px;background:#111;display:block}
.desktop-nav{display:flex;justify-content:center;align-items:center;gap:24px}
.desktop-nav button{border:0;background:transparent;padding:10px 0;font-size:12px;font-weight:700;color:#4B5051;position:relative}
.desktop-nav button::after{content:"";position:absolute;left:0;right:0;bottom:1px;height:2px;background:#111;transform:scaleX(0);transition:.2s}.desktop-nav button:hover::after,.desktop-nav button.active::after{transform:scaleX(1)}.desktop-nav button.active{color:#111}
.call-banner{text-align:right;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;line-height:1.2;padding:8px 0}
.call-banner span{font-size:13px}.call-banner strong{font-size:20px;margin-top:3px;font-weight:500}

.mobile-menu{position:fixed;inset:0;z-index:200;background:#fff;transform:translateX(-103%);opacity:0;visibility:hidden;transition:transform .32s ease,opacity .25s ease,visibility .32s;padding:max(14px,env(safe-area-inset-top)) 28px max(24px,env(safe-area-inset-bottom))}
.mobile-menu.open{transform:none;opacity:1;visibility:visible}.mobile-menu-head{height:66px;display:flex;align-items:center;justify-content:space-between}.mobile-menu-head img{width:56px;height:56px;object-fit:cover;border-radius:7px}.menu-close{border:0;background:transparent;font-size:48px;line-height:1;width:52px;height:52px;border-radius:12px}.mobile-menu-links{display:grid;margin-top:26px}.mobile-menu-links button{border:0;border-bottom:1px solid #DADDDD;background:transparent;text-align:left;font-size:30px;padding:20px 8px;color:#222}.mobile-menu-links button.active{font-weight:800}.mobile-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.action-pill{min-height:52px;display:grid;place-items:center;border-radius:10px;font-size:12px;font-weight:800}.action-pill-dark{background:#111;color:#fff}.action-pill-mist{background:var(--mist);color:#111}

.view{display:none}.view.active{display:block;animation:viewFade .28s ease both}@keyframes viewFade{from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:none}}
.home-hero{min-height:560px;position:relative;overflow:hidden;background:#111}.home-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%}.home-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.50) 0%,rgba(10,10,10,.24) 44%,rgba(10,10,10,.10) 100%),linear-gradient(180deg,rgba(10,10,10,.08),rgba(10,10,10,.22))}.hero-shell{position:relative;z-index:2;min-height:560px;width:min(calc(100% - 40px),var(--max));margin:auto;display:flex;align-items:center}.hero-card{width:min(520px,56%);background:rgba(232,240,240,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:34px 34px 30px;box-shadow:0 20px 52px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.58)}.hero-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:#4F5D5F;margin-bottom:13px}.hero-card h1,.dark-hero h1{font-family:Oswald,"Arial Narrow",sans-serif;text-transform:none;font-weight:700;letter-spacing:-.018em}.hero-card h1{font-size:clamp(44px,5vw,66px);line-height:1.03;margin:0 0 18px}.hero-card p{font-size:22px;line-height:1.35;margin:0 0 26px}.hero-whatsapp{min-height:66px;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;line-height:1.55;font-weight:800;letter-spacing:.22em;padding:14px 24px;transition:.2s}.hero-whatsapp:hover{background:#292929;transform:translateY(-2px)}
.home-welcome{text-align:center}.narrow-center{max-width:760px;text-align:center}.narrow-center h2,.copy-block h2,.section-heading h2,.info-panel h2,.service-body h2,.gallery-intro h2,.gift-copy h2,.contact-copy h2,.form-intro h2,.payment-copy h2{font-family:Oswald,"Arial Narrow",sans-serif;font-size:clamp(32px,4vw,48px);line-height:1.08;margin:0}.social-row{display:flex;justify-content:center;gap:13px;margin-top:25px}.social-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;transition:transform .2s,opacity .2s}.social-icon:hover{transform:translateY(-2px);opacity:.9}.social-icon svg{width:21px;height:21px}.fb{background:#1877F2}.ig{background:#E1306C}.li{background:#0A66C2}.tt{background:#111}
.split-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:58px;align-items:center}.media-frame{overflow:hidden;border-radius:8px;background:#e8ecec;box-shadow:0 14px 40px rgba(0,0,0,.08)}.media-frame img{width:100%;aspect-ratio:1.46/1;object-fit:cover}.about-preview .media-frame{background:#edf1f1}.about-preview .media-frame img{aspect-ratio:1.58/1;object-fit:contain;object-position:center center;background:#edf1f1}.copy-block p{font-size:15px;line-height:1.78;color:var(--muted);margin:18px 0 0}.copy-block .primary-button{margin-top:24px}.primary-button,.secondary-button{border:0;min-height:52px;padding:0 27px;font-size:11px;font-weight:800;letter-spacing:.18em;display:inline-flex;align-items:center;justify-content:center;transition:.2s}.primary-button{background:var(--mist);color:#111}.secondary-button{background:#111;color:#fff}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px);filter:brightness(.96)}
.section-heading{display:grid;grid-template-columns:1fr minmax(280px,480px);gap:30px;align-items:end;margin-bottom:30px}.section-heading p:last-child{color:var(--muted);font-size:14px;line-height:1.7;margin:0}.highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.highlight-card{background:#fff;border:1px solid var(--line);box-shadow:0 12px 34px rgba(0,0,0,.07);overflow:hidden}.highlight-card img{width:100%;aspect-ratio:1.28/1;object-fit:cover}.highlight-card>div{padding:21px}.highlight-card h3{font-family:Oswald,"Arial Narrow",sans-serif;font-size:25px;margin:0 0 8px}.highlight-card p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 15px}.highlight-card button{padding:0;border:0;background:transparent;font-size:10px;font-weight:800;letter-spacing:.16em;border-bottom:1px solid #111}.center-action{text-align:center;margin-top:30px}.luxury-band{background:#111;color:#fff;padding:30px 0}.luxury-band-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.luxury-band-inner span{display:block;color:#AFC1C3;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.luxury-band-inner strong{display:block;font-family:Oswald,"Arial Narrow",sans-serif;font-size:27px;margin-top:5px}.luxury-band-inner>a{font-size:18px}

.dark-hero{background:linear-gradient(120deg,#111 0 36%, transparent 36.1%), linear-gradient(90deg,#111 0 58%, var(--mist) 58% 100%);color:#fff;padding:68px 0;position:relative;overflow:hidden}.dark-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,0));pointer-events:none}.compact-hero .content-width,.dark-hero .content-width{position:relative;z-index:1}.dark-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.21em;color:#D7E2E2;margin:0 0 16px}.dark-hero h1{font-size:clamp(48px,6vw,76px);line-height:1.04;margin:0;max-width:850px;text-shadow:0 6px 24px rgba(0,0,0,.25)}.reverse-mobile .media-frame{order:2}.info-columns{display:grid;grid-template-columns:1fr 1fr;gap:26px}.info-panel{background:#fff;padding:34px;border-top:4px solid var(--mist);box-shadow:0 14px 35px rgba(0,0,0,.05)}.info-panel>span{font-family:Oswald,sans-serif;font-size:13px;color:#8B9DA0}.info-panel h2{font-size:34px;margin-top:18px}.info-panel p{color:var(--muted);line-height:1.75;font-size:14px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.value-card{border:1px solid var(--line);padding:28px;background:#fff}.value-card strong{font-family:Oswald,sans-serif;font-size:26px}.value-card p{color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:0}

.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.service-card{border:1px solid var(--line);background:#fff;box-shadow:0 15px 38px rgba(0,0,0,.06);display:grid;grid-template-columns:46% 54%;min-height:300px}.service-card:last-child{grid-column:1/-1;grid-template-columns:38% 62%}.service-image{position:relative;overflow:hidden;background:#e7e9e8}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.service-card:hover .service-image img{transform:scale(1.025)}.service-image span{position:absolute;left:16px;top:16px;background:rgba(17,17,17,.88);color:#fff;width:40px;height:40px;display:grid;place-items:center;font:600 15px Oswald,sans-serif}.service-body{padding:30px;display:flex;flex-direction:column;justify-content:center}.service-body h2{font-size:31px}.service-body p{font-size:13px;color:var(--muted);line-height:1.7;margin:13px 0 22px}.service-body a{font-size:10px;font-weight:800;letter-spacing:.16em;border-bottom:1px solid #111;width:max-content;padding-bottom:4px}.service-cta{background:var(--mist);padding:45px 0}.service-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.service-cta h2{font-family:Oswald,sans-serif;font-size:34px;margin:0}.service-cta .eyebrow{color:#516366}.service-cta .primary-button{background:#111;color:#fff}

.gallery-intro p{color:var(--muted);line-height:1.7}.gallery-section{padding:0 0 76px}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:230px;gap:14px}.gallery-item{border:0;padding:0;background:#ddd;overflow:hidden;position:relative}.gallery-item:first-child{grid-row:span 2}.gallery-item:nth-child(4){grid-column:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.035)}.gift-section{background:var(--paper-soft)}.gift-card{display:grid;grid-template-columns:1.15fr .85fr;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.gift-copy{padding:45px}.gift-copy p{color:var(--muted);line-height:1.7;margin:16px 0 24px}.gift-visual{min-height:330px;background:linear-gradient(145deg,#161616,#272727);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;color:#fff}.gift-visual img{width:150px;height:150px;object-fit:cover}.gift-visual span{font:600 12px Oswald,sans-serif;letter-spacing:.22em;color:#D7C39B}

.contact-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:52px;align-items:start}.contact-photo img{width:100%;aspect-ratio:1/1.05;object-fit:cover;object-position:center center}.contact-copy{padding-top:18px}.small-rule{width:48px;height:2px;background:#D9DEDE;margin:20px 0}.contact-lead{color:var(--muted);line-height:1.7;max-width:560px}.whatsapp-button{display:inline-flex;align-items:center;gap:10px;background:#526C78;color:#fff;padding:15px 18px;margin:14px 0 32px;font-weight:800;font-size:13px;border-radius:3px}.whatsapp-button svg{width:22px;height:22px}.contact-info h3{font-size:18px;margin:20px 0 10px}.contact-info p{font-size:14px;line-height:1.7;color:#454A4B}.contact-info a{color:#3E5B60}.hours-status{font-weight:700;color:#526C78!important}.form-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:start}.form-intro p{color:var(--muted);line-height:1.7}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:grid;gap:7px;font-size:12px;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #CDD3D3;background:#fff;padding:14px 13px;border-radius:0;font-size:14px}.contact-form textarea{resize:vertical;min-height:110px}.contact-form .full{grid-column:1/-1}.contact-form button.full{width:100%}

.payment-hero{text-align:center}.payment-hero .dark-kicker{justify-content:center}.payment-hero h1{margin-inline:auto}.social-on-dark{margin-top:30px}.social-on-dark .social-icon{background:#fff;color:#111}.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.payment-copy p{color:var(--muted);line-height:1.75}.payment-panel{background:#111;color:#fff;padding:38px}.payment-panel>span{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:#AFC1C3}.card-badges{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:23px 0}.card-badges b{background:#fff;color:#111;min-height:58px;display:grid;place-items:center;font-size:15px}.payment-brands .payment-brand{background:#fff;min-height:86px;display:flex;align-items:center;justify-content:center;padding:12px 16px}.payment-brands .payment-brand img{display:block;height:auto;max-width:100%}.payment-brand.visa img{width:86px}.payment-brand.mastercard img{width:100px}.payment-brand.amex img{width:90px}.payment-brand.discover img{width:114px}.payment-panel p{font-size:12px;line-height:1.6;color:#B7BCBD;margin-bottom:0}

.site-footer{background:#111;color:#fff;padding:44px 0 max(28px,calc(18px + env(safe-area-inset-bottom)))}.footer-inner{display:grid;grid-template-columns:1.1fr .75fr 1fr;gap:30px;align-items:start}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand img{width:64px;height:64px;object-fit:cover;border:1px solid #333}.footer-brand strong,.footer-brand span{display:block}.footer-brand strong{font-size:14px}.footer-brand span{font-size:10px;color:#91999A;margin-top:5px}.footer-nav{display:grid;gap:10px}.footer-nav button{border:0;background:transparent;color:#fff;text-align:left;font-size:10px;letter-spacing:.16em;padding:0}.footer-contact{text-align:left}.footer-contact .social-row{justify-content:flex-start;margin:0 0 20px}.footer-contact .social-icon{width:34px;height:34px;background:#fff;color:#111}.footer-contact .social-icon svg{width:17px;height:17px}.footer-contact>strong{display:block;font-size:13px}.footer-contact>a{display:block;margin-top:12px;font-size:12px;color:#C5D5D6}.copyright{border-top:1px solid #2A2A2A;margin-top:28px;padding-top:18px;text-align:center;color:#969A9B;font-size:10px;line-height:1.5}
.chat-float{position:fixed;z-index:110;right:max(18px,env(safe-area-inset-right));bottom:max(18px,calc(14px + env(safe-area-inset-bottom)));width:60px;height:60px;border-radius:50%;background:var(--mist);color:#111;display:grid;place-items:center;box-shadow:0 14px 34px rgba(0,0,0,.28);transition:.2s}.chat-float svg{width:28px;height:28px}.chat-float:hover{transform:translateY(-2px)}
.lightbox{border:0;background:transparent;padding:0;max-width:min(92vw,1000px);max-height:90vh;overflow:visible}.lightbox::backdrop{background:rgba(0,0,0,.86)}.lightbox img{max-width:92vw;max-height:84vh;object-fit:contain;background:#111}.lightbox button{position:absolute;right:0;top:-48px;border:0;background:#fff;color:#111;width:40px;height:40px;border-radius:50%;font-size:27px}.toast{position:fixed;z-index:250;left:50%;bottom:90px;transform:translate(-50%,20px);background:#111;color:#fff;padding:11px 15px;border-radius:999px;font-size:11px;font-weight:700;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}.reveal.in-view{opacity:1;transform:none}

@media(max-width:980px){
  .content-width{width:min(calc(100% - 32px),var(--max))}.logo-zone{height:124px}.brand-button img{width:96px;height:96px}.nav-inner{grid-template-columns:56px 1fr 220px}.menu-button{display:flex}.desktop-nav{display:none}.call-banner{grid-column:2/4;justify-self:center;align-items:center;text-align:center}.call-banner span{font-size:13px}.call-banner strong{font-size:21px}.nav-inner{position:relative}.menu-button{grid-column:1}.home-hero,.hero-shell{min-height:540px}.hero-card{width:min(610px,76%)}.split-layout{gap:34px}.section-heading{grid-template-columns:1fr}.section-heading p:last-child{max-width:600px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:last-child{grid-column:auto;grid-template-columns:40% 60%}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:260px}.gallery-item:first-child{grid-row:auto;grid-column:span 2}.gallery-item:nth-child(4){grid-column:auto}.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.contact-layout,.payment-grid{gap:34px}
}

@media(max-width:640px){
  .content-width{width:min(calc(100% - 28px),var(--max))}.section-pad{padding:46px 0}.credit-strip{height:42px;grid-template-columns:42px 1fr 42px}.strip-link{font-size:11px}.strip-mark{width:29px}.logo-zone{height:102px}.brand-button img{width:78px;height:78px}.nav-inner{height:72px;padding:0 14px;grid-template-columns:48px 1fr}.menu-button{width:44px;height:44px}.call-banner{grid-column:2;justify-self:center}.call-banner span{font-size:11px}.call-banner strong{font-size:18px}.home-hero,.hero-shell{min-height:500px}.home-hero-bg{object-position:60% center}.home-hero-overlay{background:linear-gradient(to bottom,rgba(10,10,10,.08),rgba(10,10,10,.25))}.hero-shell{align-items:flex-end;padding-bottom:22px}.hero-card{width:min(90%,420px);padding:24px 20px 20px;background:rgba(232,240,240,.90)}.hero-card h1{font-size:40px}.hero-card p{font-size:18px}.hero-whatsapp{min-height:58px;font-size:10px}.social-row{gap:11px}.social-icon{width:39px;height:39px}.split-layout{grid-template-columns:1fr;gap:27px}.about-preview .media-frame{order:0}.copy-block h2{font-size:34px}.media-frame{border-radius:0}.media-frame img{aspect-ratio:1.32/1}.about-preview .media-frame{background:#edf1f1;padding:8px 0}.about-preview .media-frame img{aspect-ratio:1.7/1;object-fit:contain;object-position:center center;background:#edf1f1}.copy-block p{font-size:14px}.section-heading h2{font-size:35px}.highlight-grid{grid-template-columns:1fr}.highlight-card{display:grid;grid-template-columns:42% 58%;align-items:stretch}.highlight-card img{aspect-ratio:auto;height:100%;min-height:170px}.highlight-card>div{padding:17px}.highlight-card h3{font-size:22px}.highlight-card p{font-size:12px}.luxury-band-inner{display:block;text-align:center}.luxury-band-inner strong{font-size:23px}.luxury-band-inner>a{display:inline-block;margin-top:14px;font-size:15px}.dark-hero{padding:54px 0}.dark-hero h1{font-size:44px}.reverse-mobile{display:grid}.reverse-mobile .media-frame{order:-1}.info-columns,.values-grid{grid-template-columns:1fr}.info-panel{padding:28px}.service-card,.service-card:last-child{display:block;min-height:0}.service-image{height:220px}.service-body{padding:24px}.service-body h2{font-size:28px}.service-cta-inner{display:block}.service-cta h2{font-size:29px}.service-cta .primary-button{margin-top:20px;width:100%}.gallery-intro h2{font-size:34px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px;gap:9px}.gallery-item:first-child{grid-column:span 2;height:235px}.gallery-item:nth-child(4){grid-column:auto}.gift-card{grid-template-columns:1fr}.gift-copy{padding:28px}.gift-copy h2{font-size:34px}.gift-visual{min-height:240px}.contact-layout{grid-template-columns:1fr;gap:30px}.contact-photo img{aspect-ratio:1.08/1;object-position:center center}.contact-copy h2{font-size:36px}.whatsapp-button{width:100%;justify-content:center}.form-shell{grid-template-columns:1fr;gap:28px}.contact-form{grid-template-columns:1fr}.contact-form label,.contact-form .full{grid-column:auto}.payment-grid{grid-template-columns:1fr;gap:30px}.payment-copy h2{font-size:36px}.payment-panel{padding:28px}.payment-brand.visa img{width:78px}.payment-brand.mastercard img{width:90px}.payment-brand.amex img{width:82px}.payment-brand.discover img{width:102px}.footer-inner{grid-template-columns:1fr;text-align:center}.footer-brand{grid-column:auto;justify-content:center}.footer-nav{justify-items:center}.footer-nav button{text-align:center}.footer-contact{text-align:center}.footer-contact .social-row{justify-content:center}.copyright{padding-right:54px;padding-left:54px}.chat-float{width:58px;height:58px}.mobile-menu{padding-left:24px;padding-right:24px}.mobile-menu-links button{font-size:28px;padding:17px 6px}
}
@media(max-width:360px){.strip-link{font-size:10px}.logo-zone{height:108px}.brand-button img{width:80px;height:80px}.call-banner strong{font-size:17px}.hero-card h1{font-size:38px}.hero-card p{font-size:17px}.highlight-card{display:block}.highlight-card img{height:190px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:220px}.gallery-item:first-child{grid-column:auto;height:240px}.card-badges{grid-template-columns:1fr}.payment-brands .payment-brand{min-height:72px}.payment-brand.visa img{width:86px}.payment-brand.mastercard img{width:94px}.payment-brand.amex img{width:88px}.payment-brand.discover img{width:110px}.mobile-menu-links button{font-size:25px}}
@media(min-width:1200px){.logo-zone{height:180px}.brand-button img{width:132px;height:132px}.home-hero,.hero-shell{min-height:640px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.view.active{animation:none}.mobile-menu,.hero-whatsapp,.primary-button,.secondary-button,.gallery-item img,.service-image img,.reveal{transition:none!important}.reveal{opacity:1!important;transform:none!important}}

/* V7: full real vehicle image + branded payment cards */
.about-preview .vehicle-showcase{background:#fff;padding:0;overflow:hidden}
.about-preview .vehicle-showcase img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;background:#fff}
.payment-brands .payment-brand{min-height:82px;background:#fff;display:grid;place-items:center;padding:8px;border:1px solid rgba(255,255,255,.10)}
.payment-brands .payment-brand img{display:block;width:100%;max-width:190px;height:64px;object-fit:contain}
@media(max-width:640px){
  .about-preview .vehicle-showcase{padding:0;background:#fff}
  .about-preview .vehicle-showcase img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:#fff}
  .highlight-card{display:block}
  .highlight-card img{width:100%;height:auto;min-height:0;aspect-ratio:16/9;object-fit:cover;object-position:center}
  .highlight-card>div{padding:17px 18px 19px}
  .payment-brands{grid-template-columns:1fr 1fr;gap:10px}
  .payment-brands .payment-brand{min-height:76px;padding:7px}
  .payment-brands .payment-brand img{height:58px}
}


/* V9 final visual refinements: navigation containment, premium heroes, palms, spacing */
.palm-mark{width:40px;height:32px;color:#111;overflow:visible}
.palm-mark.mirror{transform:scaleX(-1)}

/* Desktop navigation: explicit grid placement prevents the first links from overflowing left. */
@media (min-width:981px){
  .nav-inner{
    width:min(calc(100% - 48px),var(--max));
    grid-template-columns:minmax(0,1fr) auto;
    gap:30px;
    padding:0;
  }
  .desktop-nav{
    grid-column:1;
    min-width:0;
    width:100%;
    justify-content:flex-start;
    gap:clamp(13px,1.55vw,24px);
    overflow:visible;
  }
  .desktop-nav button{
    flex:0 0 auto;
    white-space:nowrap;
    font-size:clamp(10px,.82vw,12px);
  }
  .call-banner{
    grid-column:2;
    min-width:190px;
    justify-self:end;
  }
}
@media (min-width:981px) and (max-width:1120px){
  .nav-inner{width:calc(100% - 32px);gap:18px}
  .desktop-nav{gap:11px}
  .desktop-nav button{font-size:10px}
  .call-banner{min-width:178px}
  .call-banner strong{font-size:18px}
  .call-banner span{font-size:11px}
}

/* Home hero: image is also a CSS background as a fallback, so desktop never shows an empty black half. */
.home-hero{
  background:#111 url('../images/hero-transport.webp') center 46%/cover no-repeat;
}
.home-hero-bg{z-index:0;opacity:.92}
.home-hero-overlay{z-index:1;background:linear-gradient(90deg,rgba(8,9,10,.58) 0%,rgba(8,9,10,.24) 45%,rgba(8,9,10,.08) 100%),linear-gradient(180deg,rgba(8,9,10,.04),rgba(8,9,10,.18))}
.hero-shell{z-index:2}
@media (min-width:981px){
  .hero-card{width:min(500px,48%);background:rgba(232,240,240,.91)}
}

/* Gallery hero: full-width black treatment instead of a visually empty pale half on tablet/desktop. */
.gallery-hero{background:#111}
.gallery-hero::after{background:linear-gradient(90deg,transparent 55%,rgba(197,213,214,.06))}
.gallery-hero .content-width{position:relative;z-index:1}

/* Nosotros: remove unnecessary vertical gap while preserving the original composition. */
.about-mission{padding-top:48px;padding-bottom:48px}
.about-mission .split-layout{gap:44px}

/* Contact: show substantially more of the real vehicle instead of forcing the landscape photo into a portrait crop. */
.contact-photo{overflow:hidden;background:#f1f3f2}
.contact-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center center}

/* Equal visual weight for payment marks. */
.payment-brands .payment-brand{min-height:88px;padding:10px 14px}
.payment-brands .payment-brand img{height:auto;object-fit:contain}
.payment-brands .payment-brand.visa img{width:108px;max-width:68%}
.payment-brands .payment-brand.mastercard img{width:112px;max-width:70%}
.payment-brands .payment-brand.amex img{width:106px;max-width:67%}
.payment-brands .payment-brand.discover img{width:122px;max-width:77%}

@media (max-width:980px){
  .palm-mark{width:36px;height:30px}
  .about-mission{padding-top:42px;padding-bottom:42px}
  .gallery-hero{background:#111}
}
@media (max-width:640px){
  .palm-mark{width:31px;height:27px}
  .home-hero{background-position:60% center}
  .home-hero-bg{opacity:.94}
  .home-hero-overlay{background:linear-gradient(to bottom,rgba(8,9,10,.06),rgba(8,9,10,.27))}
  .about-mission{padding-top:34px;padding-bottom:38px}
  .contact-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
  .payment-brands .payment-brand{min-height:78px;padding:9px 11px}
  .payment-brands .payment-brand.visa img{width:84px;max-width:70%}
  .payment-brands .payment-brand.mastercard img{width:88px;max-width:74%}
  .payment-brands .payment-brand.amex img{width:84px;max-width:70%}
  .payment-brands .payment-brand.discover img{width:96px;max-width:80%}
}

/* V10: refined top bar + subtle animated palms + extra mobile premium polish */
.credit-strip{
  height:44px;
  grid-template-columns:52px minmax(0,1fr) 52px;
}
.strip-link{
  font-size:12px;
  font-weight:700;
  letter-spacing:-.01em;
}
.palm-mark{
  width:34px;
  height:28px;
  color:#111;
  overflow:visible;
}
.palm-mark .palm-sway{
  transform-origin:22px 25px;
  animation:palmBreeze 4.8s ease-in-out infinite;
  will-change:transform;
}
.palm-mark.mirror .palm-sway{animation-delay:-1.5s}
@keyframes palmBreeze{
  0%{transform:rotate(-2.3deg) translateY(.3px)}
  50%{transform:rotate(.6deg) translateY(-.5px)}
  100%{transform:rotate(2.3deg) translateY(.2px)}
}

.logo-zone{height:138px}
.brand-button img{width:108px;height:108px}
.nav-inner{height:74px}

@media (min-width:981px){
  .desktop-nav button{font-size:clamp(10px,.8vw,12px)}
}

@media (max-width:640px){
  .credit-strip{
    height:46px;
    grid-template-columns:44px minmax(0,1fr) 44px;
    padding-inline:max(6px,env(safe-area-inset-left)) max(6px,env(safe-area-inset-right));
  }
  .strip-link{
    font-size:10.5px;
    font-weight:700;
    white-space:normal;
    line-height:1.15;
    padding:0 4px;
  }
  .palm-mark{
    width:26px;
    height:24px;
  }
  .logo-zone{height:92px}
  .brand-button img{width:68px;height:68px}
  .nav-inner{
    height:66px;
    padding:0 12px;
    grid-template-columns:46px 1fr;
  }
  .menu-button{width:42px;height:42px}
  .call-banner span{font-size:10px}
  .call-banner strong{font-size:17px}
  .home-hero,.hero-shell{min-height:480px}
  .hero-shell{padding-bottom:18px}
  .hero-card{
    width:min(86%,390px);
    padding:20px 18px 18px;
  }
  .hero-card h1{font-size:36px}
  .hero-card p{font-size:16px;line-height:1.32;margin-bottom:20px}
  .hero-whatsapp{min-height:56px;font-size:9.7px;letter-spacing:.19em}
  .chat-float{
    width:56px;
    height:56px;
    right:max(14px,env(safe-area-inset-right));
    bottom:max(74px,calc(20px + env(safe-area-inset-bottom)));
  }
}

@media (max-width:360px){
  .credit-strip{height:44px}
  .strip-link{font-size:10px}
  .palm-mark{width:24px;height:22px}
  .logo-zone{height:88px}
  .brand-button img{width:64px;height:64px}
  .call-banner strong{font-size:16px}
  .hero-card{width:min(88%,370px);padding:18px 16px 16px}
  .hero-card h1{font-size:34px}
}

@media(prefers-reduced-motion:reduce){
  .palm-mark .palm-sway{animation:none!important}
}

/* V11: tablet/iPad navigation fix
   Keep full desktop nav only on genuinely wide screens. */
@media (max-width:1199px){
  .nav-inner{
    width:min(calc(100% - 28px),var(--max));
    height:72px;
    padding:0;
    grid-template-columns:56px minmax(0,1fr) 56px;
    gap:0;
  }
  .menu-button{
    display:flex!important;
    grid-column:1;
    justify-self:start;
  }
  .desktop-nav{
    display:none!important;
  }
  .call-banner{
    grid-column:2!important;
    justify-self:center!important;
    align-items:center!important;
    text-align:center!important;
    min-width:0!important;
  }
  .call-banner span{font-size:12px}
  .call-banner strong{font-size:20px}
}

@media (min-width:1200px){
  .menu-button{display:none!important}
  .desktop-nav{display:flex!important}
  .nav-inner{
    width:min(calc(100% - 48px),var(--max));
    grid-template-columns:minmax(0,1fr) auto;
    gap:30px;
    padding:0;
  }
  .desktop-nav{
    grid-column:1;
    min-width:0;
    width:100%;
    justify-content:flex-start;
    gap:clamp(13px,1.4vw,23px);
  }
  .desktop-nav button{
    flex:0 0 auto;
    white-space:nowrap;
    font-size:clamp(10px,.78vw,12px);
  }
  .call-banner{
    grid-column:2!important;
    min-width:190px!important;
    justify-self:end!important;
    align-items:flex-end!important;
    text-align:right!important;
  }
}

@media (max-width:640px){
  .nav-inner{
    height:66px;
    padding:0 10px;
    grid-template-columns:46px minmax(0,1fr) 46px;
  }
  .menu-button{grid-column:1}
  .call-banner{grid-column:2!important}
  .call-banner span{font-size:10px}
  .call-banner strong{font-size:17px}
}


/* V12 — Option C Tropical Luxury palms + vehicle-safe tablet/desktop images */
.credit-strip{
  min-height:46px;
  height:46px;
  grid-template-columns:58px minmax(0,1fr) 58px;
  border-bottom:1px solid rgba(17,17,17,.05);
}
.palm-mark{
  width:43px;
  height:34px;
  color:#111;
  overflow:visible;
  justify-self:center;
}
.palm-right{transform:scaleX(-1)}
.palm-mark .palm-crown{stroke-width:1.85}
.palm-mark .palm-trunk{stroke-width:2.15}
.palm-mark .palm-trunk-detail{stroke-width:1.15;opacity:.72}
.palm-mark .palm-base{stroke-width:1.7}
.palm-mark .palm-sway{
  transform-box:view-box;
  transform-origin:34px 44px;
  animation:palmLuxuryBreeze 5.8s ease-in-out infinite alternate;
  will-change:transform;
}
.palm-right .palm-sway{animation-delay:-2.1s}
@keyframes palmLuxuryBreeze{
  0%{transform:rotate(-1.5deg)}
  45%{transform:rotate(.35deg)}
  100%{transform:rotate(1.65deg)}
}
.strip-link{font-weight:650;letter-spacing:-.012em}

/* Preserve the complete vehicle in the cards that feature the SUV. */
.highlight-card img.vehicle-photo,
.service-image img.vehicle-photo{
  object-fit:contain;
  object-position:center;
  background:#f2f3f2;
}

/* Tablet / iPad landscape: cards use a landscape image well instead of tall crop boxes. */
@media (min-width:641px) and (max-width:1199px){
  .highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .highlight-card{display:flex;flex-direction:column;height:100%}
  .highlight-card img{
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    min-height:0;
  }
  .highlight-card img.vehicle-photo{object-fit:contain;padding:4px}
  .highlight-card>div{display:flex;flex-direction:column;flex:1;padding:18px}
  .highlight-card button{margin-top:auto}

  .service-card,.service-card:last-child{
    grid-template-columns:44% 56%;
    min-height:270px;
  }
  .service-image{min-height:270px}
  .service-image img.vehicle-photo{padding:8px}
}

/* Wide desktop: keep vehicle photography complete while allowing tour/event imagery to remain immersive. */
@media (min-width:1200px){
  .highlight-card img{aspect-ratio:16/10}
  .highlight-card img.vehicle-photo{object-fit:contain;padding:5px}
  .service-image img.vehicle-photo{object-fit:contain;padding:8px}
}

@media (max-width:640px){
  .credit-strip{
    height:45px;
    min-height:45px;
    grid-template-columns:42px minmax(0,1fr) 42px;
  }
  .palm-mark{width:29px;height:25px}
  .palm-mark .palm-crown{stroke-width:2}
  .palm-mark .palm-trunk{stroke-width:2.2}
  .palm-mark .palm-base{stroke-width:1.8}
  .strip-link{font-size:10.5px;line-height:1.12;padding-inline:3px}
  .highlight-card img.vehicle-photo{object-fit:contain;background:#f2f3f2;padding:3px}
}

@media(prefers-reduced-motion:reduce){
  .palm-mark .palm-sway{animation:none!important;transform:none!important}
}

/* V14 — larger approved Tropical Luxury palms + slightly more compact mobile hero card */
.credit-strip{
  background:#c9d8d9;
  height:46px;
  min-height:46px;
  grid-template-columns:62px minmax(0,1fr) 62px;
  column-gap:4px;
  border-bottom:1px solid rgba(17,17,17,.06);
}
.strip-link{
  font-weight:700;
  letter-spacing:-.015em;
}
.palm-mark{
  display:block;
  width:40px;
  height:auto;
  max-height:34px;
  object-fit:contain;
  object-position:center bottom;
  align-self:center;
  justify-self:center;
  transform-origin:50% 92%;
  opacity:1;
}
.palm-left{animation:palmArtSwayLeft 6.2s ease-in-out infinite}
.palm-right{animation:palmArtSwayRight 6.2s ease-in-out infinite}
@keyframes palmArtSwayLeft{
  0%{transform:rotate(-1.6deg)}
  50%{transform:rotate(.7deg)}
  100%{transform:rotate(1.8deg)}
}
@keyframes palmArtSwayRight{
  0%{transform:scaleX(-1) rotate(1.6deg)}
  50%{transform:scaleX(-1) rotate(-.7deg)}
  100%{transform:scaleX(-1) rotate(-1.8deg)}
}

@media (max-width:640px){
  .credit-strip{
    height:47px;
    min-height:47px;
    grid-template-columns:46px minmax(0,1fr) 46px;
    padding-inline:max(8px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-right));
  }
  .strip-link{
    font-size:10.4px;
    line-height:1.05;
    padding-inline:2px;
  }
  .palm-mark{
    width:33px;
    max-height:29px;
  }
  .home-hero,.hero-shell{min-height:470px}
  .hero-shell{padding-bottom:16px}
  .hero-card{
    width:min(84%,382px);
    padding:18px 16px 16px;
  }
  .hero-card h1{font-size:33px}
  .hero-card p{font-size:15.5px;line-height:1.28;margin-bottom:18px}
  .hero-whatsapp{min-height:54px;font-size:9.5px;letter-spacing:.18em}
}

@media (max-width:360px){
  .credit-strip{grid-template-columns:40px minmax(0,1fr) 40px}
  .strip-link{font-size:9.8px}
  .palm-mark{width:28px;max-height:24px}
  .hero-card{width:min(86%,364px);padding:17px 15px 15px}
  .hero-card h1{font-size:31px}
}

@media(prefers-reduced-motion:reduce){
  .palm-left,.palm-right{animation:none!important;transform:none!important}
  .palm-right{transform:scaleX(-1)!important}
}
