@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

:root{
  color-scheme:light;
  --purple:#551E5F;
  --purple-light:#D7D2FF;
  --blue:#276EF1;
  --gray:#F7F4F2;
  --white:#FFFFFF;
  --black:#000000;
  --ink:#141414;
  --muted:#68636A;
  --line:#DDD8D5;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sans:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{background:var(--gray)}
body{margin:0;background:var(--gray);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,6vw,92px);border-bottom:1px solid var(--line);background:var(--white)}
.brand{display:flex;gap:12px;align-items:center;font-size:11px;font-weight:500;letter-spacing:.12em}.brand-logo{display:block;width:46px;height:46px;max-width:46px;max-height:46px;object-fit:contain;flex:0 0 46px}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--purple);border-radius:50%;font:500 10px var(--sans);color:var(--purple);letter-spacing:0}
.nav-link,.text-link{color:var(--blue);font-size:13px;font-weight:500}
.nav-link span{margin-left:5px}

.home-hero{min-height:620px;margin:0;padding:110px max(30px,calc((100% - 990px)/2)) 36px;display:flex;flex-direction:column;align-items:flex-start;position:relative;background:var(--purple);color:var(--white)}
.eyebrow{font-size:10px;font-weight:500;letter-spacing:.17em;color:var(--purple);text-transform:uppercase}
.home-hero .eyebrow{color:var(--purple-light)}
h1{font-size:clamp(48px,8vw,94px);font-weight:300;line-height:1.02;letter-spacing:-.045em;margin:28px 0 20px}
h1 em{font-style:normal;color:var(--purple)}
.home-hero h1 em,.milestone-hero h1 em{color:var(--purple-light)}
.lede{max-width:560px;color:var(--muted);font-size:17px;font-weight:400}
.home-hero .lede{color:rgba(255,255,255,.82)}
.button{margin-top:23px;border:1px solid var(--purple-light);padding:13px 18px;color:var(--white);font-size:13px;font-weight:500}
.button:hover{background:var(--purple-light);color:var(--purple)}
.button span{margin-left:28px}
.hero-foot{display:flex;gap:32px;position:absolute;bottom:28px;left:max(30px,calc((100% - 990px)/2));color:rgba(255,255,255,.62);font-size:10px;font-weight:500;letter-spacing:.1em}
.home-note{border-top:1px solid var(--line);padding:70px max(30px,calc((100% - 990px)/2)) 86px;background:var(--gray)}
.home-note h2{font-size:38px;font-weight:300;line-height:1.15;letter-spacing:-.025em;margin:14px 0}
.home-note>p:not(.eyebrow){color:var(--muted);max-width:620px}
.text-link{display:inline-block;margin-top:18px}
.site-footer{min-height:75px;padding:20px clamp(22px,6vw,92px);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:center;background:var(--white);color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.1em}
.site-footer a{color:var(--blue)}

.log-shell{max-width:1160px;margin:0 auto;padding:0 30px}
.log-intro{padding:86px 0 42px;max-width:790px}
.log-intro h1{font-size:clamp(48px,7vw,76px);margin:22px 0 17px}
.log-intro .lede{margin:0 0 8px;color:#4E494F}
.intro-copy{color:var(--muted);font-size:14px}
.featured{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 0 78px}
.feature-card{background:var(--white);border:1px solid var(--line);padding:25px 27px;min-height:216px}
.feature-card .eyebrow{margin:0 0 16px}
.feature-card h2{font-size:30px;font-weight:300;line-height:1.15;margin:0 0 3px;letter-spacing:-.02em}
.feature-card h2 span{font:400 18px var(--sans);color:var(--purple);padding:0 8px}
.feature-card>p:not(.eyebrow){margin:0;color:var(--muted);font-size:13px}
.feature-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px;margin-top:25px;color:#514C52;font:500 10px var(--mono)}
.stats-section,.table-section{padding:0 0 76px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.section-heading h2{font-size:31px;font-weight:300;line-height:1.15;letter-spacing:-.025em;margin:6px 0 0}
.section-heading .eyebrow{margin:0}
.stats-note,.record-count{margin:0;color:var(--muted);font-size:12px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr) 1.4fr 1.4fr;gap:10px}
.stat-card,.stat-list{border:1px solid var(--line);background:var(--white);padding:16px 17px;min-height:109px}
.stat-card span{display:block;color:var(--muted);font-size:9px;font-weight:500;letter-spacing:.1em}
.stat-card strong{display:block;font-size:29px;font-weight:300;line-height:1.1;letter-spacing:-.02em;margin-top:7px}
.stat-list{padding:12px 14px}
.stat-list h3{font-size:10px;font-weight:500;color:var(--purple);letter-spacing:.08em;margin:0 0 5px}
.stat-list button{width:100%;display:flex;justify-content:space-between;border:0;background:none;color:var(--ink);font:11px var(--sans);padding:2px 0;cursor:pointer;text-align:left}
.stat-list button:hover span{color:var(--blue)}
.stat-list b{font:500 10px var(--mono);color:var(--muted)}
.table-section{padding-bottom:58px}
.table-heading{margin-bottom:19px}.table-heading h2{margin-bottom:4px}
.clear-button,.pagination button{border:1px solid var(--line);background:var(--white);color:var(--muted);padding:9px 12px;font:500 11px var(--sans);cursor:pointer}
.clear-button:hover,.pagination button:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}
.filters{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.6fr .65fr;gap:9px;margin-bottom:12px}
.filters label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.filters input,.filters select{width:100%;height:39px;border:1px solid var(--line);border-radius:0;background:var(--white);color:var(--ink);padding:0 10px;font:12px var(--sans);text-transform:none;letter-spacing:normal}
.filters input:focus,.filters select:focus{outline:1px solid var(--blue);border-color:var(--blue)}
.table-wrap{overflow:auto;border:1px solid var(--line);background:var(--white)}
table{width:100%;min-width:960px;border-collapse:collapse;background:var(--white);font-size:12px}
thead{background:var(--purple)}
th{height:40px;text-align:left;color:var(--white);font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
td,th{padding:0 12px;border-bottom:1px solid var(--line)}
thead th{border-bottom:0}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:#F2EEFF}
td{height:42px;color:#242124;white-space:nowrap}
.sort-button{border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:0}
.sort-button span{color:var(--purple-light);font-size:12px;margin-left:3px}
.flight-cell{font-family:var(--mono);color:var(--purple);font-weight:600}
.route-cell{font-family:var(--mono);font-size:11px}
.route-cell span{color:var(--blue);padding:0 5px}
.mono{font-family:var(--mono);font-size:11px}
.numeric{text-align:right;font-variant-numeric:tabular-nums}
.empty,.loading{text-align:center;padding:30px;color:var(--muted)}
.pagination{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font:500 10px var(--sans);padding-top:12px}
.pagination div{display:flex;gap:7px}
.pagination button:disabled{opacity:.4;cursor:default}
.reading-note{border-top:1px solid var(--line);padding:28px 0 58px;max-width:820px}
.reading-note .eyebrow{margin:0 0 9px}
.reading-note p:not(.eyebrow){margin:0;color:var(--muted);font-size:12px;line-height:1.8}

@media(max-width:900px){
  .stats-grid{grid-template-columns:repeat(4,1fr)}
  .stat-list{grid-column:span 2}
  .filters{grid-template-columns:1.5fr 1fr 1fr 1.4fr}
  .filters label:last-child{grid-column:4}
  .search-label{grid-column:span 2}
}
@media(max-width:600px){
  .site-header{height:66px;padding:0 18px}
  .brand{font-size:9px;letter-spacing:.08em}.brand-logo{width:40px;height:40px}
  .home-hero{min-height:610px;padding:100px 22px 38px}
  .hero-foot{left:22px;gap:16px;font-size:9px}
  .site-footer{flex-wrap:wrap;padding:18px 22px}
  .site-footer span:nth-child(2){display:none}
  .home-note{padding:58px 22px 64px}
  .log-shell{padding:0 18px}
  .log-intro{padding:65px 0 28px}
  .log-intro h1{font-size:48px}
  .featured{grid-template-columns:1fr;padding:12px 0 56px}
  .feature-card{padding:22px}
  .feature-bottom{justify-content:flex-start;gap:12px}
  .section-heading{align-items:flex-start;flex-direction:column}
  .section-heading h2{font-size:27px}
  .stats-note{margin-top:-11px}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .stat-card{min-height:94px;padding:13px}
  .stat-card strong{font-size:25px}
  .stat-list{grid-column:span 2}
  .filters{grid-template-columns:1fr 1fr}
  .search-label{grid-column:span 2}
  .filters label:last-child{grid-column:auto}
  .table-heading{flex-direction:row;align-items:flex-end}
  .clear-button{white-space:nowrap;padding:8px;font-size:10px}
  .pagination{gap:8px;flex-wrap:wrap}
  .pagination div{margin-left:auto}
  .reading-note{padding-bottom:44px}
}
/* Site navigation and editorial story pages */
.site-nav{display:flex;align-items:center;gap:22px;font-size:12px;font-weight:500}
.site-nav a{color:var(--muted)}
.site-nav a:hover,.site-nav a.active{color:var(--blue)}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.button-quiet{border-color:rgba(255,255,255,.35);color:var(--white)}.button-quiet:hover{background:var(--white);color:var(--purple)}
.home-record{display:grid;grid-template-columns:1.4fr .8fr;gap:50px;padding:78px max(30px,calc((100% - 990px)/2));border-bottom:1px solid var(--line);background:var(--gray)}
.home-record h2,.home-stories h2,.milestone-grid h2{font-size:38px;font-weight:300;line-height:1.15;letter-spacing:-.025em;margin:14px 0}
.home-record>div>p:not(.eyebrow){color:var(--muted);max-width:590px}.home-stat{border-left:1px solid var(--line);padding-left:34px}.home-stat span{display:block;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.1em}.home-stat strong{display:block;color:var(--purple);font-size:46px;font-weight:300;letter-spacing:-.04em;margin:8px 0 2px}.home-stat p{color:var(--muted);font-size:12px;margin:0}
.home-stories{padding:78px max(30px,calc((100% - 990px)/2)) 92px;background:var(--white)}
.story-shell{max-width:1160px;margin:0 auto;padding:0 30px 90px}.story-hero{max-width:860px;padding:92px 0 58px}.story-hero h1{font-size:clamp(52px,7vw,82px)}.story-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.home-story-grid{grid-template-columns:repeat(3,1fr)}
.story-card{display:flex;flex-direction:column;min-height:270px;padding:28px;background:var(--white);border:1px solid var(--line);transition:border-color .15s ease,transform .15s ease}.story-card:hover{border-color:var(--purple);transform:translateY(-2px)}.story-card-feature{background:var(--purple);color:var(--white);border-color:var(--purple)}.story-kicker{font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--purple)}.story-card-feature .story-kicker{color:var(--purple-light)}.story-card h2,.story-card h3{font-size:30px;font-weight:300;line-height:1.12;letter-spacing:-.025em;margin:18px 0 12px}.home-story-grid .story-card h3{font-size:24px}.story-card p{color:var(--muted);margin:0}.story-card-feature p{color:rgba(255,255,255,.78)}.story-link{margin-top:auto;padding-top:28px;color:var(--blue);font-size:12px;font-weight:500}.story-card-feature .story-link{color:var(--purple-light)}
.article-shell{max-width:900px;margin:0 auto;padding:90px 30px 100px}.article-shell article{max-width:760px}.article-shell h1{font-size:clamp(52px,7vw,78px);margin-top:20px}.article-deck{font-size:21px;line-height:1.55;color:var(--muted);max-width:680px;margin:0 0 54px}.article-shell h2{font-size:29px;font-weight:300;line-height:1.2;letter-spacing:-.02em;margin:48px 0 14px}.article-shell p{font-size:16px;line-height:1.75;color:#3F3A40}.fact-block{display:flex;flex-direction:column;gap:4px;margin:42px 0;padding:25px 26px;border-left:3px solid var(--purple);background:var(--white)}.fact-block strong{font-size:20px;font-weight:500;margin:4px 0}.article-actions,.article-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:28px 0}.article-actions a,.article-links a,.inline-link{color:var(--blue);font-size:13px;font-weight:500}.archive-note{margin:44px 0;padding:24px 26px;background:#EFEAF8}.archive-note p{font-size:14px;margin:8px 0}.number-stack{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:30px 0}.number-stack div{display:flex;flex-direction:column;background:var(--white);padding:22px}.number-stack strong{font-size:33px;font-weight:300;color:var(--purple)}.number-stack span{color:var(--muted);font-size:12px}.number-stack .total{background:var(--purple);color:var(--white)}.number-stack .total strong{color:var(--white)}.number-stack .total span{color:var(--purple-light)}
.milestone-hero{background:var(--purple);color:var(--white);padding:96px max(30px,calc((100% - 990px)/2)) 104px}.milestone-hero>div{max-width:760px}.milestone-hero .eyebrow{color:var(--purple-light)}.milestone-hero h1{font-size:clamp(58px,9vw,108px);margin:24px 0}.milestone-hero h1 span{color:var(--purple-light);font-size:.7em}.milestone-hero .lede{color:rgba(255,255,255,.82)}.milestone-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:14px;padding:76px max(30px,calc((100% - 990px)/2)) 94px}.milestone-grid>div:first-child{padding-right:28px}.milestone-grid>div:first-child p:not(.eyebrow){color:var(--muted)}.milestone-card{display:flex;flex-direction:column;min-height:260px;padding:25px;border:1px solid var(--line);background:var(--white)}.milestone-card strong{font-size:29px;font-weight:300;line-height:1.12;margin:18px 0 8px}.milestone-card p{color:var(--muted)}.milestone-card>span:last-child{margin-top:auto;color:var(--blue);font-size:12px;font-weight:500}
@media(max-width:800px){.site-nav{gap:13px;font-size:10px}.home-record{grid-template-columns:1fr}.home-stat{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.home-story-grid,.milestone-grid{grid-template-columns:1fr}.story-grid{grid-template-columns:1fr}.milestone-grid>div:first-child{padding-right:0}}
@media(max-width:600px){.brand span{display:none}.site-nav{gap:12px}.site-header{padding:0 16px}.story-shell{padding:0 18px 70px}.story-hero{padding:64px 0 38px}.article-shell{padding:66px 20px 78px}.number-stack{grid-template-columns:1fr}.home-record,.home-stories,.milestone-grid{padding-left:22px;padding-right:22px}.milestone-hero{padding-left:22px;padding-right:22px}}

/* Flight log readability and aircraft links */
.log-shell{max-width:1320px}
.log-shell table{font-size:14px;min-width:1120px}
.log-shell th{font-size:11px;height:44px}
.log-shell td{height:48px}
.log-shell .route-cell,.log-shell .mono{font-size:13px}
.log-shell .filters label{font-size:11px}
.log-shell .filters input,.log-shell .filters select{font-size:14px;height:44px}
.log-shell .stats-note,.log-shell .record-count,.log-shell .reading-note p:not(.eyebrow){font-size:14px}
.log-shell .stat-card span,.log-shell .stat-list h3{font-size:11px}
.log-shell .stat-list button{font-size:13px;padding:4px 0}
.log-shell .stat-list b,.log-shell .pagination{font-size:12px}
.log-shell .clear-button,.log-shell .pagination button{font-size:13px}
.tail-link{color:var(--purple);text-decoration:underline;text-decoration-color:#A98BAD;text-underline-offset:3px}
.tail-link:hover,.tail-link:focus-visible{color:var(--blue);text-decoration-color:currentColor}
