:root{
  --navy:#0B2742; --gold:#D4AF37; --gold-deep:#b8912a;
  --cream:#F8F6F2; --white:#FFFFFF; --ink:#3a4a5c; --ink-dim:#8a94a3;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--white); color:var(--navy); font-family:'Inter',sans-serif; font-weight:300; line-height:1.75;}
h1,h2,h3{font-family:'Cormorant Garamond',serif; font-weight:400;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1100px; margin:0 auto; padding:0 40px;}
.eyebrow{font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--gold-deep);}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

nav{position:sticky; top:0; z-index:50; display:flex; justify-content:space-between; align-items:center; padding:26px 48px; background:rgba(255,255,255,0.9); backdrop-filter:blur(6px); border-bottom:1px solid rgba(11,39,66,0.08);}
.brand{font-family:'Cormorant Garamond',serif; font-size:1.3rem; letter-spacing:0.05em;}
.navlinks{display:none; gap:34px; font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase;}
@media(min-width:1080px){.navlinks{display:flex;}}
.navlinks a{opacity:0.6; transition:.2s;}
.navlinks a:hover, .navlinks a.active{opacity:1; color:var(--gold-deep);}
.nav-cta{font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; border-bottom:1px solid var(--navy); padding-bottom:3px;}

.hero{height:88vh; min-height:520px; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; text-align:center; padding-bottom:80px;
  background:linear-gradient(0deg, rgba(0,0,0,0.4), rgba(0,0,0,0.05) 45%), var(--bgimg) center/cover no-repeat;}
.hero.short{height:52vh; min-height:340px;}
.hero h1{color:#fff; font-weight:300; font-size:clamp(2.2rem,6vw,4.6rem); line-height:1.05; margin-bottom:20px;}
.hero p{color:rgba(255,255,255,0.85); font-size:1rem; max-width:38ch; margin:0 auto;}
.hero .eyebrow{color:rgba(255,255,255,0.75); display:block; margin-bottom:16px;}

section{padding:130px 0;}
section.tight{padding:80px 0;}
.center{text-align:center; max-width:640px; margin:0 auto;}
.center h2{font-size:clamp(1.9rem,3.4vw,2.6rem); font-weight:300; line-height:1.3; margin:18px 0;}
.center p{color:var(--ink);}

.signature-line{display:flex; align-items:center; justify-content:center; gap:18px; margin:34px 0;}
.signature-line .bar{width:50px; height:1px; background:var(--gold);}
.signature-line span{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.2rem;}

.full-bleed{width:100vw; position:relative; left:50%; margin-left:-50vw; height:74vh; overflow:hidden;}
.full-bleed img{width:100%; height:100%; object-fit:cover; display:block;}

.triptych{display:grid; grid-template-columns:1fr; gap:2px; background:#fff;}
@media(min-width:820px){.triptych{grid-template-columns:repeat(3,1fr);}}
.tri-item{position:relative; aspect-ratio:3/4; overflow:hidden;}
.tri-item img{width:100%; height:100%; object-fit:cover; transition:transform 1s cubic-bezier(.2,.8,.2,1);}
.tri-item:hover img{transform:scale(1.05);}
.tri-item::after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,0.55), transparent 45%);}
.tri-label{position:absolute; bottom:24px; left:24px; color:#fff; z-index:2;}
.tri-label .eyebrow{color:rgba(255,255,255,0.75);}
.tri-label h3{font-size:1.5rem; color:#fff; margin-top:6px; font-weight:400;}

.duo{display:grid; grid-template-columns:1fr; gap:2px;}
@media(min-width:760px){.duo{grid-template-columns:repeat(2,1fr);}}
.duo-item{position:relative; aspect-ratio:5/4; overflow:hidden;}
.duo-item img{width:100%; height:100%; object-fit:cover;}
.duo-item::after{content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,0.5), transparent 50%);}
.duo-label{position:absolute; bottom:22px; left:22px; color:#fff; z-index:2;}
.duo-label h3{font-size:1.4rem; color:#fff; font-weight:400;}

.two-col{display:grid; grid-template-columns:1fr; gap:60px; align-items:center;}
@media(min-width:860px){.two-col{grid-template-columns:1fr 1fr;}}
.two-col img{width:100%; aspect-ratio:4/5; object-fit:cover;}
.two-col.rev{direction:rtl;} .two-col.rev > *{direction:ltr;}

.btn-min{display:inline-block; padding:14px 0; border-bottom:1px solid var(--navy); font-size:0.76rem; letter-spacing:0.1em; text-transform:uppercase; transition:.25s;}
.btn-min:hover{border-color:var(--gold-deep); color:var(--gold-deep);}
.btn-min-block{display:block; text-align:center;}

.list-clean{max-width:640px; margin:40px auto 0; text-align:left;}
.list-item{padding:22px 0; border-bottom:1px solid rgba(11,39,66,0.1); display:flex; justify-content:space-between; gap:20px; font-size:0.95rem;}
.list-item .n{color:var(--gold-deep); font-family:'Cormorant Garamond',serif; font-style:italic; margin-right:14px;}

.offer-row{max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:0;}
.offer-line{display:flex; justify-content:space-between; align-items:baseline; padding:26px 0; border-bottom:1px solid rgba(11,39,66,0.1); gap:20px; flex-wrap:wrap;}
.offer-line .dest{font-family:'Cormorant Garamond',serif; font-size:1.4rem;}
.offer-line .meta{font-size:0.8rem; color:var(--ink-dim); display:block; margin-top:4px;}
.offer-line .price{font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--gold-deep); white-space:nowrap;}
.disclaimer-note{text-align:center; font-size:0.76rem; color:var(--ink-dim); margin-top:30px;}

.review-block{max-width:700px; margin:0 auto 60px; text-align:center;}
.review-block:last-child{margin-bottom:0;}
.review-block p{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.4rem; color:var(--navy); margin-bottom:14px;}
.review-block .name{font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep);}
.review-stars{color:var(--gold); letter-spacing:3px; margin-bottom:16px;}

.form-minimal{max-width:640px; margin:0 auto;}
.form-grid{display:grid; grid-template-columns:1fr; gap:22px;}
@media(min-width:560px){.form-grid{grid-template-columns:1fr 1fr;}}
.field{display:flex; flex-direction:column; gap:8px;}
.field.full{grid-column:1/-1;}
.field label{font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-dim);}
.field input, .field textarea{border:none; border-bottom:1px solid rgba(11,39,66,0.25); padding:10px 2px; font-family:'Inter',sans-serif; font-size:0.95rem; background:transparent; color:var(--navy);}
.field input:focus, .field textarea:focus{outline:none; border-color:var(--gold-deep);}
.submit-min{grid-column:1/-1; background:none; border:1px solid var(--navy); padding:15px; font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; cursor:pointer; transition:.25s; margin-top:10px;}
.submit-min:hover{background:var(--navy); color:#fff;}

.contact-lines{text-align:center; margin-top:30px; font-size:0.92rem;}
.contact-lines a{display:block; margin-bottom:10px; color:var(--navy);}
.contact-lines a:hover{color:var(--gold-deep);}

footer{padding:70px 0 40px; text-align:center; border-top:1px solid rgba(11,39,66,0.08); margin-top:60px;}
footer .foot-brand{font-family:'Cormorant Garamond',serif; font-size:1.3rem; margin-bottom:14px;}
footer .foot-links{display:flex; flex-wrap:wrap; justify-content:center; gap:22px; font-size:0.76rem; letter-spacing:0.05em; text-transform:uppercase; margin-bottom:24px;}
footer .foot-links a{opacity:0.6;}
footer .foot-links a:hover{opacity:1;}
footer p.legal{font-size:0.76rem; color:var(--ink-dim); letter-spacing:0.02em;}
