/* Maison Glamour et Grâce — site stylesheet (rebuild, Sept 2026)
   Idea: aeronautical chart. Deep navy "night chart", cool chart-paper light sections,
   contour lines as texture, brand gold reserved for flight paths, waypoints and actions. */

@font-face{font-family:"Playfair Display";src:url(../fonts/playfair.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(../fonts/playfair-italic.woff2) format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Archivo";src:url(../fonts/archivo.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}

:root{
  --ink:#0F1E30;        /* night chart navy: header, heroes, dark bands */
  --ink-2:#172B42;      /* raised navy surfaces */
  --paper:#EEF1EC;      /* cool chart paper: light sections */
  --paper-2:#E1E6E1;    /* paper rule / card edge */
  --gold:#C9A04A;       /* brand gold: paths, buttons, waypoints */
  --gold-ink:#7A5A18;   /* gold for text on paper (AA contrast) */
  --chart:#6F93B3;      /* contour blue */
  --text:#1B2733;
  --muted:#4E5B68;
  --on-ink:#E8EDF2;
  --on-ink-muted:#A9B6C4;
  --wrap:1180px;
  --font:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--font);font-size:17px;line-height:1.6;color:var(--text);background:var(--paper);font-stretch:100%}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{font-stretch:75%;font-weight:800;line-height:1.02;letter-spacing:-.01em;margin:0 0 .45em;text-wrap:balance}
h1{font-size:clamp(44px,6.4vw,88px)}
h2{font-size:clamp(34px,4.2vw,56px)}
h3{font-size:clamp(22px,2vw,27px);line-height:1.1;font-stretch:87.5%}
.wrap{width:min(var(--wrap),100% - 48px);margin-inline:auto}
.lede{font-size:clamp(18px,1.6vw,21px);line-height:1.55;max-width:38em}
.muted{color:var(--muted)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--ink);padding:10px 14px;z-index:300;font-weight:700}
.skip:focus{left:8px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;border:2px solid var(--gold);background:var(--gold);color:var(--ink);transition:background-color .15s,color .15s}
.btn:hover{background:#DDB765;border-color:#DDB765}
.btn.line{background:transparent;color:inherit;border-color:currentColor}
.on-ink .btn.line{color:var(--on-ink);border-color:rgba(232,237,242,.55)}
.btn.line:hover{border-color:var(--gold);color:var(--gold)}
.on-paper .btn.line:hover{color:var(--gold-ink);border-color:var(--gold-ink)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.text-link{font-weight:700;color:var(--gold-ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.on-ink .text-link{color:var(--gold)}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:var(--ink);color:var(--on-ink);border-bottom:1px solid rgba(111,147,179,.25)}
.site-header .wrap{display:flex;align-items:center;gap:24px;min-height:76px}
.brand{display:block;flex:none}
.brand img{width:168px;height:auto}
.site-nav{margin-left:auto}
.site-nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.site-nav a{display:block;padding:10px 12px;border-radius:8px;text-decoration:none;font-size:15px;font-weight:600;color:var(--on-ink)}
.site-nav a:hover{background:var(--ink-2)}
.site-nav a[aria-current=page]{color:var(--gold);box-shadow:inset 0 -2px 0 var(--gold);border-radius:0}
.header-cta{min-height:42px;padding:8px 18px;font-size:15px}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid rgba(232,237,242,.4);color:var(--on-ink);border-radius:999px;padding:9px 16px;font:600 15px var(--font);cursor:pointer}
.site-nav .nav-contact{display:none}
@media (max-width:1080px){
  .menu-btn{display:block}
  .header-cta{display:none}
  .site-nav{position:absolute;left:0;right:0;top:100%;background:var(--ink);border-bottom:1px solid rgba(111,147,179,.3);display:none;max-height:calc(100vh - 76px);overflow:auto;box-shadow:0 24px 40px rgba(0,0,0,.45)}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column;padding:8px 24px 20px;gap:0}
  .site-nav a{padding:14px 4px;font-size:18px;border-bottom:1px solid rgba(111,147,179,.18);border-radius:0}
  .site-nav a[aria-current=page]{box-shadow:none}
  .site-nav .nav-contact{display:block}
  .site-nav .nav-contact a{color:var(--gold)}
}

/* Chart backgrounds */
.on-ink{background:var(--ink);color:var(--on-ink)}
.on-ink .muted,.on-ink .lede{color:var(--on-ink-muted)}
.chart-bg{position:relative;isolation:isolate}
.chart-bg::before{content:"";position:absolute;inset:0;background:url(../images/contours.svg) center/cover no-repeat;z-index:-1}
.on-paper.chart-bg::before{background-image:url(../images/contours-light.svg)}

/* Home hero */
.hero{position:relative;overflow:hidden;padding:clamp(56px,8vw,112px) 0 clamp(40px,6vw,72px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:center}
.hero h1{max-width:10.5em;color:#fff}
.hero .lede{margin-top:6px}
.hero-route{position:relative;width:100%;aspect-ratio:560/520}
.hero-route svg{width:100%;height:100%;overflow:visible}
.route-path{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;stroke-dasharray:2 12}
.route-draw{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round}
.wp circle.ring{fill:var(--ink);stroke:var(--gold);stroke-width:3}
.wp circle.dot{fill:var(--gold)}
.wp text{fill:var(--on-ink);font:700 19px var(--font);font-stretch:87.5%}
.wp text.sub{fill:var(--on-ink-muted);font:500 14px var(--font)}
.drone-mark{fill:var(--gold)}
@media (prefers-reduced-motion:no-preference){
  .js .route-draw{stroke-dasharray:1;stroke-dashoffset:1}
  .js .wp{opacity:0}
  .js .route-card.play .route-draw{animation:draw 2.4s .2s cubic-bezier(.6,.1,.3,1) forwards}
  .js .route-card.play .wp{animation:pop .35s forwards}
  .js .route-card.play .wp:nth-of-type(1){animation-delay:.25s}.js .route-card.play .wp:nth-of-type(2){animation-delay:.8s}.js .route-card.play .wp:nth-of-type(3){animation-delay:1.3s}.js .route-card.play .wp:nth-of-type(4){animation-delay:1.8s}.js .route-card.play .wp:nth-of-type(5){animation-delay:2.3s}
}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes pop{to{opacity:1}}
.hero-foot{margin-top:clamp(36px,5vw,64px);padding-top:22px;border-top:1px solid rgba(111,147,179,.3);display:flex;flex-wrap:wrap;gap:10px 36px;color:var(--on-ink-muted);font-size:15px}
.hero-foot strong{color:var(--on-ink);font-weight:700}

/* Sections */
.section{padding:clamp(64px,8vw,112px) 0}
.section.tight{padding:clamp(48px,6vw,80px) 0}
.section-head{max-width:760px;margin-bottom:clamp(32px,4vw,52px)}
.section-head p{color:var(--muted);font-size:19px}
.on-ink .section-head p{color:var(--on-ink-muted)}
.white{background:#fff}

/* Two audiences */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.door{display:flex;flex-direction:column;background:#fff;border:1px solid var(--paper-2);border-radius:18px;overflow:hidden}
.door img{width:100%;aspect-ratio:16/9;object-fit:cover}
.door-body{padding:28px 30px 32px;display:flex;flex-direction:column;flex:1}
.door-body p{color:var(--muted)}
.door-body ul{margin:4px 0 24px;padding-left:1.1em;color:var(--text)}
.door-body li{margin:4px 0}
.door-body .btn{margin-top:auto;align-self:flex-start}
.who{display:inline-block;font-weight:700;font-size:15px;color:var(--gold-ink);margin-bottom:8px}

/* Programs */
.programs{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.program{background:var(--ink-2);border-radius:18px;padding:30px;display:grid;grid-template-columns:1fr 150px;gap:24px;align-items:start;border:1px solid rgba(111,147,179,.22)}
.program h3{color:#fff}
.program p{color:var(--on-ink-muted);font-size:16px}
.program img{border-radius:10px;width:150px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.levels{list-style:none;margin:18px 0 22px;padding:0;display:grid;gap:8px}
.levels li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid rgba(111,147,179,.22);font-size:16px}
.levels li span:last-child{color:var(--on-ink-muted)}

/* Career route (a real sequence) */
.careers{display:grid;grid-template-columns:repeat(4,1fr);gap:0;list-style:none;margin:0;padding:0;counter-reset:c;position:relative}
.careers li{position:relative;padding:40px 18px 8px 0}
.careers li::before{content:"";position:absolute;left:0;right:0;top:12px;border-top:2px dashed rgba(122,90,24,.5)}
.careers li::after{content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;background:var(--paper);border:3px solid var(--gold-ink)}
.careers b{display:block;font-stretch:87.5%;font-size:20px;line-height:1.15}
.careers span{display:block;color:var(--muted);font-size:15px;margin-top:4px}

/* Status board */
.status{width:100%;border-collapse:collapse;font-size:16px}
.status th{text-align:left;font-weight:600;color:var(--muted);font-size:14px;padding:0 16px 12px 0;border-bottom:2px solid var(--text)}
.status td{padding:18px 16px 18px 0;border-bottom:1px solid var(--paper-2);vertical-align:top}
.status td:first-child{font-weight:700;font-stretch:87.5%;font-size:19px;width:30%}
.status td:nth-child(2){color:var(--muted)}
.pill{display:inline-block;white-space:nowrap;padding:4px 12px;border-radius:999px;font-size:14px;font-weight:700}
.pill.now{background:#DCEBDD;color:#1F5A2C}
.pill.dev{background:#F4E7C8;color:#6B4D0F}
.pill.later{background:#DDE5EE;color:#2A4561}
.table-scroll{overflow-x:auto}

/* Founder */
.founder{display:grid;grid-template-columns:320px 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.founder img{border-radius:18px;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%}
.founder blockquote{margin:0 0 24px;font-size:clamp(24px,2.6vw,34px);line-height:1.25;font-stretch:87.5%;font-weight:600;color:var(--text);text-wrap:balance}
.founder cite{font-style:normal;display:block;font-weight:700}
.facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:12px 48px;margin-top:32px;padding-top:24px;border-top:1px solid var(--paper-2)}
.facts b{display:block;font-size:40px;line-height:1;font-stretch:75%;font-weight:800;color:var(--gold-ink)}
.facts span{font-size:15px;color:var(--muted)}

/* CTA band */
.cta-band .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.partner-list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.partner-list li{padding:16px 0;border-top:1px solid rgba(111,147,179,.28)}
.partner-list b{display:block;color:#fff;font-size:18px}
.partner-list span{color:var(--on-ink-muted);font-size:15px}

/* Inner page hero */
.page-hero{padding:clamp(56px,7vw,96px) 0 clamp(48px,6vw,80px)}
.page-hero .crumb{display:block;font-weight:600;color:var(--gold);margin-bottom:14px;font-size:16px}
.page-hero h1{max-width:13em;color:#fff}
.page-hero .lede{margin-top:4px}

/* Generic layouts */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.split.flip > :first-child{order:2}
.split img{border-radius:18px;width:100%;object-fit:cover}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.tile{background:#fff;border:1px solid var(--paper-2);border-radius:14px;padding:26px}
.tile p{color:var(--muted);margin:0;font-size:16px}
.tile h3{margin-bottom:10px}
.on-ink .tile{background:var(--ink-2);border-color:rgba(111,147,179,.22)}
.on-ink .tile h3{color:#fff}
.on-ink .tile p{color:var(--on-ink-muted)}
.tile .pill{margin-bottom:14px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:s}
.steps li{counter-increment:s;padding-top:18px;border-top:3px solid var(--gold)}
.steps li::before{content:counter(s);display:block;font-weight:800;font-stretch:75%;font-size:44px;line-height:1;color:var(--gold-ink);margin-bottom:10px}
.steps b{display:block;font-size:21px;font-stretch:87.5%;color:var(--text);margin-bottom:6px}
.steps .when{display:block;font-size:14px;font-weight:700;color:var(--gold-ink);margin-bottom:6px}
.steps p{color:var(--muted);font-size:16px;margin:0}
.on-ink .steps li::before,.on-ink .steps .when{color:var(--gold)}
.on-ink .steps b{color:#fff}
.on-ink .steps p{color:var(--on-ink-muted)}
.level-list{list-style:none;margin:24px 0 0;padding:0;max-width:30em}
.level-list li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--paper-2);font-size:18px}
.level-list li b{font-stretch:87.5%}
.level-list li span{color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:16px 0 0}
.tags li{border:1px solid var(--paper-2);background:#fff;border-radius:999px;padding:6px 14px;font-size:15px;font-weight:600}
.note{border-left:4px solid var(--gold);padding:4px 0 4px 18px;color:var(--muted);max-width:44em}

/* Video */
.videos{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.videos video{width:100%;aspect-ratio:16/9;border-radius:14px;background:#000}
.videos h3{margin:18px 0 6px;color:#fff}
.videos p{color:var(--on-ink-muted);font-size:16px;margin:0}

/* Team */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.team img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center 20%;border-radius:14px}
.team b{display:block;margin-top:14px;font-size:20px;font-stretch:87.5%}
.team span{display:block;color:var(--muted);font-size:15px;line-height:1.4;margin-top:2px}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(32px,5vw,72px);align-items:start}
.contact-list{list-style:none;padding:0;margin:24px 0 0}
.contact-list li{padding:16px 0;border-top:1px solid var(--paper-2)}
.contact-list span{display:block;font-size:14px;color:var(--muted);font-weight:600}
.contact-list a{font-size:20px;font-weight:700;text-decoration:none}
.contact-list a:hover{text-decoration:underline}
.form{background:#fff;border:1px solid var(--paper-2);border-radius:18px;padding:clamp(22px,3vw,36px);display:grid;gap:18px}
.field{display:grid;gap:6px}
.field label{font-weight:700;font-size:15px}
.field input,.field select,.field textarea{font:inherit;font-size:17px;padding:12px 14px;border:1.5px solid #B9C2C9;border-radius:10px;background:#fff;color:var(--text);width:100%}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(201,160,74,.45)}
.form .btn{justify-self:start;cursor:pointer}
.form small{color:var(--muted);font-size:14px}
.hidden{display:none}

/* Footer */
.site-footer{background:var(--ink);color:var(--on-ink-muted);padding:64px 0 28px;font-size:15px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
.site-footer img{width:170px;margin-bottom:16px}
.site-footer h2{font-size:16px;font-stretch:100%;font-weight:700;color:#fff;letter-spacing:0;margin:0 0 12px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:8px 0}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.footer-base{margin-top:48px;padding-top:20px;border-top:1px solid rgba(111,147,179,.22);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:14px}

/* Responsive */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .hero-route{max-width:520px;aspect-ratio:560/400}
  .duo,.programs,.split,.cta-band .wrap,.contact-grid,.grid2{grid-template-columns:1fr}
  .split.flip > :first-child{order:0}
  .grid3{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr;row-gap:36px}
  .careers{grid-template-columns:1fr 1fr;row-gap:12px}
  .team{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .founder{grid-template-columns:240px 1fr}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap{width:min(var(--wrap),100% - 36px)}
  .brand img{width:124px}
  .site-header .wrap{min-height:66px}
  .site-nav{max-height:calc(100vh - 66px)}
  .grid3,.steps,.videos,.team{grid-template-columns:1fr}
  .team{grid-template-columns:1fr 1fr;gap:16px}
  .program{grid-template-columns:1fr}
  .program img{width:120px;order:-1}
  .founder{grid-template-columns:1fr}
  .founder img{max-width:300px;aspect-ratio:1}
  .facts{grid-template-columns:1fr 1fr;gap:20px 24px}
  .careers{grid-template-columns:1fr}
  .status thead{display:none}
  .status tr{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:16px 0;border-bottom:1px solid var(--paper-2)}
  .status td{border:0;padding:0}
  .status td:first-child{width:auto}
  .status td:nth-child(2){grid-column:1/-1;grid-row:2}
  .status td:nth-child(3){grid-column:2;grid-row:1}
  .footer-grid{grid-template-columns:1fr}
  .actions .btn{flex:1 1 100%}
}

/* Small-screen version of the hero route */
.route-list{display:none;list-style:none;margin:8px 0 0;padding:0}
.route-list li{position:relative;padding:0 0 18px 34px}
.route-list li::before{content:"";position:absolute;left:5px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--ink);border:3px solid var(--gold)}
.route-list li:not(:last-child)::after{content:"";position:absolute;left:11px;top:22px;bottom:2px;border-left:2px dashed rgba(201,160,74,.7)}
.route-list b{display:block;color:#fff;font-size:18px;font-stretch:87.5%}
.route-list span{color:var(--on-ink-muted);font-size:15px}
@media (max-width:640px){
  .hero-route{display:none}
  .route-list{display:block}
  .careers{grid-template-columns:1fr 1fr;column-gap:14px}
  .careers b{font-size:17px}
  .careers span{font-size:14px}
}

/* ===== Black & gold theme (overrides) ===== */
:root{
  --ink:#0A0A0A;        /* black: header, heroes, main sections */
  --ink-2:#161513;      /* raised surfaces: cards */
  --paper:#121110;      /* alternate section: soft black */
  --paper-2:#2A2722;    /* rules and card edges */
  --gold:#D4AF5A;       /* brand gold */
  --gold-ink:#D4AF5A;
  --chart:#C9A04A;
  --text:#F2EEE6;
  --muted:#B3AC9F;
  --on-ink:#F2EEE6;
  --on-ink-muted:#B3AC9F;
}
body{background:var(--ink);color:var(--text)}
.white{background:var(--paper)}
.site-header{border-bottom-color:rgba(212,175,90,.28)}
.site-nav a:hover{background:#1C1A17}
.on-ink .tile,.tile,.door,.form,.program{background:var(--ink-2);border-color:var(--paper-2)}
.tile h3,.door h3,.program h3,.team b,.careers b,.status td:first-child,.founder blockquote,.level-list li b{color:#fff}
.who{color:var(--gold)}
.door-body ul{color:var(--text)}
.btn:hover{background:#E6C674;border-color:#E6C674}
.on-paper .btn.line:hover{color:var(--gold);border-color:var(--gold)}
.btn.line:hover{color:var(--gold);border-color:var(--gold)}
.careers li::before{border-top-color:rgba(212,175,90,.45)}
.careers li::after{background:var(--ink);border-color:var(--gold)}
.white .careers li::after{background:var(--paper)}
.status th{color:var(--muted);border-bottom-color:var(--gold)}
.status td{border-bottom-color:var(--paper-2)}
.pill.now{background:rgba(212,175,90,.18);color:#F0D48C;border:1px solid rgba(212,175,90,.55)}
.pill.dev{background:transparent;color:var(--gold);border:1px dashed rgba(212,175,90,.7)}
.pill.later{background:transparent;color:var(--muted);border:1px solid #4A453C}
.facts{border-top-color:var(--paper-2)}
.facts b{color:var(--gold)}
.tags li{background:var(--ink-2);border-color:var(--paper-2);color:var(--text)}
.note{color:var(--muted)}
.level-list li{border-top-color:var(--paper-2)}
.partner-list li{border-top-color:rgba(212,175,90,.25)}
.hero-foot{border-top-color:rgba(212,175,90,.25)}
.levels li{border-top-color:rgba(212,175,90,.2)}
.program{border-color:rgba(212,175,90,.22)}
.contact-list li{border-top-color:var(--paper-2)}
.contact-list strong{color:#fff}
.field input,.field select,.field textarea{background:#0E0D0C;border-color:#4A453C;color:var(--text)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,90,.3)}
.site-footer{background:#050505;border-top:1px solid rgba(212,175,90,.28)}
.footer-base{border-top-color:rgba(212,175,90,.2)}
.site-nav{border-bottom-color:rgba(212,175,90,.3)}
.site-nav a{border-bottom-color:rgba(212,175,90,.14)!important}
.route-list li::before{background:var(--ink)}
.cta-band{border-top:1px solid rgba(212,175,90,.28)}

/* Homepage: what we do */
.divisions{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.division{display:flex;flex-direction:column;text-decoration:none;background:var(--ink-2);border:1px solid var(--paper-2);border-radius:16px;overflow:hidden;transition:border-color .15s}
.division:hover{border-color:var(--gold)}
.division img{width:100%;aspect-ratio:4/3;object-fit:cover}
.division div{padding:20px 22px 24px}
.division h3{color:#fff;margin-bottom:8px}
.division:hover h3{color:var(--gold)}
.division p{color:var(--muted);font-size:16px;margin:0}
@media (max-width:980px){.divisions{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.divisions{grid-template-columns:1fr}}


/* ===== Serif display type (from the v16 direction) ===== */
:root{--serif:"Playfair Display",Georgia,"Times New Roman",serif}
h1,h2,h3{font-family:var(--serif);font-stretch:normal;font-weight:500;letter-spacing:-.005em;line-height:1.08}
h1{font-size:clamp(46px,6vw,84px);line-height:1.02}
h2{font-size:clamp(34px,3.8vw,52px)}
h3{font-size:clamp(21px,1.7vw,25px);line-height:1.18;font-weight:500}
h1 em,h2 em{font-style:italic;color:var(--gold);display:block}
.founder blockquote{font-family:var(--serif);font-style:italic;font-weight:400;font-stretch:normal}
.facts b,.steps li::before{font-family:var(--serif);font-stretch:normal;font-weight:500}
.careers b,.team b,.status td:first-child,.level-list li b,.route-list b{font-family:var(--font);font-stretch:87.5%}
.site-footer h2{font-family:var(--font)}

/* Photo hero */
.photo-hero{position:relative;background:#050505;overflow:hidden;min-height:min(640px,82vh);display:flex;align-items:center}
.photo-hero-img{position:absolute;top:0;right:0;height:100%;width:62%;object-fit:cover;object-position:40% center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%);mask-image:linear-gradient(90deg,transparent 0,#000 34%)}
.photo-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:90px;background:linear-gradient(transparent,var(--ink))}
.photo-hero-copy{position:relative;z-index:2;padding:clamp(64px,8vw,110px) 0}
.photo-hero-copy{max-width:min(var(--wrap),100% - 48px)}
.photo-hero-copy h1{max-width:8.2em;color:#fff;margin-top:10px;font-size:clamp(44px,5.4vw,76px)}
.photo-hero-copy .lede,.photo-hero-copy h1,.photo-hero-copy .tagline{text-shadow:0 2px 18px rgba(0,0,0,.6)}
.photo-hero-copy .lede{max-width:27em;color:#DDD6CA}
.tagline{margin:0;color:var(--gold);font-weight:700;font-size:14px;letter-spacing:.22em;text-transform:uppercase}
@media (max-width:900px){
  .photo-hero{display:block;min-height:0}
  .photo-hero-img{position:relative;width:100%;height:auto;aspect-ratio:16/10;-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 30%);mask-image:linear-gradient(0deg,transparent 0,#000 30%)}
  .photo-hero-copy{padding:0 0 56px;margin-top:-40px}
}

/* Focus cards */
.focus-head{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:end;margin-bottom:36px}
.focus-head h2{margin:0}
.focus-head p{margin:0;font-size:18px}
.focus-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.focus-card{display:flex;flex-direction:column;text-decoration:none;background:var(--ink-2);border:1px solid rgba(212,175,90,.35);border-radius:14px;overflow:hidden;transition:border-color .15s}
.focus-card:hover{border-color:var(--gold)}
.focus-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.focus-card div{padding:20px 20px 22px;display:flex;flex-direction:column;flex:1}
.focus-card h3{color:#fff;margin-bottom:10px}
.focus-card p{color:var(--muted);font-size:15px;margin:0 0 18px}
.focus-card span{margin-top:auto;color:var(--gold);font-weight:700;font-size:15px}
.focus-card:hover span{text-decoration:underline;text-underline-offset:4px}
.focus-card:first-child{border-color:var(--gold)}
@media (max-width:1100px){.focus-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.focus-head{grid-template-columns:1fr;gap:12px}.focus-grid{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.focus-grid{grid-template-columns:1fr}}
.white .tags li{background:var(--ink)}

/* Ivory band */
.ivory{background:#F5EFE3;color:#1A1712;padding:clamp(64px,8vw,104px) 0}
.ivory-grid{display:grid;grid-template-columns:1fr 1.5fr .8fr;gap:clamp(28px,4vw,52px);align-items:center}
.ivory h2{color:#14110C}
.ivory p{color:#4A4339}
.ivory-kicker{color:#8A6A1F!important;font-weight:700;font-size:15px;margin-bottom:10px!important}
.ivory img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:62% center;border-radius:18px;box-shadow:0 0 0 1px #D8C9A6,18px 18px 0 -2px #E6D6B0}
.ivory-levels{list-style:none;margin:0 0 28px;padding:0}
.ivory-levels li{padding:14px 0;border-bottom:1px solid #DCCFB3}
.ivory-levels b{display:block;color:#14110C;font-size:17px}
.ivory-levels span{color:#6D6456;font-size:15px}
.ivory-quote{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.3;color:#14110C!important;border-top:2px solid #C9A04A;padding-top:18px;margin:0}
.ivory .btn:hover{background:#B8923E;border-color:#B8923E}
@media (max-width:980px){.ivory-grid{grid-template-columns:1fr 1fr}.ivory-grid>img{grid-column:1/-1;order:-1}}
@media (max-width:640px){.ivory-grid{grid-template-columns:1fr}}

/* Purpose band */
.purpose{border-top:1px solid rgba(212,175,90,.3);border-bottom:1px solid rgba(212,175,90,.3);padding:clamp(40px,5vw,60px) 0}
.purpose-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}
.purpose h2{margin:0;font-size:clamp(34px,4.4vw,60px)}
.purpose p{margin:0;padding-left:32px;border-left:2px solid var(--gold);color:var(--muted);font-size:18px}
@media (max-width:800px){.purpose-grid{grid-template-columns:1fr;gap:20px}.purpose p{padding-left:18px}}

/* City close */
.city-close{position:relative;overflow:hidden;min-height:340px;display:flex;align-items:center;border-top:1px solid rgba(212,175,90,.28)}
.city-close>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% 100%}
.city-close::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.9) 0%,rgba(5,5,5,.55) 50%,rgba(5,5,5,.85) 100%);z-index:1}
.city-close-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:56px 0}
.city-close h2{color:var(--gold);margin-bottom:8px}
.city-close p{color:#E7E1D6;margin:0;font-size:18px}
.city-close blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.2vw,30px);line-height:1.3;color:#fff;text-align:right}
.city-close cite{display:block;margin-top:14px;font-family:var(--font);font-style:normal;font-size:15px;color:#E7E1D6}
@media (max-width:800px){.city-close-grid{grid-template-columns:1fr}.city-close blockquote{text-align:left}}

/* CTA ribbon */
.ribbon{border-top:1px solid rgba(212,175,90,.45);border-bottom:1px solid rgba(212,175,90,.2);background:var(--ink)}
.ribbon-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:center;min-height:104px}
.ribbon-grid a:not(.btn){display:block;text-decoration:none;padding:18px 24px;border-right:1px solid rgba(212,175,90,.3)}
.ribbon-grid a:not(.btn):first-child{padding-left:0}
.ribbon-grid a:not(.btn):hover b{color:var(--gold)}
.ribbon b{display:block;color:#fff;font-size:17px}
.ribbon span{display:block;color:var(--muted);font-size:14px}
.ribbon .btn{margin-left:28px}
@media (max-width:900px){.ribbon-grid{grid-template-columns:1fr;padding:12px 0 28px}.ribbon-grid a:not(.btn){border-right:0;border-bottom:1px solid rgba(212,175,90,.2);padding:16px 0}.ribbon .btn{margin:20px 0 0;justify-self:start}}
@media (max-width:640px){.tagline{font-size:12px;letter-spacing:.14em}}

/* Workforce route card */
.route-card{border:1px solid rgba(212,175,90,.3);border-radius:20px;padding:clamp(20px,3vw,36px);background-color:var(--ink);overflow:hidden}
.route-card .hero-route{max-width:none;aspect-ratio:580/520}
@media (max-width:980px){.route-card .hero-route{max-width:none}}
@media (max-width:640px){.route-card{display:none}}
.route-card .wp text{font-size:22px}
.route-card .wp text.sub{font-size:16px}

/* ===== Creative layer: photo heroes, drone flight, camera HUD ===== */
.photo-page-hero{position:relative;overflow:hidden;background:#050505;color:var(--on-ink);padding:clamp(80px,9vw,130px) 0 clamp(64px,7vw,100px);isolation:isolate}
.pph-img{position:absolute;top:0;right:0;width:66%;height:100%;object-fit:cover;z-index:-2;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
.photo-page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:url(../images/contours.svg) center/cover no-repeat;opacity:.9;-webkit-mask-image:linear-gradient(90deg,#000 20%,transparent 70%);mask-image:linear-gradient(90deg,#000 20%,transparent 70%)}
.photo-page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:80px;background:linear-gradient(transparent,var(--ink));z-index:-1}
.pph-copy{position:relative;z-index:3}
.pph-copy h1{max-width:11em;text-shadow:0 2px 20px rgba(0,0,0,.7)}
.pph-copy .lede{max-width:30em;color:#DDD6CA;text-shadow:0 1px 14px rgba(0,0,0,.8)}
/* camera viewfinder corners over the photo */
.pph-frame{position:absolute;top:28px;bottom:28px;right:3vw;width:44%;z-index:1;pointer-events:none;
  --c:rgba(212,175,90,.85);--l:34px;--t:2px;
  background:
    linear-gradient(var(--c),var(--c)) top left/var(--l) var(--t),linear-gradient(var(--c),var(--c)) top left/var(--t) var(--l),
    linear-gradient(var(--c),var(--c)) top right/var(--l) var(--t),linear-gradient(var(--c),var(--c)) top right/var(--t) var(--l),
    linear-gradient(var(--c),var(--c)) bottom left/var(--l) var(--t),linear-gradient(var(--c),var(--c)) bottom left/var(--t) var(--l),
    linear-gradient(var(--c),var(--c)) bottom right/var(--l) var(--t),linear-gradient(var(--c),var(--c)) bottom right/var(--t) var(--l);
  background-repeat:no-repeat}
.pph-frame::after{content:"";position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border:1.5px solid rgba(255,255,255,.55);border-radius:50%;
  background:linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,.55)) center/1.5px 40px no-repeat,linear-gradient(rgba(255,255,255,.55),rgba(255,255,255,.55)) center/40px 1.5px no-repeat}
.photo-hero .pph-frame{top:40px;bottom:60px;width:48%}
.fly-layer{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.hud{position:absolute;right:calc(3vw + 18px);bottom:44px;z-index:2;display:flex;gap:16px;font:600 12px/1 var(--font);letter-spacing:.08em;color:rgba(255,255,255,.85);text-shadow:0 1px 6px #000}
.photo-hero .hud{bottom:76px}
.hud .rec::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#E0453A;margin-right:6px;vertical-align:0;animation:blink 1.4s steps(2,start) infinite}
@keyframes blink{to{visibility:hidden}}
@media (prefers-reduced-motion:reduce){.hud .rec::before{animation:none}}
@media (max-width:900px){
  .photo-page-hero{padding-top:0}
  .pph-img{position:relative;display:block;width:100%;height:auto;aspect-ratio:16/9;-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 35%);mask-image:linear-gradient(0deg,transparent 0,#000 35%);margin-bottom:-30px}
  .pph-frame{top:14px;bottom:auto;height:calc(56.25vw - 40px);right:14px;width:calc(100% - 28px)}
  .photo-hero .pph-frame{top:14px;height:calc(62.5vw - 40px);width:calc(100% - 28px);right:14px}
  .fly-layer{height:60vw}
  .hud{top:calc(56.25vw - 64px);bottom:auto;right:30px;font-size:10px;gap:10px}
  .photo-hero .hud{top:calc(62.5vw - 70px);bottom:auto}
  .hud span:last-child{display:none}
}

/* Viewfinder figure for content photos */
.vf{position:relative;margin:0}
.vf img{width:100%;border-radius:18px;display:block}
.vf::after{content:"";position:absolute;inset:14px;pointer-events:none;
  --c:rgba(212,175,90,.9);--l:26px;--t:2px;
  background:
    linear-gradient(var(--c),var(--c)) top left/var(--l) var(--t),linear-gradient(var(--c),var(--c)) top left/var(--t) var(--l),
    linear-gradient(var(--c),var(--c)) top right/var(--l) var(--t),linear-gradient(var(--c),var(--c)) top right/var(--t) var(--l),
    linear-gradient(var(--c),var(--c)) bottom left/var(--l) var(--t),linear-gradient(var(--c),var(--c)) bottom left/var(--t) var(--l),
    linear-gradient(var(--c),var(--c)) bottom right/var(--l) var(--t),linear-gradient(var(--c),var(--c)) bottom right/var(--t) var(--l);
  background-repeat:no-repeat}
.vf::before{content:"REC  ·  ALT 120 FT";position:absolute;left:28px;top:24px;z-index:1;font:600 11px var(--font);letter-spacing:.1em;color:#fff;text-shadow:0 1px 6px #000}

/* Survey illustration */
.survey{margin:0;border:1px solid rgba(212,175,90,.35);border-radius:18px;overflow:hidden;background:#0E0D0B}
.survey svg{display:block;width:100%;height:auto}

/* Gold offset frame on split photos */
.split > img{box-shadow:0 0 0 1px rgba(212,175,90,.35),16px 16px 0 -1px rgba(212,175,90,.14)}

/* Flight-line flourish under section headings */
.section-head h2::after,.focus-head h2::after{content:"";display:block;width:132px;height:12px;margin-top:18px;
  background:radial-gradient(circle,var(--gold) 3.5px,transparent 4px) right center/12px 12px no-repeat,
             linear-gradient(90deg,var(--gold) 50%,transparent 0) left center/10px 2px repeat-x;
  background-size:12px 12px,10px 2px;background-position:right center,left center;background-repeat:no-repeat,repeat-x;
  -webkit-mask:linear-gradient(90deg,#000 calc(100% - 16px),transparent calc(100% - 16px),transparent calc(100% - 13px),#000 0);
}

/* Ticker */
.ticker{border-top:1px solid rgba(212,175,90,.35);border-bottom:1px solid rgba(212,175,90,.35);overflow:hidden;background:#070707;white-space:nowrap}
.ticker-track{display:inline-flex;gap:0;padding:16px 0;animation:tick 48s linear infinite}
.ticker span{font-family:var(--serif);font-style:italic;font-size:clamp(18px,1.6vw,22px);color:#E9E2D4;padding:0 26px;position:relative}
.ticker span::after{content:"";position:absolute;right:-5px;top:50%;width:9px;height:9px;margin-top:-4px;border:2px solid var(--gold);border-radius:50%}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}

/* Wide variant: shows the full skyline across the header */
.photo-page-hero.wide .pph-img{width:auto;min-width:62%;max-width:none;height:100%;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.55) 22%,#000 48%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.55) 22%,#000 48%)}
.photo-page-hero.wide .pph-frame{width:40%}
@media (max-width:900px){.photo-page-hero.wide .pph-img{-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 35%);mask-image:linear-gradient(0deg,transparent 0,#000 35%)}.photo-page-hero.wide .pph-frame{width:calc(100% - 28px)}}
@media (max-width:900px){.photo-page-hero.wide .pph-img{width:100%;min-width:0;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:62% 60%}}

/* Full-bleed variant: photos composed with open sky on the left for text */
.photo-page-hero.full .pph-img{width:100%;-webkit-mask-image:none;mask-image:none}
.photo-page-hero.full::before{opacity:.35;z-index:-1}
.photo-page-hero.full .pph-copy::before{content:"";position:absolute;inset:-200px -100vw -200px -100vw;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,5,5,.84) 0%,rgba(5,5,5,.66) 40%,rgba(5,5,5,.14) 64%,transparent 76%)}
.photo-page-hero.full .pph-frame{width:40%}
@media (max-width:900px){
  .photo-page-hero.full .pph-img{aspect-ratio:16/9;-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 30%);mask-image:linear-gradient(0deg,transparent 0,#000 30%)}
  .photo-page-hero.full .pph-copy::before{display:none}
}

/* Clickable curriculum image */
.flyer-link{position:relative;display:block;border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px rgba(212,175,90,.45),16px 16px 0 -1px rgba(212,175,90,.14);transition:box-shadow .2s,transform .2s}
.flyer-link img{display:block;width:100%;transition:transform .4s}
.flyer-link:hover{box-shadow:0 0 0 2px var(--gold),16px 16px 0 -1px rgba(212,175,90,.25)}
.flyer-link:hover img{transform:scale(1.03)}
.flyer-cta{position:absolute;right:16px;bottom:16px;background:var(--gold);color:var(--ink);font-weight:700;font-size:15px;padding:10px 16px;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.4)}
@media (prefers-reduced-motion:reduce){.flyer-link img{transition:none}.flyer-link:hover img{transform:none}}

/* Drone Education Pathways title, styled after the program graphic */
.dep-title{font-family:var(--font);font-stretch:112%;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:.92;font-size:clamp(40px,4.6vw,64px);color:#fff}
.dep-title .dep-gold{display:block;font-style:italic;color:transparent;background:linear-gradient(180deg,#F6DE8E 0%,#D4AF5A 45%,#9C7424 100%);-webkit-background-clip:text;background-clip:text}
.dep-title::after{display:none}
.dep-sub{margin:4px 0 22px;font-family:var(--font);font-weight:700;font-stretch:110%;text-transform:uppercase;letter-spacing:.14em;font-size:14px;color:#E9E2D4;padding-bottom:14px;border-bottom:2px solid var(--gold);display:inline-block}
.dep-sub i{color:var(--gold);font-style:normal;margin:0 6px}
.track-nav{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;counter-reset:t}
.track-nav a{display:block;height:100%;text-decoration:none;border:1px solid rgba(212,175,90,.35);border-radius:12px;padding:14px 16px;background:var(--ink);transition:border-color .15s}
.track-nav a:hover{border-color:var(--gold)}
.track-nav li{counter-increment:t}
.track-nav b{display:block;color:#fff;font-size:16px}
.track-nav b::before{content:counter(t) "  ";color:var(--gold);font-family:var(--serif)}
.track-nav span{color:var(--muted);font-size:14px}
@media (max-width:640px){.track-nav{grid-template-columns:1fr}}

/* Curriculum tracks: each level paired with its video and materials */
.track-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(32px,5vw,64px);align-items:center}
.track-grid.flip .track-media{order:2}
.track-media video{width:100%;aspect-ratio:16/9;border-radius:16px;background:#000;box-shadow:0 0 0 1px rgba(212,175,90,.4),16px 16px 0 -1px rgba(212,175,90,.14)}
.track-media.narrow{max-width:360px;justify-self:center}
.track-media.narrow img{border-radius:14px;box-shadow:0 0 0 1px rgba(212,175,90,.4),16px 16px 0 -1px rgba(212,175,90,.14)}
.track-cap{margin:12px 0 0;color:var(--muted);font-size:14px}
.track-step{margin:0 0 8px;color:var(--gold);font-weight:700;font-size:15px}
.track-step i{font-style:normal;margin:0 4px}
.track-material{display:flex;align-items:center;gap:16px;margin-top:22px;padding:14px;border:1px solid var(--paper-2);border-radius:14px;background:var(--ink-2)}
.track-material img{width:72px;border-radius:6px}
.track-material b{display:block;color:#fff}
.track-material span{color:var(--muted);font-size:14px}
@media (max-width:900px){.track-grid{grid-template-columns:1fr}.track-grid.flip .track-media{order:0}}
.fr-levels li{padding:0}
.fr-levels a{display:flex;justify-content:space-between;gap:16px;width:100%;padding:14px 0;text-decoration:none;color:inherit}
.fr-levels a:hover b{color:var(--gold)}
.fr-levels a::after{content:"↗";color:var(--gold);margin-left:4px}
.fr-levels a span{margin-left:auto}

/* Future Ready AI section */
.fr-brand{display:flex;align-items:center;gap:10px;margin:0 0 16px;font-weight:700;color:#fff;font-size:17px}
.fr-brand em{font-style:normal;font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-left:4px}
.fr-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,#1E3350,#0E1A2B);border:1px solid rgba(212,175,90,.5);font-size:13px;font-weight:800;color:#fff}
.fr-intro{margin-bottom:clamp(44px,5vw,64px)}
.fr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:fr}
.fr-card{--accent:var(--gold);position:relative;display:flex;flex-direction:column;background:var(--ink);border:1px solid var(--paper-2);border-radius:18px;padding:30px 26px 26px;overflow:hidden;transition:border-color .2s,transform .2s}
.fr-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--accent),rgba(212,175,90,.8))}
.fr-card::after{counter-increment:fr;content:"0" counter(fr);position:absolute;right:20px;top:14px;font-family:var(--serif);font-size:56px;line-height:1;color:var(--accent);opacity:.18}
.fr-card:hover{border-color:var(--accent);transform:translateY(-3px)}
@media (prefers-reduced-motion:reduce){.fr-card:hover{transform:none}}
.fr-disc{--accent:#E8894B}
.fr-expl{--accent:#3FB5A5}
.fr-innov{--accent:#9B7BE0}
.fr-level{margin:0 0 6px;color:var(--accent);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.fr-card h3{color:#fff;font-size:clamp(24px,2.1vw,30px);margin-bottom:14px}
.fr-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0}
.fr-chips li{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px 12px;font-size:14px;font-weight:600;color:#E9E2D4}
.fr-verbs{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:18px;line-height:1.35;margin:0 0 12px}
.fr-desc{color:var(--muted);font-size:16px;margin:0 0 18px}
.fr-evidence{border-left:3px solid var(--accent);background:rgba(255,255,255,.035);padding:12px 14px;border-radius:0 10px 10px 0;margin-bottom:22px}
.fr-evidence b{display:block;color:#fff;font-size:14px;margin-bottom:4px}
.fr-evidence span{color:var(--muted);font-size:15px;line-height:1.5}
.fr-link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--gold);text-decoration:none;border:1.5px solid rgba(212,175,90,.55);border-radius:999px;padding:10px 16px;align-self:flex-start;font-size:15px}
.fr-link:hover{background:var(--gold);color:var(--ink)}
.fr-note{margin:26px 0 0;color:var(--muted);font-size:14px;text-align:center}
@media (max-width:980px){.fr-grid{grid-template-columns:1fr;max-width:620px;margin-inline:auto}}

/* Level cards: no top stripe */
.fr-card::before{display:none}
/* Smaller pathways heading */
.dep-title{font-size:clamp(28px,3vw,42px)}
.dep-sub{font-size:13px;margin-bottom:18px}

/* Nav with Home + About first */
.site-nav a{padding:10px 10px;font-size:15px}
@media (max-width:1320px){.site-nav a{padding:10px 7px;font-size:14px}.brand img{width:150px}}
@media (max-width:1200px){
  .menu-btn{display:block}
  .header-cta{display:none}
  .site-nav{position:absolute;left:0;right:0;top:100%;background:var(--ink);border-bottom:1px solid rgba(212,175,90,.3);display:none;max-height:calc(100vh - 76px);overflow:auto;box-shadow:0 24px 40px rgba(0,0,0,.45)}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column;padding:8px 24px 20px;gap:0}
  .site-nav a{padding:14px 4px;font-size:18px;border-bottom:1px solid rgba(212,175,90,.14);border-radius:0}
  .site-nav a[aria-current=page]{box-shadow:none}
  .site-nav .nav-contact{display:block}
  .site-nav .nav-contact a{color:var(--gold)}
}

/* Flow diagram (numbered stages joined by a gold flight line) */
.flow{list-style:none;margin:0;padding:0;display:grid;gap:20px;counter-reset:f;position:relative}
.flow-5{grid-template-columns:repeat(5,1fr)}
.flow-6{grid-template-columns:repeat(6,1fr)}
.flow li{counter-increment:f;position:relative;padding-top:64px}
.flow li::before{content:counter(f);position:absolute;top:0;left:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--ink);border:2px solid var(--gold);color:var(--gold);font-family:var(--serif);font-size:20px;z-index:1}
.flow li:not(:last-child)::after{content:"";position:absolute;top:22px;left:52px;right:-12px;border-top:2px dashed rgba(212,175,90,.55)}
.white .flow li::before{background:var(--paper)}
.flow b{display:block;color:#fff;font-size:20px;font-family:var(--serif);font-weight:500;margin-bottom:6px}
.flow p{color:var(--muted);font-size:15px;margin:0}
.flow ul{list-style:none;padding:0;margin:8px 0 0}
.flow ul li{counter-increment:none;padding:3px 0;color:var(--muted);font-size:14px}
.flow ul li::before,.flow ul li::after{display:none}
@media (max-width:980px){.flow-5,.flow-6{grid-template-columns:1fr 1fr}.flow li::after{display:none}}
@media (max-width:560px){.flow-5,.flow-6{grid-template-columns:1fr}}
/* Concepts list */
.concepts{margin:0;display:grid;gap:0}
.concepts div{padding:16px 0;border-top:1px solid var(--paper-2)}
.concepts dt{color:#fff;font-weight:700;font-size:17px;margin-bottom:4px}
.concepts dd{margin:0;color:var(--muted);font-size:16px}
.tags.big li{font-size:16px;padding:9px 16px}
.facts-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.fact-card{background:var(--ink);border:1px solid rgba(212,175,90,.35);border-radius:16px;padding:24px}
.fact-card b{display:block;font-family:var(--serif);font-weight:500;color:var(--gold);font-size:clamp(30px,3vw,40px);line-height:1.1;margin-bottom:8px}
.fact-card span{display:block;color:var(--text);font-size:16px;margin-bottom:12px}
.fact-card small{color:var(--muted);font-size:13px}
.fact-card .text-link{font-size:13px}
@media (max-width:860px){.facts-row{grid-template-columns:1fr}}
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.res-card{display:block;text-decoration:none;background:var(--ink-2);border:1px solid var(--paper-2);border-radius:14px;padding:22px 22px 24px;transition:border-color .15s}
.white .res-card{background:var(--ink)}
.res-card:hover{border-color:var(--gold)}
.res-card b{display:block;color:#fff;font-size:17px;margin-bottom:8px}
.res-card:hover b{color:var(--gold)}
.res-card b span{color:var(--gold)}
.res-card>span{color:var(--muted);font-size:15px;line-height:1.5}
@media (max-width:900px){.res-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.res-grid{grid-template-columns:1fr}}
.pph-copy h1{max-width:9.5em}

/* Homepage header: full-width riverfront image */
.photo-hero.home-full .photo-hero-img{width:100%;object-position:right center;-webkit-mask-image:none;mask-image:none}
.photo-hero.home-full::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(5,5,5,.8) 0%,rgba(5,5,5,.6) 36%,rgba(5,5,5,.12) 60%,transparent 72%)}
.photo-hero.home-full .photo-hero-copy{z-index:3}
@media (max-width:900px){
  .photo-hero.home-full .photo-hero-img{aspect-ratio:16/9;object-position:72% center;-webkit-mask-image:linear-gradient(0deg,transparent 0,#000 30%);mask-image:linear-gradient(0deg,transparent 0,#000 30%)}
  .photo-hero.home-full::before{display:none}
}

/* Industries */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ind-card{background:var(--ink);border:1px solid var(--paper-2);border-radius:14px;padding:20px 20px 22px}
.ind-card h3{color:#fff;font-size:20px;margin:12px 0 8px}
.ind-card p{color:var(--muted);font-size:15px;margin:0;line-height:1.5}
.ind-tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;padding:4px 10px;border-radius:999px}
.ind-tag.svc{background:rgba(212,175,90,.18);color:#F0D48C;border:1px solid rgba(212,175,90,.55)}
.ind-tag.dev{color:var(--gold);border:1px dashed rgba(212,175,90,.7)}
.ind-tag.prog{color:#9ED9CF;border:1px solid rgba(63,181,165,.6)}
.ind-tag.career{color:var(--muted);border:1px solid #4A453C}
@media (max-width:1100px){.ind-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:800px){.ind-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.ind-grid{grid-template-columns:1fr}}
.sports{background:#070707}
.sports .flow li::before{background:#070707}
.ind-cta{text-decoration:none;border-color:rgba(212,175,90,.55);display:flex;flex-direction:column}
.ind-cta h3{margin-top:0}
.ind-cta span{margin-top:auto;padding-top:14px;color:var(--gold);font-weight:700}
.ind-cta:hover{border-color:var(--gold)}
/* Lighter shade for images that already have a dark left side */
.photo-page-hero.soft .pph-copy::before{background:linear-gradient(90deg,rgba(5,5,5,.55) 0%,rgba(5,5,5,.35) 30%,rgba(5,5,5,.05) 50%,transparent 60%)}

/* ===== Professional polish pass (Sept 23) ===== */
/* Calmer type scale */
h1{font-size:clamp(36px,4.2vw,58px)}
.photo-hero-copy h1{font-size:clamp(40px,4.8vw,66px);max-width:9em}
.pph-copy h1{font-size:clamp(34px,3.9vw,54px);max-width:11em;line-height:1.06}
h2{font-size:clamp(28px,2.8vw,42px)}
.focus-head h2{font-size:clamp(28px,2.8vw,42px)}
.fr-card h3,.ind-card h3,.focus-card h3{font-size:clamp(19px,1.5vw,22px)}
.lede{font-size:clamp(17px,1.35vw,19px)}
.section-head p{font-size:17px}
/* Less vertical sprawl */
.section{padding:clamp(56px,6.5vw,96px) 0}
.photo-page-hero{padding:clamp(72px,7.5vw,112px) 0 clamp(56px,6vw,88px)}
.section-head{margin-bottom:clamp(26px,3vw,40px)}
/* Quieter overlays: content photos keep gold corners only */
.vf::before{display:none}
/* Industries: compact cards */
.ind-card{padding:18px 18px 20px}
.ind-card p{font-size:14.5px}
/* Status table on What's next */
.status td:first-child{font-size:17px}
.sports-img{margin-top:40px}
.sports-img img{aspect-ratio:21/8.4;object-fit:cover;object-position:center 30%;box-shadow:0 0 0 1px rgba(212,175,90,.35)}

/* Headers: no printed map lines, and taller on wide screens so more skyline shows */
.photo-page-hero::before{display:none}
.photo-page-hero{min-height:clamp(520px,42vw,860px);display:flex;align-items:center}

@media (max-width:900px){.photo-page-hero{display:block;min-height:0}}
.re-img img{aspect-ratio:21/8.2;object-fit:cover;object-position:center 30%;box-shadow:0 0 0 1px rgba(212,175,90,.35)}

/* Aerial services: "How a project works" */
.process{position:relative;overflow:hidden;isolation:isolate;border-top:1px solid rgba(212,175,90,.25);border-bottom:1px solid rgba(212,175,90,.25)}
.process-bg{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,8,8,.86),rgba(8,8,8,.92)),url(../images/hero-full-skyline-drone.jpg) center 70%/cover no-repeat;filter:saturate(.9)}
.process-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,48px)}
.process-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:ps;position:relative}
.process-steps::before{content:"";position:absolute;left:4%;right:4%;top:46px;border-top:2px dashed rgba(212,175,90,.45);z-index:0}
.process-steps li{counter-increment:ps;position:relative;z-index:1;background:rgba(18,17,16,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(212,175,90,.3);border-radius:16px;padding:24px 22px 26px;transition:border-color .2s,transform .2s}
.process-steps li:hover{border-color:var(--gold);transform:translateY(-3px)}
@media (prefers-reduced-motion:reduce){.process-steps li:hover{transform:none}}
.process-steps li::after{content:"0" counter(ps);position:absolute;top:18px;right:20px;font-family:var(--serif);font-size:28px;color:var(--gold);opacity:.55}
.p-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#0a0a0a;border:2px solid var(--gold);margin-bottom:18px}
.p-icon svg{width:22px;height:22px;fill:none;stroke:var(--gold);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.process-steps b{display:block;font-family:var(--serif);font-weight:500;color:#fff;font-size:21px;margin-bottom:6px}
.process-steps p{margin:0;color:var(--muted);font-size:15.5px}
@media (max-width:980px){.process-steps{grid-template-columns:1fr 1fr}.process-steps::before{display:none}}
@media (max-width:560px){.process-steps{grid-template-columns:1fr}}
/* Future Ready AI image on the homepage: show the full picture, logo included */
.ivory img{aspect-ratio:1393/871;object-position:left center}
.track-nav{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.track-nav{grid-template-columns:1fr 1fr}}
.p108-note{border:1px solid rgba(212,175,90,.55);background:rgba(212,175,90,.06);border-radius:14px;padding:22px 24px}
.p108-note b{display:block;color:var(--gold);font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.p108-note p{margin:0;color:var(--text);font-size:15.5px}

/* Team profiles */
.profile-btn{margin-top:12px;background:transparent;border:1.5px solid rgba(212,175,90,.6);color:var(--gold);font:700 14px var(--font);padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s}
.profile-btn:hover{background:var(--gold);color:var(--ink)}
.founder .profile-btn{font-size:15px;padding:11px 20px}
.team>div{display:flex;flex-direction:column;align-items:flex-start}
dialog.profile{width:min(760px,calc(100% - 32px));max-height:min(88vh,900px);padding:0;border:1px solid rgba(212,175,90,.5);border-radius:18px;background:#121110;color:var(--text);overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.6)}
dialog.profile::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}
.pd-close{position:sticky;top:12px;float:right;margin:12px 12px 0 0;width:40px;height:40px;border-radius:50%;border:1px solid rgba(212,175,90,.5);background:#0a0a0a;color:#fff;font-size:24px;line-height:1;cursor:pointer;z-index:2}
.pd-close:hover{border-color:var(--gold);color:var(--gold)}
.pd-head{display:flex;gap:22px;align-items:center;padding:28px 30px 20px;border-bottom:1px solid var(--paper-2)}
.pd-head img{width:112px;height:112px;border-radius:14px;object-fit:cover;object-position:center 20%;flex:none}
.pd-head h2{font-size:clamp(24px,2.6vw,32px);margin:0 0 6px}
.pd-title{margin:0;color:var(--gold);font-weight:700;font-size:15.5px}
.pd-sub{margin:4px 0 0;color:var(--muted);font-size:14.5px}
.pd-body{padding:22px 30px 30px}
.pd-body>p{color:var(--text);font-size:16px}
.pd-body h3{font-family:var(--font);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:24px 0 10px}
.pd-list{margin:0;padding-left:1.1em;color:var(--muted)}
.pd-list li{margin:5px 0}
@media (max-width:560px){.pd-head{flex-direction:column;align-items:flex-start}.pd-body,.pd-head{padding-left:20px;padding-right:20px}}
.team>div span{margin-bottom:14px}
.team>div .profile-btn{margin-top:auto}
.team-email,.pd-email{color:var(--gold);font-size:14px;font-weight:600;text-decoration:none;word-break:break-all}
.team-email:hover,.pd-email:hover{text-decoration:underline;text-underline-offset:3px}
.team>div span{margin-bottom:6px}
.team>div .team-email{margin-bottom:14px}
.pd-email{display:inline-block;margin-top:8px;font-size:15px}
/* 9 menu items: tighten spacing on mid-size screens */
@media (max-width:1440px){.site-nav a{padding:10px 8px;font-size:14.5px}}
@media (max-width:1320px){.site-nav a{padding:10px 6px;font-size:13.5px}.brand img{width:140px}.header-cta{padding:8px 14px;font-size:14px}}
.site-nav a{padding:10px 8px;font-size:14.5px;white-space:nowrap}
.header-cta{white-space:nowrap}
@media (max-width:1320px){.site-nav a{padding:10px 6px;font-size:13.5px}}
@media (max-width:1200px){.site-nav a{padding:14px 4px;font-size:18px}}
/* Legal pages */
.legal{max-width:780px}
.legal h2{font-size:clamp(22px,2vw,28px);margin:34px 0 10px}
.legal h2:first-child{margin-top:0}
.legal p{color:var(--muted);font-size:16.5px}
.legal a,.footer-base a{color:var(--gold)}
.flyer-static{margin:0;border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px rgba(212,175,90,.45),16px 16px 0 -1px rgba(212,175,90,.14)}
.flyer-static img{display:block;width:100%}
.source-line{margin:16px 0 0;color:var(--muted);font-size:14px}
.source-line a{color:var(--gold)}
.social{display:flex;gap:10px;margin-top:6px}
.social a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(212,175,90,.55);color:var(--gold);text-decoration:none}
.social a:hover{background:var(--gold);color:var(--ink)}
.social svg{width:18px;height:18px;fill:currentColor}
