/* Clarified editorial system. Shared, scoped enhancements after existing styles. */
@font-face{font-family:Inter;src:url('fonts-20261008/clarified-sans.woff') format('woff');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'DM Serif Display';src:url('fonts-20261008/clarified-display.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
:root{--cp-ink:#071c22;--cp-teal:#0f5d63;--cp-gold:#d8bf84;--cp-paper:#f7f5ef;--cp-line:#d4dfde;--cp-radius:6px;--cp-space:clamp(40px,5vw,88px)}
html{scroll-padding-top:100px}body{font-feature-settings:"ss01";text-rendering:optimizeLegibility}a,button,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #a17325!important;outline-offset:4px!important}
main :is(h1,h2,h3){text-wrap:balance;letter-spacing:-.025em}main :is(p,li){text-wrap:pretty}
main :is(h1,h2,h3){overflow-wrap:anywhere}
.clarified-legal-hero h1{font-size:clamp(2rem,6vw,4.5rem)}
main :is(.it-card,.it-list-card,.it-related-card,.card,.funnel-card,.vertical-card,.pillar){border-radius:var(--cp-radius);box-shadow:none;border:1px solid var(--cp-line)}
main :is(.it-card,.card,.funnel-card,.vertical-card){transition:transform .2s ease,border-color .2s ease}
@media(hover:hover){main :is(.it-card,.card,.funnel-card,.vertical-card):hover{transform:translateY(-3px);border-color:#0f5d63}}
.cp-bar{display:flex;align-items:center;justify-content:center;gap:12px 28px;padding:15px 24px;background:#f7f9f8;border-bottom:1px solid var(--cp-line);flex-wrap:wrap;color:var(--cp-ink);font:600 12px/1.5 Inter,Arial,sans-serif}
.cp-bar a{text-decoration:none!important;color:inherit!important}.cp-bar a:hover{text-decoration:underline!important;text-underline-offset:5px}.cp-bar a[aria-current=page]{color:var(--cp-teal)!important}
.cp-menu{position:relative;list-style:none}.cp-menu summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;gap:9px}.cp-menu summary:after{content:"+";font-size:20px;color:var(--cp-teal)}.cp-menu[open] summary:after{content:"−"}.cp-menu summary::-webkit-details-marker{display:none}
.cp-menu-panel{position:absolute;top:calc(100% + 12px);left:0;z-index:1200;min-width:330px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--cp-line);box-shadow:0 24px 65px #071c2220;padding:14px;display:grid;gap:4px;border-radius:6px}
.cp-menu-panel a{display:block!important;padding:12px 14px!important;white-space:normal!important;color:var(--cp-ink)!important;border-radius:3px}.cp-menu-panel a:hover{background:#eef5f3}
.redesign-home .main-nav{box-shadow:0 1px 0 #071c2217;background:#fff}.redesign-home .nav-in{min-height:84px}.redesign-home .nav-links{gap:clamp(16px,2vw,36px)}.redesign-home .nav-links>a,.redesign-home .cp-menu{font-size:14px;font-weight:650}
.redesign-home .nav-cta{background:var(--cp-teal)!important;color:#fff!important;border-radius:4px!important;white-space:nowrap}.redesign-home .rv{opacity:1!important;transform:none!important}
.redesign-home .cp-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:660px;min-height:min(810px,88svh);background:var(--cp-ink);color:#fff;overflow:hidden;padding:76px 0 100px}
.cp-hero-media,.cp-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% 45%;z-index:-3}.cp-hero-video{z-index:-2;opacity:0;transition:opacity .5s}.cp-hero-video.is-playing{opacity:1}
.cp-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,28,34,.96) 0%,rgba(7,28,34,.83) 43%,rgba(7,28,34,.24) 100%)}
.cp-hero-content{position:relative;width:100%}.cp-kicker{display:block;color:var(--cp-gold);font:750 12px/1.6 Inter,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-bottom:25px}
.redesign-home .cp-hero h1{font-family:'DM Serif Display',Georgia,serif;font-size:clamp(42px,5.4vw,84px)!important;font-weight:400;line-height:1.04!important;max-width:15ch!important;margin:0 0 26px;color:#fff;letter-spacing:-.035em}
.cp-hero h1 em{font-style:normal;color:var(--cp-gold)}.redesign-home .cp-hero p{color:#e3ecea;font-size:clamp(17px,1.35vw,21px);line-height:1.65;max-width:52ch;margin:0 0 30px}
.cp-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.cp-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:13px 23px;border:1px solid transparent;border-radius:3px;background:var(--cp-gold);color:var(--cp-ink)!important;font:750 14px/1.4 Inter,Arial,sans-serif;text-decoration:none!important;transition:transform .2s,background .2s}
.cp-button:hover{transform:translateY(-2px);background:#ead5a2}.cp-button.cp-outline{background:transparent;color:#fff!important;border-color:#afc2c3}.cp-button.cp-outline:hover{background:#ffffff16}
.cp-video-toggle{margin-top:28px;color:#e2ebe8;background:#071c2270;border:1px solid #ffffff40;padding:8px 12px;font:600 12px Inter,Arial,sans-serif;cursor:pointer;border-radius:3px;min-height:40px}
.cp-hero-note{position:absolute;right:5%;bottom:28px;color:#e0e8e6;font:600 11px Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.cp-rail{background:var(--cp-ink);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0 max(24px,calc((100vw - 1740px)/2));border-top:1px solid #ffffff25}
.cp-rail a{padding:25px 20px;color:#fff!important;font:650 14px/1.5 Inter,Arial,sans-serif;border-right:1px solid #ffffff22;text-decoration:none;transition:background .2s}.cp-rail a:last-child{border-right:0}.cp-rail a:hover{background:#0f5d63}.cp-rail span{display:block;font-size:11px;font-weight:400;color:var(--cp-gold);margin-bottom:7px;letter-spacing:.08em}
.redesign-home .cp-expertise{padding-block:var(--cp-space)!important;background:var(--cp-paper)}.cp-expertise-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,100px)}.cp-expertise .cp-kicker{color:var(--cp-teal)}.cp-expertise h2{font:400 clamp(32px,3.2vw,52px)/1.12 'DM Serif Display',Georgia,serif;max-width:16ch;color:var(--cp-ink);margin:0 0 22px}.cp-expertise p{color:#455f66;font:400 16px/1.75 Inter,Arial,sans-serif;max-width:44ch}.cp-editorial-note{padding-top:20px;border-top:1px solid #cdd9d6;margin-top:28px!important;font-size:13px!important}
.cp-solution{border-bottom:1px solid #c4d1ce;padding:0}.cp-solution:first-child{border-top:1px solid #c4d1ce}.cp-solution summary{display:flex;align-items:center;gap:16px;list-style:none;cursor:pointer;padding:22px 0;color:var(--cp-ink);font:650 clamp(16px,1.5vw,22px)/1.35 Inter,Arial,sans-serif}.cp-solution summary::-webkit-details-marker{display:none}.cp-solution summary:after{content:"+";font-weight:400;font-size:26px;margin-left:auto;color:var(--cp-teal)}.cp-solution[open] summary:after{content:"−"}.cp-solution summary span{color:var(--cp-teal);font-size:11px;letter-spacing:.1em}.cp-solution-body{padding:0 0 24px 35px}.cp-solution-body p{max-width:60ch;margin:0 0 18px}.cp-solution-body a{display:inline-block;color:var(--cp-teal);font-weight:700;font-size:14px;text-decoration:underline;text-underline-offset:5px;margin-right:24px;line-height:2}
.redesign-home :is(.sec-head,.section-head) h2{font-size:clamp(30px,3vw,48px);line-height:1.12;max-width:26ch}.redesign-home :is(.funnel-card,.vertical-card,.pillar){padding:clamp(22px,2.5vw,38px);border-radius:5px!important}.redesign-home .brand-architecture{background:#fff}.redesign-home .trust{border-block:1px solid var(--cp-line);background:#fff}
@media(min-width:1100px){.redesign-home .nav-in{gap:24px}.redesign-home .nav-actions{margin-left:auto}}
@media(max-width:1099px){.redesign-home .nav-links{display:none!important}.redesign-home .mobile-menu-toggle{display:inline-flex!important}.redesign-home .main-nav{position:sticky;top:0;z-index:1000}.redesign-home .mobile-nav-panel.open{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));position:absolute;top:100%;left:0;right:0;width:100%;max-height:70svh;overflow:auto;box-sizing:border-box;padding:18px;background:#fff;border-bottom:1px solid var(--cp-line);gap:8px;box-shadow:0 20px 30px #071c2220}.redesign-home .mobile-nav-panel a{padding:12px;white-space:normal;font-size:13px}.redesign-home .nav-actions .language-selector{display:block!important}.cp-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.cp-expertise-grid{grid-template-columns:1fr}.cp-expertise h2{max-width:24ch}.cp-expertise p{max-width:66ch}}
@media(max-width:700px){.redesign-home .cp-hero{min-height:620px;padding:58px 0 70px}.cp-hero:before{background:linear-gradient(90deg,#071c22ec,#071c229c)}.cp-hero-media{object-position:65% center}.cp-hero-video,.cp-video-toggle{display:none!important}.cp-hero-note{left:24px;right:auto;bottom:20px;font-size:9px}.cp-kicker{font-size:10px;margin-bottom:20px}.cp-rail{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:14px}.cp-rail a{font-size:12px;padding:17px 10px}.cp-rail a:last-child{grid-column:1/-1;border-top:1px solid #ffffff22}.cp-bar{gap:8px 15px;padding:12px 18px;font-size:10px}.cp-expertise-grid{gap:25px}.cp-solution-body{padding-left:0}.cp-actions .cp-button{flex:1;min-width:145px;padding:13px 14px}.redesign-home .nav-in{min-height:72px}.redesign-home .nav-actions .nav-cta{display:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.cp-hero-video,.cp-video-toggle{display:none!important}}
@media(max-width:440px){.cp-actions{display:grid;grid-template-columns:1fr}.cp-actions .cp-button{min-height:48px;padding:12px 16px;font-size:14px}}

/* Keep the privacy component independent of legacy page-wide section rules. */
body .clarified-consent-banner,
body .clarified-consent-banner *,
body .clarified-consent-modal,
body .clarified-consent-modal *{box-sizing:border-box}
body .clarified-consent-banner{
  width:min(1120px,calc(100% - 36px))!important;
  min-width:0!important;max-width:calc(100% - 36px)!important;
  padding:22px 24px!important;margin:0 auto!important;
  grid-template-columns:minmax(0,1fr) auto;
  max-height:calc(100svh - 36px);overflow:auto;
}
body .clarified-consent-copy,body .clarified-consent-actions{min-width:0}
body .clarified-consent-copy p{margin:0;max-width:none;overflow-wrap:anywhere}
body .clarified-consent-copy .clarified-consent-notice{margin-top:7px}
body .clarified-consent-banner .clarified-btn{min-height:44px;line-height:1.4;white-space:normal}
body .clarified-consent-modal .clarified-consent-panel{min-width:0;max-width:100%}
@media(max-width:820px){
  body .clarified-consent-banner{grid-template-columns:minmax(0,1fr);gap:14px}
  body .clarified-consent-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body .clarified-consent-actions .clarified-btn-link{grid-column:1/-1}
}
@media(max-width:520px){
  body .clarified-consent-banner{left:8px;right:8px;bottom:8px;width:calc(100% - 16px)!important;max-width:calc(100% - 16px)!important;padding:18px!important;max-height:calc(100svh - 16px);border-radius:10px}
  body .clarified-consent-copy p{font-size:13px;line-height:1.5}
  body .clarified-consent-banner .clarified-btn{padding:10px 8px;font-size:12px}
  .cp-bar{font-size:11px;gap:4px 14px}
  .cp-bar a{display:inline-flex;align-items:center;min-height:32px}
}
@media(max-height:500px) and (orientation:landscape){
  body .clarified-consent-banner{padding:14px 18px!important}
  .redesign-home .cp-hero{min-height:440px}
}

/* Complete locale controls keep their footprint predictable in all five languages. */
.locale-select{font:600 13px/1.4 Arial,sans-serif;color:#0f5d63;background:#fff;border:1px solid #c6dddd;border-radius:8px;min-height:40px;max-width:100%;padding:8px 10px}
.language-switch.locale-complete,.continuity-language-switch.locale-complete,.nis2-lang-switch.locale-complete{display:flex;flex-wrap:wrap;gap:3px;max-width:100%}
.locale-complete button{min-height:40px;min-width:36px}
.locale-complete button[aria-pressed=true]{background:#0f5d63;color:#fff}
.document-row>div{display:flex;flex-wrap:wrap;gap:8px}
.document-row a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}
.cp-bar a{overflow-wrap:anywhere}
@media(max-width:600px){.top-actions{flex-wrap:wrap;justify-content:flex-end}.language-switch.locale-complete{justify-content:flex-end}.continuity-language-switch.locale-complete{border-radius:12px}.cp-bar{column-gap:12px}.cp-bar a{max-width:100%}}
.nis2-resource-actions { display:flex; flex-wrap:wrap; align-items:stretch; gap:.65rem; }
.nis2-resource-actions .btn { flex:1 1 11rem; min-width:0; min-height:44px; }
.nis2-resource-actions-online { grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); }
[data-locale-ready] .nis2-resource-title-en,
[data-locale-ready] .nis2-resource-description-en,
[data-locale-ready] .nis2-resources-note[lang="en"] { display:none; }

/* Long translated labels must wrap inside their own component, not over neighbours. */
main :is(p,li,td,th,code), .process .steps span { overflow-wrap:anywhere; }
main :is(.cta,.btn,.site-widget-cta,.it-widget-cta) { max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:center; }
.clarified-legal-section code { white-space:normal; }
.process .steps > * { min-width:0; }
@media(max-width:420px){
  .process.reveal .steps { grid-template-columns:minmax(0,1fr); }
  .process.reveal .steps > div { min-height:0; }
}
/* A two-row desktop header keeps every action visible in long translations. */
@media(min-width:1301px) and (max-width:1799px){
  .site-top .main-nav { grid-template-columns:auto minmax(0,1fr); gap:0 24px; padding-top:10px; padding-bottom:8px; }
  .site-top .main-nav > .brand { grid-column:1; grid-row:1; }
  .site-top .main-nav > .nav-actions { grid-column:2; grid-row:1; justify-self:end; }
  .site-top .main-nav > .nav-links { grid-column:1/-1; grid-row:2; width:100%; justify-content:center; gap:clamp(18px,3vw,44px); padding:12px 0 2px; }
}
@media(min-width:981px) and (max-width:1799px){
  .nav-redesign > .container { flex-wrap:wrap; gap:10px 24px; padding-block:10px; }
  .nav-redesign .brand { order:1; }
  .nav-redesign .nav-actions { order:2; margin-left:auto; }
  .nav-redesign .nav-menu { order:3; flex:1 0 100%; justify-content:center; gap:clamp(12px,2vw,28px); margin:0; padding:6px 0; }
  .nav-redesign .nav-menu > li { flex:0 1 auto; }
  .nav-redesign .nav-menu > li > a { white-space:normal; }
}
