/* Version 6 — compositions built around the supplied Figma artwork. */
@font-face { font-family:Manrope; src:url('../assets/fonts/manrope-medium.otf'); font-weight:500; font-display:swap; }
@font-face { font-family:Manrope; src:url('../assets/fonts/manrope-semibold.otf'); font-weight:600; font-display:swap; }
@font-face { font-family:Poppins; src:url('../assets/fonts/Poppins-Regular.ttf'); font-weight:400; font-display:swap; }
:root { --editorial-paper:#f4f7f6; }
.hero { gap:35px; padding-block:65px; }
.hero h1 { font-size:clamp(42px,4.6vw,68px); line-height:1.12; letter-spacing:-.055em; }
.hero .lead { max-width:470px; font-size:16px; line-height:1.85; margin-top:32px; }
.hero .actions { gap:24px; flex-wrap:wrap; }
.hero-scene { background:radial-gradient(ellipse at 50% 70%,#e4eee9,transparent 68%); }
.hero-scene .graduate { filter:drop-shadow(14px 20px 14px #142e3814); }
.hero .scene-caption { letter-spacing:.2em; }
.hero-proof { margin-top:32px; }
.button,.button.gold { border-radius:7px; box-shadow:0 2px 0 #006d4d,0 10px 24px #00a07115; }
.button:hover,.button.gold:hover { background:var(--green); color:var(--action-ink)!important; box-shadow:0 4px 0 #006d4d,0 16px 30px #00a07120; }
.button.outline { box-shadow:none; }
.button.outline:hover { background:#e5f6ef; color:#005e43!important; box-shadow:none; }
.destination-card { padding:26px 24px 28px; border:1px solid #dfe8e3; background:linear-gradient(145deg,#f5f8f7,#fff 65%); border-radius:16px; }
.destination-photo { height:auto; aspect-ratio:3.3; overflow:visible; background:transparent; border-radius:0; margin-block:18px 32px; transform:translateZ(22px); }
.destination-photo img { display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 14px 10px #102f4014); }
.destination-card .card-meta { margin-inline:0; border-top:1px solid #dde6e0; padding-top:18px; }
.destination-card h3,.destination-card p { margin-inline:0; }
.destination-card .card-meta span:last-child { color:var(--green); }
.destination-card:hover img { transform:translateY(-5px); }
.destination-intro { position:relative; padding-right:47%; min-height:440px; display:flex; flex-direction:column; justify-content:center; }
.destination-intro h1 { font-size:clamp(36px,4vw,58px); }
.destination-map { position:absolute; right:0; top:65px; width:43%; transform:perspective(900px) rotateY(-8deg) rotateX(9deg); border-radius:22px; overflow:hidden; box-shadow:20px 25px 50px #122e3a16; }
.destination-map img { display:block; width:100%; height:auto; }
.destination-map span { display:block; padding:15px 20px; background:#fff; font-size:9px; letter-spacing:.16em; color:#006b4d; }
/* Portrait art stays portrait. Text remains on a quiet, readable surface. */
.country-hero { display:block; padding:75px max(5vw,calc((100vw - 1220px)/2)) 55px; min-height:640px; color:var(--ink); background:linear-gradient(120deg,#f7faf9,#e9f1ed); isolation:isolate; }
.country-hero::after { display:none; }
.country-hero > .shell { width:53%; margin:0; position:relative; z-index:2; }
.country-hero .back-link { color:#526679; }
.country-hero .eyebrow { margin-top:44px; color:#007452; }
.country-hero h1 { font-size:clamp(36px,4vw,58px); line-height:1.14; }
.country-hero p:not(.eyebrow) { color:#566b75; }
.country-art { position:absolute; right:8%; top:48px; height:540px; width:31%; perspective:1000px; }
.country-art > img { position:absolute; height:90%; width:80%; right:0; top:0; object-fit:cover; border:8px solid white; border-radius:150px 150px 24px 24px; transform:rotate(5deg) rotateY(-8deg); box-shadow:25px 30px 60px #152e3a25; }
.country-art-orbit { position:absolute; width:120%; height:60%; border:1px solid #00a07155; border-radius:50%; top:24%; left:-12%; transform:rotate(-30deg); }
.country-art-caption { position:absolute; left:-20px; bottom:25px; padding:22px 28px; background:#fff; box-shadow:0 10px 35px #14273e10; border-left:3px solid var(--green); font-size:10px; letter-spacing:.15em; transform:rotate(-4deg); }
.country-montage { margin-top:34px; width:min(330px,95%); }
.country-montage img { width:100%; height:auto; display:block; filter:drop-shadow(0 10px 12px #122e3a15); }
.country-facts { background:#fff; }
.country-sidebar { border-top:3px solid var(--green); }
.footer-top { padding-top:24px; }
.footer-top img { margin-bottom:18px; }
.footer-top h2 { margin-top:24px; }
/* Real supplied aircraft and destination art establish the transition's visual story. */
.flight-stage { height:300px; margin-top:22px; }
.flight-image { position:absolute; z-index:1; width:27%; height:135px; overflow:hidden; border:5px solid #fff; border-radius:12px; box-shadow:0 20px 40px #0005; }
.flight-image img { width:100%; height:100%; object-fit:cover; }
.departure-image { left:0; top:40px; transform:perspective(700px) rotateY(15deg) rotate(-8deg); }
.departure-image img { object-position:center 65%; }
.arrival-image { right:0; top:15px; width:38%; height:115px; background:#f4f7f6; transform:perspective(700px) rotateY(-15deg) rotate(6deg); }
.arrival-image img { object-fit:contain; padding:8px; }
.flight-route,.flight-plane { z-index:2; }
.flight-world { left:27%; width:46%; opacity:.65; }
.flight-endpoints { margin-top:10px; }
@media(prefers-reduced-motion:no-preference) and (hover:hover) {
 body:not(.motion-paused) .country-art > img { animation:art-arrival 1s cubic-bezier(.2,.7,.2,1) both; }
 @keyframes art-arrival { from { opacity:0; transform:translateY(30px) rotate(10deg) rotateY(-15deg); } to { opacity:1; transform:rotate(5deg) rotateY(-8deg); } }
}
@media(max-width:1000px) {
 .hero { gap:15px; } .country-art { right:5%; width:35%; } .country-hero { padding-inline:5%; }
 .country-hero h1 { font-size:44px; } .destination-card { padding:18px; }
}
@media(max-width:800px) {
 .hero { padding-block:40px; } .hero h1 { font-size:52px; } .hero .lead { font-size:15px; }
 .destination-intro { padding-right:0; padding-bottom:30px; } .destination-map { position:relative; top:auto; right:auto; width:100%; max-width:480px; margin-top:30px; transform:none; }
 .country-hero { padding:35px 6% 40px; min-height:0; display:flex; flex-direction:column; }
 .country-hero > .shell { width:100%; order:0; } .country-hero h1 { font-size:42px; max-width:550px; }
 .country-art { position:relative; inset:auto; width:80%; max-width:350px; height:380px; margin:35px auto 0; order:1; }
 .country-art > img { width:82%; } .country-art-caption { left:-5px; bottom:0; padding:16px 20px; }
 .country-montage { width:280px; } .country-hero .eyebrow { margin-top:30px; }
}
@media(max-width:480px) {
 .hero h1 { font-size:43px; } .hero .lead { margin-top:24px; } .hero .actions { gap:20px; }
 .hero .button { font-size:12px; padding:16px 20px; } .hero-scene { margin-top:15px; }
 .destination-card { padding:22px; } .destination-photo { margin:14px 0 26px; }
 .country-hero h1 { font-size:38px; } .country-art { height:340px; width:85%; }
 .flight-image { height:100px; width:36%; border-width:3px; } .arrival-image { width:44%; height:85px; top:35px; }
 .flight-stage { height:230px; } .flight-inner h2 { font-size:30px; }
}
