/* Linebound Aviation — v1
   Palette: navy #081D33 · gold #C6A15A · off-white #F7F6F2 · charcoal #1F2328 · slate #5C6672 */

:root{
  --navy:#081D33;
  --navy-deep:#061524;
  --gold:#C6A15A;
  --gold-soft:#D8BC85;
  --off-white:#F7F6F2;
  --white:#FFFFFF;
  --charcoal:#1F2328;
  --slate:#5C6672;
  --line:#DCD9D1;
  --line-dark:rgba(255,255,255,.16);
  --wrap:1160px;
  --font: "Inter","Helvetica Neue",Helvetica,"Segoe UI",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }

body{
  margin:0;
  font-family:var(--font);
  font-size:17px;
  line-height:1.65;
  color:var(--charcoal);
  background:var(--off-white);
  -webkit-font-smoothing:antialiased;
  text-wrap:pretty;
}

img{max-width:100%; height:auto; display:block}
h1,h2,h3{font-weight:700; line-height:1.12; letter-spacing:-0.01em; margin:0}
p{margin:0}
ul{margin:0; padding:0; list-style:none}

a{color:var(--navy); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px}
a:hover{color:var(--gold)}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold); outline-offset:3px; border-radius:2px}

.wrap{width:100%; max-width:var(--wrap); margin:0 auto; padding:0 22px}

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--navy); color:#fff; padding:12px 18px; text-decoration:none;
}
.skip-link:focus{left:12px; top:12px}

/* ---------- header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(247,246,242,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:saturate(140%) blur(6px);
}
.site-header.is-scrolled{box-shadow:0 1px 0 var(--line), 0 6px 18px rgba(8,29,51,.06)}
.header-inner{display:flex; align-items:center; gap:16px; min-height:68px}

.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--navy); margin-right:auto}
.brand:hover{color:var(--navy)}
.mark{width:26px; height:auto; flex:none; color:var(--navy)}
.brand-text{display:flex; flex-direction:column; line-height:1}
.brand-line1{font-size:16px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--navy)}
.brand-line2{font-size:9.5px; font-weight:600; letter-spacing:.34em; text-transform:uppercase; color:var(--gold); margin-top:4px}

.nav-toggle{
  display:none; align-items:center; gap:9px;
  background:none; border:1px solid var(--line); border-radius:3px;
  padding:9px 12px; font:inherit; font-size:13px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--navy); cursor:pointer;
}
.nav-toggle-bars{position:relative; display:block; width:16px; height:2px; background:var(--navy)}
.nav-toggle-bars::before,.nav-toggle-bars::after{content:""; position:absolute; left:0; width:16px; height:2px; background:var(--navy)}
.nav-toggle-bars::before{top:-5px}
.nav-toggle-bars::after{top:5px}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::before{top:0; transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::after{top:0; transform:rotate(-45deg)}

.primary-nav{display:flex; align-items:center; gap:30px}
.primary-nav ul{display:flex; align-items:center; gap:28px}
.primary-nav a:not(.btn){
  text-decoration:none; font-size:14px; font-weight:600; letter-spacing:.07em;
  text-transform:uppercase; color:var(--navy); padding:6px 0; border-bottom:2px solid transparent;
}
.primary-nav a:not(.btn):hover{color:var(--navy); border-bottom-color:var(--gold)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:12px 22px; border-radius:3px;
  font-size:14.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  text-decoration:none; border:1.5px solid transparent; cursor:pointer; white-space:nowrap;
  transition:background-color .15s ease, color .15s ease, border-color .15s ease;
}
.btn-sm{min-height:42px; padding:9px 16px; font-size:13px}
.btn-primary{background:var(--navy); color:#fff; border-color:var(--navy)}
.btn-primary:hover{background:#0C2A47; color:#fff}
.btn-outline{background:transparent; color:var(--navy); border-color:var(--navy)}
.btn-outline:hover{background:var(--navy); color:#fff}
.btn-gold{background:var(--gold); color:var(--navy); border-color:var(--gold)}
.btn-gold:hover{background:var(--gold-soft); color:var(--navy)}
.btn-outline-light{background:transparent; color:#fff; border-color:rgba(255,255,255,.45)}
.btn-outline-light:hover{background:#fff; color:var(--navy); border-color:#fff}

.cta-row{display:flex; flex-wrap:wrap; gap:14px}

/* ---------- shared section furniture ---------- */
.section{padding:88px 0; scroll-margin-top:74px}
.section-light{background:var(--off-white)}
.section-cream{background:#EFEDE6}
.section-navy{background:var(--navy); color:#fff}
.section-navy h2,.section-navy h3{color:#fff}

.eyebrow{
  font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--slate); margin-bottom:16px;
}
.eyebrow.gold{color:var(--gold)}
.section-head{max-width:760px; margin-bottom:52px}
.section-head.centered{margin-left:auto; margin-right:auto; text-align:center}
.section-head h2{font-size:clamp(1.75rem,3.4vw,2.5rem)}
.section-head h2::after{
  content:""; display:block; width:56px; height:3px; background:var(--gold); margin-top:22px;
}
.section-head.centered h2::after{margin-left:auto; margin-right:auto}
.section-lede{margin-top:20px; font-size:1.06rem; color:var(--slate); max-width:64ch}
.section-navy .section-lede{color:rgba(255,255,255,.74)}
.section-head.centered .section-lede{margin-left:auto; margin-right:auto}
.section-foot{margin-top:36px; text-align:center; font-size:14.5px; color:var(--slate)}

/* ---------- hero ---------- */
.hero{padding:76px 0 80px; background:var(--off-white); border-bottom:1px solid var(--line)}
.hero-grid{display:block}
.hero-copy{max-width:720px}

.hero-title{display:flex; flex-direction:column; align-items:flex-start}
.wm-1{
  font-size:clamp(2.35rem,6.4vw,4.35rem); font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:var(--navy); line-height:1;
}
.wm-rule{display:block; width:100%; max-width:420px; height:1.5px; background:var(--gold); margin:14px 0 12px}
.wm-2{
  font-size:clamp(1rem,2.3vw,1.6rem); font-weight:600; letter-spacing:.42em;
  text-transform:uppercase; color:var(--gold); line-height:1;
}
.hero-tagline{margin-top:30px; font-size:clamp(1.15rem,2vw,1.4rem); font-weight:600; color:var(--navy)}
.hero-lede{margin-top:18px; font-size:1.06rem; color:var(--slate); max-width:56ch}
.hero .cta-row{margin-top:34px}
.hero-note{margin-top:20px; font-size:13.5px; color:var(--slate)}


/* ---------- tools ---------- */
.tool-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:28px}
.card{
  background:var(--white); border:1px solid var(--line); border-radius:3px;
  padding:34px 32px; display:flex; flex-direction:column; gap:18px;
}
.card-motif{display:flex; align-items:flex-end; gap:8px; height:26px}
.motif-bar{width:12px; background:var(--gold)}
.motif-bar:nth-child(1){height:16px}
.motif-bar:nth-child(2){height:24px}
.motif-bar:nth-child(3){height:16px}
.motif-line{width:52px; height:3px; background:var(--gold)}
.motif-line.short{width:30px; background:var(--navy)}
.card-motif:has(.motif-line){flex-direction:column; align-items:flex-start; gap:6px; justify-content:flex-end}

.card-kicker{font-size:11.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--slate)}
.tool-card h3{font-size:1.32rem; color:var(--navy)}
.tool-card p{color:var(--slate)}
.tick-list{display:flex; flex-direction:column; gap:10px}
.tick-list li{position:relative; padding-left:20px; font-size:15.5px; color:var(--charcoal)}
.tick-list li::before{
  content:""; position:absolute; left:0; top:9px; width:8px; height:8px; background:var(--gold);
}
.card-caveat{
  font-size:14px; color:var(--slate); border-top:1px solid var(--line); padding-top:16px;
}
.tool-card .btn{align-self:flex-start; margin-top:auto}

/* ---------- services ---------- */
.service-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:2px; background:var(--line-dark); border:1px solid var(--line-dark)}
.service{background:var(--navy); padding:32px 28px}
.service h3{font-size:1.12rem; letter-spacing:0}
.service p{margin-top:14px; color:rgba(255,255,255,.72); font-size:15.5px}
.service-link{
  display:inline-block; margin-top:16px; font-size:13px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--gold); text-decoration:none; border-bottom:1px solid rgba(198,161,90,.45); padding-bottom:3px;
}
.service-link:hover{color:var(--gold-soft); border-bottom-color:var(--gold-soft)}

.service-showcase{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:44px 0 40px}
.service-showcase figure{margin:0; border:1px solid var(--line-dark); border-radius:3px; overflow:hidden}
.fine-print{margin-top:26px; font-size:13.5px; color:rgba(255,255,255,.6); max-width:80ch}

/* ---------- why ---------- */
.why-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:38px 44px}
.why-item{border-top:2px solid var(--navy); padding-top:20px}
.why-item h3{font-size:1.06rem; color:var(--navy)}
.why-item p{margin-top:10px; color:var(--slate); font-size:15.5px}

/* ---------- about ---------- */
.about-wrap{max-width:800px}
.about-body{font-size:1.1rem; color:var(--charcoal); margin-top:20px}

/* ---------- contact ---------- */
.contact-wrap{max-width:820px}
.contact-email{margin:0 0 30px}
.contact-email a{
  font-size:clamp(1.15rem,3vw,1.75rem); font-weight:600; color:#fff;
  text-decoration-color:var(--gold); text-decoration-thickness:2px; text-underline-offset:6px; word-break:break-word;
}
.contact-email a:hover{color:var(--gold)}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-deep); color:#fff; padding:56px 0 40px}
.footer-inner{display:flex; flex-wrap:wrap; gap:32px; align-items:flex-start; justify-content:space-between}
.footer-brand{display:flex; gap:14px; align-items:flex-start}
.footer-brand .mark{width:34px; color:#fff}
.footer-name{font-size:15px; font-weight:700; letter-spacing:.16em; text-transform:uppercase}
.footer-tag{margin-top:6px; font-size:14px; color:rgba(255,255,255,.66)}
.footer-nav ul{display:flex; flex-wrap:wrap; gap:12px 26px}
.footer-nav a{font-size:14px; color:rgba(255,255,255,.82); text-decoration:none}
.footer-nav a:hover{color:var(--gold)}
.footer-legal{margin-top:40px; padding-top:24px; border-top:1px solid var(--line-dark); display:flex; flex-direction:column; gap:12px}
.footer-legal p{font-size:12.5px; color:rgba(255,255,255,.55); max-width:96ch; line-height:1.6}

/* ---------- legal pages ---------- */
.page-hero{background:var(--navy); color:#fff; padding:64px 0 56px}
.page-hero h1{font-size:clamp(1.85rem,4vw,2.6rem)}
.page-hero p{margin-top:16px; color:rgba(255,255,255,.7)}
.legal{padding:72px 0 88px}
.legal-wrap{max-width:760px}
.legal h2{font-size:1.25rem; color:var(--navy); margin-top:44px}
.legal h2:first-of-type{margin-top:0}
.legal p{margin-top:14px; color:var(--charcoal)}
.legal ul.bullets{margin-top:14px; display:flex; flex-direction:column; gap:10px}
.legal ul.bullets li{position:relative; padding-left:20px; color:var(--charcoal)}
.legal ul.bullets li::before{content:""; position:absolute; left:0; top:10px; width:7px; height:7px; background:var(--gold)}
.legal .updated{margin-top:8px; font-size:13.5px; color:var(--slate)}
.back-link{margin-top:52px; display:inline-block; font-weight:600}

/* ---------- 404 ---------- */
.error-page{min-height:72vh; display:flex; align-items:center; text-align:center; background:var(--navy); color:#fff; padding:80px 0}
.error-page .mark{width:56px; margin:0 auto 28px; color:#fff}
.error-code{font-size:13px; font-weight:700; letter-spacing:.28em; text-transform:uppercase; color:var(--gold)}
.error-page h1{margin-top:18px; font-size:clamp(1.75rem,4vw,2.5rem)}
.error-page p{margin-top:16px; color:rgba(255,255,255,.72)}
.error-page .cta-row{margin-top:34px; justify-content:center}

/* ---------- tablet ---------- */
@media (max-width:1000px){
  .section{padding:72px 0}
}

/* ---------- mobile ---------- */
@media (max-width:900px){
  body{font-size:16px}
  .nav-toggle{display:inline-flex}
  .primary-nav{
    display:none; position:absolute; left:0; right:0; top:100%;
    flex-direction:column; align-items:stretch; gap:0;
    background:var(--off-white); border-bottom:1px solid var(--line);
    padding:8px 22px 24px;
  }
  .primary-nav.is-open{display:flex}
  .primary-nav.nav-static{
    display:flex; position:static; flex-direction:row; flex-wrap:wrap;
    background:none; border:0; padding:0;
  }
  .primary-nav.nav-static ul{flex-direction:row; flex-wrap:wrap; gap:8px 18px}
  .primary-nav.nav-static li{border-bottom:0}
  .primary-nav.nav-static a:not(.btn){padding:0; font-size:12.5px; letter-spacing:.06em}
  .primary-nav ul{flex-direction:column; align-items:stretch; gap:0}
  .primary-nav li{border-bottom:1px solid var(--line)}
  .primary-nav a:not(.btn){display:block; padding:16px 0; font-size:15px; border-bottom:0}
  .primary-nav .btn{margin-top:20px; width:100%}
  .header-inner{position:relative; flex-wrap:wrap; padding-top:6px; padding-bottom:6px}
  .hero{padding:52px 0 64px}
  .section{padding:60px 0; scroll-margin-top:68px}
  .section-head{margin-bottom:40px}
  .card{padding:28px 22px}
  .service{padding:26px 22px}
  .service-showcase{grid-template-columns:1fr; gap:16px; margin:36px 0 32px}
  .why-grid{gap:30px}
  .cta-row .btn{width:100%}
  .footer-inner{flex-direction:column; gap:28px}
  .wm-rule{max-width:280px}
}
