*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ink:#0C1A32;
  --ink2:#091425;
  --ink3:#060F1C;
  --paper:#F4F1EC;
  --paper2:#EDE9E2;
  --green:#45B535;
  --green-l:#56CC45;
  --crimson:#922020;
  --crimson-b:#BE2727;
  --navy:#1B3A6B;
  --muted:rgba(244,241,236,0.6);
  --border:rgba(244,241,236,0.1);
  --border2:rgba(244,241,236,0.2);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
  --mono:'JetBrains Mono',monospace;
  --ease:cubic-bezier(0.16,1,0.3,1);
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
}

/* ── COMPONENTS ── */
.btn-green, .btn-line, .btn-submit, .nav-cta, .aero-box-cta, .training-cta, .prob-footer-cta, .ai-capture-btn, .btn-submit {
  border-radius: var(--radius-sm);
}

.fail-mode, .prob-card, .svc-card, .who-item, .arch-card, .article, .aero-box, .training-card, .about-company-card, .cv-item, .ai-capture, .ai-fellowship, .cv-strip {
  border-radius: var(--radius-md);
}

input, textarea, select {
  border-radius: var(--radius-sm);
}

.svc-badge, .training-badge {
  border-radius: 20px;
}

html{scroll-behavior:smooth;font-size:17px;overflow-x:hidden}
body{background:var(--ink);color:var(--paper);font-family:var(--sans);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%;max-width:100vw}
html,body{overscroll-behavior-x:none}
*{max-width:100%}
img,video,iframe,embed,object{max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
::-webkit-scrollbar{width:3px}
::-webkit-scrollbar-track{background:var(--ink)}
::-webkit-scrollbar-thumb{background:var(--green)}

/* ── UTILITY ── */
.tag{font-family:var(--mono);font-size:0.76rem;letter-spacing:0.14em;text-transform:uppercase;color:var(#922020);display:flex;align-items:center;gap:0.75rem;margin-bottom:1.5rem}
.tag::before{content:'';display:inline-block;width:2rem;height:1px;background:var(--green);flex-shrink:0}

/* Visibility fallback for no-JS */
.reveal, .reveal-left, .reveal-right, .mask-reveal {
  will-change: opacity, transform, clip-path;
}

/* High-Impact Pop-In Reveal */
.reveal, .reveal-left, .reveal-right, .mask-reveal {
  opacity: 1;
  will-change: opacity, transform, clip-path, filter;
  transition: opacity 1s var(--ease), transform 1s var(--ease), filter 0.8s var(--ease), clip-path 1.2s var(--ease);
}

body.js-enabled .reveal { opacity: 0; transform: translateY(40px) scale(0.92); filter: blur(4px); }
body.js-enabled .reveal-left { opacity: 0; transform: translateX(-40px) scale(0.95); }
body.js-enabled .reveal-right { opacity: 0; transform: translateX(40px) scale(0.95); }
body.js-enabled .mask-reveal { clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); }

/* Active Reveal States (Increased specificity to override initial hidden state) */
body.js-enabled .reveal.in, 
body.js-enabled .reveal-left.in, 
body.js-enabled .reveal-right.in {
  opacity: 1;
  transform: translate(0, 0) scale(1);
  filter: blur(0);
}

body.js-enabled .mask-reveal.in {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

/* Staggered Delays */
.reveal-d1 { transition-delay: 0.15s; }
.reveal-d2 { transition-delay: 0.3s; }
.reveal-d3 { transition-delay: 0.45s; }
.reveal-d4 { transition-delay: 0.6s; }
.reveal-d5 { transition-delay: 0.75s; }
.reveal-d6 { transition-delay: 0.9s; }

/* Ultra-Premium Pop Up Hover Effect */
.fail-mode, .prob-card, .svc-card, .who-item, .arch-card, .article, .pillar, .scale-item, .hm, .training-card, .about-company-card, .cv-item, .belief, .aero-box, .aero-area, .ai-capture, .ai-fellowship {
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.4s var(--ease), border-color 0.4s var(--ease), box-shadow 0.6s var(--ease);
  position: relative;
  z-index: 1;
}

.fail-mode:hover, .svc-card:hover, .who-item:hover, .arch-card:hover, .pillar:hover, .scale-item:hover, .hm:hover, .training-card:hover, .about-company-card:hover, .cv-item:hover, .belief:hover, .aero-box:hover, .aero-area:hover, .ai-capture:hover, .ai-fellowship:hover {
  transform: translateY(-15px) scale(1.035);
  border-color: var(--green);
  box-shadow: 0 40px 80px rgba(0, 0, 0, 0.6), 0 0 30px rgba(69, 181, 53, 0.3);
  background: rgba(69, 181, 53, 0.05);
  z-index: 20;
}

.prob-card:hover {
  transform: translateY(-15px) scale(1.035);
  border-color: var(--crimson);
  box-shadow: 0 40px 80px rgba(0, 0, 0, 0.6), 0 0 30px rgba(146, 32, 32, 0.3);
  background: rgba(146, 32, 32, 0.04);
  z-index: 20;
}

.article:hover {
  transform: translateX(15px) translateY(-8px) scale(1.02);
  border-color: var(--green);
  box-shadow: -20px 30px 60px rgba(0, 0, 0, 0.5), 0 0 20px rgba(69, 181, 53, 0.15);
  background: rgba(69, 181, 53, 0.05);
  z-index: 20;
}

/* ── SECTION ALIGNMENT ── */
.section-inner{width:min(100%,1120px);margin:0 auto}
.section-head{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;text-align:left;margin-bottom:4rem}
.section-head .tag{justify-content:flex-start;margin-bottom:1.5rem}
.section-head .tag::after{content:'';display:inline-block;width:2rem;height:1px;flex-shrink:0;background:var(--green)}
.section-head--crimson .tag::after{background:var(--crimson)}
.section-head--crimson .tag::before{background:var(--crimson)}
.section-head--crimson .tag{color:var(--crimson)}
.section-head .fail-sub,.section-head .prob-sub,.section-head .svc-sub,.section-head .who-sub{margin-left:0;margin-right:0;text-align:left}
.site-section{display:flex;flex-direction:column;align-items:center}
.site-section .section-inner{width:min(100%,1120px);margin:0 auto}
.aero-inner,.about-grid,.contact-grid,.arch-grid{width:100%}
.section-head .tag::after{content:'';display:inline-block;width:2rem;height:1px;flex-shrink:0;background:var(--green)}
.section-head--crimson .tag::before{background:var(--crimson)}
.section-head--crimson .tag::after{background:var(--crimson)}
#problems .section-head--crimson .tag,#aicam .section-head--crimson .tag,#contact .section-head--crimson .tag,#gap .section-head--crimson .tag{color:var(--crimson)}
#gap .section-head{display:block;margin-bottom:3.5rem}
#gap .section-head .tag{justify-content:center}
#gap .section-head{text-align:center}
#gap .gap-h2{margin:0 auto}
#thinking .section-head,#about .section-head{display:block;text-align:center}
#thinking .section-head .tag,#about .section-head .tag{justify-content:center}
#contact .section-head--crimson{display:block;text-align:center}
#contact .section-head--crimson .tag{justify-content:center}


/* ── NAV ── */
#nav{position:fixed;top:1rem;left:50%;transform:translateX(-50%);
width: 82%;

z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1rem 2.5rem;transition:background 0.4s,border-color 0.4s,padding 0.3s;border:1px solid transparent;border-radius:var(--radius-lg)}
#nav.scrolled{background:rgba(6,15,28,0.88);backdrop-filter:blur(16px);border-color:var(--border);padding-top:0.75rem;padding-bottom:0.75rem;top:0.5rem}
.nav-logo{display:flex;align-items:center;gap:0}
.nav-logo-img{margin-left:-1rem}
.nav-logo-text{font-family:var(--serif);font-size:1.4rem;font-weight:500;letter-spacing:0.02em;white-space:nowrap}
.nav-logo-cam{color:var(--crimson-b)}
.nav-logo-vertex{color:var(--paper)}
.nav-links{display:flex;align-items:center;gap:2.5rem;list-style:none}
.nav-links a{font-size:0.82rem;font-weight:400;letter-spacing:0.07em;text-transform:uppercase;color:rgba(244,241,236,0.65);transition:color 0.2s}
.nav-links a:hover{color:var(--paper)}
.nav-cta{display:inline-flex;align-items:center;border:1px solid rgba(69,181,53,0.7);color:var(--green);padding:0.55rem 1.35rem;font-size:0.78rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;transition:background 0.2s,color 0.2s;white-space:nowrap}
.nav-cta:hover{background:var(--green);color:var(--ink)}
.ham{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;border:none;background:none}
.ham span{display:block;width:24px;height:1px;background:var(--paper);transition:transform 0.3s,opacity 0.3s}
.ham.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.ham.open span:nth-child(2){opacity:0}
.ham.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-menu{display:none;position:fixed;inset:1rem;z-index:150;background:rgba(6,15,28,0.98);backdrop-filter:blur(20px);flex-direction:column;justify-content:center;align-items:center;gap:2rem;opacity:0;transition:opacity 0.3s;border-radius:var(--radius-lg);border:1px solid var(--border)}
.mobile-menu.open{opacity:1}
.mobile-menu a{font-family:var(--serif);font-size:2.2rem;font-weight:300;color:rgba(244,241,236,0.8);transition:color 0.2s}
.mobile-menu a:hover{color:var(--green)}
.mobile-menu .m-cta{margin-top:0.5rem;border:1px solid var(--green);color:var(--green);font-family:var(--sans);font-size:0.85rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.8rem 2.5rem}

/* ── HERO ── */
#hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
padding:8rem 10% 4rem;


position:relative;overflow:hidden;background-image: linear-gradient(to right, rgba(6,15,28,0.98) 0%, rgba(6,15,28,0.7) 40%, rgba(6,15,28,0) 100%), url('images/hero.png');background-size: cover;background-position: center;background-attachment: scroll;}
.hero-grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(27,58,107,0.1) 1px,transparent 1px),linear-gradient(90deg,rgba(27,58,107,0.1) 1px,transparent 1px);background-size:72px 72px;pointer-events:none}
.hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse 55% 45% at 75% 25%,rgba(69,181,53,0.05) 0%,transparent 65%);pointer-events:none}
.hero-content{position:relative;width:100%;max-width:900px;margin:0;text-align:left}
.hero-tag{font-family:var(--mono);font-size:0.72rem;color:var(--green);letter-spacing:0.2em;text-transform:uppercase;margin-bottom:4rem;opacity:0;animation:heroFade 0.9s 0.2s var(--ease) forwards;display:flex;align-items:center;gap:1.5rem}
.hero-tag::after{content:'';display:block;width:3rem;height:1px;background:rgba(69,181,53,0.3)}
.hero-h1{font-family:var(--serif);font-size:clamp(3.5rem,4.5vw,6.5rem);font-weight:300;line-height:0.95;letter-spacing:-0.025em;margin:0 0 2.5rem 0;opacity:0;animation:heroFade 0.9s 0.35s var(--ease) forwards}
.hero-h1 em{font-style:italic;color:var(--green)}
.hero-sub{font-size:1.05rem;color:rgba(244,241,236,0.6);max-width:580px;line-height:1.8;margin:0 0 3.5rem 0;opacity:0;animation:heroFade 0.9s 0.5s var(--ease) forwards}
.hero-btns{display:flex;align-items:center;justify-content:flex-start;gap:3rem;opacity:0;animation:heroFade 0.9s 0.65s var(--ease) forwards}
.btn-green{background:var(--green);color:var(--ink);padding:1.1rem 2.8rem;font-family:var(--sans);font-size:0.85rem;font-weight:500;letter-spacing:0.09em;text-transform:uppercase;border:none;cursor:pointer;display:inline-block;transition:background 0.2s,transform 0.2s}
.btn-green:hover{background:var(--green-l);transform:translateY(-2px)}
.btn-line{color:rgba(244,241,236,0.6);font-size:0.9rem;display:flex;align-items:center;gap:0.6rem;transition:color 0.2s,gap 0.2s}
.btn-line:hover{color:var(--paper);gap:0.9rem}
.hero-sep{width:4rem;height:1px;background:rgba(69,181,53,0.3);margin:5rem 0 3.5rem;opacity:0;animation:heroFade 0.9s 0.75s var(--ease) forwards}
.hero-side{position:relative;left:0;bottom:0;width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:3.5rem;opacity:0;animation:heroFade 0.9s 0.85s var(--ease) forwards;margin-bottom:5rem}
.hm{padding:0;border:none;border-radius:0;background:none;display:flex;flex-direction:column;justify-content:flex-start;transition:transform 0.6s var(--ease)}
.hm:hover{transform:translateY(-8px);background:none;box-shadow:none;border-color:transparent}
.hm-n{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:300;color:var(--green);line-height:1;min-height:1em;font-variant-numeric:tabular-nums}
.hm-n.is-counting{text-shadow:0 0 22px rgba(69,181,53,0.22)}
.hm-l{font-family:var(--mono);font-size:0.62rem;color:rgba(244,241,236,0.35);letter-spacing:0.12em;text-transform:uppercase;margin-top:0.8rem;max-width:180px;line-height:1.6}
.hero-scroll{position:relative;right:0;bottom:0;font-family:var(--mono);font-size:0.65rem;color:rgba(244,241,236,0.22);letter-spacing:0.14em;text-transform:uppercase;display:flex;align-items:center;gap:1.5rem;opacity:0;animation:heroFade 0.9s 1.1s var(--ease) forwards}
.hero-scroll::after{content:'';display:block;width:4rem;height:1px;background:rgba(244,241,236,0.12)}
.hero-scroll::before{display:none}
@keyframes heroFade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

/* ── THE GAP ── */
#gap{background-color:var(--paper);color:var(--ink);padding:8rem 4rem;position:relative}
.gap-inner{width:min(100%,1120px);margin:0 auto;display:flex;flex-direction:column}
.gap-h2{font-family:var(--serif);font-size:clamp(1.5rem,4.5vw,4.2rem);font-weight:300;line-height:1.08;letter-spacing:-0.015em;max-width:720px;margin:0 auto}
.gap-body{display:flex;flex-direction:column}
.gap-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;align-items:start}
.gap-col{padding:0 3rem}
.gap-col:first-child{padding-left:0;padding-right:3.5rem;border-right:1px solid rgba(26,26,26,0.1)}
.gap-col:last-child{padding-right:0;padding-left:3.5rem}
.gap-col p{font-size:1.05rem;line-height:1.85;color:rgba(26,26,26,0.75);margin-bottom:1.1rem}
.gap-col p:last-child{margin-bottom:0}
.gap-col p strong{color:var(--ink);font-weight:500}
.gap-img-wrap {
  margin: 5rem 0 3rem;
  width: 100%;
  position: relative;
  perspective: 2000px;
  border-radius: var(--radius-md);
  z-index: 10;
}

/* 3D Floating Container */
.gap-img-inner {
  position: relative;
  width: 100%;
  height: 210px;
  transform-style: preserve-3d;
  animation: float3D 8s ease-in-out infinite;
  transition: transform 0.8s var(--ease), box-shadow 0.8s var(--ease);
}

.gap-img-wrap:hover .gap-img-inner {
  transform: rotateX(5deg) scale(1.03) translateY(-10px);
  box-shadow: 
    0 30px 100px rgba(0,0,0,0.2),
    0 0 50px rgba(69, 181, 53, 0.15);
}

.gap-img-inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: var(--radius-md);
  filter: saturate(0.9) brightness(0.95);
  transition: filter 0.6s var(--ease);
}

.gap-img-wrap:hover img {
  filter: saturate(1.1) brightness(1.05);
}

/* Dynamic Glint Effect */
.gap-img-inner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    125deg,
    transparent 0%,
    transparent 40%,
    rgba(255, 255, 255, 0.3) 50%,
    transparent 60%,
    transparent 100%
  );
  background-size: 300% 300%;
  background-position: 100% 100%;
  transition: background-position 0s;
  pointer-events: none;
  z-index: 3;
  mix-blend-mode: overlay;
  border-radius: var(--radius-md);
}

.gap-img-wrap:hover .gap-img-inner::after {
  background-position: 0% 0%;
  transition: background-position 1.2s var(--ease);
}

/* Tech Grid Overlay */
.gap-img-inner::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: 
    radial-gradient(circle at 2px 2px, rgba(69, 181, 53, 0.15) 1px, transparent 0);
  background-size: 24px 24px;
  opacity: 0.3;
  z-index: 2;
  pointer-events: none;
}

@keyframes float3D {
  0%, 100% { transform: rotateY(-2deg) rotateX(2deg) translateY(0); }
  50% { transform: rotateY(2deg) rotateX(-2deg) translateY(-15px); }
}

.gap-quote{margin:2rem 0 0;padding:3.25rem 3rem;background:rgba(12,26,50,0.03);border-radius:var(--radius-md);font-family:var(--serif);font-size:1.9rem;font-style:italic;font-weight:300;line-height:1.45;color:rgba(26,26,26,0.55);max-width:none}
.gap-quote em{font-style:normal;color:var(--ink);font-weight:500}

/* ── WHY FAIL ── */
#why-fail{padding:8rem 4rem;background-color:var(--ink3);border-top:1px solid var(--border);background-image: linear-gradient(rgba(6, 15, 28, 0.85), rgba(6, 15, 28, 0.85)), url('images/why-choose-us.png');background-size: cover;background-position: center;}
#why-fail .section-head{grid-template-columns:1fr 1fr;align-items:stretch}
#why-fail .mech-text{justify-content:center}
#why-fail .mech-img-wrap{height:auto;min-height:100%}
#why-fail .mech-img{height:100%;min-height:20rem;object-fit:cover}

.mech-header {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 4rem;
  align-items: stretch;
  margin-bottom: 5rem;
}
.mech-text {
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.mech-img-wrap {
  width: 100%;
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,0.2);
  border: 1px solid var(--border);
}
.mech-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1s var(--ease);
}
.mech-img-wrap:hover .mech-img {
  transform: scale(1.05);
}

.fail-statement{font-family:var(--serif);font-size:clamp(1.5rem,3.5vw,3.1rem);font-weight:300;line-height:1.15;letter-spacing:-0.01em;margin-bottom:1.5rem;max-width:none}
.fail-statement em{font-style:italic;color:var(--green)}
.fail-sub{font-size:1rem;color:rgba(244,241,236,0.52);max-width:600px;line-height:1.75;text-align:left}
.fail-modes{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fail-mode{padding:2.5rem;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(6,15,28,0.4);transition:background 0.3s, border-color 0.3s}
.fail-mode:hover{background:rgba(69,181,53,0.04);border-color:var(--green)}
.fail-n{font-family:var(--mono);font-size:0.68rem;color:rgba(69,181,53,0.5);letter-spacing:0.14em;display:block;margin-bottom:0.75rem}
.fail-title{font-family:var(--serif);font-size:1.2rem;font-weight:400;line-height:1.3;margin-bottom:0.6rem;color:var(--paper)}
.fail-desc{font-size:0.92rem;line-height:1.75;color:rgba(244,241,236,0.5)}
.fail-closer{margin-top:3.5rem;padding:2.5rem;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(69,181,53,0.02);display:flex;flex-direction:column;align-items:center;text-align:center;gap:2rem}
.fail-closer-text{font-family:var(--serif);font-style:italic;font-size:1.29rem;font-weight:300;color:rgba(244,241,236,0.48);max-width:700px;line-height:1.5;margin:0 auto}
.fail-closer-text em{font-style:normal;color:var(--paper)}

/* ── PROBLEMS ── */
#problems{padding:8rem 4rem;background:var(--paper);color:var(--ink)}

#problems .section-head{grid-template-columns:1fr 1fr;align-items:center}
.prob-header {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 4rem;
  align-items: stretch;
  margin-bottom: 5rem;
}
.prob-text {
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.prob-img-wrap {
  width: 100%;
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,0.1);
  border: 1px solid rgba(26,26,26,0.05);
  height: 100%;
  display: flex;
  align-items: stretch;
}

.prob-img-wrap .prob-img,
.prob-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1s var(--ease);
}
.prob-img-wrap:hover .prob-img {
  transform: scale(1.05);
}

.prob-h2{font-family:var(--serif);font-size:clamp(1.5rem,4.5vw,4.2rem);font-weight:300;line-height:1.08;letter-spacing:-0.015em;max-width:none;margin:0 0 1rem}
.prob-sub{font-size:1rem;color:rgba(26,26,26,0.62);max-width:480px;line-height:1.75;margin:0;text-align:left;font-style:italic}
.prob-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.prob-card{border:1px solid rgba(26,26,26,0.1);padding:2.2rem 2.5rem;background:white;transition:border-color 0.3s,box-shadow 0.3s;border-radius:var(--radius-md)}
.prob-card:hover{border-color:rgba(146,32,32,0.4);box-shadow:0 4px 24px rgba(146,32,32,0.06)}
.prob-icon{font-family:var(--mono);font-size:0.68rem;color:var(--crimson);letter-spacing:0.14em;text-transform:uppercase;display:block;margin-bottom:1rem}
.prob-title{font-family:var(--serif);font-size:1.25rem;font-weight:500;color:var(--ink);line-height:1.25;margin-bottom:0.7rem}
.prob-cost{font-size:0.92rem;line-height:1.75;color:rgba(26,26,26,0.58)}
.prob-cost strong{color:var(--ink);font-weight:500}
.prob-footer{margin-top:3rem;padding:2.2rem 2.5rem;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.75rem;border-radius:var(--radius-lg)}
.prob-footer-text{font-family:var(--serif);font-size:1.6rem;font-weight:300;font-style:italic;color:rgba(244,241,236,0.68);line-height:1.5;max-width:640px}
.prob-footer-text em{font-style:normal;color:var(--green)}
.prob-footer-cta{display:inline-block;background:var(--green);color:var(--ink);padding:0.9rem 2.2rem;font-family:var(--sans);font-size:0.82rem;font-weight:500;letter-spacing:0.09em;text-transform:uppercase;white-space:nowrap;transition:background 0.2s;flex-shrink:0}
.prob-footer-cta:hover{background:var(--green-l)}

/* ── AUTHORITY ── */
#authority{padding:8rem 4rem;background-color:var(--ink);background-image: linear-gradient(rgba(12, 26, 50, 0.85), rgba(12, 26, 50, 0.85)), url('images/achievements.png');background-size: cover;background-position: center;}

.auth-text {
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.auth-img-wrap {
  width: 100%;
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,0.3);
  border: 1px solid var(--border);
}
.auth-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1s var(--ease);
}
.auth-img-wrap:hover .auth-img {
  transform: scale(1.05);
}

.auth-h2{font-family:var(--serif);font-size:clamp(1.5rem,4.5vw,4.2rem);font-weight:300;line-height:1.08;letter-spacing:-0.015em;max-width:none;margin:0 0 1.5rem}
.auth-aside{font-size:1rem;color:rgba(244,241,236,0.48);max-width:640px;line-height:1.75;margin:0 auto 3.5rem;text-align:start}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.pillar{padding:3rem 2.5rem;border:1px solid var(--border);border-radius:var(--radius-md);transition:background 0.35s, border-color 0.35s}
.pillar:hover{background:rgba(69,181,53,0.04);border-color:var(--green)}
.p-num{font-family:var(--mono);font-size:0.72rem;color:rgba(69,181,53,0.6);letter-spacing:0.12em;margin-bottom:2rem;display:block}
.p-title{font-family:var(--serif);font-size:1.55rem;font-weight:300;line-height:1.2;margin-bottom:1rem}
.p-body{font-size:0.95rem;line-height:1.82;color:var(--muted)}
.p-body strong{color:var(--paper);font-weight:400}
.scale-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,max-content));justify-content:center;gap:1rem;margin:1rem auto 0}
.scale-item{padding:2rem 2.5rem;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(255,255,255,0.02)}
.scale-n{font-family:var(--serif);font-size:2.5rem;font-weight:300;color:var(--green);line-height:1;margin-bottom:0.4rem}
.scale-l{font-family:var(--mono);font-size:0.7rem;color:rgba(244,241,236,0.42);letter-spacing:0.12em;text-transform:uppercase;line-height:1.55}

/* ── SERVICES ── */
#services{padding:8rem 4rem;background:#0A1522}

.svc-text {
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.svc-img-wrap {
  width: 100%;
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,0.3);
  border: 1px solid var(--border);
}
.svc-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1s var(--ease);
}
.svc-img-wrap:hover .svc-img {
  transform: scale(1.05);
}

.svc-h2{font-family:var(--serif);font-size:clamp(1.5rem,4.5vw,4.2rem);font-weight:300;line-height:1.08;letter-spacing:-0.015em;max-width:none;margin:0 0 1rem}
.svc-sub{font-size:1rem;color:var(--muted);margin-top:1.2rem;max-width:560px;line-height:1.75;margin:0 auto 3.5rem;text-align:center}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:3.5rem}
.svc-card{border:1px solid var(--border);padding:2.5rem 2.5rem 3.5rem;position:relative;transition:border-color 0.3s,background 0.3s;border-radius:var(--radius-md);background-size: cover;background-position: center;}
.svc-card:nth-child(1){background-image: linear-gradient(rgba(10, 21, 34, 0.9), rgba(10, 21, 34, 0.9)), url('images/services-webdev.png');}
.svc-card:nth-child(2){background-image: linear-gradient(rgba(10, 21, 34, 0.9), rgba(10, 21, 34, 0.9)), url('images/services-cloud-data.png');}
.svc-card:nth-child(3){background-image: linear-gradient(rgba(10, 21, 34, 0.9), rgba(10, 21, 34, 0.9)), url('images/services-digitalmarketing.png');}
.svc-card:nth-child(4){background-image: linear-gradient(rgba(10, 21, 34, 0.9), rgba(10, 21, 34, 0.9)), url('images/hero2.png');}
.svc-card:nth-child(5){background-image: linear-gradient(rgba(10, 21, 34, 0.9), rgba(10, 21, 34, 0.9)), url('images/services-aiautomate.png');}
.svc-card:nth-child(6){background-image: linear-gradient(rgba(10, 21, 34, 0.9), rgba(10, 21, 34, 0.9)), url('images/hero1.png');}
.svc-card:hover{border-color:rgba(69,181,53,0.45);background-color:rgba(69,181,53,0.03)}
.svc-n{font-family:var(--mono);font-size:0.7rem;color:rgba(69,181,53,0.5);letter-spacing:0.14em;display:block;margin-bottom:1.5rem}
.svc-title{font-family:var(--serif);font-size:1.5rem;font-weight:400;margin-bottom:1rem;line-height:1.2}
.svc-body{font-size:0.93rem;line-height:1.82;color:rgba(244,241,236,0.56)}
.svc-arr{position:absolute;bottom:2.5rem;right:2.5rem;color:var(--green);font-size:1.1rem;opacity:0;transform:translateX(-6px);transition:opacity 0.22s,transform 0.22s}
.svc-card:hover .svc-arr{opacity:1;transform:translateX(0)}
.svc-badge{position:absolute;top:0.75rem;right:0.75rem;background:var(--crimson);color:white;font-family:var(--mono);font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;padding:0.35rem 0.9rem;font-weight:500;border-radius:20px}

/* training */
.training-card{border:1px solid rgba(69,181,53,0.3);background-color:rgba(69,181,53,0.03);padding:4rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;transition:border-color 0.3s;border-radius:var(--radius-lg);background-image: linear-gradient(rgba(10, 21, 34, 0.95), rgba(10, 21, 34, 0.95)), url('images/why-choose-us.png');background-size: cover;background-position: center;}
.training-card:hover{border-color:rgba(69,181,53,0.6)}
.training-badge{position:absolute;top:0;left:2.5rem;background:var(--green);color:var(--ink);font-family:var(--mono);font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;padding:0.35rem 1.2rem;font-weight:500;border-bottom-left-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}
.training-n{font-family:var(--mono);font-size:0.7rem;color:rgba(69,181,53,0.65);letter-spacing:0.14em;display:block;margin-bottom:1.5rem;margin-top:1rem}
.training-title{font-family:var(--serif);font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:300;line-height:1.15;margin-bottom:1rem}
.training-title em{font-style:italic;color:var(--green)}
.training-hook{font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.15rem;line-height:1.5;color:rgba(244,241,236,0.58);margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}
.training-hook em{font-style:normal;color:var(--paper)}
.training-body{font-size:0.93rem;line-height:1.85;color:rgba(244,241,236,0.6)}
.training-diff-title{font-family:var(--mono);font-size:0.72rem;color:var(--green);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:1.5rem}
.tp{display:grid;grid-template-columns:1.5rem 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--border);align-items:start}
.tp:first-of-type{border-top:1px solid var(--border)}
.tp-arrow{color:var(--green);font-size:0.85rem;margin-top:0.15rem}
.tp-text{font-size:0.92rem;line-height:1.75;color:rgba(244,241,236,0.65)}
.tp-text strong{color:var(--paper);font-weight:400}
.training-who{margin-top:2rem;padding:1.5rem;border:1px solid var(--border);background:rgba(12,26,50,0.6);border-radius:var(--radius-md)}
.training-who-title{font-family:var(--mono);font-size:0.7rem;color:rgba(244,241,236,0.38);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:0.8rem}
.training-who-body{font-size:0.92rem;line-height:1.78;color:var(--muted)}
.engine-note{margin-top:2rem;padding:1.75rem 2rem;border:1px solid rgba(69,181,53,0.4);background:rgba(69,181,53,0.06);position:relative;border-radius:var(--radius-md)}
.engine-note-tag{position:absolute;top:-1px;left:2rem;background:var(--green);color:var(--ink);font-family:var(--mono);font-size:0.6rem;letter-spacing:0.14em;text-transform:uppercase;padding:0.25rem 0.75rem;font-weight:500;transform:translateY(-50%);border-radius:var(--radius-sm)}
.engine-note-title{font-family:var(--serif);font-size:1.1rem;font-weight:500;margin-bottom:0.6rem;color:var(--paper);line-height:1.3;margin-top:0.5rem}
.engine-note-body{font-size:0.92rem;line-height:1.78;color:rgba(244,241,236,0.62)}
.engine-note-body strong{color:var(--paper);font-weight:400}
.training-cta{display:inline-block;margin-top:1.5rem;background:var(--green);color:var(--ink);padding:0.85rem 2rem;font-family:var(--sans);font-size:0.82rem;font-weight:500;letter-spacing:0.09em;text-transform:uppercase;transition:background 0.2s;border-radius:var(--radius-sm)}
.training-cta:hover{background:var(--green-l)}
.ncg-strip{margin-top:2.5rem;padding:1.5rem 2rem;border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:2rem;border-radius:var(--radius-md)}
.ncg-label{font-family:var(--mono);font-size:0.7rem;color:rgba(69,181,53,0.55);letter-spacing:0.14em;text-transform:uppercase;flex-shrink:0}
.ncg-text{font-size:1.3rem;color:rgba(244,241,236,0.48);line-height:1.65;font-style:italic;font-family:var(--serif)}
.ncg-link{font-family:var(--mono);font-size:0.72rem;color:var(--green);letter-spacing:0.1em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;transition:opacity 0.2s}
.ncg-link:hover{opacity:0.7}

/* ── WHO HIRES ME ── */
#who{padding:8rem 4rem;background-color:var(--ink3);border-top:1px solid var(--border);background-image: linear-gradient(rgba(6, 15, 28, 0.9), rgba(6, 15, 28, 0.9)), url('images/hero1.png');background-size: cover;background-position: center;}

.who-text {
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.who-img-wrap {
  width: 100%;
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,0.3);
  border: 1px solid var(--border);
}
.who-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1s var(--ease);
}
.who-img-wrap:hover .who-img {
  transform: scale(1.05);
}

.who-h2{font-family:var(--serif);font-size:clamp(1.5rem,3.5vw,4.2rem);font-weight:300;line-height:1.08;letter-spacing:-0.015em;max-width:none;margin:0 0 1rem}
.who-sub{font-size:1rem;color:rgba(244,241,236,0.48);max-width:560px;line-height:1.75;margin:0 auto 3.5rem;text-align:center}
.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.who-item{padding:2.5rem 3rem;border:1px solid var(--border);border-radius:var(--radius-md);transition:background 0.3s, border-color 0.3s;display:grid;grid-template-columns:3.5rem 1fr;gap:1.2rem;align-items:start}
.who-item:hover{background:rgba(69,181,53,0.04);border-color:var(--green)}
.who-n{font-family:var(--serif);font-size:2rem;font-weight:300;color:rgba(69,181,53,0.22);line-height:1;margin-top:0.2rem}
.who-title{font-family:var(--serif);font-size:1.25rem;font-weight:500;margin-bottom:0.5rem;line-height:1.2}
.who-desc{font-size:0.92rem;line-height:1.78;color:rgba(244,241,236,0.52)}
.who-desc strong{color:var(--paper);font-weight:400}
.who-note{margin-top:3rem;padding:2rem 2.5rem;border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--serif);font-size:1.5rem;font-style:italic;font-weight:300;color:rgba(244,241,236,0.42);line-height:1.65;text-align:center}
.who-note em{font-style:normal;color:rgba(244,241,236,0.72)}

/* ── AEROSPACE (FEATURED PROGRAMME) ── */
#aerospace{padding:8rem 4rem;background-color:var(--ink);border-top:1px solid var(--border);border-bottom:1px solid var(--border);background-image: linear-gradient(rgba(12, 26, 50, 0.9), rgba(12, 26, 50, 0.9)), url('images/hero2.png');background-size: cover;background-position: center;}
#aerospace .section-head{grid-template-columns:.85fr 1.15fr}

.feat-text {
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.feat-img-wrap {
  width: 100%;
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,0.3);
  border: 1px solid var(--border);
  align-self: stretch;
}
.feat-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1s var(--ease);
}
.feat-img-wrap:hover .feat-img {
  transform: scale(1.05);
}

.feat-h2{font-family:var(--serif);font-size:clamp(1.5rem,4.5vw,4.2rem);font-weight:300;line-height:1.08;letter-spacing:-0.015em;max-width:none;margin:0 0 1rem}
.feat-h2 em{font-style:italic;color:var(--green)}

.aero-inner{display:grid;grid-template-columns:5fr 4fr;gap:6rem;align-items:start}
.aero-intro{font-size:1rem;line-height:1.82;color:rgba(244,241,236,0.68);margin-bottom:1.2rem;max-width:540px}
.aero-context{font-size:20px;line-height:1.78;color:rgba(244,241,236,0.42);font-style:italic;margin-bottom:3rem;max-width:540px;font-family:var(--serif)}
.aero-areas{display:flex;flex-direction:column}
.aero-area{display:grid;grid-template-columns:2.5rem 1fr;gap:1.2rem;align-items:start;padding:1.6rem 1.5rem;border:1px solid transparent;border-radius:var(--radius-md);transition:border-color 0.3s, background 0.3s}
.aero-area:hover{border-color:var(--border);background:rgba(255,255,255,0.02)}
.aero-an{font-family:var(--mono);font-size:0.7rem;color:var(--green);letter-spacing:0.1em;margin-top:0.2rem}
.aero-area-title{font-family:var(--serif);font-size:1.18rem;font-weight:400;margin-bottom:0.4rem}
.aero-area-body{font-size:0.92rem;line-height:1.78;color:var(--muted)}
.aero-area-body strong{color:var(--paper);font-weight:400}
.aero-right{position:sticky;top:8rem}
.aero-box{border:1px solid var(--border2);padding:2.5rem;border-radius:var(--radius-lg);background:rgba(6,15,28,0.5)}
.aero-box-title{font-family:var(--serif);font-size:1.35rem;font-weight:400;margin-bottom:0.75rem;line-height:1.25}
.aero-box-sub{font-size:0.92rem;color:var(--muted);line-height:1.75;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}
.aero-stat{margin-bottom:1.8rem}
.aero-stat-n{font-family:var(--serif);font-size:2.2rem;font-weight:300;color:var(--green);line-height:1}
.aero-stat-l{font-family:var(--mono);font-size:0.7rem;color:rgba(244,241,236,0.38);letter-spacing:0.12em;text-transform:uppercase;margin-top:0.3rem}
.aero-box-cta{display:block;width:100%;background:var(--green);color:var(--ink);text-align:center;padding:1rem 1.5rem;font-family:var(--sans);font-size:0.85rem;font-weight:500;letter-spacing:0.09em;text-transform:uppercase;border:none;cursor:pointer;transition:background 0.2s;margin-top:2rem;border-radius:var(--radius-sm)}
.aero-box-cta:hover{background:var(--green-l)}

/* ── AI IN CAM (THOUGHT LEADERSHIP) ── */
#aicam{padding:8rem 4rem;background:var(--paper);color:var(--ink)}
.aicam-head{align-items:stretch !important}
.thought-text {
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.aicam-media {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  align-self: stretch;
}
.thought-img-wrap {
  width: 100%;
  height: 63%;
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,0.1);
  border: 1px solid rgba(26,26,26,0.05);
  align-self: stretch;
}
.thought-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 1s var(--ease);
}
.thought-img-wrap:hover .thought-img {
  transform: scale(1.05);
}

.ai-h2{font-family:var(--serif);font-size:clamp(1.5rem,4.5vw,4.2rem);font-weight:300;line-height:1.08;letter-spacing:-0.015em;margin-bottom:1.5rem}

.ai-top{max-width:720px;margin:0 auto 5rem;text-align:center}
.ai-right-col p{font-size:1rem;line-height:1.85;color:rgba(26,26,26,0.72);margin-bottom:1rem;text-align:left}
.ai-right-col p strong{color:var(--ink);font-weight:500}
.ai-capture{margin-top:2rem;padding:2.5rem;border:1px solid rgba(26,26,26,0.12);background:white;border-radius:var(--radius-lg)}
.aicam-media .ai-capture{margin-top:0}
.ai-capture-label{font-family:var(--mono);font-size:0.7rem;color:rgba(26,26,26,0.48);letter-spacing:0.14em;text-transform:uppercase;display:block;margin-bottom:0.5rem}
.ai-capture-desc{font-size:0.92rem;color:rgba(26,26,26,0.58);line-height:1.65;margin-bottom:1.2rem}
.ai-capture-form{display:flex;gap:0.5rem}
.ai-capture-input{flex:1;border:1px solid rgba(26,26,26,0.15);padding:0.8rem 1.2rem;font-family:var(--sans);font-size:0.92rem;color:var(--ink);outline:none;transition:border-color 0.2s;border-radius:var(--radius-sm)}
.ai-capture-input::placeholder{color:rgba(26,26,26,0.32)}
.ai-capture-input:focus{border-color:rgba(69,181,53,0.5)}
.ai-capture-btn{background:var(--ink);color:var(--paper);padding:0.8rem 1.5rem;font-family:var(--sans);font-size:0.8rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;border:1px solid var(--ink);cursor:pointer;transition:background 0.2s;white-space:nowrap;border-radius:var(--radius-sm)}
.ai-capture-btn:hover{background:#1B3A6B}
.ai-capture-note{font-family:var(--mono);font-size:0.65rem;color:rgba(26,26,26,0.32);letter-spacing:0.06em;margin-top:0.6rem}
.ai-fellowship{margin-top:1.5rem;padding:1.5rem 1.75rem;border:1px solid rgba(146,32,32,0.2);background:rgba(146,32,32,0.04);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:0.9rem;border-radius:var(--radius-md);width:100%;max-width:100%;min-height:auto}
.ai-fellowship-icon{font-family:var(--mono);font-size:0.68rem;color:var(--crimson);letter-spacing:0.1em;text-transform:uppercase;flex-shrink:0;margin-top:0.15rem}
.ai-fellowship-text{font-size:0.96rem;line-height:1.75;color:rgba(26,26,26,0.68);margin:0}
.ai-fellowship-text strong{color:var(--ink);font-weight:500}
.ai-fellowship-image-wrap{width:100%;padding:0.35rem;border:1px solid rgba(146,32,32,0.16);background:rgba(255,255,255,0.48);border-radius:var(--radius-md);overflow:hidden}
.ai-fellowship-image{width:100%;aspect-ratio:1200/628;object-fit:cover;display:block;border-radius:6px}
.arch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.arch-card{border:1px solid rgba(26,26,26,0.12);padding:2rem 2rem 2.5rem;background:white;border-radius:var(--radius-md)}
.arch-num{font-family:var(--mono);font-size:0.7rem;color:var(--crimson);letter-spacing:0.12em;display:block;margin-bottom:1rem}
.arch-title{font-family:var(--serif);font-size:1.35rem;font-weight:500;margin-bottom:0.5rem;line-height:1.2}
.arch-class{font-family:var(--mono);font-size:0.7rem;color:rgba(26,26,26,0.42);letter-spacing:0.1em;margin-bottom:1rem;display:block;border-bottom:1px solid rgba(26,26,26,0.08);padding-bottom:1rem}
.arch-body{font-size:0.92rem;line-height:1.78;color:rgba(26,26,26,0.68)}
.ai-note{margin:3rem auto 0;padding:2.5rem 3rem;background:rgba(26,26,26,0.03);border-radius:var(--radius-md);font-family:var(--serif);font-size:1.8rem;font-style:italic;font-weight:300;line-height:1.5;color:rgba(26,26,26,0.52);max-width:1120px;text-align:center}
.ai-note em{font-style:normal;color:var(--ink);font-weight:500}

/* ── THINKING ── */
#thinking{padding:8rem 4rem;background:var(--ink)}
.th-top{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem;margin-bottom:4rem}
.th-h2{font-family:var(--serif);font-size:clamp(1.5rem,4.5vw,4.2rem);font-weight:300;line-height:1.08;letter-spacing:-0.015em;max-width:720px;margin:0 auto}
.th-all{font-family:var(--mono);font-size:0.75rem;color:var(--green);letter-spacing:0.14em;text-transform:uppercase;transition:opacity 0.2s;white-space:nowrap}
.th-all:hover{opacity:0.65}
.articles{display:flex;flex-direction:column;gap:0.75rem}
.article{display:grid;grid-template-columns:3.5rem 1fr auto;align-items:center;gap:3rem;padding:2.2rem 2.5rem;border:1px solid var(--border);border-radius:var(--radius-md);transition:background 0.2s, border-color 0.2s, transform 0.2s}
.article:hover{background:rgba(69,181,53,0.035);border-color:var(--green);transform:translateX(10px)}
.art-n{font-family:var(--mono);font-size:0.7rem;color:rgba(244,241,236,0.25);letter-spacing:0.1em}
.art-cat{font-family:var(--mono);font-size:0.7rem;color:var(--green);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:0.5rem}
.art-title{font-family:var(--serif);font-size:1.6rem;font-weight:300;line-height:1.15;margin-bottom:0.5rem}
.art-desc{font-size:0.93rem;color:var(--muted);line-height:1.68}
.art-arr{color:var(--green);font-size:1.4rem;flex-shrink:0;opacity:0;transform:translateX(-8px);transition:opacity 0.2s,transform 0.2s}
.article:hover .art-arr{opacity:1;transform:translateX(0)}

/* Article page layout */
.article-page{background:var(--ink);color:var(--paper);min-height:100vh;padding-top:6rem}
.article-hero{padding:8rem 4rem 3rem;background:linear-gradient(180deg,rgba(6,15,28,1) 0%,rgba(6,15,28,0.95) 100%)}
.article-hero-inner{width:min(100%,760px);margin:0 auto;text-align:center}
.article-hero-figure{margin:0 auto 2.5rem;max-width:100%;text-align:center}
.article-hero-figure img{width:100%;height:auto;border-radius:var(--radius-md);display:block}
.article-hero-figure figcaption{margin-top:1rem;font-size:0.9rem;color:var(--muted);letter-spacing:0.08em}
.article-title{font-family:var(--serif);font-size:clamp(2.8rem,4vw,5rem);font-weight:300;line-height:1.02;letter-spacing:-0.02em;max-width:760px;margin:0 auto 1.5rem;color:var(--paper)}
.article-lead{font-size:1.05rem;color:rgba(244,241,236,0.72);max-width:760px;line-height:1.9;margin:0 auto 2rem}
.article-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;font-family:var(--mono);font-size:0.78rem;letter-spacing:0.12em;color:rgba(244,241,236,0.55);text-transform:uppercase;margin-bottom:0}
.article-content{width:min(100%,760px);margin:0 auto;padding:3rem 1.25rem 6rem;text-align:left}
.article-content p{margin-bottom:1.8rem;color:rgba(244,241,236,0.8);font-size:1rem;line-height:1.9}
.article-content h2{font-family:var(--serif);font-weight:300;font-size:2rem;line-height:1.1;margin:3.5rem 0 1.25rem;color:var(--paper)}
.article-content h3{font-family:var(--serif);font-weight:400;font-size:1.2rem;line-height:1.35;margin:2.5rem 0 1rem;color:var(--paper)}
.article-content figure{margin:3rem 0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:rgba(255,255,255,0.02)}
.article-content img{width:100%;display:block}
.article-content figcaption{padding:1rem 1.25rem;font-size:0.88rem;color:var(--muted);background:rgba(6,15,28,0.95)}
.article-content strong{color:var(--paper);font-weight:500}
.article-bottom-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:3rem}
.btn-article, .btn-line, .btn-green{display:inline-flex;align-items:center;justify-content:center;padding:0.95rem 1.75rem;font-family:var(--sans);font-size:0.88rem;letter-spacing:0.09em;text-transform:uppercase;border-radius:var(--radius-sm);transition:transform 0.2s, background 0.2s, color 0.2s}
.btn-article:hover, .btn-green:hover{transform:translateY(-2px)}
.btn-line{border:1px solid rgba(244,241,236,0.15);color:rgba(244,241,236,0.9)}
.btn-line:hover{border-color:var(--green);color:var(--green)}
@media(max-width:900px){
  .article-hero{padding:6rem 2rem 2rem}
  .article-content{padding:2rem 1rem 4rem}
  .article-title{font-size:2.5rem}
}
@media(max-width:700px){
  .article{grid-template-columns:1fr;gap:1rem;padding:1.6rem}
  .article-hero{padding:5rem 1.5rem 2rem}
  .article-title{font-size:2.2rem}
  .article-content h2{font-size:1.7rem}
}

/* ── ABOUT ── */
#about{padding:8rem 4rem;background-color:#0A1828;background-image: linear-gradient(rgba(10, 24, 40, 0.9), rgba(10, 24, 40, 0.9)), url('images/about.png');background-size: cover;background-position: center;}
.about-head{margin-bottom:3.5rem}
.about-head .about-h2{margin-bottom:0}
.about-content{width:100%;max-width:1200px;margin:0 auto 4rem}
.about-bio-wrap{display:grid;grid-template-columns:1fr 380px;gap:5rem;align-items:start}
.about-bio-text{}
.about-bio-img{position:sticky;top:8rem}
.bio-photo{width:100%;height:auto;border-radius:12px;border:1px solid var(--border2);box-shadow:0 30px 60px rgba(0,0,0,0.4),0 0 40px rgba(69,181,53,0.08)}
.about-content .about-body p{font-size:1rem;line-height:1.88;color:rgba(244,241,236,0.68);margin-bottom:1.2rem}
.about-content .about-body p strong{color:var(--paper);font-weight:400}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center}
.about-h2{font-family:var(--serif);font-size:clamp(1.5rem,4.2vw,4rem);font-weight:300;line-height:1.08;letter-spacing:-0.015em;margin:0 auto 2rem;max-width:720px}
.about-h2 em{font-style:italic;color:var(--green)}
.about-body p{font-size:1rem;line-height:1.88;color:rgba(244,241,236,0.68);margin-bottom:1.2rem}
.about-body p strong{color:var(--paper);font-weight:400}
.founder-quote{position:relative;max-width:680px}
.fq-content{padding:1.5rem 1rem 1.5rem 5rem;text-align:left}
.fq-mark{font-family:var(--serif);font-size:8rem;font-weight:700;line-height:0;color:var(--green);opacity:0.85;position:absolute;pointer-events:none;user-select:none}
.fq-open{top:-1rem;left:-0.5rem}
.fq-close{bottom:0;right:0;margin-left:0}
.fq-content p{font-size:1.15rem;font-style:italic;line-height:1.85;color:rgba(244,241,236,0.78);margin-bottom:1.6rem}
.fq-content p:last-child{margin-bottom:0}
/* ── TIMELINE ── */
.about-timeline{position:relative;width:100%;max-width:900px;margin:0 auto;padding:2rem 0}
.timeline-track{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:linear-gradient(180deg,transparent,var(--green) 5%,var(--green) 95%,transparent)}
.timeline-bar{position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);background:linear-gradient(180deg,var(--green),var(--green))}
.timeline-card{position:relative;width:calc(50% - 50px);padding:1.5rem 2rem;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(255,255,255,0.02);display:flex;flex-direction:column;gap:1rem;transition:all 0.4s cubic-bezier(0.16,1,0.3,1)}
.timeline-card.left{margin-right:auto;margin-left:0}
.timeline-card.right{margin-left:auto;margin-right:0}
.timeline-card:hover{background:rgba(255,255,255,0.04);border-color:var(--green);transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,0.3)}
.timeline-dot{position:absolute;top:50%;width:14px;height:14px;background:var(--green);border-radius:50%;transform:translateY(-50%);box-shadow:0 0 20px var(--green);z-index:2}
.timeline-card.left .timeline-dot{right:-57px}
.timeline-card.right .timeline-dot{left:-57px}
.timeline-card .cv-content{flex:1}
.cv-item .cv-role{font-size:0.95rem;color:var(--paper);font-weight:400;margin-bottom:0.25rem}
.cv-item .cv-org{font-family:var(--mono);font-size:0.72rem;color:var(--green);letter-spacing:0.08em}
.cv-item .cv-note{font-size:0.85rem;color:rgba(244,241,236,0.38);margin-top:0.3rem;line-height:1.55}
.cv-item .cv-yrs{font-family:var(--mono);font-size:0.7rem;color:rgba(244,241,236,0.3);white-space:nowrap;margin-top:0.15rem}
.timeline-card.left .cv-yrs{align-self:flex-end;text-align:right}
.timeline-card.right .cv-yrs{align-self:flex-start;text-align:left}
.cv-strip{margin-top:3rem;display:flex;flex-direction:column;gap:0.75rem}
.cv-item{padding:1.5rem 2rem;border:1px solid var(--border);border-radius:var(--radius-md);display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start;background:rgba(255,255,255,0.02)}
.beliefs-title{font-family:var(--mono);font-size:0.75rem;color:var(--green);letter-spacing:0.16em;text-transform:uppercase;margin-bottom:2rem}
.belief{display:grid;grid-template-columns:1.5rem 1fr;gap:1.2rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius-md);align-items:start;margin-bottom:0.75rem}
.belief-n{font-family:var(--mono);font-size:0.7rem;color:var(--green);margin-top:0.15rem}
.belief-text{font-size:1.2rem;line-height:1.75;color:rgba(244,241,236,0.65)}

/* ── CONTACT ── */
#contact{padding:8rem 4rem;background-color:var(--paper);color:var(--ink);}
.contact-head{margin-bottom:3.5rem}
.contact-head .contact-h2{margin-bottom:0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.contact-h2{font-family:var(--serif);font-size:clamp(2.5rem,4.2vw,4.2rem);font-weight:300;line-height:1.05;letter-spacing:-0.015em;margin:0 auto 1.5rem;max-width:720px}
.contact-intro{text-align:center;max-width:640px;margin:3rem auto 2.5rem;margin-left:auto;margin-right:auto}
.contact-h2 em{font-style:italic;color:var(--crimson)}
.contact-sub{font-size:1rem;line-height:1.82;color:rgba(26,26,26,0.68);margin-bottom:0}
.ci{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem;padding:1rem 1.5rem;background:white;border-radius:var(--radius-md);border:1px solid rgba(26,26,26,0.05)}
.ci-label{font-family:var(--mono);font-size:0.7rem;color:rgba(26,26,26,0.42);letter-spacing:0.12em;text-transform:uppercase;min-width:5.5rem}
.ci-val{font-size:0.95rem;color:var(--ink)}
.ci-val a{color:var(--crimson);transition:opacity 0.2s}
.ci-val a:hover{opacity:0.7}
.expect-title{font-family:var(--mono);font-size:0.72rem;color:var(--crimson);letter-spacing:0.15em;text-transform:uppercase;margin:2.5rem 0 1.2rem}
.expect-list{display:flex;flex-direction:column;gap:0.75rem}
.expect-item{display:flex;gap:1rem;align-items:flex-start;font-size:0.95rem;line-height:1.68;color:rgba(26,26,26,0.72);padding:1rem;background:white;border-radius:var(--radius-md);border:1px solid rgba(26,26,26,0.05)}
.expect-item::before{content:'→';color:var(--crimson);flex-shrink:0}
.contact-form{display:flex;flex-direction:column;gap:1.5rem;padding:2.5rem;background:white;border-radius:var(--radius-lg);border:1px solid rgba(26,26,26,0.08)}
.form-group{display:flex;flex-direction:column;gap:0.5rem}
.form-group label{font-family:var(--mono);font-size:0.7rem;color:rgba(26,26,26,0.52);letter-spacing:0.12em;text-transform:uppercase}
.form-group input,.form-group select,.form-group textarea{background:white;border:1px solid rgba(26,26,26,0.15);color:var(--ink);padding:0.9rem 1.2rem;font-family:var(--sans);font-size:0.95rem;font-weight:300;outline:none;transition:border-color 0.2s;width:100%;-webkit-appearance:none;border-radius:var(--radius-sm)}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(26,26,26,0.32)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:rgba(146,32,32,0.5)}
.form-group textarea{resize:vertical;min-height:130px;font-family:var(--sans)}
.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231A1A1A' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;cursor:pointer}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.btn-submit{background:var(--ink);color:var(--paper);padding:1.1rem 2.5rem;font-family:var(--sans);font-size:0.85rem;font-weight:500;letter-spacing:0.09em;text-transform:uppercase;border:none;cursor:pointer;transition:background 0.2s;align-self:flex-start;border-radius:var(--radius-sm)}
.btn-submit:hover{background:var(--navy)}
.form-note{font-family:var(--mono);font-size:0.68rem;color:rgba(26,26,26,0.38);letter-spacing:0.06em;line-height:1.6;margin-top:-0.5rem}

/* ── FOOTER ── */
footer{
  background:var(--paper);
  border-top:1px solid rgba(26,26,26,0.12);
  width:100%;
}
.foot-container{
  width:100%;
  max-width:1280px;
  margin:0 auto;
  padding:2.75rem 2.5rem 2rem;
}
.foot-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  margin-bottom:2.25rem;
}
.foot-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
}
.foot-logo-link{
  display:block;
  line-height:0;
  flex-shrink:0;
  transition:opacity 0.25s;
}
.foot-logo-link:hover{opacity:0.8}
.foot-logo-img{
  height:40px;
  width:auto;
  display:block;
}
.nav-logo-img{
  height:57px;
  margin-right:0.75rem;
  background: white;
  padding: 10px;
  border-radius: 8px;
}
.foot-social{
  margin-top:14px;
}
.foot-linkedin-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 18px 9px 14px;
  background:#0A66C2;
  color:#fff;
  font-family:var(--sans);
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.02em;
  border-radius:4px;
  border:1px solid rgba(255,255,255,0.15);
  transition:background 0.2s,transform 0.2s,box-shadow 0.2s;
}
.foot-linkedin-btn:hover{
  background:#004182;
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(10,102,194,0.35);
}
.foot-linkedin-btn svg{
  flex-shrink:0;
}
.foot-nav{
  display:flex;
  justify-content:flex-end;
  flex:1;
  min-width:0;
}
.foot-nav ul{
  display:flex;
  list-style:none;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:0;
  margin:0;
  padding:0;
}
.foot-nav li{display:flex;align-items:center}
.foot-nav li+li{
  padding-left:1rem;
  position:relative;
}
.foot-nav li+li::before{
  content:'';
  position:absolute;
  left:0.5rem;
  top:50%;
  transform:translateY(-50%);
  width:1px;
  height:10px;
  background:rgba(26,26,26,0.18);
}
.foot-nav a{
  font-family:var(--mono);
  font-size:0.68rem;
  font-weight:400;
  letter-spacing:0.13em;
  text-transform:uppercase;
  color:rgba(26,26,26,0.48);
  white-space:nowrap;
  transition:color 0.25s;
}
.foot-nav a:hover{color:var(--ink)}
.foot-divider{
  width:100%;
  height:1px;
  background:rgba(26,26,26,0.1);
  margin-bottom:1.5rem;
}
.foot-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem;
}
.foot-copy{
  font-family:var(--mono);
  font-size:0.62rem;
  font-weight:400;
  color:rgba(26,26,26,0.35);
  letter-spacing:0.07em;
  display:flex;
  align-items:center;
  gap:0.55rem;
  flex-wrap:wrap;
}
.foot-sep{color:rgba(26,26,26,0.22)}
.foot-location{color:rgba(26,26,26,0.35)}
.foot-email{
  color:rgba(26,26,26,0.35);
  transition:color 0.2s;
}
.foot-email:hover{color:var(--crimson)}
.foot-tagline-right{
  font-family:var(--mono);
  font-size:0.6rem;
  font-weight:500;
  letter-spacing:0.17em;
  text-transform:uppercase;
  color:var(--crimson);
}
@media(max-width:900px){
  .foot-container{padding:2.5rem 1.5rem 1.75rem}
  .foot-top{flex-direction:column;align-items:flex-start;gap:1.75rem;margin-bottom:2rem}
  .foot-nav li+li{padding-left:1.6rem}
}
@media(max-width:640px){
  .foot-container{padding:2rem 1.25rem 1.5rem}
  .foot-top{gap:1.5rem;margin-bottom:1.75rem}
  .foot-brand{flex-direction:column;align-items:flex-start;gap:0}
  .foot-social{margin-top:10px}
  .foot-linkedin-btn{padding:8px 14px 8px 11px;font-size:0.72rem}
  .foot-nav li+li{padding-left:1.2rem}
  .foot-nav a{font-size:0.62rem}
  .foot-bottom{flex-direction:column;align-items:flex-start;gap:0.75rem}
}

/* ── LINKEDIN SOCIAL BUTTON ── */
.linkedin-social-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 1.2rem;
  border-radius: 24px;
  background: #0077B5;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 500;
  font-family: var(--sans);
  letter-spacing: 0.01em;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  border: 1.5px solid #0077B5;
  box-shadow: 0 2px 10px rgba(0, 119, 181, 0.25);
  width: fit-content;
}
.linkedin-social-btn:hover {
  background: #006097;
  border-color: #006097;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 119, 181, 0.4);
  color: #ffffff;
}
.linkedin-social-btn svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  #nav{width:94%;padding:0.75rem 1.5rem}
  .mech-header {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .mech-img-wrap {
    height: 300px;
  }
  .prob-header {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .prob-img-wrap {
    height: 300px;
  }
  .auth-header {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .auth-img-wrap {
    height: 300px;
  }
  .engage-header {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .engage-img-wrap {
    height: 300px;
  }
  .feat-header {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .feat-img-wrap {
    height: 300px;
  }
  .thought-header {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .thought-img-wrap {
    height: 300px;
  }
  .aicam-head {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  #hero{padding-left:2rem;padding-right:2rem}
  .hero-side{grid-template-columns:repeat(2,minmax(0,1fr))}
  .scale-strip{grid-template-columns:repeat(2,1fr)}
  .aero-inner{grid-template-columns:1fr}
  .aero-right{position:static}
  .ai-top{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr;gap:3rem}
  .about-bio-wrap{grid-template-columns:1fr;gap:3rem}
  .about-bio-img{position:static;max-width:320px;margin:0 auto}
  .fq-content{padding:1rem 1rem 1rem 3.5rem}
  .contact-grid{grid-template-columns:1fr;gap:3rem}
  .arch-grid{grid-template-columns:1fr 1fr}
  .pillars{grid-template-columns:1fr}
  .training-card{grid-template-columns:1fr;gap:3rem}
  .ncg-strip{flex-direction:column;align-items:flex-start;gap:1rem}
  .fail-modes{grid-template-columns:1fr}
  .prob-grid{grid-template-columns:1fr}
  .who-grid{grid-template-columns:1fr}
  .ai-capture-form{flex-direction:column;gap:0.75rem}
  .foot-top{grid-template-columns:1fr;gap:2rem;align-items:flex-start}
  .foot-brand{flex-direction:row;align-items:center;gap:1.5rem;padding-right:0;border-right:none}
  .foot-logo-img{max-height:64px}
  .foot-nav{padding-left:0;justify-content:flex-start;flex-wrap:wrap}
  .foot-nav li{display:flex;align-items:center}
  .foot-nav li+li::before{content:'\00B7';margin:0 0.05rem}
  .foot-nav a{font-size:0.72rem;padding:0.5rem 0.9rem}
  .foot-bottom{flex-direction:column;align-items:flex-start;gap:1rem}
}
@media(max-width:768px){
  #nav{padding:0.75rem 1.25rem;top:0.5rem}
  .nav-links,.nav-cta-wrap{display:none}
  .ham{display:flex}
  #hero,#gap,#why-fail,#problems,#authority,#services,#who,#aerospace,#aicam,#thinking,#about,#contact{padding:5rem 1.5rem}
  #hero{min-height:auto;padding-top:7rem;padding-bottom:3.5rem;gap:2.5rem}
  .hero-btns{align-items:center;flex-direction:column;gap:1.2rem}
  .hero-side{grid-template-columns:1fr}
  .hm-l{max-width:100%}
  .hero-scroll{display:none}
  .gap-cols{grid-template-columns:1fr}
  .gap-col,.gap-col:first-child,.gap-col:last-child{padding:0;border-right:none}
  .gap-col+.gap-col{margin-top:2rem;padding-top:2.5rem;border-top:1px solid rgba(26,26,26,0.1)}
  .section-head{margin-bottom:2.5rem}
  .gap-img-wrap {
    margin: 2.5rem auto 1rem;
    max-width: 100%;
  }
  .gap-quote{padding:2rem}
  .svc-grid{grid-template-columns:1fr}
  .arch-grid{grid-template-columns:1fr}
  .scale-strip{grid-template-columns:1fr 1fr}
  .article{grid-template-columns:2.5rem 1fr;padding:1.5rem}
  .art-arr{display:none}
  .form-row{grid-template-columns:1fr}
  .mobile-menu{display:flex}
  .training-card{padding:2rem}
  .who-item{grid-template-columns:1fr;gap:0.5rem;padding:2rem}
  .who-n{display:none}
  .contact-form{padding:1.5rem}
}
/* Shared cleanup classes */
body{animation:bodyFadeIn 0.4s ease both}
body.menu-open{overflow:hidden}
@keyframes bodyFadeIn{from{opacity:0}to{opacity:1}}
.nav-links a.is-active{color:var(--paper)}
.mobile-menu{display:none}
.mobile-menu.open{display:flex;opacity:1}
.is-fixed{flex-shrink:0}
.ai-series-link-wrap{margin-top:1.5rem}
.ai-series-link{color:var(--crimson);font-family:var(--mono);font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase}
.about-company-card{margin-top:3rem;padding:2.5rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:rgba(255,255,255,0.01)}
.about-company-label{font-family:var(--mono);font-size:0.7rem;color:rgba(244,241,236,0.38);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:1rem}
.about-company-copy{font-size:1.2rem;line-height:1.78;color:var(--muted)}
.form-success{display:none;margin-top:1.5rem;padding:1.5rem;border:1px solid rgba(69,181,53,0.4);background:rgba(69,181,53,0.05);border-radius:var(--radius-md)}
.form-success.show{display:block}
.form-success-title{font-family:var(--mono);font-size:0.72rem;color:var(--green);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:0.5rem}
.form-success-copy{font-size:0.95rem;line-height:1.68;color:rgba(26,26,26,0.72)}
.btn-submit.is-disabled,.ai-capture-btn.is-disabled{opacity:0.5}
.ai-capture-note.is-error{color:rgba(146,32,32,0.9)}
.ai-capture-note.is-success{color:rgba(69,181,53,0.9)}
.aero-box-divider{border-top:1px solid var(--border);margin-top:1rem;padding-top:1.5rem}
.aero-box-divider-loose{margin-top:1.5rem}
.aero-box-label{font-family:var(--mono);font-size:0.7rem;color:rgba(244,241,236,0.38);letter-spacing:0.1em;margin-bottom:1rem;text-transform:uppercase}
.aero-box-label-spacious{margin-bottom:1.2rem}
.aero-box-copy{font-size:0.92rem;line-height:1.78;color:var(--muted)}
.aero-box-emphasis{color:var(--paper)}
.aero-box-list{list-style:none;display:flex;flex-direction:column;gap:0.7rem}
.aero-box-list-item{font-size:0.92rem;color:var(--muted);display:flex;gap:0.75rem;align-items:flex-start}
.aero-box-arrow{color:var(--green);flex-shrink:0}

/* Scrollbar wow factor */
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--ink);border-radius:10px}
::-webkit-scrollbar-thumb{background:rgba(69,181,53,0.3);border:2px solid var(--ink);border-radius:10px;transition:background 0.3s}
::-webkit-scrollbar-thumb:hover{background:rgba(69,181,53,0.6)}
.scroll-top{position:fixed;bottom:2rem;right:2rem;width:48px;height:48px;background:var(--green);color:var(--ink);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(20px) scale(0.8);transition:opacity 0.4s var(--ease),visibility 0.4s,transform 0.4s var(--ease),background 0.2s,box-shadow 0.3s var(--ease);box-shadow:0 4px 20px rgba(69,181,53,0.25);z-index:999}
.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.scroll-top:hover{background:var(--green-l);box-shadow:0 8px 30px rgba(69,181,53,0.4);transform:translateY(-3px) scale(1.05)}
.scroll-top:active{transform:translateY(0) scale(0.95)}
.scroll-top svg{transition:transform 0.3s var(--ease)}
.scroll-top:hover svg{transform:translateY(-2px)}
/* ── LINKEDIN BRAND BUTTON (FOOTER) ── */
a.linkedin-btn, a.social-link.linkedin-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 0.6rem;
  padding: 0.6rem 1.4rem !important;
  border-radius: 24px !important;
  background: #0A66C2 !important;
  color: #ffffff !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  font-family: var(--sans) !important;
  letter-spacing: 0.02em;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  border: 2px solid #0A66C2 !important;
  box-shadow: 0 2px 8px rgba(10, 102, 194, 0.2) !important;
  position: relative;
  overflow: hidden;
  width: auto !important;
  height: auto !important;
  text-decoration: none;
  cursor: pointer;
  justify-content: flex-start !important;
}

a.linkedin-btn:hover, a.social-link.linkedin-btn:hover {
  background: #004182 !important;
  border-color: #004182 !important;
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 8px 24px rgba(10, 102, 194, 0.4) !important;
  color: #ffffff !important;
}

a.linkedin-btn::after, a.social-link.linkedin-btn::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
  transition: left 0.5s ease;
}

a.linkedin-btn:hover::after, a.social-link.linkedin-btn:hover::after {
  left: 100%;
}

a.linkedin-btn svg, a.social-link.linkedin-btn svg {
  flex-shrink: 0;
  width: 18px !important;
  height: 18px !important;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.15));
  transition: transform 0.25s ease;
  display: inline;
  vertical-align: middle;
}

a.linkedin-btn:hover svg, a.social-link.linkedin-btn:hover svg {
  transform: scale(1.1);
}

/* ══════════════════════════════════════════════════════════════════════════════
   COMPREHENSIVE RESPONSIVE OVERHAUL - Full Mobile Support
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── UNIVERSAL MOBILE OVERFLOW FIX ── */
@media (max-width: 1024px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw;
  }
  img, video, iframe, pre, code, table {
    max-width: 100% !important;
  }
  .hero-content {
    max-width: 100%;
  }
}

/* ── TABLET LANDSCAPE (1024px and below) ── */
@media (max-width: 1024px) {
  .section-head,
  #why-fail .section-head,
  #problems .section-head,
  #aerospace .section-head {
    grid-template-columns: 1fr;
    gap: 2rem;
    text-align: center;
  }
  .section-head .tag {
    justify-content: center;
  }
  .prob-text, .auth-text, .svc-text, .who-text, .feat-text, .thought-text, .mech-text {
    text-align: center;
    align-items: center;
  }
  .prob-sub, .auth-aside, .svc-sub, .who-sub, .fail-sub {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .prob-img-wrap, .auth-img-wrap, .svc-img-wrap, .who-img-wrap, .feat-img-wrap, .thought-img-wrap, .mech-img-wrap {
    max-width: 500px;
    margin: 0 auto;
    height: auto;
    aspect-ratio: 16/10;
  }
}

/* ── TABLET PORTRAIT (768px and below) ── */
@media (max-width: 768px) {
  html {
    font-size: 16px;
  }

  /* OVERFLOW FIX - Critical */
  html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .section-inner, .gap-inner, .foot-container {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden;
  }
  #nav {
    width: 94% !important;
    left: 50%;
    transform: translateX(-50%);
    padding: 0.6rem 1rem;
  }

  /* Section padding reduction */
  #hero, #gap, #why-fail, #problems, #authority, #services, #who, #aerospace, #aicam, #thinking, #about, #contact {
    padding: 3.5rem 1rem;
    overflow-x: hidden;
  }

  /* Hero improvements */
  #hero {
    min-height: auto;
    padding: 5.5rem 1rem 3rem 1rem;
  }
  .hero-h1 {
    font-size: clamp(2.2rem, 8vw, 3.5rem);
  }
  .hero-tag {
    font-size: 0.65rem;
    margin-bottom: 2rem;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  .hero-sub {
    font-size: 0.95rem;
    margin-bottom: 2.5rem;
  }
  .hero-sep {
    margin: 3rem 0 2rem;
  }
  .hero-side {
    gap: 1.5rem;
    margin-bottom: 2rem;
  }
  .hm-n {
    font-size: clamp(1.5rem, 5vw, 2rem);
  }
  .hm-l {
    font-size: 0.58rem;
  }

  /* Gap section */
  .gap-h2 {
    font-size: clamp(1.8rem, 6vw, 2.5rem);
  }
  .gap-quote {
    font-size: 1.3rem;
    padding: 1.5rem;
  }
  .gap-img-inner {
    height: auto;
    aspect-ratio: 16/9;
  }
  .gap-img-inner img {
    height: 100%;
  }

  /* Failure section */
  .fail-statement {
    font-size: clamp(1.4rem, 5vw, 2rem);
    text-align: center;
  }
  .fail-mode {
    padding: 1.75rem;
  }
  .fail-title {
    font-size: 1.1rem;
  }
  .fail-desc {
    font-size: 0.88rem;
  }
  .fail-closer {
    padding: 1.75rem;
  }
  .fail-closer-text {
    font-size: 1.1rem;
  }

  /* Problems section */
  .prob-h2, .auth-h2, .svc-h2, .who-h2, .feat-h2, .ai-h2, .th-h2, .about-h2, .contact-h2 {
    font-size: clamp(1.8rem, 6vw, 2.8rem);
  }
  .prob-card {
    padding: 1.5rem;
  }
  .prob-title {
    font-size: 1.1rem;
  }
  .prob-cost {
    font-size: 0.88rem;
  }
  .prob-footer {
    padding: 1.5rem;
  }
  .prob-footer-text {
    font-size: 1.2rem;
  }

  /* Pillars */
  .pillar {
    padding: 2rem 1.5rem;
  }
  .p-title {
    font-size: 1.3rem;
  }
  .p-body {
    font-size: 0.9rem;
  }

  /* Scale strip */
  .scale-strip {
    gap: 0.75rem;
  }
  .scale-item {
    padding: 1.25rem 1.5rem;
  }
  .scale-n {
    font-size: 2rem;
  }

  /* Services */
  .svc-card {
    padding: 1.75rem;
  }
  .svc-title {
    font-size: 1.25rem;
  }

  /* Training card */
  .training-card {
    padding: 1.5rem;
  }
  .training-title {
    font-size: clamp(1.3rem, 4vw, 1.8rem);
  }
  .training-hook {
    font-size: 1rem;
  }
  .training-body {
    font-size: 0.88rem;
  }
  .tp-text {
    font-size: 0.88rem;
  }
  .engine-note {
    padding: 1.25rem;
  }
  .engine-note-title {
    font-size: 1rem;
  }

  /* Who section */
  .who-item {
    padding: 1.5rem;
  }
  .who-title {
    font-size: 1.1rem;
  }
  .who-note {
    font-size: 1.2rem;
    padding: 1.5rem;
  }

  /* Aerospace */
  .aero-inner {
    gap: 3rem;
  }
  .aero-intro {
    font-size: 0.95rem;
  }
  .aero-context {
    font-size: 1rem;
  }
  .aero-area {
    padding: 1.25rem 1rem;
  }
  .aero-area-title {
    font-size: 1.05rem;
  }
  .aero-box {
    padding: 1.75rem;
  }
  .aero-box-title {
    font-size: 1.2rem;
  }
  .aero-stat-n {
    font-size: 1.8rem;
  }

  /* AI section */
  .ai-right-col p {
    font-size: 0.95rem;
  }
  .ai-capture {
    padding: 1.5rem;
  }
  .arch-card {
    padding: 1.5rem;
  }
  .arch-title {
    font-size: 1.2rem;
  }
  .ai-note {
    font-size: 1.3rem;
    padding: 1.5rem;
  }

  /* Thinking/Articles */
  .article {
    padding: 1.25rem;
    gap: 1rem;
  }
  .art-title {
    font-size: 1.25rem;
  }
  .art-desc {
    font-size: 0.88rem;
  }

  /* About section */
  .founder-quote {
    max-width: 100%;
  }
  .fq-mark {
    font-size: 4rem;
  }
  .fq-open {
    top: -0.5rem;
    left: -0.25rem;
  }
  .fq-content {
    padding: 1rem 0.5rem 1rem 2.5rem;
  }
  .fq-content p {
    font-size: 1rem;
  }

  /* Timeline */
  .about-timeline {
    padding: 1rem 0;
  }
  .timeline-track {
    left: 20px;
  }
  .timeline-bar {
    left: 20px;
  }
  .timeline-card {
    width: calc(100% - 50px);
    margin-left: 50px !important;
    margin-right: 0 !important;
  }
  .timeline-card.left,
  .timeline-card.right {
    margin-left: 50px;
  }
  .timeline-dot {
    left: -37px !important;
    right: auto !important;
  }
  .timeline-card.left .timeline-dot,
  .timeline-card.right .timeline-dot {
    left: -37px;
    right: auto;
  }
  .timeline-card .cv-yrs {
    align-self: flex-start !important;
    text-align: left !important;
  }

  /* Beliefs */
  .belief {
    padding: 1.25rem;
  }
  .belief-text {
    font-size: 1rem;
  }
  .about-company-card {
    padding: 1.5rem;
  }
  .about-company-copy {
    font-size: 1rem;
  }

  /* Contact */
  .contact-h2 {
    font-size: clamp(2rem, 6vw, 2.8rem);
  }
  .ci {
    padding: 0.75rem 1rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
  }
  .expect-item {
    padding: 0.75rem;
    font-size: 0.9rem;
  }
  .contact-form {
    padding: 1.25rem;
  }
  .btn-submit {
    width: 100%;
    justify-content: center;
  }

  /* Footer */
  .foot-container {
    padding: 2rem 1.25rem 1.5rem;
  }
  .foot-nav ul {
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-start;
  }
  .foot-nav li+li {
    padding-left: 0;
  }
  .foot-nav li+li::before {
    display: none;
  }
  .foot-nav a {
    padding: 0.4rem 0.6rem;
    font-size: 0.6rem;
  }
}

/* ── MOBILE LARGE (576px and below) ── */
@media (max-width: 576px) {
  html {
    font-size: 15px;
  }

  /* OVERFLOW FIX */
  *, *::before, *::after {
    max-width: 100%;
  }
  .hero-content, .gap-inner, .section-inner, .aero-inner, .about-content, .contact-grid, .training-card {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden;
  }
  .gap-img-wrap, .gap-img-inner {
    max-width: 100%;
    overflow: hidden;
  }
  .hero-tag::after, .tag::before, .tag::after {
    flex-shrink: 1;
    min-width: 0;
  }

  /* Sections */
  #hero, #gap, #why-fail, #problems, #authority, #services, #who, #aerospace, #aicam, #thinking, #about, #contact {
    padding: 2.5rem 0.875rem;
    margin: 0;
    width: 100%;
    max-width: 100%;
  }

  /* Hero */
  #hero {
    padding-top: 7.5rem;
    padding-left: 0.875rem;
    padding-right: 0.875rem;
  }
  .hero-h1 {
    font-size: clamp(1.8rem, 7vw, 2.5rem);
    margin-bottom: 1.5rem;
  }
  .hero-h1 br {
    display: none;
  }
  .hero-sub {
    font-size: 0.9rem;
    line-height: 1.7;
  }
  .hero-btns {
    width: 100%;
  }
  .btn-green {
    width: 100%;
    text-align: center;
    padding: 1rem 1.5rem;
    font-size: 0.8rem;
  }
  .btn-line {
    font-size: 0.85rem;
  }
  .hero-side {
    gap: 1.25rem;
  }
  .hm {
    text-align: center;
  }
  .hm-l {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  /* Gap */
  .gap-h2 {
    font-size: clamp(1.5rem, 5vw, 2rem);
  }
  .gap-col p {
    font-size: 0.95rem;
  }
  .gap-quote {
    font-size: 1.1rem;
    line-height: 1.5;
  }

  /* Fail */
  .fail-statement {
    font-size: clamp(1.2rem, 4.5vw, 1.6rem);
  }
  .fail-statement br {
    display: none;
  }
  .fail-mode {
    padding: 1.25rem;
  }
  .fail-closer {
    padding: 1.25rem;
  }
  .fail-closer-text {
    font-size: 1rem;
  }

  /* Cards generally */
  .prob-card, .svc-card, .arch-card {
    padding: 1.25rem;
  }
  .prob-footer {
    padding: 1.25rem;
    gap: 1.25rem;
  }
  .prob-footer-text {
    font-size: 1.1rem;
  }
  .prob-footer-cta {
    width: 100%;
    text-align: center;
  }

  /* Pillars */
  .pillar {
    padding: 1.5rem 1.25rem;
  }
  .p-num {
    margin-bottom: 1rem;
  }
  .p-title {
    font-size: 1.15rem;
  }

  /* Scale */
  .scale-strip {
    grid-template-columns: 1fr;
  }
  .scale-item {
    padding: 1rem 1.25rem;
    text-align: center;
  }

  /* Services */
  .svc-badge {
    font-size: 0.55rem;
    padding: 0.25rem 0.6rem;
  }

  /* Training */
  .training-card {
    padding: 1.25rem;
    gap: 2rem;
  }
  .training-badge {
    left: 1.25rem;
    font-size: 0.55rem;
  }
  .training-title {
    font-size: clamp(1.2rem, 4vw, 1.5rem);
  }
  .training-who {
    padding: 1rem;
  }
  .engine-note {
    padding: 1rem;
    margin-top: 1.5rem;
  }
  .training-cta {
    width: 100%;
    text-align: center;
  }

  /* NCG strip */
  .ncg-strip {
    padding: 1.25rem;
  }
  .ncg-text {
    font-size: 1rem;
  }

  /* Who */
  .who-item {
    padding: 1.25rem;
  }
  .who-title {
    font-size: 1.05rem;
  }
  .who-note {
    font-size: 1.1rem;
    padding: 1.25rem;
  }

  /* Aerospace */
  .aero-area {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  .aero-an {
    font-size: 0.65rem;
  }
  .aero-box {
    padding: 1.25rem;
  }
  .aero-box-cta {
    padding: 0.9rem 1rem;
  }

  /* AI */
  .ai-capture {
    padding: 1.25rem;
  }
  .ai-capture-input {
    padding: 0.75rem 1rem;
  }
  .ai-capture-btn {
    padding: 0.75rem 1.25rem;
  }
  .ai-note {
    font-size: 1.1rem;
    padding: 1.25rem;
  }

  /* Articles */
  .article {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    padding: 1.25rem;
  }
  .art-n {
    display: none;
  }
  .art-title {
    font-size: 1.1rem;
  }

  /* About */
  .fq-mark {
    font-size: 3rem;
  }
  .fq-content {
    padding: 0.75rem 0.5rem 0.75rem 2rem;
  }
  .fq-content p {
    font-size: 0.95rem;
    margin-bottom: 1.2rem;
  }
  .about-bio-img {
    max-width: 280px;
  }

  /* Timeline mobile */
  .timeline-card {
    padding: 1.25rem;
    width: calc(100% - 40px);
    margin-left: 40px !important;
  }
  .timeline-track,
  .timeline-bar {
    left: 15px;
  }
  .timeline-dot {
    left: -32px !important;
    width: 12px;
    height: 12px;
  }
  .cv-item .cv-role {
    font-size: 0.9rem;
  }
  .cv-item .cv-org {
    font-size: 0.68rem;
  }
  .cv-item .cv-note {
    font-size: 0.8rem;
  }

  /* Beliefs */
  .belief {
    grid-template-columns: 1fr;
    gap: 0.5rem;
    padding: 1rem;
  }
  .belief-n {
    margin-bottom: -0.25rem;
  }
  .belief-text {
    font-size: 0.95rem;
  }
  .about-company-card {
    padding: 1.25rem;
  }

  /* Contact */
  .contact-intro {
    margin: 2rem auto;
  }
  .ci {
    padding: 0.75rem;
  }
  .ci-label {
    font-size: 0.65rem;
    min-width: auto;
  }
  .ci-val {
    font-size: 0.9rem;
    word-break: break-word;
  }
  .contact-form {
    padding: 1rem;
    gap: 1.25rem;
  }
  .form-group input,
  .form-group select,
  .form-group textarea {
    padding: 0.8rem 1rem;
    font-size: 0.9rem;
  }

  /* Footer */
  .foot-container {
    padding: 1.5rem 1rem 1.25rem;
  }
  .foot-logo-img {
    height: 35px;
  }
  .foot-linkedin-btn {
    padding: 7px 12px 7px 10px;
    font-size: 0.7rem;
  }
  .foot-nav ul {
    gap: 0.25rem;
  }
  .foot-nav a {
    padding: 0.35rem 0.5rem;
    font-size: 0.55rem;
  }
  .foot-tagline-right {
    font-size: 0.55rem;
  }

  /* Scroll top button */
  .scroll-top {
    width: 42px;
    height: 42px;
    bottom: 1.5rem;
    right: 1rem;
  }
}

/* ── MOBILE SMALL (400px and below) ── */
@media (max-width: 400px) {
  html {
    font-size: 14px;
  }

  /* CRITICAL OVERFLOW FIX */
  body {
    overflow-x: hidden !important;
    position: relative;
    width: 100%;
  }
  section, .section-inner, .gap-inner, footer, .foot-container {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }
  .ncg-strip, .who-note, .gap-quote, .fail-closer, .prob-footer, .ai-note {
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  #hero, #gap, #why-fail, #problems, #authority, #services, #who, #aerospace, #aicam, #thinking, #about, #contact {
    padding: 2rem 0.625rem;
    margin: 0;
  }
  #hero {
    padding-top: 7.5rem;
  }

  #nav {
    width: 94%;
    padding: 0.5rem 0.75rem;
    left: 50%;
    transform: translateX(-50%);
  }

  .hero-h1 {
    font-size: clamp(1.6rem, 6.5vw, 2rem);
  }
  .hero-tag {
    font-size: 0.6rem;
  }
  .hero-sub {
    font-size: 0.85rem;
  }

  .gap-h2, .prob-h2, .auth-h2, .svc-h2, .who-h2, .feat-h2, .ai-h2, .th-h2, .about-h2 {
    font-size: clamp(1.4rem, 5vw, 1.8rem);
  }

  .contact-h2 {
    font-size: clamp(1.6rem, 5.5vw, 2rem);
  }

  .fail-statement {
    font-size: clamp(1.1rem, 4vw, 1.4rem);
  }

  /* Even smaller cards */
  .prob-card, .svc-card, .arch-card, .pillar, .who-item, .aero-box, .contact-form {
    padding: 1rem;
  }

  .training-card {
    padding: 1rem;
  }

  .fail-mode, .fail-closer {
    padding: 1rem;
  }

  /* Touch targets - ensure minimum 44px */
  .btn-green, .btn-line, .nav-cta, .training-cta, .prob-footer-cta, .aero-box-cta, .btn-submit {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .form-group input,
  .form-group select,
  .form-group textarea {
    min-height: 44px;
  }

  /* Mobile menu links */
  .mobile-menu a {
    font-size: 1.8rem;
    padding: 0.5rem;
    min-height: 44px;
  }
  .mobile-menu .m-cta {
    font-size: 0.8rem;
    min-height: 44px;
  }

  /* Footer even smaller */
  .foot-nav {
    display: none;
  }
  .foot-bottom {
    text-align: center;
    align-items: center;
  }
  .foot-copy {
    justify-content: center;
  }
}

/* ── ULTRA SMALL (320px) ── */
@media (max-width: 320px) {
  html {
    font-size: 13px;
  }

  /* Hide decorative lines that cause overflow */
  .tag::before, .tag::after,
  .hero-tag::after,
  .hero-scroll::after,
  .hero-sep {
    display: none !important;
  }

  #hero, #gap, #why-fail, #problems, #authority, #services, #who, #aerospace, #aicam, #thinking, #about, #contact {
    padding: 1.5rem 0.5rem;
  }
  #hero {
    padding-top: 7rem;
  }

  .hero-h1 {
    font-size: 1.4rem;
  }

  .hero-tag {
    font-size: 0.55rem;
    text-align: center;
    justify-content: center;
  }

  .hero-side {
    gap: 1rem;
  }

  .hm-n {
    font-size: 1.3rem;
  }

  /* Cards ultra compact */
  .prob-card, .svc-card, .arch-card, .pillar, .who-item, .aero-box, .contact-form, .training-card, .fail-mode, .fail-closer {
    padding: 0.75rem;
  }

  .ncg-strip {
    padding: 0.75rem;
  }
  .ncg-text {
    font-size: 0.9rem;
  }

  .timeline-card {
    width: calc(100% - 30px);
    margin-left: 30px !important;
    padding: 0.75rem;
  }
  .timeline-track,
  .timeline-bar {
    left: 8px;
  }
  .timeline-dot {
    left: -25px !important;
    width: 8px;
    height: 8px;
  }

  /* Footer ultra compact */
  .foot-container {
    padding: 1rem 0.5rem;
  }
  .foot-nav {
    display: none;
  }
}

/* ── LANDSCAPE PHONE ADJUSTMENTS ── */
@media (max-height: 500px) and (orientation: landscape) {
  #hero {
    min-height: auto;
    padding-top: 5rem;
    padding-bottom: 2rem;
  }
  .hero-side {
    grid-template-columns: repeat(3, 1fr);
  }
  .mobile-menu {
    padding: 1rem;
    gap: 1rem;
  }
  .mobile-menu a {
    font-size: 1.2rem;
  }
}

/* ── PRINT STYLES ── */
@media print {
  #nav, .mobile-menu, .scroll-top, .ham {
    display: none !important;
  }
  body {
    background: white;
    color: black;
  }
  section {
    page-break-inside: avoid;
  }
}

/* ── ACCESSIBILITY - REDUCED MOTION ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .reveal, .reveal-left, .reveal-right, .mask-reveal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
  }
}
