
:root { --ink:#17201d; --emerald:#0c4b3a; --deep:#07382d; --mint:#dcebe4; --cream:#f4f1e9; --gold:#b89555; --muted:#66716d; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:78px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; position:absolute; z-index:10; top:0; width:100%; color:#fff; border-bottom:1px solid rgba(255,255,255,.15); }
.brand { display:flex; align-items:center; gap:11px; font-size:16px; letter-spacing:.16em; font-weight:500; }
.brand b { font-weight:800; }
.brand-mark { width:36px; height:36px; border:1px solid var(--gold); color:var(--gold); display:grid; place-items:center; border-radius:50% 50% 48% 48%; font-family:Georgia,serif; font-size:20px; font-style:italic; }
nav { display:flex; gap:30px; font-size:13px; color:rgba(255,255,255,.82); }
nav a:hover, footer a:hover { color:var(--gold); }
.header-cta { background:#fff; color:var(--emerald); padding:12px 18px; border-radius:3px; font-size:12px; font-weight:800; }
.hero { min-height:690px; background:radial-gradient(circle at 12% 18%,rgba(52,111,89,.45),transparent 33%),linear-gradient(120deg,#0a4938 0%,#07382d 52%,#062c25 100%); color:#fff; display:grid; grid-template-columns:1.08fr .92fr; gap:7vw; align-items:center; padding:128px 7vw 75px; position:relative; overflow:hidden; }
.hero:after { content:""; position:absolute; width:440px; height:440px; right:-180px; top:100px; border:1px solid rgba(184,149,85,.22); border-radius:50%; box-shadow:0 0 0 70px rgba(184,149,85,.04),0 0 0 140px rgba(184,149,85,.03); }
.hero-copy, .booking-card { position:relative; z-index:1; }
.eyebrow { font-size:11px; letter-spacing:.19em; font-weight:800; color:var(--emerald); display:flex; align-items:center; gap:9px; margin:0 0 20px; }
.eyebrow span { width:24px; height:1px; background:var(--gold); }
.hero .eyebrow { color:#e1bd70; font-weight:900; letter-spacing:.21em; text-shadow:0 1px 8px rgba(0,0,0,.28); }
.hero .eyebrow span { height:2px; background:#e1bd70; }
.eyebrow.light { color:#c5d8d1; }
.hero h1 { font-family:Georgia,serif; font-size:clamp(45px,5.25vw,74px); line-height:1.04; font-weight:400; letter-spacing:-.035em; margin:0; max-width:760px; }
.hero h1 em { color:#d8b978; font-weight:400; }
.hero-lead { color:#c9d8d2; font-size:17px; line-height:1.75; max-width:650px; margin:27px 0 26px; }
.trust-row { display:flex; flex-wrap:wrap; gap:14px 24px; color:#e6eee9; font-size:12px; }
.trust-row span::first-letter { color:var(--gold); }
.booking-card { background:#fff; color:var(--ink); border-radius:5px; padding:30px; box-shadow:0 26px 70px rgba(0,0,0,.3); max-width:520px; justify-self:end; width:100%; }
.card-heading { display:flex; justify-content:space-between; align-items:flex-start; border-bottom:1px solid #e5e8e6; padding-bottom:19px; margin-bottom:20px; }
.step { color:var(--gold); font-size:9px; font-weight:800; letter-spacing:.18em; }
.card-heading h2 { font-family:Georgia,serif; font-size:27px; margin:4px 0 0; font-weight:400; }
.response { background:#edf6f0; color:var(--emerald); padding:7px 9px; font-size:9px; font-weight:800; border-radius:20px; }
.booking-card label { display:block; font-size:11px; font-weight:800; margin:15px 0 7px; }
.booking-card select { width:100%; border:1px solid #d9dedb; background:#fafbf9; padding:14px 12px; color:#27312d; font-size:13px; border-radius:3px; }
.whatsapp-button { margin-top:21px; background:#16875e; color:#fff; min-height:54px; padding:15px 17px; display:flex; justify-content:center; align-items:center; gap:10px; border-radius:3px; font-size:13px; font-weight:800; box-shadow:0 9px 22px rgba(22,135,94,.22); transition:.2s ease; }
.whatsapp-button:hover { transform:translateY(-2px); background:#117650; }
.whatsapp-button > span:last-child { margin-left:auto; }
.wa-icon { font-size:20px; }
.privacy { text-align:center; color:#87908c; font-size:9px; margin:11px 0 0; }
.assurance { min-height:102px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; padding:0 7vw; border-bottom:1px solid #e4e7e4; background:#fcfdfc; }
.assurance div { padding:12px 28px; border-right:1px solid #e3e7e4; }
.assurance div:first-child { padding-left:0; }.assurance div:last-child { border:0; }
.assurance strong,.assurance span { display:block; }.assurance strong { font-size:11px; letter-spacing:.08em; color:var(--emerald); }.assurance span { font-family:Georgia,serif; font-size:15px; margin-top:5px; color:#48534f; }
.section { padding:100px 7vw; }
.section-intro { max-width:630px; }
.section-intro.centered { text-align:center; margin:0 auto 44px; }
.section-intro.centered .eyebrow { justify-content:center; }
.section-intro h2,.closing h2,.why-copy h2 { font-family:Georgia,serif; font-size:clamp(38px,4vw,57px); font-weight:400; line-height:1.08; letter-spacing:-.03em; margin:0 0 17px; }
.section-intro > p:last-child,.why-copy > p,.closing > p { color:var(--muted); line-height:1.7; font-size:15px; }
.route-section { background:var(--cream); display:grid; grid-template-columns:.72fr 1.28fr; gap:6vw; }
.route-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.route-card { background:#fff; padding:25px; min-height:225px; position:relative; border:1px solid #e8e4db; transition:.2s ease; }
.route-card:hover { transform:translateY(-4px); box-shadow:0 16px 35px rgba(32,47,40,.08); }
.route-code { height:45px; min-width:45px; padding:0 10px; display:inline-grid; place-items:center; background:#eaf3ee; color:var(--emerald); font-family:Georgia,serif; font-weight:700; }
.tag { position:absolute; right:18px; top:22px; font-size:9px; text-transform:uppercase; letter-spacing:.1em; color:#8b7450; }
.route-card h3,.fleet-card h3,.benefit-grid h3,.steps h3 { font-family:Georgia,serif; font-size:20px; margin:23px 0 7px; font-weight:400; }
.route-card p { font-size:12px; color:var(--muted); margin:0 0 23px; }
.route-card a { color:var(--emerald); font-size:11px; font-weight:800; }
.route-card a span { margin-left:8px; }
.fleet-section { background:#fff; }
.fleet-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; max-width:1200px; margin:auto; }
.fleet-card { border:1px solid #e4e7e4; background:#fbfcfb; }
.vehicle-visual { height:180px; background:linear-gradient(145deg,#edf1ed,#dce5df); display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.vehicle-visual > span { position:absolute; z-index:2; left:13px; top:12px; color:#fff; background:rgba(7,56,45,.82); padding:5px 7px; border-radius:2px; font-size:9px; letter-spacing:.15em; }
.vehicle-visual img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; transition:transform .35s ease; }
.fleet-card:hover .vehicle-visual img { transform:scale(1.035); }
.vehicle-shape { width:75%; height:52px; background:#204e41; border-radius:45% 48% 13px 12px; position:relative; box-shadow:inset -25px 0 rgba(255,255,255,.06); }
.vehicle-shape:before,.vehicle-shape:after { content:""; position:absolute; width:23px; height:23px; border-radius:50%; background:#18221f; border:5px solid #6f8179; bottom:-10px; }
.vehicle-shape:before { left:16%; }.vehicle-shape:after { right:13%; }
.v02 { height:65px; border-radius:25% 35% 10px 10px; }.v03 { height:75px; border-radius:9px; }.v04 { height:82px; width:82%; border-radius:7px; }
.fleet-copy { padding:21px; }.fleet-copy p { color:var(--gold); font-size:9px; text-transform:uppercase; font-weight:800; letter-spacing:.08em; margin:0; }.fleet-copy h3 { margin:10px 0; }.fleet-copy strong { color:#68736e; font-size:11px; }
.why-section { background:var(--emerald); color:#fff; display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; }
.why-copy > p { color:#c8d8d1; }.outline-button { display:inline-block; border:1px solid rgba(255,255,255,.45); padding:13px 16px; margin-top:20px; font-size:11px; font-weight:800; }
.benefit-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.17); }
.benefit-grid article { background:var(--emerald); padding:29px; min-height:190px; }.benefit-grid b { color:#c9ad74; font-size:11px; }.benefit-grid h3 { font-size:21px; margin-top:17px; }.benefit-grid p { font-size:12px; line-height:1.65; color:#c9d8d2; }
.steps-section { background:#fafbf9; }.steps { list-style:none; padding:0; margin:50px auto 0; max-width:1120px; display:grid; grid-template-columns:repeat(4,1fr); position:relative; }.steps:before { content:""; height:1px; background:#d7ded9; position:absolute; left:11%; right:11%; top:20px; }.steps li { text-align:center; padding:0 25px; z-index:1; }.steps li > span { width:40px; height:40px; border-radius:50%; background:#fff; color:var(--emerald); border:1px solid #b8c9c0; display:grid; place-items:center; margin:auto; font-family:Georgia,serif; }.steps h3 { margin:18px 0 7px; }.steps p { color:var(--muted); font-size:12px; line-height:1.6; }
.faq-section { display:grid; grid-template-columns:.7fr 1.3fr; gap:8vw; }.faqs details { border-top:1px solid #dfe3e0; padding:20px 3px; }.faqs details:last-child { border-bottom:1px solid #dfe3e0; }.faqs summary { cursor:pointer; font-family:Georgia,serif; font-size:18px; list-style:none; display:flex; justify-content:space-between; }.faqs summary:after { content:"+"; color:var(--emerald); }.faqs details[open] summary:after { content:"−"; }.faqs details p { color:var(--muted); line-height:1.7; font-size:13px; padding-right:40px; }
.closing { padding:90px 7vw; text-align:center; background:radial-gradient(circle at center,#145b47,#07382d 65%); color:#fff; }.closing .eyebrow { justify-content:center; }.closing > p { color:#c9d8d2; max-width:560px; margin:15px auto 25px; }.closing .whatsapp-button { width:max-content; margin:25px auto 0; background:#e8f1ec; color:var(--emerald); box-shadow:none; }
footer { background:#10231e; color:#c8d2ce; padding:45px 7vw 30px; display:grid; grid-template-columns:1fr 1.2fr 1fr; align-items:center; gap:20px; }.footer-brand { color:#fff; }.footer-brand .brand-mark { width:32px; height:32px; }footer p { font-size:11px; text-align:center; }footer > div { display:flex; justify-content:flex-end; gap:18px; font-size:10px; }footer small { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.1); padding-top:20px; font-size:9px; color:#788882; }
.mobile-book { display:none; }
@media (max-width:900px) { nav{display:none}.hero{grid-template-columns:1fr;gap:42px;padding-top:120px}.booking-card{justify-self:start}.assurance{grid-template-columns:1fr 1fr;padding:20px 6vw}.assurance div{border:0;padding:13px}.route-section,.why-section,.faq-section{grid-template-columns:1fr}.fleet-grid{grid-template-columns:1fr 1fr}.route-grid{margin-top:25px}.section{padding:75px 6vw}.steps{grid-template-columns:1fr 1fr;gap:35px}.steps:before{display:none}footer{grid-template-columns:1fr;text-align:center}footer p{text-align:center}footer>div{justify-content:center}footer small{grid-column:1}}
@media (max-width:560px) { .site-header{padding:0 18px;height:68px}.header-cta{display:none}.brand{font-size:13px}.brand-mark{width:32px;height:32px}.hero{min-height:auto;padding:108px 18px 55px}.hero h1{font-size:43px}.hero-lead{font-size:15px}.trust-row{display:grid;gap:9px}.booking-card{padding:21px}.card-heading{display:block}.response{display:inline-block;margin-top:10px}.assurance{grid-template-columns:1fr 1fr;padding:12px 8px}.assurance div{padding:10px}.assurance span{font-size:12px}.section{padding:65px 18px}.route-grid,.fleet-grid,.benefit-grid,.steps{grid-template-columns:1fr}.route-card{min-height:205px}.vehicle-visual{height:160px}.why-section{gap:42px}.steps{gap:20px}.steps li{border-bottom:1px solid #e2e6e3;padding-bottom:20px}.faq-section{gap:30px}.closing{padding:70px 18px 92px}.closing .whatsapp-button{width:100%;font-size:12px}footer{padding-bottom:90px}.mobile-book{display:block;position:fixed;z-index:30;left:12px;right:12px;bottom:10px;background:#16875e;color:#fff;padding:15px;text-align:center;border-radius:4px;font-weight:800;font-size:13px;box-shadow:0 8px 28px rgba(0,0,0,.25)}}
