/* =====================================================================
   EDAERO Academy — LIGHT LUXURY DESIGN SYSTEM  (production file)
   Load LAST, after styles.css, edaero-palette.css and academy-services.css.
   ---------------------------------------------------------------------
   Same brand colours, new distribution:
   ~70% ivory and light neutrals · ~20% emerald (type, nav, accents,
   one exceptional band per page) · ~10% champagne (lines, details).
   Emerald bands kept: .cta-final, #enquiry (service enquiry), footer.
   Champagne is never used as text on light surfaces (contrast).
   ===================================================================== */

:root{
  --emerald:#123C34;           /* brand */
  --emerald-deep:#0D2B25;
  --emerald-mid:#1E4A41;
  --emerald-soft:#2C5A4F;      /* italic accents on light */
  --ivory:#F8F5EF;             /* brand — primary surface */
  --cream:#F3EEE5;             /* soft cream surface */
  --champagne-tint:#F2EBDD;    /* very pale champagne surface */
  --champagne:#D8C5A0;         /* brand — lines and details */
  --line:rgba(18,60,52,.12);
  --line-champagne:rgba(216,197,160,.75);
  --ink:#1E2A27;               /* body text */
  --muted:#4A5753;             /* secondary text, ≥6:1 on ivory */
  --card:#FFFFFF;
  --space-section:clamp(88px,10vw,140px);
  --shadow-soft:0 18px 40px -28px rgba(18,60,52,.35);
}

body{background:var(--ivory);color:var(--ink)}

/* ---------- NAVIGATION: ivory, emerald type ---------- */
.site-nav{background:rgba(248,245,239,.94);border-bottom:1px solid var(--line-champagne);backdrop-filter:saturate(1.2) blur(10px)}
.nav-logo{color:var(--emerald)}
.nav-logo span{color:var(--emerald-mid);letter-spacing:.24em}
.nav-links a{color:var(--emerald);opacity:.86;letter-spacing:.07em;position:relative}
.nav-links>li>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--champagne);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.nav-links a:hover,.nav-links a.active{color:var(--emerald);opacity:1}
.nav-links>li>a:hover::after,.nav-links>li>a.active::after{transform:scaleX(1)}
.nav-links a.nav-cta{color:var(--emerald);border-color:var(--emerald);opacity:1}
.nav-links a.nav-cta:hover{background:var(--emerald);color:var(--ivory);border-color:var(--emerald)}
.nav-toggle span{background:var(--emerald)}
.edaero-language-switcher select{background:var(--card);color:var(--emerald);border-color:var(--line-champagne)}

/* dropdowns */
.nav-links .has-sub{position:relative}
.nav-links .has-sub>a .caret{display:inline-block;margin-left:6px;width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.6}
.sub-menu{position:absolute;top:calc(100% + 18px);left:-22px;min-width:290px;list-style:none;margin:0;padding:14px 0;background:var(--card);border:1px solid var(--line-champagne);box-shadow:var(--shadow-soft);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease,visibility .25s}
.sub-menu::before{content:"";position:absolute;left:0;right:0;top:-19px;height:19px}
.has-sub:hover>.sub-menu,.has-sub:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.sub-menu a{display:block;padding:9px 22px;font-size:12.5px;letter-spacing:.02em;text-transform:none;color:var(--ink);opacity:1}
.sub-menu a:hover,.sub-menu a:focus-visible{background:var(--ivory);color:var(--emerald)}
.sub-menu .sub-all a{margin-top:6px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--emerald-mid)}
@media(max-width:1280px){
  .nav-links{background:var(--ivory);border-bottom:1px solid var(--line-champagne)}
  .nav-links a{border-bottom-color:var(--line)}
  .nav-links>li>a:not(.nav-cta)::after{display:none}
  .sub-menu{display:none}
  .nav-links .has-sub>a .caret{display:none}
}

/* ---------- TYPE: calmer tracking, more air ---------- */
.section-label,.hero-eyebrow,.page-eyebrow{letter-spacing:.16em}
.btn-primary,.btn-outline,.btn-ghost{letter-spacing:.1em}
.meta,.af-tag,.ins-meta,.svc-card .tag,.cap-k,.footer-col h5,.contact-info-block h4,.path-tag,.pillar-tag{letter-spacing:.12em}
.section-title{line-height:1.14}
.section-intro{font-size:15.5px;line-height:1.85;max-width:620px}

/* ---------- SURFACES ---------- */
.section-light,.section-deep,.section-mid{padding-block:var(--space-section)}
.section-light{background:var(--ivory)}
.section-deep{background:var(--cream)}
.section-mid{background:var(--champagne-tint)}
.section-light+.section-light{border-top:1px solid var(--line)}

/* light context = every content section except the exceptional emerald enquiry band */
:is(.section-light,.section-deep,.section-mid):not(#enquiry){color:var(--ink)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .section-label{color:var(--emerald-mid)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .section-label::before{background:var(--champagne);opacity:1}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .section-title{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .section-title em{color:var(--emerald-soft)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .section-intro{color:var(--muted)}

/* buttons on light */
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .btn-primary,
:is(.hero,.page-hero) .btn-primary,.success-wrap .btn-primary{background:var(--emerald);color:var(--ivory);border-color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .btn-primary:hover,
:is(.hero,.page-hero) .btn-primary:hover,.success-wrap .btn-primary:hover{background:transparent;color:var(--emerald);border-color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .btn-outline,
:is(.hero,.page-hero) .btn-outline,.success-wrap .btn-outline,.pillar-card .btn-outline{background:transparent;color:var(--emerald);border-color:var(--line-champagne)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .btn-outline:hover,
:is(.hero,.page-hero) .btn-outline:hover,.success-wrap .btn-outline:hover,.pillar-card .btn-outline:hover{border-color:var(--emerald);background:transparent;color:var(--emerald)}

/* ---------- HERO: light editorial, photograph on the right ---------- */
.hero,.page-hero{background:var(--ivory);color:var(--emerald);padding-top:clamp(120px,12vw,168px);padding-bottom:clamp(96px,10vw,140px)}
.has-photo::before{left:34%;inset-block:0;right:0;animation:edaero-drift 26s ease-out forwards}
.has-photo::after{background:linear-gradient(90deg,var(--ivory) 0%,var(--ivory) 34%,rgba(248,245,239,.9) 44%,rgba(248,245,239,.45) 60%,rgba(248,245,239,0) 78%),linear-gradient(0deg,rgba(248,245,239,.65) 0%,rgba(248,245,239,0) 26%)}
.hero h1,.page-hero h1{color:var(--emerald);font-weight:300}
.hero h1 em,.page-hero h1 em{color:var(--emerald-soft)}
.hero-eyebrow,.page-eyebrow{color:var(--emerald-mid)}
.hero-sub,.page-hero .lead{color:var(--ink);max-width:560px}
.breadcrumb,.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--emerald)}
.path-card{background:rgba(255,255,255,.82);border-color:var(--line-champagne);backdrop-filter:blur(6px)}
.path-card:hover{background:var(--card);border-color:var(--champagne);box-shadow:var(--shadow-soft)}
.path-tag{color:var(--emerald-mid)}
.path-card h3{color:var(--emerald)}
.path-card p{color:var(--muted)}
.path-arrow{color:var(--emerald)}
@media(max-width:820px){
  .hero,.page-hero{padding-top:min(76vw,330px)}
  .has-photo::before{left:0;right:0;top:0;bottom:auto;height:min(78vw,340px)}
  .has-photo::after{background:linear-gradient(180deg,rgba(248,245,239,0) 0%,rgba(248,245,239,0) calc(min(78vw,340px) - 120px),var(--ivory) min(78vw,340px),var(--ivory) 100%)}
}

/* ---------- CARDS & LISTS on light ---------- */
.svc-cards,.section-deep .svc-cards,.section-mid .svc-cards{gap:24px;background:none;border:0}
.svc-card,.section-deep .svc-card,.section-mid .svc-card{background:var(--card);border:1px solid var(--line);padding:34px 32px;transition:border-color .35s,box-shadow .35s}
.svc-card:hover{border-color:var(--line-champagne);box-shadow:var(--shadow-soft)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-card h3{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-card p{color:var(--muted)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-card .tag{color:var(--emerald-mid)}

/* steps → editorial timeline columns */
.svc-steps,.section-light .svc-steps{gap:0 28px;background:none;border:0}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-steps li{background:transparent;border-top:1px solid var(--champagne);padding:26px 0 0}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-steps li::before{color:var(--emerald-mid)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-steps h3{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-steps p{color:var(--muted)}
.svc-steps{row-gap:40px}

:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-list li{border-color:var(--line);color:var(--ink)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-list li strong{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-list li span{color:var(--muted)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-scope{background:var(--card);color:var(--ink)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-chips li{background:var(--card);color:var(--emerald);border-color:var(--line)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-note{background:var(--card);border:1px solid var(--line);border-left:2px solid var(--champagne)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-note h3{color:var(--emerald-mid)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-note p{color:var(--muted)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-prose p{color:var(--muted)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-prose strong{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-link{color:var(--emerald)}

/* accordion */
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-acc,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-acc details{border-color:var(--line)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-acc .an,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-acc summary::after{color:var(--emerald-mid)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-acc .at{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-acc .as{color:var(--muted)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-acc .ab h4{color:var(--emerald-mid)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .svc-acc .ab p{color:var(--muted)}
.svc-acc summary:hover .at,.svc-acc summary:hover .faq-q{color:var(--emerald-soft)}

/* methodology journey & audit family */
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .journey a,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .audit-family a{background:var(--card);border-color:var(--line);color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .journey a:hover,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .audit-family a:hover{border-color:var(--champagne);background:var(--card);box-shadow:var(--shadow-soft)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .journey .jn,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .af-tag{color:var(--emerald-mid)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .journey .jx,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .af-go{color:var(--muted)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .journey a:hover .jx,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .audit-family a:hover .af-go{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .af-name{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .journey a[aria-current="page"],
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .audit-family a[aria-current="page"]{background:var(--emerald);border-color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .journey a[aria-current="page"] *,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .audit-family a[aria-current="page"] *{color:var(--ivory)}
.journey li:not(:last-child)::after{background:var(--champagne)}
@media(max-width:640px){.journey{border-left-color:var(--champagne)}.journey li::before{background:var(--ivory)}}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .journey-phase{color:var(--muted)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .af-next{border-color:var(--line)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .af-next span{color:var(--emerald-mid)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .af-next a{color:var(--emerald);border-color:var(--champagne)}

/* organization routes */
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .org-routes li{border-color:var(--line)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .or-org{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .or-links a{color:var(--ink)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .or-links a:hover{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .or-links a span{color:var(--emerald-mid)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .or-links a[aria-current="page"]{color:var(--muted)}
.svc-inline{text-decoration-color:var(--champagne)}

/* documentation hierarchy */
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .doc-hier li{background:var(--card);border-color:var(--line-champagne)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .doc-hier b{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .doc-hier span{color:var(--muted)}

/* existing site components */
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .stage-pill{background:var(--card);color:var(--emerald);border-color:var(--line-champagne)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) a.stage-pill:hover{border-color:var(--emerald);background:var(--card)}
.stage-flow-arrow{color:var(--emerald-mid)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .stage-block{border-color:var(--line)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .stage-number{color:var(--emerald-mid)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .stage-head h2{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .stage-head p{color:var(--muted)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .service-grid{background:none;border:0;gap:16px}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .service-item{background:var(--card);border:1px solid var(--line);color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .service-item span{color:var(--muted)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) a.service-item:hover{background:var(--card);border-color:var(--champagne);box-shadow:var(--shadow-soft)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) a.service-item::after{color:var(--emerald-mid)}

:is(.section-light,.section-deep,.section-mid):not(#enquiry) .pillar-card{background:var(--card);border-color:var(--line);color:var(--ink)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .pillar-card.gold{background:var(--card);border-top:2px solid var(--champagne)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .pillar-card h3{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .pillar-card>p{color:var(--muted)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .pillar-tag{color:var(--emerald-mid)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .pillar-list li{color:var(--ink);border-color:var(--line)}
.pillar-list li::before{background:var(--champagne)}

:is(.section-light,.section-deep,.section-mid):not(#enquiry) .quote-bar{background:var(--card);border-color:var(--line)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .quote-bar p{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .quote-bar cite{color:var(--emerald-mid)!important}
.quote-bar[style*="padding:0"]{background:none!important}

:is(.section-light,.section-deep,.section-mid):not(#enquiry) .why-icon{color:var(--emerald-mid);border-color:var(--champagne)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .why-text h5{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .why-text p{color:var(--muted)}

:is(.section-light,.section-deep,.section-mid):not(#enquiry) .founder-name{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .founder-title{color:var(--emerald-mid)}
.founder-photo-frame{border-color:var(--line-champagne);background:var(--card)}

:is(.section-light,.section-deep,.section-mid):not(#enquiry) .process-flow{background:none;border:0;gap:0 28px}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .process-step{background:transparent;border-top:1px solid var(--champagne);padding:24px 0 0}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .process-step .n{color:var(--emerald-mid)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .process-step h4{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .process-step p{color:var(--muted)}
.process-flow{row-gap:36px}

:is(.section-light,.section-deep,.section-mid):not(#enquiry) .simple-card{background:var(--card);border-color:var(--line)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .simple-card h4{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .simple-card p{color:var(--muted)}
.program-grid-2{gap:24px}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .distinction-item{background:var(--card);border:1px solid var(--line);border-top:2px solid var(--champagne)}

:is(.section-light,.section-deep,.section-mid):not(#enquiry) .program-status{color:var(--emerald);border-color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .fw-chip{color:var(--emerald);border-color:var(--line-champagne);background:var(--card)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .finding-row .v{color:rgba(255,255,255,.86)}

/* forms on light (contact page, subscribe) */
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .contact-info-block{border-color:var(--line)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .contact-info-block h4{color:var(--emerald-mid)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .contact-info-block a,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .contact-info-block p{color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .form-field label,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .form-field legend{color:var(--emerald)!important}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .form-field input,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .form-field select,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .form-field textarea{background:var(--card);color:var(--ink);border-color:rgba(18,60,52,.22)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .form-field input:focus,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .form-field select:focus,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .form-field textarea:focus{border-color:var(--emerald)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .form-note{color:var(--muted)}
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .radio-row label{color:var(--ink);border-color:rgba(18,60,52,.22)}

/* image captions stay on photographs; softer gradient */
.image-tile::after,.svc-figure::after{background:linear-gradient(180deg,rgba(13,43,37,0) 48%,rgba(13,43,37,.72))}
.image-tile,.svc-figure{box-shadow:none}

/* success / 404 */
.success-wrap{background:var(--ivory);color:var(--emerald)}
.success-wrap .lead{color:var(--muted)}
.success-wrap h1{color:var(--emerald)}
.success-icon{color:var(--emerald);border-color:var(--champagne)}

/* ---------- EXCEPTIONAL EMERALD BANDS ---------- */
.cta-final{background:var(--emerald);border-top:0}
#enquiry.section-deep{background:var(--emerald)!important}
.site-footer{background:var(--emerald-deep)}
.contact-strip{background:var(--cream);border-top:1px solid var(--line-champagne)}

/* ---------- INSIGHTS ---------- */
.ins-card{border-color:var(--line)}
.ins-card:hover{box-shadow:var(--shadow-soft)}

/* ---------- OUR EXPERTS (page-scoped styles) ---------- */
.xp-page .xp-principle{background:var(--champagne-tint);color:var(--emerald);border-top:1px solid var(--line-champagne);border-bottom:1px solid var(--line-champagne)}
.xp-page .xp-principle span+span::before{color:var(--emerald-mid)}
.xp-page .xp-section-deep,.xp-page .xp-section-alt{background:var(--cream);color:var(--ink)}
.xp-page .xp-section-deep .xp-eyebrow{color:var(--emerald-mid)}
.xp-page .xp-section-deep .xp-h2{color:var(--emerald)}
.xp-page .xp-section-deep .xp-h2 em{color:var(--emerald-soft)}
.xp-page .xp-section-deep .xp-lead{color:var(--muted)}
.xp-page .xp-rec-list li{border-color:var(--line)}
.xp-page .xp-rec-list strong{color:var(--emerald)}
.xp-page .xp-rec-list span{color:var(--muted)}
.xp-page .xp-grid{background:none;border:0;gap:24px}
.xp-page .xp-card{background:var(--card);border:1px solid var(--line)}
.xp-page .xp-card-num{color:var(--emerald-mid)}
.xp-page .xp-card h3{color:var(--emerald)}
.xp-page .xp-card p{color:var(--muted)}
.xp-page .xp-method div{border-color:var(--line-champagne);color:var(--ink);background:var(--card)}
.xp-page .xp-contrib h3{color:var(--emerald)}
.xp-page .xp-contrib p{color:var(--muted)}
.xp-page .xp-note{color:var(--muted);border-color:var(--line)}
.xp-page .xp-section{padding-block:var(--space-section)}
.xp-page .xp-ach-wide{background:var(--card)!important;border-color:var(--line)!important;border-top:2px solid var(--champagne)!important}
.xp-page .xp-ach-wide h3{color:var(--emerald)!important}
.xp-page .xp-ach-wide p{color:var(--muted)!important}
.xp-page .xp-ach-wide .xp-ach-mark{color:var(--emerald-mid)}

/* ---------- MOTION ---------- */
@media(prefers-reduced-motion:reduce){.has-photo::before{animation:none}.sub-menu{transition:none}}

/* ---------- OPERATIONAL CHALLENGE CARDS (editorial) ---------- */
.ch-grid{max-width:var(--wrap,1160px);margin:56px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:32px 28px}
.ch-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);text-decoration:none;color:inherit;transition:border-color .4s ease,box-shadow .4s ease,transform .4s ease}
.ch-card:hover,.ch-card:focus-visible{border-color:var(--champagne);box-shadow:var(--shadow-soft);transform:translateY(-4px)}
.ch-img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--cream)}
.ch-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.55) brightness(1.04);transform:scale(1.02);transition:filter .8s ease,transform 1.4s cubic-bezier(.2,.6,.2,1)}
.ch-card:hover .ch-img img,.ch-card:focus-visible .ch-img img{filter:none;transform:scale(1.07)}
.ch-body{display:flex;flex-direction:column;gap:12px;padding:28px 28px 26px;flex:1}
.ch-title{font-family:var(--serif);font-size:25px;line-height:1.2;color:var(--emerald)}
.ch-text{font-size:14px;line-height:1.75;color:var(--muted)}
.ch-go{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--emerald)}
.ch-arrow{display:inline-block;color:var(--champagne);font-size:16px;transition:transform .35s ease}
.ch-card:hover .ch-arrow,.ch-card:focus-visible .ch-arrow{transform:translateX(6px)}
.ch-related{margin-top:18px}
.cc-h{font-family:var(--serif);font-size:24px;color:var(--emerald);margin-bottom:12px}
.sol-card{text-decoration:none;display:flex;flex-direction:column}
.sol-go{margin-top:auto;padding-top:16px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--emerald)}
.sol-go span{color:var(--champagne);margin-left:4px;transition:margin .3s}
.sol-card:hover .sol-go span{margin-left:10px}
@media(max-width:1000px){.ch-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.ch-grid{grid-template-columns:1fr;gap:22px}.ch-title{font-size:23px}}
@media(prefers-reduced-motion:reduce){.ch-img img,.ch-arrow,.ch-card{transition:none}}
.site-footer .nav-logo{color:var(--ivory)}
.site-footer .nav-logo span{color:var(--champagne)}

/* ---------- INSIGHTS ARTICLES ---------- */
.art-hero{padding-bottom:clamp(72px,8vw,110px)}
.art-meta{margin-top:20px;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.art-hero .lead{margin-top:26px}
.art-figure{display:none}
.art-body{max-width:720px;margin:0 auto;padding:clamp(64px,8vw,104px) var(--gutter,48px) clamp(80px,9vw,120px);font-size:17px;line-height:1.85;color:var(--ink)}
.art-body>p:first-child{font-family:var(--serif);font-size:23px;line-height:1.55;color:var(--emerald)}
.art-body p+p{margin-top:20px}
.art-body h2{font-family:var(--serif);font-weight:400;font-size:clamp(27px,3vw,34px);line-height:1.2;color:var(--emerald);margin:56px 0 18px;text-wrap:balance}
.art-body h2::before{content:"";display:block;width:40px;height:1px;background:var(--champagne);margin-bottom:22px}
.art-body h3{font-family:var(--serif);font-weight:500;font-size:22px;color:var(--emerald);margin:34px 0 10px}
.art-body ul{margin:18px 0 0;padding:0;list-style:none}
.art-body li{position:relative;padding:8px 0 8px 26px}
.art-body li::before{content:"";position:absolute;left:0;top:21px;width:12px;height:1px;background:var(--champagne)}
.art-body strong{color:var(--emerald);font-weight:600}
.art-note{margin-top:44px!important;padding:18px 22px;font-size:14px;line-height:1.7;color:var(--muted);background:var(--card);border-left:2px solid var(--champagne)}
@media(max-width:820px){.art-figure{display:block;margin:0}.art-figure img{width:100%;height:auto}.art-hero.has-photo::before{display:none}.art-hero{padding-top:64px}.art-hero.has-photo::after{display:none}.art-body{font-size:16.5px}.art-body>p:first-child{font-size:20px}}

/* ---------- CONFIDENTIAL FLIGHT OBSERVATION PROTOCOL ---------- */
.svc-hero-confidential-flight-observation-protocol::before{background-image:url('../assets/academy/insight-vip-uhnw-service.jpg');background-position:62% 35%}
.cf-outcomes{max-width:var(--wrap,1160px);margin:56px auto 0;list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px}
.cf-outcomes li{border-top:1px solid var(--champagne);padding-top:24px}
.cf-outcomes h3{font-family:var(--serif);font-size:23px;line-height:1.2;color:var(--emerald);margin-bottom:10px}
.cf-outcomes p{font-size:14px;line-height:1.75;color:var(--muted)}
.pl-overview{max-width:var(--wrap,1160px);margin:56px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pl-card{display:flex;flex-direction:column;gap:10px;padding:28px 28px 24px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:inherit;transition:border-color .35s,box-shadow .35s,transform .35s}
.pl-card:hover,.pl-card:focus-visible{border-color:var(--champagne);box-shadow:var(--shadow-soft);transform:translateY(-3px)}
.pl-num{font-family:var(--serif);font-size:30px;line-height:1;color:var(--emerald-mid)}
.pl-card-t{font-family:var(--serif);font-size:22px;line-height:1.25;color:var(--emerald)}
.pl-card-d{font-size:13.5px;line-height:1.7;color:var(--muted)}
.pl-card-go{margin-top:auto;padding-top:8px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--emerald)}
.pl-card-go span{color:var(--champagne);margin-left:4px}
.pl-section{scroll-margin-top:84px}
.pl-grid{max-width:var(--wrap,1160px);margin:0 auto;display:grid;grid-template-columns:5fr 6fr;gap:72px;align-items:start}
.pl-flip .pl-media{order:2}
.pl-media{position:sticky;top:110px;margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--cream);border:1px solid var(--line-champagne)}
.pl-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s cubic-bezier(.2,.6,.2,1)}
.pl-media:hover img{transform:scale(1.03)}
.pl-media--num{display:flex;align-items:center;justify-content:center;background:var(--champagne-tint)}
.pl-media--num span{font-family:var(--serif);font-size:clamp(120px,14vw,200px);font-weight:300;color:var(--emerald);opacity:.85;line-height:1}
.pl-title{margin-bottom:8px}
.pl-block{margin-top:30px}
.pl-block h3{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--emerald-mid);margin-bottom:8px}
.pl-block p{font-size:15.5px;line-height:1.85;color:var(--ink)}
.pl-note{margin-top:22px;padding:14px 18px;font-size:13px;line-height:1.7;color:var(--muted);background:var(--card);border-left:2px solid var(--line-champagne)}
.pl-improve{margin-top:34px;padding:26px 28px;background:var(--card);border:1px solid var(--line-champagne);border-top:2px solid var(--champagne)}
.pl-improve-k{display:block;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--emerald-mid);margin-bottom:10px}
.pl-improve p{font-family:var(--serif);font-size:21px;line-height:1.45;color:var(--emerald)}
.pl-links{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline}
.pl-links span{font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pl-links a{font-size:13.5px;color:var(--emerald);text-decoration:none;border-bottom:1px solid var(--champagne);padding-bottom:2px}
.pl-links a:hover{color:var(--emerald-soft)}
.cf-stages{max-width:var(--wrap,1160px);margin:56px auto 0;list-style:none;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:0 20px;counter-reset:cs}
.cf-stages li{counter-increment:cs;border-top:1px solid var(--champagne);padding-top:22px}
.cf-stages li::before{content:counter(cs,decimal-leading-zero);display:block;font-family:var(--serif);font-size:26px;color:var(--emerald-mid);margin-bottom:8px}
.st-k{display:block;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--emerald);margin-bottom:6px}
.st-v{display:block;font-size:13.5px;line-height:1.7;color:var(--muted)}
.cf-confidential{max-width:700px;margin:44px auto 0;text-align:center;font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.5;color:var(--emerald)}
@media(max-width:1000px){
  .cf-outcomes{grid-template-columns:1fr 1fr;row-gap:32px}
  .pl-overview{grid-template-columns:1fr 1fr}
  .pl-grid{grid-template-columns:1fr;gap:36px}
  .pl-flip .pl-media{order:0}
  .pl-media{position:relative;top:auto;aspect-ratio:16/10}
  .cf-stages{grid-template-columns:repeat(3,1fr);row-gap:32px}
}
@media(max-width:640px){
  .cf-outcomes,.pl-overview{grid-template-columns:1fr}
  .cf-stages{grid-template-columns:1fr 1fr}
  .pl-media--num{aspect-ratio:16/7}
  .pl-improve{padding:22px 20px}
  .pl-improve p{font-size:19px}
}
@media(max-width:640px){
  .pl-overview{grid-template-columns:1fr 1fr;gap:12px}
  .pl-card{padding:18px 16px 16px;gap:8px}
  .pl-num{font-size:22px}
  .pl-card-t{font-size:17px}
  .pl-card-d,.pl-card-go{display:none}
}
.cf-wide{max-width:var(--wrap,1160px);margin:56px auto 0;aspect-ratio:21/8;overflow:hidden;border:1px solid var(--line-champagne)}
.cf-wide img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.cf-side{margin:40px 0 0;aspect-ratio:3/2;overflow:hidden;border:1px solid var(--line-champagne)}
.cf-side img{width:100%;height:100%;object-fit:cover}
@media(max-width:640px){.cf-wide{aspect-ratio:4/3}}
/* CFOP mockup refinements */
.svc-hero-confidential-flight-observation-protocol::before{background-image:url('../assets/academy/cf-cabin-inspection.jpg');background-position:60% 35%}
.cf-hero{position:relative}
.cf-quote{position:absolute;right:max(48px,calc((100% - 1160px)/2));bottom:clamp(60px,7vw,110px);margin:0;max-width:300px;font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.2vw,30px);line-height:1.3;color:var(--ivory);text-shadow:0 2px 18px rgba(13,43,37,.55)}
.cf-quote::after{content:"";display:block;width:44px;height:1px;background:var(--champagne);margin-top:18px}
.cf-ico{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border:1px solid var(--champagne);border-radius:50%;margin-bottom:18px}
.cf-ico svg{width:24px;height:24px;fill:none;stroke:var(--emerald);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.cf-outcomes li{border-top:0;padding-top:0}
.pl-card{padding:0 0 22px;overflow:hidden}
.pl-thumb{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--cream);margin-bottom:6px}
.pl-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.6,.2,1)}
.pl-card:hover .pl-thumb img{transform:scale(1.05)}
.pl-card>.pl-num,.pl-card>.pl-card-t,.pl-card>.pl-card-d,.pl-card>.pl-card-go{padding:0 24px}
.cf-cycle{max-width:var(--wrap,1160px);margin:56px auto 0;overflow:hidden;border:1px solid var(--line-champagne)}
.cf-cycle img{width:100%;height:auto;display:block}
@media(max-width:820px){.cf-quote{display:none}}
@media(max-width:640px){.pl-card{padding-bottom:14px}.pl-card>.pl-num,.pl-card>.pl-card-t{padding:0 14px}}
.cf-quote{color:var(--emerald);text-shadow:none;background:rgba(248,245,239,.86);backdrop-filter:blur(6px);padding:22px 26px;max-width:300px;border-left:2px solid var(--champagne);font-size:clamp(20px,1.8vw,25px)}
.cf-quote br{display:none}
.cf-quote::after{display:none}
.cf-closing{padding:clamp(64px,8vw,110px) var(--gutter,48px);background:var(--ivory)}
.cf-closing figure{max-width:var(--wrap,1160px);margin:0 auto;border:1px solid var(--line-champagne)}
.cf-closing img{width:100%;height:auto;display:block}

/* ---------- EMERALD TITLES & BUTTONS (brand alignment) ---------- */
.hero h1,.page-hero h1{color:var(--emerald);font-weight:400}
.hero h1 em,.page-hero h1 em,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .section-title,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .section-title em,
.art-body h2,.art-body h3,.ins-title,.ch-title,.pl-card-t,.af-name{color:var(--emerald)}
.section-title{font-weight:400}
.hero-eyebrow,.page-eyebrow,.section-label{color:var(--emerald)!important}

/* buttons: solid emerald primary, emerald outline secondary */
.btn-primary,
:is(.hero,.page-hero) .btn-primary,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .btn-primary,
.success-wrap .btn-primary{background:var(--emerald);color:var(--ivory);border:1px solid var(--emerald)}
.btn-primary:hover,
:is(.hero,.page-hero) .btn-primary:hover,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .btn-primary:hover{background:var(--emerald-deep);color:var(--ivory);border-color:var(--emerald-deep)}
:is(.hero,.page-hero) .btn-outline,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .btn-outline,
.pillar-card .btn-outline,.success-wrap .btn-outline{background:transparent;color:var(--emerald);border:1px solid var(--emerald)}
:is(.hero,.page-hero) .btn-outline:hover,
:is(.section-light,.section-deep,.section-mid):not(#enquiry) .btn-outline:hover,
.pillar-card .btn-outline:hover{background:var(--emerald);color:var(--ivory)}
/* emerald bands keep ivory buttons */
.cta-final .btn-primary,#enquiry .btn-primary{background:var(--ivory);color:var(--emerald);border-color:var(--ivory)}
.cta-final .btn-primary:hover,#enquiry .btn-primary:hover{background:transparent;color:var(--ivory);border-color:var(--champagne)}
.cta-final .btn-outline{color:var(--ivory);border-color:var(--champagne)}

/* ---------- NAVIGATION: one line, emerald ---------- */
.nav-links>li>a{white-space:nowrap;opacity:1;color:var(--emerald)}
.nav-links a.nav-cta{background:var(--emerald);color:var(--ivory)!important;border-color:var(--emerald)}
.nav-links a.nav-cta:hover{background:var(--emerald-deep);border-color:var(--emerald-deep)}
@media(min-width:1281px) and (max-width:1520px){
  .site-nav{padding-left:32px;padding-right:32px;gap:18px}
  .nav-links{gap:18px}
  .nav-links a{font-size:10.5px;letter-spacing:.05em}
  .nav-logo{font-size:20px}
}

/* Operator Solutions: stage photography */
.stage-photo{margin:30px 0 0;aspect-ratio:4/3;overflow:hidden;border-bottom:2px solid var(--champagne)}
.stage-photo img{display:block;max-width:none;width:100%;height:100%;object-fit:cover}
.distinction-item.has-img{padding-top:0;overflow:hidden}
.distinction-item.has-img img{display:block;max-width:none;height:auto;width:calc(100% + 52px);margin:0 -26px 22px;aspect-ratio:4/3;object-fit:cover}
.service-item.has-img{overflow:hidden}
.service-item.has-img img{display:block;height:auto;width:calc(100% + 48px);max-width:none;margin:-22px -24px 18px;aspect-ratio:16/10;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.service-item.has-img:hover img{transform:scale(1.03)}
.service-item.has-img[style*="grid-column"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;align-content:center}
.service-item.has-img[style*="grid-column"] img{grid-row:1/4;width:calc(100% + 24px);height:calc(100% + 44px);margin:-22px 0 -22px -24px;aspect-ratio:auto;min-height:200px}
.service-item.has-img[style*="grid-column"] span,.service-item.has-img[style*="grid-column"]::after{grid-column:2}
@media (max-width:1024px){.stage-photo{aspect-ratio:16/9}}
@media (max-width:720px){.service-item.has-img[style*="grid-column"]{display:block}.service-item.has-img[style*="grid-column"] img{width:calc(100% + 48px);height:auto;margin:-22px -24px 18px;aspect-ratio:16/10;min-height:0}}
@media (prefers-reduced-motion:reduce){.service-item.has-img img{transition:none}.service-item.has-img:hover img{transform:none}}
