/* Commercial structure: each section has one clear role in the decision journey. */
.hero-subtitle{position:relative;isolation:isolate}
.hero-subtitle>span{display:block}
.hero-subtitle>span:first-child{display:inline-block;max-width:100%;padding:4px 0;border:0;background:transparent;box-shadow:none;text-shadow:0 1px 1px rgba(255,255,255,.92),0 0 4px rgba(255,255,255,.35)}
.hero-subtitle>span:first-child:before{content:none}
.hero-subtitle>span+span{margin-top:7px}
.hero-subtitle em{color:#684916;font-family:'Instrument Serif Italic',Georgia,serif;font-size:1.13em;font-style:normal;font-weight:700;letter-spacing:.01em;text-shadow:0 1px 1px rgba(255,255,255,.95),0 0 4px rgba(255,255,255,.48)}
.hero-subtitle .hero-target{color:#654616;font-weight:700;text-shadow:0 1px 12px rgba(255,255,255,.95)}
@media(min-width:851px){.hero-stage .hero-copy{max-width:1100px}.hero-stage .hero-subtitle{font-size:clamp(14px,1.3vw,20px)}.hero-stage .hero-subtitle>span:first-child{white-space:nowrap;text-align:center}}

.situations{margin-top:clamp(46px,4vw,68px);background:#f7f7f5}
.situations-layout{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(440px,1.18fr);gap:clamp(55px,8vw,135px);align-items:start}
.situations-overline,.mission-label,.kla-overline,.pilot-overline{font-size:12px;font-weight:700;letter-spacing:1.65px;color:var(--gold)}
.situations-intro h2{margin-top:18px}
.situations-intro>p:last-child{max-width:520px;margin-top:24px;color:var(--muted);font-size:16px;line-height:1.8}
.situations-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.situations-list li{display:grid;grid-template-columns:54px 1fr;gap:22px;align-items:center;min-height:78px;padding:18px 10px;border-bottom:1px solid var(--line)}
.situations-list li>span{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.08em}
.situations-list p{color:var(--navy);font-size:clamp(16px,1.4vw,19px);line-height:1.55;font-weight:600}

.services .service{min-height:330px}
.services .service p{margin-bottom:0}
.services-action{display:flex;justify-content:center;margin-top:44px}
.services-action .text-link{min-width:min(100%,340px);justify-content:space-between}

.pilot{padding-top:94px;padding-bottom:104px;background:#fff}
.pilot-panel{--kla-light-angle:108deg;position:relative;display:grid;grid-template-columns:1.02fr .98fr;overflow:hidden;border-radius:20px;background:var(--navy);color:#fff;box-shadow:0 28px 70px rgba(16,38,56,.1)}
.pilot-panel:before{content:'';position:absolute;z-index:0;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 5%,rgba(222,200,153,.16),transparent 35%),linear-gradient(120deg,transparent 0 47%,rgba(255,255,255,.035) 47.2% 48%,transparent 48.2%)}
.pilot-copy,.pilot-details{position:relative;z-index:1;padding:clamp(40px,5vw,76px);transform:none;transition:transform .5s cubic-bezier(.16,1,.3,1),background-color .45s ease,box-shadow .45s ease}
.pilot-copy{isolation:isolate;overflow:hidden;border-right:1px solid rgba(255,255,255,.14)}
.pilot-copy:after{content:'';position:absolute;z-index:0;inset:-35% -40%;pointer-events:none;background:linear-gradient(var(--kla-light-angle),transparent 34%,rgba(255,255,255,.1) 42%,rgba(255,255,255,.65) 48%,rgba(255,255,255,.2) 53%,transparent 64%);mix-blend-mode:screen;opacity:0;transform:translate3d(-45%,0,0)}
.pilot-copy>*{position:relative;z-index:1}
.pilot-overline{color:#ead5aa;text-shadow:0 1px 14px rgba(234,213,170,.18)}
.pilot-copy h2{margin:20px 0 27px;font-size:clamp(34px,4vw,54px)}
.pilot-copy h2 em{color:var(--champagne)}
.pilot-copy>p:not(.pilot-overline){max-width:620px;color:#d6dfe4;font-size:16px;line-height:1.85}
.pilot-copy .button{margin-top:30px}
.pilot-details{display:flex;flex-direction:column;justify-content:center;background:rgba(255,255,255,.025)}
.pilot-facts{display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:20px;padding-bottom:25px;border-bottom:1px solid rgba(255,255,255,.18);font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:#d5dde2}
.pilot-facts span:first-child{display:flex;align-items:baseline;gap:9px;color:var(--champagne)}
.pilot-facts strong{font:400 52px/1 'Instrument Serif',Georgia,serif;letter-spacing:0}
.pilot-timeline{list-style:none;margin:15px 0 0;padding:0}
.pilot-timeline li{display:grid;grid-template-columns:34px 1fr;gap:15px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.11);transition:padding .35s ease,background-color .35s ease,color .35s ease}
.pilot-timeline li>span{display:inline-block;color:var(--champagne);font-size:12px;padding-top:4px;transform:none;transition:transform .42s cubic-bezier(.16,1,.3,1),color .3s ease,text-shadow .3s ease}
.pilot-timeline h3{font:600 17px/1.35 var(--sans)}
.pilot-timeline p{margin-top:4px;color:#cbd5db;font-size:13px;line-height:1.62}
.pilot-commitment{margin-top:22px;padding-left:18px;border-left:2px solid var(--gold);color:#cbd5db;font-size:13px;line-height:1.7}
#mission-pilote-approche,#mission-pilote-livrables{scroll-margin-top:128px}

.mission-evidence{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:26px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--line)}
.mission-box{padding:clamp(34px,4vw,58px);background:#fff}
.mission-box h3{max-width:560px;min-height:2.7em;margin-top:15px;font:600 clamp(24px,2.3vw,34px)/1.35 var(--sans);color:var(--navy)}
.mission-box ul{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line);overflow:visible}
.mission-box li{position:relative;z-index:0;min-height:64px;padding:15px 4px 15px 24px;border-bottom:1px solid var(--line);background:inherit;color:var(--muted);font-size:14px;line-height:1.55;transform:none;transition:transform .38s cubic-bezier(.16,1,.3,1),box-shadow .38s ease,background-color .3s ease,border-color .3s ease,padding-left .38s cubic-bezier(.16,1,.3,1)}
.mission-box li:before{content:'✓';position:absolute;left:1px;color:var(--gold);font-weight:700;transition:transform .38s cubic-bezier(.16,1,.3,1),color .3s ease,text-shadow .3s ease}
.mission-box--commitments{background:#faf9f6}

.punctual-missions{position:relative;margin-top:clamp(64px,7vw,104px);padding:clamp(46px,6vw,78px);border-radius:20px;background:#f5f5f2;overflow:visible}
.punctual-heading{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(430px,1.3fr);gap:18px clamp(50px,8vw,120px);align-items:start;margin-bottom:40px}
.punctual-heading .mission-label{grid-row:1/3;padding-top:9px}
.punctual-heading h3{font:600 clamp(29px,3vw,43px)/1.25 var(--sans);color:var(--navy)}
.punctual-heading h3 em{color:var(--gold)}
.punctual-heading>p:last-child{grid-column:2;max-width:590px;color:var(--muted);font-size:15px;line-height:1.8}
.punctual-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.punctual-card{position:relative;z-index:0;isolation:isolate;display:flex;flex-direction:column;min-height:420px;padding:clamp(31px,3.5vw,48px);border:1px solid #d9dddf;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(16,38,56,.045);transform:none;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s ease,border-color .35s ease}
.punctual-card:before{content:'';position:absolute;z-index:4;top:0;left:clamp(31px,3.5vw,48px);width:72px;height:3px;background:var(--gold);transform-origin:left center;transition:transform .45s cubic-bezier(.16,1,.3,1),background-color .35s ease,box-shadow .35s ease}
.punctual-card-top{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:1.5px}
.punctual-card-top>span:last-child{font-size:12px;font-weight:800;letter-spacing:1.4px}
.punctual-number{display:grid;place-items:center;width:46px;height:46px;border:1px solid #d8c69f;border-radius:50%;color:var(--navy);font-size:12px;letter-spacing:.08em;transition:transform .45s cubic-bezier(.16,1,.3,1),background-color .35s ease,color .35s ease}
.punctual-card h4{max-width:520px;margin:28px 0 17px;color:var(--navy);font:600 clamp(23px,2.2vw,31px)/1.35 var(--sans);letter-spacing:normal}
.punctual-card>p{max-width:560px;min-height:3.5em;color:var(--muted);font-size:15px;line-height:1.75}
.punctual-card ul{list-style:none;margin:26px 0 0;padding:0;border-top:1px solid var(--line);perspective:800px;overflow:visible}
.punctual-card li{position:relative;z-index:0;padding:14px 0 14px 24px;border-bottom:1px solid var(--line);background:#fff;color:#425461;font-size:14px;line-height:1.55;transform:translate3d(0,0,0);transform-style:preserve-3d;transition:transform .36s cubic-bezier(.16,1,.3,1),box-shadow .36s ease,background-color .3s ease,border-color .3s ease,padding-left .36s cubic-bezier(.16,1,.3,1)}
.punctual-card li:before{content:'✓';position:absolute;left:1px;color:var(--gold);font-weight:700;transition:transform .36s cubic-bezier(.16,1,.3,1),text-shadow .3s ease}
.punctual-card-action{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:auto;padding:28px 0 8px;border-bottom:1px solid var(--gold);color:var(--navy);font-size:14px;font-weight:600;transform:translateY(0);transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s ease,text-shadow .3s ease}
.punctual-card-action span{color:var(--gold);font-size:21px;line-height:1;transition:transform .3s ease}
.punctual-card--navy{border-color:var(--navy);background:var(--navy);box-shadow:0 14px 32px rgba(16,38,56,.1)}
.punctual-card--navy:before{background:var(--champagne)}
.punctual-card--navy .punctual-card-top{color:var(--champagne)}
.punctual-card--navy .punctual-number{border-color:rgba(222,200,153,.55);color:#fff}
.punctual-card--navy h4{color:#fff}
.punctual-card--navy>p{color:#d1dbe1}
.punctual-card--navy ul,.punctual-card--navy li{border-color:rgba(255,255,255,.14)}
.punctual-card--navy li{background:transparent;color:#fff;font-weight:600;text-shadow:none}
.punctual-card--navy li:before{color:var(--champagne)}
.punctual-card--navy .punctual-card-action{border-color:var(--champagne);color:#fff}
.punctual-card--navy .punctual-card-action span{color:var(--champagne)}
.punctual-card--video{overflow:hidden}
.punctual-card--video:after{content:'';position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(9,28,41,.68),rgba(16,38,56,.78));box-shadow:inset 0 0 80px rgba(4,17,26,.18)}
.punctual-card--video>*:not(.punctual-card-video){position:relative;z-index:2}
.punctual-card-video{position:absolute;z-index:0;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;opacity:.82;filter:saturate(.68) contrast(1.08);transform:scale(1.015);transition:transform 9s linear,filter .45s ease}
.punctual-card--video-light:after{display:none}
.punctual-card--video-light .punctual-card-video{opacity:.35;filter:none}
.punctual-card--video-light .punctual-card-top{color:var(--navy)}
.punctual-card--video-light>p{color:#1c3444;font-weight:700;text-shadow:none}
.punctual-card--video-light li{background:transparent;color:#102638;font-weight:700;text-shadow:none}
.punctual-card--video-light .punctual-card-action{font-weight:700}

.kla-overview{background:#f7f7f5}
.kla-overview-card{display:grid;grid-template-columns:minmax(320px,.88fr) minmax(440px,1.12fr);gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--line)}
.kla-overview-card figure{position:relative;min-height:430px;overflow:hidden;background:var(--navy)}
.kla-overview-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.kla-overview-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(42px,6vw,88px);background:#fff}
.kla-overview-copy h2{margin-top:18px;font-size:clamp(31px,3.45vw,50px)}
.kla-overview-copy>p:not(.kla-overline){max-width:700px;margin-top:20px;color:var(--muted);font-size:16px;line-height:1.8}
.kla-overview-copy .text-link{margin-top:27px}

.contact{grid-template-columns:1fr 1fr;gap:0;overflow:hidden}
.contact-copy{padding-right:clamp(42px,6vw,104px)}
.contact-relief{position:relative;isolation:isolate;align-self:stretch;min-height:390px;margin:-90px calc(-1 * max(var(--page),calc((100vw - 1600px)/2))) -90px 0;overflow:hidden;background:#081a27}
.contact-relief-image{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.66) brightness(.72) contrast(1.12)}
.contact-relief:before{content:'';position:absolute;z-index:1;inset:0;pointer-events:none;background:rgba(16,38,56,.22);mix-blend-mode:color}
.contact-relief:after{content:'';position:absolute;z-index:3;inset:-1px;pointer-events:none;background:linear-gradient(90deg,var(--navy) 0%,rgba(16,38,56,.9) 7%,rgba(16,38,56,.36) 20%,transparent 34%),linear-gradient(0deg,rgba(16,38,56,.68),transparent 16%,transparent 84%,rgba(16,38,56,.62))}

@media(hover:hover) and (pointer:fine){
  .situations-list li{transition:padding-left .3s ease,background-color .3s ease}
  .situations-list li:hover{padding-left:18px;background:rgba(255,255,255,.72)}
  .pilot-copy:hover,.pilot-details:hover{z-index:2;transform:translateY(-3px);background-color:rgba(255,255,255,.035);box-shadow:0 20px 48px rgba(2,13,21,.2)}
  .pilot-timeline li:hover{padding-left:10px;padding-right:10px;background:rgba(255,255,255,.035);color:#fff}
  .pilot-timeline li:hover>span{color:#f0d9a8;transform:translateY(-2px)}
  .mission-box li:hover{z-index:2;padding-left:29px;border-bottom-color:transparent;background:#fff;box-shadow:0 15px 34px rgba(16,38,56,.11);transform:translateY(-4px)}
  .mission-box--commitments li:hover{background:#fdfcf9}
  .mission-box li:hover:before{color:#7b5b27;transform:translateX(2px)}
  .punctual-card:hover{z-index:2;border-color:#c7af81;box-shadow:0 28px 62px rgba(16,38,56,.14);transform:translateY(-9px)}
  .punctual-card:hover:before{background:#f0ddb4;box-shadow:0 0 16px rgba(222,200,153,.62);transform:scaleX(1.18)}
  .punctual-card:hover .punctual-number{color:#fff;background:var(--navy);box-shadow:0 9px 20px rgba(16,38,56,.16);transform:translateY(-2px)}
  .punctual-card--navy:hover{border-color:#d8c18f;box-shadow:0 30px 66px rgba(6,20,30,.23)}
  .punctual-card--navy:hover .punctual-number{color:var(--navy);background:var(--champagne)}
  .punctual-card--leads:hover .punctual-number{background:#fff}
  .punctual-card--video:hover .punctual-card-video{filter:saturate(.78) contrast(1.1);transform:scale(1.055)}
  .punctual-card--video-light:hover .punctual-card-video{filter:none}
  .punctual-card--video:hover{box-shadow:0 38px 76px rgba(6,20,30,.28);transform:translateY(-10px)}
  .punctual-card li:hover{z-index:2;padding-left:29px;border-bottom-color:transparent;background:#fff;box-shadow:0 14px 30px rgba(16,38,56,.12);transform:translateY(-4px)}
  .punctual-card--video li:hover{padding-left:24px;transform:none}
  .punctual-card--navy li:hover{background:transparent;color:#fff;box-shadow:0 13px 18px -17px rgba(0,0,0,.95);text-shadow:none}
  .punctual-card--video-light li:hover{background:transparent;color:#102638;box-shadow:0 13px 18px -17px rgba(16,38,56,.42);text-shadow:none}
  .punctual-card li:hover:before{text-shadow:0 0 12px rgba(222,200,153,.42)}
  .punctual-card-action:hover,.punctual-card-action:focus-visible{border-color:rgba(255,255,255,.92);transform:translateY(-2px)}
  .punctual-card-action:hover span{animation:punctual-arrow-float 1.45s ease-in-out infinite}
  .punctual-card-action:focus-visible span{transform:translate3d(3px,-3px,0)}
  .punctual-card-action:active{transform:translateY(0)}
}
@media(prefers-reduced-motion:no-preference){.pilot-copy:after{animation:kla-pilot-light-pass 20s ease-in-out infinite}}
@keyframes kla-pilot-light-pass{0%{opacity:0;transform:translate3d(-45%,0,0)}8%{opacity:.42}45%{opacity:.7}58%{opacity:0;transform:translate3d(65%,0,0)}100%{opacity:0;transform:translate3d(65%,0,0)}}
@keyframes punctual-arrow-float{0%,100%{transform:translate3d(2px,-1px,0)}50%{transform:translate3d(4px,-5px,0)}}

@media(max-width:1050px){
  .situations-layout{grid-template-columns:.85fr 1.15fr;gap:55px}
  .pilot-panel{grid-template-columns:1fr}.pilot-copy{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .mission-box h3{min-height:0}.mission-box ul{grid-template-columns:1fr}
  .punctual-heading{grid-template-columns:1fr;gap:14px}.punctual-heading .mission-label{grid-row:auto;padding-top:0}.punctual-heading>p:last-child{grid-column:auto}
  .kla-overview-card{grid-template-columns:.8fr 1.2fr}
}
@media(max-width:850px){
  .situations-layout{grid-template-columns:1fr;gap:38px}
  .mission-evidence{grid-template-columns:1fr}
  .punctual-grid{grid-template-columns:1fr}.punctual-card{min-height:0}.punctual-card>p{min-height:0}.punctual-card-action{margin-top:28px}
  .kla-overview-card{grid-template-columns:1fr}.kla-overview-card figure{min-height:360px}.kla-overview-copy{padding:48px 38px}
  .contact{grid-template-columns:1fr;gap:42px}.contact-copy{padding-right:0}.contact-relief{min-height:330px;margin:0 calc(-1 * var(--page)) -74px}
}
@media(max-width:600px){
  .hero-subtitle{max-width:340px;margin-left:auto;margin-right:auto}.hero-subtitle>span:first-child{padding:8px 0}.hero-subtitle>span+span{margin-top:7px}
  .situations{margin-top:28px;padding-top:58px}.situations-list li{grid-template-columns:38px 1fr;gap:12px;min-height:70px;padding:15px 4px}.situations-intro>p:last-child{font-size:15px}
  .services .service{min-height:0}.services-action{justify-content:stretch;margin-top:34px}.services-action .text-link{width:100%}
  .pilot{padding-top:58px;padding-bottom:64px}.pilot-panel{border-radius:15px}.pilot-copy,.pilot-details{padding:32px 25px}.pilot-copy h2{font-size:clamp(30px,8vw,38px)}.pilot-facts{grid-template-columns:1fr;gap:5px}.pilot-facts strong{font-size:46px}.pilot-timeline li{grid-template-columns:27px 1fr;gap:9px}.pilot-copy .button{width:100%;text-align:left}.mission-evidence{margin-top:18px;border-radius:15px}.mission-box{padding:31px 25px}.mission-box ul{margin-top:23px}.punctual-missions{margin-top:48px;padding:34px 24px;border-radius:15px}.punctual-heading{margin-bottom:28px}.punctual-card{padding:30px 24px;border-radius:13px}.punctual-card:before{left:24px;width:58px}.punctual-card h4{font-size:25px}.punctual-card-action{font-size:13px;gap:16px}
  .kla-overview-card{border-radius:15px}.kla-overview-card figure{min-height:285px}.kla-overview-copy{padding:34px 25px}.kla-overview-copy h2{font-size:clamp(28px,7.7vw,36px)}
  .contact .button{width:100%;gap:14px;text-align:left}.contact-relief{min-height:270px;margin:0 calc(-1 * var(--page)) -60px}
}
@media(prefers-reduced-motion:reduce){.situations-list li,.pilot-copy,.pilot-details,.pilot-timeline li,.pilot-timeline li>span,.mission-box li,.mission-box li:before,.punctual-card,.punctual-card:before,.punctual-number,.punctual-card li,.punctual-card li:before,.punctual-card-action,.punctual-card-action span,.punctual-card-video{transition:none}.pilot-copy:hover,.pilot-details:hover,.pilot-timeline li:hover>span,.mission-box li:hover,.mission-box li:hover:before,.punctual-card:hover,.punctual-card:hover:before,.punctual-card:hover .punctual-number,.punctual-card li:hover,.punctual-card li:hover:before,.punctual-card-action:hover,.punctual-card-action:hover span,.punctual-card--video:hover .punctual-card-video{animation:none;transform:none}.pilot-copy:after{display:none}.punctual-card-video{display:none}}
