/* Sanavita — one forest/sage palette across the complete experience. */
:root,html[data-theme="dark"],html[data-theme="light"]{
 --ink:#f0f4ef;--deep:#d4e0d7;--mist:#afc2b7;
 --surface:#1b332a;--surface-2:#10231c;--white:#172d24;--card:#172d24;
 --line:#355044;--topbar-bg:rgba(16,35,28,.95);--band-mist:#14291f;
 --hl-blue:#1b352b;--hl-amber:#1b352b;--dry-bg:#20362b;
 --cool-ink:#c2e4d3;--warm-ink:#c2e4d3;--shadow:rgba(0,0,0,.18);
 --navy:#10231c;--teal-txt:#c2e4d3;
 --c-blue:#b9dfce;--c-teal:#b9dfce;--c-green:#b9dfce;--c-amber:#b9dfce;--c-orange:#b9dfce;
 --grad:linear-gradient(90deg,#476c58,#b9dfce);--r:18px;
 color-scheme:dark;
}
body{background:var(--surface-2);color:var(--ink)}
#wavefield,.theme-sw{display:none}
.topbar{background:var(--topbar-bg);border-bottom:1px solid var(--line)}
.topbar .rule{height:1px;background:#476c58}
.brand-name,.foot-brand{font-weight:500;letter-spacing:-.04em}
.navlinks{font-size:.83rem;gap:20px}.navlinks a{color:var(--mist)}
.topbar-in{gap:18px}.topbar .btn{white-space:nowrap;font-size:.83rem}
h2,.sec-head h2{font-weight:500;letter-spacing:-.045em;font-size:clamp(2rem,4vw,3.5rem);line-height:1.08}
h3,.pkg h3,.sv-card h3{font-weight:500;letter-spacing:-.025em}
.kicker,.eyebrow{color:#b9dfce;font-size:.67rem;letter-spacing:.2em;font-weight:500}
.sec-head p,.lede{color:var(--mist)}
section{border-top:1px solid #b9dfce0d}
.band-deep,html[data-theme="dark"] .band-deep{background:#14291f;color:var(--ink)}
.band-mist{background:#14291f}
.band-deep .sec-head p,#equipo3d .lead,.e3d-card p{color:var(--mist)}
.btn-primary,.sb-solid,.tag,.sv-tabs [aria-pressed="true"]{background:#b9dfce;color:#10231c;box-shadow:none;border-color:#b9dfce}
.btn-primary:hover,.sb-solid:hover{background:#d4ecdf;color:#10231c;box-shadow:none}
.btn-ghost{color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{background:#254536;color:#fff}
.btn:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #c2e4d3;outline-offset:4px}
.fact,.pkg,.pair,.sv-card,.bd-panel-in,.cat,.booker{background:var(--card);border:1px solid var(--line);box-shadow:none}
.fact::before{height:1px;opacity:.45}
.fact .num,.promo .big,.rung .amt,.tier .val,.pk-num,.bd-title,.item-pr,.pkg-hero-price .amt,.bd-total span:last-child{font-weight:500;letter-spacing:-.035em}
.fact .num{color:#b9dfce}
.diff .others{background:#172d24}.diff .ours{background:#203b2d;color:var(--ink)}
.diff .ours .mark{background:#b9dfce;color:#10231c}
.diff .others .mark{background:#293e32;color:#c7d7cc}
.pkg-hero{background:linear-gradient(135deg,#213e30,#14291f);border:1px solid #46604f;border-radius:20px}
.pkg-hero p,.pkg-hero-price .lbl{color:#b9ccc0}
.pkg-hero-badge{color:#c2e4d3;background:#b9dfce0d;border-color:#b9dfce38;font-weight:500;letter-spacing:.16em}
.pkg-hero-price{background:#b9dfce08;border-color:#668170;border-radius:14px}
.pkg-hero-price:hover{background:#b9dfce15;border-color:#c2e4d3}
.pkg-hero-price[aria-pressed="true"]{background:#b9dfce;color:#10231c;border-color:#b9dfce;box-shadow:none}
.pkg-hero-price[aria-pressed="true"] :is(.amt,.lbl,.pkg-selection){color:#10231c}
.pkg-selection{color:#c2e4d3}
.promo-a,.promo-b{background:#203b2d;border:1px solid #47604e;color:#f0f4ef}
.promo-b{background:#172d24}.promo .big{color:#b9dfce}.rung{background:#b9dfce0d;border:1px solid #b9dfce1f}
.hl-banner{background:#213e30;color:#d3e7da;font-weight:500;font-size:.8rem;letter-spacing:.15em}
.hl-blue,.hl-amber{background:#1b352b;border-top:1px solid #47604e}.hl-amber{border-left:1px solid #47604e}
.dry-note{border-left-width:1px}.dry-ico{background:#b9dfce12;color:#c2e4d3}
.pair-ico{background:#b9dfce12;color:#b9dfce}.pair-go{color:#b9dfce}
.cat-navigation{background:#10231c;border:1px solid #355044;border-radius:12px}
html[data-theme] .cat-navigation .cat-tabs{background:transparent}
.cat-navigation .cat-tab{color:#afc2b7;font-weight:500;font-size:.87rem}
.cat-navigation .cat-tab.on,.cat-navigation .cat-tab:hover{color:#f0f4ef}
.cat-navigation .cat-ico,.cat-navigation .cat-tab.on .cat-ico{color:#b9dfce;background:#b9dfce12;box-shadow:none}
.cat-navigation>button{color:#b9dfce}.cat-navigation>button:not(:disabled):hover{background:#b9dfce12}
html[data-theme] .cat-pill{background:#294735!important;box-shadow:none}
.item,html[data-theme="dark"] .item{background:#10231c;border:1px solid #355044}
.item.on,html[data-theme="dark"] .item.on{background:#213e30;border-color:#9ac6ac}
.item-btn{border-width:1px;color:#cbded1}.item-btn:hover{background:#b9dfce;color:#10231c;border-color:#b9dfce}
html[data-theme] .sizer-pill{background:#b9dfce}
.sizer-opt.on{color:#10231c}.sizer-opt{font-weight:500}
html[data-theme] .qbtn{background:#172d24;border-width:1px;color:#d4e0d7}
.item-play{background:#b9dfce;color:#10231c;box-shadow:none}.item-play svg{fill:#10231c}
.tech-note,.cat-note,.nota-vacio,.minimo{background:#10231c;color:#b9ccc0}
input,select,textarea,html[data-theme] input,html[data-theme] select,html[data-theme] textarea{background:#10231c;color:#f0f4ef;border:1px solid #46604f;border-radius:10px}
input:focus,select:focus,textarea:focus,html[data-theme] input:focus{background:#172d24;color:#f0f4ef;outline:2px solid #b9dfce;outline-offset:2px}
::placeholder{color:#90a79a;opacity:1}
.sv-status,.sv-badge{background:#b9dfce0d;color:#d4e0d7}.sv-badge{font-weight:500}
.sv-message[data-error="true"]{color:#ffb8a8}
.sv-inline a{color:#c2e4d3}.sv-card input[type="checkbox"]{accent-color:#b9dfce}
.quick-ask{background:#203b2d;border-color:#46604f}.quick-ask:hover{background:#294735}
.qa-ico,.fab{background:#b9dfce;color:#10231c;box-shadow:none}.fab svg,.qa-ico svg{fill:#10231c}.fab::before,.fab::after{display:none}.qa-arrow{color:#b9dfce}
.bk-head{background:#294735;color:#f0f4ef}.bk-head span{color:#d4e0d7}.bk-ico{background:#b9dfce12}
.stickybar{background:#10231cf5;border-top:1px solid #355044;box-shadow:none}.sb-ghost{border:1px solid #668170}
footer{background:#0d1e17;color:#afc2b7;border-top:1px solid #355044}.foot-bot{color:#afc2b7}
#equipo3d .e3d-stage{background:radial-gradient(ellipse at 50% 30%,#254434,#0d1e17 75%)}
#e3dLoading{background:#10231c}
@media(max-width:640px){.cat-navigation .cat-tab,.cat-navigation .cat-tab.on{background:transparent;color:#c2e4d3}.cat-navigation .cat-tab .cat-ico,.cat-navigation .cat-tab.on .cat-ico{color:#b9dfce;background:transparent}.hl-amber{border-left:0}.topbar-in{gap:10px}}
.special-services{background:#10231c;padding:90px 0;scroll-margin-top:130px}.special-switch{display:flex;gap:8px;flex-wrap:wrap;margin:32px 0;border-bottom:1px solid #355044;padding-bottom:16px}.special-switch button{font:inherit;border:1px solid transparent;border-radius:40px;padding:14px 22px;background:transparent;color:#bdd2c5;cursor:pointer}.special-switch button[aria-selected=true]{background:#b9dfce;color:#10231c}.special-switch span{font-size:10px;margin-left:10px;opacity:.8}.special-panel{padding:24px 0}.special-panel[hidden]{display:none}.special-intro{max-width:750px}.special-panel h3{font-family:var(--display);font-size:clamp(36px,5vw,64px);font-weight:500;letter-spacing:-.04em;line-height:1.08;margin:15px 0 24px;color:#f0f4ef}.special-panel p{color:#bed1c4;line-height:1.7}.special-inclusions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 40px}.special-inclusions span{font-size:12px;border-bottom:1px solid #46604f;padding-bottom:8px}.building-config{display:grid;grid-template-columns:1.3fr 1fr;gap:40px}.building-config h4{font-size:21px;font-weight:500;margin:0}.special-panel .special-help{font-size:12px;color:#afc2b7;margin:12px 0}.area-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.area-options button{display:flex;align-items:center;gap:13px;text-align:left;min-height:76px;padding:16px;border:1px solid #355044;border-radius:16px;background:#183126;color:#d6e6db;font:inherit;font-size:14px;cursor:pointer;transition:background .2s,border-color .2s}.area-options button>span{font-size:25px;color:#b9dfce}.area-options button[aria-pressed=true]{border-color:#b9dfce;background:#315644}.area-options button[aria-pressed=true]:after{content:'✓';margin-left:auto;color:#c8f4d9}.building-estimate{padding:28px;border:1px solid #46604f;border-radius:22px;background:#1d372b}.building-estimate label{display:block;font-size:14px;margin-bottom:12px}.building-estimate input{width:100%;box-sizing:border-box;background:#10231c;color:#eff5ed;border:1px solid #668170;border-radius:12px;padding:14px;font:inherit;font-size:22px}.building-estimate output{display:block;font-size:clamp(25px,3vw,38px);letter-spacing:-.03em;margin:25px 0 15px;color:#c2e4d3}.special-cta{display:inline-flex;gap:20px;align-items:center;background:#b9dfce;color:#10231c;border-radius:40px;padding:14px 22px;text-decoration:none;font-weight:600;font-size:14px}.special-services :is(button,a,input,summary):focus-visible{outline:2px solid #c2e4d3;outline-offset:4px}.special-status{display:inline-block;border:1px solid #80ad97;border-radius:30px;padding:8px 16px;font-size:12px;letter-spacing:.09em;color:#c2e4d3;margin-bottom:26px}.aviation-intro{max-width:720px}.aviation-details{margin-top:35px}.aviation-details details{border-top:1px solid #46604f;padding:22px 0}.aviation-details summary{cursor:pointer;font-size:22px;color:#e3eee6}.aviation-details summary span{float:right;color:#80ad97;font-size:14px}.aviation-details p{padding-left:22px}.special-unavailable{border-top:1px solid #46604f;padding-top:24px}
@media(max-width:760px){.special-services{padding:60px 0}.building-config{grid-template-columns:1fr;gap:28px}.special-switch button{padding:12px 14px;font-size:12px}.special-switch span{display:block;margin:5px 0 0}.area-options button{font-size:12px;padding:12px;gap:8px}.building-estimate{padding:24px}}
/* Shared catalog-style specialty cards. */
.special-switch{display:grid;grid-template-columns:1fr 1fr;border:0;gap:16px;padding:0;margin:32px 0}
.special-switch button{position:relative;min-height:100px;text-align:left;border:1px solid #46604f;border-radius:16px;background:#183126;padding:24px;font-weight:600;font-size:17px;color:#d6e6db;transition:background .3s,border-color .3s,box-shadow .3s}
.special-switch button[aria-selected=true]{background:#2c4d3e;color:#e9f5ed;border-color:#b9dfce;box-shadow:inset 0 -3px #b9dfce}
.special-switch button span[aria-hidden]{font-size:25px;color:#b9dfce;margin:0 12px 0 0;display:inline}
.special-switch button span:not([aria-hidden]){display:block;margin:8px 0 0;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.aviation-details{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}
.aviation-details details{background:#183126;border:1px solid #355044;border-radius:16px;padding:24px}
.aviation-details summary{font-size:17px}.aviation-details p{padding:0;font-size:14px}
.ambient-card{position:relative;isolation:isolate;overflow:hidden}
.ambient-card:before{content:'';pointer-events:none;position:absolute;z-index:-1;width:180px;height:180px;left:-70px;bottom:-110px;border-radius:50%;background:radial-gradient(circle,#b9dfce1c,transparent 68%);animation:sv-drift 12s ease-in-out infinite;animation-delay:var(--ambient-delay,0s);animation-play-state:paused}
.ambient-card:after{content:'';pointer-events:none;position:absolute;z-index:-1;width:10px;height:10px;border:1px solid #b9dfce30;border-radius:50%;right:16%;bottom:-20px;animation:sv-bubble 10s linear infinite;animation-delay:var(--ambient-delay,0s);animation-play-state:paused}
.ambient-visible:before,.ambient-visible:after{animation-play-state:running}
@keyframes sv-drift{50%{transform:translate(120px,-100px) scale(1.5);opacity:.5}}
@keyframes sv-bubble{0%{transform:translateY(0);opacity:0}20%{opacity:.8}100%{transform:translate(24px,-350px);opacity:0}}
@media(max-width:760px){.special-switch button{padding:18px 14px;font-size:14px}.aviation-details{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ambient-card:before,.ambient-card:after{animation:none;display:none}}
.area-options button[aria-pressed=true]:after{position:static;z-index:auto;width:auto;height:auto;border:0;animation:none;background:none;transform:none;opacity:1}
