:root{--forest:#15332b;--forest-2:#244b3e;--sage:#65796b;--cream:#f7f4eb;--sand:#eae3d4;--paper:#fffdf7;--ink:#25362e;--muted:#69756b;--gold:#ceb58b;--line:rgba(36,75,62,.17)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 "Helvetica Neue",Arial,sans-serif}
button,input{font:inherit}
a{color:inherit}
img{max-width:100%}
.shell{width:min(1320px,calc(100% - 88px));margin-inline:auto}
.site-header{position:absolute;z-index:5;top:0;left:0;right:0;color:#fff;border-bottom:1px solid rgba(255,255,255,.22)}
.nav-row{height:92px;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-family:Georgia,serif;font-size:2rem;font-weight:700;letter-spacing:-.07em;line-height:.85}
.brand-mark{font:1.7rem/1 Arial,sans-serif;color:#e1c797}
.brand small{display:block;margin-top:.45rem;font:600 .49rem/1.2 Arial,sans-serif;letter-spacing:.28em}
.site-header nav{display:flex;align-items:center;gap:2.4rem}
.site-header nav a,.nav-action{font-size:.83rem;font-weight:600;text-decoration:none}
.site-header nav a{opacity:.88}
.site-header a:hover,.text-link:hover{opacity:.7}
.nav-action{border:1px solid rgba(255,255,255,.55);padding:.85rem 1.25rem;border-radius:2px}
.nav-action span{margin-left:1rem}
.hero{position:relative;min-height:760px;height:min(880px,100svh);color:#fff;overflow:hidden;display:flex;align-items:center}
.hero-photo,.hero-shade{position:absolute;inset:0}
.hero-photo{background:url("https://sabsus-sites-assets.web.app/files/stayra/site_ad01296e48e6a22b2eedaa42/media_b15486ca8ee5f652d9287576/refine-s38-f07731972013.webp") center center/cover no-repeat;transform:scale(1.01)}
.hero-shade{background:linear-gradient(90deg,rgba(10,32,25,.73) 0%,rgba(10,32,25,.31) 51%,rgba(10,32,25,.05) 100%),linear-gradient(0deg,rgba(6,25,20,.35),transparent 31%)}
.hero-content{position:relative;z-index:1;padding-top:5rem}
.hero-kicker,.eyebrow{font-size:.69rem;font-weight:700;letter-spacing:.26em}
.hero-kicker{display:flex;align-items:center;gap:.9rem;margin-bottom:2.2rem}
.kicker-line{width:37px;height:1px;background:var(--gold)}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.054em}
h1 em,h2 em{font-weight:400;color:var(--gold)}
.hero h1{font-size:clamp(4.5rem,8.5vw,9.5rem);line-height:.92;max-width:980px;margin-bottom:1.8rem}
.hero-lead{font-size:1.16rem;line-height:1.7;max-width:470px;color:rgba(255,255,255,.91);margin-bottom:2.3rem}
.hero-link{display:inline-flex;align-items:center;gap:3.5rem;padding:1.1rem 1.4rem;background:var(--paper);color:var(--forest);text-decoration:none;font-size:.82rem;font-weight:700}
.hero-link:hover{background:#e6d9bc}
.hero-side{position:absolute;right:3.4rem;top:46%;writing-mode:vertical-rl;letter-spacing:.24em;font-size:.65rem;font-weight:700}
.hero-caption{position:absolute;right:3.4rem;bottom:2rem;font-size:.7rem;color:rgba(255,255,255,.84)}
.eyebrow{color:#617d6e;margin-bottom:1.25rem}
.intro{min-height:425px;display:grid;grid-template-columns:.58fr 1.4fr .9fr;gap:3rem;align-items:center;padding-block:6.5rem;border-bottom:1px solid var(--line)}
.section-index{align-self:start;color:var(--sage);font-size:.67rem;font-weight:700;letter-spacing:.2em}
.intro h2,.section-heading h2,.calendar-intro h2,.closing h2{font-size:clamp(3.2rem,5.4vw,6.1rem);line-height:1.02;margin:0}
.intro h2 em,.section-heading h2 em,.calendar-intro h2 em{color:#7b977e}
.intro-copy{font-size:1rem;line-height:1.9;color:#6d796e;max-width:340px;align-self:end;margin-bottom:.6rem}
.stays-section{background:#f1eee5;padding:7rem 0 7.5rem}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:2rem}
.section-heading>p{max-width:330px;color:var(--muted);line-height:1.8;margin:0 0 .5rem}
.catalog-search{margin-bottom:1.6rem}
.catalog-search label{display:block;font-size:.69rem;letter-spacing:.16em;font-weight:700;color:var(--sage);text-transform:uppercase;margin-bottom:.55rem}
.catalog-search div{display:flex;max-width:490px}
.catalog-search input{border:1px solid var(--line);border-right:0;background:#fffdf8;min-width:0;flex:1;padding:.9rem 1rem;outline-color:#557461}
.catalog-search button,.more{background:var(--forest);border:1px solid var(--forest);color:#fff;cursor:pointer;padding:.8rem 1.2rem;font-size:.82rem;font-weight:700}
.catalog-search button:hover,.more:hover{background:var(--forest-2)}
.catalog-status{min-height:1.5rem;color:var(--muted);font-size:.8rem;margin:0 0 1.1rem}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.catalog-card{background:#fffdf8;overflow:hidden;border:1px solid rgba(36,75,62,.1)}
.catalog-media{display:block;aspect-ratio:1.21;background:#dce3d8;overflow:hidden}
.catalog-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}
.catalog-card:hover .catalog-media img{transform:scale(1.035)}
.catalog-image-placeholder{height:100%;display:grid;place-items:center;color:#647469;font-size:.8rem}
.catalog-copy{padding:1.35rem 1.4rem 1.55rem}
.catalog-copy .eyebrow{margin-bottom:.75rem;font-size:.62rem}
.catalog-copy h2,.catalog-copy h3{font-family:Georgia,serif;font-weight:400;font-size:1.52rem;letter-spacing:-.03em;line-height:1.18;margin:0 0 .7rem}
.catalog-copy h2 a,.catalog-copy h3 a{text-decoration:none}
.catalog-description{color:#68756d;font-size:.85rem;line-height:1.55;min-height:2.6em;margin-bottom:1rem}
.catalog-card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:1rem;gap:1rem}
.catalog-price{margin:0;color:var(--forest);font-size:.94rem;font-weight:700}
.catalog-card-arrow{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);text-decoration:none;color:var(--forest)}
.catalog-availability{color:#6f776e;font-size:.72rem;margin:.7rem 0 0}
.more{display:block;margin:2rem auto}
.more[hidden]{display:none}
.text-link{display:inline-flex;align-items:center;gap:2rem;text-decoration:none;border-bottom:1px solid var(--forest);padding-bottom:.5rem;font-size:.82rem;font-weight:700}
.stays-section .text-link{margin-top:2.2rem}
.editorial{display:grid;grid-template-columns:1.02fr .75fr .82fr;gap:3.5rem;align-items:center;padding-block:7.4rem}
.editorial-photo{position:relative;overflow:hidden;background:#d9dfd3}
.editorial-photo img{display:block;width:100%;height:100%;object-fit:cover}
.editorial-photo-one{height:540px}
.editorial-photo-two{height:405px;margin-top:8rem}
.editorial-photo span{position:absolute;bottom:1rem;left:1rem;color:#fff;background:rgba(16,44,34,.75);padding:.55rem .7rem;font-size:.62rem;font-weight:700;letter-spacing:.12em}
.editorial-copy{align-self:center}
.editorial-copy h2{font-size:clamp(3.2rem,4.8vw,5.7rem);line-height:.98;margin:0 0 2rem}
.editorial-copy h2 em{color:#7b977e}
.editorial-copy p{color:#68756d;line-height:1.85;max-width:340px}
.calendar-section{background:var(--forest);color:#f8f4e9;padding:7.5rem 0}
.calendar-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:7rem;align-items:center}
.calendar-intro .eyebrow{color:#bfd0b5}
.calendar-intro h2{margin-bottom:2rem}
.calendar-intro p:not(.eyebrow){max-width:440px;color:#c2cec3;line-height:1.9}
.calendar-intro .text-link{margin-top:1.6rem;color:#f8f4e9;border-color:#adbbac}
.calendar-placeholder{min-height:410px;background:#f7f4ea;color:var(--ink);padding:3.5rem;box-shadow:0 25px 70px rgba(0,0,0,.12);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;overflow:hidden}
.calendar-placeholder::after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(36,75,62,.11);border-radius:50%;right:-155px;top:-160px;box-shadow:0 0 0 65px rgba(36,75,62,.035),0 0 0 130px rgba(36,75,62,.025)}
.calendar-placeholder-mark{font:3rem/1 Georgia,serif;color:#a9bba5;margin-bottom:2.2rem}
.calendar-placeholder .eyebrow{position:relative;z-index:1;margin-bottom:1rem}
.calendar-placeholder strong{position:relative;z-index:1;display:block;font:400 clamp(2rem,3.2vw,3.5rem)/1.1 Georgia,serif;letter-spacing:-.045em;max-width:440px}
.calendar-placeholder p{position:relative;z-index:1;color:var(--muted);margin:1.7rem 0 0;font-size:.86rem;line-height:1.7}
.closing{padding:8rem 0;background:#dfe7dc}
.closing h2{margin-bottom:2.5rem}
.closing h2 em{color:#758d75}
.closing a{display:inline-block;background:var(--forest);color:#fff;padding:1rem 1.4rem;text-decoration:none;font-size:.84rem;font-weight:700}
.site-footer{background:#112920;color:#d9e4d5;padding:4.5rem 0 1.5rem}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:3rem;padding-bottom:4rem}
.footer-grid strong{font-family:Georgia,serif;font-size:2.3rem;letter-spacing:-.06em}
.footer-grid p{max-width:280px;color:#9fb3a4;font-size:.83rem;line-height:1.7;margin:.8rem 0 0}
.footer-grid span{display:block;color:#87a18f;font-size:.62rem;letter-spacing:.17em;font-weight:700;margin-bottom:1rem}
.footer-grid a{display:block;text-decoration:none;font-size:.82rem;margin-bottom:.65rem}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.16);padding-top:1.3rem;color:#8ea698;font-size:.7rem}
.catalog-page,.product-body,.cart-body{background:var(--cream)}
.inner-header{background:var(--forest);color:#fff}
.inner-header.site-header{position:relative}
.catalog-main,.product-page{width:min(1320px,calc(100% - 88px));margin:auto;min-height:60vh;padding:5rem 0 7rem}
.catalog-main .catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:2.5rem}
.catalog-main h1,.product-page h1{font-size:clamp(3.4rem,5.5vw,6rem);line-height:1.03}
.catalog-main .lead{max-width:420px;color:var(--muted);line-height:1.8}
.catalog-main .catalog-search{margin:0 0 2rem}
.product-page{max-width:1120px}
.back{display:inline-block;margin-bottom:2rem;text-decoration:none;font-size:.78rem;font-weight:700}
.product-image-shell{background:#dde5d9;margin-bottom:2.5rem;max-width:100%;min-height:180px}
.product-image-shell img{display:block;width:100%;max-height:590px;object-fit:cover}
.product-page .lead{font-size:1.1rem;color:var(--muted);max-width:720px}
.product-price{font-size:1.3rem;font-weight:700}
.product-fields{display:grid;gap:1rem;margin-top:2rem}.product-fields div{padding:1rem;border:1px solid var(--line)}.product-fields dt{font-weight:700}.product-fields dd{margin:.35rem 0 0}
.button{display:inline-block;border:0;background:var(--forest);color:#fff;padding:.85rem 1.2rem;text-decoration:none;cursor:pointer}
[hidden]{display:none!important}
@media(max-width:1050px){.shell,.catalog-main,.product-page{width:min(100% - 48px,1320px)}.hero{height:760px}.intro{grid-template-columns:1fr 1.6fr}.intro-copy{grid-column:2}.editorial{gap:2rem}.calendar-layout{gap:3rem}}
@media(max-width:760px){.shell,.catalog-main,.product-page{width:calc(100% - 36px)}.site-header nav{display:none}.nav-row{height:72px}.brand{font-size:1.65rem}.nav-action{padding:.65rem .75rem;font-size:.68rem}.nav-action span{display:none}.hero{min-height:680px;height:85svh}.hero-photo{background-position:57% center}.hero-content{padding-top:3rem}.hero h1{font-size:clamp(3.55rem,14vw,6rem)}.hero-lead{font-size:1rem}.hero-side{display:none}.hero-caption{right:1rem;left:1rem;font-size:.56rem}.intro{display:block;padding-block:4.5rem}.section-index{margin-bottom:2.2rem}.intro-copy{margin:2rem 0 0}.stays-section{padding:5rem 0}.section-heading{display:block}.section-heading>p{margin:1.5rem 0 0}.catalog-grid{grid-template-columns:1fr}.editorial{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;padding-block:5rem}.editorial-photo-one{height:350px}.editorial-copy{grid-column:1/-1;grid-row:2}.editorial-photo-two{height:300px;margin:3rem 0 0}.calendar-section{padding:5rem 0}.calendar-layout{grid-template-columns:1fr}.calendar-placeholder{min-height:330px;padding:2rem}.closing{padding:5rem 0}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:.5rem}.catalog-main{padding:4rem 0}.catalog-main .catalog-heading{display:block}.catalog-main .lead{margin-top:1.5rem}}

/* Minimal natural island design */
:root{--forest:#263c31;--forest-2:#3b5141;--sage:#6d7c6a;--cream:#f6f5ef;--sand:#eae6da;--paper:#fdfcf8;--ink:#25392d;--muted:#6d776e;--gold:#dce2c9;--line:rgba(38,60,49,.18)}
html{scroll-padding-top:1.5rem}
body{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
.shell{width:min(1240px,calc(100% - 96px))}
h1,h2{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:400;letter-spacing:-.055em}
h1 em,h2 em{font-family:Georgia,"Times New Roman",serif;font-style:normal;font-weight:400;letter-spacing:-.045em}
.eyebrow,.hero-kicker{font-weight:500;letter-spacing:.19em;font-size:.65rem}
.nav-row{height:84px}
.brand{font-size:1.8rem;font-weight:400;letter-spacing:-.06em}
.brand-mark{font-size:1.1rem;color:#dce2c9}
.brand small{font-size:.44rem;font-weight:400;letter-spacing:.24em}
.site-header nav{gap:2rem}
.site-header nav a,.nav-action{font-weight:400;font-size:.78rem}
.nav-action{padding:.65rem 1rem;border-radius:0}
.hero{min-height:660px;height:94svh}
.hero-photo{background-image:url("https://sabsus-sites-assets.web.app/files/stayra/site_ad01296e48e6a22b2eedaa42/media_b15486ca8ee5f652d9287576/refine-s38-f07731972013.webp");background-position:center 56%}
.hero-shade{background:linear-gradient(90deg,rgba(12,30,20,.71),rgba(12,30,20,.25) 70%,rgba(12,30,20,.12)),linear-gradient(0deg,rgba(12,30,20,.3),transparent 32%)}
.hero-content{padding-top:7rem;padding-bottom:4rem}
.hero h1{font-size:clamp(3.7rem,6.8vw,7rem);line-height:1.04;max-width:950px;margin-bottom:1.8rem}
.hero h1 em{color:#e5e8d4}
.hero-lead{font-size:1.02rem;line-height:1.7;max-width:430px;font-weight:300}
.hero-link{background:transparent;color:#fff;border-bottom:1px solid rgba(255,255,255,.7);padding:.8rem 0;gap:3rem;font-size:.78rem;font-weight:400}
.hero-link:hover{background:transparent;color:#e5e8d4}
.hero-side{display:none}
.journey-track{display:flex;gap:1.3rem;margin-top:4rem;font-size:.6rem;letter-spacing:.16em;font-weight:400;color:rgba(255,255,255,.7)}
.journey-track span:not(:last-child)::after{content:"";display:inline-block;width:2.5rem;height:1px;margin:0 0 .2rem 1.3rem;background:rgba(255,255,255,.4)}
.journey-track .active{color:#fff}
.scene-credit{position:absolute;z-index:2;right:2rem;bottom:1.2rem;margin:0;color:#fff;font-size:.6rem;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.scene-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.jungle-section{position:relative;background:var(--cream);color:var(--ink);min-height:720px;display:flex;align-items:center;overflow:hidden}
.jungle-photo{position:absolute;top:0;right:0;width:48%;height:100%;object-fit:cover;object-position:55% center}
.jungle-shade{display:none}
.jungle-content{position:relative;padding-block:6rem}
.journey-step{display:flex;align-items:center;gap:.75rem;font-size:.61rem;font-weight:400;letter-spacing:.18em;margin-bottom:3.5rem}
.journey-step span:first-child{font:400 .72rem/1 "Helvetica Neue",Arial,sans-serif}
.journey-line{height:1px;width:3.5rem;background:currentColor;opacity:.4}
.jungle-grid{display:block;width:43%}
.jungle-grid h2{font-size:clamp(2.6rem,4.1vw,4.6rem);line-height:1.08;margin:0 0 2rem}
.jungle-grid h2 em{color:#70816a}
.jungle-copy{padding:0;border:0;max-width:350px}
.jungle-copy p{font-size:.91rem;line-height:1.85;color:var(--muted);margin-bottom:1rem}
.jungle-copy a{display:inline-flex;gap:2rem;text-decoration:none;font-size:.77rem;font-weight:400;border-bottom:1px solid var(--line);padding-bottom:.5rem;margin-top:1rem}
.stays-section{background:var(--paper);padding-block:7rem}
.section-heading{gap:4rem;margin-bottom:3rem}
.section-heading h2,.calendar-intro h2,.closing h2{font-size:clamp(2.6rem,4.4vw,4.8rem);line-height:1.08}
.section-heading>p{font-size:.9rem;max-width:300px;font-weight:300}
.catalog-card{border:0;background:transparent;box-shadow:none}
.catalog-grid{gap:2rem}
.catalog-media{aspect-ratio:1.25;background:#e7e9df}
.catalog-copy{padding:1.35rem 0}
.catalog-copy h2,.catalog-copy h3{font-family:"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:1.2rem;letter-spacing:-.025em;line-height:1.35}
.catalog-copy .eyebrow{font-weight:400}
.catalog-description{font-size:.82rem;font-weight:300}
.catalog-card-foot{padding-top:.9rem}
.catalog-price{font-size:.86rem;font-weight:400}
.catalog-card-arrow{border:0;width:auto;font-size:1.3rem}
.catalog-search label{font-weight:400;font-size:.62rem}
.catalog-search input{background:transparent;border:0;border-bottom:1px solid var(--line);padding:.85rem 0}
.catalog-search button,.more{font-weight:400;font-size:.78rem}
.catalog-status{font-weight:300}
.text-link{font-weight:400;font-size:.78rem}
.coast-section{position:relative;min-height:710px;height:86svh;display:flex;align-items:center;overflow:hidden;color:#fff}
.coast-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.coast-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,40,42,.63),rgba(18,40,42,.1) 80%)}
.coast-content{position:relative;padding-block:5rem}
.coast-card{padding:0;border:0;background:none;backdrop-filter:none;max-width:570px}
.coast-card .eyebrow{color:#e2e7d7}
.coast-card h2{font-size:clamp(3.8rem,6.4vw,7rem);line-height:1.02;margin:0}
.coast-card h2 em{color:#e6e8d5}
.coast-card p:not(.eyebrow){max-width:350px;font-size:.95rem;line-height:1.85;margin:1.8rem 0 0;font-weight:300}
.coast-card a{display:inline-flex;gap:2rem;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:.5rem;margin-top:2rem;font-size:.78rem;font-weight:400}
.calendar-section{background:#edf0e6;color:var(--ink);padding-block:7rem}
.calendar-heading{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3rem}
.calendar-heading h2{font-size:clamp(2.6rem,4.4vw,4.8rem);line-height:1.08;margin:0}
.calendar-heading h2 em{color:#70816a}
.calendar-heading>p{max-width:320px;font-size:.9rem;line-height:1.8;color:var(--muted)}
.availability-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:2rem;padding:2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.availability-form label{font-size:.73rem;color:var(--muted);display:grid;gap:.7rem}
.availability-form input{width:100%;min-width:0;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line);border-radius:0;padding:.7rem 0;font:400 1rem/1.3 "Helvetica Neue",Arial,sans-serif;color-scheme:light}
.availability-form button{min-height:46px;font-size:.78rem;cursor:pointer;white-space:nowrap;font-weight:400}
.availability-form button:disabled{opacity:.6;cursor:wait}
.availability-note{font-size:.72rem;color:var(--muted);line-height:1.7;margin:1rem 0 0}
.availability-status{font-size:.86rem;line-height:1.7;margin:2rem 0 1rem}
.availability-row{display:grid;grid-template-columns:1fr auto;gap:1.5rem;padding:1.1rem 0;border-bottom:1px solid var(--line);align-items:center}
.availability-row a{font-size:.87rem;text-decoration:none}
.availability-row a:hover{text-decoration:underline}
.availability-result{font-size:.77rem;text-align:right;color:var(--muted)}
.availability-result[data-state="free"]{color:#3b6748}
.availability-error{grid-column:1/-1;font-size:.72rem;line-height:1.65;color:#755243;max-width:780px}
.availability-error summary{cursor:pointer}
.availability-error p{margin:.5rem 0 0;overflow-wrap:anywhere}
.closing{background:var(--cream);padding-block:6rem;border-top:1px solid var(--line)}
.closing h2 em{color:#70816a}
.closing a{font-weight:400;font-size:.8rem}
.site-footer{background:#263c31}
.footer-grid strong{font-weight:400}
.footer-grid span{font-weight:400}
:focus-visible{outline:2px solid #8b9b70;outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.catalog-media img{transition:none}}
@media(max-width:1050px){.shell,.catalog-main,.product-page{width:calc(100% - 56px)}.jungle-grid{width:45%}.catalog-grid{gap:1.3rem}.availability-form{gap:1rem}}
@media(max-width:760px){.shell,.catalog-main,.product-page{width:calc(100% - 40px)}.nav-row{height:72px}.brand{font-size:1.6rem}.nav-action{font-size:.7rem}.hero{min-height:650px;height:94svh}.hero-content{padding-top:6rem}.hero h1{font-size:clamp(3.2rem,10vw,5rem);line-height:1.07}.hero-lead{font-size:.94rem;max-width:360px}.journey-track{gap:.7rem;margin-top:3rem;font-size:.53rem;letter-spacing:.1em}.journey-track span:not(:last-child)::after{width:1.2rem;margin-left:.7rem}.scene-credit{left:1.2rem;right:1.2rem;bottom:.8rem;font-size:.53rem}.jungle-section{display:flex;flex-direction:column;min-height:0;align-items:stretch}.jungle-content{order:0;padding-block:4.5rem}.jungle-photo{order:1;position:relative;width:100%;height:390px;inset:auto}.jungle-grid{width:100%}.jungle-grid h2{font-size:3rem;max-width:520px}.jungle-copy{max-width:480px}.journey-step{margin-bottom:2rem}.stays-section{padding-block:4.5rem}.section-heading{margin-bottom:2rem}.section-heading>p{margin-top:1.5rem}.catalog-grid{grid-template-columns:1fr;gap:1.5rem}.catalog-copy h2{font-size:1.2rem}.coast-section{height:82svh;min-height:640px}.coast-content{padding-block:4rem}.coast-card{padding:0;backdrop-filter:none}.coast-card h2{font-size:4.2rem}.coast-card p:not(.eyebrow){font-size:.9rem;max-width:320px}.calendar-section{padding-block:4.5rem}.calendar-heading{display:block;margin-bottom:2rem}.calendar-heading>p{margin:1.5rem 0 0}.availability-form{grid-template-columns:1fr 1fr;gap:1.2rem}.availability-form button{grid-column:1/-1;margin-top:.5rem}.availability-row{gap:.8rem}.availability-row a{font-size:.8rem}.availability-result{font-size:.7rem;max-width:150px}.closing{padding-block:4.5rem}.footer-grid{gap:2rem}}
@media(max-width:420px){.hero h1{font-size:3rem}.hero-lead{max-width:290px}.journey-track{font-size:.49rem}.jungle-grid h2{font-size:2.65rem}.coast-card h2{font-size:3.6rem}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}

/* Keep property photographs sharp and preserve their framing on detail pages. */
.product-image-shell img{width:auto;height:auto;max-width:100%;max-height:680px;margin-inline:auto;object-fit:contain}

/* Visual date search results */
.availability-group{margin-top:2.4rem}
.availability-group-title{font:400 clamp(1.35rem,2.4vw,2rem)/1.25 "Helvetica Neue",Arial,sans-serif;letter-spacing:-.035em;margin-bottom:1.3rem}
.availability-group-note{font-size:.84rem;line-height:1.7;color:var(--muted);max-width:620px;margin:-.45rem 0 1.6rem}
.availability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.availability-card{min-width:0;background:var(--paper)}
.availability-card-media{display:block;position:relative;aspect-ratio:1.35;overflow:hidden;background:#e1e6d9}
.availability-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.availability-card-media:hover img{transform:scale(1.025)}
.availability-card-badge{position:absolute;left:.9rem;bottom:.9rem;max-width:calc(100% - 1.8rem);background:#fdfcf8;color:var(--forest);padding:.5rem .75rem;font-size:.68rem;line-height:1.4;letter-spacing:.01em}
.availability-card-badge[data-state="free"]{background:var(--forest);color:#fff}
.availability-card-badge[data-state="checking"]::before{content:"";display:inline-block;width:.4rem;height:.4rem;border-radius:50%;background:#7c8d6c;margin:0 .45rem .08rem 0}
.availability-card-badge[data-state="unknown"]{color:#625c44}
.availability-card-copy{padding:1.2rem 1.2rem 1.3rem}
.availability-card-copy h4{font:400 1.15rem/1.35 "Helvetica Neue",Arial,sans-serif;letter-spacing:-.025em;margin:0 0 .7rem}
.availability-card-copy h4 a{text-decoration:none}
.availability-card-description{font-size:.82rem;line-height:1.7;color:var(--muted);margin-bottom:1.1rem}
.availability-card-dates{font-size:.73rem;margin-bottom:1rem;border-top:1px solid var(--line);padding-top:.9rem}
.availability-card-link{display:inline-block;font-size:.76rem;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:.3rem}
.availability-card-link:hover,.availability-card-copy h4 a:hover{color:var(--sage)}
.availability-photo-placeholder{height:100%;display:grid;place-items:center;color:var(--muted);font-size:.8rem}
.availability-other,.availability-diagnostics{margin-top:2rem;border-top:1px solid var(--line);padding-top:1.1rem;font-size:.8rem;color:var(--muted)}
.availability-other>summary,.availability-diagnostics>summary{cursor:pointer}
.availability-other .availability-grid{margin-top:1.4rem}
.availability-diagnostics .availability-error{margin-top:1rem;padding-top:.5rem;color:#755d48;font-size:.72rem}
.availability-diagnostics .availability-error>summary{cursor:default}
.product-page .availability-grid{grid-template-columns:minmax(0,560px)}
@media(max-width:1050px){.availability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}}
@media(max-width:760px){.availability-grid{grid-template-columns:1fr;gap:1.4rem}.availability-group{margin-top:2rem}.availability-card-copy{padding:1rem}.availability-card-media{aspect-ratio:1.35}.availability-group-note{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.availability-card-media img{transition:none}}

/* Rounded island property cards and booking journey */
.catalog-card,.availability-card{border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--line);background:var(--paper)}
.catalog-copy{padding:1.3rem}
.availability-card{display:flex;flex-direction:column}
.availability-card-media{flex-shrink:0}
.availability-card-copy{display:flex;flex-direction:column;flex:1}
.availability-card-description{flex:1}
.availability-card-badge{border-radius:var(--radius-control)}
.availability-card-link{display:block;text-align:center;border:0;border-radius:var(--radius-control);background:var(--forest);color:#fff;padding:.85rem 1rem;font-size:.8rem;margin-top:.2rem}
.availability-card-link:hover{background:var(--forest-2);color:#fff}
.availability-card-link[aria-disabled="true"]{opacity:.4;pointer-events:none}
.product-image-shell{border-radius:20px;overflow:hidden}
.booking-body{background:var(--cream)}
.booking-page{width:min(1120px,calc(100% - 96px));margin:auto;padding:3.5rem 0 6rem;min-height:70vh}
.booking-page>h1{font-size:clamp(3rem,5.5vw,5.3rem);line-height:1.06;margin:0 0 1.2rem}
.booking-page>h1 em{color:#70816a}
.booking-page>.eyebrow{margin-top:1rem}
.booking-lead{color:var(--muted);font-size:.93rem;max-width:510px}
.booking-steps{display:flex;gap:1.5rem;flex-wrap:wrap;margin:2rem 0 2.5rem;color:var(--muted);font-size:.68rem}
.booking-steps .active{color:var(--forest)}
.booking-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:2.5rem;align-items:start}
.booking-property{background:var(--paper);border:1px solid var(--line);border-radius:24px;overflow:hidden}
.booking-property-media{aspect-ratio:1.3;background:#e1e6d9}
.booking-property-media img{display:block;width:100%;height:100%;object-fit:cover}
.booking-property-copy{padding:1.5rem}
.booking-property-copy>.eyebrow{font-size:.58rem;margin-bottom:.8rem}
.booking-property h2{font-size:1.35rem;line-height:1.4;letter-spacing:-.025em;margin-bottom:1rem}
.booking-property-copy>p:not(.eyebrow){font-size:.8rem;color:var(--muted);line-height:1.7}
.booking-trip{margin:1.5rem 0 0;border-top:1px solid var(--line);font-size:.77rem}
.booking-trip>div{padding:.9rem 0;border-bottom:1px solid var(--line)}
.booking-trip dt{color:var(--muted);font-size:.68rem;margin-bottom:.35rem}
.booking-trip dd{margin:0}
.booking-time-note{font-size:.7rem;color:var(--muted);line-height:1.7;margin:1rem 0 0}
.booking-panel{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:2rem}
.booking-panel>.eyebrow{font-size:.58rem}
.booking-panel>h2{font-size:2rem;line-height:1.2;margin-bottom:1.6rem}
.booking-dates{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.booking-dates label,.booking-contact label{display:grid;gap:.6rem;min-width:0;font-size:.74rem;color:var(--muted)}
.booking-panel input{width:100%;min-width:0;max-width:100%;font:400 .9rem/1.4 "Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--cream);border:1px solid var(--line);padding:.85rem .8rem;border-radius:12px;color-scheme:light}
.booking-panel input:disabled{opacity:.65}
.booking-dates button{grid-column:1/-1;justify-self:start;background:none;color:var(--forest);border:0;border-bottom:1px solid var(--line);padding:0 0 .3rem;font-size:.74rem;cursor:pointer}
.booking-status{font-size:.82rem;line-height:1.7;margin:1.5rem 0}
.booking-error{font-size:.7rem;line-height:1.7;color:#755d48;margin-bottom:1.5rem}
.booking-error summary{cursor:pointer}
.booking-error p{overflow-wrap:anywhere;margin-top:.6rem}
.booking-contact fieldset{border:0;padding:0;margin:0;display:grid;gap:1.1rem;min-width:0}
.booking-contact legend{font-size:1.1rem;letter-spacing:-.02em;padding:0;margin-bottom:1.1rem}
.booking-contact small{font-size:.68rem}
.booking-continue{width:100%;border-radius:var(--radius-control);margin-top:1.6rem;font-size:.8rem}
.booking-continue:disabled{background:#dce2d7;color:#7b8679;cursor:not-allowed}
.booking-edit{border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--forest);font-size:.75rem;margin:0 0 1.2rem;padding:0 0 .3rem;cursor:pointer}
.booking-edit:disabled{opacity:.5;cursor:wait}
.booking-success>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e3e9db;color:var(--forest);font-size:1.5rem;margin:2rem 0}
.booking-success h2{font-size:2.4rem;line-height:1.15}
.booking-success p{font-size:.84rem;line-height:1.8;overflow-wrap:anywhere}
.booking-success .button,.booking-invalid .button{border-radius:var(--radius-control);margin-top:1rem}
.booking-invalid{padding:3rem 0}
.booking-invalid h2{font-size:2rem}
.booking-invalid p{color:var(--muted)}
@media(max-width:1050px){.booking-page{width:calc(100% - 56px)}.booking-layout{gap:1.5rem}.booking-panel{padding:1.5rem}}
@media(max-width:760px){.booking-page{width:calc(100% - 40px);padding-top:2.5rem}.booking-layout{grid-template-columns:1fr;gap:1.5rem}.booking-steps{gap:.8rem;font-size:.6rem}.booking-property-media{aspect-ratio:1.5}.booking-property-copy{padding:1.3rem}.booking-panel{padding:1.3rem}.catalog-copy{padding:1.1rem}.booking-trip{display:grid;grid-template-columns:1fr 1fr;gap:0 .8rem}.booking-trip>div:last-child{grid-column:1/-1}}

/* Full island landscape, with copy in the open sky. */
.jungle-section{display:block;min-height:0;height:auto;background:#edf3f6;overflow:hidden}
.jungle-photo{position:relative;display:block;inset:auto;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;order:0}
.jungle-content{position:absolute;inset:0 0 auto;padding-block:clamp(24px,2.8vw,52px);z-index:1;order:0}
.jungle-content .journey-step{margin-bottom:1.1rem;font-size:.6rem;line-height:1.2}
.jungle-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:3rem;align-items:start;width:100%}
.jungle-grid .eyebrow{display:none}
.jungle-grid h2{font-size:clamp(2.15rem,3.5vw,3.75rem);line-height:1.08;margin:0;max-width:760px}
.jungle-grid h2 em{color:#596d51}
.jungle-copy{max-width:350px;padding:0}
.jungle-copy p{font-size:clamp(.75rem,.95vw,.88rem);line-height:1.7;margin:0 0 .8rem;color:#536456}
.jungle-copy a{margin-top:0;font-size:.72rem;padding-bottom:.35rem;gap:1.5rem}
.jungle-section .scene-credit{bottom:1.1rem}
@media(max-width:1050px) and (min-width:761px){.jungle-grid{gap:1.5rem;grid-template-columns:minmax(0,1.7fr) minmax(225px,1fr)}.jungle-content .journey-step{margin-bottom:.8rem}.jungle-grid h2{font-size:2.15rem}.jungle-copy p{font-size:.75rem}}
@media(max-width:760px){.jungle-section{min-height:max(660px,calc(66.6875vw + 280px));height:100svh;display:block}.jungle-photo{position:absolute;inset:auto 0 0;width:100%;height:auto;max-height:none;object-fit:contain;order:0}.jungle-content{position:relative;inset:auto;padding-block:3rem 0;order:0}.jungle-content .journey-step{margin-bottom:1.3rem}.jungle-grid{display:block;width:100%}.jungle-grid h2{font-size:clamp(2rem,7.6vw,3rem);max-width:600px}.jungle-copy{max-width:380px;padding-top:1.3rem}.jungle-copy p{font-size:.82rem;line-height:1.7;margin-bottom:.8rem}.jungle-copy a{font-size:.75rem}.jungle-section .scene-credit{bottom:.65rem;font-size:.5rem}}

/* Clear island CTA and a compact, complete home collection. */
.jungle-copy a{align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.35rem;gap:2rem;border:1.5px solid var(--forest);border-radius:var(--radius-control);background:rgba(255,253,247,.95);color:var(--forest);font-size:.86rem;font-weight:500;line-height:1.2;box-shadow:0 3px 12px rgba(21,51,43,.07);transition:background .18s,color .18s}
.jungle-copy a:hover{background:var(--forest);color:var(--paper)}
.jungle-copy a:focus-visible{outline:3px solid var(--forest);outline-offset:4px}
.stays-section{padding-block:3.5rem}
.stays-heading{align-items:center;gap:2rem;margin-bottom:1rem}
.stays-heading h2{font-size:clamp(1.8rem,2.7vw,2.65rem);line-height:1.15}
.stays-heading .catalog-search{width:380px;max-width:42%;flex-shrink:0;margin:0}
.stays-heading .catalog-search label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.stays-heading .catalog-search div{max-width:none}
.stays-heading .catalog-search input{border:1px solid var(--line);border-right:0;padding:.75rem 1rem;border-radius:var(--radius-control) 0 0 var(--radius-control)}
.stays-heading .catalog-search button{border-radius:0 var(--radius-control) var(--radius-control) 0;padding:.75rem 1.1rem}
.stays-section .catalog-status{min-height:1.25rem;font-size:.75rem;margin:0 0 1.2rem}
@media(max-width:760px){.stays-section{padding-block:2.5rem}.stays-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:1.15rem;margin-bottom:.8rem}.stays-heading h2{font-size:clamp(1.8rem,6.8vw,2.4rem)}.stays-heading .catalog-search{width:100%;max-width:100%}}

/* Island journal and language navigation. */
.language-switch{display:inline-flex;align-items:center;flex-shrink:0;gap:3px;padding:3px;border:1px solid currentColor;border-radius:var(--radius-control)}
.language-switch a{display:grid;place-items:center;min-width:34px;min-height:30px;border-radius:var(--radius-control);text-decoration:none;font-size:.66rem;letter-spacing:.04em;opacity:.75}
.language-switch a[aria-current="true"]{background:var(--paper);color:var(--forest);opacity:1}
.inner-header .language-switch a[aria-current="true"]{background:var(--paper);color:var(--forest)}
.language-switch a:focus-visible,.journal-read:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.site-header .nav-row{gap:1.1rem}
.site-header nav{gap:1.6rem}
.coast-photo{object-position:60% center}
.coast-shade{background:linear-gradient(90deg,rgba(9,32,34,.68),rgba(9,32,34,.4) 48%,rgba(9,32,34,.08) 100%)}
.coast-card h2,.coast-card p,.coast-card a{text-shadow:0 1px 12px rgba(0,0,0,.15)}
.journal-section{padding:5rem 0;background:var(--paper)}
.journal-section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.journal-section-heading h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.15;margin:0}
.journal-section-heading>a{font-size:.8rem;white-space:nowrap;text-underline-offset:5px}
.journal-section-heading .eyebrow{margin-bottom:.8rem}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.journal-card{border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden;display:flex;flex-direction:column;background:var(--paper)}
.journal-card-image{display:block;aspect-ratio:1.5;overflow:hidden}
.journal-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s}
.journal-card:hover .journal-card-image img{transform:scale(1.025)}
.journal-card-copy{padding:1.5rem;display:flex;flex-direction:column;flex:1}
.journal-card-copy .eyebrow{font-size:.6rem;margin-bottom:.7rem}
.journal-card h3{font-size:1.4rem;font-weight:400;line-height:1.25;letter-spacing:-.035em;margin:0 0 .9rem}
.journal-card-copy>p:not(.eyebrow){font-size:.85rem;line-height:1.7;color:var(--muted);margin-bottom:1.4rem}
.journal-read{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:44px;border-top:1px solid var(--line);padding-top:.7rem;margin-top:auto;font-size:.8rem;text-decoration:none}
.journal-card small{display:block;font-size:.54rem;color:var(--muted);margin-top:.8rem}
.journal-card small a{text-decoration:none}
.journal-body{background:var(--paper)}
.journal-main{width:min(1120px,calc(100% - 88px));margin-inline:auto;padding:3.5rem 0 5rem}
.journal-title{max-width:900px;padding-bottom:2rem}
.journal-back{display:inline-block;font-size:.8rem;margin-bottom:2.5rem;text-decoration:none}
.journal-title .eyebrow{margin-bottom:1rem}
.journal-title h1{font-size:clamp(2.5rem,5.2vw,4.8rem);line-height:1.06;margin:0 0 1.5rem;letter-spacing:-.05em}
.journal-lead{max-width:700px;color:var(--muted);font-size:1.05rem;line-height:1.75;margin-bottom:1rem}
.journal-updated{font-size:.7rem;color:var(--muted)}
.journal-photo{margin:0 0 3rem}
.journal-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:24px}
.journal-photo figcaption{font-size:.62rem;color:var(--muted);margin-top:.7rem}
.journal-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:4rem;align-items:start}
.journal-toc{position:sticky;top:2rem;padding-top:1rem}
.journal-toc ol{padding-left:1.2rem;font-size:.82rem;line-height:1.6}
.journal-toc li{padding:0 0 .8rem .3rem}
.journal-toc a{text-decoration:none;text-underline-offset:4px}
.journal-toc a:hover{text-decoration:underline}
.journal-stay-link{display:inline-block;border:1px solid var(--forest);border-radius:var(--radius-control);padding:.7rem 1rem;margin-top:1rem;font-size:.75rem}
.journal-entry{display:grid;grid-template-columns:38px minmax(0,1fr);gap:1.2rem;padding:2rem 0;border-top:1px solid var(--line);scroll-margin-top:2rem}
.journal-number{color:var(--sage);font-size:.75rem;padding-top:.15rem}
.journal-entry .eyebrow{font-size:.62rem;margin-bottom:.8rem}
.journal-entry h2{font-size:1.85rem;line-height:1.2;margin:0 0 1rem;letter-spacing:-.04em}
.journal-entry p:not(.eyebrow){font-size:1rem;line-height:1.85;color:var(--muted);margin:0 0 1rem}
.journal-entry-links{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}
.journal-entry-links a{font-size:.75rem;text-underline-offset:4px;padding-block:.4rem}
.journal-note{padding:1.5rem;border-radius:18px;background:#eff1e8;font-size:.9rem;line-height:1.8;margin:1.5rem 0 0}
.journal-related{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--line)}
.journal-related h2{font-size:1.8rem;margin-bottom:1.5rem}
.journal-related-links{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.journal-related-links>a{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.3rem;border:1px solid var(--line);border-radius:18px;text-decoration:none;font-size:.9rem}
@media(max-width:1050px){.journal-main{width:calc(100% - 56px)}.journal-layout{grid-template-columns:190px minmax(0,1fr);gap:2rem}.site-header nav{gap:1rem}}
@media(max-width:760px){.site-header .nav-action{display:none}.site-header .nav-row{gap:.75rem}.language-switch a{min-height:32px}.journal-section{padding:3rem 0}.journal-section-heading{display:block}.journal-section-heading>a{display:inline-block;margin-top:1.1rem}.journal-grid{grid-template-columns:1fr}.journal-main{width:calc(100% - 40px);padding-top:2rem}.journal-title h1{font-size:2.6rem}.journal-lead{font-size:.98rem}.journal-back{margin-bottom:2rem}.journal-photo{margin-bottom:2rem}.journal-photo img{max-height:none;border-radius:20px}.journal-layout{display:block}.journal-toc{position:static;border:1px solid var(--line);border-radius:20px;padding:1.3rem;margin-bottom:2rem}.journal-toc ol{columns:2;column-gap:1rem;font-size:.75rem}.journal-toc li{break-inside:avoid}.journal-entry{grid-template-columns:25px minmax(0,1fr);gap:.8rem;padding-block:1.6rem}.journal-entry h2{font-size:1.55rem}.journal-entry p:not(.eyebrow){font-size:.95rem}.journal-related-links{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.journal-card-image img{transition:none}}

.journal-body .nav-action{border-radius:var(--radius-control)}

/* Four island guides, cuisine navigation and documentary photographs. */
.journal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.journal-card-copy{padding:1.15rem}
.journal-card h3{font-size:1.2rem;line-height:1.3}
.journal-card-copy>p:not(.eyebrow){font-size:.8rem;line-height:1.7}
.journal-card small{line-height:1.6}
.journal-photo{margin-inline:auto}
.journal-photo figcaption{line-height:1.8}
.journal-archive{margin:1.5rem 0}
.journal-archive img{height:auto;object-fit:contain;max-height:none;border-radius:18px}
.journal-archive figcaption{font-size:.7rem}
.journal-archive-note{font-size:.78rem;line-height:1.8;color:var(--muted);margin:0 0 2.5rem}
.journal-cuisine{scroll-margin-top:2rem;margin-bottom:2.5rem}
.journal-cuisine-heading{padding:1.5rem;border-radius:18px;background:#eff1e8;margin-bottom:1.5rem}
.journal-cuisine-heading h2{font-size:1.8rem;line-height:1.2;margin:0 0 .55rem}
.journal-cuisine-heading p{color:var(--muted);font-size:.9rem;line-height:1.7;margin:0}
.journal-cuisine .journal-entry h3{font-size:1.6rem;line-height:1.25;font-weight:400;letter-spacing:-.035em;margin:0 0 .8rem}
.journal-sources{padding-top:2.5rem}
.journal-sources h2{font-size:1.8rem}
.journal-sources ul{padding-left:1.1rem;font-size:.8rem;line-height:1.9;overflow-wrap:anywhere}
.journal-sources p{font-size:.8rem;line-height:1.8;color:var(--muted)}
.journal-related-links{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1100px) and (min-width:761px){.site-header .nav-action{display:none}}
@media(max-width:1050px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-card h3{font-size:1.4rem}.journal-card-copy{padding:1.4rem}}
@media(max-width:760px){.site-header .nav-row{height:auto;min-height:100px;flex-wrap:wrap;padding-block:1rem;gap:.85rem}.site-header .brand{order:1}.site-header .language-switch{order:2;margin-left:auto}.site-header nav{display:flex;order:3;width:100%;justify-content:space-between;gap:.65rem;overflow-x:auto;padding-bottom:.15rem}.site-header nav a{font-size:.65rem;white-space:nowrap;min-height:26px;display:inline-flex;align-items:center}.journal-grid{grid-template-columns:1fr}.journal-card h3{font-size:1.4rem}.journal-related-links{grid-template-columns:1fr}.journal-cuisine-heading{padding:1.2rem}.journal-cuisine-heading h2{font-size:1.5rem}.journal-cuisine .journal-entry h3{font-size:1.4rem}.journal-toc ol{columns:1}.journal-toc ol li{padding-bottom:.7rem}.journal-main{padding-top:2.2rem}}

/* Compact standalone catalog: a clear title, search, then the complete collection. */
.catalog-page .catalog-main{padding-block:1.6rem 3rem}
.catalog-page .catalog-heading{align-items:center;gap:1.5rem;margin-bottom:.9rem}
.catalog-page .catalog-heading h1{font-size:clamp(1.65rem,2.6vw,2.4rem);line-height:1.15;letter-spacing:-.04em;color:var(--forest);margin:0}
.catalog-page .catalog-heading .catalog-search{width:430px;max-width:45%;flex-shrink:0;margin:0}
.catalog-page .catalog-search label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.catalog-page .catalog-search div{max-width:none}
.catalog-page .catalog-search input{padding:.7rem 1rem;border-radius:var(--radius-control) 0 0 var(--radius-control);font-size:.86rem}
.catalog-page .catalog-search button{padding:.7rem 1.15rem;border-radius:0 var(--radius-control) var(--radius-control) 0;font-size:.8rem}
.catalog-page .catalog-status{min-height:1.2rem;margin:0 0 .85rem;font-size:.75rem;color:#536456;font-weight:400}
.catalog-page .catalog-grid{gap:1.2rem;align-items:stretch}
.catalog-page .catalog-card{display:flex;flex-direction:column}
.catalog-page .catalog-media{aspect-ratio:1.7;flex-shrink:0}
.catalog-page .catalog-copy{padding:1rem 1.1rem;display:flex;flex-direction:column;flex:1}
.catalog-page .catalog-copy .eyebrow{font-size:.56rem;letter-spacing:.15em;line-height:1.4;margin-bottom:.45rem}
.catalog-page .catalog-copy h2{font-size:1.08rem;line-height:1.3;margin-bottom:.5rem;color:var(--forest)}
.catalog-page .catalog-description{font-size:.8rem;line-height:1.55;min-height:0;margin:0 0 .7rem;color:#5a695e}
.catalog-page .catalog-card-foot{margin-top:auto;padding-top:.6rem;min-height:36px}
.catalog-page .catalog-card-foot .text-link{margin:0;padding-bottom:0;font-size:.77rem}
.catalog-page .nav-action{border-radius:var(--radius-control)}
@media(max-width:1050px) and (min-width:761px){.catalog-page .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.catalog-page .catalog-main{padding-block:1.3rem 2.5rem}.catalog-page .catalog-heading{display:flex;flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:.8rem}.catalog-page .catalog-heading h1{font-size:1.8rem}.catalog-page .catalog-heading .catalog-search{width:100%;max-width:100%}.catalog-page .catalog-grid{gap:1.1rem}.catalog-page .catalog-media{aspect-ratio:1.5}.catalog-page .catalog-copy{padding:1rem}.catalog-page .catalog-copy h2{font-size:1.1rem}.catalog-page .catalog-description{font-size:.84rem}}

/* Shared card curvature for buttons and date controls across both languages. */
:root{--radius-card:22px;--radius-control:var(--radius-card)}
button,[role="button"],input[type="button"],input[type="submit"],input[type="reset"],.button,.nav-action,.hero-link,.text-link,.availability-card-link,.catalog-card-arrow,.journal-read,.journal-stay-link,.journal-related-links>a,.closing a,.jungle-copy a,.coast-card a{border-radius:var(--radius-control)}
.availability-form label{min-width:0}
.availability-form input[type="date"],.booking-panel input[type="date"]{min-height:52px;max-width:100%;border:1.5px solid rgba(38,60,49,.32);border-radius:var(--radius-control);background:var(--paper);padding:.85rem 1rem;font-size:.95rem;line-height:1.3;color:var(--ink);color-scheme:light}
.availability-form input[type="date"]:hover,.booking-panel input[type="date"]:hover{border-color:var(--sage)}
.availability-form input[type="date"]:focus-visible,.booking-panel input[type="date"]:focus-visible{border-color:var(--forest);outline:2px solid #8b9b70;outline-offset:3px}
.availability-form button{min-height:52px;padding:.85rem 1.3rem}
.catalog-search div{gap:.5rem}
.catalog-search input,.stays-heading .catalog-search input,.catalog-page .catalog-search input{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--paper);padding:.75rem 1rem}
.catalog-search button,.stays-heading .catalog-search button,.catalog-page .catalog-search button{border-radius:var(--radius-control)}
.hero-link,.coast-card a{align-items:center;justify-content:center;min-height:48px;border:1px solid rgba(255,255,255,.7);padding:.8rem 1.3rem}
.hero-link:hover,.coast-card a:hover{background:rgba(255,255,255,.12)}
.text-link{align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);padding:.65rem 1rem}
.catalog-page .catalog-card-foot .text-link{min-height:44px;padding:.65rem 1rem}
.catalog-card-arrow{min-width:44px;min-height:44px;border:1px solid var(--line)}
.booking-dates button,.booking-edit{min-height:44px;border:1px solid var(--line);padding:.65rem 1rem;border-radius:var(--radius-control)}
.booking-body [data-booking-payment] button,.booking-body [data-booking-payment] [role="button"]{border-radius:var(--radius-control)}
/* Give localized native date controls a full row on smaller screens. */
.availability-form label,.booking-dates label{min-inline-size:0}
.availability-form input[type="date"],.booking-panel input[type="date"]{box-sizing:border-box;inline-size:100%;min-inline-size:0;max-inline-size:100%}
.availability-form input[type="date"]::-webkit-date-and-time-value,.booking-panel input[type="date"]::-webkit-date-and-time-value{text-align:left;min-inline-size:0}
@media(max-width:1050px){.booking-dates{grid-template-columns:minmax(0,1fr);row-gap:20px}}
@media(max-width:760px){.availability-form{grid-template-columns:minmax(0,1fr);row-gap:20px;column-gap:0;padding-block:24px}.availability-form label,.booking-dates label{gap:8px}.availability-form button{grid-column:1;margin-top:4px;width:100%}.booking-dates button{grid-column:1;margin-top:4px}}


/* Vector arrows: identical strokes across fonts and mobile platforms. */
.icon-arrow{display:inline-block;width:18px;height:18px;min-width:18px;flex:0 0 auto;vertical-align:-.2em;margin-inline-start:.4em;pointer-events:none}
.icon-arrow--left{margin-inline:0 .4em}
.button,.nav-action,.catalog-search button{display:inline-flex;align-items:center;justify-content:center;gap:.6em}
.nav-action>span{margin-left:0}
.button>.icon-arrow,.nav-action>.icon-arrow,.catalog-search button>.icon-arrow,.hero-link>.icon-arrow,.jungle-copy a>.icon-arrow,.coast-card a>.icon-arrow,.text-link>.icon-arrow,.journal-read>.icon-arrow,.journal-related-links>a>.icon-arrow{margin-inline:0}
.catalog-card-arrow .icon-arrow{width:20px;height:20px;margin:0}

/* Readable payment rows and native-size radio controls. */
[data-booking-payment] .sabsus-pay-widget{padding:0;border:0;box-shadow:none;background:transparent}
[data-booking-payment] .sabsus-pay-widget__method-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%;max-width:100%;overflow:visible;scroll-snap-type:none}
[data-booking-payment] .sabsus-pay-widget__method{display:grid;grid-template-columns:18px 28px minmax(0,1fr);align-items:center;gap:12px;min-width:0;min-height:76px;width:100%;margin:0;padding:14px;flex:none;white-space:normal}
.booking-panel .sabsus-pay-widget__method input[type="radio"],.booking-panel .sabsus-pay-widget__amount-option input[type="radio"]{box-sizing:border-box;appearance:auto;-webkit-appearance:radio;width:18px;min-width:18px;max-width:18px;height:18px;min-height:18px;padding:0;margin:0;border:0;border-radius:50%;background:transparent;box-shadow:none;flex:0 0 18px;accent-color:var(--forest)}
[data-booking-payment] .sabsus-pay-widget__method-icon,[data-booking-payment] .sabsus-pay-widget__method-icon svg,[data-booking-payment] .sabsus-pay-widget__method img{display:block;width:28px;height:28px;min-width:28px;object-fit:contain}
[data-booking-payment] .sabsus-pay-widget__method-body{display:grid;min-width:0;gap:4px;text-align:left;overflow-wrap:normal;word-break:normal}
[data-booking-payment] .sabsus-pay-widget__method-body strong{font-size:.9rem;font-weight:500;line-height:1.3;white-space:nowrap}
[data-booking-payment] .sabsus-pay-widget__method-body small{display:block;font-size:.72rem;line-height:1.4;white-space:normal;overflow-wrap:normal;word-break:normal}
[data-booking-payment] .lopsera-payment-unavailable{opacity:.55;cursor:not-allowed}
[data-booking-payment] .lopsera-payment-unavailable:hover{transform:none;border-color:var(--spw-border)}
[data-booking-payment] .sabsus-pay-widget__submit,[data-booking-payment] .sabsus-pay-widget__retry{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:14px 18px;font-size:.9rem;line-height:1.35;font-weight:500;white-space:normal;overflow-wrap:normal;word-break:normal}
[data-booking-payment] .sabsus-pay-widget__summary{grid-template-columns:minmax(0,1fr) auto;font-size:.88rem;gap:8px 16px}
[data-booking-payment] .sabsus-pay-widget__summary dd{white-space:nowrap}

/* Mobile scenic sections fill the viewport without horizontal page drift. */
@media(max-width:760px){
  html{max-width:100%;overflow-x:hidden}
  body{width:100%;min-width:0}
  .home-page>main,.home-page .hero,.home-page .jungle-section,.home-page .coast-section{width:100%;max-width:100%;margin-inline:0}
  .home-page .hero{height:100svh;min-height:650px}
  .home-page .hero-photo{transform:none}
  .site-header .nav-row,.site-header nav,.hero-content,.jungle-content,.coast-content{min-width:0}
  .site-header nav{max-width:100%}
  @supports(overflow-x:clip){html{overflow-x:clip}}
}

/* Every stay has a visible booking action, including featured rooms. */
.catalog-card{display:flex;flex-direction:column}
.catalog-copy{display:flex;flex-direction:column;flex:1;min-width:0}
.catalog-card-foot{margin-top:auto;flex-wrap:wrap;gap:12px}
.catalog-card-foot>.catalog-booking-button{display:flex;flex:1 0 100%;width:100%;min-width:0;min-height:48px;margin:0;padding:.8rem 1rem;border:1px solid var(--forest);border-radius:var(--radius-control);background:var(--forest);color:var(--paper);font-size:.84rem;font-weight:500;line-height:1.3;text-decoration:none;white-space:nowrap;gap:.65rem}
.catalog-booking-button:hover,.product-booking-button:hover{background:#354f40;border-color:#354f40}
.catalog-booking-button:focus-visible,.product-booking-button:focus-visible{outline:2px solid var(--forest);outline-offset:4px}
.product-booking-button{min-height:48px;margin-block:.5rem 1rem;font-size:.9rem;font-weight:500}
@media(max-width:760px){.product-booking-button{width:100%}}

/* Guest House Unity: one property, seven separate room choices. */
.unity-page{width:min(1120px,calc(100% - 96px));margin-inline:auto;padding:2.5rem 0 5rem}
.unity-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:center;margin:2rem 0 3rem}
.unity-intro h1{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.05;margin:1rem 0 1.5rem}
.unity-intro h1 em{color:#596e50}
.unity-intro .lead{font-size:1rem;line-height:1.8;color:var(--muted);max-width:470px}
.unity-cover{margin:0;min-width:0}
.unity-cover img{display:block;width:100%;height:410px;object-fit:cover;border-radius:var(--radius-card)}
.unity-cover figcaption{font-size:.65rem;color:var(--muted);margin-top:.6rem}
.unity-features{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:1.5rem 0 2rem}
.unity-features li{padding:.4rem .7rem;border:1px solid var(--line);border-radius:var(--radius-control);font-size:.72rem}
.unity-dates{padding:1.5rem 0 1rem;border-top:1px solid var(--line)}
.unity-dates h2{font-size:1.55rem;line-height:1.3;margin:0 0 1.2rem}
.unity-date-fields{padding-block:1.2rem;border:0}
.unity-rooms{padding-top:2rem;scroll-margin-top:1.5rem}
.unity-rooms-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem}
.unity-rooms-heading h2{font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.15;margin:0}
.unity-rooms-heading>p{max-width:300px;font-size:.85rem;color:var(--muted);margin:0}
.unity-room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.unity-room-card .catalog-media{aspect-ratio:1.15}
.unity-room-card h3{font-size:1.15rem;line-height:1.35}
.unity-room-photo img{width:auto;height:auto;max-height:560px;max-width:100%;margin-inline:auto;object-fit:contain}
.unity-room-calendar{margin-top:3rem}
.unity-room-calendar h2{font-size:2rem;line-height:1.2}
@media(max-width:1050px){.unity-page{width:calc(100% - 56px)}.unity-intro{gap:2rem}.unity-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.unity-page{width:calc(100% - 40px);padding-top:1.5rem}.unity-intro{grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-block:1.5rem 2rem}.unity-cover img{height:320px}.unity-room-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem}.unity-rooms-heading{display:block}.unity-rooms-heading>p{margin-top:1rem;max-width:none}.unity-intro .button{width:100%}.unity-room-card .catalog-media{aspect-ratio:1.3}}

/* Modern Tropical photo gallery */
.modern-photo-strip{display:flex;gap:12px;overflow-x:auto;padding:16px;background:var(--paper,#f6f5ef)}
.modern-photo-strip button{flex:0 0 112px;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:transparent;cursor:pointer}
.modern-photo-strip button[aria-pressed="true"],.modern-photo-strip button:focus-visible{border-color:var(--forest,#263c31);outline-offset:3px}
.product-image-shell .modern-photo-strip img{width:108px;height:80px;max-height:80px;object-fit:cover}
.modern-tropical-page [data-native-product-description]{white-space:pre-line}

/* Approved business-card copy layout */

.copy-v3 .site-header{top:0;position:absolute;background:transparent}
.copy-v3 .nav-row{height:100px}
.copy-v3 .hero{height:max(880px,100svh);min-height:880px}
.copy-v3 .hero-content{padding-top:230px;padding-bottom:100px}
.copy-v3 .hero h1{font-size:clamp(56px,7.5vw,112px);line-height:1.04;max-width:1050px;letter-spacing:-.05em}
.copy-v3 .hero-lead{max-width:650px;font-size:18px;line-height:1.7;margin-top:28px}
.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:30px}
.hero-actions .hero-link{margin:0;font-size:15px;gap:22px}
.hero-secondary{color:inherit;display:inline-flex;align-items:center;gap:10px;text-underline-offset:6px;font-size:14px}
.copy-v3 .journey-track{margin-top:55px}
.copy-v3 .jungle-section{min-height:max(1100px,95vw);height:auto}
.copy-v3 .jungle-content{padding-top:110px}
.copy-v3 .jungle-grid{grid-template-columns:1.1fr 1fr;gap:7vw;width:100%}
.copy-v3 .jungle-grid h2{font-size:clamp(44px,4.8vw,72px);max-width:600px;line-height:1.12}
.copy-v3 .jungle-copy{max-width:520px;padding-top:15px}
.copy-v3 .jungle-copy p{font-size:17px;line-height:1.75;margin:0 0 20px}
.copy-v3 .stays-section{padding:36px 0 42px}
.copy-v3 .stays-section .collection-title{font-size:clamp(24px,2.5vw,36px);line-height:1.2;font-weight:400;letter-spacing:-.02em;margin:0 0 24px}
.copy-v3 .stays-heading{align-items:end;gap:50px;margin:24px 0 48px}
.copy-v3 .section-heading h2{font-size:clamp(42px,4.7vw,70px);line-height:1.12;max-width:650px}
.section-intro{max-width:460px;line-height:1.8;color:var(--muted);font-size:16px;margin:0}
.copy-v3 .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.photo-open{padding:0;border:0;border-radius:0;background:transparent;cursor:pointer;width:100%;display:block}
.copy-v3 .catalog-media{aspect-ratio:1.6;overflow:hidden}
.copy-v3 .catalog-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.photo-open:hover img{transform:scale(1.025)}
.copy-v3 .catalog-copy{padding:28px}
.copy-v3 .catalog-copy h3{font-size:clamp(25px,2.6vw,35px);line-height:1.18;font-weight:400;letter-spacing:-.035em;margin:7px 0 15px;max-width:500px}
.copy-v3 .catalog-copy .stay-title{font-size:13px;font-weight:500;line-height:1.5;color:var(--forest);margin:0 0 14px}
.copy-v3 .catalog-description{font-size:15px;line-height:1.75;margin:0 0 25px;display:block;-webkit-line-clamp:unset;overflow:visible;max-height:none}
.copy-v3 .catalog-card-foot{padding-top:0;border:0}
.copy-v3 .unity-house-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
.copy-v3 .unity-house-card .catalog-media{height:440px;min-height:0;aspect-ratio:auto}
.copy-v3 .unity-house-card .catalog-copy{padding:44px}
.copy-v3 .coast-section{min-height:1000px;height:auto}
.copy-v3 .coast-content{padding-block:100px}
.copy-v3 .coast-card{max-width:760px;width:min(760px,100%);padding:0;background:none;backdrop-filter:none;border-radius:0}
.copy-v3 .coast-card h2{font-size:clamp(40px,4.4vw,65px);line-height:1.1}
.copy-v3 .coast-card p:not(.eyebrow){max-width:610px;font-size:17px;line-height:1.75}
.personal-section{padding:120px 0;background:var(--cream)}
.personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.personal-grid figure{margin:0;min-width:0}
.personal-grid figure img{width:100%;height:620px;object-fit:cover;border-radius:22px;display:block}
.personal-grid figcaption{font-size:12px;color:var(--muted);margin-top:12px}
.personal-copy h2,.booking-ways h2{font-size:clamp(40px,4.4vw,66px);line-height:1.12;margin:24px 0;letter-spacing:-.045em}
.personal-copy>p:not(.eyebrow){font-size:17px;line-height:1.8;max-width:550px}
.personal-note{color:var(--muted);margin:20px 0 30px}
.copy-v3 .calendar-heading h2{font-size:clamp(40px,4.5vw,66px);line-height:1.12}
.quiet-link{font-size:14px;display:inline-flex;align-items:center;gap:14px;text-underline-offset:5px;margin-top:18px}
.booking-ways{padding:110px 0;background:var(--paper)}
.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.booking-grid>div>p:not(.eyebrow){font-size:17px;line-height:1.8;margin-top:24px}
.direct-benefit{padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:30px}
.platform-names{display:flex;gap:24px;margin-top:22px;color:var(--muted);font-size:16px}
.journal-intro{max-width:690px;font-size:17px;line-height:1.8;color:var(--muted);margin-top:24px}
.copy-v3 .journal-section-heading h2{max-width:800px;font-size:clamp(42px,4.8vw,70px);line-height:1.12}
.copy-v3 .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.copy-v3 .journal-card h3.journal-feature-title{font-size:clamp(28px,2.6vw,38px);line-height:1.2;letter-spacing:-.025em}
.copy-v3 .closing h2{font-size:clamp(44px,5.5vw,80px);line-height:1.1;max-width:1000px;margin:30px auto}
.copy-v3 .closing p:not(.eyebrow){font-size:18px;line-height:1.8;max-width:660px;margin:0 auto 35px}
.copy-v3 .closing .button{display:inline-flex;align-items:center;gap:22px;min-height:52px}
.closing-secondary{display:block;margin:25px auto 0;width:fit-content;text-underline-offset:5px}
.copy-v3 .footer-grid{grid-template-columns:2fr 1fr}
.copy-v3 .footer-grid>div:last-child{display:flex;flex-direction:column;align-items:start;gap:10px}
.copy-v3 .footer-grid p{max-width:450px}
.copy-v3 .button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:50px;font-size:14px;line-height:1.35}
@media(max-width:1000px){.copy-v3 .site-header nav{display:none}.copy-v3 .jungle-grid{gap:35px}.personal-grid{gap:40px}.personal-grid figure img{height:560px}.booking-grid{gap:40px}.copy-v3 .hero-content{padding-top:210px}}
@media(max-width:760px){.copy-v3 .nav-row{height:78px}.copy-v3 .hero{min-height:850px;height:100svh}.copy-v3 .hero-content{padding-top:180px;padding-bottom:100px}.copy-v3 .hero h1{font-size:clamp(50px,12vw,80px);max-width:100%;line-height:1.08}.copy-v3 .hero-lead{font-size:16px;line-height:1.7;max-width:100%}.hero-actions{gap:22px;margin-top:28px}.hero-actions .hero-link{font-size:13px;gap:12px}.copy-v3 .journey-track{margin-top:40px}.copy-v3 .jungle-section{min-height:max(1050px,calc(66.7vw + 850px));height:auto}.copy-v3 .jungle-content{padding-top:65px}.copy-v3 .jungle-grid{display:block}.copy-v3 .jungle-grid h2{font-size:42px;max-width:100%}.copy-v3 .jungle-copy{max-width:100%;padding-top:25px}.copy-v3 .jungle-copy p{font-size:16px}.copy-v3 .jungle-copy .button{font-size:14px}.copy-v3 .stays-section{padding:24px 0 32px}.copy-v3 .stays-heading{display:block;margin-bottom:30px}.section-intro{font-size:16px;margin-top:25px}.copy-v3 .section-heading h2{font-size:43px}.copy-v3 .catalog-grid{grid-template-columns:1fr;gap:25px}.copy-v3 .catalog-copy{padding:24px}.copy-v3 .catalog-copy h3{font-size:29px}.copy-v3 .unity-house-card{grid-column:auto;display:flex}.copy-v3 .unity-house-card .catalog-media{height:300px;min-height:0;aspect-ratio:1.6}.copy-v3 .unity-house-card .catalog-copy{padding:24px}.copy-v3 .coast-section{min-height:950px}.copy-v3 .coast-content{padding-top:70px;padding-bottom:100px}.copy-v3 .coast-card{padding:0;max-width:100%;width:100%;border-radius:0;background:none}.copy-v3 .coast-card h2{font-size:40px}.copy-v3 .coast-card p:not(.eyebrow){font-size:16px;max-width:100%}.personal-section{padding:75px 0}.personal-grid{grid-template-columns:1fr;gap:40px}.personal-grid figure img{height:440px}.personal-copy h2,.booking-ways h2{font-size:42px}.personal-copy>p:not(.eyebrow){font-size:16px}.copy-v3 .calendar-heading h2{font-size:43px}.booking-ways{padding:75px 0}.booking-grid{grid-template-columns:1fr;gap:15px}.booking-grid>div>p:not(.eyebrow){font-size:16px}.copy-v3 .journal-grid{grid-template-columns:1fr}.copy-v3 .journal-section-heading h2{font-size:42px}.journal-intro{font-size:16px}.copy-v3 .closing h2{font-size:43px}.copy-v3 .closing p:not(.eyebrow){font-size:17px}.copy-v3 .footer-grid{grid-template-columns:1fr}.dialog-photo{height:290px}.dialog-copy{padding:25px}.dialog-copy h2{font-size:30px}}

.copy-v3 .compact-search{max-width:430px;margin:0 0 28px}.copy-v3 .catalog-copy h3 a{color:inherit;text-decoration:none}.copy-v3 .catalog-card-foot{display:flex;gap:12px;align-items:center;justify-content:space-between}.stay-details{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:22px;font-size:13px;line-height:1.5}.stay-details a{text-underline-offset:5px}.copy-v3 .booking-grid .quiet-link{display:flex;width:fit-content}.copy-v3 .unity-house-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.copy-v3 .unity-house-card .catalog-media{height:440px}.copy-v3 .closing a.button{color:var(--forest);background:var(--paper);border-radius:32px;padding:15px 25px}.copy-v3 .site-header .nav-action{min-width:0;font-size:12px}.copy-v3 .catalog-copy{min-width:0}@media(max-width:760px){.copy-v3 .unity-house-card{display:block;grid-column:auto}.copy-v3 .unity-house-card .catalog-media{height:300px}.copy-v3 .hero{height:auto;min-height:850px}.copy-v3 .hero-content{padding-top:160px}.copy-v3 .nav-row{gap:12px}.copy-v3 .site-header .nav-action{font-size:10px;max-width:125px;white-space:normal;text-align:center}.copy-v3 .language-switch{flex-shrink:0}.copy-v3 .hero h1{font-size:clamp(45px,12vw,80px)}}

.catalog-copy h3{font-size:26px;line-height:1.2;margin:12px 0;font-weight:400;letter-spacing:-.025em}.catalog-copy h3 a{color:inherit;text-decoration:none}.catalog-copy .stay-title{font-size:13px;line-height:1.5;color:var(--forest)}@media(max-width:760px){.copy-v3 .site-header .nav-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;line-height:1.35;flex-shrink:0}}

.copy-v3 .site-header .nav-action{display:inline-flex}.copy-v3 .site-header .nav-action>span{display:inline;margin-left:0}

.lopsera-policy-nav{display:flex;flex-wrap:wrap;gap:16px;padding-top:20px;padding-bottom:24px;font-size:14px}.lopsera-brand-icon{display:block;width:32px;height:32px;border-radius:8px;object-fit:contain}.policy-page .site-header{position:relative;background:#f8f7f3;color:#17201c}.policy-content{max-width:820px;margin:0 auto;padding:48px 24px 72px;font:17px/1.65 system-ui;color:#17201c}.policy-content h1{font:500 clamp(30px,6vw,48px)/1.15 system-ui;margin:0 0 22px}.policy-content h2{font:600 22px/1.3 system-ui;margin:32px 0 12px}.policy-content a{text-decoration:underline}.policy-content form{display:grid;gap:16px;padding:24px;border:1px solid #ced4cb;border-radius:16px;background:#fff}.policy-content label{display:grid;gap:7px}.policy-content input,.policy-content textarea{box-sizing:border-box;width:100%;font:inherit;padding:12px;border:1px solid #879483;border-radius:8px}.policy-content input[type=checkbox]{width:20px;height:20px}.policy-content button{font:inherit;padding:14px 20px;border:0;border-radius:24px;background:#23372d;color:white;cursor:pointer}.policy-content button:disabled{opacity:.55}.policy-content .consent{display:flex;align-items:flex-start;gap:10px}.policy-content small{color:#4d5c52}.policy-content [role=status]{white-space:pre-wrap}

/* Keep navigation below the native status bar on iOS and Android. */
html[data-sabsus-runtime] .site-header{padding-top:max(env(safe-area-inset-top,0px),var(--sabsus-safe-top,0px))}
html[data-sabsus-runtime] .site-footer{padding-bottom:max(24px,env(safe-area-inset-bottom,0px),var(--sabsus-safe-bottom,0px))}

/* Mobile navigation and native date controls. */
@media(max-width:760px){
 .site-header .nav-row{flex-wrap:nowrap;justify-content:space-between;gap:16px;min-height:86px;height:auto;padding-block:18px}
 .site-header .nav-row>.brand{order:0;min-width:0;flex:0 1 auto}
 .site-header .nav-row>.language-switch{order:1;margin-left:auto;flex-shrink:0}
 .site-header .nav-row>.nav-action{display:none!important}
 .site-header .brand small{font-size:8px;letter-spacing:.2em;line-height:1.3}
 .availability-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;padding-block:22px;align-items:end}
 .availability-form>label{min-width:0;width:100%;max-width:100%;gap:8px;font-size:13px}
 .availability-form input[type="date"]{display:block;box-sizing:border-box;min-width:0;min-inline-size:0;width:100%;inline-size:100%;max-width:100%;max-inline-size:100%;min-height:54px;height:54px;padding:12px;font-size:16px;line-height:1.4;-webkit-appearance:none;appearance:none}
 .availability-form input[type="date"]::-webkit-datetime-edit{padding:0;min-width:0}
 .availability-form input[type="date"]::-webkit-date-and-time-value{min-width:0;text-align:left;white-space:nowrap}
 .availability-form input[type="date"]::-webkit-calendar-picker-indicator{width:18px;height:18px;margin:0;padding:0}
 .availability-form>button{grid-column:1/-1;width:100%;min-height:54px;margin:2px 0 0;justify-content:center}
}
@media(max-width:374px){.availability-form{grid-template-columns:minmax(0,1fr)}}

/* Compact mobile collection and shoreline framing. */
@media(max-width:760px){
 .copy-v3 .stays-section{padding:24px 0 32px}
 .copy-v3 .stays-section .collection-title{font-size:24px;margin-bottom:20px}
 .copy-v3 .stays-section>.shell>.eyebrow{margin-bottom:16px}
 .copy-v3 .stays-heading{margin:0 0 20px}
 .copy-v3 .stays-heading h2{font-size:35px;line-height:1.12;margin-bottom:0}
 .copy-v3 .stays-heading .section-intro{margin-top:16px;line-height:1.65}
 .copy-v3 .compact-search{margin-bottom:16px}
 .copy-v3 .stays-section .catalog-status{margin-bottom:14px}
 .copy-v3 .coast-section{display:block;min-height:0;height:auto}
 .copy-v3 .coast-content{padding-top:40px;padding-bottom:42px}
 .copy-v3 .coast-content .journey-step{margin-bottom:24px}
 .copy-v3 .coast-photo{object-position:24% bottom}
}

/* Mobile island image follows its copy without a fixed sky spacer. */
@media(max-width:760px){
 .copy-v3 .jungle-section{display:flex;flex-direction:column;align-items:stretch;min-height:0;height:auto}
 .copy-v3 .jungle-content{position:relative;inset:auto;order:0;padding-top:40px;padding-bottom:24px}
 .copy-v3 .jungle-photo{position:relative;inset:auto;order:1;display:block;width:100%;height:56vw;max-height:none;object-fit:cover;object-position:center bottom}
 .copy-v3 .hero-actions{justify-content:center}
 .copy-v3 main .button,.copy-v3 main .hero-link,.copy-v3 main .quiet-link{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;text-align:center}
 .copy-v3 .jungle-copy>.button{margin-top:8px}
 .copy-v3 .compact-search{margin-left:auto;margin-right:auto}
 .copy-v3 .catalog-card-foot{justify-content:center}
 .copy-v3 .catalog-card-foot>.catalog-booking-button,.copy-v3 .availability-form>button{width:100%}
 .copy-v3 .stay-details{justify-content:center;text-align:center}
 .copy-v3 .journal-section-heading>a{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;text-align:center;gap:12px}
 .copy-v3 .journal-read{justify-content:center}
 .copy-v3 .platform-names{justify-content:center}
}

@media(max-width:760px){.copy-v3 .closing a.button{display:flex;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;text-align:center}}

/* Keep the full mountain photograph and remove the former empty height reserve. */
.copy-v3 .jungle-section{min-height:0;height:auto}
@media(max-width:760px){.copy-v3 .jungle-photo{height:auto;object-fit:contain}}
@media(min-width:761px) and (max-width:1050px){
 .copy-v3 .jungle-content{padding-top:28px;padding-bottom:0}
 .copy-v3 .jungle-grid{grid-template-columns:minmax(0,1.7fr) minmax(225px,1fr);gap:1.5rem}
 .copy-v3 .jungle-grid h2{font-size:clamp(30px,3.5vw,40px)}
 .copy-v3 .jungle-copy{padding-top:0}
 .copy-v3 .jungle-copy p{font-size:12px;line-height:1.7;margin:0 0 .8rem}
}

/* Keep desktop copy within the mountain photograph's sky. */
@media(min-width:1051px){
.copy-v3 .jungle-content{padding-top:clamp(24px,2.8vw,52px);padding-bottom:0}
.copy-v3 .jungle-grid{grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:3rem}
.copy-v3 .jungle-grid h2{font-size:clamp(34px,3.5vw,60px);line-height:1.08;max-width:760px}
.copy-v3 .jungle-copy{max-width:350px;padding-top:0}
.copy-v3 .jungle-copy p{font-size:clamp(12px,.95vw,14px);line-height:1.7;margin:0 0 .8rem}
}
