
:root{
    --primary:#0b5f54;
    --primary-dark:#073f39;
    --primary-soft:#eaf5f2;
    --gold:#d7a944;
    --gold-dark:#b88726;
    --ink:#16232b;
    --muted:#65727b;
    --soft:#f6f8f7;
    --line:#e5ebe8;
    --white:#ffffff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:"DM Sans",sans-serif;
    color:var(--ink);
    background:#fff;
}
a{text-decoration:none}
.top-strip{
    background:var(--primary-dark);
    color:#dcece8;
    font-size:.83rem;
    padding:.55rem 0;
}
.top-strip a{color:#fff}
.navbar-brand{line-height:1}
.brand-mark{
    width:45px;height:45px;border-radius:14px;
    display:inline-flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--primary),#0d8a78);
    color:white;font-size:1.25rem;
    box-shadow:0 8px 20px rgba(11,95,84,.18);
}
.brand-name{
    display:block;font-size:1.28rem;letter-spacing:-.03em;color:var(--ink);
}
.brand-tag{display:block;font-size:.68rem;color:var(--muted);margin-top:4px;letter-spacing:.04em}
.navbar .nav-link{font-weight:600;color:#36434b;padding:.7rem .75rem!important}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--primary)}
.btn-primary{
    background:var(--primary)!important;
    border-color:var(--primary)!important;
}
.btn-primary:hover{background:var(--primary-dark)!important;border-color:var(--primary-dark)!important}
.btn-gold{
    background:var(--gold);
    border-color:var(--gold);
    color:#18201e;
    font-weight:700;
}
.btn-gold:hover{background:var(--gold-dark);border-color:var(--gold-dark);color:white}

.hero-section{
    position:relative;
    overflow:hidden;
    background:
      radial-gradient(circle at 75% 18%, rgba(215,169,68,.32), transparent 26%),
      radial-gradient(circle at 20% 85%, rgba(255,255,255,.12), transparent 25%),
      linear-gradient(130deg,#062f2b 0%,#0a5c51 48%,#0c7766 100%);
    min-height:690px;
    display:flex;
    align-items:center;
}
.hero-section:before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.17;
    background-image:
      linear-gradient(30deg,rgba(255,255,255,.35) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.35) 87.5%, rgba(255,255,255,.35)),
      linear-gradient(150deg,rgba(255,255,255,.35) 12%, transparent 12.5%, transparent 87%, rgba(255,255,255,.35) 87.5%, rgba(255,255,255,.35));
    background-size:80px 140px;
}
.hero-overlay{
    position:absolute;
    right:-130px;bottom:-240px;width:650px;height:650px;border-radius:50%;
    border:90px solid rgba(255,255,255,.05);
}
.hero-content{padding-top:70px;padding-bottom:70px}
.eyebrow,.section-kicker{
    display:inline-block;
    font-size:.76rem;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:800;
    color:var(--primary);
}
.eyebrow{
    color:#fff;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.2);
    padding:.65rem .9rem;
    border-radius:999px;
    backdrop-filter:blur(6px);
}
.hero-section h1{
    font-family:"Playfair Display",serif;
    font-size:clamp(3.2rem,6vw,5.8rem);
    line-height:.98;
    letter-spacing:-.05em;
    color:white;
    margin:1.1rem 0 1.25rem;
}
.hero-section h1 span{color:#f0cd7d}
.hero-lead{font-size:1.18rem;line-height:1.75;color:#dbe9e6;max-width:720px}
.hero-points{display:flex;gap:1.3rem;flex-wrap:wrap;color:white;font-size:.92rem}
.hero-points i{color:#f0cd7d;margin-right:.35rem}

.hero-card{
    background:rgba(255,255,255,.98);
    border-radius:28px;
    padding:1.55rem;
    box-shadow:0 28px 65px rgba(1,28,24,.32);
    border:1px solid rgba(255,255,255,.4);
}
.mini-badge{
    background:var(--primary-soft);color:var(--primary);
    padding:.42rem .7rem;border-radius:999px;font-size:.72rem;font-weight:800;
}
.search-tabs{
    background:#f1f4f3;border-radius:14px;padding:5px;display:flex;gap:4px;
}
.search-tabs button{
    flex:1;border:0;background:transparent;padding:.66rem .45rem;border-radius:10px;
    color:var(--muted);font-size:.82rem;font-weight:700;
}
.search-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 4px 12px rgba(25,45,40,.08)}
.form-label{font-size:.78rem;font-weight:800;color:#5d6b72}
.form-control,.form-select{border-color:#dde5e2;border-radius:12px;padding:.76rem .8rem}
.form-control:focus,.form-select:focus{box-shadow:0 0 0 .2rem rgba(11,95,84,.12);border-color:#7db4a9}
.quick-note{display:flex;gap:.6rem;margin-top:1rem;color:var(--muted);font-size:.78rem}
.quick-note i{color:var(--primary)}

.stats-bar{
    background:white;
    border-bottom:1px solid var(--line);
    box-shadow:0 8px 22px rgba(28,45,39,.04);
}
.stats-bar .row>div{padding:1.2rem .5rem;border-right:1px solid var(--line)}
.stats-bar .row>div:last-child{border-right:0}
.stats-bar strong{display:block;color:var(--ink);font-size:.92rem}
.stats-bar span{display:block;color:var(--muted);font-size:.76rem;margin-top:2px}
.section-pad{padding:88px 0}
.bg-soft{background:var(--soft)}
.section-heading{margin-bottom:2.3rem}
.section-heading.mx-auto{max-width:760px}
.section-heading h2,.custom-section h2,.b2b-panel h2,.transport-section h2,.why-grid+h2{
    font-family:"Playfair Display",serif;
    letter-spacing:-.035em;
}
.section-heading h2,.b2b-panel h2,.transport-section h2{font-size:clamp(2.1rem,4vw,3.1rem);margin:.5rem 0 .7rem}
.section-heading p{color:var(--muted);font-size:1.02rem;margin:0}
.section-kicker.light{color:#f0cd7d}
.text-link{font-weight:800;color:var(--primary)}

.ticket-card{
    border:1px solid var(--line);border-radius:24px;background:white;padding:1.35rem;
    box-shadow:0 12px 32px rgba(27,50,42,.055);
    transition:.25s ease;
}
.ticket-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(27,50,42,.1)}
.ticket-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.deal-tag{font-size:.72rem;font-weight:800;background:#fff2cf;color:#8a6110;border-radius:999px;padding:.38rem .65rem}
.airline-code{font-weight:900;color:var(--primary);background:var(--primary-soft);padding:.38rem .55rem;border-radius:9px}
.ticket-card h5{margin-bottom:.25rem}
.route{font-size:1.15rem;font-weight:800;color:var(--primary)}
.journey-line{display:flex;align-items:center;justify-content:space-between;margin:1.3rem 0;padding:1rem 0;border-top:1px dashed #dbe2df;border-bottom:1px dashed #dbe2df}
.journey-line small{display:block;color:var(--muted);font-size:.7rem}
.journey-line strong{display:block;font-size:.88rem}
.plane-line{flex:1;margin:0 1rem;position:relative;text-align:center;color:var(--gold)}
.plane-line:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px dashed #cfd8d4}
.plane-line i{position:relative;background:white;padding:0 .45rem}
.ticket-meta{display:flex;justify-content:space-between;gap:1rem;color:#5d696f;font-size:.78rem}
.ticket-meta i{color:var(--primary)}
.price-row{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-top:1.4rem}
.price-row small,.package-price small{display:block;color:var(--muted);font-size:.72rem}
.price-row strong{display:block;font-size:1.28rem;color:var(--ink)}

.package-card{
    border-radius:26px;background:#fff;overflow:hidden;border:1px solid var(--line);
    box-shadow:0 12px 36px rgba(28,47,41,.06);
}
.package-visual{
    min-height:170px;padding:1.3rem;display:flex;align-items:flex-start;justify-content:space-between;color:white;
    background:linear-gradient(135deg,#0c5b51,#0e8270);
}
.package-card.comfort .package-visual{background:linear-gradient(135deg,#263d58,#476d8b)}
.package-card.premium .package-visual{background:linear-gradient(135deg,#5f4514,#b4882d)}
.package-visual span{background:rgba(255,255,255,.14);backdrop-filter:blur(5px);padding:.45rem .7rem;border-radius:999px;font-size:.72rem;font-weight:800}
.package-visual i{font-size:3.5rem;color:rgba(255,255,255,.78);margin-top:2.2rem}
.package-body{padding:1.5rem}
.package-nights{font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.08em}
.package-body h4{margin:.4rem 0 1rem}
.package-list{list-style:none;padding:0;margin:0 0 1.4rem;display:grid;gap:.7rem;color:#516068;font-size:.9rem}
.package-list i{color:var(--primary);width:22px}
.package-price{display:flex;align-items:end;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1.2rem}
.package-price strong{display:block;font-size:1.25rem}

.custom-section{
    background:
      radial-gradient(circle at 90% 10%,rgba(215,169,68,.2),transparent 25%),
      linear-gradient(135deg,#062f2b,#0a554b);
}
.custom-section h2{font-size:clamp(2.2rem,4vw,3.35rem);margin:.55rem 0 1rem}
.builder-steps{display:grid;gap:.85rem;margin-top:1.8rem}
.builder-steps>div{display:flex;gap:.8rem;align-items:center}
.builder-steps>div>span{
    width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#f0cd7d;font-weight:900;
}
.builder-steps p{margin:0;color:white}
.builder-steps small{display:block;color:#9fc0b9;font-size:.76rem}
.calculator-preview{
    background:white;border-radius:28px;padding:1.65rem;box-shadow:0 28px 65px rgba(1,25,22,.28);
}
.calc-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:1.25rem}
.calc-head small{color:var(--primary);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.calc-head h4{margin:.25rem 0 0}
.calc-status{background:#fff4d7;color:#846111;border-radius:999px;padding:.42rem .7rem;font-size:.72rem;font-weight:800}
.calc-summary{
    border-radius:20px;background:var(--primary-soft);padding:1rem 1.1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem
}
.calc-summary small,.calc-summary span{display:block;color:#5d6d68;font-size:.74rem}
.calc-summary strong{display:block;font-size:1.55rem;color:var(--primary)}
.calc-disclaimer{font-size:.72rem;color:#87918d;margin:.8rem 0 0}

.b2b-panel{
    background:linear-gradient(180deg,#fff,#f7faf9);
    border:1px solid var(--line);border-radius:32px;padding:3rem;
}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.7rem}
.feature-grid>div{
    display:flex;gap:.8rem;align-items:center;background:white;border:1px solid var(--line);padding:.9rem;border-radius:16px;
}
.feature-grid i{font-size:1.25rem;color:var(--primary)}
.feature-grid strong,.feature-grid small{display:block}
.feature-grid small{font-size:.7rem;color:var(--muted)}
.agent-dashboard-mock{
    background:#10241f;color:#dce8e4;border-radius:26px;padding:1.3rem;box-shadow:0 22px 48px rgba(14,40,32,.22)
}
.mock-head,.mock-footer{display:flex;justify-content:space-between;align-items:center}
.mock-head{font-weight:800;margin-bottom:1rem}
.online-dot{color:#73d6aa;font-size:.78rem}
.mock-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.mock-cards>div{background:#18352e;padding:.9rem;border-radius:14px}
.mock-cards small{display:block;color:#8eb2a7;font-size:.68rem}
.mock-cards strong{font-size:1.45rem}
.mock-table{margin:1rem 0;border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden}
.mock-row{display:grid;grid-template-columns:1.5fr .5fr 1fr;gap:.5rem;padding:.8rem .85rem;border-bottom:1px solid rgba(255,255,255,.07);font-size:.8rem}
.mock-row:last-child{border-bottom:0}
.mock-title{color:#8fb1a7;font-size:.7rem;text-transform:uppercase}
.mock-footer{font-size:.75rem;color:#a6c0b9}

.hotel-card{
    border-radius:24px;padding:1.6rem;min-height:270px;display:flex;flex-direction:column;
    border:1px solid var(--line);background:white;
}
.hotel-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:var(--primary)}
.hotel-card h4{font-size:1.5rem;margin:.4rem 0 .7rem}
.hotel-card p{color:var(--muted);flex:1}
.hotel-card a{font-weight:800;color:var(--primary)}
.hotel-icon{
    width:54px;height:54px;border-radius:17px;background:var(--primary-soft);color:var(--primary);
    display:flex;align-items:center;justify-content:center;font-size:1.45rem;margin-bottom:1.4rem
}
.hotel-4star .hotel-icon{background:#eef1f7;color:#375478}
.hotel-5star .hotel-icon{background:#fff4d7;color:#9c741e}

.check-list{list-style:none;padding:0;display:grid;gap:.8rem}
.check-list i{color:var(--primary);margin-right:.5rem}
.vehicle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.vehicle-grid>div{
    min-height:145px;border:1px solid var(--line);border-radius:22px;background:white;padding:1.25rem;
    display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
}
.vehicle-grid i{font-size:2rem;color:var(--primary);margin-bottom:.55rem}
.vehicle-grid strong,.vehicle-grid small{display:block}
.vehicle-grid small{color:var(--muted);font-size:.7rem;margin-top:.2rem}

.how-section{border-top:1px solid var(--line)}
.how-card{
    position:relative;border:1px solid var(--line);border-radius:22px;padding:1.35rem;background:white;min-height:220px
}
.how-card>span{position:absolute;top:1rem;right:1rem;font-size:1.5rem;font-weight:900;color:#e7eeeb}
.how-card i{font-size:2rem;color:var(--primary)}
.how-card h5{margin:1rem 0 .5rem}
.how-card p{color:var(--muted);font-size:.9rem}

.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.why-grid>div{background:white;border:1px solid var(--line);border-radius:20px;padding:1.25rem}
.why-grid i{font-size:1.5rem;color:var(--primary)}
.why-grid h5{margin:.7rem 0 .35rem}
.why-grid p{font-size:.85rem;color:var(--muted);margin:0}
.faq-box{max-width:850px;border:1px solid var(--line);border-radius:22px;overflow:hidden}
.accordion-button{font-weight:800;padding:1.2rem}
.accordion-button:not(.collapsed){background:var(--primary-soft);color:var(--primary);box-shadow:none}
.accordion-button:focus{box-shadow:none}

.cta-section{padding:0 0 80px}
.cta-box{
    background:linear-gradient(135deg,#0a584f,#0b7766);color:white;border-radius:30px;padding:2.2rem;
    display:flex;justify-content:space-between;align-items:center;gap:2rem;
    box-shadow:0 24px 50px rgba(11,95,84,.18)
}
.cta-box span{color:#f0cd7d;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.cta-box h2{font-family:"Playfair Display",serif;margin:.35rem 0 .4rem}
.cta-box p{margin:0;color:#c9dfd9}

.site-footer{background:#0d1b18;color:#b9cac4;padding:60px 0 0}
.footer-brand{display:flex;align-items:center;gap:.7rem;color:white;font-size:1.2rem;margin-bottom:1rem}
.site-footer h6{color:white;margin-bottom:1rem}
.site-footer a{display:block;color:#b9cac4;margin:.45rem 0}
.site-footer a:hover{color:white}
.socials{display:flex;gap:.6rem}
.socials a{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#173029;color:white}
.footer-bottom{
    margin-top:2.5rem;border-top:1px solid #223630;padding:1.1rem 0;
    display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.76rem
}
.floating-whatsapp{
    position:fixed;right:22px;bottom:22px;width:54px;height:54px;border-radius:50%;
    background:#25D366;color:white;display:flex;align-items:center;justify-content:center;font-size:1.55rem;
    box-shadow:0 12px 28px rgba(0,0,0,.2);z-index:1030
}

@media(max-width:991px){
    .hero-section{min-height:auto}
    .hero-section h1{font-size:3.6rem}
    .navbar-collapse{padding-top:1rem}
    .stats-bar .row>div:nth-child(2){border-right:0}
    .b2b-panel{padding:1.6rem}
    .cta-box{flex-direction:column;align-items:flex-start}
}
@media(max-width:767px){
    .section-pad{padding:64px 0}
    .hero-content{padding-top:55px;padding-bottom:55px}
    .hero-section h1{font-size:3.1rem}
    .hero-lead{font-size:1rem}
    .hero-points{gap:.7rem;font-size:.8rem}
    .feature-grid,.why-grid{grid-template-columns:1fr}
    .vehicle-grid{grid-template-columns:1fr 1fr}
    .calc-summary{align-items:flex-start;flex-direction:column}
    .b2b-panel{border-radius:22px}
}
@media(max-width:480px){
    .hero-section h1{font-size:2.7rem}
    .vehicle-grid{grid-template-columns:1fr}
    .mock-cards{grid-template-columns:1fr}
    .mock-row{grid-template-columns:1fr .4fr .9fr;font-size:.72rem}
    .price-row,.package-price{align-items:flex-start;flex-direction:column}
}
