
:root{--ivory:#F7F4ED;--sand:#E8DFD0;--ocean:#5f7f92;--char:#2b2b2b;--gold:#b89a5e;--bg:var(--ivory);--tx:var(--char);--soft:#6b655c;--card:#fffaf2;
--serif:"Cormorant Garamond",Georgia,serif;--sans:"Jost",system-ui,sans-serif;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-behavior:smooth;scroll-padding-top:70px}*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:300 17px/1.7 var(--sans)}
img{max-width:100%;display:block}a{color:inherit}
nav{position:fixed;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:calc(14px + env(safe-area-inset-top,0px)) 5vw 14px;color:#F7F4ED;transition:.4s}
nav.s{background:color-mix(in srgb,var(--bg) 92%,transparent);color:var(--tx);backdrop-filter:blur(8px)}
.logo{font:500 18px var(--serif);letter-spacing:.3em;text-decoration:none}
nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
nav a{text-decoration:none}.lang button{background:none;border:0;color:inherit;font:inherit;font-size:12px;letter-spacing:.15em;cursor:pointer;opacity:.6}.lang button.on{opacity:1;border-bottom:1px solid var(--gold)}
.nr{display:flex;align-items:center}.menu{display:none;background:none;border:0;width:38px;height:38px;margin-left:10px;color:inherit;cursor:pointer;position:relative}.menu span{position:absolute;left:8px;right:8px;height:1px;background:currentColor;transition:.3s}.menu span:first-child{top:14px}.menu span:last-child{top:23px}
nav.open{background:var(--bg);color:var(--tx)}nav.open .menu span:first-child{top:19px;transform:rotate(45deg)}nav.open .menu span:last-child{top:19px;transform:rotate(-45deg)}
@media(max-width:760px){nav ul{display:none}.menu{display:block}.logo{font-size:15px;letter-spacing:.22em;white-space:nowrap}.lang{white-space:nowrap}nav.open ul{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:6px 5vw 22px;font-size:13px;box-shadow:0 18px 30px rgba(0,0,0,.08)}nav.open li a{display:block;padding:15px 0;border-bottom:1px solid color-mix(in srgb,var(--gold) 35%,transparent)}}
.menu:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.hero{--hero:url(../assets/img/hero-mediterranean-sunset.jpg);position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;color:#F7F4ED;padding:clamp(120px,21vh,230px) 6vw 0;background:#2d5971;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:var(--hero) 12% 72%/cover no-repeat;z-index:0}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,26,36,.34) 0%,rgba(12,26,36,.12) 42%,rgba(12,26,36,0) 70%);z-index:0;pointer-events:none}
.hero>*{position:relative;z-index:1;text-shadow:0 1px 18px rgba(10,24,34,.28)}.hero .btn{text-shadow:none}
.hero h1{font-size:clamp(44px,7.4vw,104px);font-style:italic;letter-spacing:.01em;line-height:1.08}.hero .eyebrow{color:#F7F4ED;margin-bottom:clamp(20px,3vh,34px)}
.hero p{max-width:540px;margin:clamp(22px,3.5vh,38px) auto clamp(28px,4.5vh,46px);color:#F7F4ED;font-size:clamp(16px,1.5vw,19px)}
.hero .btn{background:#B5A079;border-color:#B5A079;color:#F7F4ED}.hero .btn:hover{background:rgba(247,244,237,.12);border-color:#F7F4ED}
.curve{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(70px,10vw,150px);display:block;z-index:1}.curve path{fill:var(--bg)}
/* Tall/narrow screens: photo anchored to the bottom at natural proportions (never stretched), sky above extended with a soft fade so sun, reflection, waves and coastline stay in frame */
@media(max-aspect-ratio:16/10){.hero::before{top:auto;height:62%;background-position:12% 70%;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 34%);mask-image:linear-gradient(180deg,transparent 0,#000 34%)}}
@media(max-aspect-ratio:1/1){.hero::before{height:46%;background-position:10% 60%;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 30%);mask-image:linear-gradient(180deg,transparent 0,#000 30%)}.hero{padding-top:clamp(110px,16vh,160px)}.hero h1{font-size:clamp(28px,8.6vw,56px)}}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.1;margin:0}
.eyebrow{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.btn{display:inline-block;padding:14px 34px;border:1px solid var(--gold);color:inherit;text-decoration:none;font-size:12px;letter-spacing:.22em;text-transform:uppercase;transition:.3s}.btn:hover,.btn.fill{background:var(--gold);color:#fff}.btn.fill:hover{background:transparent;color:inherit}
section{padding:clamp(70px,11vw,140px) 6vw}.wrap{max-width:1180px;margin:auto}
.intro{text-align:center;max-width:760px;margin:auto}.intro h2{font-size:clamp(30px,4vw,52px);margin-bottom:22px}
.rit{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,6vw,80px);align-items:start;margin-top:clamp(70px,9vw,130px)}.rit:nth-of-type(even) .gal{order:2}
.gal{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:sticky;top:90px}.ph{overflow:hidden;background:var(--sand)}.ph.big{grid-column:1/3}.ph img{width:100%;height:100%;object-fit:cover;aspect-ratio:1;transition:transform 1.4s}.ph:hover img{transform:scale(1.04)}
.rit h3{font-size:clamp(36px,4.2vw,58px)}.rit h3 small{display:block;font:italic 22px var(--serif);color:var(--ocean);margin:8px 0 20px}.rit h4{font:500 12px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:28px 0 10px}
.hl{list-style:none;padding:0;margin:0}.hl li{padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--gold) 35%,transparent);display:grid;gap:2px}.hl b{font:500 21px var(--serif)}.hl span{font-size:15px;color:var(--soft)}
.ing{font-size:14px;color:var(--soft);margin:0}.spec{font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:22px 0 26px}
.sand{background:var(--sand)}.split{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}.split h2{font-size:clamp(30px,4vw,52px);margin-bottom:22px}.split p{color:var(--soft)}
.imgs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.imgs img{width:100%;aspect-ratio:3/4;object-fit:cover}.imgs img+img{margin-top:50px}.split>img{aspect-ratio:1;object-fit:cover;width:100%}
.q{font:italic clamp(26px,3vw,40px)/1.3 var(--serif);color:var(--ocean)!important;margin-top:30px}
.tick{overflow:hidden;white-space:nowrap;border-block:1px solid var(--gold);padding:18px 0;margin:60px -6vw 0}.tick div{display:inline-block;font:italic clamp(22px,3vw,34px) var(--serif);animation:tk 40s linear infinite}.tick span{padding-right:0}
@keyframes tk{to{transform:translateX(-50%)}}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:60px}.card{background:var(--card);padding:34px 28px;border-top:2px solid var(--gold);transition:.5s}.card:hover{transform:translateY(-6px)}.card:last-child{grid-column:span 1}
.num{font:italic 38px var(--serif);color:var(--gold);display:block;margin-bottom:10px}.card h3{font-size:26px;margin-bottom:10px}.card p{margin:0;font-size:15px;color:var(--soft)}
.band{background:linear-gradient(rgba(20,38,51,.6),rgba(20,38,51,.7)),url(../assets/img/ocean-band.jpg) center/cover fixed;color:#fff;text-align:center}.band h2{font-size:clamp(32px,5vw,64px);font-style:italic}.band p{max-width:620px;margin:22px auto 0}
.note{text-align:center;font-size:14px;color:var(--soft);max-width:640px;margin:90px auto 0;font-style:italic}
footer{background:#293C40;color:#d9d1c1;padding:60px 6vw 30px;text-align:center;font-size:14px}footer .logo{font-size:22px;color:#fff}footer p{margin:10px 0}footer .l a{margin:0 12px;font-size:12px;opacity:.7}
.js .fade{opacity:0;transform:translateY(24px);transition:1s}.js .fade.in{opacity:1;transform:none}
@media(max-width:860px){.rit,.split{grid-template-columns:1fr}.rit:nth-of-type(even) .gal{order:0}.gal{position:static}.cards{grid-template-columns:1fr}.band{background-attachment:scroll}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto}.fade{opacity:1;transform:none}}

/* legal & 404 pages */
.legal{max-width:820px;margin:auto;padding:150px 6vw 90px}.legal h1{font-size:clamp(34px,5vw,56px);margin-bottom:10px}.legal h2{font-size:26px;margin:38px 0 10px}.legal p,.legal li{color:var(--soft);font-size:16px}.legal a{color:var(--ocean)}.legal ul{padding-left:20px}
.legal .eyebrow{margin-bottom:14px}.todo{background:#fff2b3;color:#5b4a00;padding:0 5px;font-weight:400}
html[lang="es"] .en{display:none}html:not([lang="es"]) .es{display:none}
.back{display:inline-block;margin-top:36px}
@media(min-width:861px){.card:last-child{grid-column:1/-1;text-align:center}}

/* ===== v2: hybrid structure ===== */
nav a,.logo{white-space:nowrap}
@media(max-width:900px){nav ul{display:none}.menu{display:block}nav.open ul{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:6px 5vw 22px;font-size:13px;box-shadow:0 18px 30px rgba(0,0,0,.08)}nav.open li a{display:block;padding:15px 0;border-bottom:1px solid color-mix(in srgb,var(--gold) 35%,transparent)}.lang{white-space:nowrap}}
.menu{width:44px;height:44px;margin-left:6px}.menu span{left:11px;right:11px;height:1.5px}
.menu span:first-child{top:16px}.menu span:last-child{top:26px}
nav.open .menu span:first-child{top:21px;transform:rotate(45deg)}nav.open .menu span:last-child{top:21px;transform:rotate(-45deg)}
:root{--deep:#293C40}
html{scroll-behavior:smooth}body{overflow-x:hidden}
nav.dk{background:rgba(41,60,64,.96);color:#F7F4ED}nav.dk.open{background:#293C40;color:#F7F4ED}nav.dk.open ul{background:#293C40}
.coll{padding-top:clamp(70px,9vw,120px)}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,44px);margin-top:clamp(40px,6vw,70px)}
.pcard{position:relative;display:flex;flex-direction:column}
.pimg{display:block;overflow:hidden;background:var(--sand);aspect-ratio:10/11}
.pimg img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s cubic-bezier(.2,.6,.2,1)}
.pcard:hover .pimg img{transform:scale(1.03)}
.pbody{padding:24px 4px 0;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.pbody .eyebrow{margin:0 0 8px}.pbody h3{font-size:clamp(28px,2.6vw,36px)}
.pbody .sub{font:italic 19px var(--serif);color:var(--ocean);margin:6px 0 0}
.pbody p:not(.sub){margin:12px 0 22px;color:var(--soft);font-size:15px}
.pbody .btn{margin-top:auto}.pcard .btn::after{content:"";position:absolute;inset:0}
.pcard:hover .btn{background:var(--gold);color:#fff}
@media(max-width:879px){.cards3{grid-template-columns:1fr;gap:48px;max-width:520px;margin-inline:auto}}
@media(min-width:600px) and (max-width:879px){.cards3{max-width:760px;gap:40px}.pcard{flex-direction:row;gap:30px;align-items:center}.pimg{flex:0 0 44%}.pbody{padding:0}}
.story .imgs img{aspect-ratio:3/4}
.more{display:grid;grid-template-rows:1fr}.more>div{overflow:hidden;min-height:0}
.js .more{grid-template-rows:0fr;transition:grid-template-rows .7s ease}.js .more.open{grid-template-rows:1fr}
.js .more>div{visibility:hidden;transition:visibility 0s .7s}.js .more.open>div{visibility:visible;transition-delay:0s}
.link{background:none;border:0;border-bottom:1px solid var(--gold);padding:8px 0;margin:8px 0 0;font:inherit;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:inherit;cursor:pointer}
.link::after{content:" +"}.link[aria-expanded="true"]::after{content:" \2212"}
.phil{list-style:none;margin:clamp(40px,6vw,70px) auto 0;padding:0;max-width:980px}
.phil li{display:grid;grid-template-columns:70px 1fr 1.1fr;gap:20px 30px;align-items:baseline;padding:28px 0;border-top:1px solid color-mix(in srgb,var(--gold) 55%,transparent)}
.phil li:last-child{border-bottom:1px solid color-mix(in srgb,var(--gold) 55%,transparent)}
.phil .pn{font:italic 22px var(--serif);color:var(--gold)}.phil h3{font-size:clamp(24px,2.6vw,32px)}.phil p{margin:0;color:var(--soft);font-size:15.5px}
.pline{text-align:center;margin:44px 0 0;font:italic clamp(20px,2.4vw,28px) var(--serif);color:var(--ocean)}
@media(max-width:700px){.phil li{grid-template-columns:44px 1fr;gap:6px 14px;padding:24px 0}.phil p{grid-column:2}}
.deep{background:var(--deep);color:#F7F4ED;text-align:center;padding-bottom:clamp(50px,7vw,80px)}.deep .eyebrow{color:#d9c79b}
.clinks{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;margin:22px 0 0;font-size:17px}
.clinks a{text-decoration:none;border-bottom:1px solid rgba(181,160,121,.6);padding-bottom:2px}
.note2{max-width:620px;margin:38px auto 0;font-size:14.5px;font-style:italic;opacity:.78}
footer{border-top:1px solid rgba(247,244,237,.12)}
.prod{padding-top:0}.ptop{padding:calc(70px + clamp(20px,3vw,40px)) 6vw clamp(60px,8vw,110px)}
.ctn{max-width:1180px;margin:auto}
.crumb{display:inline-block;font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;margin:18px 0 26px;opacity:.75}.crumb:hover{opacity:1}
.pgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,6vw,90px);align-items:start}
.pgal{position:sticky;top:96px}.pmain{aspect-ratio:4/5;overflow:hidden;background:var(--sand)}.pmain img{width:100%;height:100%;object-fit:cover}
.pthumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px}
.pthumbs button{padding:0;border:0;background:none;cursor:pointer;opacity:.6;transition:opacity .3s;aspect-ratio:1;overflow:hidden}
.pthumbs button img{width:100%;height:100%;object-fit:cover}
.pthumbs button[aria-current="true"],.pthumbs button:hover{opacity:1}.pthumbs button[aria-current="true"]{box-shadow:0 0 0 1px var(--accent)}
.pinfo .eyebrow{color:var(--accent)}.pinfo h1{font-size:clamp(40px,5vw,68px);line-height:1.04}
.pinfo h1 small{display:block;font:italic clamp(20px,2vw,26px) var(--serif);color:var(--accent);margin:10px 0 22px}
.keyings{font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 22px;padding:14px 0;border-block:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}
.lead{font-size:17px;color:var(--soft)}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:28px 0}.facts div{border-top:1px solid color-mix(in srgb,var(--accent) 45%,transparent);padding-top:10px}
.facts dt{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}.facts dd{margin:4px 0 0;font:500 20px var(--serif)}
.note3{font-size:13px;color:var(--soft);font-style:italic;margin:16px 0 0}
.phl,.ping,.ptin,.others{padding:clamp(60px,8vw,110px) 6vw}
.phl .eyebrow,.ping .eyebrow,.others .eyebrow{color:var(--accent);margin-bottom:26px}
.phl .hl{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(30px,6vw,90px)}
.ping .ing{font-size:clamp(17px,1.7vw,21px);line-height:1.9;max-width:860px;color:var(--tx)}
.ptin .ctn{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
.ptin img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;max-width:520px}.ptin h2{font-size:clamp(30px,3.6vw,46px);margin-bottom:18px}.ptin h3{font-size:24px;margin:28px 0 8px}.ptin p{color:var(--soft)}
.ptin .eyebrow{color:var(--accent)}
.og{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:760px}.og a{display:block;text-decoration:none}.og img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.og h3{font-size:26px;margin-top:12px}
.others .back{margin:44px 0 0}
.p-calm{--accent:#5f7f92}.p-calm .ping{background:var(--sand)}
.p-pure{--accent:#6c7b52}.p-pure .phl{background:#EAEDDF}
.p-deep{--accent:#B5A079}.p-deep .ptop{background:var(--deep);color:#F7F4ED}.p-deep .ptop .lead,.p-deep .ptop .note3{color:rgba(247,244,237,.8)}.p-deep .pmain{background:#1f2e31}.p-deep .ping{background:var(--deep);color:#F7F4ED}.p-deep .ping .ing{color:rgba(247,244,237,.86)}
html.mo,html.mo body{overflow:hidden;overscroll-behavior:contain}
@media(max-width:760px){
.hl span,.ing,.pbody p:not(.sub),.phil p,.lead{font-size:16.5px;font-weight:400}
.hl b{font-size:22px}.hl li{padding:14px 0}.phil h3{font-size:26px}
.note3{font-size:16px}.note2{font-size:16px}.keyings{font-size:16px;line-height:1.7}.facts dt{font-size:12px}.facts dd{font-size:21px}
.eyebrow{font-size:12.5px}.pbody .sub{font-size:20px}.ping .ing{font-size:18px;line-height:1.8}
.ptin p,.split p{font-size:16.5px}.split p.q{font-size:26px}.legal p,.legal li{font-size:17px}footer{font-size:16px}footer .l a{font-size:14px}
.crumb{margin:10px 0 16px}.ptop{padding-bottom:36px}
.phl,.ping,.ptin,.others{padding-top:44px;padding-bottom:44px}
.phl .eyebrow,.ping .eyebrow,.others .eyebrow{margin-bottom:18px}
.ptin .ctn{gap:26px}.ptin h3{margin:22px 0 6px}.ptin h2{margin-bottom:14px}.ptin img{max-width:none;aspect-ratio:4/5;object-position:50% 35%}
.facts{margin:22px 0}.pinfo h1 small{margin:8px 0 16px}.others .back{margin-top:28px}.pinfo .eyebrow{margin-bottom:12px}
}
@media(max-width:900px){.pgrid,.ptin .ctn,.phl .hl{grid-template-columns:1fr}.pgal{position:static}.btn{min-height:48px;display:inline-flex;align-items:center}.facts{gap:16px}.ptop{padding-top:calc(64px + 16px)}}
