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

@font-face{font-family:'Headline Inter';src:url('fonts/inter-semibold.woff') format('woff');font-style:normal;font-weight:600;font-display:swap}

:root{--bg:#191c26;--panel:#282c3a;--text:#f1f1f4;--muted:#b9bbc6;--accent:#f03754;--line:#ffffff26;--gutter:max(5vw,calc((100vw - 1240px)/2));--font:'Inter',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:1.25rem}
body{margin:0;background:var(--bg);color:var(--text);font:400 1rem/1.65 var(--font)}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--font);font-weight:500;letter-spacing:-.035em}
h2{font-size:clamp(2rem,3.3vw,3rem);line-height:1.12;margin-bottom:0}
h3{font-size:1.5rem;line-height:1.2;margin-bottom:.7rem}
p{margin-bottom:1rem}

/* A slim, defined header and open photographic first screen. */
.site-header{position:absolute;z-index:3;top:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.5rem;padding:.5rem var(--gutter);background:rgba(20,22,30,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.brand{font-weight:600;font-size:1.0625rem;line-height:1.25;letter-spacing:-.015em;white-space:nowrap}
.site-header nav{display:flex;align-items:center;gap:1.4rem;font-size:.875rem;letter-spacing:.055em;text-transform:uppercase}
.site-header nav a{position:relative;display:inline-flex;align-items:center;min-height:2.5rem;color:var(--muted);transition:color .2s ease}
.site-header nav a:not(.nav-contact):after{content:'';position:absolute;bottom:.3rem;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.site-header nav a:not(.nav-contact):hover:after,.site-header nav a:not(.nav-contact):focus-visible:after{transform:scaleX(1)}
.site-header nav a:hover{color:var(--text)}
.site-header nav .nav-contact{color:var(--accent);border:1px solid var(--accent);border-radius:.65rem;padding:.25rem .8rem;min-height:2.25rem;transition:background .2s ease}
.site-header nav .nav-contact:hover{background:#f0375414}
.hero{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:min(46rem,100svh);background:var(--bg)}
.hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:55% center}
.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,#191c26 0%,rgba(25,28,38,.88) 17%,rgba(25,28,38,.53) 38%,rgba(25,28,38,.12) 65%,transparent 100%)}
.hero-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;flex:1;padding:8rem var(--gutter) 2.25rem}
.eyebrow{display:flex;align-items:center;gap:.9rem;color:#ff9dac;font-size:.75rem;font-weight:500;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.25rem}
.hero-content>.eyebrow:before{content:'';width:2rem;height:1px;background:var(--accent)}
.hero h1{font-family:'Headline Inter',Inter,Arial,sans-serif;font-size:clamp(3.25rem,8.8vw,6.75rem);font-weight:600;line-height:1.06;letter-spacing:-.029em;margin-bottom:1.1rem;max-width:100%}
.hero h1 em{display:inline-block;font-style:oblique 14deg;font-synthesis:style;font-weight:600;font-size:1.035em;letter-spacing:-.045em;color:#dd3245;white-space:nowrap;padding-right:.08em}
.hero-intro{max-width:36rem;font-size:1.0625rem;line-height:1.6;color:#e0dfe6;margin-bottom:1.5rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.75rem;padding:.65rem 1.2rem;border:1px solid var(--accent);border-radius:.5rem;color:var(--accent);background:transparent;font-size:.875rem;font-weight:500;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}
.button:hover{background:#f0375412;box-shadow:0 4px 18px #f0375412;transform:translateY(-2px)}
.button span{display:inline-block;transition:transform .2s ease}
.button:hover span{transform:translate(2px,-2px)}
.button:active{transform:none}

/* Equal groups keep the leftward loop seamless. */
.flight-banner{position:relative;width:100%;min-width:0;z-index:1;background:#262a37;border-top:1px solid #ffffff2b;border-bottom:1px solid #ffffff2b}
.banner-window{min-width:0;overflow:hidden}
.banner-track{display:flex;width:auto}
.banner-list{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.65rem 1.25rem;list-style:none;margin:0;padding:.65rem 1.25rem;font-size:.875rem;line-height:1.5;letter-spacing:.11em;color:#b9bbc6}
.banner-list li{display:flex;align-items:center;gap:1.25rem;white-space:nowrap}
.banner-list li>span{color:var(--accent)}
.banner-link{color:inherit;transition:color .2s ease}
.banner-link:hover,.banner-link:focus-visible{color:var(--text)}
.banner-copy{display:none}
.flight-banner[data-animated="true"] .banner-track{width:max-content;animation:drift-left var(--banner-duration,195s) linear infinite;will-change:transform}
.flight-banner[data-animated="true"] .banner-list{display:flex;flex:none;flex-wrap:nowrap;justify-content:flex-start;padding:.65rem 1.25rem .65rem 0}

/* Quiet rules and aligned columns follow the PDF's section rhythm. */
.section{padding:2.75rem var(--gutter)}
.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.25rem}
.section-top>div{flex:1;min-width:0}
.section-top>.text-link{flex-shrink:0;margin-bottom:.2rem}
.section-top>p{color:var(--muted);max-width:25rem;margin:0}
.section-top .eyebrow:after,.about>div>.eyebrow:after,.contact>.eyebrow:after{content:'';height:1px;flex:1;background:linear-gradient(to right,#ffffff38,transparent)}
.about{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 3.5rem;padding-top:1.75rem}
.about>div{min-width:0}
.about>div:first-of-type{display:grid;grid-template-columns:minmax(0,1fr) minmax(9rem,15rem);column-gap:1.5rem;align-items:start}
.about>div:first-of-type>.eyebrow{grid-column:1/-1}
.about h2{max-width:20rem}
.about-portrait{display:block;width:100%;max-width:15rem;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;margin-top:0;justify-self:end;border-radius:.65rem}
.about-copy{color:var(--muted)}
.about-copy .lead{color:var(--text);font-size:1.125rem;line-height:1.6;margin-bottom:.65rem}
.about-copy>p{margin-bottom:.75rem}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:25rem;gap:1.5rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:1.25rem}
.facts strong{display:block;font-size:2rem;font-weight:500;line-height:1.2;letter-spacing:-.035em}
.facts span{display:block;margin-top:.4rem;color:var(--muted);font-size:.75rem;letter-spacing:.12em}

/* The social audience stays within About, presented as a red feature band. */
.about-audience{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:.35rem 2.5rem;margin:0 calc(-1 * var(--gutter));padding:4rem var(--gutter) 1.25rem;background:linear-gradient(180deg,rgba(25,28,38,0) 0%,rgba(46,48,61,.35) 18%,#b52f45 68%,#a71930 97%,#a71930 100%);color:#fff}
.about-audience .section-top{grid-column:1;grid-row:1/span 2;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.75rem;margin:0}
.about-audience .section-top>div{flex:initial}
.about-audience .eyebrow{color:#ffe4e9;font-size:.75rem;letter-spacing:.1em;margin-bottom:.5rem}
.about-audience .eyebrow:after{display:none}
.about-audience h2{font-size:1.625rem;max-width:25rem}
.audience-total{display:flex;align-items:flex-end;gap:.65rem;flex-wrap:wrap}
.audience-total strong{font-size:2.25rem;font-weight:500;letter-spacing:-.055em;line-height:1.1}
.audience-total span{max-width:6.5rem;padding-bottom:.2rem;font-size:.75rem;letter-spacing:.13em;line-height:1.6;color:#ffe0e7}
.audience-counts{grid-column:2;grid-row:1;display:grid;min-width:0}
.audience-counts>div{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.25rem 0;border-bottom:1px solid #ffffff28}
.audience-counts>div:first-child{padding-top:0}
.audience-counts span{font-size:.875rem;letter-spacing:.08em;text-transform:uppercase}
.audience-counts strong{font-size:1.125rem;font-weight:500;line-height:1.3;letter-spacing:-.03em;white-space:nowrap}
.audience-note{grid-column:2;grid-row:2;margin:.2rem 0 0;font-size:.75rem;color:#ffe3e9}

.flight,.projects{border-top:1px solid #ffffff12}.flight{padding-top:.55rem}
.flight>.section-top{flex-wrap:wrap;align-items:flex-start}
.flight>.section-top>div{flex-basis:100%}
.flight>.section-top>p{max-width:none;font-size:1rem}
.disciplines{display:grid;grid-template-columns:1fr;gap:.45rem;align-items:start}
.disciplines article{display:grid;grid-template-columns:auto minmax(10rem,16rem) minmax(0,1fr) auto;gap:.25rem .75rem;align-items:start;min-width:0;padding:.65rem .9rem;background:var(--panel);border:1px solid #ffffff24;border-radius:.6rem;cursor:pointer;transition:border-color .2s ease,transform .2s ease}
.flight-dropdown{margin-top:0;align-self:start}
.flight-dropdown summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2rem;padding:.25rem 0;cursor:pointer;list-style:none;border-radius:.2rem;font-size:.875rem;color:var(--accent)}
.flight-dropdown summary::-webkit-details-marker{display:none}
.flight-dropdown summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.flight-hide-label,.flight-dropdown[open] .flight-watch-label{display:none}
.flight-dropdown[open] .flight-hide-label{display:inline}
.disciplines h3{margin:0;line-height:1.35}
.discipline-number{display:block;margin:0;font-size:.75rem;line-height:1.5;font-weight:400;letter-spacing:.13em;color:var(--accent)}
.flight-toggle{width:.6rem;height:.6rem;margin-right:.2rem;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform .2s ease}
.flight-dropdown[open] .flight-toggle{transform:rotate(225deg)}
.flight-panel{padding:.25rem 0 0}
.flight-dropdown[open] .flight-panel{animation:soft-arrival .25s ease-out}
.disciplines p{font-size:.95rem;line-height:1.45;color:var(--muted);margin:0;max-width:58ch}
.flight-video{position:relative;aspect-ratio:16/9;min-height:200px;margin-top:1rem;overflow:hidden;border-radius:.4rem;background:var(--bg)}
.flight-video--portrait{aspect-ratio:9/16;max-width:13rem;min-height:0;margin-inline:auto}
.flight-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.flight-panel>.text-link{margin-top:.75rem}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;align-items:stretch}
.project{min-width:0;background:var(--panel);border:1px solid transparent;border-radius:.65rem;overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.project-content{padding:1.5rem}
.project-number{display:block;color:var(--accent);font-size:.75rem;line-height:1.5;letter-spacing:.14em}
.project-content h3{font-size:1.625rem;margin:.75rem 0 .75rem}
.project-content p{color:var(--muted);font-size:1rem;line-height:1.65;max-width:55ch;margin-bottom:1rem}
.project-content>:last-child{margin-bottom:0}
.winnats-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.text-link{display:inline-flex;align-items:center;min-height:2rem;font-size:.875rem;font-weight:500;color:var(--accent);border-bottom:1px solid transparent;transition:border-color .2s ease}
.text-link:hover{border-color:var(--accent)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 3.5rem;border-top:1px solid var(--line)}
.contact>.eyebrow{grid-column:1/-1;margin:0}
.contact h2{grid-column:1;grid-row:2/span 2;font-size:clamp(2rem,3.3vw,3rem);line-height:1.12;margin:0}
.contact h2 span{color:var(--text)}
.contact-bottom{grid-column:2;display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem}
.contact-bottom p{color:var(--muted);margin:0}
.email{grid-column:2;justify-self:start;font-size:.875rem;color:var(--muted);overflow-wrap:anywhere;text-underline-offset:5px}
.email:hover{text-decoration:underline}
footer{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.5rem var(--gutter);border-top:1px solid var(--line);background:#161923;color:var(--muted);font-size:.75rem;letter-spacing:.08em}
footer .brand{font-size:1rem;color:var(--text)}
footer a:hover{color:var(--text)}

.flight-stats{border-top:1px solid #ffffff29;background:linear-gradient(180deg,#28232e 0%,#802b3c 38%,#b52f45 70%,#a71930 100%);color:#fff}
.flight-stats .section-top{align-items:end}
.flight-stats .section-top .eyebrow{color:#ffe4e9}
.flight-stats .section-top>p{font-size:.875rem;color:#ffe3e9;white-space:nowrap}
.flight-stats-scroll{overflow-x:auto;border:0;border-radius:0;background:transparent}
.flight-stats table{width:100%;min-width:36rem;border-collapse:collapse;font-variant-numeric:tabular-nums}
.flight-stats th,.flight-stats td{padding:.68rem 1rem;text-align:right;border-bottom:1px solid #ffffff39}
.flight-stats th:first-child,.flight-stats td:first-child{text-align:left}
.flight-stats thead{background:transparent;color:#ffe4e9;font-size:.8rem;letter-spacing:.055em;text-transform:uppercase}
.flight-stats tbody tr:nth-child(even){background:transparent}
.flight-stats tbody td:first-child{font-weight:500}
.flight-stats tfoot{color:#fff;background:transparent;font-weight:700;border-top:2px solid #fff}
.flight-stats tfoot th,.flight-stats tfoot td{border-bottom:0}
.flight-stats-note{color:#ffe3e9;font-size:.78rem;margin:.7rem 0 0}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes drift-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes soft-arrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.hero-content>.eyebrow{animation:soft-arrival .6s ease-out both}
.hero-content>h1{animation:soft-arrival .7s .08s ease-out both}
.hero-intro{animation:soft-arrival .7s .16s ease-out both}
.hero-content>.button{animation:soft-arrival .65s .24s ease-out backwards}
.reveal-waiting{opacity:0;transform:translateY(12px)}
.reveal-waiting:focus-within{opacity:1;transform:none}
.reveal-visible{animation:soft-arrival .6s ease-out backwards}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.project:hover,.disciplines article:hover{transform:translateY(-3px);border-color:#f0375480;box-shadow:0 8px 18px #10131e26}}
@media(max-width:900px){
  .site-header nav{gap:1rem}
  .about,.about-audience,.contact{column-gap:2rem}
  .projects>.section-top{flex-direction:column;align-items:flex-start;gap:1rem}
  .projects>.section-top>div{width:100%}
}
@media(max-width:720px){
  .flight-stats .section-top{align-items:flex-start;flex-direction:column;gap:.4rem}
  .flight-stats th,.flight-stats td{padding:.62rem .8rem}
  .site-header{flex-wrap:wrap;gap:0 1rem;padding:.45rem var(--gutter)}
  .site-header .brand{padding:.25rem 0}
  .site-header nav{width:100%;justify-content:space-between;flex-wrap:wrap;gap:.25rem .8rem;font-size:.875rem;letter-spacing:0}
  .site-header nav .nav-contact{padding:.2rem .6rem}
  .hero{min-height:min(40rem,100svh)}
  .hero-content{padding-top:8.5rem;padding-bottom:1.75rem}
  .hero h1{font-size:clamp(2.5rem,8.4vw,4rem)}
  .hero-intro{font-size:1rem}
  .hero-photo{object-position:50% center}
  .section{padding-top:2rem;padding-bottom:2rem}
  .flight{padding-top:.4rem}
  .about{grid-template-columns:1fr;gap:1.25rem;padding-top:1.25rem}
  .about>div>.eyebrow{margin-top:.5rem}
  .about h2{max-width:none}
  .about-audience{grid-template-columns:1fr;gap:.8rem;padding-top:3rem;padding-bottom:1.25rem;margin-bottom:0}
  .about-audience .section-top{grid-column:1;grid-row:auto;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;width:100%}
  .about-audience h2{font-size:1.5rem}
  .about-audience .eyebrow{font-size:.75rem;margin-bottom:.4rem}
  .audience-total{display:block}
  .audience-total strong{display:block;font-size:2rem}
  .audience-total span{display:block;max-width:none;margin-top:.25rem;font-size:.75rem}
  .audience-counts,.audience-note{grid-column:1;grid-row:auto}
  .audience-note{margin-top:-.25rem}
  .audience-counts strong{font-size:1.125rem}
  .disciplines,.project-grid{grid-template-columns:1fr}
  .disciplines article{grid-template-columns:auto 1fr;gap:.25rem .65rem;padding:.8rem 1rem}
  .disciplines article>p,.disciplines article>.flight-dropdown{grid-column:1/-1}
  .project-content{padding:1.25rem}
  .contact{grid-template-columns:1fr;gap:1.25rem}
  .contact>.eyebrow,.contact h2,.contact-bottom,.email{grid-column:1;grid-row:auto}
  .section-top{gap:1rem;margin-bottom:1rem}
  footer{flex-wrap:wrap;justify-content:flex-start;gap:1rem 1.5rem}
}
@media(max-width:460px){
  .about-audience .section-top{grid-template-columns:1fr}
  .audience-total{display:flex;align-items:center;gap:.65rem}
  .audience-total span{max-width:6.5rem}
  .audience-total strong{font-size:2rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .reveal-waiting{opacity:1;transform:none}
  .flight-banner[data-animated="true"] .banner-track{width:auto;transform:none;will-change:auto}
  .flight-banner[data-animated="true"] .banner-list{flex:1;flex-wrap:wrap;justify-content:center;padding:.65rem 1.25rem}
  .banner-copy{display:none!important}
}
