@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 { --red:#e3061a; --red-dark:#bb0012; --navy:#10284b; --ink:#14233a; --sand:#f4efe6; --cream:#fbf9f4; --line:rgba(20,35,58,.13); --white:#fff; --muted:#647083; --shell:min(1180px, calc(100% - 48px)); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:'DM Sans',Arial,sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
a { color:inherit; }
img { display:block; max-width:100%; }
.shell { width:var(--shell); margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; left:1rem; top:-4rem; z-index:999; padding:.75rem 1rem; background:#fff; color:var(--navy); border-radius:4px; }
.skip-link:focus { top:1rem; }
.section { padding:112px 0; }
.kicker { margin:0 0 18px; color:var(--red); font-size:.76rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.kicker.light { color:#ffbbc1; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:'Playfair Display',Georgia,serif; letter-spacing:-.035em; }
h2 { margin-bottom:0; font-size:clamp(2.4rem,5vw,4.5rem); line-height:1.06; font-weight:600; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 25px; border:1px solid var(--red); border-radius:2px; color:#fff; background:var(--red); font-weight:700; text-decoration:none; transition:.25s ease; }
.button:hover { background:var(--red-dark); border-color:var(--red-dark); transform:translateY(-2px); }
.button-small { min-height:44px; padding:0 18px; font-size:.9rem; }
.button-ghost { border-color:rgba(255,255,255,.55); background:rgba(13,27,46,.16); backdrop-filter:blur(8px); }
.button-ghost:hover { border-color:#fff; background:#fff; color:var(--navy); }

.site-header { position:fixed; inset:0 0 auto; z-index:100; height:86px; color:#fff; transition:.25s ease; }
.site-header.scrolled { height:74px; color:var(--ink); background:rgba(255,255,255,.96); box-shadow:0 8px 30px rgba(16,40,75,.08); backdrop-filter:blur(16px); }
.nav-wrap { height:100%; display:flex; align-items:center; gap:36px; }
.brand { flex:0 0 auto; }
.brand img { width:160px; max-height:54px; object-fit:contain; filter:brightness(0) invert(1); transition:.25s ease; }
.site-header.scrolled .brand img { filter:none; }
.site-nav { display:flex; align-items:center; justify-content:center; gap:30px; margin-left:auto; }
.site-nav a,.text-link { font-size:.91rem; font-weight:600; text-decoration:none; }
.site-nav a { position:relative; }
.site-nav a::after { content:''; position:absolute; left:0; right:100%; bottom:-8px; height:2px; background:var(--red); transition:.2s ease; }
.site-nav a:hover::after { right:0; }
.nav-actions { display:flex; align-items:center; gap:18px; }
.nav-toggle { display:none; border:0; color:inherit; background:none; font-size:1.55rem; }

.hero { position:relative; min-height:820px; height:100vh; color:#fff; overflow:hidden; }
.hero-media,.hero-shade { position:absolute; inset:0; }
.hero-media { background:url('../img/destinations/6a2a8e606d2e4_1781173856.jpg') center 45%/cover no-repeat; transform:scale(1.01); }
.hero-shade { background:linear-gradient(90deg,rgba(6,20,40,.86) 0%,rgba(6,20,40,.59) 47%,rgba(6,20,40,.14) 82%),linear-gradient(0deg,rgba(6,20,40,.4),transparent 45%); }
.hero-content { position:relative; z-index:1; min-height:100%; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding-top:86px; }
.hero h1 { max-width:850px; margin:0 0 26px; font-size:clamp(4rem,8.7vw,8.1rem); line-height:.88; font-weight:600; text-shadow:0 5px 35px rgba(0,0,0,.16); }
.hero h1 em { color:#ffb8be; font-weight:600; }
.hero-lead { max-width:680px; margin-bottom:34px; color:rgba(255,255,255,.86); font-size:clamp(1.08rem,1.8vw,1.3rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-scroll { position:absolute; z-index:2; right:42px; bottom:34px; display:flex; align-items:center; gap:12px; color:#fff; font-size:.75rem; font-weight:700; letter-spacing:.13em; text-decoration:none; text-transform:uppercase; writing-mode:vertical-rl; }
.hero-scroll i { font-size:1.15rem; }

.intro { background:#fff; }
.split-heading { display:grid; grid-template-columns:1.15fr .65fr; align-items:end; gap:9%; }
.intro-copy { padding-bottom:8px; color:var(--muted); font-size:1.08rem; }
.arrow-link { display:inline-flex; align-items:center; gap:10px; margin-top:12px; color:var(--red); font-weight:700; text-decoration:none; }
.arrow-link:hover i { transform:translateX(5px); }
.arrow-link i { transition:.2s ease; }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); margin-top:78px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.metrics div { display:flex; flex-direction:column; padding:31px 26px; border-right:1px solid var(--line); }
.metrics div:last-child { border-right:0; }
.metrics strong { color:var(--red); font-family:'Playfair Display',Georgia,serif; font-size:2.8rem; line-height:1; }
.metrics span { margin-top:8px; color:var(--muted); font-size:.88rem; }

.catalogue { background:var(--sand); }
.section-heading { max-width:800px; margin-bottom:55px; }
.section-heading > p:last-child { max-width:620px; margin:22px 0 0; color:var(--muted); font-size:1.08rem; }
.catalogue-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.catalogue-card { min-height:440px; padding:34px; background:#fff; border:1px solid transparent; transition:.28s ease; }
.catalogue-card:hover { transform:translateY(-7px); border-color:rgba(227,6,26,.22); box-shadow:0 24px 55px rgba(16,40,75,.09); }
.card-icon { width:52px; height:52px; display:grid; place-items:center; margin-bottom:28px; border-radius:50%; color:var(--red); background:#fff0f1; font-size:1.45rem; }
.card-eyebrow { margin-bottom:8px; color:var(--red); font-size:.72rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.catalogue-card h3 { margin-bottom:14px; color:var(--navy); font-family:'Playfair Display',Georgia,serif; font-size:1.75rem; line-height:1.12; }
.catalogue-card > p:not(.card-eyebrow) { min-height:52px; color:var(--muted); }
.catalogue-card ul { display:grid; gap:8px; margin:24px 0 0; padding:22px 0 0; border-top:1px solid var(--line); list-style:none; }
.catalogue-card li { display:flex; align-items:center; gap:9px; font-size:.9rem; }
.catalogue-card li i { color:var(--red); }

.story { background:#fff; }
.story-grid { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:8%; }
.story-image { position:relative; }
.story-image::before { content:''; position:absolute; left:-18px; top:-18px; width:35%; height:40%; border-top:3px solid var(--red); border-left:3px solid var(--red); }
.story-image img { position:relative; width:100%; height:650px; object-fit:cover; }
.story-image span { position:absolute; left:0; bottom:0; padding:13px 20px; color:#fff; background:var(--navy); font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.story-copy > p:not(.kicker) { margin:24px 0 34px; color:var(--muted); font-size:1.08rem; }
.feature-list { display:grid; gap:0; border-top:1px solid var(--line); }
.feature-list > div { display:grid; grid-template-columns:40px 1fr; gap:15px; padding:20px 0; border-bottom:1px solid var(--line); }
.feature-list i { color:var(--red); font-size:1.35rem; }
.feature-list span { color:var(--muted); font-size:.92rem; }
.feature-list strong { display:block; margin-bottom:3px; color:var(--ink); font-size:1rem; }

.workflow { color:#fff; background:var(--navy); }
.section-heading.compact { max-width:950px; }
.workflow-grid { display:grid; grid-template-columns:repeat(4,1fr); margin-top:60px; border-top:1px solid rgba(255,255,255,.17); border-bottom:1px solid rgba(255,255,255,.17); }
.workflow-grid article { position:relative; min-height:315px; padding:34px 27px; border-right:1px solid rgba(255,255,255,.17); }
.workflow-grid article:last-child { border-right:0; }
.workflow-grid article > span { position:absolute; top:25px; right:24px; color:rgba(255,255,255,.32); font-family:'Playfair Display',Georgia,serif; font-size:1.5rem; }
.workflow-grid i { color:#ff959f; font-size:2rem; }
.workflow-grid h3 { margin:55px 0 12px; font-family:'Playfair Display',Georgia,serif; font-size:1.45rem; line-height:1.2; }
.workflow-grid p { color:rgba(255,255,255,.67); font-size:.92rem; }

.operations { background:var(--cream); }
.operations-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:10%; }
.operations-grid > div:first-child { position:sticky; top:115px; align-self:start; }
.operations-grid > div:first-child > p:last-child { margin-top:24px; color:var(--muted); font-size:1.08rem; }
.operations-list { border-top:1px solid var(--line); }
.operations-list div { display:grid; grid-template-columns:55px 1fr; gap:20px; padding:27px 0; border-bottom:1px solid var(--line); }
.operations-list span { color:var(--red); font-family:'Playfair Display',Georgia,serif; font-size:1.1rem; }
.operations-list p { margin:0; color:var(--muted); }
.operations-list strong { display:block; margin-bottom:5px; color:var(--ink); font-size:1.05rem; }

.company-cta { position:relative; min-height:620px; display:flex; align-items:center; color:#fff; overflow:hidden; }
.company-bg { position:absolute; inset:0; background:linear-gradient(90deg,rgba(12,34,65,.9),rgba(12,34,65,.4)),url('../img/destinations/6a2a9ac53d3bc_1781177029.jpg') center/cover no-repeat; }
.company-content { position:relative; max-width:1180px; }
.company-content h2 { max-width:760px; font-size:clamp(3.1rem,7vw,6.2rem); }
.company-content > p:not(.kicker) { max-width:650px; margin:28px 0 34px; color:rgba(255,255,255,.82); font-size:1.13rem; }
.company-content > div { display:flex; flex-wrap:wrap; gap:12px; }

.site-footer { padding:75px 0 25px; color:rgba(255,255,255,.72); background:#091a32; }
.footer-grid { display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:55px; }
.footer-grid > div { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.footer-grid img { width:150px; margin-bottom:12px; filter:brightness(0) invert(1); }
.footer-grid p { max-width:330px; }
.footer-grid h3 { margin-bottom:10px; color:#fff; font-size:.8rem; letter-spacing:.13em; text-transform:uppercase; }
.footer-grid a { text-decoration:none; }
.footer-grid a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:60px; padding-top:22px; border-top:1px solid rgba(255,255,255,.14); font-size:.78rem; }

@media (max-width:1024px) {
  .site-nav { gap:18px; } .site-nav a { font-size:.82rem; } .text-link { display:none; }
  .catalogue-grid { grid-template-columns:repeat(2,1fr); }
  .workflow-grid { grid-template-columns:repeat(2,1fr); } .workflow-grid article:nth-child(2) { border-right:0; } .workflow-grid article:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.17); }
  .footer-grid { grid-template-columns:1.5fr repeat(3,1fr); gap:25px; }
}
@media (max-width:800px) {
  :root { --shell:min(100% - 32px,1180px); } .section { padding:82px 0; }
  .nav-toggle { display:block; margin-left:auto; cursor:pointer; } .nav-actions .text-link { display:none; }
  .site-nav { position:fixed; inset:74px 0 auto; display:none; flex-direction:column; align-items:flex-start; gap:0; padding:20px 24px 30px; color:var(--ink); background:#fff; box-shadow:0 20px 30px rgba(16,40,75,.1); }
  .site-nav.open { display:flex; } .site-nav a { width:100%; padding:14px 0; border-bottom:1px solid var(--line); font-size:1rem; }
  .site-header:not(.scrolled) .site-nav.open { top:86px; }
  .hero { min-height:740px; } .hero-scroll { display:none; }
  .split-heading,.story-grid,.operations-grid { grid-template-columns:1fr; gap:45px; } .operations-grid > div:first-child { position:static; }
  .metrics { grid-template-columns:repeat(2,1fr); } .metrics div:nth-child(2) { border-right:0; } .metrics div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .story-image img { height:520px; } .footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px) {
  .nav-actions .button { min-height:40px; padding:0 12px; font-size:.78rem; } .brand img { width:128px; }
  .hero-content { justify-content:flex-end; padding-bottom:78px; } .hero h1 { font-size:3.8rem; } .hero-lead { font-size:1rem; }
  .hero-actions .button { width:100%; } .catalogue-grid,.workflow-grid,.footer-grid { grid-template-columns:1fr; }
  .catalogue-card { min-height:auto; } .workflow-grid article,.workflow-grid article:nth-child(2) { border-right:0; border-bottom:1px solid rgba(255,255,255,.17); }
  .workflow-grid article:last-child { border-bottom:0; } .metrics { grid-template-columns:1fr; } .metrics div { border-right:0; border-bottom:1px solid var(--line); }
  .metrics div:last-child { border-bottom:0; } .story-image img { height:410px; } .company-cta { min-height:650px; }
  .company-content .button { width:100%; } .footer-bottom { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }
