@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap');

:root { --ink:#11313b; --deep:#0d4659; --sea:#5ec7c4; --sand:#f7f1e7; --coral:#e9795e; --paper:#fffdfa; --muted:#66777a; --line:#d9dfd9; font-family:'DM Sans',sans-serif; color:var(--ink); background:var(--paper); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; } a { color:inherit; } button,input { font:inherit; } .skip-link { background:#fff; color:var(--deep); left:12px; padding:10px 14px; position:fixed; top:-56px; z-index:20; } .skip-link:focus { top:12px; }
.site-header { align-items:center; background:rgba(255,253,250,.94); border-bottom:1px solid rgba(17,49,59,.08); display:flex; justify-content:space-between; min-height:82px; padding:13px clamp(22px,5vw,80px); position:sticky; top:0; z-index:10; backdrop-filter:blur(14px); }
.brand { color:var(--deep); display:grid; font-size:13px; font-weight:600; gap:0; letter-spacing:.13em; line-height:.95; text-decoration:none; text-transform:uppercase; }.brand strong { color:var(--coral); font-family:Fraunces,serif; font-size:31px; letter-spacing:-.08em; }.brand small { color:var(--muted); font-size:9px; letter-spacing:.16em; margin-top:3px; }
.site-header nav { align-items:center; display:flex; gap:clamp(16px,2.5vw,36px); }.site-header nav a { color:#476267; font-size:14px; font-weight:600; text-decoration:none; }.site-header nav a:hover { color:var(--deep); }.site-header .nav-cta { border:1px solid #a8bcba; border-radius:999px; color:var(--deep); padding:10px 17px; }.menu-button { background:none; border:1px solid #b3c3c3; border-radius:999px; color:var(--deep); display:none; font-weight:700; padding:8px 13px; }
.hero { background:var(--deep); color:#fff; display:grid; gap:50px; grid-template-columns:minmax(0,1.5fr) minmax(260px,.65fr); isolation:isolate; min-height:600px; overflow:hidden; padding:clamp(72px,11vw,150px) clamp(24px,8vw,136px) 82px; position:relative; }.hero::after { background:linear-gradient(75deg,rgba(6,38,49,.42),transparent); content:""; inset:0; position:absolute; z-index:-1; }.hero-glow { border-radius:50%; filter:blur(1px); opacity:.8; position:absolute; z-index:-2; }.hero-glow-one { background:#167486; height:660px; right:-170px; top:-240px; width:660px; }.hero-glow-two { background:#f0b45d; bottom:-340px; height:580px; left:28%; opacity:.3; width:580px; }.hero-copy { align-self:center; max-width:760px; }.eyebrow { color:#688183; font-size:11px; font-weight:700; letter-spacing:.15em; margin:0 0 12px; text-transform:uppercase; }.eyebrow.light { color:#a8e2df; }.hero h1,.section h2 { font-family:Fraunces,serif; font-weight:500; letter-spacing:-.04em; }.hero h1 { font-size:clamp(42px,5.5vw,77px); line-height:1.01; margin:0; }.hero-description { color:#d3e7e6; font-size:clamp(17px,2vw,21px); line-height:1.5; margin:25px 0 28px; max-width:610px; }.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }.button { align-items:center; border:0; border-radius:999px; cursor:pointer; display:inline-flex; font-size:14px; font-weight:700; justify-content:center; min-height:48px; padding:12px 20px; text-decoration:none; transition:transform .18s ease,background .18s ease; }.button:hover { transform:translateY(-2px); }.button.primary { background:#f5b157; color:#17363d; }.button.subtle { border:1px solid rgba(255,255,255,.45); color:#fff; }.button.dark { background:var(--deep); color:#fff; }.hero-facts { display:flex; flex-wrap:wrap; gap:8px 25px; list-style:none; margin:42px 0 0; padding:0; }.hero-facts li { color:#daf0ed; font-size:13px; }.hero-facts li::before { color:#f6ba68; content:'●'; font-size:9px; margin-right:7px; }.hero-card { align-self:end; background:#f7f0e2; box-shadow:20px 22px 0 rgba(8,39,49,.2); color:var(--ink); min-height:250px; padding:28px; position:relative; }.hero-card strong { display:block; font-family:Fraunces,serif; font-size:31px; font-weight:500; letter-spacing:-.04em; line-height:1.1; }.hero-card strong span { color:#d7654b; }.hero-card p:last-of-type { color:#536b6d; font-size:14px; line-height:1.5; max-width:210px; }.card-wave { background:repeating-radial-gradient(ellipse at center,transparent 0 10px,#72bdb6 11px 12px,transparent 13px 23px); bottom:-4px; height:72px; opacity:.5; position:absolute; right:-20px; transform:rotate(-12deg); width:145px; }
.section { margin:0 auto; max-width:1300px; padding:clamp(70px,9vw,125px) clamp(24px,5vw,70px); }.section-heading { max-width:720px; }.section h2 { font-size:clamp(33px,4vw,55px); line-height:1.08; margin:0; }.section-heading.compact { max-width:680px; }.intro { background:var(--paper); }.intro-grid { align-items:start; display:grid; gap:50px; grid-template-columns:minmax(0,1.15fr) minmax(260px,.65fr); margin-top:46px; }.lead { font-family:Fraunces,serif; font-size:clamp(23px,2.7vw,34px); letter-spacing:-.03em; line-height:1.25; margin:0; }.info-note { background:#e6f2ef; display:flex; gap:15px; padding:22px; }.info-note span { color:var(--coral); font-size:25px; }.info-note p { font-size:15px; line-height:1.5; margin:0; }.features { background:#edf4f1; max-width:none; }.features > * { margin-left:auto; margin-right:auto; max-width:1160px; }.feature-grid { display:grid; gap:1px; grid-template-columns:repeat(4,1fr); margin-top:52px; }.feature-grid article { background:#f9fcfa; min-height:255px; padding:25px; }.feature-index { color:#dd765e; font-size:12px; font-weight:700; letter-spacing:.15em; }.feature-grid h3 { font-family:Fraunces,serif; font-size:25px; font-weight:500; letter-spacing:-.03em; margin:61px 0 10px; }.feature-grid p { color:#607477; font-size:14px; line-height:1.5; margin:0; }.amenities { align-items:center; display:grid; gap:60px; grid-template-columns:.85fr 1fr; }.amenities h2 { font-size:clamp(29px,3.2vw,44px); }.amenities ul { border-top:1px solid var(--line); list-style:none; margin:0; padding:0; }.amenities li { border-bottom:1px solid var(--line); font-family:Fraunces,serif; font-size:20px; padding:18px 0 18px 31px; position:relative; }.amenities li::before { color:#e9795e; content:'✦'; left:0; position:absolute; }.location { align-items:stretch; background:#f5f0e7; display:grid; gap:0; grid-template-columns:1fr 1fr; max-width:none; padding:0; }.location-map { background:#c3ddd6; min-height:420px; overflow:hidden; position:relative; }.location-map::after { background:linear-gradient(45deg,transparent 46%,rgba(242,239,218,.85) 46% 54%,transparent 54%),linear-gradient(-22deg,transparent 42%,rgba(242,239,218,.85) 42% 50%,transparent 50%); content:""; inset:-10%; position:absolute; }.map-line { background:#8ebbb3; height:13px; position:absolute; transform:rotate(-25deg); width:130%; z-index:1; }.map-line-one { left:-20%; top:34%; }.map-line-two { left:-10%; top:69%; transform:rotate(31deg); }.map-pin { color:var(--coral); font-size:48px; left:50%; line-height:1; position:absolute; top:46%; transform:translate(-50%,-50%); z-index:2; }.map-label { background:#fffdf9; color:var(--deep); font-size:13px; font-weight:700; left:50%; padding:9px 12px; position:absolute; top:60%; transform:translateX(-50%); white-space:nowrap; z-index:2; }.location-copy { align-self:center; padding:clamp(55px,8vw,110px); }.location-copy p:not(.eyebrow) { color:#536b6d; line-height:1.6; margin:22px 0; }.text-link { color:#b8513d; font-size:14px; font-weight:700; text-decoration:none; }.text-link span { font-size:19px; margin-left:6px; }.booking { background:var(--deep); color:#fff; max-width:none; padding-left:max(24px,calc((100% - 1160px)/2)); padding-right:max(24px,calc((100% - 1160px)/2)); }.booking-heading { max-width:580px; }.booking-heading p:not(.eyebrow) { color:#c9dfde; line-height:1.5; }.booking-form { align-items:end; display:grid; gap:13px; grid-template-columns:1fr 1fr .65fr 1.2fr auto; margin-top:36px; }.booking-form label { color:#dcefed; display:grid; font-size:12px; font-weight:700; gap:7px; }.booking-form input:not([type=checkbox]) { background:#fff; border:0; border-radius:3px; color:var(--ink); min-height:48px; padding:10px; width:100%; }.booking-form .checkbox { align-items:center; display:flex; gap:8px; min-height:48px; }.booking-form .checkbox input { accent-color:#f5b157; height:17px; width:17px; }.booking-form .button { min-height:48px; }.booking-help { color:#bbd7d5; font-size:14px; margin:20px 0 0; }.availability-results { margin-top:24px; }.availability-card { background:#fffdfa; color:var(--ink); display:grid; gap:16px; grid-template-columns:1fr auto; padding:21px; }.availability-card h3,.availability-card p { margin:0; }.availability-card h3 { font-family:Fraunces,serif; font-size:25px; font-weight:500; }.availability-card p { color:#617477; font-size:14px; margin-top:5px; }.availability-price { color:#b8523f; font-size:21px; font-weight:700; text-align:right; }.availability-price small { color:#607477; display:block; font-size:12px; font-weight:500; margin-top:4px; }.notice { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); color:#fff; padding:17px; }.gallery-placeholder { padding-top:75px; }.gallery-grid { display:grid; gap:12px; grid-template-columns:repeat(3,1fr); margin-top:36px; }.gallery-grid img { aspect-ratio:4/3; object-fit:cover; width:100%; }.contact { align-items:center; border-top:1px solid var(--line); display:flex; gap:30px; justify-content:space-between; }.contact h2 { font-size:clamp(28px,3vw,43px); max-width:780px; }footer { border-top:1px solid var(--line); color:#6b7775; display:flex; font-size:12px; justify-content:space-between; padding:25px max(24px,5vw); }footer a { color:var(--deep); font-weight:700; text-decoration:none; }
@media (max-width:900px) { .hero { grid-template-columns:1fr; min-height:unset; }.hero-card { justify-self:start; max-width:340px; }.feature-grid { grid-template-columns:repeat(2,1fr); }.booking-form { grid-template-columns:1fr 1fr; }.booking-form .checkbox,.booking-form button { grid-column:auto; }.location { grid-template-columns:1fr; }.location-map { min-height:330px; } }
@media (max-width:640px) { .site-header { min-height:72px; }.menu-button { display:block; }.site-header nav { background:var(--paper); border-bottom:1px solid var(--line); display:none; left:0; padding:18px 24px 22px; position:absolute; right:0; top:71px; }.site-header nav.open { align-items:stretch; display:flex; flex-direction:column; }.site-header .nav-cta { text-align:center; }.hero { gap:44px; padding-top:80px; }.hero h1 { font-size:44px; }.intro-grid,.amenities { grid-template-columns:1fr; }.feature-grid { grid-template-columns:1fr; }.feature-grid article { min-height:unset; }.feature-grid h3 { margin-top:35px; }.location-copy { padding:65px 24px; }.booking-form { grid-template-columns:1fr; }.availability-card { grid-template-columns:1fr; }.availability-price { text-align:left; } .gallery-grid { grid-template-columns:1fr 1fr; }.contact,footer { align-items:flex-start; flex-direction:column; } }

/* Visor de galería: una foto grande y recorrido completo mediante flechas o miniaturas. */
.gallery-viewer { margin-top:36px; }
.gallery-main-image { aspect-ratio:16/9; background:#e7eeec; display:block; object-fit:cover; width:100%; }
.gallery-controls { align-items:center; display:flex; font-size:14px; font-weight:700; gap:18px; justify-content:center; margin:16px 0; }
.gallery-arrow { background:var(--deep); border:0; border-radius:999px; color:#fff; cursor:pointer; font-size:22px; height:42px; line-height:1; width:42px; }
.gallery-arrow:hover { background:#176779; }
.gallery-thumbnails { display:grid; gap:10px; grid-template-columns:repeat(auto-fill,minmax(92px,1fr)); }
.gallery-thumbnail { background:transparent; border:2px solid transparent; cursor:pointer; padding:0; }
.gallery-thumbnail.active { border-color:var(--coral); }
.gallery-thumbnail img { aspect-ratio:4/3; display:block; object-fit:cover; width:100%; }

/* El visor ocupa toda la galería; las miniaturas sólo sirven para navegar. */
.gallery-grid { display:block; max-width:none; }
.gallery-viewer { width:100%; }
.gallery-main-image { height:clamp(420px,58vw,760px); max-height:76vh; object-fit:contain; }
.gallery-thumbnails { grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); width:100%; }
.booking.contact-only .booking-form,
.booking.contact-only [data-search-status] { display:none !important; }
.contact-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }

/* Fotografías administradas desde Forty: se integran al relato sin reemplazar la galería completa. */
.hero::after { background:linear-gradient(75deg,rgba(6,38,49,.52),rgba(6,38,49,.08)); pointer-events:none; }
.hero-photo { border:11px solid rgba(255,253,250,.16); border-radius:50%; box-shadow:0 28px 65px rgba(4,31,40,.35); height:min(52vw,690px); margin:0; overflow:hidden; position:absolute; right:clamp(-155px,-7vw,-60px); top:clamp(-120px,-5vw,-42px); width:min(52vw,690px); z-index:-1; }
.hero-photo::after { background:linear-gradient(135deg,rgba(13,70,89,.08),rgba(13,70,89,.45)); content:""; inset:0; position:absolute; }
.hero-photo img { height:100%; object-fit:cover; width:100%; }
.hero-card { transform:translate(-7vw,58px); z-index:1; }
.photo-journey { align-items:center; background:#f5f0e7; display:grid; gap:clamp(36px,6vw,100px); grid-template-columns:minmax(260px,.78fr) minmax(360px,1.22fr); max-width:none; padding-left:max(24px,calc((100% - 1160px)/2)); padding-right:max(24px,calc((100% - 1160px)/2)); }
.photo-journey-copy h2 { max-width:500px; }
.photo-journey-copy p:not(.eyebrow) { color:#617477; line-height:1.6; max-width:410px; }
.photo-collage { display:grid; gap:14px; grid-template-columns:1.18fr .82fr; grid-template-rows:190px 190px; }
.photo-collage-item { box-shadow:0 14px 30px rgba(17,49,59,.13); margin:0; min-height:0; overflow:hidden; position:relative; }
.photo-collage-item-1 { grid-row:1 / span 2; }
.photo-collage-item img { height:100%; object-fit:cover; transition:transform .45s ease; width:100%; }
.photo-collage-item:hover img { transform:scale(1.045); }
.photo-collage-item figcaption { background:rgba(13,70,89,.84); bottom:0; color:#fff; font-size:12px; font-weight:700; left:0; padding:8px 11px; position:absolute; }
@media (max-width:900px) { .hero-card { transform:none; }.hero-photo { height:570px; opacity:.5; right:-190px; top:-185px; width:570px; }.photo-journey { grid-template-columns:1fr; } }
@media (max-width:640px) { .hero-photo { border-width:7px; height:430px; opacity:.33; right:-180px; top:-125px; width:430px; }.photo-collage { grid-template-rows:145px 145px; } }

.stay-details { background:#edf4f1; max-width:none; padding-left:max(24px,calc((100% - 1160px)/2)); padding-right:max(24px,calc((100% - 1160px)/2)); }
.stay-details-grid { display:grid; gap:1px; grid-template-columns:repeat(3,1fr); margin:45px auto 0; max-width:1160px; }
.stay-details-grid div { background:#f9fcfa; min-height:135px; padding:22px; }
.stay-details-grid dt { color:#cf6b53; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.stay-details-grid dd { color:#506a6d; font-size:15px; line-height:1.5; margin:14px 0 0; }
@media (max-width:900px) { .stay-details-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px) { .stay-details-grid { grid-template-columns:1fr; } }

/* Ubicación: mapa real, con el enlace externo como alternativa y para ampliar. */
.location-map { background:#dce9e6; }
.location-map::after { display:none; }
.location-map iframe { border:0; display:block; height:100%; min-height:420px; width:100%; }
@media (max-width:900px) { .location-map iframe { min-height:330px; } }

.hero-card .offer-stay{color:#536b6d;font-size:14px;margin:13px 0 8px}.offer-list{color:#718080;font-size:13px;margin:8px 0 0;text-decoration:line-through}.offer-discount{color:#b8523f;font-size:12px;font-weight:700;line-height:1.4;margin:5px 0}.offer-total{border-top:1px solid rgba(17,49,59,.14);font-size:14px;margin:15px 0!important;padding-top:13px}.offer-total b{color:#b8523f;display:block;font-size:20px;margin-top:4px}.hero-card .button{min-height:42px;padding:9px 15px}.quote-breakdown{border-top:1px solid #dae1df;display:grid;gap:5px;margin:15px 0 0;padding-top:12px}.quote-breakdown div{display:flex;font-size:12px;gap:18px;justify-content:space-between}.quote-breakdown dt{color:#607477}.quote-breakdown dd{font-weight:700;margin:0}.quote-breakdown .negative{color:#b8523f}.availability-price .button{display:inline-flex;margin-top:13px;min-height:39px;padding:8px 13px}.request-form{background:#e8f2ef;color:var(--ink);display:grid;gap:12px;grid-template-columns:repeat(2,1fr);padding:22px}.request-form h4,.request-form>p{grid-column:1/-1;margin:0}.request-form h4{font-family:Fraunces,serif;font-size:24px}.request-form>p{color:#566f71;font-size:14px}.request-form label{color:var(--ink);display:grid;font-size:12px;font-weight:700;gap:6px}.request-form input,.request-form textarea{border:1px solid #b6cbc6;border-radius:3px;min-height:42px;padding:9px;width:100%}.request-form textarea{min-height:84px;resize:vertical}.request-form .request-message,.request-form .request-consent,.request-form .button,.request-status,.request-success{grid-column:1/-1}.request-form .request-consent{align-items:center;display:flex;font-size:13px}.request-consent input{min-height:auto;width:auto}.request-status{color:#b8523f;font-size:13px;margin:0}.request-success{color:#126347;font-weight:700}@media(max-width:640px){.request-form{grid-template-columns:1fr}}
.offer-period{margin:15px 0 0}.hero-card .offer-stay{font-size:12px;margin:3px 0 13px}.offer-saving{color:#b8523f;font-size:12px;font-weight:700;margin:3px 0 0;text-transform:lowercase}
.alternative-calendar{background:#fffdfa;color:var(--ink);padding:clamp(22px,4vw,38px)}.alternative-heading{max-width:720px}.alternative-heading h3{font-family:Fraunces,serif;font-size:clamp(25px,3vw,34px);font-weight:500;margin:0}.alternative-heading p{color:#566c6d;line-height:1.5;margin:10px 0 0}.alternative-legend{align-items:center;color:#607477;display:flex;flex-wrap:wrap;font-size:12px;gap:8px;margin:22px 0}.alternative-legend span{border-radius:50%;display:inline-block;height:10px;margin-left:8px;width:10px}.alternative-legend .available{background:#efb364}.alternative-legend .unavailable{background:#d8d8d6;text-decoration:line-through}.alternative-units{display:grid;gap:22px}.alternative-unit{border-top:1px solid #dde2df;padding-top:19px}.alternative-unit h4{font-family:Fraunces,serif;font-size:22px;font-weight:500;margin:0 0 16px}.alternative-months{display:grid;gap:17px;grid-template-columns:repeat(3,minmax(0,1fr))}.alternative-month h5{font-size:13px;margin:0 0 9px;text-transform:capitalize}.alternative-weekdays,.alternative-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.alternative-weekdays{color:#708083;font-size:10px;margin-bottom:5px}.alternative-days{gap:3px}.alternative-day{align-items:center;background:transparent;border:0;border-radius:50%;color:var(--ink);display:inline-flex;font-size:12px;height:28px;justify-content:center;padding:0;width:28px}.alternative-day.available{background:#fae4bc;color:#342f42;cursor:pointer;font-weight:700}.alternative-day.available:hover,.alternative-day.available:focus-visible{background:#efb364;outline:2px solid var(--deep)}.alternative-day.unavailable{color:#a4acad;text-decoration:line-through}.alternative-blank{height:28px}@media(max-width:760px){.alternative-months{grid-template-columns:1fr}.alternative-calendar{margin-left:-6px;margin-right:-6px}.alternative-day{height:32px;width:32px}}

/* Identidad Las Atalayas: mar patagónico, arena y la marca original. */
:root{--deep:#123f52;--sea:#67b3be;--sand:#f4eee4;--coral:#b87942;--paper:#fffdf8;--ink:#1b3942}
[hidden]{display:none!important} :focus-visible{outline:3px solid #cf8a40;outline-offset:5px} section[id]{scroll-margin-top:95px}
.brand{display:block}.brand img{display:block;width:205px;height:auto;max-height:57px;object-fit:contain}.site-header{min-height:88px}
.hero{min-height:680px;grid-template-columns:1fr;padding:110px max(24px,calc((100% - 1160px)/2)) 70px;align-content:end;background:#123f52}
.hero-photo{inset:0;width:100%;height:100%;border:0;border-radius:0;box-shadow:none;z-index:-2}.hero-photo img{object-position:center}.hero-photo::after{display:none}.hero::after{z-index:-1;background:linear-gradient(90deg,rgba(5,29,42,.90),rgba(5,29,42,.56) 55%,rgba(5,29,42,.18))}
.hero-copy{max-width:750px}.hero h1{font-size:clamp(49px,6.8vw,88px);line-height:1.04}.hero h1 em{font-weight:400;color:#ebc59a}.hero-description{max-width:560px;color:#f0eee6}.hero-facts{margin-top:35px}.hero-card{transform:none;margin:0;max-width:460px;min-height:0;box-shadow:none;border-left:3px solid #d7a871}.hero-card[hidden]{display:none}.hero:has(.hero-card:not([hidden])){grid-template-columns:1.5fr 1fr}
.button.primary{background:#e9bd8d;color:#173442}.eyebrow{color:#856445}.eyebrow.light{color:#e6be91}.hero-facts li::before{color:#e6be91}.intro-grid{margin-top:30px}.intro{padding-bottom:60px}.info-note{background:#f1ece1}.info-note p{color:#486068}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:30px}
.accommodation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}.accommodation-card{background:#fff;border:1px solid #e0e4df;overflow:hidden}.accommodation-card img{display:block;width:100%;aspect-ratio:1.5;object-fit:cover;transition:transform .3s}.accommodation-card:hover img{transform:scale(1.025)}.accommodation-copy{padding:26px}.accommodation-copy h3{font:500 27px Fraunces,Georgia,serif;margin:12px 0}.accommodation-copy p{color:#5e7274;font-size:15px;line-height:1.6}.accommodation-copy .eyebrow{color:#856445;font-size:10px}.accommodation-copy a{display:inline-block;margin-top:10px}.features{background:#eef3f1}.feature-grid h3{margin-top:40px}.amenities{padding-top:65px}.location-map iframe{position:relative;z-index:3;width:100%;height:100%;min-height:430px;border:0}.location-map::after{display:none}.cafe{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;background:#f5eee2}.cafe img{width:100%;aspect-ratio:1.25;object-fit:cover}.cafe p:not(.eyebrow){line-height:1.7;color:#607477}.gallery-placeholder{padding-top:70px}.gallery-grid.static-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.static-gallery img{display:block;width:100%;aspect-ratio:1.4;object-fit:cover}.contact-links{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.contact-info{font-size:14px;line-height:1.8;color:#607477}.contact{gap:40px}.booking-help{line-height:1.6}.booking-form{grid-template-columns:1fr 1fr .7fr 1fr auto}.booking-form input{min-width:0}.booking .notice a{color:var(--deep)}footer{gap:20px;flex-wrap:wrap}.footer-brand{font-family:Fraunces,Georgia,serif;font-size:20px}footer a{text-underline-offset:4px}
@media(max-width:900px){.hero:has(.hero-card:not([hidden])){grid-template-columns:1fr}.hero{min-height:620px;padding-top:85px}.accommodation-grid{grid-template-columns:1fr 1fr}.booking-form{grid-template-columns:1fr 1fr}.booking-form button{grid-column:1/-1}.hero-card{max-width:none}.section-heading-row{align-items:start;flex-direction:column}.cafe{gap:30px}.brand img{width:180px}}
@media(max-width:600px){.hero{min-height:590px;padding-top:70px}.hero h1{font-size:49px}.hero-description{font-size:17px}.hero-facts{gap:12px 18px}.hero-actions .button{width:100%}.accommodation-grid,.cafe{grid-template-columns:1fr}.accommodation-copy{padding:23px}.gallery-grid.static-gallery{grid-template-columns:1fr 1fr}.contact-links{align-items:stretch;flex-direction:column}.brand img{width:160px}.section{padding-top:65px;padding-bottom:65px}.location{padding:0}.hero-photo img{object-position:63% center}.booking-form{grid-template-columns:1fr 1fr}.booking-form .checkbox{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
