/* ===== VARIABLES ===== */
:root {
  --black: #0A0A08;
  --off-black: #141410;
  --charcoal: #2A2A24;
  --gray-dark: #3E3E38;
  --gray: #6A6A62;
  --gray-light: #A5A59C;
  --sand: #E8E3D8;
  --sand-light: #F2EEE6;
  --cream: #F8F6F1;
  --white: #FDFCFA;
  --accent: #A87155;
  --accent-hover: #BA8268;
  --moss: #3B4A3A;
  --moss-light: #455645;
  --moss-pale: #4E6148;
}

/* ===== RESET ===== */
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
  font-family: 'Manrope', sans-serif;
  font-weight: 300;
  color: var(--black);
  background: var(--white);
  line-height: 1.7;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* ===== NAV ===== */
.nav { position:fixed; top:0; left:0; right:0; z-index:1000; display:flex; align-items:center; justify-content:space-between; padding:1.25rem 3rem; transition:all 0.4s cubic-bezier(0.4,0,0.2,1); }
.nav.on-hero .nav-logo-img { filter:brightness(0) invert(1); }
.nav.on-hero .nav-links a { color:rgba(255,255,255,0.85); }
.nav.on-hero .nav-links a:hover { color:#fff; }
.nav.on-hero .nav-toggle span { background:#fff; }
.nav.on-hero .nav-cta { background:#3b4a3a; color:#fff; }
.nav.on-hero .lang-switch { color:rgba(255,255,255,0.6); }
.nav.on-hero .lang-option.active { color:#fff; }

.nav.scrolled { background:rgba(253,252,250,0.97); backdrop-filter:blur(24px); padding:0.85rem 3rem; box-shadow:0 1px 0 rgba(0,0,0,0.05); }
.nav.scrolled .nav-logo-img { filter:none; }
.nav.scrolled .nav-links a { color:var(--gray-dark); }
.nav.scrolled .nav-links a:hover { color:var(--black); }
.nav.scrolled .nav-toggle span { background:var(--black); }
.nav.scrolled .nav-cta { background:#3b4a3a; color:#fff; }
.nav.scrolled .nav-cta:hover { background:#455645; }
.nav.scrolled .lang-switch { color:var(--gray); }
.nav.scrolled .lang-option.active { color:var(--black); }

.nav-logo-img { height:26px; width:auto; display:block; transition:filter 0.4s; z-index:1001; position:relative; }

.nav-links { display:flex; align-items:center; gap:2.25rem; }
.nav-links a { font-weight:700; font-size:0.88rem; text-decoration:none; transition:color 0.3s; letter-spacing:-0.01em; }
.nav-links a.active { color:var(--accent) !important; }

.nav-right { display:flex; align-items:center; gap:1.5rem; z-index:1001; }
.lang-switch { display:flex; align-items:center; gap:0.35rem; font-size:0.78rem; }
.lang-option { cursor:pointer; padding:0.15rem 0.3rem; transition:color 0.2s; font-weight:500; letter-spacing:0.04em; text-decoration:none; color:inherit; }
.lang-divider { opacity:0.4; }
.flag-icon { width:18px; height:13px; border-radius:2px; overflow:hidden; display:flex; flex-direction:column; }
.flag-icon div { flex:1; }
.fl-r { background:#AE1C28; } .fl-w { background:#FFF; } .fl-b { background:#21468B; }
.flag-gb { background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Crect width='60' height='30' fill='%23012169'/%3E%3Cpath d='M0,0 L60,30 M60,0 L0,30' stroke='%23fff' stroke-width='6'/%3E%3Cpath d='M0,0 L60,30 M60,0 L0,30' stroke='%23C8102E' stroke-width='2'/%3E%3Cpath d='M30,0 V30 M0,15 H60' stroke='%23fff' stroke-width='10'/%3E%3Cpath d='M30,0 V30 M0,15 H60' stroke='%23C8102E' stroke-width='6'/%3E%3C/svg%3E") center/cover no-repeat; }

.nav-cta { font-weight:500; font-size:0.82rem; letter-spacing:0.02em; padding:0.6rem 1.5rem; text-decoration:none; transition:all 0.3s; border-radius:0; }
.nav-cta:hover { opacity:0.85; }

.nav-toggle { display:none; background:none; border:none; cursor:pointer; width:26px; height:18px; position:relative; z-index:1001; }
.nav-toggle span { display:block; width:100%; height:1.5px; position:absolute; left:0; transition:all 0.3s; background:var(--black); }
.nav-toggle span:nth-child(1){top:0} .nav-toggle span:nth-child(2){top:50%;transform:translateY(-50%)} .nav-toggle span:nth-child(3){bottom:0}
.nav-toggle.open span:nth-child(1){top:50%;transform:translateY(-50%) rotate(45deg)} .nav-toggle.open span:nth-child(2){opacity:0} .nav-toggle.open span:nth-child(3){bottom:50%;transform:translateY(50%) rotate(-45deg)}

.mobile-menu { display:none; position:fixed; inset:0; background:var(--white); z-index:999; flex-direction:column; align-items:center; justify-content:center; gap:2rem; }
.mobile-menu.open { display:flex; }
.mobile-menu a { font-size:1.5rem; font-weight:400; color:var(--black); text-decoration:none; }

/* ===== HERO (Default: Dark BG, centered) ===== */
.hero { position:relative; min-height:55vh; display:flex; align-items:flex-end; justify-content:center; overflow:hidden; background:var(--black); }
.hero-bg { position:absolute; inset:0; }
.hero-bg img { width:100%; height:100%; object-fit:cover; object-position:center 30%; opacity:0; animation:heroFade 1.4s ease forwards 0.2s; }
.hero-bg::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(10,10,8,0.85) 0%, rgba(10,10,8,0.35) 40%, rgba(10,10,8,0.1) 65%, rgba(10,10,8,0.25) 100%); z-index:1; }
.hero-content { position:relative; z-index:2; text-align:center; padding:0 2rem 4.5rem; opacity:0; animation:slideUp 0.8s ease forwards 0.4s; }
.hero-label { font-weight:600; font-size:0.78rem; letter-spacing:0.18em; text-transform:uppercase; color:rgba(255,255,255,0.6); margin-bottom:1rem; }
.hero h1 { font-weight:700; font-size:clamp(2.4rem,4.5vw,3.6rem); line-height:1.1; color:#fff; letter-spacing:-0.03em; margin-bottom:0.75rem; }
.hero-sub { font-weight:300; font-size:1.1rem; color:rgba(255,255,255,0.65); max-width:500px; margin:0 auto; line-height:1.75; }

/* ===== ANIMATIONS ===== */
@keyframes heroFade { from{opacity:0;transform:scale(1.04)} to{opacity:1;transform:scale(1)} }
@keyframes slideUp { from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }

/* ===== BREADCRUMBS ===== */
.breadcrumbs { padding:0.75rem 4rem 0; background:var(--white); }
.breadcrumbs ol { list-style:none; display:flex; align-items:center; gap:0.4rem; max-width:1100px; margin:0 auto; font-family:'Manrope',sans-serif; font-size:0.7rem; font-weight:400; color:var(--gray-light); }
.breadcrumbs a { color:var(--gray-light); text-decoration:none; transition:color 0.2s; }
.breadcrumbs a:hover { color:var(--accent); }
.breadcrumbs .sep { color:var(--gray-light); font-size:0.6rem; }
.breadcrumbs .current { color:var(--gray); }
.breadcrumbs + section { padding-top:3.25rem; }
.breadcrumbs-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }

/* ===== UTILITIES ===== */
.section-pad { padding:6.5rem 4rem; }
.container { max-width:1100px; margin:0 auto; }
.label { font-weight:600; font-size:0.78rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--accent); margin-bottom:1.25rem; }

/* ===== INLINE TEXT LINKS ===== */
p a, .lead a { color:var(--accent); text-decoration:underline; text-underline-offset:2px; transition:color 0.2s; }
p a:hover, .lead a:hover { color:var(--accent-hover); }

/* ===== BUTTONS ===== */
.btn-primary { display:inline-flex; align-items:center; gap:0.75rem; font-family:'Manrope',sans-serif; font-weight:500; font-size:0.88rem; letter-spacing:0.02em; color:var(--black); background:#fff; padding:0.95rem 2rem; text-decoration:none; transition:all 0.35s; }
.btn-primary:hover { background:var(--accent); color:#fff; transform:translateY(-2px); box-shadow:0 10px 30px rgba(0,0,0,0.3); }
.btn-primary svg { width:14px; height:14px; transition:transform 0.3s; }
.btn-primary:hover svg { transform:translateX(4px); }

.btn-dark { display:inline-flex; align-items:center; gap:0.75rem; font-family:'Manrope',sans-serif; font-weight:500; font-size:0.88rem; letter-spacing:0.02em; color:#fff; background:var(--accent); padding:0.95rem 2rem; text-decoration:none; transition:all 0.35s; }
.btn-dark:hover { background:var(--accent-hover); transform:translateY(-2px); box-shadow:0 10px 30px rgba(168,113,85,0.25); }
.btn-dark svg { width:14px; height:14px; transition:transform 0.3s; }
.btn-dark:hover svg { transform:translateX(4px); }

.btn-accent { display:inline-flex; align-items:center; gap:0.75rem; font-family:'Manrope',sans-serif; font-weight:500; font-size:0.88rem; letter-spacing:0.02em; color:#fff; background:var(--accent); padding:1rem 2.2rem; text-decoration:none; transition:all 0.35s; position:relative; z-index:1; }
.btn-accent:hover { background:var(--accent-hover); transform:translateY(-2px); box-shadow:0 12px 35px rgba(168,113,85,0.3); }
.btn-accent svg { width:14px; height:14px; transition:transform 0.3s; }
.btn-accent:hover svg { transform:translateX(4px); }

/* ===== CTA FINAL ===== */
.cta-final { background:var(--moss); text-align:center; padding:6.5rem 4rem; position:relative; overflow:hidden; }
.cta-final::before { content:''; position:absolute; inset:0;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 500'%3E%3Crect fill='%233B4A3A' width='1440' height='500'/%3E%3Cpath d='M0 380Q120 300 240 340Q360 240 480 300Q600 220 720 280Q840 200 960 260Q1080 210 1200 270Q1320 230 1440 280L1440 500L0 500Z' fill='%23324232' opacity='0.8'/%3E%3Cpath d='M0 410Q160 340 320 380Q480 300 640 350Q800 280 960 320Q1120 270 1280 310Q1380 290 1440 320L1440 500L0 500Z' fill='%232B3A2B' opacity='0.9'/%3E%3Cpath d='M0 440Q200 390 400 420Q600 370 800 400Q1000 360 1200 390Q1350 375 1440 400L1440 500L0 500Z' fill='%23243424' opacity='0.85'/%3E%3Cpath d='M50 400L65 340L72 360L85 310L92 350L105 400Z' fill='%23203020' opacity='0.6'/%3E%3Cpath d='M190 390L210 310L218 340L235 280L242 330L260 390Z' fill='%23203020' opacity='0.5'/%3E%3Cpath d='M370 400L385 330L392 355L405 300L412 345L425 400Z' fill='%23203020' opacity='0.55'/%3E%3Cpath d='M530 385L550 300L558 330L575 270L582 320L600 385Z' fill='%23203020' opacity='0.5'/%3E%3Cpath d='M710 395L725 330L732 355L745 295L752 345L765 395Z' fill='%23203020' opacity='0.45'/%3E%3Cpath d='M890 385L910 300L918 330L935 270L942 325L960 385Z' fill='%23203020' opacity='0.5'/%3E%3Cpath d='M1060 400L1075 335L1082 358L1095 305L1102 350L1115 400Z' fill='%23203020' opacity='0.5'/%3E%3Cpath d='M1230 390L1250 310L1258 340L1275 280L1282 330L1300 390Z' fill='%23203020' opacity='0.55'/%3E%3Cpath d='M1380 400L1392 345L1398 365L1408 320L1414 358L1425 400Z' fill='%23203020' opacity='0.45'/%3E%3Crect y='0' width='1440' height='250' fill='%233B4A3A' opacity='0.4'/%3E%3C/svg%3E") center bottom / cover no-repeat;
  pointer-events:none; z-index:0; }
.cta-final h2 { font-weight:600; font-size:clamp(2.2rem,3.8vw,3rem); line-height:1.2; color:#fff; margin-bottom:1.25rem; position:relative; letter-spacing:-0.02em; z-index:1; }
.cta-final h2 em { font-style:normal; color:var(--accent); }
.cta-final p { font-size:1.05rem; color:rgba(255,255,255,0.65); max-width:500px; margin:0 auto 2.5rem; line-height:1.8; position:relative; z-index:1; }

/* ===== FAQ MINI ===== */
.faq-mini { background:var(--sand-light); padding:2.5rem 4rem; text-align:center; }
.faq-mini p { font-size:1rem; color:var(--gray-dark); font-weight:400; display:inline; }
.faq-mini a { color:var(--accent); font-weight:500; text-decoration:none; border-bottom:1px solid var(--accent); transition:opacity 0.3s; }
.faq-mini a:hover { opacity:0.7; }

/* ===== FOOTER ===== */
.footer { background:var(--black); padding:3.5rem 4rem 1.5rem; color:var(--gray); }
.footer-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:3rem; padding-bottom:2.5rem; border-bottom:1px solid var(--charcoal); }
.footer-cert { display:none; }
.footer-brand .f-logo-img { height:20px; width:auto; filter:brightness(0) invert(1); display:block; }
.footer-col h4 { font-weight:600; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gray-light); margin-bottom:1rem; }
.footer-col a { display:block; font-size:0.88rem; color:var(--gray); text-decoration:none; margin-bottom:0.6rem; transition:color 0.3s; }
.footer-col a:hover { color:#fff; }

.footer-logos { display:flex; align-items:center; gap:1.5rem; opacity:0.4; transition:opacity 0.3s; }
.footer-logos:hover { opacity:0.6; }
.footer-logos img { height:28px; width:auto; filter:brightness(0) invert(1); }

.footer-bottom { max-width:1100px; margin:0 auto; padding-top:1.25rem; display:flex; justify-content:space-between; font-size:0.75rem; color:var(--gray); }
.footer-bottom a { color:var(--gray); text-decoration:none; transition:color 0.3s; }
.footer-bottom a:hover { color:#fff; }

/* ===== REVEAL ===== */
.reveal { opacity:0; transform:translateY(30px); transition:opacity 0.7s,transform 0.7s; }
.reveal.vis { opacity:1; transform:translateY(0); }
.reveal-s { opacity:0; transform:translateY(22px); transition:opacity 0.6s,transform 0.6s; }
.reveal-s.vis { opacity:1; transform:translateY(0); }

/* ===== RESPONSIVE ===== */
@media (max-width:1024px) {
  .section-pad { padding:5rem 3rem; }
}
@media (max-width:860px) {
  .breadcrumbs { padding:0.75rem 1.5rem 0; }
  .nav-links { display:none; }
  .nav-toggle { display:block; order:2; }
  .nav { padding:1.1rem 1.5rem; }
  .nav.scrolled { padding:0.85rem 1.5rem; }
  .nav .lang-switch { display:none; }
  .nav-right { order:3; }
  .mobile-menu .mobile-lang-switch { display:flex; align-items:center; justify-content:center; gap:0.35rem; font-size:1rem; margin-top:1rem; }
  .mobile-menu .mobile-lang-switch .lang-option { padding:0.15rem 0.3rem; font-weight:500; letter-spacing:0.04em; text-decoration:none; color:var(--gray); cursor:pointer; }
  .mobile-menu .mobile-lang-switch .lang-option.active { color:var(--black); }
  .mobile-menu .mobile-lang-switch .lang-divider { opacity:0.4; color:var(--gray); }
  .section-pad { padding:4rem 1.5rem; }
  .cta-final { padding:5rem 1.5rem; }
  .faq-mini { padding:2.5rem 1.5rem; }
  .footer-inner { grid-template-columns:1fr 1fr; gap:2rem; }
  .footer-brand { grid-column:1/-1; }
  .footer-bottom { flex-direction:column; gap:0.5rem; text-align:center; }
  .footer-logos { gap:2rem; }
  .footer-logos img { height:26px; }
}
@media (max-width:520px) {
  .hero { align-items:flex-start; }
  .hero-content { padding:7rem 2rem 2rem; }
  .hero-bg img { object-position:center 70%; }
  .hero h1 { font-size:2.2rem; }
  .section-pad { padding:3.5rem 1.25rem; }
  .footer { padding:3rem 1.25rem 1.25rem; }
}
