:root{--yellow:#f3c832;--ink:#101010;--muted:#686868;--surface:#fff;--bg:#f5f5f4;--line:#e2e2df;--shadow:0 18px 42px #00000017}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans),Arial,sans-serif;margin:0;font-size:17px;line-height:1.55}a{color:inherit;text-decoration:none}.shell{width:min(1120px,100% - 40px);margin-inline:auto}.site-header{background:#fff;border-bottom:1px solid #e8e8e8}.header-inner{align-items:center;gap:38px;height:92px;display:flex}.header-inner img{width:160px;height:auto}.header-inner nav{align-items:center;gap:30px;margin-left:auto;font-weight:800;display:flex}.language{border:1px solid var(--line);border-radius:30px;margin-left:auto;padding:4px;display:flex}.language a{border-radius:50%;place-items:center;width:40px;height:40px;font-size:13px;font-weight:800;display:grid}.language a.active{background:var(--yellow)}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.075em;margin-bottom:28px;font-size:clamp(3.8rem,7.2vw,6.2rem);line-height:.87}h2{letter-spacing:-.045em;margin-bottom:28px;font-size:clamp(2rem,4vw,2.7rem);line-height:1.05}h3{letter-spacing:-.025em;line-height:1.15}main>section{margin-block:48px}.hero-grid{grid-template-columns:1.08fr .92fr;gap:28px;margin-top:48px;display:grid}.hero-card,.availability-card,.pricing,.reason-card,.box-card,.info-card,.contact-card{background:var(--surface);box-shadow:var(--shadow);border-radius:28px}.hero-card{min-height:590px;padding:60px;position:relative;overflow:hidden}.hero-card:after{content:"";background:#fff7d5;border-radius:50%;width:200px;height:200px;position:absolute;bottom:-70px;right:-60px}.hero-card p,.detail-hero p,.contact-intro p{color:var(--muted);max-width:650px;font-size:1.18rem}.pill{text-transform:uppercase;letter-spacing:.12em;border-radius:999px;margin-bottom:30px;padding:9px 15px;font-size:.78rem;font-weight:900;display:inline-block}.pill.yellow{background:var(--yellow)}.pill.dark{background:var(--ink);color:#fff}.availability-card{background:var(--yellow);padding:70px 52px;position:relative;overflow:hidden}.availability-card:before,.availability-card:after{content:"";border:2px solid #0000001a;border-radius:50%;width:300px;height:300px;position:absolute}.availability-card:before{top:-95px;right:-155px}.availability-card:after{bottom:-220px;left:-190px}.availability-card h2{font-size:clamp(2.7rem,5vw,4.5rem);position:relative}.availability-card p,.availability-card a,.availability-card span{z-index:1;position:relative}.button{background:var(--yellow);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:15px 22px;font-weight:900;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.secondary{border-color:var(--line);background:#fff}.button.white{background:#fff}.button.small{padding:13px 20px}.actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.reason-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.reason-card{padding:28px}.reason-card>b{background:var(--yellow);border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:20px;display:inline-grid}.reason-card p,.box-card p{color:var(--muted)}.pricing{padding:40px}.pricing-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.pricing-grid article,.facts article{border:1px solid var(--line);border-radius:20px;padding:24px}.pricing-grid span,.facts span{text-transform:uppercase;letter-spacing:.1em;color:#888;margin-bottom:10px;font-size:.75rem;font-weight:900;display:block}.pricing-grid strong,.facts strong{font-size:1.45rem}.boxes-section>p{color:var(--muted);max-width:700px}.box-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.box-card{overflow:hidden}.box-image{background:#fff;height:270px;position:relative}.box-image img{object-fit:cover}.box-copy{padding:26px}.box-copy h3{font-size:1.5rem}.tags{gap:8px;margin:18px 0;display:flex}.tags span{border:1px solid var(--line);background:#f6f6f6;border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:800}.cta{color:#fff;background:#111;border-radius:24px;justify-content:space-between;align-items:center;padding:30px 36px;display:flex}.cta div{flex-direction:column;display:flex}.cta span{color:#cfcfcf}.footer-inner{justify-content:space-between;align-items:center;gap:30px;min-height:100px;display:flex}.footer-inner nav{gap:24px;font-weight:800;display:flex}.detail-page{max-width:1120px}.detail-hero,.contact-intro{max-width:850px;padding:70px 0 25px}.detail-hero h1,.contact-intro h1{font-size:clamp(3.4rem,7vw,6rem)}.gallery-main{cursor:zoom-in;background:#fff;border:0;border-radius:28px;width:100%;height:600px;position:relative;overflow:hidden}.gallery-main img{object-fit:cover}.thumbnails{grid-template-columns:repeat(7,1fr);gap:10px;margin-top:12px;display:grid}.thumbnails button{background:#fff;border:3px solid #0000;border-radius:14px;height:95px;position:relative;overflow:hidden}.thumbnails button.selected{border-color:var(--yellow)}.thumbnails img{object-fit:cover}.lightbox{z-index:50;background:#000000f0;position:fixed;inset:0}.lightbox img{object-fit:contain;padding:40px}.lightbox-close,.lightbox-arrow{z-index:51;color:#fff;background:#00000059;border:0;border-radius:50%;width:56px;height:56px;font-size:40px;position:absolute}.lightbox-close{top:24px;right:24px}.lightbox-arrow{top:50%}.lightbox-arrow.left{left:24px}.lightbox-arrow.right{right:24px}.facts{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.info-grid{grid-template-columns:1.1fr .9fr;gap:22px;display:grid}.info-card{padding:34px}.info-card h3{font-size:1.7rem}.info-card>p{color:var(--muted)}dl{margin:0}.info-card dl div,.contact-card dl div{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:18px;padding:12px 0;display:grid}dt{color:#666}dd{margin:0;font-weight:800}.included{padding:0;list-style:none}.included li{border-bottom:1px solid var(--line);gap:12px;padding:11px 0;font-weight:900;display:flex}.included li:first-letter{color:#2f9656}.notice{background:#fff8d8;border-radius:16px;margin-top:20px;padding:18px;font-weight:700}.legend{gap:24px;margin:22px 0;display:flex}.legend i{border-radius:50%;width:14px;height:14px;margin-right:6px;display:inline-block}.legend .available{background:#d8f0df}.legend .reserved{background:#f7c7c7}.calendar-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.calendar{box-shadow:var(--shadow);background:#fff;border-radius:22px;padding:24px}.weekdays,.days{text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.weekdays b{color:#888;padding:6px;font-size:.75rem}.days span{aspect-ratio:1;border-radius:9px;place-items:center;font-size:.85rem;display:grid}.is-available{color:#21703c;background:#e8f6ec}.is-reserved{color:#a62a2a;background:#fbe0e0;font-weight:900}.calendar-note{color:var(--muted);margin-top:18px;font-size:.92rem}.contact-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.contact-card{padding:40px}.contact-card dl div{grid-template-columns:1fr}.contact-card a{text-decoration:underline}.not-found{max-width:700px;margin:15vh auto;padding:40px}.not-found h1{font-size:4rem}@media (max-width:900px){.header-inner{flex-wrap:wrap;height:auto;padding:18px 0}.header-inner img{width:135px}.language{margin-left:auto}.header-inner nav{order:3;justify-content:space-between;gap:10px;width:100%;font-size:.9rem}.header-inner nav .small{display:none}.hero-grid,.info-grid,.contact-grid{grid-template-columns:1fr}.hero-card{min-height:0;padding:42px}.reason-grid,.box-grid,.pricing-grid,.facts{grid-template-columns:repeat(2,1fr)}.gallery-main{height:460px}.thumbnails{grid-template-columns:repeat(4,1fr)}}@media (max-width:620px){body{font-size:16px}.shell{width:min(100% - 24px,1120px)}h1{font-size:3.6rem}.hero-grid{margin-top:20px}.hero-card,.availability-card{padding:34px 26px}.availability-card h2{font-size:2.8rem}.reason-grid,.box-grid,.pricing-grid,.facts,.calendar-grid{grid-template-columns:1fr}.box-image{height:245px}.pricing{padding:26px}.gallery-main{height:300px}.thumbnails{grid-template-columns:repeat(4,1fr)}.thumbnails button{height:62px}.cta{flex-direction:column;align-items:flex-start;gap:20px}.footer-inner{flex-direction:column;align-items:flex-start;padding:30px 0}.detail-hero,.contact-intro{padding-top:40px}.detail-hero h1,.contact-intro h1{font-size:3.6rem}.info-card{padding:24px}.info-card dl div{grid-template-columns:1fr}.header-inner nav a:nth-child(2){display:none}}.site-footer{border-top:1px solid var(--line);background:#fff;margin-top:60px}.site-footer .footer-inner{align-items:flex-start;min-height:0;padding:36px 0 28px}.footer-company{color:var(--muted);flex-direction:column;font-size:.88rem;display:flex}.footer-company strong{color:var(--ink);font-size:1.05rem}.footer-company a{text-decoration:underline}.site-footer .footer-inner nav{flex-wrap:wrap;justify-content:flex-end;gap:14px 22px}.footer-legal{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;padding:26px 0;display:flex}.footer-legal nav{grid-template-columns:repeat(2,max-content);gap:8px 22px;font-size:.85rem;font-weight:750;display:grid}.footer-legal nav a{text-decoration:underline}.payment-logos{width:min(440px,44%);display:block}.payment-logos img{width:100%;height:auto;display:block}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:30px;padding:18px 0 28px;font-size:.78rem;display:flex}@media (max-width:900px){.footer-legal{align-items:flex-start}.payment-logos{width:min(420px,50%)}}@media (max-width:620px){.site-footer .footer-inner nav{justify-content:flex-start}.footer-legal,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-legal nav{grid-template-columns:1fr}.payment-logos{width:100%}}.footer-cookie-button{appearance:none;color:inherit;font:inherit;font-weight:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;text-decoration:underline}.section-heading-row{justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;display:flex}.section-heading-row h2{margin-bottom:0}@media (max-width:620px){.section-heading-row{flex-direction:column;align-items:flex-start}}.availability-search .pill.yellow{color:var(--ink)}.pricing-grid span,.facts span{color:#676767}.button{color:var(--ink)}.submit-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:1em;height:1em;animation:.7s linear infinite submit-spin}button[aria-busy=true]{cursor:wait;opacity:.78;justify-content:center;align-items:center;gap:.65em;display:inline-flex}button:disabled{cursor:not-allowed}.submit-progress-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:wait;background:#10101094;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.submit-progress-card{width:min(420px,100%);color:var(--ink);text-align:center;background:#fff;border-radius:24px;justify-items:center;gap:12px;padding:34px 28px;display:grid;box-shadow:0 24px 70px #00000047}.submit-progress-card strong{font-size:1.25rem}.submit-progress-card>span:last-child{color:var(--muted);font-size:.95rem}.submit-progress-spinner{border:5px solid #ececec;border-top-color:var(--yellow);border-radius:50%;width:46px;height:46px;animation:.75s linear infinite submit-spin}@keyframes submit-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.submit-spinner,.submit-progress-spinner{animation-duration:1.5s}}.legend .past{background:#e2e2e2}.is-past{color:#999;background:#e7e7e7}body{font-family:Arial,Helvetica,sans-serif}.availability-search{color:#fff;background:#111;border-radius:28px;grid-template-columns:.85fr 1.15fr;align-items:center;gap:28px;padding:38px;display:grid}.availability-search h2{margin-bottom:14px}.availability-search p{color:#cfcfcf;margin:0}.availability-search form{color:#111;background:#fff;border-radius:20px;grid-template-columns:1fr 1fr;gap:13px;padding:22px;display:grid}.availability-search label{gap:6px;font-size:.8rem;font-weight:900;display:grid}.availability-search input,.availability-search select{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:11px;padding:12px}.availability-search form label:nth-of-type(3),.availability-search form button{grid-column:1/-1}@media (max-width:760px){.availability-search{grid-template-columns:1fr;padding:28px 22px}.availability-search form{grid-template-columns:1fr}.availability-search form label:nth-of-type(3),.availability-search form button{grid-column:auto}}
