@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--teal:#123f46;--deep:#0c3036;--coral:#e87966;--cream:#faf4e8;--sand:#dfcbb0;--ink:#1e2a2c;--white:#fff;--line:#d9ded9}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;background:#fff}
button,input,select,textarea{font:inherit}
.topbar{height:82px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);z-index:10;border-bottom:1px solid #edf0ed}
.brand{display:flex;align-items:center;gap:12px;color:var(--teal);font-weight:700;text-decoration:none}
.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--teal);color:#fff;border-radius:50%;font-family:'Playfair Display',serif}
.topbar nav{display:flex;gap:28px}
.topbar nav a{color:var(--ink);text-decoration:none;font-size:.92rem}
.cart{background:var(--cream);border:0;padding:12px 16px;border-radius:999px;color:var(--teal);font-weight:700;cursor:pointer}
.cart span{display:inline-grid;place-items:center;background:var(--coral);color:#fff;width:23px;height:23px;border-radius:50%;margin-left:6px}
.hero{min-height:700px;background:var(--teal);display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden}
.hero-image{grid-column:1/-1;grid-row:1;background:url('hero-travel.png') center/cover no-repeat;min-height:700px}
.hero-image:after{content:'';display:block;height:100%;background:linear-gradient(90deg,rgba(8,43,49,.96) 0%,rgba(8,43,49,.83) 36%,rgba(8,43,49,.12) 68%)}
.hero-copy{grid-column:1;grid-row:1;z-index:2;align-self:center;padding:70px 6vw;color:#fff;max-width:720px}
.eyebrow{color:var(--coral);font-weight:700;letter-spacing:.16em;font-size:.77rem}
.hero h1,.custom h2,.intro h2,.steps h2,.inside h2{font:600 clamp(2.7rem,5vw,5.6rem)/.98 'Playfair Display',serif;margin:20px 0}
.hero h1 em{color:#f3c7ae}
.hero-copy>p:not(.eyebrow){font-size:1.18rem;line-height:1.7;max-width:610px;color:#e5eeee}
.actions{display:flex;gap:13px;margin:32px 0}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:5px;padding:15px 22px;font-weight:700;text-decoration:none;cursor:pointer;transition:.2s}
.button:hover{transform:translateY(-2px)}
.coral{background:var(--coral);color:#fff}
.ghost{border:1px solid rgba(255,255,255,.5);color:#fff}
.navy{background:var(--teal);color:#fff;width:100%}
.mini{display:flex;gap:30px;padding:0;list-style:none;color:#cfe0df;font-size:.9rem}
.mini li:before{content:'✓';color:var(--coral);margin-right:8px}
.intro{text-align:center;padding:95px 20px 35px}
.intro h2,.steps h2{font-size:clamp(2.3rem,4vw,4rem);color:var(--teal);margin:12px}
.intro>p:last-child{color:#667374;font-size:1.08rem}
.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;max-width:1140px;margin:20px auto 110px;padding:0 24px}
.product-card{display:grid;grid-template-columns:44% 56%;border:1px solid var(--line);background:#fff;box-shadow:0 18px 50px rgba(19,63,70,.08)}
.cover{min-height:455px;padding:34px 26px;color:#fff;display:flex;flex-direction:column;background:var(--teal);position:relative;overflow:hidden}
.cover:after{content:'';position:absolute;width:150px;height:150px;border-radius:50%;right:-55px;top:-45px;background:var(--coral)}
.cover-en{background:#234d58}
.cover span{font-size:.69rem;letter-spacing:.14em;font-weight:700;z-index:1}
.cover h3{font:600 2rem/1.05 'Playfair Display',serif;text-transform:uppercase;letter-spacing:.04em;margin-top:48px}
.cover-lines{margin-top:auto;height:120px;border-radius:6px;background:var(--cream);position:relative}
.cover-lines:before,.cover-lines:after{content:'';position:absolute;left:18px;right:18px;height:1px;background:var(--sand);top:44px;box-shadow:0 25px var(--sand)}
.product-info{padding:35px;display:flex;flex-direction:column}
.product-info>div{display:flex;justify-content:space-between}
.product-info h3{font:600 1.55rem 'Playfair Display',serif;color:var(--teal);margin:4px 0}
.product-type{font-size:.68rem;color:var(--coral);font-weight:700;letter-spacing:.12em;margin:0}
.product-info>strong{font:600 2.5rem 'Playfair Display',serif;color:var(--coral);margin:16px 0}
.product-info>p{line-height:1.65;color:#657071;flex:1}
.custom{background:var(--teal);color:#fff;padding:90px max(5vw,25px);display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center}
.light{color:#f3b49e}
.custom h2{font-size:clamp(2.5rem,4.5vw,4.6rem)}
.custom-copy>p:not(.eyebrow){color:#d5e2e2;line-height:1.7;font-size:1.05rem;max-width:500px}
.premium-includes{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.premium-includes span{padding:9px 13px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;font-size:.86rem;background:rgba(255,255,255,.07)}
.premium-includes span:before{content:'✓';color:#f4bea8;margin-right:7px;font-weight:700}
.price{margin-top:38px;display:flex;flex-direction:column}
.price small{letter-spacing:.12em;color:#aac1c2}
.price strong{font:600 4rem 'Playfair Display',serif;color:#f4bea8}
.custom-form{background:#fff;color:var(--ink);padding:38px;border-radius:10px;box-shadow:0 30px 70px rgba(0,0,0,.16)}
.custom-form h3{font:600 2rem 'Playfair Display',serif;color:var(--teal);margin:0 0 25px}
.custom-form label{display:flex;flex-direction:column;gap:8px;font-size:.87rem;font-weight:700;margin-bottom:18px}
.custom-form input,.custom-form select,.custom-form textarea{border:1px solid #cdd7d4;border-radius:5px;padding:13px;background:#fbfdfc;color:var(--ink)}
.custom-form textarea{min-height:85px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.custom-form .button{width:100%}
.form-note{text-align:center;font-size:.78rem;color:#7b8585}
.steps{text-align:center;padding:100px 5vw}
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;max-width:1000px;margin:48px auto 0}
.step-grid article{padding:36px 25px;background:var(--cream);border-top:3px solid var(--coral)}
.step-grid b{font:600 2rem 'Playfair Display',serif;color:var(--coral)}
.step-grid h3{font:600 1.5rem 'Playfair Display',serif;color:var(--teal)}
.step-grid p{color:#697474;line-height:1.6}
.inside{padding:80px 7vw;background:#f3eee4;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw}
.inside h2{font-size:clamp(2.4rem,4vw,4rem);color:var(--teal)}
.pill-list{display:flex;gap:12px;flex-wrap:wrap}
.pill-list span{background:#fff;border:1px solid var(--sand);border-radius:999px;padding:12px 17px;color:var(--teal)}
footer{background:var(--deep);color:#c5d5d5;padding:50px 6vw;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:25px}
footer .brand{color:#fff}
.legal{font-size:.8rem}
dialog{border:0;border-radius:12px;width:min(92vw,500px);padding:38px;box-shadow:0 30px 100px rgba(0,0,0,.3)}
dialog::backdrop{background:rgba(5,31,35,.7)}
dialog h2{font:600 2.2rem 'Playfair Display',serif;color:var(--teal)}
.close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:2rem;cursor:pointer}
.total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0;font-size:1.3rem}
.paypal{width:100%;background:#ffc439;color:#173b73}
.secure{text-align:center;color:#788181;font-size:.78rem}
.toast{position:fixed;right:25px;bottom:25px;background:var(--deep);color:#fff;padding:15px 20px;border-radius:7px;opacity:0;transform:translateY(15px);transition:.25s;z-index:30}
.toast.show{opacity:1;transform:none}
@media(max-width:850px){.topbar nav{display:none}
.hero{grid-template-columns:1fr}
.hero-copy{grid-column:1;padding:70px 24px}
.hero-image{background-position:60% center}
.hero-image:after{background:rgba(8,43,49,.78)}
.products,.custom,.inside{grid-template-columns:1fr}
.product-card{grid-template-columns:1fr}
.cover{min-height:340px}
.step-grid{grid-template-columns:1fr}
.mini{flex-wrap:wrap;gap:10px 20px}
.form-row{grid-template-columns:1fr}
footer{grid-template-columns:1fr;text-align:center}
footer .brand{justify-content:center}
}
@media(max-width:520px){.topbar{height:70px}
.brand>span:last-child{display:none}
.hero{min-height:650px}
.hero h1{font-size:3rem}
.actions{flex-direction:column}
.product-info{padding:28px}
.custom-form{padding:26px}
.cart{font-size:.78rem}
}
