:root{
    --ink:#12253B;
    --ink-soft:#3C4E62;
    --paper:#FAF7F1;
    --paper-dim:#F1ECE1;
    --gold:#C89B3C;
    --gold-soft:#E6D3A3;
    --teal:#1F6F78;
    --coral:#E2603F;
    --line:#DDD5C4;
    --white:#FFFFFF;
    --radius:14px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Manrope',sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Fraunces',serif;
    font-weight:600;
    letter-spacing:-0.01em;
    margin:0;
    color:var(--ink);
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
  .eyebrow{
    font-family:'Space Mono',monospace;
    text-transform:uppercase;
    letter-spacing:0.14em;
    font-size:12px;
    color:var(--teal);
    font-weight:700;
  }
  .hero .eyebrow{
    color:var(--gold);
    background:rgba(200,155,60,0.14);
    padding:6px 12px;
    border-radius:20px;
    display:inline-block;
  }
  .btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:15px 26px;
    border-radius:999px;
    font-weight:700;
    font-size:15px;
    cursor:pointer;
    border:none;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px;}
  .btn-primary{
    background:var(--coral);
    color:var(--white);
    box-shadow:0 6px 20px rgba(226,96,63,0.35);
  }
  .btn-ghost{
    background:transparent;
    color:var(--ink);
    border:1.5px solid var(--ink);
  }
  .btn-ghost:hover{background:var(--ink);color:var(--paper);}

  /* ---------- NAV ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(250,247,241,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:16px 28px;max-width:1180px;margin:0 auto;gap:24px;
  }
  .brand{font-family:'Fraunces',serif;font-weight:700;font-size:20px;letter-spacing:0.02em;white-space:nowrap;}
  .brand span{color:var(--gold);}
  nav .btn{padding:11px 20px;font-size:14px;white-space:nowrap;}
  .nav-links{
    display:flex;align-items:center;gap:26px;flex:1;
    overflow-x:auto;scrollbar-width:none;
  }
  .nav-links::-webkit-scrollbar{display:none;}
  .nav-links a{
    font-family:'Manrope',sans-serif;font-size:14px;font-weight:600;
    color:var(--ink-soft);white-space:nowrap;transition:color .15s ease;
  }
  .nav-links a:hover{color:var(--ink);}
  @media (max-width:760px){
    .nav-links{gap:18px;}
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    padding:88px 0 60px;
    overflow:hidden;
    background:linear-gradient(180deg,#12253B 0%, #16324A 60%, #1B3E56 100%);
    color:var(--paper);
  }
  .hero .wrap{position:relative;z-index:2;}
  .skyline{
    position:absolute;bottom:0;left:0;width:100%;height:auto;
    z-index:1;opacity:0.9;
  }
  .hero-grid{
    display:grid;grid-template-columns:1.15fr 0.85fr;gap:48px;align-items:center;
  }
  .hero h1{
    color:var(--paper);
    font-size:clamp(34px,4.6vw,58px);
    line-height:1.05;
    margin:18px 0 22px;
  }
  .hero h1 em{
    font-style:normal;color:var(--gold);
  }
  .hero p.lead{
    font-size:18px;color:#D9E2E9;max-width:520px;margin-bottom:32px;
  }
  .hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
  .hero-badges{display:flex;flex-direction:column;gap:14px;margin-top:36px;max-width:460px;}
  .hero-badge{
    display:flex;align-items:center;gap:14px;
    background:rgba(255,255,255,0.07);
    border:1px solid rgba(255,255,255,0.18);
    border-radius:var(--radius);
    padding:18px 20px;
  }
  .hero-badge .num{font-family:'Space Mono',monospace;font-size:26px;color:var(--gold);font-weight:700;white-space:nowrap;}
  .hero-badge .txt{font-size:13.5px;color:#CBD6DE;line-height:1.45;}
  .hero-trust{
    display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;
    font-family:'Space Mono',monospace;font-size:12.5px;color:#CBD6DE;letter-spacing:0.02em;
  }
  .hero-trust span{white-space:nowrap;}

  /* ---------- NEXT EVENT STRIP ---------- */
  .next-event{
    background:var(--gold);
    color:var(--ink);
    padding:16px 0;
  }
  .next-event .wrap{
    display:flex;align-items:center;justify-content:center;gap:14px;
    flex-wrap:wrap;text-align:center;font-family:'Space Mono',monospace;
    font-size:13.5px;letter-spacing:0.02em;
  }
  .next-event strong{font-weight:700;}

  /* ---------- SECTION SHELL ---------- */
  section{padding:88px 0;}
  .section-head{max-width:640px;margin-bottom:48px;}
  .section-head .eyebrow{margin-bottom:14px;display:block;}
  .section-head h2{font-size:clamp(28px,3.2vw,40px);line-height:1.15;}
  .section-head p{color:var(--ink-soft);font-size:16.5px;margin-top:14px;}

  /* ---------- DEPARTURES BOARD (events) ---------- */
  .board-section{background:var(--ink);color:var(--paper);}
  .board-section .section-head h2{color:var(--paper);}
  .board-section .section-head p{color:#B9C4CF;}
  .board{
    font-family:'Space Mono',monospace;
    border-top:1px solid rgba(255,255,255,0.18);
  }
  .board-row{
    display:grid;
    grid-template-columns:120px 1fr 200px;
    gap:18px;
    padding:20px 0;
    border-bottom:1px solid rgba(255,255,255,0.18);
    align-items:center;
    font-size:14.5px;
  }
  .board-row .date{color:var(--gold);font-weight:700;letter-spacing:0.03em;}
  .board-row .event-name{
    font-family:'Manrope',sans-serif;font-weight:700;font-size:17px;color:var(--paper);
  }
  .board-row .venue{color:#9FB0BC;font-size:13px;text-transform:uppercase;letter-spacing:0.06em;}
  .board-note{
    margin-top:22px;font-size:13px;color:#8CA0AD;font-family:'Manrope',sans-serif;
  }

  /* ---------- EVENT CARDS ---------- */
  .event-month-label{
    font-family:'Space Mono',monospace;font-size:13px;letter-spacing:0.14em;
    text-transform:uppercase;color:var(--gold);margin:0 0 18px;
  }
  .event-month-label:not(:first-child){margin-top:56px;}
  .event-cta-strip{
    margin-top:32px;padding:26px 28px;
    background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.14);
    border-radius:var(--radius);
    display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  }
  .event-cta-strip h3{font-family:'Manrope',sans-serif;font-weight:700;font-size:17px;color:var(--paper);margin-bottom:6px;}
  .event-cta-strip p{color:#C7D3DB;font-size:14px;max-width:480px;margin:0;}
  .event-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:24px;
  }
  .event-card{
    background:rgba(255,255,255,0.04);
    border:1px solid rgba(255,255,255,0.14);
    border-radius:var(--radius);
    overflow:hidden;
    transition:transform .2s ease, border-color .2s ease;
  }
  .event-card:hover{transform:translateY(-3px);border-color:rgba(200,155,60,0.5);}
  .event-photo{
    position:relative;
    aspect-ratio:16/10;
    background:linear-gradient(135deg,#1c3145,#12253B);
    overflow:hidden;
  }
  .event-photo img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:2;}
  .event-photo-placeholder{
    position:absolute;inset:0;z-index:1;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;color:#8CA0AD;font-family:'Space Mono',monospace;
    font-size:12px;letter-spacing:0.04em;line-height:1.6;padding:16px;
  }
  .event-date-badge{
    position:absolute;top:12px;left:12px;
    background:var(--gold);color:var(--ink);
    font-family:'Space Mono',monospace;font-weight:700;font-size:12px;
    letter-spacing:0.03em;padding:5px 10px;border-radius:6px;
  }
  .event-body{padding:18px 18px 20px;}
  .event-body h3{
    font-family:'Manrope',sans-serif;font-weight:700;font-size:16px;
    color:var(--paper);line-height:1.3;margin-bottom:8px;
  }
  .event-body .venue{
    color:#9FB0BC;font-size:12px;text-transform:uppercase;letter-spacing:0.06em;
    font-family:'Space Mono',monospace;margin-bottom:10px;display:block;
  }
  .event-body .event-desc{
    color:#C7D3DB;font-size:13.5px;line-height:1.55;margin-bottom:16px;
  }
  .event-body .event-link{
    display:inline-flex;align-items:center;gap:6px;
    font-family:'Space Mono',monospace;font-size:12.5px;font-weight:700;
    color:var(--gold);text-transform:uppercase;letter-spacing:0.03em;
  }
  .event-body .event-link:hover{color:var(--gold-soft);}
  .event-links-row{display:flex;align-items:center;gap:16px;}
  .event-share{
    display:inline-flex;align-items:center;gap:5px;
    font-family:'Space Mono',monospace;font-size:12px;font-weight:700;
    color:#9FB0BC;text-transform:uppercase;letter-spacing:0.02em;
  }
  .event-share:hover{color:var(--gold);}

  /* Featured event (last event of September) */
  .event-featured{
    display:grid;grid-template-columns:0.9fr 1.1fr;
    background:rgba(200,155,60,0.08);
    border:1px solid rgba(200,155,60,0.4);
    border-radius:var(--radius);
    overflow:hidden;margin-bottom:20px;
  }
  .event-featured .event-photo{aspect-ratio:auto;height:100%;min-height:220px;}
  .event-featured .event-body{padding:28px 30px;display:flex;flex-direction:column;justify-content:center;}
  .event-featured .featured-flag{
    display:inline-block;font-family:'Space Mono',monospace;font-size:11.5px;
    letter-spacing:0.08em;text-transform:uppercase;color:var(--ink);
    background:var(--gold);padding:4px 10px;border-radius:6px;margin-bottom:14px;width:fit-content;
  }
  .event-featured h3{font-size:22px;margin-bottom:10px;font-family:'Fraunces',serif;}
  .event-featured .event-desc{font-size:14.5px;margin-bottom:20px;}
  .event-featured .btn-primary{align-self:flex-start;}
  @media (max-width:820px){
    .event-featured{grid-template-columns:1fr;}
    .event-featured .event-photo{aspect-ratio:16/10;min-height:0;}
  }
  @media (max-width:600px){
    .event-grid{grid-template-columns:1fr;}
  }

  /* ---------- PROPERTIES ---------- */
  .prop-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
  }
  .prop-card{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    transition:box-shadow .2s ease, transform .2s ease;
  }
  .prop-card:hover{box-shadow:0 16px 40px rgba(18,37,59,0.12);transform:translateY(-3px);}
  .prop-photo{
    height:190px;
    background:linear-gradient(135deg,var(--paper-dim),#E4DBC8);
    display:flex;align-items:center;justify-content:center;
    color:var(--ink-soft);font-size:13px;font-family:'Space Mono',monospace;
    text-align:center;padding:16px;
    overflow:hidden;
  }
  .prop-photo img{width:100%;height:100%;object-fit:cover;}
  .prop-body{padding:22px;}
  .prop-tag{
    display:inline-block;font-family:'Space Mono',monospace;font-size:11px;
    text-transform:uppercase;letter-spacing:0.08em;color:var(--teal);
    background:rgba(31,111,120,0.1);padding:4px 10px;border-radius:6px;margin-bottom:12px;
  }
  .prop-body h3{font-size:19px;margin-bottom:10px;line-height:1.3;}
  .prop-specs{display:flex;gap:16px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-soft);margin-bottom:16px;}
  .prop-beds{font-family:'Manrope',sans-serif;font-size:13px;color:var(--ink-soft);margin:-10px 0 14px;line-height:1.5;}
  .prop-price{font-family:'Space Mono',monospace;font-size:13px;color:var(--ink-soft);margin-bottom:14px;}
  .prop-price b{font-size:20px;color:var(--ink);font-family:'Manrope',sans-serif;}
  .prop-body .btn-ghost{width:100%;justify-content:center;padding:12px;font-size:13.5px;}

  /* ---------- PROPERTY VIDEOS ---------- */
  .video-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
  }
  .video-card{
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    overflow:hidden;
  }
  .video-card .video-wrap{
    aspect-ratio:16/9;background:linear-gradient(135deg,var(--paper-dim),#E4DBC8);
    position:relative;overflow:hidden;
  }
  .video-card video{width:100%;height:100%;object-fit:cover;display:block;background:#000;}
  .video-card .video-label{padding:14px 18px;}
  .video-card .video-label h3{font-size:15.5px;margin-bottom:4px;}
  .video-card .video-label p{
    font-family:'Space Mono',monospace;font-size:11px;color:var(--ink-soft);
    margin:0;word-break:break-all;
  }
  @media (max-width:820px){
    .video-grid{grid-template-columns:1fr;}
  }

  /* ---------- WHY DIRECT ---------- */
  .why-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
  }
  .why-item{padding-top:20px;border-top:2px solid var(--ink);}
  .why-item .icon{font-size:26px;margin-bottom:14px;}
  .why-item h3{font-size:18px;margin-bottom:8px;}
  .why-item p{font-size:14.5px;color:var(--ink-soft);}

  /* ---------- TESTIMONIALS ---------- */
  .testi-grid{
    display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
  }
  .testi-card{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:26px;
  }
  .testi-stars{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:14px;}
  .testi-quote{font-family:'Fraunces',serif;font-size:17px;line-height:1.5;color:var(--ink);margin-bottom:18px;}
  .testi-meta{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;color:var(--ink-soft);font-family:'Space Mono',monospace;border-top:1px solid var(--line);padding-top:14px;}
  .testi-meta b{color:var(--ink);font-family:'Manrope',sans-serif;font-size:13.5px;}
  .testi-source{
    display:inline-block;margin-top:32px;font-family:'Space Mono',monospace;
    font-size:12.5px;color:var(--ink-soft);text-align:center;width:100%;
  }
  .ota-badges{
    display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:36px;
  }
  .ota-badges .ota-label{font-size:13px;color:var(--ink-soft);}
  .ota-badges .ota-pill{
    font-family:'Manrope',sans-serif;font-weight:700;font-size:13px;
    padding:7px 14px;border-radius:20px;border:1px solid var(--line);
    background:var(--white);color:var(--ink);
  }

  /* ---------- STEPS ---------- */
  .steps-section{background:var(--paper-dim);}
  .steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
  .step{padding:0 20px;position:relative;}
  .step:not(:first-child)::before{
    content:'';position:absolute;left:0;top:22px;width:1px;height:40px;background:var(--line);
  }
  .step .step-num{font-family:'Space Mono',monospace;color:var(--gold);font-weight:700;font-size:13px;margin-bottom:12px;}
  .step h3{font-size:17px;margin-bottom:8px;}
  .step p{font-size:14px;color:var(--ink-soft);}

  /* ---------- ABOUT / COMPANY STATS ---------- */
  .about-stats{
    display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:8px;
  }
  .about-stat{
    text-align:center;padding:28px 16px;background:var(--white);
    border:1px solid var(--line);border-radius:var(--radius);
  }
  .about-stat .num{
    font-family:'Fraunces',serif;font-weight:700;font-size:34px;color:var(--ink);display:block;margin-bottom:6px;
  }
  .about-stat .label{font-size:13.5px;color:var(--ink-soft);line-height:1.4;}
  @media (max-width:820px){
    .about-stats{grid-template-columns:1fr 1fr;}
  }

  /* ---------- HOST ---------- */
  .host-section .wrap{
    display:grid;grid-template-columns:200px 1fr;gap:36px;align-items:center;
    background:var(--white);border:1px solid var(--line);border-radius:20px;padding:40px;
    max-width:900px;margin-left:auto;margin-right:auto;
  }
  .host-photo{
    width:160px;height:160px;border-radius:50%;
    background:linear-gradient(135deg,var(--gold-soft),var(--gold));
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',serif;font-size:44px;color:var(--white);font-weight:600;
  }
  .host-section h3{font-size:22px;margin-bottom:6px;}
  .host-role{font-family:'Space Mono',monospace;font-size:12.5px;color:var(--teal);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:14px;}
  .host-section p{color:var(--ink-soft);font-size:15px;margin-bottom:18px;}

  /* ---------- FINAL CTA ---------- */
  .cta-final{
    background:linear-gradient(135deg,#12253B,#1B3E56);
    color:var(--paper);text-align:center;
  }
  .cta-final h2{color:var(--paper);font-size:clamp(28px,4vw,42px);margin-bottom:18px;}
  .cta-final p{color:#C7D3DB;font-size:17px;max-width:520px;margin:0 auto 34px;}

  /* ---------- FOOTER ---------- */
  footer{padding:44px 0;border-top:1px solid var(--line);}
  footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;font-size:13.5px;color:var(--ink-soft);}
  footer .brand{font-size:16px;margin-bottom:6px;}

  /* ---------- STICKY WHATSAPP ---------- */
  .wa-float{
    position:fixed;bottom:22px;right:22px;z-index:60;
    background:#25D366;color:white;
    width:60px;height:60px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 8px 24px rgba(37,211,102,0.45);
    font-size:28px;
  }
  .wa-float:hover{transform:scale(1.06);}

  @media (max-width:880px){
    .hero-grid{grid-template-columns:1fr;}
    .prop-grid{grid-template-columns:1fr;}
    .testi-grid{grid-template-columns:1fr;}
    .steps-grid{grid-template-columns:1fr 1fr;row-gap:28px;}
    .step:nth-child(3)::before,.step:nth-child(1)::before{display:none;}
    .board-row{grid-template-columns:90px 1fr;}
    .board-row .venue{grid-column:2;}
    .host-section .wrap{grid-template-columns:1fr;text-align:center;justify-items:center;}
  }
  @media (max-width:520px){
    .why-grid{grid-template-columns:1fr;}
    .steps-grid{grid-template-columns:1fr;}
  }
  @media (prefers-reduced-motion: reduce){
    *{transition:none !important;scroll-behavior:auto !important;}
  }
