:root{
  --coral:#ff5e7e;
  --coral-dark:#e23e63;
  --gold:#ffc24b;
  --indigo:#1b1f5c;
  --indigo-soft:#272d77;
  --ink:#21243d;
  --white:#ffffff;
  --paper:#fff8f4;
  --maxw:1240px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Hind',system-ui,sans-serif;
  color:var(--ink);
  background:var(--white);
  font-size:18px;
  line-height:1.6;
  font-weight:400;
}
h1,h2,h3{font-family:'Abril Fatface',Georgia,serif;font-weight:400;line-height:1.02;margin:0;}
img{display:block;max-width:100%;}
a{color:inherit;}

.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* BUTTONS */
.btn{
  display:inline-block;
  padding:16px 32px;
  border-radius:999px;
  font-weight:600;
  font-size:1rem;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  letter-spacing:.2px;
}
.btn:hover{transform:translateY(-2px);}
.btn-coral{background:var(--coral);color:#fff;box-shadow:0 10px 28px rgba(255,94,126,.45);}
.btn-coral:hover{background:var(--coral-dark);}
.btn-gold{background:var(--gold);color:var(--indigo);box-shadow:0 10px 28px rgba(255,194,75,.5);}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:2px solid rgba(255,255,255,.7);backdrop-filter:blur(4px);}
.btn-ghost:hover{background:rgba(255,255,255,.26);}

/* HEADER */
.site-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;gap:24px;
  padding:14px clamp(18px,5vw,48px);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid #f1e4dc;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.brand-name{font-family:'Abril Fatface',serif;font-size:1.55rem;color:var(--indigo);}
.main-nav{display:flex;gap:26px;margin-left:auto;}
.main-nav a{text-decoration:none;font-weight:500;color:var(--ink);font-size:.98rem;position:relative;}
.main-nav a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--coral);transition:width .2s;}
.main-nav a:hover::after{width:100%;}
.lang-switcher select{
  font-family:'Hind',sans-serif;font-weight:600;font-size:.95rem;
  border:2px solid var(--indigo);color:var(--indigo);background:#fff;
  padding:7px 12px;border-radius:999px;cursor:pointer;
}

/* HERO */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden;}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,31,92,.15) 0%,rgba(27,31,92,.2) 40%,rgba(27,31,92,.78) 100%);}
.hero-content{position:relative;z-index:2;color:#fff;padding:clamp(40px,8vw,96px) clamp(18px,5vw,72px);max-width:980px;}
.hero-eyebrow{text-transform:uppercase;letter-spacing:3px;font-weight:600;font-size:.82rem;color:var(--gold);margin:0 0 14px;}
.hero-title{font-size:clamp(3rem,9vw,7rem);text-shadow:0 4px 30px rgba(0,0,0,.3);}
.hero-sub{font-size:clamp(1.05rem,2vw,1.4rem);max-width:640px;margin:20px 0 32px;color:#fbeef0;}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;}

/* SECTION TITLE */
.section-title{font-size:clamp(2.2rem,5vw,4rem);color:var(--indigo);}
.section-title.light{color:#fff;}

/* COLLAGE */
.collage{padding:clamp(64px,9vw,120px) clamp(18px,5vw,72px);max-width:var(--maxw);margin:0 auto;}
.collage-intro{max-width:620px;margin-bottom:48px;}
.collage-intro p{font-size:1.15rem;color:#56506a;}
.collage-grid{position:relative;display:grid;grid-template-columns:repeat(12,1fr);gap:18px;}
.collage-item{margin:0;position:relative;border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgba(27,31,92,.18);}
.collage-item img{width:100%;height:100%;object-fit:cover;}
.collage-item figcaption{position:absolute;left:16px;bottom:14px;color:#fff;font-weight:600;font-size:1.05rem;text-shadow:0 2px 12px rgba(0,0,0,.5);}
.ci-1{grid-column:1 / 6;grid-row:1 / 2;transform:rotate(-2.5deg);min-height:460px;z-index:2;}
.ci-2{grid-column:5 / 13;grid-row:1 / 2;transform:rotate(1.5deg);margin-top:70px;min-height:380px;}
.collage-item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(27,31,92,.45));}

/* CONTINENTS */
.continents{background:var(--indigo);padding:clamp(64px,9vw,110px) 0;overflow:hidden;}
.continents-head{max-width:var(--maxw);margin:0 auto 40px;padding:0 clamp(18px,5vw,72px);}
.continents-hint{color:#b9bce6;font-size:1.1rem;margin-top:12px;}
.continent-scroller{
  display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding:8px clamp(18px,5vw,72px) 30px;
  -webkit-overflow-scrolling:touch;
}
.continent-scroller::-webkit-scrollbar{height:8px;}
.continent-scroller::-webkit-scrollbar-thumb{background:var(--coral);border-radius:8px;}
.continent-scroller::-webkit-scrollbar-track{background:var(--indigo-soft);}
.continent-card{
  position:relative;flex:0 0 clamp(300px,40vw,460px);height:460px;border-radius:24px;overflow:hidden;
  scroll-snap-align:start;box-shadow:0 18px 44px rgba(0,0,0,.35);
}
.continent-card img{width:100%;height:100%;object-fit:cover;}
.continent-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,10,40,.88));}
.continent-label{position:absolute;left:22px;right:22px;bottom:22px;z-index:2;color:#fff;}
.continent-label h3{font-size:1.9rem;color:var(--gold);}
.continent-label p{margin:8px 0 0;font-size:.98rem;color:#eef0ff;}

/* INCLUDED */
.included{max-width:var(--maxw);margin:0 auto;padding:clamp(64px,9vw,120px) clamp(18px,5vw,72px);}
.included .section-title{margin-bottom:48px;max-width:760px;}
.included-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-radius:28px;overflow:hidden;box-shadow:0 26px 70px rgba(27,31,92,.2);}
.inc-block{padding:44px 32px 52px;color:#fff;min-height:340px;display:flex;flex-direction:column;}
.inc-block h3{font-size:1.7rem;margin:14px 0 12px;}
.inc-block p{font-size:1rem;opacity:.96;}
.inc-num{font-family:'Abril Fatface',serif;font-size:2.3rem;opacity:.55;}
.block-coral{background:var(--coral);}
.block-gold{background:var(--gold);color:var(--indigo);}
.block-gold .inc-num{opacity:.4;}
.block-indigo{background:var(--indigo);}
.block-coral-dark{background:var(--coral-dark);}

/* CLOSING */
.closing{position:relative;min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;}
.closing-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.closing-overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(226,62,99,.82),rgba(27,31,92,.8));}
.closing-content{position:relative;z-index:2;color:#fff;padding:clamp(48px,8vw,90px) clamp(18px,5vw,40px);max-width:820px;}
.closing-title{font-size:clamp(2.4rem,6vw,5rem);}
.closing-text{font-size:1.2rem;margin:18px 0 34px;color:#fff0f3;}

/* FOOTER */
.site-footer{background:var(--ink);color:#cfd0e4;padding:56px clamp(18px,5vw,72px);}
.footer-inner{max-width:var(--maxw);margin:0 auto;display:flex;flex-direction:column;gap:18px;}
.footer-entity{margin:0;line-height:1.7;}
.footer-entity strong{color:#fff;font-size:1.05rem;}
.footer-entity a{color:var(--gold);}
.footer-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.footer-links a{color:#cfd0e4;text-decoration:none;font-weight:500;}
.footer-links a:hover{color:var(--coral);}
.footer-copy{margin:0;font-size:.92rem;color:#8d8fae;}

/* LEGAL PAGES */
.legal-page{max-width:820px;margin:0 auto;padding:clamp(48px,7vw,96px) clamp(18px,5vw,32px);}
.legal-page h1{font-size:clamp(2.4rem,6vw,4rem);color:var(--indigo);margin-bottom:8px;}
.legal-page h2{font-family:'Hind',sans-serif;font-weight:700;font-size:1.3rem;color:var(--coral-dark);margin:36px 0 8px;}
.legal-page p{color:#4a4660;margin:0 0 16px;}
.legal-page .updated{color:#9a93ac;font-size:.95rem;margin-bottom:32px;}
.legal-page a.back{display:inline-block;margin-top:8px;color:var(--coral);font-weight:600;text-decoration:none;}
.legal-page a.back:hover{text-decoration:underline;}

/* RESPONSIVE */
@media(max-width:900px){
  .main-nav{display:none;}
  .included-row{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:680px){
  .collage-grid{display:flex;flex-direction:column;}
  .collage-item{transform:none !important;margin:0 !important;height:300px;}
  .included-row{grid-template-columns:1fr;}
  .inc-block{min-height:auto;}
  .continent-card{flex-basis:260px;height:380px;}
}
