@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Onest:wght@400;500;600&display=swap');

/* ============ tokens ============ */
:root{
  --ivory:#F4EFE6;      /* page */
  --paper:#FAF7F1;      /* raised surfaces */
  --sand:#E9E0D0;       /* quiet bands */
  --ink:#1D2320;        /* text */
  --ink-2:#4A4F4C;      /* secondary text */
  --ink-3:#5A5F5B;      /* captions */
  --teal:#1F4B4A;       /* accent */
  --teal-deep:#163837;  /* dark band */
  --gold:#A8843C;       /* ornament, large type only */
  --gold-ink:#7C5F24;   /* gold that is legible as small text on ivory */
  --gold-soft:#D5B97A;  /* gold on dark */
  --rule:rgba(29,35,32,.14);
  --rule-light:rgba(244,239,230,.18);
  --serif:'Cormorant','Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Onest',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gut:clamp(20px,4.2vw,64px);
  --max:1320px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:92px;}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;
     line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
     font-variant-numeric:lining-nums;}
img{display:block;max-width:100%;}
a{color:inherit;}
p{margin:0;}
h1,h2,h3,h4{margin:0;font-weight:400;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut);}

/* ============ type ============ */
.kicker{font-size:11.5px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-ink);}
.display{font-family:var(--serif);font-weight:300;letter-spacing:-.015em;line-height:1;}
.display em,.h2 em{font-style:italic;color:var(--teal);}
.h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,4.4vw,58px);line-height:1.04;letter-spacing:-.012em;}
.h3{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.1vw,28px);line-height:1.15;}
.lead{font-size:clamp(16px,1.3vw,18px);line-height:1.7;color:var(--ink-2);}
.body{font-size:15.5px;line-height:1.72;color:var(--ink-2);}
.num{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--gold-ink);}

/* ============ buttons ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;
     font:500 12.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;
     background:var(--ink);color:var(--ivory);border:1px solid var(--ink);transition:background .2s,color .2s;}
.btn:hover{background:var(--teal);border-color:var(--teal);}
.link{display:inline-flex;align-items:center;gap:10px;font-size:15px;text-decoration:none;color:var(--ink);
      padding-bottom:4px;border-bottom:1px solid currentColor;transition:color .2s,gap .2s;}
.link:hover{color:var(--teal);gap:14px;}
.btn-light{background:var(--ivory);color:var(--ink);border-color:var(--ivory);}
.btn-light:hover{background:var(--gold-soft);border-color:var(--gold-soft);color:var(--ink);}

/* ============ top bar + header ============ */
.topbar{background:var(--teal-deep);color:rgba(244,239,230,.82);font-size:12.5px;letter-spacing:.04em;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:40px;}
.topbar a{text-decoration:none;white-space:nowrap;}
.topbar a:hover{color:var(--gold-soft);}
.topbar .sep{opacity:.35;margin:0 12px;}
.header{position:sticky;top:0;z-index:20;background:rgba(244,239,230,.94);backdrop-filter:blur(10px);
        border-bottom:1px solid var(--rule);}
.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:84px;}
.brand img{height:46px;width:auto;}
.nav{display:flex;align-items:center;gap:clamp(18px,2vw,32px);font-size:13.5px;letter-spacing:.04em;}
.nav a{text-decoration:none;color:var(--ink-2);padding:6px 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;}
.nav a:hover{color:var(--ink);border-bottom-color:var(--gold);}
.nav .btn{min-height:44px;padding:0 20px;color:var(--ivory);border-bottom:1px solid var(--ink);}
.nav .btn:hover{color:var(--ivory);border-color:var(--teal);}
.navtoggle{display:none;}
.burger{display:none;width:48px;height:48px;align-items:center;justify-content:flex-end;cursor:pointer;}
.burger span{display:block;width:26px;height:1px;background:var(--ink);position:relative;}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:26px;height:1px;background:var(--ink);}
.burger span::before{top:-7px;} .burger span::after{top:7px;width:18px;}

/* ============ hero ============ */
.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:min(820px,calc(100vh - 124px));}
.hero-text{display:flex;flex-direction:column;justify-content:center;
           padding:clamp(56px,7vw,110px) clamp(28px,4vw,72px) clamp(56px,6vw,90px)
                   max(var(--gut),calc((100vw - var(--max)) / 2 + var(--gut)));}
.hero h1{font-size:clamp(50px,6.1vw,92px);margin-top:28px;}
.hero .lead{margin-top:30px;max-width:440px;}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:22px 32px;margin-top:44px;}
.hero-photo{position:relative;background:url(assets/hero.jpg) 62% center/cover no-repeat;min-height:420px;}
.hero-photo figcaption{position:absolute;right:var(--gut);bottom:26px;color:rgba(255,255,255,.86);
     font-family:var(--serif);font-style:italic;font-size:17px;text-shadow:0 1px 12px rgba(0,0,0,.35);}
.fade{animation:rise .9s cubic-bezier(.2,.7,.2,1) both;}
.fade.d2{animation-delay:.12s;} .fade.d3{animation-delay:.24s;} .fade.d4{animation-delay:.36s;}
@keyframes rise{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.fade{animation:none;}html{scroll-behavior:auto;}}

/* ============ index of the six lines of business ============ */
.index{padding:clamp(80px,9vw,128px) 0 clamp(72px,8vw,112px);border-top:1px solid var(--rule);}
.index-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:end;}
.index-head .h2{margin-top:18px;}
.index-list{list-style:none;margin:56px 0 0;padding:0;border-top:1px solid var(--rule);}
.index-list a{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(0,420px) 32px;gap:28px;align-items:baseline;
              padding:26px 0;border-bottom:1px solid var(--rule);text-decoration:none;transition:background .25s;}
.index-list a:hover{background:linear-gradient(90deg,transparent,rgba(31,75,74,.05) 30%,transparent);}
.index-list .num{font-size:36px;line-height:1;color:var(--gold);}
.index-list .t{font-family:var(--serif);font-size:clamp(26px,2.6vw,36px);line-height:1.1;}
.index-list .d{font-size:14.5px;line-height:1.6;color:var(--ink-3);}
.index-list .a{font-size:22px;color:var(--teal);transition:transform .25s;}
.index-list a:hover .a{transform:translateX(6px);}

/* ============ section scaffolding ============ */
.sec{padding:clamp(88px,10vw,150px) 0;}
.sec-head .kicker{display:flex;align-items:center;gap:14px;}
.sec-head .kicker .num{font-size:22px;letter-spacing:0;text-transform:none;}
.sec-head .h2{margin-top:20px;max-width:15em;}
.sec-head .lead{margin-top:24px;max-width:36em;}

/* spread: photo + text */
.spread{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,6vw,104px);align-items:start;}
.spread.flip{grid-template-columns:minmax(0,6fr) minmax(0,5fr);}
.spread.flip .photo{order:2;}
.photo{position:sticky;top:120px;}
.photo img{width:100%;aspect-ratio:4/5;object-fit:cover;}
.photo figcaption{margin-top:14px;font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink-3);}

/* items */
.items{display:flex;flex-direction:column;margin-top:52px;border-top:1px solid var(--rule);}
.item{padding:30px 0 32px;border-bottom:1px solid var(--rule);}
.item .h3{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
.item .body{margin-top:12px;max-width:36em;}
.tag{display:inline-flex;align-items:center;gap:7px;font:500 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;
     color:var(--teal);padding:7px 11px;border:1px solid rgba(31,75,74,.35);transform:translateY(-3px);}
.tag svg{flex:none;}
.chips{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:18px;}
.chips span{font-size:13px;color:var(--ink-2);padding:6px 12px;background:var(--paper);border:1px solid var(--rule);}
.dotlist{margin-top:16px;font-family:var(--serif);font-size:20px;line-height:1.55;color:var(--ink);}
.dotlist i{font-style:normal;color:var(--gold);margin:0 10px;}

/* ============ 02 aviation: dark band ============ */
.air{background:var(--teal-deep);color:var(--ivory);padding-bottom:clamp(88px,10vw,140px);}
.air .band{height:clamp(300px,42vw,560px);background:url(assets/aviation.jpg) center 42%/cover no-repeat;}
.air .wrap{margin-top:clamp(-120px,-8vw,-64px);position:relative;}
.air .panel{background:var(--teal-deep);padding:clamp(40px,5vw,72px) clamp(0px,4vw,64px) 0;max-width:980px;}
.air .kicker{color:var(--gold-soft);}
.air .h2 em{color:var(--gold-soft);}
.air .lead{color:rgba(244,239,230,.74);}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:64px;border-top:1px solid var(--rule-light);}
.col{padding:34px 36px 8px 0;}
.col + .col{padding-left:36px;border-left:1px solid var(--rule-light);}
.air .h3{color:var(--ivory);}
.air .body{color:rgba(244,239,230,.72);margin-top:14px;}
.air .num{color:var(--gold-soft);font-size:26px;display:block;margin-bottom:18px;}
.gds{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;}
.gds span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);
          border:1px solid rgba(213,185,122,.4);padding:6px 10px;}

/* ============ 03 FIT & luxury ============ */
.templates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;}
.templates div{background:var(--paper);border:1px solid var(--rule);padding:18px 18px 20px;}
.templates b{display:block;font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.2;color:var(--ink);}
.templates span{display:block;font-size:13px;color:var(--ink-3);margin-top:6px;}

/* ============ 04 MICE ============ */
.mice{background:var(--sand);}
.mice-photo img{width:100%;aspect-ratio:21/9;object-fit:cover;margin-top:clamp(48px,5vw,72px);}
.mice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,80px);margin-top:clamp(40px,5vw,64px);}
.formats{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid var(--rule);}
.formats li{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--rule);
            font-family:var(--serif);font-size:21px;}
.formats li span{font-family:var(--sans);font-size:13.5px;color:var(--ink-3);text-align:right;}

/* ============ 05 transfers ============ */
.fleet{list-style:none;margin:20px 0 0;padding:0;counter-reset:f;}
.fleet li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;padding:16px 0;border-bottom:1px solid var(--rule);}
.fleet li:first-child{border-top:1px solid var(--rule);}
.fleet .num{font-size:20px;}
.fleet b{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.2;}
.fleet span{display:block;font-size:14px;color:var(--ink-3);margin-top:4px;}

/* ============ 06 ancillary ============ */
.anc{background:var(--paper);border-top:1px solid var(--rule);}
.anc-head{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,6vw,104px);align-items:end;}
.anc-head img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.anc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:clamp(56px,6vw,88px);}
.anc-item{border-top:1px solid var(--ink);padding-top:26px;}
.anc-item .num{font-size:22px;}
.anc-item .h3{margin-top:14px;}
.anc-item ul{list-style:none;margin:18px 0 0;padding:0;}
.anc-item li{padding:11px 0;border-bottom:1px solid var(--rule);font-size:15px;color:var(--ink-2);line-height:1.5;}
.anc-item li b{color:var(--ink);font-weight:600;}

/* ============ partner ============ */
.partner{background:var(--teal-deep);color:var(--ivory);}
.partner-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,6vw,104px);align-items:start;}
.partner .kicker{color:var(--gold-soft);}
.partner .h2 em{color:var(--gold-soft);}
.partner .lead{color:rgba(244,239,230,.74);}
.partner-photo{margin-top:44px;}
.partner-photo img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.contact-lines{margin-top:40px;display:flex;flex-direction:column;border-top:1px solid var(--rule-light);}
.contact-lines div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--rule-light);}
.contact-lines dt{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);padding-top:4px;}
.contact-lines dd{margin:0;font-family:var(--serif);font-size:24px;}
.contact-lines a{text-decoration:none;}
.contact-lines a:hover{color:var(--gold-soft);}
.form{background:var(--ivory);color:var(--ink);padding:clamp(32px,4vw,56px);}
.form .h3{font-size:clamp(28px,2.6vw,34px);font-weight:400;}
.form p.body{margin-top:10px;}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 24px;margin-top:34px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field.full{grid-column:1/-1;}
.field label{font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);}
.field input,.field select,.field textarea{font:inherit;font-size:16px;color:var(--ink);background:transparent;border:0;
     border-bottom:1px solid rgba(29,35,32,.3);border-radius:0;padding:8px 0 10px;outline:none;transition:border-color .2s;}
.field textarea{resize:vertical;min-height:84px;}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--teal);}
.form .btn{margin-top:36px;}
.form small{display:block;margin-top:16px;font-size:13px;color:var(--ink-3);}

/* ============ footer ============ */
.footer{background:#101614;color:rgba(244,239,230,.7);padding:clamp(64px,7vw,96px) 0 36px;font-size:14.5px;}
.foot-top{display:grid;grid-template-columns:minmax(0,5fr) repeat(2,minmax(0,3fr));gap:40px;}
.foot-top img{height:52px;width:auto;}
.foot-top p{margin-top:22px;max-width:30em;line-height:1.65;}
.foot-top h4{font-size:11.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:16px;}
.foot-top ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.foot-top a{text-decoration:none;}
.foot-top a:hover{color:var(--gold-soft);}
.foot-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:64px;padding-top:24px;
             border-top:1px solid rgba(244,239,230,.12);font-size:13px;color:rgba(244,239,230,.6);}

/* ============ responsive ============ */
@media (max-width:1180px){
  .burger{display:flex;}
  .nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;
       background:var(--ivory);border-bottom:1px solid var(--rule);padding:8px var(--gut) 24px;}
  .navtoggle:checked ~ .nav{display:flex;}
  .nav a{padding:15px 0;border-bottom:1px solid var(--rule);font-size:15px;}
  .nav .btn{margin-top:18px;min-height:52px;}
  .header .wrap{position:relative;}
}
@media (max-width:960px){
  .hero{grid-template-columns:minmax(0,1fr);min-height:0;}
  .hero-photo{min-height:0;aspect-ratio:4/3;order:-1;}
  .hero-text{padding-top:48px;}
  .index-head,.spread,.spread.flip,.anc-head,.partner-grid{grid-template-columns:minmax(0,1fr);gap:40px;}
  .spread.flip .photo{order:0;}
  .photo{position:static;}
  .photo img{aspect-ratio:3/2;}
  .index-list a{grid-template-columns:56px minmax(0,1fr) 28px;}
  .index-list .d{grid-column:2;grid-row:2;}
  .index-list .a{grid-column:3;grid-row:1;}
  .cols3,.anc-grid,.mice-grid{grid-template-columns:minmax(0,1fr);}
  .col{padding:30px 0 6px;}
  .col + .col{padding-left:0;border-left:0;border-top:1px solid var(--rule-light);}
  .templates{grid-template-columns:minmax(0,1fr);}
  .foot-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .foot-top > div:first-child{grid-column:1/-1;}
  .mice-photo img{aspect-ratio:3/2;}
}
@media (max-width:620px){
  .topbar .hide-s{display:none;}
  .topbar .wrap{justify-content:center;}
  .topbar .wrap > span:first-child{display:none;}
  .brand img{height:44px;}
  .header .wrap{min-height:72px;}
  .fields{grid-template-columns:minmax(0,1fr);}
  .formats li{flex-direction:column;gap:4px;}
  .formats li span{text-align:left;}
  .contact-lines div{grid-template-columns:minmax(0,1fr);gap:4px;}
  .contact-lines dd{font-size:21px;}
  .foot-top{grid-template-columns:minmax(0,1fr);}
  .hero-cta{flex-direction:column;align-items:flex-start;}
  .hero-cta .btn{width:100%;}
}
