/* CPHI visual direction: architectural, image-led, restrained. */
.event-cphi{--cphi-ink:#10191d;--cphi-warm:#f1f0eb;--cphi-mist:#e8eceb}
.event-cphi.landing-editorial{padding-top:0}
.event-cphi .cphi-hero-copy .breadcrumbs{margin:0 0 24px;padding:0;background:none;color:#eef4f2;font-size:13px}
.event-cphi .cphi-hero-copy .breadcrumbs a{color:inherit;text-decoration-color:rgba(255,255,255,.65)}
.event-cphi .landing-editorial-heading{position:relative;isolation:isolate;min-height:min(760px,82svh);margin:0 calc(-1 * var(--gutter));padding:clamp(70px,10vw,145px) var(--gutter) clamp(64px,9vw,120px);display:flex;align-items:flex-end;overflow:hidden;color:white}
.cphi-hero-media{position:absolute;inset:0;z-index:-2}.cphi-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.015)}.cphi-hero-media span{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,14,18,.9),rgba(6,14,18,.56) 48%,rgba(6,14,18,.16) 82%),linear-gradient(0deg,rgba(6,14,18,.55),transparent 55%)}
.cphi-hero-copy{max-width:980px}.event-cphi .landing-editorial-heading .eyebrow{color:#d6dfdf}.event-cphi .landing-editorial-heading h1{max-width:920px;color:#fff;text-wrap:balance}.event-cphi .landing-editorial-heading .editorial-intro{max-width:760px;color:#eef2f1}
.event-cphi .landing-editorial-actions{display:flex;flex-wrap:wrap;gap:14px}.event-cphi .landing-primary-link,.event-cphi .event-official{display:inline-flex;padding:14px 18px;border:1px solid #ffffff66;color:#fff;background:#0d171bb8;backdrop-filter:blur(8px)}.event-cphi .landing-primary-link{background:var(--yellow);border-color:var(--yellow);color:#111}
.event-cphi .event-context{margin:0 calc(-1 * var(--gutter));padding:clamp(55px,8vw,105px) var(--gutter);background:var(--cphi-warm)}.event-cphi .event-context .landing-editorial-row{padding:clamp(30px,5vw,60px) 0;border-top:1px solid #c9ccc7}.event-cphi .event-context .landing-editorial-row:nth-child(even){margin-left:clamp(0px,8vw,120px)}
.event-cphi .landing-editorial-transition{margin:0 calc(-1 * var(--gutter));padding:clamp(80px,12vw,160px) var(--gutter);background:radial-gradient(circle at 85% 15%,#29434a 0,transparent 38%),linear-gradient(125deg,#0c171b,#17282d 65%,#0b1418);color:#eef4f2}.event-cphi .landing-editorial-transition .eyebrow{color:#aabbbc}.event-cphi .landing-editorial-transition h2{font-size:calc(clamp(42px,6vw,88px)*var(--cms-heading,1));line-height:1;letter-spacing:-.045em;max-width:900px;margin:18px 0 30px;color:#fff}.event-cphi .landing-editorial-transition>p:last-child{max-width:720px;font-size:calc(clamp(18px,2vw,24px)*var(--cms-text-scale,1));line-height:1.65;color:#c9d5d3}
.event-cphi #projects{margin:0 calc(-1 * var(--gutter));padding:clamp(65px,9vw,120px) var(--gutter);background:#fff}.event-cphi .landing-services{margin:0 calc(-1 * var(--gutter));padding:clamp(65px,9vw,110px) var(--gutter);background:var(--cphi-mist)}.event-cphi .landing-services nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:35px;border-top:1px solid #b9c4c1}.event-cphi .landing-services nav a{padding:22px 8px;border-bottom:1px solid #b9c4c1}
@media(prefers-reduced-motion:no-preference){body:not([data-animations="off"]) .cphi-hero-media img{animation:cphi-hero-breathe 12s ease-out both}@keyframes cphi-hero-breathe{from{transform:scale(1.07)}to{transform:scale(1.015)}}}
@media(max-width:700px){.event-cphi .landing-editorial-heading{min-height:72svh;padding-top:74px;padding-bottom:52px}.cphi-hero-media img{object-position:58% center}.cphi-hero-media span{background:linear-gradient(0deg,rgba(5,13,17,.93),rgba(5,13,17,.55) 62%,rgba(5,13,17,.22))}.event-cphi .landing-editorial-heading h1{font-size:calc(clamp(38px,11vw,58px)*var(--cms-heading,1))}.event-cphi .landing-editorial-heading .editorial-intro{font-size:calc(18px*var(--cms-text-scale,1));line-height:1.5;margin-bottom:26px}.event-cphi .event-context .landing-editorial-row:nth-child(even){margin-left:0}.event-cphi .landing-services nav{grid-template-columns:1fr}}


/* CPHI reading sequence: orientation, practical snapshot, built work, optional fair background. */
.event-cphi .cphi-quick-links{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:28px}
.event-cphi .cphi-quick-links a{font-size:13px;font-weight:600;color:#eef4f2;border-bottom:1px solid rgba(255,255,255,.65);padding-bottom:6px;text-decoration:none}
.event-cphi .cphi-quick-links a:hover{border-color:var(--yellow)}
.event-cphi .cphi-practical{margin:0 calc(-1 * var(--gutter));padding:clamp(55px,7vw,100px) var(--gutter);background:#e8eceb;color:#142025}
.event-cphi .cphi-practical .cms-block{padding:0;margin:0;border:0;background:transparent!important;box-shadow:none!important;clip-path:none!important}
.event-cphi .cphi-practical .cms-block:before,.event-cphi .cphi-practical .cms-block:after{display:none!important}
.event-cphi .cphi-practical .cms-block>div:before{display:none}
.event-cphi .cphi-practical .cms-block h2{max-width:18ch;font-size:calc(clamp(30px,4vw,54px)*var(--cms-heading,1));line-height:1.08;letter-spacing:-.04em}
.event-cphi .cphi-practical .cms-block p{font-size:calc(clamp(16px,1.45vw,19px)*var(--cms-text-scale,1));line-height:1.68;color:#334247}
.event-cphi .cphi-practical .cms-block p:first-of-type{font-weight:650;color:#142025}
.event-cphi .cphi-practical .cms-block .text-button{align-self:start;justify-self:start;border-color:#9caaa9;background:transparent}
.event-cphi .cphi-event-context{margin:0 calc(-1 * var(--gutter));padding:clamp(30px,4vw,55px) var(--gutter);background:#f1f0eb}
.event-cphi .cphi-event-context>summary{display:flex;justify-content:space-between;gap:24px;align-items:center;cursor:pointer;list-style:none;font-size:calc(clamp(20px,2.5vw,31px)*var(--cms-heading,1));font-weight:600;line-height:1.25}
.event-cphi .cphi-event-context>summary::-webkit-details-marker{display:none}
.event-cphi .cphi-event-context>summary span:last-child{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid #aebcb9;border-radius:50%;font-size:25px;font-weight:400;flex:none;transition:transform .2s}
.event-cphi .cphi-event-context[open]>summary span:last-child{transform:rotate(45deg)}
.event-cphi .cphi-event-context .landing-editorial-section{margin:34px 0 0}
.event-cphi .cphi-event-context .landing-editorial-row{padding:26px 0}
.event-cphi .cphi-event-context .landing-editorial-row h2{font-size:calc(clamp(23px,2.4vw,33px)*var(--cms-heading,1))}
@media(max-width:700px){
 .event-cphi .cphi-hero-copy .breadcrumbs{font-size:12px;margin-bottom:22px}
 .event-cphi .cphi-quick-links{gap:12px 18px}
 .event-cphi .cphi-practical{padding-top:42px;padding-bottom:48px}
 .event-cphi .cphi-practical .cms-block>div{display:block}
 .event-cphi .cphi-practical .cms-block h2{margin-bottom:24px}
 .event-cphi .cphi-event-context>summary{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.event-cphi .cphi-event-context>summary span:last-child{transition:none}}


/* CPHI editorial campaign: photographic colour, never a decorative colour gradient.
   The hero's existing dark overlay remains unchanged until review. */
.event-cphi .landing-editorial-transition.cphi-story{
 position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;
 min-height:clamp(570px,64vw,750px);background:#171321;
 padding:clamp(86px,10vw,145px) var(--gutter);color:#fff
}
.event-cphi .cphi-story-media{position:absolute;inset:0;z-index:-2}
.event-cphi .cphi-story-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:65% center}
.event-cphi .cphi-story::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:linear-gradient(90deg,rgba(12,10,20,.95) 0%,rgba(12,10,20,.84) 35%,rgba(12,10,20,.35) 70%,rgba(12,10,20,.08) 100%)
}
.event-cphi .cphi-story-copy{position:relative;max-width:790px}
.event-cphi .cphi-story-copy .eyebrow{color:#e9deef;letter-spacing:.15em;font-size:12px}
.event-cphi .cphi-story-copy h2{max-width:850px;font-size:calc(clamp(42px,6vw,86px)*var(--cms-heading,1));line-height:1.07;letter-spacing:-.047em;margin:22px 0 32px;color:#fff;text-wrap:balance}
.event-cphi .cphi-story-copy h2 span{display:block}
.event-cphi .cphi-story-copy h2 .cphi-story-highlight{color:#ddb5f0}
.event-cphi .cphi-story-copy>p:last-child{max-width:55ch;color:#f3edf7;font-size:calc(clamp(17px,1.75vw,22px)*var(--cms-text-scale,1));line-height:1.65}
@media(max-width:700px){
 .event-cphi .landing-editorial-transition.cphi-story{min-height:640px;align-items:flex-end;padding-top:85px;padding-bottom:78px}
 .event-cphi .cphi-story-media img{object-position:62% top}
 .event-cphi .cphi-story::before{background:linear-gradient(180deg,rgba(12,10,20,.09) 0%,rgba(12,10,20,.33) 24%,rgba(12,10,20,.78) 53%,rgba(12,10,20,.96) 100%)}
 .event-cphi .cphi-story-copy h2{font-size:calc(clamp(35px,9vw,54px)*var(--cms-heading,1));margin-bottom:22px}
 .event-cphi .cphi-story-copy>p:last-child{font-size:calc(17px*var(--cms-text-scale,1));line-height:1.52}
}


/* Shared photographic campaign: the exhibition scene is the entire
   backdrop. Only HTML carries the headline; never bake words into the image. */
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo{
 margin:0 calc(-1 * var(--gutter));padding:0;background:#151e26;color:#fff;
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-hero{
 position:relative;isolation:isolate;min-height:clamp(580px,49vw,745px);
 overflow:hidden;display:flex;align-items:center;padding:65px var(--gutter)
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-photo{
 position:absolute;inset:0;z-index:-2;background:#16202a;overflow:hidden
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-photo img{
 display:block;width:100%;height:100%;object-fit:cover;
 object-position:64% 48%;transform:scale(1.015)
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-photo::after{
 content:"";position:absolute;inset:0;
 background:linear-gradient(90deg,rgba(6,11,25,.89) 0%,rgba(6,11,25,.72) 29%,rgba(7,11,24,.36) 54%,rgba(7,11,24,.07) 83%),
 linear-gradient(0deg,rgba(7,10,19,.24),transparent 32%);
 pointer-events:none
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-copy{
 position:relative;z-index:1;max-width:min(780px,59%);min-width:0
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo .eyebrow{
 color:#e4deef;font-size:12px;letter-spacing:.15em;margin:0 0 24px
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo h2{
 font-size:calc(clamp(42px,5.4vw,80px)*var(--cms-heading,1));
 color:white;letter-spacing:-.048em;line-height:1.055;margin:0 0 36px;
 text-wrap:balance;font-weight:680;max-width:790px
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo h2 span{display:block}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-emphasis{
 color:var(--experience-promo-accent,#c8b7ed);
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-cta{
 display:inline-flex;align-items:center;gap:12px;
 border:1px solid rgba(242,232,255,.78);padding:14px 20px;
 background:rgba(8,13,27,.37);backdrop-filter:blur(6px);
 color:#fff;text-decoration:none;font-size:14px;font-weight:650;
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-cta:hover,
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-cta:focus-visible{
 border-color:var(--experience-promo-accent,#c8b7ed);background:rgba(16,17,40,.78)
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-note{
 position:absolute;right:var(--gutter);bottom:18px;z-index:1;
 color:#e8e5f2;opacity:.85;font-size:11px;letter-spacing:.02em
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-support{
 padding:clamp(30px,4.6vw,62px) var(--gutter);
 display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
 column-gap:clamp(28px,5vw,80px);row-gap:24px;align-items:center;
 background:#151e26
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-support>p{
 max-width:78ch;margin:0;color:#d6dce4;
 font-size:calc(clamp(16px,1.35vw,18px)*var(--cms-text-scale,1));
 line-height:1.65
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-features{
 display:flex;flex-wrap:wrap;gap:12px 22px;list-style:none;
 padding:0;margin:0
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-features li{
 position:relative;padding-left:16px;color:#e8e9ef;font-size:13px
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-features li::before{
 content:"";position:absolute;top:.5em;left:0;width:6px;height:6px;
 border-radius:50%;background:var(--experience-promo-accent,#c8b7ed)
}
:is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-secondary{
 color:#e8e9ef;font-size:13px;text-decoration:none;
 border-bottom:1px solid #89919f;padding-bottom:5px;justify-self:start
}
@media(prefers-reduced-motion:no-preference){
 body:not([data-animations="off"]) :is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-photo img{
  animation:experience-banner-breathe 22s ease-in-out infinite alternate
 }
 @keyframes experience-banner-breathe{
  from{transform:scale(1.02) translate3d(0,0,0)}
  to{transform:scale(1.075) translate3d(-.6%,-.25%,0)}
 }
}
@media(max-width:900px){
 :is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-hero{min-height:660px;align-items:flex-end;padding-bottom:75px}
 :is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-photo img{object-position:70% center}
 :is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-photo::after{
  background:linear-gradient(0deg,rgba(7,10,22,.95) 0%,rgba(7,10,22,.85) 27%,rgba(7,10,22,.33) 68%,rgba(7,10,22,.06) 100%)
 }
 :is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-copy{max-width:740px}
 :is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-support{grid-template-columns:1fr}
}
@media(max-width:700px){
 :is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-hero{min-height:730px;padding-top:44px;padding-bottom:68px}
 :is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-photo img{object-position:72% center}
 :is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo .eyebrow{font-size:11px;margin-bottom:18px}
 :is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo h2{
  font-size:calc(clamp(35px,9.5vw,52px)*var(--cms-heading,1));
  line-height:1.08;letter-spacing:-.04em;margin-bottom:26px
 }
 :is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-cta{font-size:13px;padding:13px 15px}
 :is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-support{padding-top:32px;padding-bottom:48px;gap:21px}
 :is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-support>p{font-size:16px;line-height:1.55}
 :is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-features{gap:12px}
 :is(.event-cphi,.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-features li{width:100%}
}

/* Keep the interactive map and the visitor’s hand in frame on narrow screens. */
:is(.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo{--experience-promo-accent:var(--yellow,#ffd000)}
:is(.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-hero{min-height:clamp(500px,48vw,680px)}
:is(.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-photo img{object-position:72% center}
:is(.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-copy{max-width:min(700px,55%)}
:is(.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo h2{text-wrap:pretty}
:is(.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-note{padding:4px 7px;background:#101923;color:#fff;opacity:1}
@media(max-width:900px){
 :is(.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-hero{display:block;min-height:0;padding:0 0 48px;background:#101923}
 :is(.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-photo{position:relative;z-index:0;height:clamp(245px,65vw,440px);margin-bottom:-26px}
 :is(.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-photo img{object-position:80% center}
 :is(.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-photo::after{background:linear-gradient(0deg,#101923 0%,transparent 32%)}
 :is(.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-copy{max-width:740px;margin:0 var(--gutter)}
 :is(.event-airspace-world,.event-routes-europe,.sector-logistics-transportation) .experience-promo-note{top:12px;bottom:auto}
}
