/* Homepage rhythm: journey, editorial index, photo-led choices, comparison, process. */
.journey-section{background:var(--navy);color:white;padding:74px 0 80px}
.journey-section .eyebrow{color:#8dcdbb}
.journey-heading{display:flex;align-items:end;justify-content:space-between;gap:70px;margin-bottom:48px}
.journey-heading h2{margin:0;font-size:clamp(2.5rem,3.6vw,3.6rem)}
.journey-heading>p{max-width:360px;color:#b9cbd1;margin:0}
.journey-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.journey-stage{padding-right:30px;display:flex;flex-direction:column}
.journey-stage:last-child{padding-right:0}
.journey-marker{position:relative;margin-bottom:25px}
.journey-marker::before{content:'';position:absolute;left:0;right:-30px;top:19px;height:1px;background:#506b74}
.journey-stage:last-child .journey-marker::before{right:0}
.journey-marker>span{display:grid;place-items:center;position:relative;width:39px;height:39px;border:1px solid #64887f;border-radius:50%;background:var(--navy);color:#b6e3d5;font-size:.8rem}
.journey-stage h3{font-family:'Source Serif 4',Georgia,serif;font-size:2.5rem;margin-bottom:17px}
.journey-stage h3>span{color:#5cbda0}
.journey-stage h4{font-size:.95rem;line-height:1.5;min-height:46px;font-weight:500;margin-bottom:12px}
.journey-stage p{color:#b9cbd1;font-size:.875rem;line-height:1.65;flex:1;margin-bottom:24px}
.journey-stage a{color:#b6e3d5;border-color:#638e80;align-self:start;font-size:.8rem}
.audience-editorial{padding:52px 0 35px}
.audience-layout{display:grid;grid-template-columns:.82fr 1.65fr;gap:60px;align-items:start}
.audience-title h2{font-size:clamp(2rem,2.8vw,2.8rem);line-height:1.14}
.audience-title em{color:var(--jade);font-weight:400}
.audience-title p{font-size:.9rem;max-width:280px}
.audience-list{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}
.audience-list article{display:flex;gap:15px;border-top:1px solid var(--line);padding:19px 0}
.audience-number{color:var(--jade);font-size:.7rem;padding-top:3px}
.audience-list h3{font-size:1rem;margin-bottom:8px;line-height:1.4}
.audience-list p{font-size:.83rem;line-height:1.6;margin:0}
.sector-line{display:flex;align-items:baseline;gap:25px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.sector-line>span{flex-shrink:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--jade)}
.sector-line p{font-size:.78rem;margin:0}.sector-line b{font-weight:400;padding:0 7px;color:#8a9c91}
.solutions-editorial{background:var(--paper);padding:80px 0}
.solutions-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:75px;align-items:stretch}
.solutions-visual{position:relative;border-radius:8px;overflow:hidden;min-height:600px;background:var(--navy)}
.solutions-visual>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:48% center}
.solutions-visual::after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0d1e2dec)}
.photo-caption{position:absolute;bottom:30px;left:30px;right:30px;z-index:1;color:white}
.photo-caption>span{font-family:'Source Serif 4',Georgia,serif;font-size:2rem}
.photo-caption p{color:#e0e8e5;font-size:.8rem;margin:8px 0 0}
.solutions-content h2{font-size:clamp(2.4rem,3.5vw,3.4rem);margin-bottom:28px}
.solution-choices details{border-top:1px solid #cfd8d0}
.solution-choices details:last-child{border-bottom:1px solid #cfd8d0}
.solution-choices summary{display:flex;align-items:center;gap:16px;list-style:none;padding:18px 0;font-size:.96rem;line-height:1.4}
.solution-choices summary::-webkit-details-marker{display:none}
.choice-number{font-size:.7rem;color:var(--jade)}
.choice-toggle{margin-left:auto;flex-shrink:0;font-size:1.3rem;color:var(--jade)}
.choice-toggle::before{content:'+'}.solution-choices [open] .choice-toggle::before{content:'−'}
.solution-choices [open] summary{color:var(--jade)}
.choice-content{padding:0 25px 24px 32px}.choice-content p{font-size:.875rem;margin-bottom:14px}
.choice-content .text-link{font-size:.8rem}
.engagement-editorial{padding:80px 0}
.engagement-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:0 70px;margin-bottom:40px;align-items:end}
.engagement-heading .eyebrow{grid-column:1/-1}
.engagement-heading h2{font-size:clamp(2.3rem,3.2vw,3.2rem);margin:0}
.engagement-heading>p{margin:0;max-width:380px}
.engagement-rows article{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:38px;padding:28px 0;border-top:1px solid var(--line)}
.engagement-rows article:last-child{border-bottom:1px solid var(--line)}
.engagement-name{display:flex;gap:18px}.engagement-name>span{font-size:.75rem;color:var(--jade);padding-top:4px}
.engagement-name h3{font-size:1.2rem;max-width:220px;margin:0}
.engagement-rows article>p{font-size:.9rem;margin:0}
.engagement-scope>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--jade)}
.engagement-scope p{font-size:.8rem;margin:8px 0 12px}.engagement-scope a{font-size:.8rem}
.process-editorial{background:#e8efea;padding:75px 0}
.process-layout{display:grid;grid-template-columns:1fr 1fr;gap:95px}
.process-story h2{font-size:clamp(2.3rem,3.1vw,3rem)}
.process-story em{color:var(--jade);font-weight:400}
.process-story p{font-size:.9rem;max-width:430px}
.process-story img{height:230px;object-fit:cover;border-radius:6px;margin-top:30px}
.process-steps{list-style:none;margin:0;padding:0}
.process-steps li{position:relative;display:grid;grid-template-columns:42px 1fr;gap:20px;padding:0 0 23px}
.process-steps li:not(:last-child)::before{content:'';position:absolute;left:19px;top:40px;bottom:0;width:1px;background:#b9ccbf}
.process-steps li>span{width:40px;height:40px;border:1px solid #9fb9ac;border-radius:50%;display:grid;place-items:center;font-size:.75rem;color:var(--jade)}
.process-steps h3{font-size:1.15rem;margin:6px 0 9px}.process-steps p{font-size:.875rem;margin:0}
.why-editorial{padding:80px 0;background:var(--navy);color:white}
.why-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:85px}
.why-statement .eyebrow{color:#8dcdbb}.why-statement h2{font-size:clamp(2.5rem,3.5vw,3.5rem)}
.why-statement em{color:#a5d6c7;font-weight:400}.why-statement a{color:#a5d6c7;font-size:.85rem}
.why-reasons{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.why-reasons article{border-top:1px solid #3b5660;padding-top:17px}
.why-reasons h3{font-size:1rem;margin-bottom:9px}.why-reasons p{color:#b9cbd1;font-size:.85rem;margin:0}
@media(max-width:1050px){.audience-layout{gap:30px}.solutions-layout{gap:35px}.process-layout,.why-layout{gap:45px}.engagement-rows article{gap:25px}.journey-stage{padding-right:20px}.journey-marker::before{right:-20px}.solutions-visual{min-height:610px}}
@media(max-width:720px){
.journey-section,.solutions-editorial,.engagement-editorial,.process-editorial,.why-editorial{padding:50px 0}
.journey-heading{display:block;margin-bottom:30px}.journey-heading>p{margin-top:24px}
.journey-track{grid-template-columns:1fr 1fr;gap:32px 24px}.journey-stage{padding-right:0}.journey-stage h3{font-size:2rem}.journey-stage h4{min-height:0;font-size:.875rem}.journey-marker::before{right:0}.journey-stage p{font-size:.83rem}.journey-marker{margin-bottom:18px}
.audience-editorial{padding:45px 0 30px}.audience-layout{grid-template-columns:1fr;gap:20px}.audience-title h2{font-size:2.1rem}.audience-title p{max-width:none}.audience-list{gap:0 20px}.audience-list article{gap:8px;padding:16px 0}.audience-list h3{font-size:.95rem}.audience-list p{font-size:.8rem}.sector-line{display:block}.sector-line p{margin-top:12px;line-height:1.9}
.solutions-layout,.process-layout,.why-layout{grid-template-columns:1fr;gap:35px}.solutions-visual{min-height:0;height:300px}.solutions-visual>img{object-position:center 38%}.photo-caption{left:22px;bottom:20px}.photo-caption>span{font-size:1.7rem}.solutions-content h2{font-size:2.5rem}.solution-choices summary{font-size:.9rem}
.engagement-heading{display:block}.engagement-heading h2{font-size:2.3rem}.engagement-heading>p{margin-top:20px}.engagement-rows article{grid-template-columns:1fr;gap:16px}.engagement-name h3{max-width:none}.engagement-rows article>p,.engagement-scope{padding-left:35px}.engagement-scope p{max-width:400px}
.process-story img{height:210px}.process-steps{margin-top:5px}.why-reasons{gap:25px 20px}.why-statement h2{font-size:2.5rem}
}
@media(max-width:390px){.audience-list{grid-template-columns:1fr}.journey-track{gap:26px 18px}}

/* Progressive enhancement: content remains visible when JavaScript is unavailable. */
.scroll-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
.scroll-reveal.is-revealed{opacity:1;transform:none}
.solution-choices summary,.faq summary{transition:color .2s ease}
.solution-choices summary:hover,.faq summary:hover{color:var(--jade)}
.solution-choices[open] .choice-content{animation:choice-appear .3s ease}
.solution-choices details[open] .choice-content{animation:choice-appear .3s ease}
.journey-stage .text-link{transition:color .2s,border-color .2s}
.journey-stage .text-link:hover{color:white;border-color:white}
@keyframes choice-appear{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1;transform:none;transition:none}.solution-choices details[open] .choice-content{animation:none}}
/* A short introduction to the specialist division; full detail lives on About. */
.network-compact{padding:40px 0}
.biotech-strip{display:flex;align-items:center;justify-content:space-between;gap:45px}
.biotech-strip .eyebrow{margin-bottom:12px}
.biotech-strip h2{font-size:clamp(1.8rem,2.5vw,2.4rem);margin-bottom:12px}
.biotech-strip p{max-width:720px;font-size:.9rem;margin:0}
.biotech-strip>.text-link{flex-shrink:0;font-size:.85rem}
@media(max-width:720px){.biotech-strip{display:block}.biotech-strip>.text-link{margin-top:22px}}

/* Keep the photograph independent of the accordion's changing content. */
.solutions-visual{height:640px;min-height:0;align-self:start}
.solutions-editorial,.solution-choices{overflow-anchor:none}
.solution-choices details[open] .choice-content{animation:none}
@media(max-width:1050px) and (min-width:721px){.solutions-visual{height:610px;min-height:0}}
@media(max-width:720px){.solutions-visual{height:300px;min-height:0}}

/* Full-width photographic introductions for commercial pages. */
.page-hero.photo-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:#fff;padding:44px 0 64px;min-height:480px;display:flex;align-items:center}
.photo-hero .page-hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;z-index:-2}
.photo-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,23,35,.94) 0%,rgba(7,23,35,.83) 40%,rgba(7,23,35,.52) 73%,rgba(7,23,35,.34) 100%);z-index:-1}
.photo-hero>.wrap{width:100%}
.photo-hero .breadcrumb{color:#d2dfdf;margin-bottom:32px}
.photo-hero .breadcrumb a:hover{text-decoration:underline}
.photo-hero .eyebrow{color:#b1e4d2;margin-bottom:20px}
.photo-hero h1{max-width:850px;font-size:clamp(2.7rem,4.2vw,4.3rem);line-height:1.1;text-wrap:balance}
.photo-hero p{max-width:720px;color:#edf2f1;font-size:1rem;line-height:1.7}
.photo-hero .btn{background:var(--mint);border-color:var(--mint);color:var(--navy)}
.photo-hero .btn:hover{background:#e2f1eb;border-color:#e2f1eb}
@media(max-width:720px){.page-hero.photo-hero{min-height:0;padding:30px 0 45px}.photo-hero::before{background:linear-gradient(90deg,rgba(7,23,35,.9),rgba(7,23,35,.72))}.photo-hero .page-hero-background{object-position:60% center}.photo-hero .breadcrumb{margin-bottom:26px}.photo-hero h1{font-size:2.65rem}.photo-hero p{font-size:.95rem}}

/* About: an editorial story, a mission statement, and complementary expertise. */
.about-intro{padding:75px 0}.about-intro-layout{display:grid;grid-template-columns:.9fr 1.2fr;align-items:center;gap:65px}
.about-intro h2{font-size:clamp(2.4rem,3.5vw,3.5rem)}.about-intro p{font-size:.95rem}.about-intro figure{margin:0}.about-intro figure img{width:100%;height:390px;object-fit:cover;border-radius:7px;object-position:center}.about-intro figcaption{font-size:.75rem;color:var(--muted);margin-top:12px}
.about-mission{background:var(--navy);color:white;padding:60px 0}.mission-top{display:flex;justify-content:space-between;gap:20px}.about-mission .eyebrow{color:#a5d6c7}.mission-location{font-size:.75rem;color:#b9ccd0}.about-mission h2{font-size:clamp(2.6rem,4.5vw,4.5rem);max-width:1000px;margin:12px 0 35px;line-height:1.1}.about-mission h2 em{color:#a5d6c7;font-weight:400}.mission-bottom{display:flex;justify-content:space-between;align-items:end;gap:60px;border-top:1px solid #3a535e;padding-top:25px}.mission-bottom p{color:#c3d3d7;font-size:.9rem;max-width:530px;margin:0}.mission-bottom>div{display:flex;gap:25px;font-size:.75rem;flex-wrap:wrap;color:#a5d6c7}
.about-network{padding:75px 0}.about-network .section-head h2{font-size:clamp(2.3rem,3.2vw,3.2rem)}.network-feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:0;background:var(--paper);border-radius:8px;overflow:hidden}.network-image{position:relative;min-height:480px}.network-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:48% center}.network-descriptions{padding:38px 42px}.network-descriptions article+article{margin-top:30px;padding-top:30px;border-top:1px solid #c9d6cd}.network-descriptions .eyebrow{margin-bottom:12px}.network-descriptions h3{font-family:'Source Serif 4',Georgia,serif;font-size:2rem;margin-bottom:15px}.network-descriptions p{font-size:.9rem;margin-bottom:18px}.network-descriptions .text-link{font-size:.85rem}.about-specialists{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;padding-top:32px;margin-top:32px;border-top:1px solid var(--line)}.about-specialists h3{font-size:1.3rem}.about-specialists p{font-size:.9rem;margin-bottom:15px}.about-specialists ul{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:0;color:var(--jade);font-size:.8rem}
.about-values{background:#cde7df;padding:60px 0}.about-values-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}.about-values h2{font-size:clamp(2.3rem,3.7vw,3.5rem)}.about-values h2 em{font-weight:400;color:var(--jade)}.values-list{display:grid;grid-template-columns:1fr 1fr;gap:32px}.values-list article{display:flex;gap:15px;border-top:1px solid #9bbeb0;padding-top:20px}.values-list article>span{font-size:.7rem;color:var(--jade);padding-top:4px}.values-list h3{font-size:1.1rem;margin-bottom:12px}.values-list p{color:#3d5b53;font-size:.875rem;margin:0}
@media(max-width:1050px){.about-intro-layout,.about-values-layout{gap:35px}.network-descriptions{padding:30px}.about-intro figure img{height:370px}}
@media(max-width:720px){.about-intro,.about-network{padding:50px 0}.about-intro-layout,.network-feature,.about-specialists,.about-values-layout{grid-template-columns:1fr;gap:28px}.about-intro figure img{height:auto;aspect-ratio:3/2}.about-mission,.about-values{padding:45px 0}.mission-top{display:block}.mission-location{display:none}.about-mission h2{font-size:2.6rem}.mission-bottom{display:block}.mission-bottom>div{margin-top:23px;gap:15px}.network-feature{gap:0}.network-image{min-height:0;height:300px}.network-image img{object-position:center 35%}.network-descriptions{padding:25px}.about-specialists{gap:10px}.values-list{gap:25px 20px}.values-list article{gap:10px}.about-values h2{font-size:2.5rem}}
@media(max-width:380px){.values-list{grid-template-columns:1fr}}

/* Contrast the About page's final invitation with its mint values section. */
.about-values + .section .cta{background:var(--navy);color:#fff}
.about-values + .section .cta .eyebrow{color:#a5d6c7}
.about-values + .section .cta p{color:#c3d3d7}
.about-values + .section .cta .btn{background:var(--mint);border-color:var(--mint);color:var(--navy)}
.about-values + .section .cta .btn:hover{background:#e2f1eb;border-color:#e2f1eb}

/* Show the entire Europe illustration without cropping its geography. */
.scene.europe-map{background:var(--navy);height:auto;min-height:0;aspect-ratio:3/2}
.scene.europe-map img{object-fit:contain;object-position:center}
.hero-mosaic>.scene img{object-position:center 20%}
.hero.hero-simple{padding:88px 0;min-height:min(740px,calc(100svh - 160px));display:flex;align-items:center}
.hero-simple-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;width:100%}
.hero-simple-copy{min-width:0}
.hero-simple-copy h1{font-size:clamp(3rem,4.6vw,4.8rem);margin-bottom:26px}
.hero-simple-copy p{max-width:490px;margin-bottom:0}
.hero-simple-layout>.scene{height:480px;min-height:0;margin:0}
.hero-simple-layout>.scene img{object-position:48% center}
.legal{overflow-wrap:anywhere;hyphens:auto}
.footer-bottom,.footer-bottom>div{flex-wrap:wrap;gap:18px}
.contact-aside a,.footer a{overflow-wrap:anywhere}
#contact-form .btn:disabled{opacity:.65;cursor:wait;transform:none}
@media(max-width:1050px){.hero-simple-layout{gap:32px}.hero-simple-layout>.scene{height:420px}}
@media(max-width:720px){.hero.hero-simple{padding:36px 0;min-height:0;display:block}.hero-simple-layout{grid-template-columns:1fr;gap:30px}.hero-simple-copy h1{font-size:3.2rem}.hero-simple-layout>.scene{height:auto;aspect-ratio:3/2}.hero-simple-copy .actions{margin-top:24px}}
