@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root { --ink: #102e4c; --navy: #082b51; --blue: #0e4d83; --gold: #d99b22; --gold-soft: #f4c65a; --paper: #f7f7f3; --muted: #5c6d7b; --line: #d9e0e3; --green: #176552; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: 'DM Sans', sans-serif; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.shell { width: min(1160px, calc(100% - 48px)); margin: 0 auto; }
.topbar { color: #dce8f2; background: var(--navy); font-size: .74rem; letter-spacing: .04em; }
.topbar-inner { display: flex; justify-content: space-between; padding: 9px 0; }
.nav-wrap { display: flex; align-items: center; justify-content: space-between; min-height: 82px; }
.site-header { position: relative; z-index: 5; background: rgba(247,247,243,.97); border-bottom: 1px solid var(--line); }
.brand { display: flex; align-items: center; gap: 11px; max-width: 430px; }
.brand-mark { display: grid; place-items: center; flex: 0 0 54px; height: 54px; overflow: hidden; border: 2px solid var(--gold); border-radius: 50%; background: white; }
.brand-mark img { width: 100%; height: 100%; object-fit: cover; }
.brand strong { display: block; color: var(--navy); font: 800 1.25rem Manrope, sans-serif; letter-spacing: .04em; }
.brand small { display: block; color: var(--muted); font-size: .62rem; line-height: 1.2; }
.main-nav { display: flex; align-items: center; gap: 27px; color: var(--muted); font-size: .88rem; font-weight: 600; }
.main-nav a:hover { color: var(--blue); }
.nav-cta { padding: 11px 17px; color: white !important; background: var(--blue); border-radius: 3px; }
.menu-toggle { display: none; border: 0; background: none; color: var(--navy); font-size: 1.6rem; }
.hero { position: relative; min-height: 670px; overflow: hidden; color: white; background: var(--navy); }
.hero-image { position: absolute; inset: 0; opacity: .36; }
.hero-image:after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,29,55,.98) 0%, rgba(5,29,55,.82) 40%, rgba(5,29,55,.1) 100%); content: ''; }
.hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-content { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: 670px; padding: 70px 0; }
.eyebrow, .section-label, .card-kicker, .panel-tag { color: var(--gold-soft); text-transform: uppercase; font-size: .72rem; font-weight: 700; letter-spacing: .15em; }
h1, h2, h3 { margin: 0; font-family: Manrope, sans-serif; line-height: 1.1; letter-spacing: -.035em; }
h1 { max-width: 730px; font-size: clamp(3.4rem, 7vw, 6.3rem); }
h1 em { color: var(--gold-soft); font-style: normal; }
.hero-text { max-width: 540px; margin: 28px 0; color: #dce8f2; font-size: 1.17rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 48px; padding: 13px 19px; border: 0; border-radius: 3px; cursor: pointer; font: 700 .82rem 'DM Sans', sans-serif; }
.button-gold { color: #162d46; background: var(--gold-soft); }.button-gold:hover { background: white; }.button-quiet { color: white; border: 1px solid rgba(255,255,255,.45); }.button-quiet:hover { background: rgba(255,255,255,.12); }.button-dark { color: white; background: var(--navy); }
.hero-facts { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 78px; padding-top: 19px; border-top: 1px solid rgba(255,255,255,.28); color: #cfdae4; font-size: .73rem; }.hero-facts b { display: block; color: var(--gold-soft); font-size: .64rem; letter-spacing: .14em; }
.section { padding: 108px 0; }.intro-grid, .training-grid, .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; }.intro-grid { margin-top: 32px; }.section h2 { font-size: clamp(2.15rem, 4vw, 3.8rem); }.lead { color: #364f66; font-size: 1.13rem; }.intro-grid p + p { color: var(--muted); }.axis-badge { display: inline-block; margin-bottom: 18px; padding: 7px 11px; color: var(--blue); background: #e6eef3; text-transform: uppercase; font-size: .68rem; font-weight: 800; letter-spacing: .12em; }.axis-badge-dark { color: var(--gold-soft); background: var(--navy); }.text-link, .activity-card a { display: inline-flex; gap: 12px; margin-top: 20px; color: var(--blue); font-weight: 700; }.heading-row { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin: 22px 0 38px; }.heading-row h2 { max-width: 640px; }.heading-row p { max-width: 330px; margin: 0; color: var(--muted); font-size: .93rem; }
.activities { color: white; background: var(--navy); }.activities .section-label { color: var(--gold-soft); }.activities .heading-row p { color: #b8c9d7; }.activity-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 13px; }.activity-card { position: relative; min-height: 360px; grid-column: span 2; padding: 30px 25px; overflow: hidden; background: #0d416d; border-top: 4px solid var(--gold); }.activity-card:nth-child(4), .activity-card:nth-child(5) { grid-column: span 3; min-height: 285px; }.activity-card:after { position: absolute; right: -25px; bottom: -56px; width: 170px; height: 170px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; content: ''; }.activity-card h3 { max-width: 245px; margin: 25px 0 15px; font-size: 1.55rem; }.activity-card p:not(.card-kicker) { max-width: 330px; color: #d4e0e8; font-size: .91rem; }.activity-card a { position: absolute; bottom: 25px; color: var(--gold-soft); font-size: .8rem; }.card-number { color: var(--gold-soft); font: 800 2.3rem Manrope, sans-serif; }.activity-hotel { background: #176552; }.activity-skills { background: #855c20; }.activity-services { background: #174c78; }.activity-property { background: #496858; }
.training { background: #ebece8; }.training-intro { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 80px; margin: 22px 0 48px; }.training-intro .lead { margin: 0; }.training-grid { align-items: start; }.training-offer { display: grid; grid-template-columns: 48px 1fr; gap: 17px; padding: 22px 0; border-top: 1px solid #cbd1cf; }.offer-number { color: var(--gold); font: 800 1.3rem Manrope, sans-serif; }.training-offer h3 { margin-bottom: 7px; font-size: 1.18rem; }.training-offer p { max-width: 510px; margin: 0; color: var(--muted); font-size: .91rem; }.duration-list { margin-top: 32px; border-top: 1px solid #cbd1cf; }.duration-list div { display: flex; align-items: baseline; gap: 20px; padding: 14px 0; border-bottom: 1px solid #cbd1cf; }.duration-list strong { min-width: 125px; color: var(--blue); font: 800 1.15rem Manrope, sans-serif; }.duration-list span { color: var(--muted); font-size: .9rem; }.training-panel { padding: 42px; color: white; background: var(--green); }.training-panel .panel-tag { color: #d8e9ad; }.training-panel h3 { margin: 18px 0; font-size: 2rem; }.training-panel ul, .training-panel ol { margin: 0 0 18px; padding-left: 20px; }.training-panel li { padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.22); }.training-panel li::marker { color: var(--gold-soft); font-weight: 700; }.training-panel p { color: #dbe9df; font-size: .88rem; }.training-panel .button { margin-top: 15px; }
.proof { padding: 74px 0; color: white; background: var(--gold); }.proof-grid { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 70px; }.proof .section-label { color: var(--navy); }.proof h2 { color: var(--navy); font-size: 2.3rem; }.proof-items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }.proof-items div { display: flex; gap: 13px; align-items: start; }.proof-items strong { color: var(--navy); font: 800 1.25rem Manrope, sans-serif; }.proof-items span { font-size: .76rem; }.proof-items b { color: var(--navy); font-size: .85rem; }
.gallery .heading-row { margin-bottom: 30px; }.gallery-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; grid-template-rows: 210px 210px; gap: 13px; }.gallery-grid figure { position: relative; margin: 0; overflow: hidden; background: var(--navy); }.gallery-grid .gallery-main { grid-row: span 2; }.gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }.brochure-card { cursor: zoom-in; }.brochure-card:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }.gallery-grid figure:hover img { transform: scale(1.04); }.gallery-grid figcaption { position: absolute; right: 0; bottom: 0; left: 0; display: flex; align-items: end; justify-content: space-between; gap: 12px; padding: 15px; color: white; background: linear-gradient(transparent, rgba(0,0,0,.78)); font-weight: 700; }.gallery-grid figcaption span { color: var(--gold-soft); font-size: .72rem; white-space: nowrap; }
.modal-open { overflow: hidden; }.brochure-modal { position: fixed; inset: 0; z-index: 20; display: none; align-items: center; justify-content: center; padding: 24px; }.brochure-modal.is-open { display: flex; }.modal-backdrop { position: absolute; inset: 0; background: rgba(3,18,35,.84); backdrop-filter: blur(5px); }.modal-content { position: relative; display: flex; flex-direction: column; width: min(920px, 100%); max-height: calc(100vh - 48px); padding: 20px; overflow: hidden; background: var(--paper); box-shadow: 0 22px 70px rgba(0,0,0,.35); }.modal-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 0 15px; }.modal-header h2 { font-size: 1.3rem; }.modal-close { width: 36px; height: 36px; border: 1px solid var(--line); color: var(--navy); background: white; cursor: pointer; font-size: 1.5rem; line-height: 1; }.modal-image-wrap { display: grid; place-items: center; min-height: 180px; overflow: auto; background: #e8eceb; }.modal-image-wrap img { width: auto; max-width: 100%; max-height: 66vh; object-fit: contain; }.modal-actions { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 15px; }.modal-actions .button { min-height: 43px; }
.contact { color: white; background: var(--blue); }.contact .lead { color: #d9e7f0; }.contact .section-label { color: var(--gold-soft); }.contact h2 { font-size: clamp(2.5rem, 5vw, 4.3rem); }.contact-details { margin-top: 40px; }.contact-details a, .contact-details p { display: flex; align-items: center; gap: 15px; margin: 17px 0; font-size: .9rem; }.contact-details span { display: grid; place-items: center; width: 36px; height: 36px; color: var(--navy); background: var(--gold-soft); border-radius: 50%; font-size: 1.1rem; }.contact form { padding: 34px; color: var(--ink); background: white; }.form-heading { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 22px; border-bottom: 1px solid var(--line); font-weight: 700; }.form-heading small { color: var(--muted); font-size: .7rem; font-weight: 400; }.contact label { display: block; margin-top: 18px; color: var(--muted); font-size: .76rem; font-weight: 700; }.contact input, .contact select, .contact textarea { display: block; width: 100%; margin-top: 5px; padding: 11px 12px; color: var(--ink); background: #f5f7f6; border: 1px solid var(--line); border-radius: 2px; font: inherit; }.contact input:focus, .contact select:focus, .contact textarea:focus { outline: 2px solid var(--gold); border-color: transparent; }.contact form .button { margin-top: 20px; }.form-status { margin: 14px 0 0; color: var(--green); font-size: .8rem; }.has-errors input:invalid, .has-errors textarea:invalid { border-color: #bb3d32; }
footer { padding: 36px 0; color: #c9d8e4; background: #061f3c; }.footer-inner { display: flex; align-items: end; justify-content: space-between; gap: 30px; }.brand-footer strong { color: white; }.brand-footer small { color: #aebfd0; }.footer-inner p { max-width: 300px; margin: 17px 0 0; font-size: .78rem; }.footer-meta { display: flex; flex-direction: column; align-items: end; gap: 5px; font-size: .7rem; }
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s ease; }.reveal.is-visible { opacity: 1; transform: none; }
.training { padding-inline: 24px; }
@media (max-width: 800px) { .shell { width: min(100% - 32px, 600px); }.topbar-inner { display: none; }.nav-wrap { min-height: 72px; }.brand small { max-width: 210px; }.menu-toggle { display: block; }.main-nav { position: absolute; top: 71px; right: 16px; left: 16px; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px; background: white; box-shadow: 0 14px 35px rgba(8,43,81,.14); }.main-nav.is-open { display: flex; }.main-nav a { padding: 12px; }.hero, .hero-content { min-height: 650px; }.hero-content { padding-top: 60px; }.hero-image:after { background: linear-gradient(90deg, rgba(5,29,55,.97), rgba(5,29,55,.45)); }.hero-facts { margin-top: 45px; gap: 14px; }.section { padding: 72px 0; }.intro-grid, .training-grid, .contact-grid, .proof-grid, .training-intro { grid-template-columns: 1fr; gap: 35px; }.heading-row { display: block; }.heading-row p { margin-top: 18px; }.activity-grid { display: block; }.activity-card, .activity-card:nth-child(4), .activity-card:nth-child(5) { min-height: 320px; margin-bottom: 13px; }.proof-items { gap: 14px; }.gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 240px 170px 170px; }.gallery-grid .gallery-main { grid-column: span 2; grid-row: auto; }.gallery-grid figcaption { display: block; }.gallery-grid figcaption span { display: block; margin-top: 3px; }.footer-inner { display: block; }.footer-meta { align-items: start; margin-top: 25px; }.form-heading { display: block; }.form-heading small { display: block; margin-top: 4px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.reveal { opacity: 1; transform: none; transition: none; }.gallery-grid img { transition: none; } }
