/* ============================================================
   TRAVEL BUSINESS FIRST v2 — Light "Concourse" theme
   Apple-clean canvas · champagne-gold accent · navy ink.
   Rhythm: white → warm-grey → white, navy only as anchors.
   ============================================================ */
:root{
  /* Canvas */
  --white:#FFFFFF;
  --paper:#FBFAF7;        /* faint warm white */
  --haze:#F4F2EC;         /* warm grey band */
  --haze2:#EDEAE1;
  --sand:#E9E3D6;

  /* Navy ink + anchors */
  --navy-950:#08152B;
  --navy-900:#0B1E3A;
  --navy-800:#102A4C;
  --navy-700:#17385F;

  /* Text */
  --ink:#14263F;          /* primary on light */
  --ink-2:#3D4E66;        /* secondary */
  --muted:#5C656E;        /* tertiary — WCAG-friendlier on light bg */
  --mist:#C9D4E2;         /* light text on navy */
  --muted-d:#93A6BD;      /* muted on navy */

  /* Gold accent (used with restraint) */
  --gold:#C79A3F;
  --gold-lt:#E4BE6A;
  --gold-deep:#9C7724;
  --gold-glow:rgba(199,154,63,.32);
  --gold-tint:#F7F0E1;    /* pale gold wash for chips */

  /* Support */
  --green:#1F7A5A;
  --green-lt:#E7F3EE;
  --red:#C0392B;
  --teal:#2E8C82;

  /* Lines */
  --line:rgba(20,38,63,.10);
  --line-2:rgba(20,38,63,.16);
  --line-d:rgba(201,212,226,.16);
  --line-d2:rgba(201,212,226,.3);

  --display:"Fraunces",Georgia,serif;
  --body:"Inter Tight",system-ui,sans-serif;
  --data:"Space Grotesk",monospace;

  --fs-hero:clamp(2.6rem,5vw,4.6rem);
  --fs-h2:clamp(1.9rem,3.4vw,3rem);
  --fs-h3:clamp(1.25rem,1.8vw,1.6rem);

  --pad:clamp(4.5rem,8vw,7rem);
  --container:1300px;
  --r-xl:28px;--r-lg:20px;--r-md:14px;--r-sm:10px;--r-pill:100px;
  --ease:cubic-bezier(.22,1,.36,1);
  --luxe:cubic-bezier(.7,0,.16,1);
  --sh-sm:0 2px 10px -3px rgba(20,38,63,.12);
  --sh:0 16px 44px -16px rgba(20,38,63,.20);
  --sh-lg:0 30px 70px -28px rgba(20,38,63,.30);
  --sh-gold:0 16px 40px -12px var(--gold-glow);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--body);
  font-size:17px;                 /* larger base — senior friendly */
  background:var(--paper);
  color:var(--ink);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
ul{list-style:none}
input,select,textarea{font:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:430;line-height:1.08;letter-spacing:-.015em;color:var(--ink)}
::selection{background:var(--gold);color:#fff}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}

.container{width:min(var(--container),92vw);margin-inline:auto}
.section{padding-block:var(--pad);position:relative}

/* Section tones */
.tone-paper{background:var(--paper)}
.tone-white{background:var(--white)}
.tone-haze{background:var(--haze)}
.tone-navy{background:linear-gradient(165deg,var(--navy-900),var(--navy-950));color:var(--ivory,#fff)}
.tone-navy h2,.tone-navy h3,.tone-navy h4{color:#fff}
.tone-navy .section-head p{color:var(--mist)}
.tone-navy .eyebrow{color:var(--gold-lt)}
.tone-navy .eyebrow::before,.tone-navy .eyebrow::after{background:linear-gradient(90deg,var(--gold-lt),transparent)}

/* Eyebrow */
.eyebrow{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--data);font-size:.75rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-deep)}
.eyebrow::before{content:"";width:32px;height:1.5px;background:linear-gradient(90deg,var(--gold-deep),transparent)}
.eyebrow.center{justify-content:center}
.eyebrow.center::after{content:"";width:32px;height:1.5px;background:linear-gradient(270deg,var(--gold-deep),transparent)}

.section-head{max-width:820px;margin-bottom:clamp(2.4rem,4.5vw,3.6rem)}
.section-head.center{margin-inline:auto;text-align:center}
.section-head h2{font-size:var(--fs-h2);margin-top:1rem}
.section-head h2 em{font-style:italic;color:var(--gold-deep)}
.tone-navy .section-head h2 em{color:var(--gold-lt)}
.section-head p{color:var(--muted);margin-top:.9rem;font-size:1.1rem;max-width:64ch}
.section-head.center p{margin-inline:auto}
.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:clamp(2rem,4vw,3rem)}
.head-row .section-head{margin-bottom:0}

/* Buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:52px;padding:.85rem 1.9rem;border-radius:var(--r-pill);font-weight:640;font-size:1.02rem;transition:transform .34s var(--ease),box-shadow .34s var(--ease),background .3s,color .3s;white-space:nowrap;overflow:hidden}
.btn svg{width:17px;height:17px;flex-shrink:0;transition:transform .34s var(--ease)}
.btn-gold{background:linear-gradient(135deg,var(--gold-lt),var(--gold) 58%,var(--gold-deep));color:#fff;box-shadow:var(--sh-gold)}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 22px 50px -12px var(--gold-glow)}
.btn-gold:hover svg{transform:translateX(4px)}
.btn-gold::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.5) 50%,transparent 62%);transform:translateX(-130%);animation:sheen 6s var(--luxe) infinite}
.btn-navy{background:var(--navy-900);color:#fff}
.btn-navy:hover{transform:translateY(-3px);background:var(--navy-800);box-shadow:var(--sh)}
.btn-navy:hover svg{transform:translateX(4px)}
.btn-line{border:1.5px solid var(--line-2);color:var(--ink);background:var(--white)}
.btn-line:hover{border-color:var(--gold);color:var(--gold-deep);transform:translateY(-3px);box-shadow:var(--sh-sm)}
.tone-navy .btn-line{border-color:var(--line-d2);color:#fff;background:transparent}
.tone-navy .btn-line:hover{border-color:var(--gold-lt);color:var(--gold-lt)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{transform:translateY(-3px);box-shadow:0 18px 40px -14px rgba(31,122,90,.5)}
.btn-lg{min-height:58px;font-size:1.08rem;padding:1rem 2.2rem}

/* Chips / pills */
.pill{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .9rem;border-radius:var(--r-pill);font-family:var(--data);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.pill-gold{background:var(--gold-tint);color:var(--gold-deep)}
.pill-green{background:var(--green-lt);color:var(--green)}
.pill-navy{background:var(--navy-900);color:#fff}

/* Reveals */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--luxe),transform .8s var(--luxe)}
[data-reveal].in{opacity:1;transform:none}
[data-stagger]>*{opacity:0;transform:translateY(24px);transition:opacity .7s var(--luxe),transform .7s var(--luxe)}
[data-stagger].in>*{opacity:1;transform:none}
[data-stagger].in>*:nth-child(1){transition-delay:.05s}
[data-stagger].in>*:nth-child(2){transition-delay:.1s}
[data-stagger].in>*:nth-child(3){transition-delay:.15s}
[data-stagger].in>*:nth-child(4){transition-delay:.2s}
[data-stagger].in>*:nth-child(5){transition-delay:.25s}
[data-stagger].in>*:nth-child(6){transition-delay:.3s}
[data-stagger].in>*:nth-child(7){transition-delay:.35s}
[data-stagger].in>*:nth-child(8){transition-delay:.4s}

@keyframes sheen{0%,55%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes railmove{to{transform:translateX(-50%)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 var(--gold-glow)}70%{box-shadow:0 0 0 12px transparent}100%{box-shadow:0 0 0 0 transparent}}
@keyframes spin{to{transform:rotate(360deg)}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01s!important;transition-duration:.01s!important;scroll-behavior:auto!important}}

/* Skip link — must live in critical CSS (pages.css is deferred on homepage) */
.skip-link{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:100000;
  padding:.75rem 1.1rem;
  background:#14263F;
  color:#FBFAF7;
  font-weight:600;
  text-decoration:none;
  border-radius:0 0 8px 0;
}
.skip-link:focus{
  left:0;
  outline:3px solid #E4BE6A;
}
