/* ============================================================
   Seychelles.fi — editorial design system
   Fraunces (display) · Space Grotesk (labels/UI) · Hanken Grotesk (body)
   Warm bone / ink / petrol / clay. Sharp edges, hairline rules.
   Reference register: high-end travel editorial, Nordic sharpness.
   ============================================================ */

:root{
  --paper:#f4f0e7;        /* warm bone */
  --paper-2:#fbf8f1;      /* card / lifted */
  --ink:#1d2b27;          /* deep petrol-charcoal (text, footer) — NOT black */
  --ink-soft:#4b574f;     /* secondary text */
  --muted:#79786c;        /* tertiary */
  --petrol:#0d322c;       /* deep sea-green — dark panels & sections */
  --petrol-2:#13413a;
  --gold:#a9823f;         /* antique brass — primary accent on light */
  --gold-deep:#7c5d2a;    /* deeper gold — readable labels on bone */
  --champagne:#d2b274;    /* champagne — accents & numbers on dark panels */
  --clay:#a9823f;         /* alias → gold (legacy refs) */
  --clay-deep:#7c5d2a;    /* alias → gold-deep */
  --sand:#d2b274;         /* alias → champagne */
  --sand-deep:#8a6c38;
  --line:rgba(29,43,39,.16);
  --line-2:rgba(29,43,39,.28);
  --line-dark:rgba(255,255,255,.16);
  --white:#fff;

  --maxw:1240px;
  --gut:clamp(20px,5vw,64px);

  --f-disp:'Fraunces',Georgia,serif;
  --f-ui:'Space Grotesk',ui-monospace,monospace;
  --f-body:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,sans-serif;

  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--f-body);font-size:17px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--clay-deep);text-decoration:none;transition:color .2s var(--ease);}
a:hover{color:var(--clay);}
::selection{background:var(--clay);color:#fff;}

h1,h2,h3,h4{font-family:var(--f-disp);font-weight:400;color:var(--ink);margin:0 0 .4em;line-height:1.04;letter-spacing:-.01em;}
h1{font-size:clamp(2.8rem,7vw,6.2rem);font-optical-sizing:auto;}
h2{font-size:clamp(2rem,4.4vw,3.6rem);}
h3{font-size:clamp(1.4rem,2.4vw,2rem);}
p{margin:0 0 1.1em;}
strong{font-weight:600;}

.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut);}

/* shared label / eyebrow */
.section-eyebrow,.eyebrow{
  font-family:var(--f-ui);font-size:.72rem;font-weight:600;
  letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep);
  display:inline-block;margin-bottom:18px;
}
.section-title{margin-bottom:22px;max-width:18ch;}
.section-intro{max-width:62ch;color:var(--ink-soft);font-size:1.18rem;line-height:1.6;margin-bottom:54px;}

/* sharp editorial buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  font-family:var(--f-ui);font-size:.82rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:17px 32px;border:1px solid transparent;border-radius:0;cursor:pointer;text-decoration:none;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .2s var(--ease);
  position:relative;
}
.btn-primary{background:var(--gold);color:var(--ink) !important;}
.btn-primary:hover{background:var(--gold-deep);color:#fff !important;transform:translateY(-2px);}
.btn-ghost{background:transparent;color:#fff !important;border-color:rgba(255,255,255,.6);}
.btn-ghost:hover{background:#fff;color:var(--ink) !important;border-color:#fff;}
.btn-gold{background:var(--champagne);color:var(--ink) !important;}
.btn-gold:hover{background:#e3c88e;color:var(--ink) !important;transform:translateY(-2px);}
.btn-light{background:var(--petrol);color:var(--paper) !important;}
.btn-light:hover{background:var(--petrol-2);color:#fff !important;transform:translateY(-2px);}

/* ============================================================
   Header
   ============================================================ */
.site-header{
  position:sticky;top:0;z-index:60;background:rgba(241,236,225,.82);
  backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0;}
.logo{font-family:var(--f-disp);font-size:1.5rem;font-weight:500;color:var(--ink);letter-spacing:-.02em;}
.logo .dot{color:var(--clay);}
.logo .fi{font-family:var(--f-ui);font-size:.7em;font-weight:500;color:var(--muted);letter-spacing:0;margin-left:1px;}
nav.main-nav{display:flex;gap:30px;align-items:center;}
nav.main-nav a{font-family:var(--f-ui);font-size:.82rem;font-weight:500;letter-spacing:.04em;color:var(--ink);text-transform:uppercase;}
nav.main-nav a:hover{color:var(--clay);}
.nav-cta{border:1px solid var(--ink);padding:10px 18px !important;color:var(--ink) !important;transition:all .2s var(--ease);}
.nav-cta:hover{background:var(--ink);color:var(--paper) !important;}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px;}
.burger span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;transition:.2s;}

@media(max-width:1000px){
  nav.main-nav{
    position:fixed;top:63px;left:0;right:0;background:var(--paper);
    flex-direction:column;align-items:flex-start;padding:32px var(--gut);gap:6px;
    border-bottom:1px solid var(--line);
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);
    transition:opacity .22s var(--ease),transform .22s var(--ease),visibility 0s linear .22s;
  }
  nav.main-nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .22s var(--ease),transform .22s var(--ease);}
  nav.main-nav a{font-size:1.1rem;padding:10px 0;}
  .nav-cta{margin-top:10px;}
  .burger{display:block;}
}

/* ============================================================
   Hero — full-bleed cinematic, editorial overlay
   ============================================================ */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;overflow:hidden;isolation:isolate;background:var(--petrol);}
.hero-slides{position:absolute;inset:0;z-index:-2;}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:heroFade 27s infinite;}
.hero-slide:nth-child(1){background-image:url('/img/hero-1.jpg');animation-delay:0s;}
.hero-slide:nth-child(2){background-image:url('/img/hero-2.jpg');animation-delay:9s;}
.hero-slide:nth-child(3){background-image:url('/img/hero-3.jpg');animation-delay:18s;}
@keyframes heroFade{0%{opacity:0;transform:scale(1.06);}7%{opacity:1;}33%{opacity:1;transform:scale(1.005);}40%{opacity:0;}100%{opacity:0;}}
@media(prefers-reduced-motion:reduce){.hero-slide{animation:none;}.hero-slide:nth-child(1){opacity:1;}}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,26,25,.30) 0%,rgba(8,26,25,.05) 35%,rgba(8,26,25,.85) 100%);}

/* top meta strip */
.hero-meta{
  position:absolute;top:0;left:0;right:0;z-index:3;
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:88px var(--gut) 0;
  font-family:var(--f-ui);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.72);
}
.hero-meta span{display:inline-flex;align-items:center;gap:8px;}
.hero-meta .hm-line{flex:1;height:1px;background:rgba(255,255,255,.28);}
@media(max-width:760px){.hero-meta{display:none;}}

.hero-inner{padding:0 var(--gut) clamp(60px,9vh,120px);max-width:1000px;position:relative;z-index:2;}
.hero .eyebrow{color:var(--sand);}
.hero h1{color:#fff;font-weight:300;letter-spacing:-.02em;margin-bottom:26px;text-shadow:0 2px 40px rgba(0,0,0,.28);}
.hero h1 em{font-style:italic;font-weight:400;color:var(--sand);}
.hero .lead{font-size:clamp(1.05rem,1.5vw,1.28rem);max-width:60ch;color:rgba(255,255,255,.92);margin-bottom:36px;font-weight:400;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;}

.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:3;color:rgba(255,255,255,.7);display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--f-ui);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;}
.scroll-cue .mouse{width:22px;height:34px;border:1.5px solid rgba(255,255,255,.5);border-radius:12px;position:relative;}
.scroll-cue .mouse::after{content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);width:2px;height:7px;background:rgba(255,255,255,.85);animation:scrollDot 1.8s infinite;}
@keyframes scrollDot{0%{opacity:0;top:6px;}40%{opacity:1;}80%{opacity:0;top:16px;}100%{opacity:0;}}

/* ============================================================
   Sections — generous, numbered, editorial
   ============================================================ */
section{padding:clamp(72px,11vh,140px) 0;position:relative;}
section.tight{padding:clamp(48px,7vh,80px) 0;}
section.sand{background:var(--paper-2);}
section.ocean-soft{background:var(--paper-2);}
section.navy{background:var(--petrol);color:#fff;}
section.navy h1,section.navy h2,section.navy h3{color:#fff;}

/* section header with index number */
.sec-head{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,56px);align-items:start;margin-bottom:clamp(40px,6vh,72px);}
.sec-num{font-family:var(--f-ui);font-size:.82rem;font-weight:600;letter-spacing:.1em;color:var(--gold-deep);padding-top:10px;border-top:1px solid var(--line-2);}
.sec-head .section-eyebrow{margin-bottom:14px;}
.sec-head .section-intro{margin-bottom:0;}
@media(max-width:680px){.sec-head{grid-template-columns:1fr;gap:8px;}.sec-num{border-top:0;padding-top:0;}}

/* ============================================================
   Kaamos — the Finnish soul (dark, editorial)
   ============================================================ */
.kaamos{background:var(--petrol);color:#fff;}
.kaamos .section-eyebrow{color:var(--sand);}
.kaamos .section-title{color:#fff;max-width:20ch;font-weight:300;}
.kaamos .section-title em{font-style:italic;color:var(--sand);}
.kaamos .section-intro{color:rgba(255,255,255,.78);}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);}
.stat{padding:36px 28px 30px;border-right:1px solid var(--line-dark);}
.stat:last-child{border-right:0;}
.stat-num{font-family:var(--f-disp);font-size:clamp(2.6rem,4vw,3.6rem);font-weight:300;color:var(--sand);line-height:1;margin-bottom:14px;letter-spacing:-.02em;}
.stat-num span{font-size:.4em;color:rgba(255,255,255,.55);margin-left:3px;}
.stat-label{font-size:.92rem;color:rgba(255,255,255,.7);line-height:1.45;}
.kaamos-note{margin-top:56px;max-width:74ch;}
.kaamos-note p{margin:0;font-family:var(--f-disp);font-size:clamp(1.3rem,2.2vw,1.85rem);line-height:1.45;font-weight:300;color:rgba(255,255,255,.92);}
.kaamos-note strong{color:var(--sand);font-weight:500;}
@media(max-width:760px){.stat-row{grid-template-columns:repeat(2,1fr);}.stat{border-bottom:1px solid var(--line-dark);}.stat:nth-child(odd){border-right:1px solid var(--line-dark);}.stat:nth-child(even){border-right:0;}}

/* ============================================================
   Trip + budget planner
   ============================================================ */
.planner{background:var(--paper-2);border:1px solid var(--line);margin-top:clamp(-90px,-9vh,-60px);position:relative;z-index:5;}
.planner-head{padding:clamp(28px,4vw,48px) clamp(28px,4vw,48px) 0;}
.planner-head h2{font-weight:400;}
.planner-sub{color:var(--ink-soft);font-size:1.05rem;max-width:60ch;margin:10px 0 0;}
.planner-grid{display:grid;grid-template-columns:1.05fr .95fr;}
@media(max-width:880px){.planner-grid{grid-template-columns:1fr;}}
.planner-controls{padding:clamp(28px,4vw,48px);border-right:1px solid var(--line);}
@media(max-width:880px){.planner-controls{border-right:0;border-bottom:1px solid var(--line);}}
.pc-step{margin-bottom:30px;}.pc-step:last-child{margin-bottom:0;}
.pc-label{display:flex;align-items:center;gap:12px;font-family:var(--f-ui);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:16px;}
.pc-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--clay);color:var(--clay);font-size:.72rem;flex:0 0 auto;}

.island-chips{display:flex;gap:10px;flex-wrap:wrap;}
.chip{display:inline-flex;align-items:center;gap:9px;padding:11px 18px;border:1px solid var(--line-2);background:transparent;font-family:var(--f-ui);font-size:.82rem;font-weight:500;letter-spacing:.04em;color:var(--muted);cursor:pointer;border-radius:0;transition:all .18s var(--ease);}
.chip:hover{border-color:var(--ink);color:var(--ink);}
.chip.active{background:var(--ink);border-color:var(--ink);color:var(--paper);}
.chip-dot{width:8px;height:8px;border-radius:50%;display:inline-block;opacity:.5;}
.chip.active .chip-dot{opacity:1;}

.nights-control{display:flex;align-items:center;gap:18px;margin-bottom:18px;}
.step-btn{width:44px;height:44px;border:1px solid var(--line-2);background:transparent;font-family:var(--f-disp);font-size:1.5rem;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .15s var(--ease);}
.step-btn:hover{border-color:var(--ink);background:var(--ink);color:var(--paper);}
.nights-value{font-family:var(--f-disp);font-size:1.7rem;font-weight:400;color:var(--ink);min-width:104px;}
.nights-value small{font-family:var(--f-body);font-size:.9rem;color:var(--muted);}
.nights-range{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:var(--line-2);outline:none;cursor:pointer;}
.nights-range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:0;background:var(--clay);cursor:pointer;}
.nights-range::-moz-range-thumb{width:20px;height:20px;border-radius:0;background:var(--clay);border:0;cursor:pointer;}

.month-pills{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;}
.mp{padding:11px 0;border:1px solid var(--line-2);background:transparent;font-family:var(--f-ui);font-size:.78rem;font-weight:500;color:var(--muted);cursor:pointer;text-align:center;position:relative;transition:all .15s var(--ease);}
.mp:hover{border-color:var(--ink);color:var(--ink);}
.mp.active{background:var(--petrol);border-color:var(--petrol);color:#fff;}
.mp .mp-rate{position:absolute;top:4px;right:5px;width:5px;height:5px;border-radius:50%;}
.mp-rate.best{background:#3fa34d;}.mp-rate.good{background:var(--sand);}.mp-rate.ok{background:#b9b3a4;}
.mp.active .mp-rate{display:none;}
.rate-legend{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap;}
.rate-legend span{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-ui);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.rate-legend .dot{width:7px;height:7px;border-radius:50%;}
.rate-legend .dot.best{background:#3fa34d;}.rate-legend .dot.good{background:var(--sand);}.rate-legend .dot.ok{background:#b9b3a4;}
.flight-toggle{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:.9rem;color:var(--ink-soft);cursor:pointer;}
.flight-toggle input{width:18px;height:18px;accent-color:var(--clay);cursor:pointer;}

.planner-output{padding:clamp(28px,4vw,48px);background:var(--petrol);color:#fff;display:flex;flex-direction:column;}
.po-weather{display:flex;align-items:flex-start;gap:14px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line-dark);}
.po-weather .pw-emoji{font-size:1.7rem;}
.po-weather .pw-text h5{font-family:var(--f-ui);font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;color:var(--sand);}
.po-weather .pw-text p{margin:0;font-size:.92rem;color:rgba(255,255,255,.75);line-height:1.5;}
.po-itinerary h4{font-family:var(--f-ui);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:600;margin-bottom:14px;}
#itineraryList{list-style:none;padding:0;margin:0 0 22px;}
#itineraryList li{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line-dark);}
#itineraryList li:last-child{border-bottom:0;}
.iti-badge{flex:0 0 auto;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-family:var(--f-disp);font-size:1.3rem;color:var(--ink);background:var(--sand);}
.iti-meta{flex:1;}
.iti-meta strong{display:block;color:#fff;font-size:1rem;font-weight:600;}
.iti-meta span{font-size:.85rem;color:rgba(255,255,255,.6);}
.iti-hotel{flex:0 0 auto;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line-dark);transition:all .15s var(--ease);}
.iti-hotel svg{stroke:var(--sand);}
.iti-hotel:hover{background:var(--sand);}.iti-hotel:hover svg{stroke:var(--ink);}
.iti-empty{color:rgba(255,255,255,.6);font-size:.92rem;padding:10px 0;}
.po-budget{border:1px solid var(--line-dark);padding:18px 20px;margin-bottom:18px;}
.bud-head{display:flex;justify-content:space-between;align-items:baseline;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line-dark);}
.bud-head span{font-family:var(--f-ui);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.bud-head strong{font-family:var(--f-disp);font-size:1.7rem;font-weight:400;color:var(--sand);}
.bud-rows{display:flex;flex-direction:column;gap:9px;}
.bud-rows div{display:flex;justify-content:space-between;font-size:.9rem;}
.bud-rows div span:first-child{color:rgba(255,255,255,.65);}
.bud-rows div span:last-child{color:#fff;font-weight:600;font-family:var(--f-ui);}
.bud-note{font-size:.74rem;color:rgba(255,255,255,.5);margin:12px 0 0;line-height:1.45;}
.po-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px;}
.po-actions .btn{width:100%;}
.po-actions .btn-primary{background:var(--champagne);color:var(--petrol) !important;}
.po-actions .btn-primary:hover{background:#e3c88e;color:var(--petrol) !important;}
.po-actions .btn-light{background:transparent;color:var(--champagne) !important;border:1px solid rgba(210,178,116,.5);}
.po-actions .btn-light:hover{background:var(--champagne);color:var(--petrol) !important;border-color:var(--champagne);}
.po-note{font-family:var(--f-ui);font-size:.68rem;letter-spacing:.04em;color:rgba(255,255,255,.45);margin:16px 0 0;text-align:center;}

/* ============================================================
   Honest pricing
   ============================================================ */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);}
@media(max-width:860px){.price-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:540px){.price-grid{grid-template-columns:1fr;}}
.price-card{padding:34px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s var(--ease);}
.price-card:hover{background:var(--paper-2);}
.pc-top{display:flex;align-items:center;gap:12px;margin-bottom:18px;}
.pc-ic{font-size:1.4rem;}
.pc-top h3{font-family:var(--f-ui);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin:0;color:var(--muted);}
.pc-price{font-family:var(--f-disp);font-size:2.2rem;font-weight:400;color:var(--ink);margin-bottom:12px;line-height:1;}
.pc-price small{font-family:var(--f-ui);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--clay);font-weight:500;}
.price-card p{font-size:.95rem;color:var(--ink-soft);margin:0;line-height:1.6;}
.price-example{margin-top:0;background:var(--petrol);color:#fff;padding:clamp(32px,5vw,52px);display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.price-example .section-eyebrow{color:var(--sand);}
.price-example h3{color:#fff;font-size:1.8rem;}
.price-example p{color:rgba(255,255,255,.72);margin:6px 0 0;font-size:.95rem;}
.pe-figure{text-align:left;}
.pe-figure strong{display:block;font-family:var(--f-disp);font-size:clamp(2.4rem,4vw,3.2rem);font-weight:300;color:var(--sand);line-height:1;}
.pe-figure span{font-family:var(--f-ui);font-size:.78rem;letter-spacing:.04em;color:rgba(255,255,255,.65);}
@media(max-width:680px){.price-example{flex-direction:column;align-items:stretch;}}

/* ============================================================
   Affiliate "book it yourself" grid
   ============================================================ */
.book-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);}
@media(max-width:820px){.book-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:540px){.book-grid{grid-template-columns:1fr;}}
.book-cell{display:flex;flex-direction:column;padding:34px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background .2s var(--ease);}
.book-cell:hover{background:var(--paper-2);}
.book-cell .bc-ic{font-size:1.5rem;margin-bottom:16px;}
.book-cell h3{font-family:var(--f-disp);font-size:1.55rem;font-weight:400;margin-bottom:8px;color:var(--ink);}
.book-cell p{font-size:.94rem;color:var(--ink-soft);margin:0 0 20px;flex:1;line-height:1.55;}
.book-cell .bc-go{font-family:var(--f-ui);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);display:inline-flex;align-items:center;gap:8px;}
.book-cell .bc-go::after{content:"\2192";transition:transform .2s var(--ease);}
.book-cell:hover .bc-go::after{transform:translateX(5px);}
.book-cell .bc-via{font-family:var(--f-ui);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:7px;}
.book-disc{font-family:var(--f-ui);font-size:.74rem;letter-spacing:.04em;color:var(--muted);margin-top:22px;max-width:70ch;line-height:1.6;}

/* ============================================================
   Islands — editorial tall panels
   ============================================================ */
.islands{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);border:1px solid var(--line);}
@media(max-width:780px){.islands{grid-template-columns:1fr;}}
.island{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--petrol);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;text-decoration:none;}
.island::before{content:"";position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;transition:transform .8s var(--ease);}
.island::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,26,25,.1) 0%,transparent 40%,rgba(8,26,25,.88) 100%);}
.island>*{position:relative;z-index:2;}
.island:hover::before{transform:scale(1.06);}
.island.mahe::before{background-image:url('/img/island-mahe.jpg');}
.island.praslin::before{background-image:url('/img/island-praslin.jpg');}
.island.la-digue::before{background-image:url('/img/island-ladigue.jpg');}
.island-tag{align-self:flex-start;margin-bottom:auto;font-family:var(--f-ui);font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.45);padding:6px 12px;}
.island h3{color:#fff;font-size:2.2rem;font-weight:400;font-style:italic;margin-bottom:8px;}
.island p{color:rgba(255,255,255,.82);font-size:.92rem;margin:0;}

/* ============================================================
   Premium — split, sharp
   ============================================================ */
.premium{background:var(--petrol);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);}
.premium>div:first-child{padding:clamp(36px,5vw,64px);}
.premium .eyebrow{color:var(--sand);}
.premium h2{color:#fff;font-weight:300;margin-bottom:20px;}
.premium h2 em{font-style:italic;color:var(--sand);}
.premium p{color:rgba(255,255,255,.78);margin-bottom:26px;}
.premium-cards{display:flex;flex-direction:column;border-left:1px solid var(--line-dark);}
.premium-card{flex:1;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:clamp(24px,3vw,34px) clamp(28px,4vw,44px);border-bottom:1px solid var(--line-dark);color:#fff;text-decoration:none;transition:background .2s var(--ease);}
.premium-card:last-child{border-bottom:0;}
.premium-card:hover{background:rgba(255,255,255,.05);color:#fff;}
.premium-card h4{font-family:var(--f-disp);font-size:1.4rem;font-weight:400;font-style:italic;color:#fff;margin-bottom:5px;}
.premium-card p{color:rgba(255,255,255,.62);font-size:.9rem;margin:0;}
.premium-card .chev{font-family:var(--f-ui);color:var(--sand);font-size:1.3rem;flex:0 0 auto;}
@media(max-width:820px){.premium{grid-template-columns:1fr;}.premium-cards{border-left:0;border-top:1px solid var(--line-dark);}}

/* ============================================================
   Trust
   ============================================================ */
.trust{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);}
.trust-item{padding:34px 28px 30px;border-right:1px solid var(--line);}
.trust-item:last-child{border-right:0;}
.trust-item .icon{width:32px;height:32px;color:var(--clay);margin-bottom:16px;}
.trust-item .icon svg{width:100%;height:100%;}
.trust-item h4{font-family:var(--f-ui);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;color:var(--ink);}
.trust-item p{font-size:.92rem;color:var(--ink-soft);margin:0;line-height:1.55;}
@media(max-width:820px){.trust{grid-template-columns:repeat(2,1fr);}.trust-item{border-bottom:1px solid var(--line);}.trust-item:nth-child(odd){border-right:1px solid var(--line);}.trust-item:nth-child(even){border-right:0;}}
@media(max-width:480px){.trust{grid-template-columns:1fr;}.trust-item{border-right:0 !important;}}

/* ============================================================
   FAQ
   ============================================================ */
.faq{max-width:80ch;border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);padding:6px 0;}
.faq-item summary{cursor:pointer;font-family:var(--f-disp);font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:400;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-family:var(--f-body);color:var(--clay);font-size:1.6rem;font-weight:300;transition:transform .25s var(--ease);}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item .answer{padding:0 0 24px;color:var(--ink-soft);font-size:1rem;line-height:1.7;max-width:70ch;}

/* ============================================================
   Footer
   ============================================================ */
.site-footer{background:var(--ink);color:rgba(255,255,255,.62);padding:clamp(56px,8vh,90px) 0 32px;font-size:.92rem;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px;}
.site-footer h5{font-family:var(--f-ui);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.85);margin-bottom:20px;}
.site-footer a{color:rgba(255,255,255,.62);}
.site-footer a:hover{color:var(--sand);}
.site-footer ul{list-style:none;padding:0;margin:0;}
.site-footer li{margin-bottom:11px;}
.footer-brand{font-family:var(--f-disp);font-size:1.7rem;color:#fff;margin-bottom:16px;}
.footer-tag{max-width:38ch;line-height:1.6;color:rgba(255,255,255,.6);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:30px;border-top:1px solid var(--line-dark);flex-wrap:wrap;gap:14px;font-family:var(--f-ui);font-size:.74rem;letter-spacing:.04em;color:rgba(255,255,255,.4);text-transform:uppercase;}
@media(max-width:780px){.footer-grid{grid-template-columns:1fr 1fr;gap:36px;}}
@media(max-width:460px){.footer-grid{grid-template-columns:1fr;}}

/* ============================================================
   Utilities
   ============================================================ */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.on{opacity:1;transform:none;}
.text-center{text-align:center;}
.mb-0{margin-bottom:0 !important;}
.mt-0{margin-top:0 !important;}

/* ============================================================
   INTERIOR PAGES — shared components
   ============================================================ */

/* compact page hero (petrol, with breadcrumb) */
.page-hero{position:relative;background:var(--petrol);color:#fff;padding:clamp(120px,16vh,180px) 0 clamp(56px,9vh,96px);overflow:hidden;isolation:isolate;}
.page-hero.has-img::before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;}
.page-hero.has-img::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,30,28,.55),rgba(10,30,28,.82));}
.page-hero .eyebrow{color:var(--sand);}
.page-hero h1{color:#fff;font-weight:300;max-width:18ch;margin-bottom:22px;letter-spacing:-.02em;}
.page-hero h1 em{font-style:italic;color:var(--sand);}
.page-hero .lead{font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:62ch;color:rgba(255,255,255,.9);margin:0;}
.page-hero .hero-cta{margin-top:34px;}
.breadcrumb{font-family:var(--f-ui);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:26px;}
.breadcrumb a{color:rgba(255,255,255,.6);}
.breadcrumb a:hover{color:var(--sand);}
.breadcrumb span{margin:0 8px;opacity:.5;}

/* article prose */
.prose{max-width:74ch;}
.prose.wide{max-width:88ch;}
.prose h2{margin-top:1.6em;}
.prose h3{font-size:clamp(1.25rem,2vw,1.6rem);margin-top:1.4em;}
.prose p{color:var(--ink-soft);font-size:1.06rem;line-height:1.72;}
.prose .lede{font-family:var(--f-disp);font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:300;line-height:1.5;color:var(--ink);margin-bottom:1em;}
.prose ul,.prose ol{color:var(--ink-soft);font-size:1.04rem;line-height:1.7;padding-left:1.2em;margin:0 0 1.3em;}
.prose li{margin-bottom:.5em;}
.prose strong{color:var(--ink);}
.prose a{border-bottom:1px solid var(--line-2);}
.prose a:hover{border-color:var(--clay);}

/* lede tag in dark sections */
.lede-dark{font-family:var(--f-disp);font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:300;line-height:1.45;color:#fff;max-width:30ch;}

/* package / offer cards (weddings) */
.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);}
@media(max-width:880px){.pkg-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:580px){.pkg-grid{grid-template-columns:1fr;}}
.pkg-card{display:flex;flex-direction:column;padding:34px 30px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2);transition:background .2s var(--ease);}
.pkg-card.feature{background:var(--petrol);color:#fff;}
.pkg-card.feature h3,.pkg-card.feature .pkg-price{color:#fff;}
.pkg-card.feature .pkg-incl li{color:rgba(255,255,255,.82);}
.pkg-card.feature .pkg-incl li::before{color:var(--sand);}
.pkg-flag{align-self:flex-start;font-family:var(--f-ui);font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--sand);padding:5px 11px;margin-bottom:18px;}
.pkg-card.feature .pkg-flag{background:var(--champagne);}
.pkg-island{font-family:var(--f-ui);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:10px;}
.pkg-card.feature .pkg-island{color:var(--champagne);}
.pkg-card h3{font-size:1.7rem;font-weight:400;margin-bottom:14px;}
.pkg-price{font-family:var(--f-disp);font-size:2.5rem;font-weight:400;color:var(--ink);line-height:1;margin-bottom:6px;}
.pkg-price .was{font-family:var(--f-ui);font-size:.95rem;color:var(--muted);text-decoration:line-through;margin-left:8px;font-weight:500;letter-spacing:0;}
.pkg-price-note{font-family:var(--f-ui);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--clay);margin-bottom:20px;}
.pkg-card.feature .pkg-price-note{color:var(--champagne);}
.pkg-incl{list-style:none;padding:0;margin:0 0 24px;flex:1;}
.pkg-incl li{position:relative;padding-left:24px;font-size:.95rem;color:var(--ink-soft);margin-bottom:9px;line-height:1.5;}
.pkg-incl li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--gold-deep);font-weight:700;}
.pkg-card .btn{width:100%;}

/* priced add-ons / line items */
.addon-list{border-top:1px solid var(--line);max-width:760px;}
.addon{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);}
.addon-name{font-size:1.02rem;color:var(--ink);}
.addon-name small{display:block;font-size:.85rem;color:var(--muted);margin-top:2px;}
.addon-price{font-family:var(--f-ui);font-weight:600;font-size:1rem;color:var(--gold-deep);white-space:nowrap;letter-spacing:.02em;}

/* fleet grid (cars) */
.fleet-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);}
@media(max-width:980px){.fleet-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.fleet-grid{grid-template-columns:1fr;}}
.fleet-card{padding:30px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s var(--ease);}
.fleet-card:hover{background:var(--paper-2);}
.fleet-class{font-family:var(--f-ui);font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;}
.fleet-card h3{font-size:1.35rem;font-weight:400;margin-bottom:4px;}
.fleet-type{font-size:.88rem;color:var(--ink-soft);margin-bottom:18px;}
.fleet-rate{font-family:var(--f-disp);font-size:2rem;font-weight:400;color:var(--ink);line-height:1;}
.fleet-rate span{font-family:var(--f-ui);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--clay);}
/* fleet card with real per-model photo + link through to SeyBooking */
.fleet-card.has-photo{padding:0;display:flex;flex-direction:column;}
.fleet-photo{display:block;overflow:hidden;background:var(--paper-2);aspect-ratio:3/2;border-bottom:1px solid var(--line);}
.fleet-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s var(--ease);}
.fleet-card.has-photo:hover .fleet-photo img{transform:scale(1.045);}
.fleet-card-body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1;}
.fleet-card-body .fleet-rate{margin-top:auto;}
.fleet-link{margin-top:14px;align-self:flex-start;font-family:var(--f-ui);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s var(--ease);}
.fleet-link:hover{border-bottom-color:var(--gold-deep);}
.fleet-sb-cta{margin-top:28px;text-align:center;}

/* feature row (no-deposit etc) */
.feat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-dark);}
.feat{padding:30px 26px;border-right:1px solid var(--line-dark);}
.feat:last-child{border-right:0;}
.feat-big{font-family:var(--f-disp);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:300;color:var(--sand);line-height:1;margin-bottom:12px;}
.feat-label{font-size:.92rem;color:rgba(255,255,255,.72);line-height:1.45;}
section.navy .feat-row{border-color:var(--line-dark);}
@media(max-width:820px){.feat-row{grid-template-columns:1fr 1fr;}.feat{border-bottom:1px solid var(--line-dark);}.feat:nth-child(odd){border-right:1px solid var(--line-dark);}.feat:nth-child(even){border-right:0;}}

/* car quote calculator */
.calc{background:var(--paper-2);border:1px solid var(--line);padding:clamp(28px,4vw,44px);max-width:680px;}
.calc h3{font-weight:400;margin-bottom:6px;}
.calc-sub{color:var(--ink-soft);font-size:.98rem;margin-bottom:26px;}
/* car cost calculator (matches build_cars markup: .calc-row / .calc-out / .calc-line) */
.calc-row{display:flex;flex-wrap:wrap;gap:22px 34px;align-items:flex-end;margin-bottom:26px;}
.calc-row > label{display:flex;flex-direction:column;gap:10px;flex:1 1 240px;font-family:var(--f-ui);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);}
.calc-row select{width:100%;padding:13px 16px;border:1px solid var(--line-2);background:#fff;font-family:var(--f-body);font-size:1rem;color:var(--ink);border-radius:0;}
.calc-row select:focus{outline:none;border-color:var(--clay);}
.calc-row input[type=range]{width:100%;accent-color:var(--clay);margin-top:4px;}
.calc-row strong{font-family:var(--f-disp);font-size:1.15rem;font-weight:400;color:var(--clay);}
.calc-out{padding:22px 0 0;border-top:1px solid var(--line);margin-top:2px;}
.calc-line{display:flex;justify-content:space-between;align-items:baseline;gap:18px;}
.calc-line > span:first-child{font-family:var(--f-ui);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.calc-total{font-family:var(--f-disp);font-size:2.4rem;font-weight:400;color:var(--ink);line-height:1;white-space:nowrap;}
.calc-note{color:var(--ink-soft);font-size:.92rem;margin:14px 0 22px;max-width:52ch;}
.calc .btn{width:100%;}

/* instant quote calculator (qc) — date/time/locations + card line + chips */
.qc .calc-row > label{flex:1 1 200px;}
.qc input[type=date],.qc input[type=text]{width:100%;padding:13px 16px;border:1px solid var(--line-2);background:#fff;font-family:var(--f-body);font-size:1rem;color:var(--ink);border-radius:0;}
.qc input[type=date]:focus,.qc input[type=text]:focus{outline:none;border-color:var(--clay);}
.qc select[data-qc=deltime],.qc select[data-qc=rettime]{margin-top:8px;}
.qc-custom{display:none;margin-top:8px;}
.qc-scr{text-align:right;font-family:var(--f-ui);font-size:.78rem;color:var(--muted);margin-top:6px;letter-spacing:.04em;}
.qc-card-line{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);font-family:var(--f-ui);font-size:.86rem;color:var(--ink-soft);}
.qc-card-line strong{color:var(--clay);font-weight:600;}
.qc-chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 22px;}
.qc-chip{font-family:var(--f-ui);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--clay);border:1px solid var(--line-2);padding:6px 12px;white-space:nowrap;}
.qc-err{display:none;color:#b3402a;font-family:var(--f-ui);font-size:.8rem;margin:10px 0 0;}

/* wedding film grid (click-to-play YouTube facades) */
.vid-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:26px;}
.vid-facade{position:relative;display:block;width:100%;padding:0;border:0;cursor:pointer;background:#0a0a0a;overflow:hidden;aspect-ratio:16/9;}
.vid-facade img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,opacity .3s ease;}
.vid-facade:hover img{transform:scale(1.05);opacity:.82;}
.vid-facade .vid-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;}
.vid-facade .vid-play svg{filter:drop-shadow(0 6px 16px rgba(0,0,0,.55));transition:transform .2s ease;}
.vid-facade:hover .vid-play svg{transform:scale(1.08);}
.vid-facade iframe{width:100%;height:100%;border:0;display:block;}
@media(max-width:680px){.vid-grid{grid-template-columns:1fr;}}

/* recommendation block — strong "go here" affiliate card */
.recs{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
@media(max-width:760px){.recs{grid-template-columns:1fr;}}
.rec{display:flex;flex-direction:column;padding:34px 32px;border:1px solid var(--line);background:var(--paper-2);}
.rec.lead-rec{border:1px solid var(--gold);box-shadow:inset 0 0 0 1px var(--gold);}
.rec-badge{align-self:flex-start;font-family:var(--f-ui);font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--sand);padding:5px 11px;margin-bottom:18px;}
.rec h3{font-size:1.5rem;font-weight:400;margin-bottom:8px;}
.rec .rec-brand{font-family:var(--f-ui);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:16px;}
.rec p{font-size:.98rem;color:var(--ink-soft);margin:0 0 22px;flex:1;line-height:1.6;}
.rec .btn{align-self:flex-start;}
.rec-why{font-size:.9rem;color:var(--ink-soft);margin:0 0 22px;}
.rec-why li{margin-bottom:7px;}

/* how-it-works steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);}
@media(max-width:820px){.steps{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.steps{grid-template-columns:1fr;}}
.step{padding:32px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.step-n{font-family:var(--f-disp);font-size:2.4rem;font-weight:300;color:var(--clay);line-height:1;margin-bottom:14px;}
.step h4{font-family:var(--f-ui);font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;color:var(--ink);}
.step p{font-size:.92rem;color:var(--ink-soft);margin:0;line-height:1.55;}

/* CTA band (booking) */
.cta-band{background:var(--petrol);color:#fff;padding:clamp(40px,6vw,72px);display:flex;align-items:center;justify-content:space-between;gap:36px;flex-wrap:wrap;border:1px solid var(--line);}
.cta-band .eyebrow{color:var(--sand);}
.cta-band h2{color:#fff;font-weight:300;margin-bottom:10px;max-width:20ch;}
.cta-band h2 em{font-style:italic;color:var(--sand);}
.cta-band p{color:rgba(255,255,255,.78);margin:0;max-width:52ch;}
.cta-actions{display:flex;gap:14px;flex-wrap:wrap;}
.btn-wa{background:#1faf5a;color:#fff !important;}
.btn-wa:hover{background:#178f49;color:#fff !important;transform:translateY(-2px);}

/* split image + text */
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);align-items:stretch;}
@media(max-width:820px){.split{grid-template-columns:1fr;}}
.split-media{min-height:340px;background-size:cover;background-position:center;background-color:var(--petrol);}
.split-body{padding:clamp(32px,4.5vw,60px);display:flex;flex-direction:column;justify-content:center;}
.split-body.dark{background:var(--petrol);color:#fff;}
.split-body.dark h2,.split-body.dark h3{color:#fff;}
.split-body.dark p{color:rgba(255,255,255,.8);}
.split-body .eyebrow{color:var(--gold-deep);}
.split-body.dark .eyebrow{color:var(--sand);}

/* callout note */
.note{border-left:3px solid var(--gold);background:var(--paper-2);padding:22px 26px;margin:28px 0;font-size:1rem;color:var(--ink-soft);line-height:1.6;}
.note strong{color:var(--ink);}

/* simple data table */
.dtable{width:100%;border-collapse:collapse;border-top:1px solid var(--line);font-size:.98rem;}
.dtable th,.dtable td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);}
.dtable th{font-family:var(--f-ui);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.dtable td:last-child,.dtable th:last-child{text-align:right;font-family:var(--f-ui);color:var(--ink);}

/* inline section eyebrow spacing helper for simple sections */
.simple-head{max-width:62ch;margin-bottom:clamp(36px,5vh,56px);}
.simple-head h2{margin-bottom:18px;}
.simple-head h2 em{font-style:italic;color:var(--gold-deep);}
.simple-head p{color:var(--ink-soft);font-size:1.12rem;}


/* ===== deep in-house page deps brought over from the network engine ===== */
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);}
.step{padding:32px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.step-n{font-family:var(--f-disp);font-size:2.4rem;font-weight:300;color:var(--clay);line-height:1;margin-bottom:14px;}
.step h3{font-family:var(--f-disp);font-size:1.25rem;font-weight:400;margin-bottom:10px;color:var(--ink);}
.step p{font-size:.92rem;color:var(--ink-soft);margin:0;line-height:1.55;}
.fact-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.97rem;}
.fact-table td{padding:14px 6px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-soft);}
.fact-table td:first-child{font-family:var(--f-ui);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-deep);width:38%;}
.pkg-foot{font-family:var(--f-ui);font-size:.78rem;color:var(--muted);margin-top:22px;max-width:72ch;line-height:1.5;}
@media(max-width:760px){ .step-grid{grid-template-columns:1fr;} }


/* ===== deep in-house pages: alt packages, add-ons, documents, timeline, lead form ===== */
.alt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.alt-card{background:var(--paper-2);padding:26px 24px;display:flex;flex-direction:column;}
.alt-tag{font-family:var(--f-ui);font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:10px;}
.alt-card h3{font-family:var(--f-disp);font-size:1.3rem;font-weight:400;color:var(--ink);margin-bottom:6px;}
.alt-price{font-family:var(--f-disp);font-size:1.5rem;color:var(--ink);margin-bottom:10px;}
.alt-card p{font-size:.9rem;color:var(--ink-soft);line-height:1.55;margin:0 0 18px;flex:1;}
.addon-table{width:100%;border-collapse:collapse;font-size:.96rem;border-top:1px solid var(--line-2);}
.addon-table th{font-family:var(--f-ui);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);text-align:left;padding:12px 10px;border-bottom:1px solid var(--line-2);}
.addon-table td{padding:14px 10px;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:top;}
.addon-table .addon-note{color:var(--ink-soft);font-size:.9rem;}
.addon-table .addon-price{font-family:var(--f-ui);font-weight:600;color:var(--ink);white-space:nowrap;text-align:right;}
.doc-quick{background:var(--petrol);color:#fff;padding:22px 26px;margin-bottom:36px;font-size:1.02rem;line-height:1.6;}
.doc-quick strong{color:var(--sand);}
.doc-sub{font-family:var(--f-disp);font-weight:400;font-size:1.5rem;color:var(--ink);margin:42px 0 18px;}
.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.doc-card{background:var(--paper-2);padding:24px 22px;}
.doc-flag{display:inline-block;font-family:var(--f-ui);font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;margin-bottom:12px;}
.doc-flag.doc-yes{background:var(--gold);color:#fff;}
.doc-flag.doc-no{background:rgba(29,43,39,.1);color:var(--ink-soft);}
.doc-card h4{font-family:var(--f-disp);font-size:1.25rem;font-weight:400;color:var(--ink);margin-bottom:8px;}
.doc-card p{font-size:.92rem;color:var(--ink-soft);line-height:1.6;margin:0;}
.doc-table th{font-family:var(--f-ui);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);text-align:left;padding:12px 8px;border-bottom:1px solid var(--line-2);}
.doc-table td:first-child{width:46%;}
.doc-explain{background:var(--paper-2);border-left:3px solid var(--gold);padding:22px 26px;margin:28px 0;}
.doc-explain h3{font-family:var(--f-disp);font-weight:400;font-size:1.3rem;margin-bottom:10px;color:var(--ink);}
.doc-explain p{margin:0;color:var(--ink-soft);line-height:1.7;}
.doc-country-intro{color:var(--ink-soft);margin-bottom:14px;}
.doc-foot{margin-top:22px;font-size:.95rem;color:var(--ink-soft);}
.timeline{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);}
.tl-step{background:var(--paper-2);padding:20px 24px;display:grid;grid-template-columns:210px 1fr;gap:20px;align-items:baseline;}
.tl-when{font-family:var(--f-ui);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-deep);}
.tl-step p{margin:0;color:var(--ink-soft);line-height:1.6;}
.inquiry{background:var(--paper-2);border-top:1px solid var(--line);}
.lead-form{max-width:780px;}
.lf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.lead-form label{display:flex;flex-direction:column;font-family:var(--f-ui);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);gap:7px;}
.lead-form input,.lead-form select,.lead-form textarea{font-family:var(--f-body);font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink);background:#fff;border:1px solid var(--line-2);padding:12px 14px;border-radius:0;}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:none;border-color:var(--gold);}
.lf-full{margin-bottom:18px;}
.lf-actions{display:flex;gap:12px;flex-wrap:wrap;}
.lf-note{font-family:var(--f-ui);font-size:.72rem;color:var(--muted);margin-top:14px;letter-spacing:.02em;line-height:1.5;}
@media(max-width:760px){
  .alt-grid{grid-template-columns:1fr 1fr;}
  .doc-grid{grid-template-columns:1fr;}
  .lf-grid{grid-template-columns:1fr;}
  .tl-step{grid-template-columns:1fr;gap:6px;}
}
@media(max-width:480px){ .alt-grid{grid-template-columns:1fr;} }

/* ===== feature grids + partner band ===== */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.feat-card{background:var(--paper-2);padding:24px 22px;}
.feat-card h3{font-family:var(--f-disp);font-size:1.18rem;font-weight:400;color:var(--ink);margin:0 0 8px;}
.feat-card p{font-size:.92rem;color:var(--ink-soft);line-height:1.6;margin:0;}
.feat-ck{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--gold);color:#fff;font-size:.8rem;font-weight:700;margin-bottom:12px;}
.feat-area{display:inline-block;font-family:var(--f-ui);font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:10px;}
.partner-band{background:var(--petrol);color:#fff;padding:30px 0;}
.partner-band .container{display:flex;gap:20px;align-items:center;flex-wrap:wrap;justify-content:space-between;}
.partner-band h3{font-family:var(--f-disp);font-weight:400;font-size:1.5rem;margin:0 0 6px;color:#fff;}
.partner-band p{margin:0;color:rgba(255,255,255,.82);max-width:560px;line-height:1.6;}
.partner-band .sand-tag{font-family:var(--f-ui);font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sand);}
@media(max-width:760px){ .feat-grid{grid-template-columns:1fr;} }
@media(min-width:761px) and (max-width:980px){ .feat-grid{grid-template-columns:1fr 1fr;} }

/* alt-grid mid-width fix: 2-col between tablet and desktop */
@media(min-width:761px) and (max-width:980px){ .alt-grid{grid-template-columns:1fr 1fr;} }


/* ===== imagery: rec-card photos + wedding gallery ===== */
.rec-card.has-media{padding:0;overflow:hidden;display:flex;flex-direction:column;}
.rec-media{aspect-ratio:3/2;overflow:hidden;background:var(--line);}
.rec-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease);}
.rec-card.has-media:hover .rec-media img{transform:scale(1.05);}
.rec-body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1;}
.rec-body .btn{margin-top:auto;}
.wed-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.wg-item{display:block;aspect-ratio:1/1;overflow:hidden;}
.wg-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease);}
.wg-item:hover img{transform:scale(1.06);}
.gallery-credit{font-family:var(--f-ui);font-size:.72rem;color:var(--muted);margin-top:14px;letter-spacing:.02em;}
/* fleet card photo */
.fleet-media{aspect-ratio:16/10;overflow:hidden;background:var(--line);margin:-1px -1px 16px;}
.fleet-media img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:760px){ .wed-gallery{grid-template-columns:1fr 1fr;} }
@media(max-width:460px){ .wed-gallery{grid-template-columns:1fr 1fr;} }


/* ===== flights arrival airport + car fleet feature ===== */
.arrival{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--paper-2);border:1px solid var(--line);}
.arrival-media{overflow:hidden;min-height:260px;}
.arrival-media img{width:100%;height:100%;object-fit:cover;display:block;}
.arrival-body{padding:32px 34px;display:flex;flex-direction:column;justify-content:center;}
.arrival-body h2{margin:8px 0 12px;}
.arrival-body p{color:var(--ink-soft);line-height:1.7;margin:0 0 10px;}
.fleet-feature{margin:0 0 1px;position:relative;overflow:hidden;border:1px solid var(--line);}
.fleet-feature img{width:100%;height:auto;max-height:440px;object-fit:cover;display:block;}
.fleet-feature figcaption{position:absolute;left:0;bottom:0;width:100%;box-sizing:border-box;background:linear-gradient(transparent,rgba(13,50,44,.88));color:#fff;font-family:var(--f-ui);font-size:.8rem;letter-spacing:.04em;padding:34px 22px 14px;}
@media(max-width:760px){ .arrival{grid-template-columns:1fr;} .arrival-media{min-height:210px;} }


/* ============================================================
   QUALITY OVERHAUL v2 — wedding packages, add-ons, documents,
   lead form, explore grid. Content imported from SeyBooking,
   restyled to the bone/petrol/gold identity. (.at reference)
   ============================================================ */
.simple-head.centered{margin-left:auto;margin-right:auto;text-align:center;}
.simple-head.centered p{margin-left:auto;margin-right:auto;}

/* --- wedding package cards: stacked premium --- */
.wpkg-list{display:flex;flex-direction:column;gap:22px;}
.wpkg{position:relative;background:var(--paper-2);border:1px solid var(--line);padding:clamp(28px,4vw,46px);}
.wpkg.feature{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:#fff;}
.wpkg-head{max-width:80%;}
.wpkg-island{font-family:var(--f-ui);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:10px;}
.wpkg h3{font-family:var(--f-disp);font-size:clamp(1.55rem,2.6vw,2.1rem);font-weight:400;color:var(--ink);margin:0 0 8px;line-height:1.08;}
.wpkg-sub{font-family:var(--f-ui);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--clay);}
.wpkg-price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:22px 0 24px;padding-bottom:24px;border-bottom:1px solid var(--line);}
.wpkg-now{font-family:var(--f-disp);font-size:clamp(2.1rem,4vw,2.9rem);font-weight:400;color:var(--ink);line-height:1;}
.wpkg-was{font-family:var(--f-ui);font-size:1.05rem;color:var(--muted);text-decoration:line-through;}
.wpkg-price-note{font-family:var(--f-ui);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);}
.wpkg-incl{list-style:none;padding:0;margin:0 0 28px;columns:2;column-gap:44px;}
.wpkg-incl li{position:relative;padding-left:26px;font-size:.95rem;color:var(--ink-soft);margin-bottom:11px;line-height:1.5;break-inside:avoid;-webkit-column-break-inside:avoid;}
.wpkg-incl li::before{content:"\2713";position:absolute;left:0;top:1px;color:var(--gold);font-weight:700;}
.wpkg-cta{display:flex;gap:12px;flex-wrap:wrap;}
.wpkg-cta .btn{flex:1 1 220px;text-align:center;}
.wpkg-badge{position:absolute;top:-18px;right:clamp(20px,4vw,42px);width:86px;height:86px;border-radius:50%;background:var(--gold);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 8px 22px rgba(124,93,42,.34);}
.wpkg-save{font-family:var(--f-ui);font-size:.56rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.92;}
.wpkg-save-amt{font-family:var(--f-disp);font-size:1.3rem;font-weight:500;line-height:1;margin-top:2px;}
@media(max-width:680px){.wpkg-incl{columns:1;}.wpkg-head{max-width:100%;}.wpkg-badge{width:74px;height:74px;top:-14px;}}

/* --- add-on table v2: 2-col, generous --- */
.addon-table{border-top:2px solid var(--ink);}
.addon-table th{padding:14px 12px;}
.addon-table td{padding:18px 12px;}
.addon-table .addon-name span{display:block;font-size:1.04rem;color:var(--ink);font-weight:500;line-height:1.3;}
.addon-table .addon-name small{display:block;font-size:.86rem;color:var(--muted);margin-top:4px;line-height:1.45;font-weight:400;}
.addon-table th.addon-price,.addon-table td.addon-price{text-align:right;}
.addon-table td.addon-price{font-family:var(--f-disp);font-size:1.15rem;font-weight:400;color:var(--gold-deep);white-space:nowrap;vertical-align:middle;}
.addon-table tbody tr:hover{background:var(--paper-2);}

/* --- documents v2 --- */
.doc-grid{gap:16px;background:transparent;border:0;}
.doc-card{border:1px solid var(--line);}
.doc-table{border:1px solid var(--line);border-collapse:separate;border-spacing:0;margin:18px 0 0;}
.doc-table thead th{background:var(--petrol);color:#fff;border:0;padding:14px 18px;}
.doc-table td{padding:16px 18px;border-bottom:1px solid var(--line);}
.doc-table tbody tr:last-child td{border-bottom:0;}
.doc-table tbody tr:nth-child(even){background:var(--paper-2);}
.doc-table td:first-child{color:var(--gold-deep);font-family:var(--f-ui);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600;}

/* --- lead form v2 (matches SeyBooking's own enquiry form) --- */
.inquiry{padding:clamp(48px,8vh,90px) 0;}
.lead-form{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);padding:clamp(26px,4vw,48px);}
.lf-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 22px;margin:0;}
.lead-form label{display:flex;flex-direction:column;gap:8px;font-family:var(--f-ui);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep);}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;box-sizing:border-box;font-family:var(--f-body);font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--ink);background:#fff;border:1px solid var(--line-2);padding:13px 15px;border-radius:0;transition:border-color .15s,box-shadow .15s;}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(169,130,63,.15);}
.lead-form textarea{min-height:120px;resize:vertical;}
.lf-full{display:flex;flex-direction:column;gap:8px;margin:20px 0 0;}
.lf-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px;}
.lf-btn{flex:1 1 230px;text-align:center;}
.lf-note{font-family:var(--f-ui);font-size:.78rem;color:var(--muted);margin-top:18px;letter-spacing:.01em;line-height:1.7;}
.lf-note a{color:var(--gold-deep);font-weight:600;}
@media(max-width:600px){.lf-grid{grid-template-columns:1fr;}}

/* --- explore grid: funnel back to SeyBooking --- */
.ex-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.ex-card{display:flex;flex-direction:column;background:var(--paper-2);padding:28px 26px;text-decoration:none;transition:background .2s var(--ease);}
.ex-card:hover{background:#fff;}
.ex-tag{font-family:var(--f-ui);font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:12px;}
.ex-card h3{font-family:var(--f-disp);font-size:1.3rem;font-weight:400;color:var(--ink);margin:0 0 10px;}
.ex-card p{font-size:.92rem;color:var(--ink-soft);line-height:1.55;margin:0 0 18px;flex:1;}
.ex-go{font-family:var(--f-ui);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep);}
@media(max-width:820px){.ex-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.ex-grid{grid-template-columns:1fr;}}


/* --- fixes (2026-06-24): hero bg never tiles, flight-widget fallback --- */
.page-hero{background-repeat:no-repeat;background-size:cover;background-position:center;}
.widget-fallback{margin-top:18px;text-align:center;}
.widget-fallback .btn{min-width:240px;}

/* Seychelles authority web (network cross-link strip) */
.seynet{padding:18px 0;border-top:1px solid var(--line);background:transparent;}
.seynet .container{text-align:center;font-family:var(--f-ui);font-size:.76rem;line-height:1.9;color:var(--ink);}
.seynet-label{text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;opacity:.55;margin-right:.5em;}
.seynet-links,.seynet-langs{opacity:.62;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;}
.seynet-links a,.seynet-langs a{color:inherit;text-decoration:none;}
.seynet-links a:hover,.seynet-langs a:hover{text-decoration:underline;opacity:1;}
.seynet-dot{opacity:.4;padding:0 .45em;}
.seynet-langs{display:block;margin-top:2px;opacity:.5;}

/* flight-search route card (replaces the old Aviasales .ru-bound embed) */
.flt-route{display:flex;align-items:center;justify-content:center;gap:clamp(18px,5vw,42px);margin:4px 0 26px;}
.flt-city{display:flex;flex-direction:column;align-items:center;line-height:1.05;}
.flt-city b{font-family:var(--f-disp);font-weight:400;font-size:clamp(1.55rem,3vw,2.15rem);color:var(--ink);}
.flt-city small{margin-top:6px;font-family:var(--f-ui);font-size:.7rem;font-weight:600;letter-spacing:.22em;color:var(--gold-deep);}
.flt-plane{font-size:1.4rem;color:var(--gold);transform:translateY(-7px);}
@media(max-width:480px){.flt-city b{font-size:1.4rem}.flt-plane{font-size:1.15rem}}
