:root{--color-primary:#0E7490; --color-primary-dark:#115E59; --color-primary-light:#CCFBF1; --color-primary-deep:#134E4A; --color-secondary:#B45309; --color-secondary-dark:#7C2D12; --color-secondary-light:#FEF3C7; --color-whatsapp:#1B7E47; --color-whatsapp-dark:#0F5C2E; --color-bg:#FFFFFF; --color-bg-alt:#F9FAFB; --color-bg-dark:#0F2A28; --color-surface:#FFFFFF; --color-border:#E5E7EB; --color-border-strong:#CBD5E1; --color-text:#111827; --color-text-muted:#6B7280; --color-text-light:#9CA3AF; --color-text-inverse:#FFFFFF; --font-family-base:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; --font-size-base:16px; --line-height-base:1.6; --space-1:0.25rem; --space-2:0.5rem; --space-3:0.75rem; --space-4:1rem; --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem; --space-12:3rem; --space-16:4rem; --space-20:5rem; --space-24:6rem; --radius-sm:6px; --radius-md:12px; --radius-lg:20px; --radius-full:999px; --shadow-sm:0 1px 2px rgba(15,23,42,0.06); --shadow-md:0 4px 12px rgba(15,23,42,0.08); --shadow-lg:0 12px 32px rgba(15,23,42,0.12); --shadow-xl:0 24px 48px rgba(15,23,42,0.16); --transition-fast:150ms ease; --transition-base:250ms ease; --transition-slow:400ms ease; --container-max:1200px; --container-padding:1.25rem; --fs-hero:clamp(2rem,5vw + 1rem,3.75rem); --fs-h2:clamp(1.75rem,3vw + 1rem,2.5rem); --fs-h3:clamp(1.25rem,1vw + 1rem,1.5rem); --fs-lead:clamp(1rem,0.5vw + 0.9rem,1.125rem)}
*,*::before,*::after{box-sizing:border-box}
*{margin:0; padding:0}
html{overflow-x:hidden; scroll-behavior:smooth; -webkit-text-size-adjust:100%; scroll-padding-top:80px}
body{overflow-x:hidden; font-family:var(--font-family-base); font-size:var(--font-size-base); line-height:var(--line-height-base); color:var(--color-text); background-color:var(--color-bg); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:hidden}
img,svg,video{display:block; max-width:100%; height:auto}
a{color:var(--color-primary-dark); text-decoration:none; transition:color var(--transition-fast)}
a:hover{color:var(--color-secondary-dark)}
button{font-family:inherit; cursor:pointer; border:none; background:none; color:inherit}
ul,ol{list-style:none}
h1,h2,h3,h4{font-weight:700; line-height:1.2; color:var(--color-text); letter-spacing:-0.02em}
:focus-visible{outline:3px solid var(--color-secondary); outline-offset:2px; border-radius:4px}
.container{width:100%; max-width:var(--container-max); margin:0 auto; padding:0 var(--container-padding)}
.section{padding:var(--space-16) 0}
.section__header{text-align:center; max-width:720px; margin:0 auto var(--space-12)}
.section__eyebrow{display:inline-block; font-size:0.8125rem; font-weight:600; text-transform:uppercase; letter-spacing:0.12em; color:#0E7490; background-color:var(--color-primary-light); padding:var(--space-2) var(--space-4); border-radius:var(--radius-full); margin-bottom:var(--space-4)}
.section__eyebrow--light{color:#CCFBF1; background-color:rgba(14,116,144,0.15)}
.section__eyebrow--accent{color:#92400E; background-color:var(--color-secondary-light)}
.section__title{font-size:var(--fs-h2); margin-bottom:var(--space-4)}
.section__title--light{color:var(--color-text-inverse)}
.section__lead{font-size:var(--fs-lead); color:var(--color-text-muted); line-height:1.6}
.section__lead--light{color:rgba(255,255,255,0.85)}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2); min-height:48px; padding:var(--space-3) var(--space-6); font-size:1rem; font-weight:600; border-radius:var(--radius-md); border:2px solid transparent; transition:all var(--transition-base); text-align:center; white-space:nowrap; text-decoration:none}
.btn__icon{width:20px; height:20px; flex-shrink:0}
.btn--primary{background-color:var(--color-primary); color:var(--color-text-inverse)}
.btn--primary:hover{background-color:var(--color-primary-dark); color:var(--color-text-inverse); transform:translateY(-2px); box-shadow:var(--shadow-md)}
.btn--secondary{background-color:var(--color-secondary); color:var(--color-text-inverse)}
.btn--secondary:hover{background-color:var(--color-secondary-dark); color:var(--color-text-inverse); transform:translateY(-2px); box-shadow:var(--shadow-md)}
.btn--ghost{background-color:transparent; color:var(--color-text-inverse); border-color:rgba(255,255,255,0.5)}
.btn--ghost:hover{background-color:rgba(255,255,255,0.1); color:var(--color-text-inverse); border-color:var(--color-text-inverse)}
.btn--whatsapp{background-color:var(--color-whatsapp); color:var(--color-text-inverse)}
.btn--whatsapp:hover{background-color:var(--color-whatsapp-dark); color:var(--color-text-inverse); transform:translateY(-2px); box-shadow:var(--shadow-md)}
.btn--sm{min-height:40px; padding:var(--space-2) var(--space-4); font-size:0.875rem}
.btn--lg{min-height:56px; padding:var(--space-4) var(--space-8); font-size:1.0625rem}
.btn--xl{min-height:72px; padding:var(--space-5) var(--space-10); font-size:1.25rem; border-radius:var(--radius-lg); font-weight:700}
.btn--xl .btn__icon{width:28px; height:28px}
@media (max-width:600px){.btn--xl{min-height:56px; padding:var(--space-3) var(--space-5); font-size:1rem; line-height:1.3; white-space:normal}
.btn--xl .btn__icon{width:22px; height:22px}
}
.btn--pulse{animation:pulse-glow 2.4s infinite}
@keyframes pulse-glow{0%,100%{box-shadow:0 0 0 0 rgba(37,211,102,0.6),0 8px 24px rgba(15,23,42,0.18)}
50%{box-shadow:0 0 0 16px rgba(37,211,102,0),0 12px 32px rgba(15,23,42,0.22)}
}
@media (prefers-reduced-motion:reduce){.btn--pulse{animation:none}
.hero__image{animation:none}
html{scroll-behavior:auto}
}
.site-header{position:fixed; top:0; left:0; right:0; background-color:var(--color-bg); border-bottom:1px solid var(--color-border); z-index:100; transition:box-shadow var(--transition-base)}
.site-header.is-scrolled{box-shadow:var(--shadow-md)}
.header__container{display:flex; align-items:center; justify-content:space-between; min-height:72px; gap:var(--space-4)}
.header__logo{display:flex; align-items:center; gap:var(--space-3); text-decoration:none; flex-shrink:0}
.header__logo-img{height:44px; width:auto; display:block}
.header__logo--light .header__logo-img{filter:brightness(0) invert(1)}
.header__nav{display:none}
.header__nav-list{display:flex; gap:var(--space-6)}
.header__nav-list a{color:var(--color-text); font-weight:500; font-size:0.9375rem; padding:var(--space-2) 0; position:relative}
.header__nav-list a:hover{color:var(--color-primary-dark)}
.header__actions{display:flex; align-items:center; gap:var(--space-3)}
.header__cta{display:none}
.header__menu-toggle{display:flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:var(--radius-md)}
.header__menu-icon,.header__menu-icon::before,.header__menu-icon::after{display:block; width:24px; height:2px; background-color:var(--color-text); position:relative; transition:all var(--transition-base)}
.header__menu-icon::before,.header__menu-icon::after{content:''; position:absolute; left:0}
.header__menu-icon::before{top:-7px}
.header__menu-icon::after{top:7px}
.header__menu-toggle[aria-expanded="true"] .header__menu-icon{background-color:transparent}
.header__menu-toggle[aria-expanded="true"] .header__menu-icon::before{top:0; transform:rotate(45deg)}
.header__menu-toggle[aria-expanded="true"] .header__menu-icon::after{top:0; transform:rotate(-45deg)}
.hero{position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:center; padding:120px 0 var(--space-12); color:var(--color-text-inverse); overflow:hidden; background-color:var(--color-primary-deep)}
.hero__image-wrapper{position:absolute; inset:0; z-index:1; overflow:hidden}
.hero__image{width:100%; height:100%; object-fit:cover; object-position:center; animation:ken-burns 22s ease-in-out infinite alternate}
@keyframes ken-burns{0%{transform:scale(1) translate(0,0); object-position:center center}
35%{transform:scale(1.07) translate(-1.5%,0.8%); object-position:center 55%}
70%{transform:scale(1.04) translate(1%,-0.5%); object-position:55% 45%}
100%{transform:scale(1.08) translate(0.5%,0.5%); object-position:48% 52%}
}
.hero__overlay{position:absolute; inset:0; background-color:rgba(15,23,42,0.65)}
.hero__container{position:relative; z-index:2}
.hero__content{max-width:720px}
.hero__badge{display:inline-flex; align-items:center; gap:var(--space-2); background-color:var(--color-secondary); color:var(--color-text-inverse); padding:var(--space-2) var(--space-4); border-radius:var(--radius-full); font-size:0.875rem; font-weight:600; margin-bottom:var(--space-6)}
.hero__title{font-size:var(--fs-hero); color:var(--color-text-inverse); margin-bottom:var(--space-6); line-height:1.1; font-weight:800}
.hero__subtitle{font-size:var(--fs-lead); color:rgba(255,255,255,0.92); margin-bottom:var(--space-8); line-height:1.55; max-width:600px}
.hero__cta-group{display:flex; flex-direction:column; gap:var(--space-3); margin-bottom:var(--space-10)}
.hero__trust{display:flex; gap:var(--space-6); flex-wrap:wrap; padding-top:var(--space-6); border-top:1px solid rgba(255,255,255,0.2)}
.hero__trust li{display:flex; flex-direction:column}
.hero__trust strong{font-size:1.5rem; font-weight:800; color:var(--color-secondary); line-height:1}
.hero__trust span{font-size:0.8125rem; color:rgba(255,255,255,0.85); margin-top:var(--space-1)}
.differentials{background-color:var(--color-bg)}
.differentials__grid{display:grid; grid-template-columns:1fr; gap:var(--space-5)}
.feature-card{background-color:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-lg); padding:var(--space-6)}
.feature-card__icon{display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; background-color:var(--color-primary-light); color:var(--color-primary-dark); border-radius:var(--radius-md); margin-bottom:var(--space-4)}
.feature-card__icon svg{width:28px; height:28px}
.feature-card__title{font-size:var(--fs-h3); margin-bottom:var(--space-2); color:var(--color-text)}
.feature-card__text{color:var(--color-text-muted); font-size:0.9375rem; line-height:1.6}
.location{background-color:var(--color-bg-dark); color:var(--color-text-inverse)}
.location__container{display:grid; grid-template-columns:1fr; gap:var(--space-10); align-items:center}
.location__list{display:flex; flex-direction:column; gap:var(--space-5); margin-top:var(--space-8)}
.location__list li{display:flex; gap:var(--space-4); align-items:flex-start}
.location__list-icon{font-size:1.75rem; flex-shrink:0; width:48px; height:48px; background-color:rgba(255,255,255,0.1); border-radius:var(--radius-md); display:inline-flex; align-items:center; justify-content:center}
.location__list strong{display:block; font-size:1.125rem; margin-bottom:var(--space-1); color:var(--color-text-inverse)}
.location__list p{color:#CBD5E1; font-size:0.9375rem}
.location__map{background-color:var(--color-bg-alt); border-radius:var(--radius-lg); overflow:hidden; height:360px; border:4px solid rgba(255,255,255,0.1)}
.location__map iframe{width:100%; height:100%; border:0}
.gallery{background-color:var(--color-bg-alt)}
.gallery__grid{display:grid; grid-template-columns:1fr; gap:var(--space-3)}
.gallery__item{position:relative; overflow:hidden; border-radius:var(--radius-md); aspect-ratio:4 / 3; min-height:0}
.gallery__button{display:block; width:100%; height:100%; padding:0; margin:0; border:none; background:none; cursor:pointer; border-radius:inherit; overflow:hidden}
.gallery__button:focus-visible{outline:3px solid var(--color-primary); outline-offset:-3px}
.gallery__item img{width:100%; height:100%; object-fit:cover; transition:transform var(--transition-slow); display:block}
.gallery__button:hover img,.gallery__button:focus-visible img{transform:scale(1.05)}
.gallery-modal{position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:var(--space-4); background-color:rgba(15,23,42,0.92); opacity:0; visibility:hidden; transition:opacity 200ms ease,visibility 0s linear 200ms}
.gallery-modal[aria-hidden="false"]{opacity:1; visibility:visible; transition:opacity 200ms ease}
.gallery-modal__dialog{position:relative; max-width:min(1100px,100%); max-height:100%; display:flex; flex-direction:column; align-items:center; gap:var(--space-3); transform:scale(0.96); transition:transform 200ms ease}
.gallery-modal[aria-hidden="false"] .gallery-modal__dialog{transform:scale(1)}
.gallery-modal__image{display:block; max-width:100%; max-height:calc(100vh - 160px); width:auto; height:auto; object-fit:contain; border-radius:var(--radius-md); box-shadow:0 20px 60px rgba(0,0,0,0.5)}
.gallery-modal__caption{margin:0; color:#f1f5f9; font-size:0.95rem; text-align:center; max-width:60ch}
.gallery-modal__close{position:absolute; top:-12px; right:-12px; width:44px; height:44px; border:none; border-radius:50%; background-color:#ffffff; color:#0f172a; font-size:1.5rem; font-weight:600; line-height:1; cursor:pointer; box-shadow:0 4px 16px rgba(0,0,0,0.35); transition:transform 150ms ease,background-color 150ms ease}
.gallery-modal__close:hover,.gallery-modal__close:focus-visible{transform:scale(1.08); background-color:var(--color-primary); color:#ffffff; outline:none}
.gallery-modal__nav{position:absolute; top:50%; width:44px; height:44px; border:none; border-radius:50%; background-color:#ffffff; color:#0f172a; font-size:1.5rem; font-weight:600; line-height:1; cursor:pointer; box-shadow:0 4px 16px rgba(0,0,0,0.35); transition:transform 150ms ease,background-color 150ms ease; transform:translateY(-50%); z-index:1}
.gallery-modal__nav--prev{left:var(--space-4)}
.gallery-modal__nav--next{right:var(--space-4)}
.gallery-modal__nav:hover:not(:disabled),.gallery-modal__nav:focus-visible:not(:disabled){transform:translateY(-50%) scale(1.08); background-color:var(--color-primary); color:#ffffff; outline:none}
.gallery-modal__nav:disabled{opacity:0.4; cursor:not-allowed}
body.is-modal-open{overflow:hidden}
.pricing{background-color:var(--color-bg)}
.pricing__anchor{display:flex; align-items:flex-start; gap:var(--space-3); background-color:var(--color-primary-light); color:var(--color-primary-deep); padding:var(--space-4) var(--space-5); border-radius:var(--radius-md); border-left:4px solid var(--color-primary); margin-bottom:var(--space-10); font-size:0.9375rem; line-height:1.6}
.pricing__anchor svg{width:24px; height:24px; flex-shrink:0; color:var(--color-primary-dark)}
.price-card{position:relative; background-color:var(--color-surface); border-radius:var(--radius-lg); padding:0 0 var(--space-6); display:flex; flex-direction:column; box-shadow:var(--shadow-sm); border:1px solid var(--color-border); overflow:hidden; min-height:380px}
.price-card__top{display:flex; align-items:center; justify-content:center; gap:var(--space-2); padding:var(--space-4) var(--space-6); color:var(--color-text-inverse)}
.price-card__top .price-card__icon{width:20px; height:20px}
.price-card__type{font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.1em}
.price-card--standard .price-card__top{background-color:var(--color-primary)}
.price-card--featured .price-card__top{background-color:var(--color-secondary)}
.price-card--premium .price-card__top{background-color:var(--color-primary-deep)}
.price-card--standard{--card-accent:var(--color-primary)}
.price-card--featured{--card-accent:var(--color-secondary)}
.price-card--premium{--card-accent:var(--color-primary-deep)}
.price-card__badge{position:absolute; top:12px; left:50%; transform:translateX(-50%); background-color:var(--color-secondary); color:var(--color-text-inverse); font-size:0.6875rem; font-weight:700; padding:var(--space-1) var(--space-4); border-radius:var(--radius-full); text-transform:uppercase; letter-spacing:0.08em; white-space:nowrap; z-index:3; box-shadow:0 2px 8px rgba(249,115,22,0.35)}
.price-card__header{text-align:center; padding:var(--space-5) var(--space-6) var(--space-3)}
.price-card__title{font-size:1.25rem; color:var(--color-text); margin-bottom:var(--space-1)}
.price-card__subtitle{color:var(--color-text-muted); font-size:0.8125rem}
.price-card__price{display:flex; align-items:baseline; justify-content:center; gap:var(--space-2); padding:var(--space-5) var(--space-6); background-color:var(--color-bg-alt); border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border)}
.price-card__currency{font-size:0.875rem; font-weight:600; color:var(--card-accent); text-transform:uppercase; letter-spacing:0.03em}
.price-card__amount{font-size:2rem; font-weight:800; line-height:1; color:var(--card-accent)}
.price-card__period{display:block; text-align:center; font-size:0.8125rem; color:var(--color-text-muted); font-weight:500; padding:0 var(--space-6) var(--space-5)}
.price-card__features{display:grid; grid-template-rows:repeat(5,auto); gap:var(--space-2); padding:var(--space-4) var(--space-6); margin-bottom:var(--space-6); flex-grow:1; border-top:1px solid var(--color-border); align-content:start}
.price-card__features li{display:flex; align-items:center; gap:var(--space-2); font-size:0.875rem; color:var(--color-text); line-height:1.4}
.price-card__check{width:15px; height:15px; flex-shrink:0; color:var(--card-accent)}
.price-card__warning{color:#b45309 !important; font-size:0.875rem !important; background-color:#fef3c7; padding:var(--space-2) var(--space-3); border-radius:var(--radius-sm); margin-top:var(--space-1)}
.price-card__warning-icon{width:16px; height:16px; flex-shrink:0; color:#b45309}
.price-card__na{color:var(--color-text-muted) !important; text-decoration:line-through; opacity:0.65}
.price-card__na-icon{width:16px; height:16px; flex-shrink:0; color:var(--color-text-muted)}
.price-card__note{text-align:center; font-size:0.75rem; color:var(--color-text-muted); padding:var(--space-4) var(--space-6) 0; border-top:1px solid var(--color-border); margin-top:auto}
.price-card--featured{box-shadow:var(--shadow-lg); border-color:var(--color-secondary); transform:scale(1.02)}
.price-card--featured:hover{transform:scale(1.02) translateY(-6px)}
.pricing__grid{display:grid; grid-template-columns:1fr; gap:var(--space-6); margin-bottom:var(--space-10)}
@media (min-width:640px){.pricing__grid{grid-template-columns:repeat(2,1fr); align-items:stretch}
.price-card--featured{grid-row:span 1; transform:none}
.price-card--featured:hover{transform:translateY(-6px)}
}
@media (min-width:960px){.pricing__grid{grid-template-columns:repeat(4,1fr); align-items:stretch}
.price-card--featured{transform:scale(1.02)}
}
.pricing__cta-wrapper{text-align:center}
.pricing__disclaimer{display:flex; align-items:flex-start; gap:var(--space-3); margin:var(--space-6) 0 var(--space-8); padding:var(--space-4) var(--space-5); background-color:#fffbeb; border:1px solid #fcd34d; border-left:4px solid #f59e0b; border-radius:var(--radius-md); color:#78350f; font-size:0.875rem; line-height:1.6}
.pricing__disclaimer-icon{flex-shrink:0; width:22px; height:22px; margin-top:2px; color:#b45309}
.pricing__disclaimer strong{color:#78350f; font-weight:600}
.pricing__cta-wrapper .btn{width:100%}
.pricing__cta-disclaimer{margin-top:var(--space-4); color:var(--color-text-muted); font-size:0.875rem}
.pricing__kids-highlight{display:flex; align-items:flex-start; gap:var(--space-4); background-color:var(--color-secondary-light); border-left:4px solid var(--color-secondary); border-radius:var(--radius-md); padding:var(--space-5) var(--space-6); margin-bottom:var(--space-10)}
.pricing__kids-icon{flex-shrink:0; width:40px; height:40px; background-color:var(--color-secondary); color:var(--color-text-inverse); border-radius:50%; display:flex; align-items:center; justify-content:center}
.pricing__kids-icon svg{width:22px; height:22px}
.pricing__kids-highlight p{color:var(--color-text); font-size:0.9375rem; line-height:1.6}
.pricing__kids-highlight strong{color:var(--color-secondary-dark)}
.testimonials{background-color:var(--color-bg-alt); overflow:hidden}
.carousel{position:relative}
.carousel__viewport{overflow:hidden; margin:0 -1.25rem; padding:0 1.25rem}
.carousel__track{display:flex; gap:var(--space-5); overflow-x:auto; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding-bottom:var(--space-4); scroll-snap-type:x mandatory}
.carousel__track::-webkit-scrollbar{display:none}
.carousel__slide{flex:0 0 100%; min-width:0; scroll-snap-align:start}
@media (min-width:640px){.carousel__slide{flex:0 0 calc(50% - var(--space-5) / 2)}
}
@media (min-width:960px){.carousel__slide{flex:0 0 calc(33.333% - var(--space-5) * 2 / 3)}
}
.testimonial-card{background-color:var(--color-surface); border-radius:var(--radius-lg); padding:var(--space-6); box-shadow:var(--shadow-sm); border:1px solid var(--color-border); height:100%; display:flex; flex-direction:column}
.testimonial-card__rating{color:var(--color-secondary); font-size:1.25rem; letter-spacing:0.05em; margin-bottom:var(--space-4)}
.testimonial-card__quote{flex-grow:1; margin-bottom:var(--space-5)}
.testimonial-card__quote p{color:var(--color-text); font-size:1rem; line-height:1.7; font-style:italic}
.testimonial-card__author{border-top:1px solid var(--color-border); padding-top:var(--space-4); display:flex; align-items:center; gap:var(--space-3); margin-top:auto}
.testimonial-card__avatar{width:40px; height:40px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid var(--color-border)}
.testimonial-card__author-info{display:flex; flex-direction:column; gap:2px}
.testimonial-card__author strong{color:var(--color-text); font-weight:700; font-size:0.9rem}
.testimonial-card__author span{color:var(--color-text-muted); font-size:0.75rem}
.carousel__controls{display:flex; align-items:center; justify-content:center; gap:var(--space-6); margin-top:var(--space-8)}
.carousel__btn{width:48px; height:48px; background-color:var(--color-primary); color:var(--color-text-inverse); border:none; border-radius:var(--radius-full); font-size:1.5rem; font-weight:700; display:flex; align-items:center; justify-content:center; transition:all var(--transition-base); cursor:pointer; flex-shrink:0; box-shadow:var(--shadow-sm)}
.carousel__btn:hover{background-color:var(--color-primary-dark); transform:translateY(-2px); box-shadow:var(--shadow-md)}
.carousel__btn:focus-visible{outline:3px solid var(--color-secondary); outline-offset:2px}
.carousel__dots{display:flex; gap:var(--space-2)}
.carousel__dot{width:28px; height:28px; padding:0; border:none; background:transparent; cursor:pointer; display:inline-flex; align-items:center; justify-content:center}
.carousel__dot::before{content:''; width:10px; height:10px; border-radius:50%; background-color:var(--color-border-strong); transition:all var(--transition-base)}
.carousel__dot[aria-selected="true"]::before{width:28px; border-radius:var(--radius-full); background-color:var(--color-primary)}
.faq{background-color:var(--color-bg)}
.faq__container{max-width:820px; margin:0 auto}
.accordion{display:flex; flex-direction:column; gap:var(--space-3)}
.accordion__item{background-color:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-md); overflow:hidden; transition:all var(--transition-base)}
.accordion__item:has(.accordion__trigger[aria-expanded="true"]){border-color:var(--color-primary); box-shadow:var(--shadow-sm)}
.accordion__trigger{display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); width:100%; min-height:64px; padding:var(--space-4) var(--space-5); text-align:left; font-size:1.0625rem; font-weight:600; color:var(--color-text); background-color:transparent}
.accordion__trigger:hover{background-color:var(--color-bg-alt)}
.accordion__icon{position:relative; flex-shrink:0; width:24px; height:24px}
.accordion__icon::before,.accordion__icon::after{content:''; position:absolute; background-color:var(--color-primary-dark); transition:transform var(--transition-base)}
.accordion__icon::before{top:50%; left:0; right:0; height:2px; transform:translateY(-50%)}
.accordion__icon::after{top:0; bottom:0; left:50%; width:2px; transform:translateX(-50%)}
.accordion__trigger[aria-expanded="true"] .accordion__icon::after{transform:translateX(-50%) rotate(90deg)}
.accordion__panel{padding:0 var(--space-5) var(--space-5); color:var(--color-text-muted); font-size:0.9375rem; line-height:1.7}
.accordion__panel p{margin:0}
.final-cta{background-color:var(--color-primary-deep); color:var(--color-text-inverse); text-align:center}
.final-cta__container{max-width:720px; margin:0 auto}
.final-cta__title{font-size:var(--fs-h2); color:var(--color-text-inverse); margin-bottom:var(--space-4)}
.final-cta__lead{color:rgba(255,255,255,0.85); font-size:var(--fs-lead); margin-bottom:var(--space-8)}
.site-footer{background-color:var(--color-bg-dark); color:#D1D5DB; padding:var(--space-16) 0 var(--space-8)}
.site-footer__grid{display:grid; grid-template-columns:2fr 1fr 1fr; gap:var(--space-10); margin-bottom:var(--space-12)}
.site-footer__brand p{margin-top:var(--space-4); margin-bottom:var(--space-4); font-size:0.9375rem; line-height:1.6}
.site-footer__brand address{font-style:normal; font-size:0.875rem; color:#CBD5E1; line-height:1.7}
.site-footer__brand address a{color:#FFFFFF; font-weight:500}
.site-footer__title{font-size:1rem; font-weight:700; color:var(--color-text-inverse); margin-bottom:var(--space-4); text-transform:uppercase; letter-spacing:0.05em}
.site-footer__nav ul{display:flex; flex-direction:column; gap:var(--space-2)}
.site-footer__nav a{color:#CBD5E1; font-size:0.9375rem}
.site-footer__nav a:hover{color:var(--color-secondary)}
.site-footer__contact p{font-size:0.875rem; margin-bottom:var(--space-4); line-height:1.6}
.site-footer__bottom{display:grid; grid-template-columns:85% 15%; align-items:center; padding-top:var(--space-6); border-top:1px solid rgba(255,255,255,0.1); font-size:0.8125rem}
.site-footer__bottom-content{text-align:center}
.site-footer__bottom-content p{margin-bottom:var(--space-2)}
.site-footer__legal a{color:#CBD5E1; text-decoration:underline}
.site-footer__legal a:hover{color:#FFFFFF}
.site-footer__jp-img{max-width:100%; height:auto; display:block; filter:brightness(0) invert(1)}
.float-whatsapp{position:fixed; bottom:24px; right:16px; width:64px; height:64px; background-color:var(--color-whatsapp); color:var(--color-text-inverse); border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 12px rgba(15,23,42,0.22); z-index:99; transition:transform var(--transition-base),background-color var(--transition-base)}
.float-whatsapp:hover{background-color:var(--color-whatsapp-dark); color:var(--color-text-inverse); transform:scale(1.08)}
.float-whatsapp svg{width:32px; height:32px}
.float-whatsapp__tooltip{position:absolute; right:calc(100% + 12px); top:50%; transform:translateY(-50%); background-color:#0f172a; color:#ffffff; font-size:0.875rem; font-weight:500; padding:8px 14px; border-radius:var(--radius-md); white-space:nowrap; opacity:0; visibility:hidden; pointer-events:none; box-shadow:0 4px 12px rgba(15,23,42,0.25); transition:opacity 200ms ease,visibility 0s linear 200ms,transform 200ms ease}
.float-whatsapp__tooltip::after{content:''; position:absolute; left:100%; top:50%; transform:translateY(-50%); border:6px solid transparent; border-left-color:#0f172a}
.float-whatsapp:hover .float-whatsapp__tooltip,.float-whatsapp:focus-visible .float-whatsapp__tooltip{opacity:1; visibility:visible; transform:translateY(-50%) translateX(-4px); transition:opacity 200ms ease,visibility 0s,transform 200ms ease}
@media (max-width:600px){.float-whatsapp{width:56px; height:56px; bottom:16px; right:12px}
.float-whatsapp svg{width:26px; height:26px}
.float-whatsapp__tooltip{display:none}
.btn--lg{min-height:48px; padding:var(--space-3) var(--space-5); font-size:0.9375rem; line-height:1.3; white-space:normal}
.site-footer__grid{grid-template-columns:1fr; gap:var(--space-8); text-align:center}
.site-footer__brand address{line-height:1.6}
.site-footer__nav ul{align-items:center}
.site-footer__title{margin-top:var(--space-2)}
.site-footer__bottom{grid-template-columns:1fr; gap:var(--space-4); justify-items:center}
.site-footer__bottom-content{text-align:center}
.site-footer__jp-img{max-width:180px}
}
@media (min-width:640px){.hero__cta-group{flex-direction:row; align-items:center}
.hero__cta-group .btn{flex:1}
.differentials__grid{grid-template-columns:repeat(2,1fr)}
.pricing__cta-wrapper .btn{width:auto}
.gallery__grid{grid-template-columns:repeat(2,1fr); gap:var(--space-4)}
.gallery__item--large,.gallery__item--wide{grid-column:span 2; aspect-ratio:16 / 9}
@media (min-width:640px) and (max-width:959px){.gallery__item:last-child{grid-column:span 2; aspect-ratio:16 / 9}
}
.carousel__slide{flex:0 0 calc(50% - var(--space-2.5))}
}
@media (min-width:960px){.section{padding:var(--space-24) 0}
.section__header{margin-bottom:var(--space-16)}
.header__nav{display:block}
.header__cta{display:inline-flex}
.header__menu-toggle{display:none}
.differentials__grid{grid-template-columns:repeat(3,1fr); gap:var(--space-6)}
.gallery__grid{grid-template-columns:repeat(5,1fr); grid-auto-rows:220px; gap:var(--space-4)}
.gallery__item{aspect-ratio:auto}
.gallery__item--large{grid-column:span 2; grid-row:span 2}
.gallery__item--wide{grid-column:span 2}
.location__container{grid-template-columns:1.1fr 1fr; gap:var(--space-16)}
.carousel__slide{flex:0 0 calc(33.333% - var(--space-3.5))}
.hero__cta-group{gap:var(--space-4)}
.hero__cta-group .btn{flex:initial}
}
@media (max-width:959px){.header__nav.is-open{display:block; position:absolute; top:100%; left:0; right:0; background-color:var(--color-bg); border-bottom:1px solid var(--color-border); box-shadow:var(--shadow-md); padding:var(--space-4) var(--container-padding)}
.header__nav.is-open .header__nav-list{flex-direction:column; gap:var(--space-2)}
.header__nav.is-open a{display:block; padding:var(--space-3) 0; border-bottom:1px solid var(--color-border); min-height:48px; display:flex; align-items:center}
.header__nav.is-open li:last-child a{border-bottom:none}
}
