:root {
  --navy: #0B1F3A;
  --navy-2: #102A4C;
  --blue: #0047B3;
  --blue-2: #0A56CF;
  --white: #FFFFFF;
  --soft: #F7F9FC;
  --slate: #5B6675;
  --text: #12213A;
  --line: #DDE4ED;
  --green: #247849;
  --amber: #C58A00;
  --radius: 18px;
  --shadow: 0 18px 50px rgba(11,31,58,.08);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: Arial,Helvetica,sans-serif;
  color: var(--text);
  background: #fff;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

a {
  color: inherit;
  text-decoration: none;
}

button,input {
  font: inherit;
}

img {
  max-width: 100%;
}

.shell {
  width: min(1180px,calc(100% - 48px));
  margin: 0 auto;
}

.narrow {
  width: min(860px,calc(100% - 48px));
  margin: 0 auto;
  text-align: center;
}

.left-narrow {
  text-align: left;
  margin-left: max(24px,calc((100vw - 1180px)/2));
}

.section {
  padding: 104px 0;
}

.section-soft {
  background: var(--soft);
}

.section-navy {
  background: var(--navy);
  color: #fff;
}

.eyebrow {
  margin: 0 0 18px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  color: var(--blue);
  text-transform: uppercase;
}

.eyebrow-light {
  color: #8FB6FF;
}

h1,h2,h3,p {
  margin-top: 0;
}

h1 {
  font-size: clamp(46px,6vw,78px);
  line-height: 1.02;
  letter-spacing: -.046em;
  margin-bottom: 28px;
  color: var(--navy);
  max-width: 900px;
}

h1 span {
  color: var(--blue);
}

h2 {
  font-size: clamp(34px,4vw,54px);
  line-height: 1.08;
  letter-spacing: -.035em;
  margin-bottom: 24px;
  color: var(--navy);
}

.section-navy h2 {
  color: #fff;
}

h3 {
  font-size: 20px;
  line-height: 1.25;
  margin-bottom: 10px;
}

p {
  font-size: 17px;
  color: var(--slate);
}

.section-navy p {
  color: #C7D2E3;
}

.section-intro {
  font-size: 20px;
  line-height: 1.6;
  margin: 0 auto;
  max-width: 820px;
}

.section-intro.compact {
  font-size: 18px;
  margin: 0;
  max-width: 680px;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(221,228,237,.75);
}

.nav-wrap {
  height: 78px;
  display: grid;
  grid-template-columns: 220px 1fr auto;
  align-items: center;
  gap: 26px;
}

.brand img {
  display: block;
  width: 188px;
  height: auto;
}

.nav {
  display: flex;
  justify-content: flex-end;
  gap: 27px;
  align-items: center;
}

.nav a {
  font-size: 14px;
  font-weight: 700;
  color: #33445C;
  white-space: nowrap;
}

.nav a:hover {
  color: var(--blue);
}

.mobile-menu-toggle {
  display: none;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 14px 21px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: .2s ease;
  background: none;
}

.button:hover {
  transform: translateY(-1px);
}

.button-small {
  padding: 10px 16px;
}

.button-primary {
  background: var(--blue);
  color: #fff;
  box-shadow: 0 9px 24px rgba(0,71,179,.18);
}

.button-primary:hover {
  background: var(--blue-2);
}

.button-secondary {
  border-color: #C9D3E0;
  background: #fff;
  color: var(--navy);
}

.button-secondary:hover {
  border-color: #95A6BC;
}

.button-outline {
  border-color: #C9D3E0;
  color: var(--navy);
  background: #fff;
}

.button-white {
  background: #fff;
  color: var(--navy);
}

.button-full {
  width: 100%;
}

.text-link {
  border: 0;
  background: transparent;
  color: var(--blue);
  padding: 0;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.text-link-light {
  color: #AFCBFF;
}

.hero {
  padding: 102px 0 88px;
  overflow: hidden;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.16fr .84fr;
  gap: 70px;
  align-items: center;
}

.hero-lead {
  font-size: 21px;
  line-height: 1.58;
  max-width: 760px;
  margin-bottom: 31px;
}

.hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 31px;
}

.availability-row {
  display: flex;
  gap: 26px;
  flex-wrap: wrap;
  font-size: 13px;
  color: #526176;
}

.availability-row strong {
  color: var(--navy);
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 8px;
}

.status-blue {
  background: var(--blue);
}

.status-amber {
  background: var(--amber);
}

.official-funding {
  background: #fff;
  border-top: 1px solid var(--line);
  padding: 68px 0;
}

.official-funding-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 26px;
  background: #fff;
}

.official-funding-copy {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 26px;
}

.official-funding-copy h2 {
  font-size: clamp(28px,3vw,38px);
  margin-bottom: 10px;
}

.official-funding-copy p {
  font-size: 15px;
  max-width: 750px;
  margin: 0 auto;
}

.official-funding-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
}

.official-funding-logo {
  display: grid;
  place-items: center;
  min-height: 68px;
  padding: 6px 12px;
}

.official-funding-logo img {
  display: block;
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

.official-funding-logo.eu img {
  max-height: 72px;
}

.official-funding-logo.samsik img,.official-funding-logo.dba img {
  max-height: 53px;
}

.official-funding-note {
  text-align: center;
  max-width: 750px;
  margin: 20px auto 0;
  font-size: 11px;
  color: var(--slate);
}

.continuity-hero {
  background: #FCFDFE;
  padding: 104px 0 100px;
}

.continuity-hero-grid {
  display: grid;
  grid-template-columns: 1.11fr .89fr;
  gap: 62px;
  align-items: center;
}

.continuity-hero h1 {
  font-size: clamp(45px,4.9vw,72px);
  max-width: 760px;
  line-height: 1.08;
}

.continuity-hero .hero-lead {
  max-width: 690px;
  font-size: 20px;
}

.hero-status {
  font-size: 12px;
  line-height: 1.5;
  color: #526176;
}

.continuity-visual {
  border: 1px solid #DBE4EF;
  background: #fff;
  border-radius: 24px;
  padding: 30px;
  box-shadow: 0 24px 64px rgba(11,31,58,.07);
}

.cv-primary {
  background: #F5F7FA;
  border: 1px solid #D9E3EE;
  border-radius: 15px;
  padding: 24px;
  text-align: center;
  color: #516075;
}

.cv-mini {
  display: block;
  font-size: 10px;
  letter-spacing: .14em;
  font-weight: 800;
  margin-bottom: 9px;
}

.cv-primary strong,.cv-anchor strong {
  display: block;
  font-size: 20px;
  line-height: 1.3;
  color: var(--navy);
}

.cv-primary small {
  display: block;
  font-size: 12px;
  margin-top: 10px;
}

.cv-separation {
  text-align: center;
  color: #55749B;
  font-size: 11px;
  font-weight: 700;
  padding: 24px 0;
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: center;
}

.cv-separation:before,.cv-separation:after {
  content: "";
  height: 1px;
  background: #BECFE3;
  flex: 1;
}

.cv-anchor {
  background: var(--navy);
  border-radius: 16px;
  padding: 26px 22px;
  color: #fff;
  text-align: center;
}

.cv-anchor .cv-mini {
  color: #8FB6FF;
}

.cv-anchor strong {
  color: #fff;
  font-size: 24px;
}

.cv-features {
  display: grid;
  gap: 8px;
  margin-top: 21px;
}

.cv-features span {
  font-size: 13px;
  border: 1px solid #355174;
  border-radius: 8px;
  padding: 9px;
  background: #163251;
}

.cv-note {
  text-align: center;
  font-size: 12px;
  color: #64748B;
  margin-top: 18px;
}

.continuity-heading {
  max-width: 810px;
  margin: 0 auto 38px;
  text-align: center;
}

.continuity-heading h2 {
  font-size: clamp(33px,4vw,48px);
}

.continuity-three {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}

.continuity-three article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 27px;
}

.c-number {
  font-size: 12px;
  font-weight: 700;
  color: var(--blue);
}

.continuity-three h3 {
  margin-top: 16px;
}

.continuity-three p {
  font-size: 15px;
  margin: 0;
}

.continuity-split {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 76px;
  align-items: start;
}

.quiet-body {
  margin: 19px 0 23px;
  font-size: 16px;
}

.continuity-capabilities,.continuity-assurance,.continuity-audience {
  border-top: 1px solid var(--line);
}

.continuity-capabilities>div {
  display: grid;
  grid-template-columns: 35px 1fr;
  gap: 13px;
  border-bottom: 1px solid var(--line);
  padding: 17px 0;
}

.continuity-capabilities>div>span {
  font-size: 12px;
  font-weight: 700;
  color: var(--blue);
}

.continuity-capabilities p {
  font-size: 14px;
  margin: 0;
}

.continuity-capabilities b {
  display: block;
  font-size: 16px;
  color: var(--navy);
  margin-bottom: 3px;
}

.continuity-steps {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 10px;
  margin-top: 42px;
}

.continuity-steps>div {
  border: 1px solid #30445F;
  border-radius: 13px;
  padding: 23px 16px;
  min-height: 191px;
}

.continuity-steps span {
  display: block;
  font-size: 12px;
  color: #A9C0DD;
  font-weight: 700;
  margin-bottom: 27px;
}

.continuity-steps b {
  display: block;
  font-size: 17px;
  margin-bottom: 8px;
}

.continuity-steps p {
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
}

.continuity-steps>.step-activate {
  border-color: #6BAA91;
  background: #173F3B;
}

.continuity-steps>.step-activate span {
  color: #B6E7D1;
}

.continuity-audience>div,.continuity-assurance>div {
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}

.continuity-audience b,.continuity-assurance b {
  display: block;
  color: var(--navy);
  font-size: 16px;
}

.continuity-audience span,.continuity-assurance span {
  display: block;
  color: var(--slate);
  font-size: 14px;
  margin-top: 4px;
}

.continuity-reg-note {
  border: 1px solid var(--line);
  padding: 25px;
  border-radius: 18px;
  background: #fff;
}

.continuity-reg-note strong {
  font-size: 17px;
  color: var(--navy);
}

.continuity-reg-note p {
  font-size: 15px;
  margin: 9px 0 15px;
}

.continuity-cta-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 42px;
  align-items: center;
}

.continuity-cta h2 {
  font-size: clamp(34px,3.7vw,49px);
  max-width: 730px;
}

.continuity-cta p {
  max-width: 760px;
  margin-bottom: 0;
}

.continuity-cta-actions {
  display: grid;
  justify-items: stretch;
  gap: 12px;
  min-width: 210px;
}

.continuity-about h2 {
  color: #fff;
}

.continuity-about p {
  color: #C7D2E3;
  font-size: 16px;
}

.continuity-about-detail {
  background: #122E50;
  border: 1px solid #2C4769;
  padding: 30px;
  border-radius: 18px;
}

.continuity-about-detail span {
  display: block;
  color: #AFCBFF;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
}

.continuity-about-detail strong {
  display: block;
  color: #fff;
  font-size: 24px;
  line-height: 1.3;
  margin: 17px 0;
}

.continuity-about-detail p {
  font-size: 13px;
}

.footer {
  background: #07182E;
  padding: 54px 0 27px;
  color: #fff;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 50px;
}

.footer-logo {
  width: 190px;
  filter: brightness(0) invert(1);
  margin-bottom: 16px;
}

.footer p,.footer a {
  color: #B7C6D9;
  font-size: 13px;
}

.footer h4 {
  font-size: 13px;
  margin: 0 0 14px;
  color: #fff;
}

.footer-links {
  display: grid;
  gap: 9px;
}

.footer-bottom {
  border-top: 1px solid #263B58;
  margin-top: 38px;
  padding-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 19px;
  color: #9DAEC1;
  font-size: 12px;
}

.footer-bottom a {
  color: #9DAEC1;
}

@media (max-width:1080px) {
.nav-wrap{grid-template-columns:1fr auto auto}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:18px 24px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.mobile-menu-toggle{display:inline-flex;border:0;background:none;font-weight:700;color:var(--navy)}.continuity-hero-grid,.continuity-split{grid-template-columns:1fr;gap:42px}.continuity-visual{max-width:650px;margin:0 auto;width:100%}.continuity-steps{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:680px) {
.shell,.narrow{width:calc(100% - 32px)}.nav-wrap{height:68px}.nav{top:68px}.brand img{width:155px}.site-header .button-small{padding:9px 12px;font-size:12px}.section{padding:76px 0}.continuity-hero{padding:66px 0 70px}.continuity-hero h1{font-size:42px}.hero-lead{font-size:18px!important}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.continuity-visual{padding:18px}.continuity-three,.continuity-steps{grid-template-columns:1fr}.continuity-steps>div{min-height:0}.continuity-steps span{margin-bottom:14px}.continuity-cta-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{gap:12px}.official-funding-logos{gap:12px}
}

/* v23: Recovery coordination illustration — selectable, resolution-independent text */

.continuity-hero h1 {
  font-size: clamp(43px,4.4vw,68px);
  line-height: 1.105;
  letter-spacing: -.043em;
}

.continuity-hero-grid {
  grid-template-columns: minmax(0,1.03fr) minmax(0,.97fr);
  gap: 54px;
}

.continuity-visual {
  padding: 26px 28px 27px;
  box-shadow: 0 22px 65px rgba(11,31,58,.055);
}

.rv-system {
  border: 1px solid #D8E0EA;
  border-radius: 12px;
  background: #F5F7FA;
  padding: 15px 20px;
  text-align: center;
}

.rv-system>span,.rv-platform>span {
  display: block;
  font-size: 10px;
  letter-spacing: .12em;
  font-weight: 800;
  color: #62748A;
}

.rv-system strong {
  display: block;
  font-size: 15px;
  color: #314761;
  margin-top: 3px;
}

.rv-bridge {
  padding: 16px 0;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #54739B;
  font-size: 10px;
  font-weight: 700;
  text-align: center;
  line-height: 1.35;
}

.rv-bridge:before,.rv-bridge:after {
  content: "";
  height: 1px;
  background: #C7D8E9;
  flex: 1;
}

.rv-platform {
  background: #0B1F3A;
  color: white;
  padding: 22px 19px 19px;
  border-radius: 16px;
  text-align: center;
}

.rv-platform>span {
  color: #A6C8FF;
  font-size: 10px;
}

.rv-platform>strong {
  display: block;
  color: #fff;
  font-size: 21px;
  line-height: 1.22;
  letter-spacing: -.015em;
  margin: 12px auto 16px;
  max-width: 27ch;
}

.rv-needs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.rv-needs div {
  border: 1px solid #3B5877;
  background: #143251;
  color: #EAF1FF;
  border-radius: 8px;
  padding: 10px 7px;
  font-size: 11px;
  line-height: 1.3;
}

.rv-outcome {
  text-align: center;
  padding-top: 17px;
}

.rv-line {
  display: block;
  width: 1px;
  height: 17px;
  background: #7099CB;
  margin: 0 auto 8px;
  position: relative;
}

.rv-line:after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -3px;
  height: 6px;
  width: 6px;
  border-right: 1px solid #7099CB;
  border-bottom: 1px solid #7099CB;
  transform: rotate(45deg);
}

.rv-outcome b {
  display: block;
  color: #0B1F3A;
  font-size: 15px;
}

.rv-outcome small {
  display: block;
  color: #65748A;
  margin-top: 4px;
  font-size: 11px;
}

@media (max-width:1080px) {
.continuity-hero-grid{grid-template-columns:1fr;gap:42px}
}

@media (max-width:680px) {
.continuity-hero h1{font-size:clamp(40px,10.5vw,54px)}.continuity-visual{padding:19px}.rv-needs{grid-template-columns:1fr 1fr}.rv-needs div{font-size:10.5px}
}

/* v24 — calm command-centre concept, no logos or crowded process diagram */

.continuity-hero h1 {
  font-size: clamp(43px,4.4vw,64px);
  line-height: 1.12;
  letter-spacing: -.035em;
}

.continuity-hero .hero-lead {
  font-size: 19px;
  line-height: 1.6;
}

.continuity-visual {
  padding: 25px 26px;
  max-width: 570px;
}

.rv-system {
  border: 1px solid #D8E2EE;
  border-radius: 12px;
  padding: 17px 22px;
  background: #F5F7FA;
  text-align: center;
}

.rv-system span,.rv-anchor>span {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
  color: #6B7C90;
}

.rv-system strong {
  display: block;
  color: #43546C;
  font-size: 15px;
  margin-top: 5px;
}

.rv-separator {
  position: relative;
  margin: 19px 0;
  text-align: center;
  color: #54769D;
  font-size: 11px;
  letter-spacing: .01em;
}

.rv-anchor {
  background: #0B1F3A;
  color: #fff;
  padding: 27px 22px;
  border-radius: 16px;
  text-align: center;
}

.rv-anchor>span {
  color: #95BAEA;
}

.rv-anchor>strong {
  display: block;
  font-size: 23px;
  margin: 10px 0 19px;
  line-height: 1.3;
}

.rv-tools {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 8px;
}

.rv-tools div {
  border: 1px solid #395777;
  border-radius: 9px;
  padding: 12px 5px;
  font-size: 12px;
  color: #fff;
  background: #173455;
}

.rv-anchor p {
  font-size: 11px;
  color: #B9D0EC;
  margin: 18px 0 0;
  line-height: 1.5;
}

.rv-outcome {
  text-align: center;
  padding: 20px 0 0;
}

.rv-outcome strong,.rv-outcome span {
  display: block;
  font-size: 13px;
  line-height: 1.5;
}

.rv-outcome span {
  font-size: 11px;
  color: #607187;
}

.crisis-comms-heading {
  max-width: 835px;
  margin: 0 0 38px;
}

.crisis-comms-heading h2 {
  max-width: 800px;
}

.crisis-comms-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.crisis-comms-column {
  background: #fff;
  border: 1px solid #DDE4ED;
  border-radius: 18px;
  padding: 34px;
}

.crisis-comms-column h3 {
  font-size: 24px;
  margin: 11px 0;
}

.crisis-comms-column p {
  font-size: 15px;
  line-height: 1.65;
}

.comms-number {
  font-size: 11px;
  color: #0047B3;
  letter-spacing: .1em;
  font-weight: 800;
}

.comms-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 20px;
}

.comms-tags span {
  border: 1px solid #DDE4ED;
  background: #F7F9FC;
  padding: 6px 11px;
  border-radius: 99px;
  color: #304563;
  font-size: 12px;
  font-weight: 700;
}

.crisis-comms-note {
  font-size: 12px;
  margin: 22px 0 0;
  max-width: 920px;
  line-height: 1.7;
}

@media (max-width:780px) {
.crisis-comms-columns{grid-template-columns:1fr}.crisis-comms-column{padding:26px}.continuity-hero h1{font-size:clamp(42px,8vw,57px)}
}

@media (max-width:450px) {
.rv-anchor{padding:22px 13px}.rv-tools div{font-size:11px}.continuity-visual{padding:16px}.continuity-hero h1{font-size:42px}
}

/* v25 — EU-sovereign positioning and short-term essential operations */

.hero-sovereignty {
  margin: -5px 0 25px;
  color: #0047B3;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .01em;
}

.hero-sovereignty span {
  color: #849BB9;
  margin: 0 9px;
}

/* v26: incident management is the primary recovery team; existing three business columns remain unchanged */

.essential-operations-list .incident-operations-feature {
  grid-column: 1/-1;
  border-top: 2px solid #0047B3;
  background: #F5F8FC;
  border-radius: 12px;
  padding: 20px 22px;
  gap: 15px;
}

.essential-operations-list .incident-operations-feature p {
  max-width: 920px;
}

@media (max-width:760px) {
.essential-operations-list .incident-operations-feature{padding:17px 15px}
}

.essential-operations {
  background: #fff;
}

.essential-operations-heading {
  max-width: 820px;
  margin-bottom: 37px;
}

.essential-operations-heading h2 {
  font-size: clamp(34px,3.7vw,49px);
  line-height: 1.17;
}

.essential-operations-heading .section-intro {
  max-width: 780px;
}

.essential-operations-list {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 22px;
}

.essential-operations-list article {
  display: flex;
  gap: 15px;
  padding: 23px 6px 22px 0;
  border-top: 2px solid #CBD8E8;
}

.essential-operations-number {
  flex: 0 0 26px;
  font-size: 13px;
  font-weight: 800;
  color: #0047B3;
}

.essential-operations-list h3 {
  font-size: 20px;
  margin: 0 0 9px;
  letter-spacing: -.015em;
}

.essential-operations-list p {
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
  color: #5B6675;
}

.essential-operations-note {
  font-size: 12px;
  line-height: 1.65;
  color: #607084;
  max-width: 930px;
  margin: 25px 0 0;
}

@media (max-width:760px) {
.essential-operations-list{grid-template-columns:1fr;gap:12px}.essential-operations-list article{padding:17px 0}.hero-sovereignty{font-size:12px}
}

/* v28 — clear full EU ownership statement without altering layout */

.ownership-statement {
  color: var(--blue);
  font-size: 17px;
  font-weight: 800;
  margin: -12px 0 18px;
  letter-spacing: .005em;
}

/* v50.2.2: approved outcome-led hero and clean laptop images, original UI and logo unchanged */
.continuity-hero{padding:72px 0 78px;overflow:hidden}
.continuity-hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:22px;align-items:center}
.continuity-hero h1{font-size:clamp(41px,4.35vw,59px);line-height:1.075;letter-spacing:-.04em;margin-bottom:18px}
.continuity-hero h1 .hero-second-line{display:block;color:var(--navy);margin-top:.12em}
.hero-product-category{font-size:20px;font-weight:700;color:var(--navy);line-height:1.35;margin:0 0 17px}
.continuity-hero .hero-lead{font-size:17px;line-height:1.55;margin:0 0 13px;max-width:650px}
.continuity-hero .hero-detail{font-size:15px;line-height:1.62;max-width:650px;margin:0 0 16px;color:var(--slate)}
.continuity-hero .hero-detail strong{color:var(--navy)}
.hero-product-laptop{margin:0;min-width:0;align-self:center;position:relative}
.hero-product-laptop img{display:block;width:117%;max-width:none;height:auto;margin-left:-8%;}
.hero-product-laptop figcaption{margin:0 0 0 8%;font-size:11px;letter-spacing:.02em;color:#68798c}
@media(max-width:1080px){.continuity-hero-grid{grid-template-columns:1fr;gap:22px}.hero-product-laptop{max-width:740px;margin:auto}.hero-product-laptop img{width:100%;margin-left:0}.hero-product-laptop figcaption{margin:3px 0 0 11%}}
@media(max-width:680px){.continuity-hero{padding:50px 0 58px}.continuity-hero h1{font-size:clamp(36px,9.7vw,47px)}.hero-product-category{font-size:17px}.continuity-hero .hero-lead{font-size:16px!important}.continuity-hero .hero-detail{font-size:14px}.hero-product-laptop{width:100%}.hero-product-laptop img{width:calc(100% + 24px);margin-left:-12px}.hero-product-laptop figcaption{font-size:10px;margin-left:8%}}

/* v50.4 spacing correction: never allow hero headline to overlap laptop */
@media(min-width:1081px){.continuity-hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:34px}.continuity-hero h1{font-size:clamp(43px,3.75vw,54px)}.hero-product-laptop img{width:108%;margin-left:0}}
.continuity-hero-copy{min-width:0}


/* v50.2.4: larger product preview and simple accessible zoom */
.hero-laptop-open{display:block;width:100%;text-decoration:none;color:inherit;cursor:zoom-in;border-radius:12px;outline-offset:6px}
.hero-laptop-open img{transition:transform .2s ease,filter .2s ease;transform-origin:center}
@media (hover:hover) and (pointer:fine){.hero-laptop-open:hover img{transform:translateY(-2px) scale(1.012);filter:drop-shadow(0 7px 10px rgba(15,34,59,.09))}}
.hero-laptop-open:focus-visible{outline:3px solid #0047B3}
.hero-laptop-zoom-hint{display:inline-block;margin-left:10px;font-weight:700;color:#0047B3;white-space:nowrap}
@media(min-width:1081px){.hero-product-laptop img{width:127%;margin-left:-5%}}
@media(min-width:1081px) and (max-width:1290px){.hero-product-laptop img{width:112%;margin-left:-5%}}
@media(min-width:681px) and (max-width:1080px){.hero-product-laptop{max-width:800px}}
@media(max-width:680px){.hero-laptop-zoom-hint{margin-left:4px}}
@media(prefers-reduced-motion:reduce){.hero-laptop-open img{transition:none}}

/* v50.2.6: approved angled Readiness laptop, balanced hero & trust icons */
.continuity-hero{padding:54px 0 30px;background:linear-gradient(115deg,#ffffff 15%,#f8fbfe 78%,#ffffff 100%)}
.continuity-hero-grid{align-items:center;gap:35px}
.hero-product-laptop{width:100%;max-width:none;z-index:1}
.hero-laptop-open img,.hero-product-laptop img{width:135%;max-width:none;margin-left:-12%;height:auto;object-fit:contain}
.hero-product-laptop figcaption{margin-left:6%;margin-top:2px}
.continuity-hero-copy{position:relative;z-index:2}
.continuity-hero .hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.continuity-hero .hero-actions a{white-space:nowrap}
.hero-assurances{padding:16px 0 26px;background:#fff;border-bottom:1px solid #e9eff5}
.hero-assurances-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.assurance{display:flex;gap:12px;align-items:flex-start;min-width:0}
.assurance-icon{flex:0 0 33px;color:#145fcb}
.assurance-icon svg{width:31px;height:31px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.assurance>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.assurance strong{font-size:13px;color:#0b2348;line-height:1.3}
.assurance span:not(.assurance-icon){font-size:11px;line-height:1.4;color:#5b6a80}
@media(min-width:1081px){.continuity-hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:28px}.continuity-hero h1{font-size:clamp(42px,3.8vw,56px)}.hero-product-laptop img,.hero-laptop-open img{width:136%;margin-left:-13%}}
@media(min-width:1081px) and (max-width:1280px){.hero-product-laptop img,.hero-laptop-open img{width:122%;margin-left:-10%}.continuity-hero-grid{grid-template-columns:minmax(0,1.10fr) minmax(0,.90fr)}}
@media(max-width:1080px){.continuity-hero-grid{grid-template-columns:1fr}.hero-product-laptop{max-width:800px;margin:0 auto}.hero-product-laptop img,.hero-laptop-open img{width:100%;margin-left:0}.hero-assurances-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.continuity-hero{padding:42px 0 30px}.continuity-hero h1{font-size:clamp(36px,9.7vw,47px)}.hero-product-laptop img,.hero-laptop-open img{width:calc(100% + 20px);margin-left:-10px}.hero-assurances-inner{grid-template-columns:1fr 1fr;gap:18px 10px}.assurance{gap:7px}.assurance-icon{flex-basis:25px}.assurance-icon svg{width:23px;height:23px}.assurance strong{font-size:11px}.assurance span:not(.assurance-icon){font-size:10px}}
@media(max-width:380px){.hero-assurances-inner{grid-template-columns:1fr 1fr;gap:12px 8px}}

/* v50.2.6: funding recognition follows the hero without adding a second large hero. */
.hero-following-funding {
  padding: 34px 0 42px;
  border-top: 1px solid #e7edf4;
  border-bottom: 1px solid #e7edf4;
  background: #fff;
}
.hero-following-funding .official-funding-card {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.hero-following-funding .support-ecosystem-intro {
  margin-bottom: 20px;
  max-width: 890px;
}
.hero-following-funding .support-ecosystem-intro .eyebrow {
  margin-bottom: 7px;
}
.hero-following-funding .support-ecosystem-intro h2 {
  font-size: clamp(25px, 2.8vw, 36px);
  line-height: 1.17;
  margin-bottom: 10px;
}
.hero-following-funding .support-ecosystem-intro p:not(.eyebrow) {
  max-width: 760px;
  font-size: 15px;
  line-height: 1.5;
}
.hero-following-funding .official-funding-logos {
  gap: clamp(16px, 3vw, 38px);
  margin: 4px 0 0;
}
.hero-following-funding .official-funding-logo {
  padding: 4px 8px;
  min-height: 60px;
}
.hero-following-funding .official-funding-logo.eu img { max-height: 58px; }
.hero-following-funding .official-funding-logo.samsik img,
.hero-following-funding .official-funding-logo.dba img { max-height: 45px; }
.hero-following-funding .official-funding-note {
  margin: 12px auto 0;
  font-size: 11px;
}
@media (max-width: 680px) {
  .hero-following-funding { padding: 28px 0 33px; }
  .hero-following-funding .support-ecosystem-intro { margin-bottom: 14px; }
  .hero-following-funding .support-ecosystem-intro h2 { font-size: 25px; }
  .hero-following-funding .official-funding-logos { gap: 12px 17px; }
  .hero-following-funding .official-funding-logo { min-height: 49px; }
  .hero-following-funding .official-funding-logo.eu img { max-height: 53px; }
  .hero-following-funding .official-funding-logo.samsik img,
  .hero-following-funding .official-funding-logo.dba img { max-height: 42px; }
  .hero-following-funding .official-funding-note { font-size: 10px; }
}

/* v50.2.7: Final approved hero alignment. Refined, isolated laptop from approved visual. */
.continuity-hero { padding:58px 0 44px; background:linear-gradient(120deg,#fff 10%,#f9fbfe 79%,#fff 100%); }
.continuity-hero .shell { width:min(1450px,calc(100% - 82px)); }
.continuity-hero-grid { grid-template-columns:minmax(0,.97fr) minmax(0,1.03fr); gap:14px; align-items:center; }
.continuity-hero-copy { position:relative;z-index:2; }
.continuity-hero h1 { font-size:clamp(41px,4.2vw,68px);line-height:1.025;letter-spacing:-.048em;margin:19px 0 24px;color:#071f47; }
.continuity-hero h1 .hero-first-line { display:block; font-weight:800; color:#071f47; }
.continuity-hero h1 .hero-second-line { display:block; margin-top:.05em;font-weight:510;color:#0a2855; }
.continuity-hero .hero-product-category { font-size:clamp(19px,1.7vw,25px); line-height:1.35;font-weight:700;color:#0a254b;margin-bottom:20px; }
.continuity-hero .hero-lead { font-size:17px;line-height:1.55;margin-bottom:12px; }
.continuity-hero .hero-detail { font-size:15px;line-height:1.58;margin-bottom:18px; }
.continuity-hero .hero-actions { position:relative;z-index:3;gap:12px; }
.continuity-hero .hero-actions .button { font-size:14px; }
.continuity-hero .hero-status { opacity:.92; }
.hero-product-laptop { width:100%;min-width:0;max-width:none;z-index:1;position:relative;margin:0; }
.hero-laptop-open { display:block; cursor:zoom-in; }
.hero-laptop-open img,.hero-product-laptop img { width:123%;max-width:none;height:auto;margin-left:-8%;display:block;object-fit:contain;filter:none;transform-origin:center center;transition:transform .18s ease; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .hero-laptop-open:hover img { transform:scale(1.012); }
}
.hero-product-laptop figcaption { text-align:center;margin:0 0 0 2%;font-size:11px;color:#64758c; }
@media(max-width:1180px){
 .continuity-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
 .hero-laptop-open img,.hero-product-laptop img{width:115%;margin-left:-5%}
}
@media(max-width:1080px){
 .continuity-hero .shell{width:calc(100% - 42px)}
 .continuity-hero-grid{grid-template-columns:1fr;gap:20px}
 .hero-product-laptop{max-width:810px;margin:0 auto}
 .hero-laptop-open img,.hero-product-laptop img{width:100%;margin-left:0}
 .continuity-hero h1{font-size:clamp(41px,7vw,62px)}
}
@media(max-width:680px){
 .continuity-hero{padding:40px 0 27px}
 .continuity-hero .shell{width:calc(100% - 30px)}
 .continuity-hero-grid{gap:16px}
 .continuity-hero h1{font-size:clamp(35px,9.2vw,45px);margin:14px 0 19px}
 .continuity-hero .hero-lead{font-size:16px}
 .continuity-hero .hero-detail{font-size:14px}
 .hero-laptop-open img,.hero-product-laptop img{width:calc(100% + 16px);margin-left:-8px}
 .hero-product-laptop figcaption{margin-top:4px;font-size:10px}
}
@media (min-width:1081px) and (max-width:1530px) {
 .hero-laptop-open img,.hero-product-laptop img { width:108%;margin-left:-10%; }
}
@media (min-width:1531px) {
 .hero-laptop-open img,.hero-product-laptop img { width:133%;margin-left:-19%; }
}
@media (min-width:1081px) and (max-width:1530px) {
 .hero-laptop-open img,.hero-product-laptop img { width:120%;margin-left:-18%; }
}
@media (min-width:1081px) and (max-width:1280px) {
 .hero-laptop-open img,.hero-product-laptop img { width:103%;margin-left:-1%; }
}

/* v50.2.8: Keep the entire angled laptop and its soft ground shadow visible.
   Source image has genuine transparent backdrop rather than a hard cutout halo. */
@media (min-width: 1281px) {
 .continuity-hero .hero-laptop-open img,
 .continuity-hero .hero-product-laptop img { width:110%; max-width:none; margin-left:-5%; }
}
@media (min-width:1081px) and (max-width:1280px) {
 .continuity-hero .hero-laptop-open img,
 .continuity-hero .hero-product-laptop img { width:105%; max-width:none; margin-left:-3%; }
}
@media (max-width:1080px) {
 .continuity-hero .hero-laptop-open img,
 .continuity-hero .hero-product-laptop img { width:100%; max-width:100%; margin-left:0; }
}


/* v50.2.10: Clean hero laptop, native-resolution image. Desktop visual scale only.
   Does not change other content, navigation, forms or any non-hero styling. */
@media (min-width: 1281px) {
  .continuity-hero .hero-laptop-open img,
  .continuity-hero .hero-product-laptop img { width:129%; max-width:none; margin-left:-19%; }
}
@media (min-width:1081px) and (max-width:1280px) {
  .continuity-hero .hero-laptop-open img,
  .continuity-hero .hero-product-laptop img { width:120%; max-width:none; margin-left:-12%; }
}
@media (max-width:1080px) {
  .continuity-hero .hero-laptop-open img,
  .continuity-hero .hero-product-laptop img { width:100%; max-width:100%; margin-left:0; }
}
/* Gently blend the image's near-white studio backdrop into the existing hero background. */
.continuity-hero .hero-product-laptop img { mix-blend-mode:multiply; }

/* v50.2.11: standalone How it works page — matching the former homepage section. */
.page-how .continuity-heading h1 {color:#fff;max-width:950px;margin:0 auto 22px;font-size:clamp(33px,4vw,48px);line-height:1.12;letter-spacing:-.035em;}
.page-how .continuity-heading .section-intro {max-width:830px;}
.page-how .how-next-step {padding:68px 0 78px;background:#fff;}
.page-how .how-next-step-inner {max-width:840px;text-align:center;}
.page-how .how-next-step-inner p {font-size:18px;line-height:1.6;margin:0 auto 24px;max-width:680px;}
.page-how .how-next-step .hero-actions {display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
@media (max-width:680px) {.page-how .how-next-step {padding:56px 0;} .page-how .how-next-step .hero-actions {align-items:stretch;flex-direction:column;} .page-how .how-next-step .button {width:100%;} }


/* v50.2.13: Option A hero visual update.
   Use the transparent laptop cutout so the frame follows the laptop shape,
   keep the full shadow, and prevent the image from overlapping hero copy. */
.continuity-hero .hero-product-laptop img { mix-blend-mode:normal; }
@media (min-width: 1281px) {
  .continuity-hero .hero-laptop-open img,
  .continuity-hero .hero-product-laptop img { width:114%; max-width:none; margin-left:-7%; }
}
@media (min-width:1081px) and (max-width:1280px) {
  .continuity-hero .hero-laptop-open img,
  .continuity-hero .hero-product-laptop img { width:108%; max-width:none; margin-left:-3%; }
}
@media (max-width:1080px) {
  .continuity-hero .hero-laptop-open img,
  .continuity-hero .hero-product-laptop img { width:100%; max-width:100%; margin-left:0; }
}
