/* GoldenEye 2026 visual concept — editorial luxury, warm Mediterranean minimalism */
:root {
  --ge-ink: #151714;
  --ge-ink-soft: #2d302b;
  --ge-forest: #242b24;
  --ge-olive: #77773c;
  --ge-gold: #b8a45f;
  --ge-gold-dark: #827337;
  --ge-sand: #eee9de;
  --ge-cream: #f8f5ee;
  --ge-paper: #fffdf8;
  --ge-line: rgba(21,23,20,.11);
  --ge-muted: #72756d;
  --ge-radius: 1.75rem;
  --ge-radius-sm: 1.05rem;
  --ge-shadow: 0 28px 80px rgba(18,22,18,.12);
  --ge-serif: "Cormorant Garamond", Georgia, serif;
  --ge-sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --bs-body-font-family: var(--ge-sans);
  --bs-body-color: var(--ge-ink-soft);
  --bs-body-bg: var(--ge-paper);
}
html { scroll-padding-top: 96px; }
body { background: var(--ge-paper); font-family: var(--ge-sans); font-weight: 400; line-height: 1.72; }
h1,h2,h3,h4,h5,h6,.ge-display { font-family: var(--ge-serif); font-weight: 500; letter-spacing: -.035em; }
p { text-wrap: pretty; }
.container { --bs-gutter-x: clamp(1.35rem,3vw,2rem); }
.ge-kicker { display:inline-flex; align-items:center; gap:.65rem; color:var(--ge-olive); font-size:.72rem; line-height:1; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.ge-kicker::before { content:""; width:2.25rem; height:1px; background:currentColor; }
.ge-section-title { font-size:clamp(2.75rem,6vw,5.35rem); line-height:.96; margin:.8rem 0 1.3rem; max-width:900px; }
.ge-section-intro { max-width:670px; font-size:1.04rem; color:var(--ge-muted); }
.ge-link-arrow { display:inline-flex; align-items:center; gap:.7rem; color:var(--ge-ink); font-size:.77rem; font-weight:750; letter-spacing:.11em; text-transform:uppercase; text-decoration:none; }
.ge-link-arrow i { transition:transform .25s ease; }
.ge-link-arrow:hover i { transform:translateX(4px); }

/* Header */
.ge-header { position:sticky; top:0; z-index:1030; transition:background .3s ease, box-shadow .3s ease; }
.ge-header-home { position:fixed; inset:0 0 auto; }
.ge-navbar { min-height:88px; background:rgba(255,253,248,.94); border-bottom:1px solid var(--ge-line); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); box-shadow:none; transition:background .3s ease, min-height .3s ease, border-color .3s ease; }
.ge-header-home .ge-navbar { background:linear-gradient(180deg,rgba(10,12,10,.52),rgba(10,12,10,0)); border-bottom-color:transparent; backdrop-filter:none; }
.ge-header-home.is-scrolled .ge-navbar { min-height:78px; background:rgba(20,22,19,.92); border-bottom-color:rgba(255,255,255,.09); backdrop-filter:blur(18px); }
.ge-nav-shell { padding-left:clamp(1.25rem,3vw,3.5rem); padding-right:clamp(1.25rem,3vw,3.5rem); }
.ge-navbar .navbar-brand { margin:0; padding:.5rem 0; }
.ge-navbar .navbar-brand img { height:54px; width:auto; max-width:210px; object-fit:contain; }
.ge-navbar .nav-link { font-family:var(--ge-sans); font-size:.72rem; font-weight:720; letter-spacing:.115em; text-transform:uppercase; padding:1rem .72rem !important; color:var(--ge-ink) !important; }
.ge-header-home .ge-navbar .nav-link { color:#fff !important; }
.ge-navbar .nav-link::after { bottom:.65rem; height:1px; background:var(--ge-gold); }
.ge-navbar .dropdown-menu { min-width:230px; padding:.65rem; border:1px solid rgba(255,255,255,.08); border-radius:1rem; background:rgba(28,31,27,.98); box-shadow:0 25px 60px rgba(0,0,0,.22); }
.ge-navbar .dropdown-item { color:rgba(255,255,255,.8); border-radius:.65rem; padding:.7rem .8rem; }
.ge-navbar .dropdown-item:hover,.ge-navbar .dropdown-item:focus,.ge-navbar .dropdown-item.active { color:#fff; background:rgba(255,255,255,.08); }
.ge-dropdown-feature { display:flex; align-items:center; justify-content:space-between; color:#d8ca87 !important; }
.ge-language-btn,.ge-nav-icon { height:42px; min-width:42px; border:1px solid var(--ge-line); border-radius:999px; background:rgba(255,255,255,.6); color:var(--ge-ink); display:inline-flex; align-items:center; justify-content:center; padding:0 .85rem; font-size:.72rem; font-weight:750; letter-spacing:.08em; text-decoration:none; }
.ge-header-home .ge-language-btn,.ge-header-home .ge-nav-icon { border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.08); color:#fff; }
.ge-book-btn-header { min-height:42px !important; margin:0 !important; padding:.62rem 1rem !important; border:1px solid #d3c16e !important; background:#d3c16e !important; color:#161813 !important; box-shadow:none !important; }
.ge-book-btn-header:hover { background:#e1d187 !important; border-color:#e1d187 !important; color:#161813 !important; }
.ge-menu-toggle { width:44px; height:42px; display:none; place-items:center; border:1px solid var(--ge-line); border-radius:999px; padding:0; }
.ge-menu-toggle span { width:17px; height:1px; background:currentColor; display:block; margin:3px auto; }
.ge-header-home .ge-menu-toggle { border-color:rgba(255,255,255,.28); color:#fff; }
.ge-mobile-contact { border-top:1px solid rgba(255,255,255,.12); margin-top:1rem; padding-top:1rem; display:grid; gap:.35rem; }
.ge-mobile-contact a { color:rgba(255,255,255,.74); text-decoration:none; }
@media(max-width:1199.98px){
  .ge-menu-toggle{display:grid}.ge-navbar .navbar-collapse{position:absolute;top:100%;left:1rem;right:1rem;padding:1rem 1.2rem 1.3rem;border-radius:1.2rem;background:rgba(24,27,23,.98);box-shadow:0 22px 70px rgba(0,0,0,.28);max-height:calc(100vh - 110px);overflow:auto}.ge-navbar .nav-link{color:#fff!important;padding:.72rem .15rem!important}.ge-navbar .nav-link::after{display:none}.ge-header:not(.ge-header-home) .ge-menu-toggle{color:var(--ge-ink)}
}

/* Hero */
.ge-home-main { background:var(--ge-paper); }
.ge-concept-hero { min-height:100svh; position:relative; overflow:hidden; background:#151714; color:#fff; }
.ge-concept-hero-media { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(.82) contrast(1.03); transform:scale(1.005); }
.ge-concept-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,10,8,.72) 0%,rgba(8,10,8,.38) 47%,rgba(8,10,8,.13) 75%),linear-gradient(0deg,rgba(8,10,8,.42),transparent 42%); }
.ge-concept-hero-inner { min-height:100svh; position:relative; z-index:2; display:flex; align-items:flex-end; padding:clamp(8rem,15vh,11rem) 0 clamp(8.5rem,15vh,10.5rem); }
.ge-concept-hero-copy { max-width:930px; }
.ge-concept-hero .ge-kicker { color:#ded18f; }
.ge-concept-hero h1 { max-width:910px; color:#fff; font-size:clamp(4rem,10.2vw,9rem); line-height:.82; margin:1rem 0 1.45rem; letter-spacing:-.055em; }
.ge-concept-hero-lead { max-width:620px; color:rgba(255,255,255,.82); font-size:clamp(1rem,1.5vw,1.18rem); line-height:1.65; }
.ge-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }
.ge-btn-primary,.ge-btn-ghost { min-height:52px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; gap:.65rem; padding:.85rem 1.35rem; text-decoration:none; font-size:.72rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; transition:transform .2s ease,background .2s ease,border-color .2s ease; }
.ge-btn-primary { background:#d6c46f; border:1px solid #d6c46f; color:#161813; }
.ge-btn-primary:hover { background:#e3d387; border-color:#e3d387; color:#161813; transform:translateY(-2px); }
.ge-btn-ghost { border:1px solid rgba(255,255,255,.38); color:#fff; background:rgba(255,255,255,.05); backdrop-filter:blur(8px); }
.ge-btn-ghost:hover { background:#fff; color:#161813; transform:translateY(-2px); }
.ge-hero-meta { position:absolute; z-index:3; left:clamp(1.35rem,3vw,3.5rem); right:clamp(1.35rem,3vw,3.5rem); bottom:2rem; display:flex; align-items:end; justify-content:space-between; gap:2rem; }
.ge-hero-meta-list { display:flex; gap:1.5rem; color:rgba(255,255,255,.72); font-size:.78rem; }
.ge-hero-meta-list span { display:flex; align-items:center; gap:.45rem; }
.ge-scroll-cue { color:rgba(255,255,255,.74); font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.15em; display:flex; align-items:center; gap:.7rem; }
.ge-scroll-cue::after { content:""; width:52px; height:1px; background:rgba(255,255,255,.55); }
@media(max-width:767.98px){.ge-concept-hero h1{font-size:clamp(3.6rem,18vw,6rem)}.ge-concept-hero-inner{padding-bottom:9rem}.ge-hero-meta{bottom:1.2rem}.ge-hero-meta-list{display:none}.ge-scroll-cue{margin-left:auto}}

/* Floating booking */
.ge-booking-float-wrap { position:relative; z-index:5; }
.ge-booking-float { width:min(1180px,calc(100% - 2.5rem)); margin:-4.1rem auto 0; padding:.65rem; border:1px solid rgba(21,23,20,.09); border-radius:1.35rem; background:rgba(255,253,248,.94); backdrop-filter:blur(20px); box-shadow:0 24px 70px rgba(20,25,19,.17); }
.ge-booking-float form { display:grid; grid-template-columns:1.1fr 1fr 1fr .8fr auto; align-items:end; gap:.45rem; }
.ge-booking-intro { padding:.45rem .85rem; align-self:center; }
.ge-booking-intro strong { display:block; font-family:var(--ge-serif); font-size:1.38rem; font-weight:600; color:var(--ge-ink); line-height:1; }
.ge-booking-intro span { font-size:.7rem; color:var(--ge-muted); text-transform:uppercase; letter-spacing:.1em; }
.ge-booking-field { position:relative; border-left:1px solid var(--ge-line); padding:.2rem .8rem; }
.ge-booking-field label { display:block; font-size:.65rem; font-weight:800; text-transform:uppercase; letter-spacing:.11em; color:var(--ge-muted); margin-bottom:.15rem; }
.ge-booking-field input,.ge-booking-field select { appearance:none; border:0!important; border-radius:0!important; background:transparent!important; width:100%; height:34px!important; padding:0!important; font-family:var(--ge-sans)!important; color:var(--ge-ink)!important; box-shadow:none!important; }
.ge-booking-submit { min-height:58px; border:0; border-radius:1rem; padding:0 1.35rem; background:var(--ge-ink); color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
@media(max-width:991.98px){.ge-booking-float{margin:1rem auto 0}.ge-booking-float form{grid-template-columns:1fr 1fr}.ge-booking-intro{grid-column:1/-1}.ge-booking-field{border-left:0;border-top:1px solid var(--ge-line);padding-top:.7rem}.ge-booking-submit{grid-column:1/-1}}
@media(max-width:575.98px){.ge-booking-float{width:calc(100% - 1.5rem)}.ge-booking-float form{grid-template-columns:1fr}.ge-booking-intro,.ge-booking-submit{grid-column:auto}}

/* Editorial sections */
.ge-section { padding:clamp(5.5rem,10vw,10rem) 0; }
.ge-stays-head { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.65fr); align-items:end; gap:2rem; margin-bottom:3rem; }
.ge-stays-head .ge-section-intro { justify-self:end; }
.ge-stay-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; grid-template-rows:repeat(2,minmax(260px,1fr)); gap:1rem; min-height:760px; }
.ge-stay-card { position:relative; min-height:290px; overflow:hidden; border-radius:var(--ge-radius); background:#1b1d1a; color:#fff; isolation:isolate; }
.ge-stay-card:first-child { grid-row:1/3; }
.ge-stay-card:nth-child(2) { grid-column:2/4; }
.ge-stay-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.7,.2,1); }
.ge-stay-card::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(0deg,rgba(8,10,8,.74),rgba(8,10,8,.02) 65%); }
.ge-stay-card:hover img { transform:scale(1.035); }
.ge-stay-card-link { position:absolute; inset:0; z-index:3; }
.ge-stay-card-content { position:absolute; z-index:2; left:clamp(1.25rem,3vw,2rem); right:clamp(1.25rem,3vw,2rem); bottom:clamp(1.25rem,3vw,2rem); }
.ge-stay-card-tag { display:inline-flex; padding:.42rem .65rem; border-radius:999px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(9px); color:#fff; font-size:.64rem; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }
.ge-stay-card h3 { color:#fff; font-size:clamp(2rem,3.2vw,3.5rem); line-height:.95; margin:.75rem 0 .45rem; }
.ge-stay-card-meta { display:flex; flex-wrap:wrap; gap:.85rem; color:rgba(255,255,255,.72); font-size:.77rem; }
.ge-stay-card-arrow { position:absolute; z-index:3; top:1rem; right:1rem; width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); color:#fff; backdrop-filter:blur(8px); transform:rotate(0); transition:background .2s ease,transform .2s ease; }
.ge-stay-card:hover .ge-stay-card-arrow { background:#fff; color:#111; transform:rotate(45deg); }
@media(max-width:991.98px){.ge-stays-head{grid-template-columns:1fr}.ge-stays-head .ge-section-intro{justify-self:start}.ge-stay-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;min-height:0}.ge-stay-card:first-child,.ge-stay-card:nth-child(2){grid-row:auto;grid-column:auto}.ge-stay-card{aspect-ratio:4/5}}
@media(max-width:575.98px){.ge-stay-grid{grid-template-columns:1fr}.ge-stay-card{aspect-ratio:4/4.7}}

.ge-story { background:var(--ge-forest); color:#fff; overflow:hidden; }
.ge-story .ge-kicker { color:#d5c882; }
.ge-story .ge-section-title { color:#fff; }
.ge-story-copy { padding:clamp(4rem,8vw,8rem) 0; }
.ge-story-copy p { max-width:570px; color:rgba(255,255,255,.72); font-size:1.06rem; }
.ge-story-media { min-height:720px; height:100%; overflow:hidden; }
.ge-story-media img { width:100%; height:100%; min-height:720px; object-fit:cover; }
.ge-story-stats { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.12); margin-top:2.8rem; padding-top:1.6rem; gap:1rem; }
.ge-story-stat strong { display:block; color:#fff; font-family:var(--ge-serif); font-size:2.4rem; font-weight:500; line-height:1; }
.ge-story-stat span { color:rgba(255,255,255,.55); font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; }
@media(max-width:991.98px){.ge-story-media,.ge-story-media img{min-height:520px}.ge-story-copy{padding-left:var(--bs-gutter-x);padding-right:var(--bs-gutter-x)}}

.ge-amenities-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--ge-line); border-left:1px solid var(--ge-line); margin-top:3.2rem; }
.ge-amenity { min-height:180px; padding:1.6rem; border-right:1px solid var(--ge-line); border-bottom:1px solid var(--ge-line); display:flex; flex-direction:column; justify-content:space-between; background:transparent; transition:background .25s ease; }
.ge-amenity:hover { background:#fff; }
.ge-amenity i { font-size:1.55rem; color:var(--ge-olive); }
.ge-amenity strong { font-family:var(--ge-serif); font-size:1.55rem; font-weight:600; color:var(--ge-ink); }
@media(max-width:767.98px){.ge-amenities-grid{grid-template-columns:1fr 1fr}.ge-amenity{min-height:150px}}

.ge-gallery-editorial { padding-top:0; }
.ge-gallery-head { display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:2.4rem; }
.ge-mosaic { display:grid; grid-template-columns:1.25fr .75fr .75fr; grid-template-rows:330px 330px; gap:1rem; }
.ge-mosaic a { position:relative; display:block; overflow:hidden; border-radius:var(--ge-radius-sm); background:var(--ge-sand); }
.ge-mosaic a:first-child { grid-row:1/3; }
.ge-mosaic a:nth-child(4) { grid-column:2/4; }
.ge-mosaic img { width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.ge-mosaic a:hover img { transform:scale(1.035); }
.ge-mosaic-icon { position:absolute; right:1rem; bottom:1rem; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; color:#fff; border:1px solid rgba(255,255,255,.25); background:rgba(15,17,15,.22); backdrop-filter:blur(8px); }
@media(max-width:767.98px){.ge-gallery-head{display:block}.ge-gallery-head .ge-link-arrow{margin-top:1rem}.ge-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:260px 220px 220px}.ge-mosaic a:first-child{grid-column:1/3;grid-row:auto}.ge-mosaic a:nth-child(4){grid-column:auto}}

.ge-experience { background:var(--ge-cream); }
.ge-experience-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:3rem; }
.ge-experience-card { display:flex; flex-direction:column; min-height:440px; color:var(--ge-ink); text-decoration:none; }
.ge-experience-card-img { aspect-ratio:4/5; overflow:hidden; border-radius:var(--ge-radius-sm); background:var(--ge-sand); }
.ge-experience-card img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.ge-experience-card:hover img { transform:scale(1.035); }
.ge-experience-card h3 { font-size:1.7rem; line-height:1; margin:1rem 0 .35rem; }
.ge-experience-card p { color:var(--ge-muted); font-size:.9rem; }
@media(max-width:991.98px){.ge-experience-grid{grid-template-columns:1fr 1fr}}@media(max-width:575.98px){.ge-experience-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-left:calc(var(--bs-gutter-x)*-1);margin-right:calc(var(--bs-gutter-x)*-1);padding:0 var(--bs-gutter-x) 1rem}.ge-experience-card{min-width:80vw;scroll-snap-align:start}}

.ge-final-cta { padding:clamp(5rem,9vw,9rem) 0; background:#181a17; color:#fff; text-align:center; }
.ge-final-cta .ge-kicker { color:#d2c57d; justify-content:center; }
.ge-final-cta .ge-kicker::before { display:none; }
.ge-final-cta h2 { color:#fff; font-size:clamp(3.1rem,7vw,6.4rem); line-height:.9; max-width:950px; margin:1rem auto 1.5rem; }
.ge-final-cta p { color:rgba(255,255,255,.7); max-width:620px; margin:0 auto 2rem; }

/* Legacy page uplift */
.section-sub-banner { min-height:430px; display:grid; place-items:center; background-position:center!important; background-size:cover!important; }
.section-sub-banner .awe-overlay { background:linear-gradient(0deg,rgba(12,15,12,.62),rgba(12,15,12,.23)); }
.section-sub-banner .sub-banner { position:relative; z-index:2; padding-top:3rem; }
.section-sub-banner h1 { color:#fff; font-size:clamp(3.4rem,8vw,7rem); line-height:.9; text-transform:none; letter-spacing:-.045em; }
.section-sub-banner p { color:rgba(255,255,255,.8); font-family:var(--ge-sans); letter-spacing:.04em; }
.section-room,.section-room-detail,.section-attractions,.section-contact,.section-term-condition,.section_page-gallery,.landing-wrap { background:var(--ge-paper); }
.room-item,.room-detail_book,.contact .text,.contact-form,.attractions-content,.landing-card,.term-condition,.reservation-sidebar_availability,.reservation_content,.attraction_sidebar,.attraction_detail,.attraction_content { border-radius:1.35rem!important; border-color:var(--ge-line)!important; box-shadow:none!important; }
.room-detail_img { border-radius:1.5rem; box-shadow:none; }
.room-detail_tab-header { border-radius:1rem; background:var(--ge-cream); }
.gallery_item { border-radius:1.15rem; }
.landing-hero { background:var(--ge-forest); padding:clamp(6rem,10vw,9rem) 0; }
.landing-hero h1 { font-family:var(--ge-serif); font-size:clamp(3.4rem,8vw,6.4rem); line-height:.9; }
.awe-btn,.btn-ge { border-radius:999px; font-family:var(--ge-sans); font-size:.7rem; letter-spacing:.105em; }

/* Footer */
.ge-footer { position:relative; background:#10120f; color:rgba(255,255,255,.6); padding:clamp(5rem,8vw,8rem) 0 0; }
.ge-footer::before { content:""; position:absolute; left:0; right:0; top:0; height:1px; background:rgba(255,255,255,.08); }
.ge-footer-logo { max-width:245px; filter:none; opacity:1; }
.ge-footer h4,.ge-footer h5 { font-family:var(--ge-sans); color:rgba(255,255,255,.5); font-size:.66rem; font-weight:800; letter-spacing:.14em; }
.ge-footer a { color:rgba(255,255,255,.72); }
.ge-footer li { margin:.55rem 0; }
.ge-footer .ge-footer-primary { color:#fff; font-family:var(--ge-serif); font-size:clamp(2.1rem,4vw,3.7rem); line-height:1; text-decoration:none; }
.ge-footer-bottom { margin-top:4rem; padding:1.4rem 0; border-top-color:rgba(255,255,255,.08); }

/* Concierge */
.ge-concierge { position:fixed; right:clamp(1rem,2vw,1.6rem); bottom:clamp(1rem,2vw,1.6rem); z-index:1085; font-family:var(--ge-sans); }
.ge-concierge-launch { position:relative; min-height:54px; border:0; border-radius:999px; padding:0 1.05rem; display:flex; align-items:center; gap:.65rem; background:#d4c36f; color:#171914; box-shadow:0 16px 42px rgba(14,16,13,.24); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ge-concierge-launch .bi { font-size:1.05rem; }
.ge-concierge-pulse { width:7px; height:7px; border-radius:50%; background:#49623d; box-shadow:0 0 0 6px rgba(73,98,61,.12); }
.ge-concierge-panel { position:absolute; right:0; bottom:calc(100% + .75rem); width:min(390px,calc(100vw - 2rem)); height:min(640px,calc(100vh - 7rem)); display:flex; flex-direction:column; opacity:0; visibility:hidden; transform:translateY(12px) scale(.985); transform-origin:bottom right; transition:.22s ease; border:1px solid rgba(255,255,255,.09); border-radius:1.5rem; overflow:hidden; background:#1b1e1a; color:#fff; box-shadow:0 30px 90px rgba(0,0,0,.34); }
.ge-concierge.is-open .ge-concierge-panel { opacity:1; visibility:visible; transform:none; }
.ge-concierge-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.25rem 1.3rem; border-bottom:1px solid rgba(255,255,255,.08); }
.ge-concierge-kicker { color:#d7c979; font-size:.58rem; font-weight:800; letter-spacing:.18em; }
.ge-concierge-head h2 { color:#fff; font-family:var(--ge-serif); font-size:1.65rem; line-height:1; margin:.2rem 0 0; }
.ge-concierge-close { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.12); border-radius:50%; background:transparent; color:#fff; }
.ge-concierge-body { flex:1; overflow:auto; padding:1.2rem; display:flex; flex-direction:column; gap:.7rem; }
.ge-chat-row { display:flex; }
.ge-chat-row.is-user { justify-content:flex-end; }
.ge-chat-bubble { max-width:86%; border-radius:1rem 1rem 1rem .25rem; padding:.8rem .9rem; background:rgba(255,255,255,.08); color:rgba(255,255,255,.86); font-size:.86rem; line-height:1.55; }
.ge-chat-row.is-user .ge-chat-bubble { border-radius:1rem 1rem .25rem 1rem; background:#d4c36f; color:#151713; }
.ge-chat-bubble a { color:#e6d88a; text-underline-offset:2px; }
.ge-chat-row.is-user .ge-chat-bubble a { color:#151713; }
.ge-concierge-quick { padding:.7rem 1.15rem .9rem; border-top:1px solid rgba(255,255,255,.07); }
.ge-concierge-quick>span { display:block; color:rgba(255,255,255,.38); font-size:.58rem; font-weight:800; text-transform:uppercase; letter-spacing:.13em; margin-bottom:.5rem; }
.ge-quick-list { display:flex; gap:.4rem; overflow-x:auto; scrollbar-width:none; padding-bottom:.1rem; }
.ge-quick-list::-webkit-scrollbar{display:none}.ge-quick-list button{flex:0 0 auto;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:transparent;color:rgba(255,255,255,.76);padding:.48rem .68rem;font-size:.7rem}.ge-quick-list button:hover{background:rgba(255,255,255,.08);color:#fff}
.ge-concierge-form { display:grid; grid-template-columns:1fr 44px; gap:.5rem; padding:.85rem; background:#121411; }
.ge-concierge-form input { min-width:0; height:44px; border:1px solid rgba(255,255,255,.11); border-radius:999px; background:rgba(255,255,255,.06); color:#fff; padding:0 1rem; outline:0; }
.ge-concierge-form input::placeholder { color:rgba(255,255,255,.35); }
.ge-concierge-form button { width:44px; height:44px; border:0; border-radius:50%; background:#d4c36f; color:#151713; }
@media(max-width:575.98px){.ge-concierge{right:.75rem;bottom:.75rem}.ge-concierge-panel{position:fixed;left:.75rem;right:.75rem;bottom:4.7rem;width:auto;height:min(70vh,620px)}.ge-concierge-label{display:none!important}}

/* Mobile direct-booking dock */
.ge-mobile-booking-dock { display:none; }
@media(max-width:767.98px){
  .ge-mobile-booking-dock { position:fixed; left:.75rem; right:.75rem; bottom:.75rem; z-index:1070; display:flex; align-items:center; justify-content:space-between; min-height:56px; padding:.35rem .4rem .35rem 1rem; border-radius:999px; background:rgba(19,21,18,.94); color:#fff; backdrop-filter:blur(16px); box-shadow:0 18px 50px rgba(0,0,0,.28); text-decoration:none; }
  .ge-mobile-booking-dock span{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ge-mobile-booking-dock i{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#d4c36f;color:#151713}.ge-concierge{bottom:5.2rem}
}

/* ===== GoldenEye 2026 accommodation / gallery / location refinement ===== */
.ge-accommodation-page,.ge-collection-page,.ge-gallery-page,.ge-location-page{background:#f4f0e8;color:#17201d}
.ge-stay-hero,.ge-collection-hero,.ge-gallery-hero,.ge-location-hero{position:relative;min-height:76vh;display:flex;align-items:flex-end;overflow:hidden;background:#111}
.ge-stay-hero-image,.ge-collection-hero>img,.ge-gallery-hero>img,.ge-location-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ge-stay-hero-shade,.ge-collection-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,14,12,.12) 15%,rgba(8,14,12,.72) 100%)}
.ge-stay-hero-content,.ge-collection-hero .container,.ge-gallery-hero .container,.ge-location-hero .container{position:relative;z-index:2;padding-bottom:clamp(3rem,8vw,7rem);color:#fff}
.ge-stay-hero h1,.ge-collection-hero h1,.ge-gallery-hero h1,.ge-location-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3.7rem,8vw,8rem);line-height:.88;letter-spacing:-.04em;max-width:980px;margin:.25rem 0 1rem;color:#fff}
.ge-stay-hero p:last-child,.ge-collection-hero p:last-child,.ge-gallery-hero p:last-child,.ge-location-hero p:last-child{max-width:760px;font-size:clamp(1rem,1.5vw,1.25rem);color:rgba(255,255,255,.82)}
.ge-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;margin-bottom:1rem}
.ge-stay-intro,.ge-collection-intro,.ge-location-story,.ge-location-beach{padding:clamp(5rem,9vw,9rem) 0}
.ge-stay-intro h2,.ge-collection-intro h2,.ge-stay-details h2,.ge-stay-gallery-strip h2,.ge-location-story h2,.ge-location-beach h2,.ge-map-copy h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,5vw,5rem);line-height:.95;letter-spacing:-.035em;margin-bottom:1.5rem}
.ge-lead-copy{font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.65;color:#26322e}
.ge-book-card{position:sticky;top:120px;background:#17201d;color:#fff;padding:2rem;border-radius:2px;box-shadow:0 28px 70px rgba(0,0,0,.16)}
.ge-book-card-top{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:1rem;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}
.ge-fact-grid{display:grid;grid-template-columns:1fr 1fr;margin:1.5rem 0}.ge-fact{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.12)}.ge-fact:nth-child(odd){padding-right:1rem;border-right:1px solid rgba(255,255,255,.12)}.ge-fact:nth-child(even){padding-left:1rem}.ge-fact strong{display:block;font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:500}.ge-fact span{font-size:.76rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.08em}
.ge-checkline{display:flex;gap:.65rem;align-items:center;color:rgba(255,255,255,.72);font-size:.85rem;margin:1rem 0 1.5rem}
.ge-primary-cta{display:flex;align-items:center;gap:1rem;padding:1rem 1.15rem;background:#c5a46d;color:#101613;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:.74rem}
.ge-mosaic-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:36vw 23vw;gap:.8rem}.ge-mosaic-item{border:0;padding:0;overflow:hidden;background:#ddd}.ge-mosaic-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.ge-mosaic-item:hover img{transform:scale(1.025)}.ge-mosaic-1{grid-row:1/3}.ge-mosaic-2{grid-column:2/4}.ge-stay-details{padding:clamp(5rem,9vw,9rem) 0;background:#fff}.ge-amenity-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ded8cd}.ge-amenity{display:flex;gap:1rem;align-items:center;padding:1.35rem 0;border-bottom:1px solid #ded8cd}.ge-amenity:nth-child(odd){border-right:1px solid #ded8cd;padding-right:1.5rem}.ge-amenity:nth-child(even){padding-left:1.5rem}.ge-amenity i{font-size:1.25rem;color:#9b7b49}
.ge-stay-gallery-strip{padding:clamp(5rem,8vw,8rem) 0}.ge-horizontal-gallery{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,32vw);gap:1rem;overflow-x:auto;padding-bottom:1rem;scroll-snap-type:x mandatory}.ge-horizontal-gallery button{border:0;padding:0;height:380px;scroll-snap-align:start;background:#ddd}.ge-horizontal-gallery img{width:100%;height:100%;object-fit:cover}.ge-text-link{font-weight:800;text-transform:uppercase;letter-spacing:.09em;font-size:.74rem;color:#17201d;text-decoration:none}.ge-text-link i{margin-left:.35rem}.ge-stay-location-cta{padding:0 0 clamp(5rem,9vw,9rem)}.ge-stay-location-cta img{width:100%;height:100%;min-height:520px;object-fit:cover}.ge-location-copy{background:#17201d;color:#fff;padding:clamp(2.5rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center}.ge-location-copy .ge-text-link{color:#d6b57d}
.ge-collection-intro{background:#f4f0e8}.ge-editorial-note{border-top:1px solid #9c947f;padding-top:1.3rem}.ge-editorial-note>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.ge-editorial-note strong{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:500;display:block;margin:.7rem 0}.ge-editorial-note a{color:#17201d;font-weight:800;text-decoration:none}.ge-stay-collection{padding-bottom:clamp(6rem,10vw,10rem)}.ge-stay-row{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;margin-bottom:clamp(4rem,8vw,8rem);background:#fff}.ge-stay-row.is-reverse{grid-template-columns:.88fr 1.12fr}.ge-stay-row.is-reverse .ge-stay-row-image{order:2}.ge-stay-row-image{min-height:620px;display:block;overflow:hidden}.ge-stay-row-image img{width:100%;height:100%;min-height:620px;object-fit:cover;transition:transform .8s}.ge-stay-row-image:hover img{transform:scale(1.025)}.ge-stay-row-copy{padding:clamp(2.5rem,6vw,6rem)}.ge-stay-row-copy h2{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,5vw,5rem);line-height:.95}.ge-stay-row-copy h2 a{text-decoration:none;color:inherit}.ge-index{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:#9b7b49}.ge-stay-badges{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.6rem 0 2rem}.ge-stay-badges span{font-size:.76rem;border:1px solid #ddd5c6;padding:.55rem .7rem}.ge-seo-band{background:#d9cfbd;padding:clamp(4rem,7vw,7rem) 0}
.ge-gallery-nav{position:sticky;top:86px;z-index:20;background:rgba(244,240,232,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(23,32,29,.12)}.ge-gallery-tabs{display:flex;gap:2rem;overflow:auto}.ge-gallery-tabs a{padding:1.2rem 0;color:#17201d;text-decoration:none;text-transform:uppercase;letter-spacing:.11em;font-size:.72rem;font-weight:800;white-space:nowrap}.ge-gallery-group{padding:clamp(5rem,8vw,8rem) 0;border-bottom:1px solid #d5cdbf}.ge-gallery-group h2{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,5vw,5rem)}.ge-gallery-masonry{columns:3 320px;column-gap:1rem}.ge-gallery-tile{border:0;padding:0;margin:0 0 1rem;width:100%;display:block;break-inside:avoid;background:#ddd;overflow:hidden}.ge-gallery-tile img{width:100%;height:auto;display:block;transition:transform .65s}.ge-gallery-tile:hover img{transform:scale(1.02)}
.ge-location-facts{display:flex;gap:2rem;flex-wrap:wrap;margin:2rem 0}.ge-location-facts span{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.ge-location-facts strong{font-family:'Cormorant Garamond',serif;font-size:2rem;display:block;text-transform:none;letter-spacing:0}.ge-rounded-media{width:100%;aspect-ratio:4/5;object-fit:cover}.ge-location-map-section{padding:0 0 clamp(6rem,9vw,9rem)}.ge-map-card{background:#17201d;color:#fff}.ge-map-card iframe{border:0;width:100%;height:620px;display:block}.ge-map-copy{padding:clamp(2.5rem,5vw,4rem)}.ge-map-copy ul{list-style:none;padding:0;margin:2rem 0}.ge-map-copy li{padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.12)}.ge-map-copy li i{margin-right:.8rem;color:#d6b57d}.ge-map-copy .ge-text-link{color:#d6b57d}
.ge-lightbox .modal-content{background:#0d1210;border:0}.ge-lightbox .modal-header{border:0;position:absolute;right:0;z-index:3}.ge-lightbox .btn-close{filter:invert(1)}.ge-lightbox-media img,.ge-lightbox-media video{display:block;max-width:100%;max-height:88vh;margin:auto}
@media(max-width:991.98px){.ge-stay-hero,.ge-collection-hero,.ge-gallery-hero,.ge-location-hero{min-height:68vh}.ge-book-card{position:static}.ge-mosaic-grid{grid-template-columns:1fr 1fr;grid-template-rows:55vw 40vw 40vw}.ge-mosaic-1{grid-column:1/3;grid-row:auto}.ge-mosaic-2{grid-column:auto}.ge-stay-row,.ge-stay-row.is-reverse{grid-template-columns:1fr}.ge-stay-row.is-reverse .ge-stay-row-image{order:0}.ge-stay-row-image,.ge-stay-row-image img{min-height:55vw}.ge-gallery-nav{top:72px}}
@media(max-width:575.98px){.ge-stay-hero h1,.ge-collection-hero h1,.ge-gallery-hero h1,.ge-location-hero h1{font-size:3.4rem}.ge-amenity-grid{grid-template-columns:1fr}.ge-amenity:nth-child(odd),.ge-amenity:nth-child(even){border-right:0;padding-left:0;padding-right:0}.ge-horizontal-gallery{grid-auto-columns:82vw}.ge-horizontal-gallery button{height:320px}.ge-map-card iframe{height:420px}.ge-location-facts{gap:1.2rem}.ge-gallery-tabs{gap:1.2rem}}
.ge-navbar .navbar-brand img{height:42px;width:auto;max-width:240px}.ge-footer-logo{width:min(100%,280px);height:auto}

/* 2026-08-11 v2 refinements: accommodation-led gallery + location journal */
.ge-gallery-description{max-width:760px;margin:.85rem 0 0;color:#66706b;line-height:1.7;font-size:1rem}
.ge-location-discover{padding:0 0 clamp(6rem,9vw,10rem)}
.ge-location-discover h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,5vw,5rem);line-height:.95;letter-spacing:-.035em;margin:0}
.ge-location-cards{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:1rem}
.ge-location-card{position:relative;min-height:520px;overflow:hidden;background:#111;color:#fff;text-decoration:none}
.ge-location-card:nth-child(2),.ge-location-card:nth-child(3){min-height:430px;margin-top:90px}
.ge-location-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.ge-location-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,13,11,.72) 100%)}
.ge-location-card span{position:absolute;left:1.6rem;bottom:1.45rem;z-index:2;font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.4vw,3.2rem);line-height:1}
.ge-location-card:hover img{transform:scale(1.035)}
@media(max-width:991.98px){.ge-location-cards{grid-template-columns:1fr 1fr}.ge-location-card:first-child{grid-column:1/3}.ge-location-card:nth-child(2),.ge-location-card:nth-child(3){margin-top:0;min-height:420px}}
@media(max-width:575.98px){.ge-location-cards{grid-template-columns:1fr}.ge-location-card:first-child{grid-column:auto}.ge-location-card,.ge-location-card:nth-child(2),.ge-location-card:nth-child(3){min-height:390px;margin-top:0}}

/* ========================================================================== 
   V3 visual refinement — typography, CTA system, compact secondary heroes,
   modern contact page. 2026-08-11
   ========================================================================== */
:root{
  --ge-btn-radius:.2rem;
  --ge-display-max:4.35rem;
}

/* One deliberate type system: serif for editorial headings, sans everywhere else. */
body,
button,
input,
select,
textarea,
.navbar,
.ge-kicker,
.ge-link-arrow,
.ge-text-link,
.ge-language-btn,
.ge-nav-icon,
.ge-btn-primary,
.ge-btn-ghost,
.ge-primary-cta,
.ge-book-btn-header,
.awe-btn,
.ge-amenities-grid .ge-amenity strong,
.ge-amenity-grid .ge-amenity,
.ge-stay-badges,
.ge-location-facts,
.ge-contact-meta{
  font-family:var(--ge-sans);
}

h1,h2,h3,h4,h5,h6,.ge-display,
.ge-booking-intro strong,
.ge-fact strong,
.ge-index,
.ge-location-card span{
  font-family:var(--ge-serif);
}

/* Calmer editorial scale on content sections. */
.ge-section-title{
  font-size:clamp(2.35rem,4.4vw,var(--ge-display-max));
  line-height:.99;
  letter-spacing:-.032em;
  max-width:780px;
  margin:.8rem 0 1.25rem;
}
.ge-section-intro{font-size:1rem;line-height:1.75}

/* Home amenities: compact, consistent and sans-serif. */
.ge-amenities-grid{margin-top:2.5rem}
.ge-amenities-grid .ge-amenity{
  min-height:145px;
  padding:1.35rem 1.45rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:1.2rem;
  border-right:1px solid var(--ge-line);
  border-bottom:1px solid var(--ge-line);
  background:transparent;
}
.ge-amenities-grid .ge-amenity i{font-size:1.25rem;color:var(--ge-gold-dark)}
.ge-amenities-grid .ge-amenity strong{
  font-size:.98rem;
  line-height:1.45;
  font-weight:600;
  letter-spacing:-.012em;
  color:var(--ge-ink);
  max-width:14rem;
}

/* Accommodation amenity list is separate from the home feature grid. */
.ge-amenity-grid .ge-amenity{
  display:flex;
  flex-direction:row;
  justify-content:flex-start;
  align-items:center;
  gap:1rem;
  min-height:auto;
  padding:1.15rem 0;
  font-size:.94rem;
  font-weight:550;
  line-height:1.45;
}
.ge-amenity-grid .ge-amenity i{font-size:1.15rem;flex:0 0 auto}

/* One CTA language across header, heroes, booking cards and forms. */
.ge-btn-primary,
.ge-primary-cta,
.ge-book-btn-header,
.awe-btn.awe-btn-13,
.btn-ge:not(.btn-ge-outline){
  min-height:50px;
  border:1px solid #cbb56a !important;
  border-radius:var(--ge-btn-radius) !important;
  background:#cbb56a !important;
  color:#141713 !important;
  box-shadow:none !important;
  padding:.82rem 1.2rem !important;
  font-family:var(--ge-sans) !important;
  font-size:.7rem !important;
  line-height:1.2;
  font-weight:800 !important;
  letter-spacing:.105em !important;
  text-transform:uppercase;
  text-decoration:none;
  transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease;
}
.ge-btn-primary:hover,
.ge-primary-cta:hover,
.ge-book-btn-header:hover,
.awe-btn.awe-btn-13:hover,
.btn-ge:not(.btn-ge-outline):hover{
  background:#171c18 !important;
  border-color:#171c18 !important;
  color:#fff !important;
  transform:translateY(-1px);
}
.ge-book-btn-header{
  min-height:44px !important;
  padding:.7rem 1rem !important;
  margin:0 !important;
  white-space:nowrap;
}
.ge-btn-ghost,
.awe-btn.awe-btn-12,
.btn-ge-outline{
  border-radius:var(--ge-btn-radius) !important;
}

/* A little more restraint in navigation. */
.ge-navbar{min-height:80px}
.ge-navbar .nav-link{font-size:.69rem;letter-spacing:.105em;padding:.95rem .68rem !important}
.ge-navbar .navbar-brand img{height:40px;max-width:235px}

/* Secondary page heroes should not compete with the home hero. */
.ge-location-hero{
  min-height:clamp(430px,52vh,570px);
  max-height:570px;
}
.ge-location-hero .container{padding-bottom:clamp(2.6rem,5vw,4.25rem)}
.ge-location-hero h1{
  font-size:clamp(3rem,5.6vw,5.6rem);
  line-height:.92;
  max-width:850px;
}
.ge-location-hero p:last-child{font-size:clamp(.98rem,1.2vw,1.12rem);max-width:700px}

/* Contact — fully redesigned rather than skinning the old template. */
.ge-contact-page{background:var(--ge-paper)}
.ge-contact-hero{
  position:relative;
  min-height:clamp(400px,50vh,540px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#111;
  color:#fff;
}
.ge-contact-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.ge-contact-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,13,11,.12) 10%,rgba(8,13,11,.72) 100%)}
.ge-contact-hero .container{position:relative;z-index:2;padding-bottom:clamp(2.8rem,5vw,4.5rem)}
.ge-contact-hero h1{font-size:clamp(3rem,5.8vw,5.7rem);line-height:.92;letter-spacing:-.035em;color:#fff;margin:.35rem 0 .85rem;max-width:850px}
.ge-contact-hero p:last-child{max-width:660px;color:rgba(255,255,255,.82);font-size:1.04rem;margin:0}
.ge-contact-main{padding:clamp(4.5rem,8vw,8rem) 0}
.ge-contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.ge-contact-intro{padding-top:.35rem}
.ge-contact-intro h2{font-size:clamp(2.6rem,4.5vw,4.5rem);line-height:.98;margin:.7rem 0 1.25rem;max-width:500px}
.ge-contact-intro>p{max-width:530px;color:var(--ge-muted);font-size:1rem;line-height:1.8}
.ge-contact-meta{margin-top:2.2rem;border-top:1px solid var(--ge-line)}
.ge-contact-meta a,.ge-contact-meta div{display:grid;grid-template-columns:34px 1fr;gap:.75rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--ge-line);text-decoration:none;color:var(--ge-ink);font-size:.92rem}
.ge-contact-meta i{color:var(--ge-gold-dark);font-size:1rem}
.ge-contact-booking{margin-top:1.8rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.ge-contact-form-card{background:#f1ece2;padding:clamp(1.5rem,4vw,3.2rem);border:1px solid rgba(21,23,20,.08)}
.ge-contact-form-card .ge-kicker{margin-bottom:1.35rem}
.ge-modern-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.1rem}
.ge-modern-field{display:flex;flex-direction:column;gap:.45rem}
.ge-modern-field.is-full{grid-column:1/-1}
.ge-modern-field label{font-size:.66rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#686e68}
.ge-modern-field input,.ge-modern-field textarea{
  width:100%;
  border:0 !important;
  border-bottom:1px solid #bdb4a4 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--ge-ink) !important;
  padding:.72rem 0 !important;
  font-family:var(--ge-sans) !important;
  font-size:.97rem !important;
  outline:0;
  box-shadow:none !important;
}
.ge-modern-field input{min-height:48px}
.ge-modern-field textarea{min-height:150px;resize:vertical}
.ge-modern-field input:focus,.ge-modern-field textarea:focus{border-bottom-color:var(--ge-ink) !important}
.ge-contact-submit{margin-top:.4rem;grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.ge-contact-submit small{max-width:350px;color:#7a7b74;font-size:.72rem;line-height:1.5}
.ge-contact-map{padding:0 0 clamp(5rem,8vw,8rem)}
.ge-contact-map-wrap{display:grid;grid-template-columns:1.45fr .55fr;background:#17201d;color:#fff}
.ge-contact-map iframe{width:100%;height:480px;border:0;display:block}
.ge-contact-map-copy{padding:clamp(2rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:center}
.ge-contact-map-copy h2{font-size:clamp(2.25rem,3.8vw,3.7rem);line-height:.98;color:#fff;margin:.55rem 0 1rem}
.ge-contact-map-copy p{color:rgba(255,255,255,.68);font-size:.9rem}

@media(max-width:991.98px){
  .ge-location-hero{min-height:460px;max-height:none}
  .ge-contact-layout{grid-template-columns:1fr;gap:3rem}
  .ge-contact-map-wrap{grid-template-columns:1fr}
  .ge-contact-map iframe{height:420px}
}
@media(max-width:767.98px){
  .ge-section-title{font-size:clamp(2.25rem,10vw,3.6rem)}
  .ge-amenities-grid .ge-amenity{min-height:125px;padding:1.1rem}
  .ge-modern-form{grid-template-columns:1fr}
  .ge-modern-field.is-full,.ge-contact-submit{grid-column:auto}
  .ge-contact-submit{align-items:flex-start;flex-direction:column-reverse}
}
@media(max-width:575.98px){
  .ge-location-hero{min-height:410px}
  .ge-contact-hero{min-height:390px}
  .ge-contact-hero h1,.ge-location-hero h1{font-size:3rem}
}
.ge-contact-intro .ge-contact-lead{font-size:1.08rem;line-height:1.75;color:#313934;max-width:520px;margin-bottom:1rem}


/* ==========================================================================
   V4 refinement — compact accommodation, collection and gallery heroes.
   Location and contact retain the V3 medium-height treatment.
   ========================================================================== */

/* The home hero remains the only full-screen editorial hero. */
.ge-collection-hero{
  min-height:clamp(350px,42vh,445px);
  max-height:445px;
}
.ge-gallery-hero{
  min-height:clamp(355px,43vh,455px);
  max-height:455px;
}
.ge-stay-hero{
  min-height:clamp(385px,46vh,500px);
  max-height:500px;
}

/* Bring content closer to the fold and reduce headline dominance. */
.ge-collection-hero .container,
.ge-gallery-hero .container{
  padding-bottom:clamp(2.1rem,3.8vw,3.35rem);
}
.ge-stay-hero-content{
  padding-bottom:clamp(2.25rem,4vw,3.65rem);
}
.ge-collection-hero h1,
.ge-gallery-hero h1{
  font-size:clamp(2.9rem,4.9vw,5rem);
  line-height:.92;
  max-width:830px;
  margin:.2rem 0 .75rem;
}
.ge-stay-hero h1{
  font-size:clamp(3.05rem,5.25vw,5.45rem);
  line-height:.91;
  max-width:900px;
  margin:.2rem 0 .8rem;
}
.ge-collection-hero p:last-child,
.ge-gallery-hero p:last-child,
.ge-stay-hero p:last-child{
  font-size:clamp(.96rem,1.05vw,1.08rem);
  line-height:1.62;
  max-width:680px;
  margin-bottom:0;
}

/* Gallery navigation follows immediately after the compact visual intro. */
.ge-gallery-nav .ge-gallery-tabs a{
  padding:1rem 0;
}

@media(max-width:991.98px){
  .ge-collection-hero,
  .ge-gallery-hero{
    min-height:390px;
    max-height:430px;
  }
  .ge-stay-hero{
    min-height:420px;
    max-height:470px;
  }
}

@media(max-width:575.98px){
  .ge-collection-hero,
  .ge-gallery-hero{
    min-height:340px;
    max-height:380px;
  }
  .ge-stay-hero{
    min-height:370px;
    max-height:420px;
  }
  .ge-collection-hero h1,
  .ge-gallery-hero h1{
    font-size:clamp(2.55rem,13vw,3.35rem);
  }
  .ge-stay-hero h1{
    font-size:clamp(2.7rem,13vw,3.55rem);
  }
  .ge-collection-hero .container,
  .ge-gallery-hero .container,
  .ge-stay-hero-content{
    padding-bottom:2rem;
  }
}

/* ==========================================================================
   V5 — Content & Conversion master pass (EN/DE reference build)
   ========================================================================== */

/* Shared secondary CTA on light surfaces. */
.ge-btn-ghost-dark,
.ge-secondary-cta{
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  padding:.82rem 1.2rem;
  border:1px solid rgba(23,32,29,.28);
  border-radius:var(--ge-btn-radius);
  background:transparent;
  color:var(--ge-ink);
  text-decoration:none;
  font-family:var(--ge-sans);
  font-size:.7rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.105em;
  text-transform:uppercase;
  transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease;
}
.ge-btn-ghost-dark:hover{background:var(--ge-ink);border-color:var(--ge-ink);color:#fff;transform:translateY(-1px)}
.ge-book-card .ge-secondary-cta{margin-top:.65rem;color:#fff;border-color:rgba(255,255,255,.2)}
.ge-book-card .ge-secondary-cta:hover{background:#fff;color:var(--ge-ink);border-color:#fff}

/* Accommodation: quick facts directly below the compact hero. */
.ge-stay-facts-rail{background:#efe9dd;border-bottom:1px solid var(--ge-line)}
.ge-stay-facts-row{display:grid;grid-template-columns:repeat(4,1fr) auto;align-items:stretch}
.ge-stay-rail-fact{padding:1.2rem 1.15rem;border-right:1px solid rgba(23,32,29,.12);display:flex;flex-direction:column;justify-content:center;min-height:86px}
.ge-stay-rail-fact:first-child{padding-left:0}
.ge-stay-rail-fact strong{font-family:var(--ge-serif);font-size:1.55rem;font-weight:550;line-height:1;color:var(--ge-ink)}
.ge-stay-rail-fact span{margin-top:.35rem;font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#6c716b}
.ge-stay-rail-book{min-width:235px;display:flex;align-items:center;justify-content:center;gap:.7rem;padding:1rem 1.25rem;background:var(--ge-ink);color:#fff;text-decoration:none;font-size:.67rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.ge-stay-rail-book:hover{background:#cbb56a;color:#151713}
.ge-stay-editorial-copy{max-width:760px}
.ge-stay-editorial-copy p{font-size:1rem;line-height:1.82;color:#555d58;margin-bottom:1.15rem}
.ge-stay-editorial-copy .ge-lead-copy{font-size:1.16rem;color:#222a26}
.ge-book-card-note{color:rgba(255,255,255,.64);font-size:.78rem;line-height:1.62;margin:0 0 1rem}

/* Accommodation: audience / fit statement. */
.ge-stay-fit{background:#17201d;color:#fff;padding:clamp(4rem,7vw,7rem) 0}
.ge-stay-fit-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,7vw,7rem);align-items:start}
.ge-stay-fit .ge-kicker{color:#d6b57d}
.ge-stay-fit h2{font-size:clamp(2.65rem,4.7vw,4.8rem);line-height:.96;color:#fff;max-width:560px;margin:.7rem 0 0}
.ge-stay-fit-lead{font-size:1.08rem;line-height:1.8;color:rgba(255,255,255,.76);max-width:700px}
.ge-stay-fit ul{list-style:none;padding:0;margin:2rem 0 0;border-top:1px solid rgba(255,255,255,.14)}
.ge-stay-fit li{display:flex;gap:.85rem;align-items:center;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:.86rem;color:rgba(255,255,255,.9)}
.ge-stay-fit li i{color:#d6b57d}

/* Accommodation: grouped amenities instead of a generic checklist. */
.ge-stay-details-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.4rem}
.ge-stay-details-head h2{margin:0}
.ge-amenity-groups{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ge-line);border-bottom:1px solid var(--ge-line)}
.ge-amenity-group{padding:2rem clamp(1.3rem,2.5vw,2.5rem);border-right:1px solid var(--ge-line)}
.ge-amenity-group:first-child{padding-left:0}
.ge-amenity-group:last-child{border-right:0;padding-right:0}
.ge-amenity-group h3{font-family:var(--ge-sans);font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;margin:0 0 1.35rem;color:#6a6f69}
.ge-amenity-group ul{list-style:none;margin:0;padding:0}
.ge-amenity-group li{display:flex;gap:.75rem;padding:.72rem 0;border-bottom:1px solid rgba(23,32,29,.08);font-size:.9rem;line-height:1.55;color:#343c37}
.ge-amenity-group li:last-child{border-bottom:0}
.ge-amenity-group li i{color:#9b7b49;flex:0 0 auto;margin-top:.15rem}

/* Accommodation FAQ. */
.ge-stay-faq{padding:clamp(5rem,8vw,8rem) 0;background:#efe9dd}
.ge-stay-faq-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(3rem,7vw,7rem);align-items:start}
.ge-stay-faq h2{font-size:clamp(2.6rem,4.6vw,4.6rem);line-height:.97;max-width:520px}
.ge-faq-accordion{--bs-accordion-bg:transparent;--bs-accordion-border-color:rgba(23,32,29,.15);--bs-accordion-btn-focus-box-shadow:none;--bs-accordion-active-bg:transparent;--bs-accordion-active-color:var(--ge-ink)}
.ge-faq-accordion .accordion-item{border-left:0;border-right:0}
.ge-faq-accordion .accordion-button{padding:1.25rem 0;background:transparent;font-family:var(--ge-sans);font-size:.95rem;font-weight:650;color:var(--ge-ink);box-shadow:none}
.ge-faq-accordion .accordion-button:not(.collapsed){box-shadow:none}
.ge-faq-accordion .accordion-body{padding:.1rem 0 1.4rem;color:#5c645f;line-height:1.75;font-size:.92rem}
.ge-stay-final-book{padding:clamp(3rem,5vw,5rem) 0;background:#d7c9b2}
.ge-stay-final-book .container{display:flex;align-items:end;justify-content:space-between;gap:2rem}
.ge-stay-final-book h2{font-size:clamp(2.5rem,4vw,4rem);line-height:.98;margin:.5rem 0 .7rem}
.ge-stay-final-book p{margin:0;max-width:650px;color:#545a55}
.ge-stay-final-actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}

/* Villas overview: comparison first, then editorial room stories. */
.ge-stay-compare{padding:clamp(4.5rem,7vw,7rem) 0;background:#fff}
.ge-compare-head{display:grid;grid-template-columns:1fr .8fr;gap:clamp(2rem,6vw,6rem);align-items:end;margin-bottom:2.5rem}
.ge-compare-head h2{font-size:clamp(2.7rem,4.8vw,4.8rem);line-height:.96;margin:.65rem 0 0}
.ge-compare-head>p{max-width:600px;color:#626964;line-height:1.75;margin:0}
.ge-compare-table{border-top:1px solid var(--ge-line)}
.ge-compare-row{display:grid;grid-template-columns:1.7fr .7fr .55fr 1.2fr .55fr;gap:1rem;align-items:center;padding:1.15rem 0;border-bottom:1px solid var(--ge-line);font-size:.84rem}
.ge-compare-row.is-head{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#777c76}
.ge-compare-name{font-family:var(--ge-serif);font-size:1.35rem;color:var(--ge-ink)}
.ge-compare-row a{justify-self:end;text-decoration:none;color:var(--ge-ink);font-size:.65rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.ge-stay-row-lead{font-size:1rem;line-height:1.75;color:#5b625e;max-width:560px}
.ge-villas-direct{padding:clamp(4rem,7vw,6.5rem) 0;background:#17201d;color:#fff}
.ge-villas-direct .container{display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end}
.ge-villas-direct h2{font-size:clamp(2.7rem,4.5vw,4.7rem);line-height:.96;color:#fff;margin:.65rem 0 .8rem}
.ge-villas-direct p{color:rgba(255,255,255,.66);max-width:720px;margin:0;line-height:1.75}
.ge-villas-direct .ge-kicker{color:#d6b57d}
.ge-villas-direct-actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}
.ge-villas-direct .ge-btn-ghost-dark{color:#fff;border-color:rgba(255,255,255,.24)}
.ge-villas-direct .ge-btn-ghost-dark:hover{background:#fff;color:#17201d;border-color:#fff}

/* Gallery: explain the grouping before the image wall. */
.ge-gallery-intro{padding:clamp(3.5rem,6vw,5.5rem) 0 2rem;background:var(--ge-paper)}
.ge-gallery-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,6vw,6rem);align-items:end}
.ge-gallery-intro h2{font-size:clamp(2.5rem,4.3vw,4.3rem);line-height:.98;margin:.6rem 0 0}
.ge-gallery-intro-grid>p{max-width:680px;color:#616963;line-height:1.78;margin:0}
.ge-gallery-group-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.7rem}
.ge-gallery-count{display:inline-block;margin-top:1rem;font-size:.63rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#8b8d85}
.ge-gallery-final{padding:clamp(4rem,7vw,6rem) 0;background:#d7c9b2}
.ge-gallery-final .container{display:flex;justify-content:space-between;align-items:end;gap:2rem}
.ge-gallery-final h2{font-size:clamp(2.7rem,4.5vw,4.5rem);line-height:.96;margin:.55rem 0 0}
.ge-gallery-final .container>div:last-child{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}

/* Location: practical facts without turning the page into a directory. */
.ge-location-practical{padding:clamp(4rem,7vw,7rem) 0;background:#fff}
.ge-location-practical-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:end;margin-bottom:2.5rem}
.ge-location-practical-head h2{font-size:clamp(2.65rem,4.6vw,4.6rem);line-height:.97;margin:.6rem 0 0;max-width:600px}
.ge-location-practical-head>p{max-width:680px;color:#626a64;line-height:1.78;margin:0}
.ge-location-practical-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ge-line);border-bottom:1px solid var(--ge-line)}
.ge-location-practical-grid article{padding:2rem clamp(1.4rem,2.5vw,2.5rem);border-right:1px solid var(--ge-line)}
.ge-location-practical-grid article:first-child{padding-left:0}.ge-location-practical-grid article:last-child{border-right:0;padding-right:0}
.ge-location-practical-grid i{font-size:1.25rem;color:#9b7b49}.ge-location-practical-grid span{display:block;margin:.9rem 0 .45rem;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#797d77}
.ge-location-practical-grid h3{font-size:1.75rem;line-height:1;margin:0 0 .8rem}.ge-location-practical-grid p{font-size:.89rem;line-height:1.7;color:#646b66;margin:0}
.ge-location-tip{display:flex;gap:1rem;align-items:flex-start;margin-top:1.5rem;padding:1.25rem 0;border-bottom:1px solid var(--ge-line);max-width:900px}
.ge-location-tip i{color:#9b7b49;font-size:1.15rem}.ge-location-tip p{margin:0;color:#5e6660;line-height:1.7;font-size:.9rem}

/* Contact: useful answers before map. */
.ge-contact-quick{padding:0 0 clamp(5rem,8vw,8rem)}
.ge-contact-quick-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem}
.ge-contact-quick-head h2{font-size:clamp(2.6rem,4.5vw,4.5rem);line-height:.97;margin:.55rem 0 0}
.ge-contact-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ge-line);border-bottom:1px solid var(--ge-line)}
.ge-contact-quick-grid article{padding:2rem clamp(1.4rem,2.5vw,2.5rem);border-right:1px solid var(--ge-line)}
.ge-contact-quick-grid article:first-child{padding-left:0}.ge-contact-quick-grid article:last-child{border-right:0;padding-right:0}
.ge-contact-quick-grid>article>i{color:#9b7b49;font-size:1.2rem}.ge-contact-quick-grid h3{font-family:var(--ge-sans);font-size:.95rem;font-weight:700;margin:1rem 0 .65rem}.ge-contact-quick-grid p{font-size:.88rem;line-height:1.68;color:#646b66;min-height:3.1em}.ge-contact-quick-grid a{font-size:.65rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;color:var(--ge-ink)}

/* Home: small trust / booking reassurance rail. */
.ge-home-trust{background:#17201d;color:#fff}
.ge-home-trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.ge-home-trust article{display:flex;align-items:center;gap:1rem;padding:1.45rem 1.75rem;border-right:1px solid rgba(255,255,255,.12)}
.ge-home-trust article:first-child{padding-left:0}.ge-home-trust article:last-child{border-right:0;padding-right:0}
.ge-home-trust i{font-size:1.15rem;color:#d6b57d}.ge-home-trust strong{display:block;font-size:.75rem;letter-spacing:.04em;color:#fff}.ge-home-trust span{display:block;margin-top:.25rem;color:rgba(255,255,255,.57);font-size:.74rem;line-height:1.4}

/* SEO landing pages now use the same editorial system as the main site. */
.ge-landing-page{background:var(--ge-paper)}
.ge-landing-hero{position:relative;min-height:clamp(360px,44vh,470px);display:flex;align-items:flex-end;overflow:hidden;background:#111;color:#fff}
.ge-landing-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ge-landing-hero .ge-collection-overlay{position:absolute;inset:0}
.ge-landing-hero .container{position:relative;z-index:2;padding-bottom:clamp(2.4rem,4vw,3.5rem)}
.ge-landing-hero h1{font-size:clamp(2.9rem,5vw,5.1rem);line-height:.93;color:#fff;max-width:900px;margin:.4rem 0 .75rem}
.ge-landing-hero p:last-child{max-width:720px;color:rgba(255,255,255,.8);font-size:1rem;line-height:1.65;margin:0}
.ge-landing-content{padding:clamp(4.5rem,8vw,8rem) 0}
.ge-landing-article>p{font-size:1rem;line-height:1.85;color:#565e59;max-width:790px}.ge-landing-article>.ge-lead-copy{font-size:1.18rem;color:#252e29}
.ge-landing-why{margin-top:3.5rem;padding-top:3rem;border-top:1px solid var(--ge-line)}
.ge-landing-why h2,.ge-landing-useful h2{font-size:clamp(2.45rem,4vw,4rem);line-height:.98;margin:.6rem 0 1rem}
.ge-landing-why p:last-child{max-width:760px;line-height:1.8;color:#5b635e}
.ge-landing-sticky{position:sticky;top:110px;background:#17201d;color:#fff;padding:clamp(1.7rem,3vw,2.5rem)}
.ge-landing-sticky .ge-kicker{color:#d6b57d}.ge-landing-sticky h2{font-size:clamp(2.15rem,3.3vw,3.25rem);line-height:.98;color:#fff;margin:.6rem 0 1rem}.ge-landing-sticky>p{font-size:.87rem;line-height:1.7;color:rgba(255,255,255,.67)}
.ge-landing-stay-links{margin:1.5rem 0}.ge-landing-stay-links a{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.95rem 0;border-top:1px solid rgba(255,255,255,.13);text-decoration:none;color:#fff}.ge-landing-stay-links a:last-child{border-bottom:1px solid rgba(255,255,255,.13)}.ge-landing-stay-links strong{font-family:var(--ge-sans);font-size:.8rem}.ge-landing-stay-links span{font-size:.66rem;color:rgba(255,255,255,.5);text-align:right}.ge-landing-sticky .ge-btn-primary{margin-top:.6rem}.ge-landing-sticky .ge-btn-ghost-dark{margin-top:.55rem;color:#fff;border-color:rgba(255,255,255,.23)}.ge-landing-sticky .ge-btn-ghost-dark:hover{background:#fff;color:#17201d;border-color:#fff}
.ge-landing-useful{margin-top:3.5rem}.ge-landing-link-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ge-line);margin-top:1.3rem}.ge-landing-link-grid a{display:flex;gap:.8rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--ge-line);text-decoration:none;color:var(--ge-ink);font-size:.82rem}.ge-landing-link-grid a:nth-child(odd){border-right:1px solid var(--ge-line);padding-right:1rem}.ge-landing-link-grid a:nth-child(even){padding-left:1rem}.ge-landing-link-grid i{color:#9b7b49}
.ge-landing-related{padding:clamp(4.5rem,7vw,7rem) 0;background:#fff}.ge-landing-section-head h2{font-size:clamp(2.65rem,4.5vw,4.5rem);line-height:.97;margin:.55rem 0 2rem}.ge-landing-related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.ge-landing-related-card{display:grid;grid-template-columns:.92fr 1.08fr;min-height:260px;background:var(--ge-paper);text-decoration:none;color:var(--ge-ink);overflow:hidden}.ge-landing-related-image{min-height:260px;overflow:hidden}.ge-landing-related-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.ge-landing-related-card:hover img{transform:scale(1.025)}.ge-landing-related-card>div:last-child{padding:1.5rem;display:flex;flex-direction:column;justify-content:center}.ge-landing-related-card span{font-size:.61rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#8a806e}.ge-landing-related-card h3{font-size:1.8rem;line-height:1.02;margin:.55rem 0 .7rem}.ge-landing-related-card p{font-size:.82rem;line-height:1.6;color:#676e69}.ge-landing-related-card strong{font-family:var(--ge-sans);font-size:.63rem;text-transform:uppercase;letter-spacing:.09em;margin-top:auto}
.ge-landing-faq{padding:clamp(4.5rem,7vw,7rem) 0;background:#efe9dd}.ge-landing-faq h2{font-size:clamp(2.7rem,4.5vw,4.5rem);line-height:.97;margin:.55rem 0 0}
.ge-landing-final{padding:clamp(3.5rem,6vw,5.5rem) 0;background:#d7c9b2}.ge-landing-final .container{display:flex;align-items:end;justify-content:space-between;gap:3rem}.ge-landing-final h2{font-size:clamp(2.6rem,4.3vw,4.3rem);line-height:.97;margin:.55rem 0 .7rem}.ge-landing-final p{margin:0;max-width:700px;color:#5d625d}.ge-landing-final .container>div:last-child{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}

@media(max-width:991.98px){
  .ge-stay-facts-row{grid-template-columns:repeat(4,1fr)}
  .ge-stay-rail-book{grid-column:1/-1;min-height:54px}
  .ge-stay-fit-grid,.ge-stay-faq-grid,.ge-compare-head,.ge-gallery-intro-grid,.ge-location-practical-head{grid-template-columns:1fr;gap:1.7rem}
  .ge-amenity-groups{grid-template-columns:1fr}.ge-amenity-group,.ge-amenity-group:first-child,.ge-amenity-group:last-child{padding:1.6rem 0;border-right:0;border-bottom:1px solid var(--ge-line)}.ge-amenity-group:last-child{border-bottom:0}
  .ge-compare-row{grid-template-columns:1.5fr .6fr .5fr 1fr .5fr}
  .ge-villas-direct .container,.ge-stay-final-book .container,.ge-gallery-final .container,.ge-landing-final .container{grid-template-columns:1fr;display:grid;align-items:start}.ge-villas-direct-actions,.ge-stay-final-actions,.ge-gallery-final .container>div:last-child,.ge-landing-final .container>div:last-child{justify-content:flex-start}
  .ge-location-practical-grid,.ge-contact-quick-grid{grid-template-columns:1fr}.ge-location-practical-grid article,.ge-location-practical-grid article:first-child,.ge-location-practical-grid article:last-child,.ge-contact-quick-grid article,.ge-contact-quick-grid article:first-child,.ge-contact-quick-grid article:last-child{padding:1.6rem 0;border-right:0;border-bottom:1px solid var(--ge-line)}.ge-location-practical-grid article:last-child,.ge-contact-quick-grid article:last-child{border-bottom:0}
  .ge-home-trust-grid{grid-template-columns:1fr}.ge-home-trust article,.ge-home-trust article:first-child,.ge-home-trust article:last-child{padding:1.15rem 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.ge-home-trust article:last-child{border-bottom:0}
  .ge-landing-sticky{position:static}.ge-landing-related-grid{grid-template-columns:1fr}
}

@media(max-width:767.98px){
  .ge-stay-facts-row{grid-template-columns:1fr 1fr}.ge-stay-rail-fact{padding:1rem;border-bottom:1px solid rgba(23,32,29,.12)}.ge-stay-rail-fact:nth-child(odd){padding-left:0}.ge-stay-rail-fact:nth-child(even){border-right:0}.ge-stay-rail-book{grid-column:1/-1}
  .ge-compare-table{border-top:0}.ge-compare-row.is-head{display:none}.ge-compare-row{grid-template-columns:1fr 1fr;gap:.65rem 1rem;padding:1.4rem 0}.ge-compare-name{grid-column:1/-1}.ge-compare-row a{justify-self:start}
  .ge-gallery-group-head{align-items:flex-start;flex-direction:column}
  .ge-landing-related-card{grid-template-columns:1fr}.ge-landing-related-image{min-height:220px}.ge-landing-link-grid{grid-template-columns:1fr}.ge-landing-link-grid a:nth-child(odd),.ge-landing-link-grid a:nth-child(even){border-right:0;padding-left:0;padding-right:0}
}

@media(max-width:575.98px){
  .ge-stay-rail-fact strong{font-size:1.35rem}
  .ge-stay-fit h2,.ge-stay-faq h2,.ge-compare-head h2,.ge-gallery-intro h2,.ge-location-practical-head h2,.ge-contact-quick-head h2{font-size:2.55rem}
  .ge-stay-final-actions,.ge-villas-direct-actions,.ge-gallery-final .container>div:last-child,.ge-landing-final .container>div:last-child{width:100%;flex-direction:column}.ge-stay-final-actions a,.ge-villas-direct-actions a,.ge-gallery-final a,.ge-landing-final a{width:100%}
  .ge-landing-hero{min-height:360px}.ge-landing-hero h1{font-size:2.8rem}.ge-landing-related-card h3{font-size:1.65rem}
}


/* ==========================================================================
   V6 — copy polish, location proportions and gallery hierarchy
   ========================================================================== */

/* Location hero: center the copy vertically so the headline no longer crowds the header edge. */
.ge-location-hero{
  align-items:center;
}
.ge-location-hero .container{
  padding-top:clamp(1.5rem,3vw,2.5rem);
  padding-bottom:0;
}
.ge-location-hero h1{
  font-size:clamp(2.85rem,5vw,4.9rem);
  max-width:790px;
}

/* The story image is landscape material; present it as such instead of forcing a tall portrait crop. */
.ge-location-story .ge-rounded-media{
  aspect-ratio:16/11;
  max-height:520px;
  object-fit:cover;
  object-position:center 72%;
}

/* Dark map panel needs an explicit light heading color. */
.ge-map-copy h2{color:#fff;}
.ge-map-copy .ge-kicker{color:#d6b57d;}

/* Gallery hero is the title; the following editorial intro now has a different job. */
.ge-gallery-intro{padding:clamp(2.8rem,4.5vw,4.2rem) 0 1.5rem;}
.ge-gallery-intro h2{max-width:560px;}

/* Unit count is shown below the accommodation type without adding another table column. */
.ge-compare-name small{
  display:block;
  margin-top:.35rem;
  font-family:var(--ge-sans);
  font-size:.58rem;
  line-height:1.35;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:#8b8b82;
}

@media(max-width:575.98px){
  .ge-location-hero{align-items:flex-end;}
  .ge-location-hero .container{padding-top:1.5rem;padding-bottom:2rem;}
  .ge-location-story .ge-rounded-media{aspect-ratio:4/3;max-height:360px;}
}
