/* Shared brand geometry, decorative and excluded from interaction. */
body:not([data-page="home"]) .hero{isolation:isolate;overflow:clip}
body:not([data-page="home"]) .hero>.wrap{position:relative;z-index:1}
body:not([data-page="home"]) .hero::after{content:"";position:absolute;z-index:0;pointer-events:none;width:clamp(260px,38vw,560px);aspect-ratio:1;right:-55px;top:8%;background:url('../img/logo.svg') center/contain no-repeat;opacity:.065;transform:rotate(-11deg)}
body[data-page="how"] .hero::after{width:clamp(340px,43vw,650px);right:3%;top:9%;opacity:.12;transform:rotate(-9deg)}
body[data-page="how"] .hero-img{position:relative;z-index:1}
body[data-page="solutions"] .hero::after{width:380px;right:-100px;top:-100px;opacity:.06;transform:rotate(12deg)}
body[data-page="partners"] .hero::after{right:3%;top:7%;opacity:.085}
body[data-page="company"] .hero::after{right:-45px;top:-55px;opacity:.075;transform:rotate(10deg)}
body[data-page="contact"] .hero::after{width:260px;top:-60px;right:7%;opacity:.08}
body[data-page="demo"] .hero::after{width:320px;right:-70px;top:-65px;opacity:.055}


body:not([data-page="home"]) .cta-band{position:relative;isolation:isolate;overflow:hidden}
body:not([data-page="home"]) .cta-band::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:240px;aspect-ratio:1;right:22%;top:-80px;background:url('../img/logo.svg') center/contain no-repeat;opacity:.18;transform:rotate(-14deg)}
body[data-page="configure"]>section:first-of-type{isolation:isolate;overflow:clip}
body[data-page="configure"]>section:first-of-type::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:170px;aspect-ratio:1;right:4%;top:-34px;opacity:.045;background:url('../img/logo.svg') center/contain no-repeat;transform:rotate(-9deg)}
@media(max-width:800px){body:not([data-page="home"]) .hero::after{width:260px;right:-90px;top:-65px;opacity:.045}body[data-page="how"] .hero::after{width:360px;right:-70px;top:auto;bottom:50px;opacity:.09}body:not([data-page="home"]) .cta-band::after{right:-60px;opacity:.12}}
@media(prefers-contrast:more){body:not([data-page="home"]) .hero::after,body:not([data-page="home"]) .cta-band::after{opacity:.025}}

/* Business models are parallel choices, with semantic icons instead of numbering. */
#models{scroll-margin-top:80px}.model-options h3{font-size:20px}.model-options .model-icon{width:36px;height:36px;border-radius:10px;background:var(--accent-soft);color:var(--accent);margin-bottom:6px}.model-options .model-icon svg{width:21px;height:21px;stroke-width:1.8}

/* Anonymous application examples, with an editorial customer-story treatment. */
#references{scroll-margin-top:80px}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.reference-card{display:flex;flex-direction:column;align-items:flex-start;padding:30px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.16);border-radius:18px;color:#c4d1e5}.reference-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(151,180,255,.12);color:#b5cbff;margin-bottom:22px}.reference-icon svg{width:24px;height:24px;stroke-width:1.6}.reference-topic{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#a4bce8;font-weight:600;margin-bottom:10px}.reference-card h3{font-size:23px;color:#fff;line-height:1.25;margin-bottom:16px}.reference-card>p{font-size:16px;line-height:1.65;margin-bottom:28px}.reference-source{display:flex;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.13);padding-top:20px;margin-top:auto;width:100%}.reference-source b{display:block;font-size:13px;font-weight:600;color:#f3f6ff;line-height:1.4}.reference-source div>span{display:block;font-size:12px;color:#9eb2d0;margin-top:5px}.reference-avatar{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid rgba(255,255,255,.16);border-radius:50%;color:#b5c7e4}.reference-avatar svg{width:17px;height:17px}.reference-section .lead{color:#b7c6dd}
@media(max-width:900px){.reference-grid{grid-template-columns:1fr}.reference-card{padding:26px}.reference-card>p{margin-bottom:22px}}

/* Align onboarding content to the form's inner heading baseline. */
.partner-onboarding{align-items:start}.partner-onboarding>.vtimeline{margin:0;padding-top:26px}.partner-onboarding .vtimeline li::before{top:0}.partner-onboarding .vtimeline h3{padding-top:0;min-height:52px;display:flex;align-items:center}.partner-onboarding .vtimeline li{gap:4px}.partner-onboarding .vtimeline li p{margin-top:-6px}.partner-onboarding #become{margin:0;scroll-margin-top:90px}.partner-onboarding #become>h3{min-height:52px;display:flex;align-items:center}
@media(max-width:1000px){.partner-onboarding>.vtimeline{padding-top:0}}

/* Three balanced facts: research, development and practical use. */
#innovation{scroll-margin-top:80px}.innovation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.innovation-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;padding:30px;border:1px solid #ffffff24;border-radius:18px;background:linear-gradient(140deg,#ffffff12,#ffffff06);transition:background .2s,border-color .2s}.innovation-card:hover{background-color:#ffffff05;border-color:#ffffff42}.innovation-card::after{content:"";position:absolute;z-index:-1;right:-30px;top:-30px;width:140px;aspect-ratio:1;background:url('../img/logo.svg') center/contain no-repeat;opacity:.09;transform:rotate(12deg);pointer-events:none}.innovation-top{display:flex;align-items:center;gap:14px;margin-bottom:24px}.innovation-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:13px;background:#9fbaff18;color:#b7ccff;border:1px solid #bbceff1c}.innovation-icon svg{width:27px;height:27px;stroke-width:1.6}.innovation-category{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#b3c6e8;font-weight:600}.innovation-card h3{font-size:24px;line-height:1.25;color:#fff;margin-bottom:16px}.innovation-card p{color:#bfcee3;line-height:1.65;font-size:16px;margin-bottom:26px}.innovation-detail{margin-top:auto;padding-top:20px;border-top:1px solid #ffffff1c;width:100%;display:flex;align-items:center;gap:9px;font-size:13px;color:#c8d8f6;text-decoration:none}.innovation-detail svg{width:18px;height:18px;flex:none}a.innovation-detail:hover{color:#fff}
@media(max-width:900px){.innovation-grid{grid-template-columns:1fr}.innovation-card{padding:26px}.innovation-top{margin-bottom:20px}}

/* Video call design; provider booking link is deliberately not configured yet. */
#video-call{scroll-margin-top:80px}.video-call-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.video-call-grid>.video-call-intro{margin:0;text-align:left;justify-items:start}.video-call-grid>.video-call-intro .eyebrow{justify-self:start}.video-call-grid>.video-call-intro .lead{margin:0}.call-features{list-style:none;padding:0;margin:15px 0 0;display:grid;gap:16px;color:var(--muted);font-size:15px}.call-features li{display:flex;align-items:center;gap:12px}.call-features svg{width:21px;height:21px;color:#2d46bc;flex:none}.call-schedule-card{background:white;border:1px solid #dbe4ef;border-radius:22px;box-shadow:0 22px 60px #224a7010;overflow:hidden;position:relative}.call-schedule-header{display:flex;align-items:center;gap:14px;padding:26px 30px;border-bottom:1px solid #e7edf4}.call-video-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#edf1fc;color:#2d46bc}.call-video-icon svg{width:25px;height:25px}.call-small-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#738197}.call-schedule-header h3{margin-top:5px;font-size:22px}.call-duration{margin-left:auto;padding:5px 10px;border:1px solid #e1e8f2;border-radius:20px;font-size:12px;color:#617088}.call-schedule-body{padding:26px 30px}.call-weekdays{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0 22px}.call-weekdays span{text-align:center;font-size:12px;font-weight:600;color:#50627a;padding:9px 0;border-radius:7px;background:#f2f5fa}.call-times{display:grid;grid-template-columns:1fr 1fr;gap:14px}.call-times>div{display:grid;grid-template-columns:24px 1fr;column-gap:12px;row-gap:5px;padding:18px;border:1px solid #dce4f4;border-radius:12px;background:linear-gradient(135deg,#f6f8fe,#fff)}.call-times svg{width:21px;height:21px;color:#7b8bc4;align-self:center}.call-times strong{font-size:28px;color:#2d46bc;letter-spacing:-.03em;line-height:1.2}.call-times span{grid-column:2;color:#79879a;font-size:12px}.call-timezone{display:flex;align-items:center;gap:7px;color:#7b889b;font-size:12px;margin-top:17px}.call-timezone svg{width:15px;height:15px}.call-schedule-footer{padding:22px 30px;background:#f8fafc;border-top:1px solid #e7edf4}.call-schedule-footer p{font-size:13px;color:#69798e;line-height:1.5;margin-bottom:14px}.call-schedule-footer .btn{width:100%;justify-content:center}.call-schedule-footer .btn svg{width:17px;height:17px}
@media(max-width:900px){.video-call-grid{grid-template-columns:1fr;gap:35px}.call-schedule-card{max-width:600px;width:100%}.call-schedule-header,.call-schedule-body,.call-schedule-footer{padding:22px}.call-times>div{padding:14px;column-gap:8px}.call-times strong{font-size:25px}}

/* Contact details are revealed on demand, preserving keyboard and screen-reader access. */
.contact-reveal{display:block;background:none;border:0;padding:0;margin:0 0 8px;text-align:left;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px}.site-footer .contact-reveal{color:#c0c9df;font-size:14px}.contact-reveal:hover{color:#fff}.contact-reveal-tile{font:inherit;text-align:left;cursor:pointer;color:var(--fg);width:100%;text-decoration:none}.contact-reveal-tile b{overflow-wrap:anywhere}.contact-message-layout{align-items:start}.contact-message-layout>.form{margin:0}.contact-message-layout>.grid{padding-top:0}.company-details{margin:8px 0 0;display:grid;gap:12px}.company-details>div{display:grid;grid-template-columns:1fr 1fr;gap:16px}.company-details dt{color:var(--muted);font-size:14px}.company-details dd{margin:0;font-size:14px;font-weight:600;overflow-wrap:anywhere}#message{scroll-margin-top:80px}
/* Shared country and national phone fields across all inquiry forms. */
.phone-field{display:flex;align-items:stretch;min-width:0;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.phone-prefix{display:flex;align-items:center;justify-content:center;flex:none;min-width:65px;padding:0 12px;border-right:1px solid var(--line);background:#f2f5fb;color:var(--fg);font-size:14px;font-weight:600}.phone-prefix[hidden]{display:none}.form .phone-field input{border:0;border-radius:0;min-width:0;box-shadow:none}.phone-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 18%,transparent)}.form .phone-field input:focus{box-shadow:none}.form .phone-field input:disabled{background:#f9fafc;color:var(--muted)}

/* One shared heading signature: red square, blue uppercase label, no pill. */
body[data-page] .eyebrow{display:inline-flex;align-items:center;gap:10px;padding:0;border-radius:0;background:transparent;color:#2d46bc;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.08em;text-transform:uppercase}
body[data-page] .eyebrow::before{content:"";display:block;width:8px;height:8px;flex:0 0 8px;background:#d74743;border:0;border-radius:0;transform:none}
body[data-page] .dark .eyebrow{color:#bed0ff}
body:not([data-page="home"]) h1::after{content:"";display:inline-block;width:.16em;height:.16em;margin-left:.14em;background:#d74743;vertical-align:baseline}

/* Selective semantic emphasis, with light blue only where dark backgrounds need contrast. */
.heading-accent{color:#2d46bc}.dark .heading-accent,.cta-band .heading-accent{color:#bcd0ff}
/* Official full-colour EU funding mark, unaltered, on a white holding panel. */
body[data-page] .eu-badge{background:#fff;border:1px solid #e1e7ee;padding:12px 16px;border-radius:10px;max-width:100%}body[data-page] .eu-badge img{width:240px;max-width:100%;height:auto;object-fit:contain;filter:none}.eu-note .eu-badge{flex:0 1 250px}.site-footer .eu>img{width:220px;max-width:100%;height:auto;flex-shrink:0}
@media(max-width:600px){body[data-page] .eu-badge img{width:220px}.eu-note .eu-badge{flex-basis:auto}.site-footer .eu>img{width:200px}}
