/* ============================================================
   NETC TRAVEL & TOURISM — MASTER STYLESHEET
   Edit this file to update styles across all pages at once.
   ============================================================ */

/* ── DESIGN TOKENS ───────────────────────────────────────── */
:root {
  --teal:          #2BBCD4;
  --teal-light:    #5DD3E8;
  --teal-dark:     #1A8FA3;
  --teal-deeper:   #0D6B7A;

  --bg-page:       #FFFFFF;
  --bg-section:    #F4FAFB;
  --bg-card:       #FFFFFF;
  --bg-dark:       #0C2B33;
  --bg-dark-mid:   #0F3540;
  --bg-dark-surface:#1A4A55;

  --text-primary:  #0F2D35;
  --text-secondary:#3A6875;
  --text-muted:    #7AAEBB;
  --text-on-dark:  #D8F0F5;
  --white:         #FFFFFF;

  --border-light:  rgba(43,188,212,0.15);
  --border-card:   rgba(43,188,212,0.2);

  --font-serif:    'Cormorant Garamond', serif;
  --font-sans:     'Montserrat', sans-serif;
}

/* ── RESET & BASE ────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--font-sans); background:var(--bg-page); color:var(--text-primary); overflow-x:hidden; }
img { display:block; max-width:100%; }
a { transition:color 0.2s; }

/* ── NAVIGATION ──────────────────────────────────────────── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:0.0rem 5%;/*padding:1.2rem 5%;*/
  background:rgba(12,43,51,0.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(43,188,212,0.2);
  transition:all 0.3s;
}
nav.scrolled { padding:0.8rem 5%; background:rgba(12,43,51,1); }
.nav-logo img { /*height:52px;*/height:100px; width:auto; }
.nav-links { display:flex; gap:2.5rem; list-style:none; }
.nav-links a {
  font-size:0.72rem; font-weight:500; letter-spacing:0.15em; text-transform:uppercase;
  color:var(--text-on-dark); text-decoration:none; opacity:0.8; transition:all 0.2s; position:relative;
}
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px; background:var(--teal); transition:width 0.3s; }
.nav-links a:hover, .nav-links a.active { opacity:1; color:var(--teal-light); }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }
.nav-cta { color:var(--bg-dark)!important; background:var(--teal)!important; padding:0.6rem 1.4rem!important; opacity:1!important; font-weight:600!important; }
.nav-cta::after { display:none!important; }
.nav-cta:hover { background:var(--teal-light)!important; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
.hamburger span { display:block; width:24px; height:1.5px; background:var(--text-on-dark); }

/* ── TYPOGRAPHY HELPERS ──────────────────────────────────── */
.section-eyebrow { font-size:0.68rem; font-weight:500; letter-spacing:0.25em; text-transform:uppercase; color:var(--teal); margin-bottom:1rem; }
.section-title { font-family:var(--font-serif); font-size:clamp(2rem,4vw,3.2rem); font-weight:300; color:var(--text-primary); margin-bottom:1.2rem; line-height:1.2; }
.section-title em { font-style:italic; color:var(--teal-dark); }
.section-title.on-dark { color:var(--white); }
.section-title.on-dark em { color:var(--teal-light); }
.section-sub { font-size:0.85rem; font-weight:300; line-height:1.9; color:var(--text-secondary); max-width:520px; }

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn-primary { display:inline-block; padding:0.9rem 2.2rem; background:var(--teal); color:var(--white); font-size:0.72rem; font-weight:600; letter-spacing:0.15em; text-transform:uppercase; text-decoration:none; transition:all 0.25s; }
.btn-primary:hover { background:var(--teal-dark); transform:translateY(-2px); color:var(--white); }
.btn-outline { display:inline-block; padding:0.9rem 2.2rem; border:1px solid rgba(43,188,212,0.6); color:var(--teal-light); font-size:0.72rem; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; text-decoration:none; transition:all 0.25s; }
.btn-outline:hover { border-color:var(--teal); background:rgba(43,188,212,0.1); }

/* ── SECTION SPACING ─────────────────────────────────────── */
section { padding:7rem 5%; }
section.bg-light { background:var(--bg-section); }
section.bg-dark { background:var(--bg-dark); }

/* ── PAGE HERO ───────────────────────────────────────────── */
.page-hero { padding:10rem 5% 6rem; text-align:center; }
.page-hero .eyebrow { font-size:0.68rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--teal); margin-bottom:1rem; }
.page-hero h1 { font-family:var(--font-serif); font-size:clamp(2.5rem,6vw,5rem); font-weight:300; color:var(--white); line-height:1.1; }
.page-hero h1 em { font-style:italic; color:var(--teal-light); }
.page-hero p { font-size:0.88rem; font-weight:300; color:rgba(216,240,245,0.78); margin-top:1.2rem; max-width:500px; margin-left:auto; margin-right:auto; line-height:1.9; }

/* ── HERO (home) ─────────────────────────────────────────── */
.hero { height:100vh; min-height:700px; position:relative; display:flex; align-items:center; overflow:hidden; }
.hero-bg {
  position:absolute; inset:0;
  background:
    linear-gradient(to right,rgba(12,43,51,0.88) 40%,rgba(12,43,51,0.3) 100%),
    url('images/hero-home.jpg') center/cover no-repeat;
}
.hero-content { position:relative; padding:0 5%; max-width:700px; animation:fadeUp 1s ease 0.3s both; }
@keyframes fadeUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
.hero-eyebrow { display:flex; align-items:center; gap:0.8rem; margin-bottom:1.5rem; }
.hero-eyebrow span { font-size:0.7rem; font-weight:500; letter-spacing:0.25em; text-transform:uppercase; color:var(--teal); }
.hero-eyebrow::before, .hero-eyebrow::after { content:''; flex:0 0 40px; height:1px; background:var(--teal); opacity:0.5; }
.hero h1 { font-family:var(--font-serif); font-size:clamp(3rem,7vw,5.5rem); font-weight:300; line-height:1.1; color:var(--white); margin-bottom:1.5rem; }
.hero h1 em { font-style:italic; color:var(--teal-light); }
.hero p { font-size:0.9rem; font-weight:300; line-height:1.9; color:rgba(216,240,245,0.75); margin-bottom:2.5rem; max-width:480px; }
.hero-btns { display:flex; gap:1rem; flex-wrap:wrap; }
.hero-scroll { position:absolute; bottom:2.5rem; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:0.5rem; opacity:0.45; animation:pulse 2s infinite; color:var(--white); }
@keyframes pulse { 0%,100%{opacity:0.45}50%{opacity:0.85} }
.hero-scroll span { font-size:0.6rem; letter-spacing:0.2em; text-transform:uppercase; }
.hero-scroll svg { width:20px; height:20px; }

/* ── STATS BAR ───────────────────────────────────────────── */
.stats-bar { background:var(--bg-dark); border-top:1px solid var(--border-light); border-bottom:1px solid var(--border-light); padding:2.5rem 5%; display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.stat-item { text-align:center; padding:0.5rem; }
.stat-item .num { font-family:var(--font-serif); font-size:2.8rem; font-weight:300; color:var(--teal); line-height:1; display:block; }
.stat-item .label { font-size:0.65rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-muted); margin-top:0.4rem; display:block; }

/* ── SERVICES SECTION (home) ─────────────────────────────── */
.services-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:4rem; flex-wrap:wrap; gap:2rem; }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border-light); }
.service-card { background:var(--bg-section); padding:3rem 2.5rem; position:relative; overflow:hidden; transition:all 0.35s; cursor:default; }
.service-card::before { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:var(--teal); transition:width 0.4s; }
.service-card:hover { background:var(--white); box-shadow:0 4px 24px rgba(43,188,212,0.08); }
.service-card:hover::before { width:100%; }
.service-icon { width:52px; height:52px; margin-bottom:2rem; }
.service-card h3 { font-family:var(--font-serif); font-size:1.5rem; font-weight:400; color:var(--text-primary); margin-bottom:0.8rem; }
.service-card p { font-size:0.82rem; font-weight:300; line-height:1.85; color:var(--text-secondary); }
.service-num { position:absolute; top:2rem; right:2rem; font-family:var(--font-serif); font-size:3.5rem; font-weight:300; color:rgb(43 188 212 / 43%); line-height:1; }

/* ── DESTINATIONS ────────────────────────────────────────── */
.destinations-header { text-align:center; margin-bottom:4rem; }
.destinations-header .section-sub { margin:0 auto; }
.dest-grid { display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:300px 300px; gap:16px; }
.dest-card { position:relative; overflow:hidden; cursor:pointer; }
.dest-card:first-child { grid-row:1/3; }
.dest-card img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s; }
.dest-card:hover img { transform:scale(1.06); }
.dest-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(12,43,51,0.88) 0%,transparent 55%); display:flex; flex-direction:column; justify-content:flex-end; padding:1.5rem; }
.dest-tag { font-size:0.62rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--teal); margin-bottom:0.3rem; }
.dest-name { font-family:var(--font-serif); font-size:1.6rem; font-weight:400; color:var(--white); line-height:1.15; }

/* ── HONEYMOON SPLIT ─────────────────────────────────────── */
.honeymoon { display:grid; grid-template-columns:1fr 1fr; gap:0; padding:0; background:var(--bg-section); }
.honeymoon-img { position:relative; min-height:600px; overflow:hidden; }
.honeymoon-img img { width:100%; height:100%; object-fit:cover; }
.honeymoon-content { padding:6rem 5%; display:flex; flex-direction:column; justify-content:center; }
.honeymoon-features { margin:2.5rem 0; display:flex; flex-direction:column; gap:1.2rem; }
.feature-item { display:flex; align-items:flex-start; gap:1rem; }
.feature-dot { flex-shrink:0; width:6px; height:6px; border-radius:50%; background:var(--teal); margin-top:0.45rem; }
.feature-item p { font-size:0.83rem; font-weight:300; color:var(--text-secondary); line-height:1.7; }
.feature-item p strong { display:block; font-weight:500; color:var(--text-primary); margin-bottom:0.15rem; }

/* ── TESTIMONIALS ────────────────────────────────────────── */
.testimonials { text-align:center; background:var(--bg-page); }
.testimonials-header { margin-bottom:4rem; }
.testimonials-header .section-sub { margin:0 auto; }
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.testimonial-card { background:var(--bg-section); border:1px solid var(--border-card); padding:2.5rem; text-align:left; transition:border-color 0.3s,box-shadow 0.3s; }
.testimonial-card:hover { border-color:var(--teal); box-shadow:0 4px 20px rgba(43,188,212,0.1); }
.quote-mark { font-family:var(--font-serif); font-size:5rem; font-weight:300; color:var(--teal); opacity:0.3; line-height:0.7; margin-bottom:1.5rem; }
.testimonial-card p { font-size:0.85rem; font-weight:300; line-height:1.9; color:var(--text-secondary); margin-bottom:1.5rem; font-style:italic; }
.testimonial-author { display:flex; align-items:center; gap:0.8rem; }
.author-avatar { width:40px; height:40px; border-radius:50%; background:rgba(43,188,212,0.1); border:1px solid var(--border-card); display:flex; align-items:center; justify-content:center; font-family:var(--font-serif); font-size:1rem; color:var(--teal); }
.author-name { font-size:0.8rem; font-weight:500; color:var(--text-primary); }
.author-loc { font-size:0.7rem; color:var(--text-muted); margin-top:0.1rem; }

/* ── CTA BANNER ──────────────────────────────────────────── */
.cta-banner {
  background:linear-gradient(rgba(12,43,51,0.75),rgba(12,43,51,0.75)),
    url('images/cta-banner.jpg') center/cover;
  padding:7rem 5%; text-align:center;
}
.cta-banner h2 { font-family:var(--font-serif); font-size:clamp(2rem,5vw,4rem); font-weight:300; color:var(--white); margin-bottom:1.2rem; }
.cta-banner h2 em { font-style:italic; color:var(--teal-light); }
.cta-banner p { font-size:0.88rem; font-weight:300; color:rgba(216,240,245,0.75); margin-bottom:2.5rem; max-width:500px; margin-left:auto; margin-right:auto; line-height:1.9; }

/* ── FOOTER ──────────────────────────────────────────────── */
footer { background:var(--bg-dark); border-top:1px solid var(--border-light); padding:5rem 5% 2.5rem; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; margin-bottom:4rem; }
.footer-brand img { height:56px; margin-bottom:1.5rem; }
.footer-brand p { font-size:0.8rem; font-weight:300; line-height:1.9; color:var(--text-muted); max-width:280px; margin-bottom:1.5rem; }
.social-links { display:flex; gap:0.8rem; }
.social-link { /*width:36px; height:36px;*/ width:40px; height:40px; border:1px solid rgba(43,188,212,0.25); display:flex; align-items:center; justify-content:center; color:var(--text-muted); text-decoration:none; transition:all 0.2s; }
.social-link img { width:22px; height:22px; display:block; object-fit:contain; margin:auto; vertical-align:middle; line-height:0; }
.social-link:hover img { filter:brightness(0) saturate(100%) invert(59%) sepia(72%) saturate(398%) hue-rotate(152deg) brightness(92%) contrast(88%); }
.social-link:hover { border-color:var(--teal); color:var(--teal); background:rgba(43,188,212,0.08); }
.footer-col h4 { font-size:0.68rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--teal); margin-bottom:1.5rem; }
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:0.7rem; }
.footer-col ul li a { font-size:0.82rem; font-weight:300; color:var(--text-muted); text-decoration:none; transition:color 0.2s; }
.footer-col ul li a:hover { color:var(--teal-light); }
.footer-contact li { display:flex; gap:0.7rem; font-size:0.82rem; font-weight:300; color:var(--text-muted); margin-bottom:0.8rem; line-height:1.6; align-items:flex-start; }
.footer-contact li span.icon { color:var(--teal); flex-shrink:0; }
.footer-contact a { color:var(--text-muted); text-decoration:none; }
.footer-contact a:hover { color:var(--teal-light); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.08); padding-top:2rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.footer-bottom p { font-size:0.75rem; font-weight:300; color:var(--text-muted); }
.footer-bottom a { color:var(--teal); text-decoration:none; }

/* ── ABOUT PAGE ──────────────────────────────────────────── */
.story-section { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
.story-img-wrap { position:relative; }
.story-img-wrap img { width:100%; height:520px; object-fit:cover; }
.story-badge { position:absolute; bottom:-2rem; right:-2rem; width:130px; height:130px; background:var(--teal); display:flex; flex-direction:column; align-items:center; justify-content:center; }
.story-badge span:first-child { font-family:var(--font-serif); font-size:3.2rem; font-weight:300; color:var(--white); line-height:1; }
.story-badge span:last-child { font-size:0.6rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--white); opacity:0.85; }
.story-content p { font-size:0.88rem; font-weight:300; line-height:2; color:var(--text-secondary); margin-bottom:1.2rem; }
.story-content p strong { color:var(--text-primary); font-weight:500; }

.values-header { text-align:center; margin-bottom:4rem; }
.values-header .section-sub { margin:0 auto; }
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.value-card { background:var(--bg-card); border:1px solid var(--border-card); padding:2.5rem 2rem; text-align:center; transition:border-color 0.3s,transform 0.3s,box-shadow 0.3s; }
.value-card:hover { border-color:var(--teal); transform:translateY(-4px); box-shadow:0 8px 24px rgba(43,188,212,0.1); }
.value-icon { width:56px; height:56px; margin:0 auto 1.5rem; }
.value-card h3 { font-family:var(--font-serif); font-size:1.3rem; font-weight:400; color:var(--text-primary); margin-bottom:0.7rem; }
.value-card p { font-size:0.8rem; font-weight:300; line-height:1.8; color:var(--text-secondary); }

.offices-header { text-align:center; margin-bottom:4rem; }
.offices-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; max-width:800px; margin:0 auto; }
.office-card { background:var(--bg-card); border:1px solid var(--border-card); padding:2.5rem; transition:border-color 0.3s,box-shadow 0.3s; }
.office-card:hover { border-color:var(--teal); box-shadow:0 4px 20px rgba(43,188,212,0.1); }
.office-flag { font-size:2rem; margin-bottom:1rem; }
.office-card h3 { font-family:var(--font-serif); font-size:1.4rem; font-weight:400; color:var(--text-primary); margin-bottom:0.5rem; }
.office-card p { font-size:0.82rem; font-weight:300; color:var(--text-secondary); line-height:1.7; }
.office-card a { color:var(--teal); text-decoration:none; }
.office-card a:hover { color:var(--teal-dark); }

.timeline-header { text-align:center; margin-bottom:4rem; }
.timeline { max-width:700px; margin:0 auto; position:relative; padding-left:2.5rem; }
.timeline::before { content:''; position:absolute; left:0; top:0; bottom:0; width:1px; background:var(--border-card); }
.timeline-item { position:relative; margin-bottom:3rem; }
.timeline-item::before { content:''; position:absolute; left:-2.5rem; top:0.3rem; width:9px; height:9px; border-radius:50%; background:var(--teal); transform:translateX(-4px); }
.timeline-year { font-size:0.68rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--teal); margin-bottom:0.4rem; }
.timeline-item h3 { font-family:var(--font-serif); font-size:1.3rem; font-weight:400; color:var(--text-primary); margin-bottom:0.5rem; }
.timeline-item p { font-size:0.82rem; font-weight:300; line-height:1.8; color:var(--text-secondary); }

/* ── SERVICES PAGE ───────────────────────────────────────── */
.service-feature { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-bottom:1px; background:var(--border-light); }
.service-feature.reverse { direction:rtl; }
.service-feature.reverse > * { direction:ltr; }
.sf-img { position:relative; overflow:hidden; min-height:480px; }
.sf-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s; }
.service-feature:hover .sf-img img { transform:scale(1.04); }
.sf-content { background:var(--bg-section); padding:5rem 4rem; display:flex; flex-direction:column; justify-content:center; }
.sf-number { font-family:var(--font-serif); font-size:5rem; font-weight:300; color:rgb(43 188 212 / 43%); line-height:1; margin-bottom:0.5rem; }
.sf-content h2 { font-family:var(--font-serif); font-size:2.2rem; font-weight:300; color:var(--text-primary); margin-bottom:1rem; }
.sf-content p { font-size:0.85rem; font-weight:300; line-height:1.9; color:var(--text-secondary); margin-bottom:1rem; }
.sf-includes { margin:1.5rem 0; }
.sf-includes h4 { font-size:0.68rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--teal); margin-bottom:0.8rem; }
.sf-includes ul { list-style:none; }
.sf-includes ul li { font-size:0.82rem; font-weight:300; color:var(--text-secondary); padding:0.4rem 0; border-bottom:1px solid var(--border-light); display:flex; align-items:center; gap:0.6rem; }
.sf-includes ul li::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--teal); flex-shrink:0; }

.packages-header { text-align:center; margin-bottom:4rem; }
.packages-header .section-sub { margin:0 auto; line-height:1.9; }
.packages-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.package-card { background:var(--bg-card); border:1px solid var(--border-card); overflow:hidden; transition:all 0.35s; }
.package-card:hover { border-color:var(--teal); transform:translateY(-4px); box-shadow:0 8px 24px rgba(43,188,212,0.12); }
.package-card img { width:100%; height:220px; object-fit:cover; }
.package-body { padding:1.8rem; }
.package-tag { font-size:0.62rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--teal); margin-bottom:0.5rem; }
.package-body h3 { font-family:var(--font-serif); font-size:1.4rem; font-weight:400; color:var(--text-primary); margin-bottom:0.6rem; }
.package-body p { font-size:0.8rem; font-weight:300; color:var(--text-secondary); line-height:1.8; margin-bottom:1.2rem; }
.package-meta { display:flex; justify-content:space-between; align-items:center; border-top:1px solid var(--border-light); padding-top:1rem; }
.package-duration { font-size:0.72rem; color:var(--text-muted); }
.package-cta { font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--teal); text-decoration:none; font-weight:500; border-bottom:1px solid rgba(43,188,212,0.4); padding-bottom:1px; }
.package-cta:hover { color:var(--teal-dark); }

/* ── CONTACT PAGE ────────────────────────────────────────── */
.contact-section { padding:7rem 5%; display:grid; grid-template-columns:1fr 1.6fr; gap:6rem; align-items:start; }
.contact-info .eyebrow { font-size:0.68rem; font-weight:500; letter-spacing:0.25em; text-transform:uppercase; color:var(--teal); margin-bottom:1rem; }
.contact-info h2 { font-family:var(--font-serif); font-size:clamp(2rem,4vw,3rem); font-weight:300; color:var(--text-primary); margin-bottom:1.2rem; line-height:1.2; }
.contact-info h2 em { font-style:italic; color:var(--teal-dark); }
.contact-info > p { font-size:0.85rem; font-weight:300; line-height:1.9; color:var(--text-secondary); margin-bottom:2.5rem; }
.info-items { display:flex; flex-direction:column; gap:1.5rem; }
.info-item { display:flex; gap:1.2rem; align-items:flex-start; padding-bottom:1.5rem; border-bottom:1px solid var(--border-light); }
.info-item:last-child { border-bottom:none; }
.info-icon { width:44px; height:44px; flex-shrink:0; background:rgba(43,188,212,0.08); border:1px solid var(--border-card); display:flex; align-items:center; justify-content:center; }
.info-icon svg { width:18px; height:18px; }
.info-label { font-size:0.65rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--teal); margin-bottom:0.3rem; }
.info-value { font-size:0.88rem; font-weight:300; color:var(--text-primary); line-height:1.7; }
.info-value a { color:var(--text-primary); text-decoration:none; }
.info-value a:hover { color:var(--teal); }
.info-value .sub { font-size:0.78rem; color:var(--text-secondary); margin-top:0.15rem; display:block; }
.info-value .sub a { color:var(--text-secondary); }
.info-value .sub a:hover { color:var(--teal); }
.contact-hours { margin-top:2rem; padding:1.5rem; background:var(--bg-section); border-left:2px solid var(--teal); }
.contact-hours h4 { font-size:0.68rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--teal); margin-bottom:1rem; }
.hours-row { display:flex; justify-content:space-between; margin-bottom:0.5rem; }
.hours-row span { font-size:0.82rem; font-weight:300; color:var(--text-secondary); }
.hours-row span:last-child { color:var(--text-primary); font-weight:500; }
.contact-form-wrap { background:var(--bg-card); border:1px solid var(--border-card); padding:3rem; box-shadow:0 4px 24px rgba(43,188,212,0.06); }
.form-title { font-family:var(--font-serif); font-size:1.8rem; font-weight:300; color:var(--text-primary); margin-bottom:0.5rem; }
.form-sub { font-size:0.8rem; font-weight:300; color:var(--text-secondary); margin-bottom:2rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-bottom:1.2rem; }
.form-group { display:flex; flex-direction:column; gap:0.4rem; margin-bottom:1.2rem; }
.form-group label { font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--teal-dark); font-weight:500; }
.form-group input, .form-group select, .form-group textarea { background:var(--bg-section); border:1px solid var(--border-card); color:var(--text-primary); padding:0.85rem 1rem; font-family:var(--font-sans); font-size:0.85rem; font-weight:300; outline:none; transition:border-color 0.2s; width:100%; }
.form-group input::placeholder, .form-group textarea::placeholder { color:var(--text-muted); }
.form-group select option { background:var(--bg-page); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--teal); }
.form-group textarea { resize:vertical; min-height:130px; }
.btn-submit { width:100%; padding:1rem; background:var(--teal); color:var(--white); font-family:var(--font-sans); font-size:0.75rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; border:none; cursor:pointer; transition:all 0.25s; margin-top:0.5rem; }
.btn-submit:hover { background:var(--teal-dark); }
.form-note { font-size:0.72rem; font-weight:300; color:var(--text-muted); text-align:center; margin-top:1rem; line-height:1.6; }
.form-success { display:none; text-align:center; padding:3rem; }
.form-success .check { width:60px; height:60px; border-radius:50%; background:rgba(43,188,212,0.1); border:1px solid var(--teal); display:flex; align-items:center; justify-content:center; margin:0 auto 1.5rem; }
.form-success h3 { font-family:var(--font-serif); font-size:1.8rem; font-weight:300; color:var(--text-primary); margin-bottom:0.5rem; }
.form-success p { font-size:0.85rem; font-weight:300; color:var(--text-secondary); line-height:1.8; }
.form-success a { color:var(--teal); text-decoration:none; }
.map-section { padding:0 5% 7rem; }
.map-section h3 { font-family:var(--font-serif); font-size:1.6rem; font-weight:300; color:var(--text-primary); margin-bottom:1.5rem; }
.map-section h3 em { font-style:italic; color:var(--teal-dark); }
.map-embed { width:100%; height:380px; border:1px solid var(--border-card); }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width:900px) {
  .nav-links { display:none; }
  .hamburger { display:flex; }
  .nav-links.open { display:flex; flex-direction:column; position:fixed; top:80px; left:0; right:0; background:rgba(12,43,51,0.98); padding:2rem 5%; gap:1.5rem; border-bottom:1px solid var(--border-light); }
  .stats-bar { grid-template-columns:repeat(2,1fr); }
  .services-grid { grid-template-columns:1fr; }
  .dest-grid { grid-template-columns:1fr 1fr; grid-template-rows:240px 240px 240px; }
  .dest-card:first-child { grid-row:auto; grid-column:1/3; }
  .honeymoon { grid-template-columns:1fr; }
  .honeymoon-img { min-height:380px; }
  .testimonials-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .story-section { grid-template-columns:1fr; }
  .story-badge { right:1rem; bottom:-1.5rem; width:100px; height:100px; }
  .story-badge span:first-child { font-size:2.5rem; }
  .values-grid { grid-template-columns:repeat(2,1fr); }
  .offices-grid { grid-template-columns:1fr; }
  .service-feature, .service-feature.reverse { grid-template-columns:1fr; direction:ltr; }
  .sf-img { min-height:300px; }
  .sf-content { padding:3rem 2rem; }
  .packages-grid { grid-template-columns:1fr 1fr; }
  .contact-section { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  section { padding:5rem 5%; }
  .dest-grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .dest-card { height:260px; }
  .dest-card:first-child { grid-column:auto; }
  .footer-grid { grid-template-columns:1fr; }
  .values-grid { grid-template-columns:1fr; }
  .packages-grid { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .contact-form-wrap { padding:2rem 1.5rem; }
}

/* ── PAGE HERO BACKGROUNDS ───────────────────────────────── */
.hero-about {
  background-image: linear-gradient(to bottom, rgba(12,43,51,0.6), rgba(12,43,51,0.95)),
    url('images/hero-about.jpg');
  background-size: cover; background-position: center;
}
.hero-services {
  background-image: linear-gradient(to bottom, rgba(12,43,51,0.5), rgba(12,43,51,0.95)),
    url('images/hero-services.jpg');
  background-size: cover; background-position: center;
}
.hero-contact {
  background-image: linear-gradient(to bottom, rgba(12,43,51,0.55), rgba(12,43,51,0.96)),
    url('images/hero-contact.jpg');
  background-size: cover; background-position: center;
}

/* ── UTILITY ─────────────────────────────────────────────── */
.btn-primary.mt        { margin-top: 1rem; }
.btn-primary.start     { align-self: flex-start; }
.btn-primary.start-mt  { align-self: flex-start; margin-top: 0.5rem; }
.service-features-wrap { padding: 4rem 0; }
.office-contact        { margin-top: 0.8rem; }
.office-contact span   { display: block; margin-top: 0.2rem; }
.success-note          { margin-top: 0.8rem; }
