:root {
  --ocer-green: #3cac2f;
  --ocer-green-dark: #087640;
  --ocer-green-deep: #075c37;
  --ocer-green-soft: #e9f8df;
  --ocer-green-pale: #f4fbef;
  --ocer-aqua: #d9f5f4;
  --ocer-ink: #101c28;
  --ocer-ink-soft: #43505d;
  --ocer-muted: #6f7b86;
  --ocer-line: #dce5df;
  --ocer-surface: #ffffff;
  --ocer-offwhite: #f8faf8;
  --ocer-gold: #d59b23;
  --ocer-danger: #b42318;
  --ocer-warning: #9a6700;
  --ocer-radius-sm: 12px;
  --ocer-radius: 20px;
  --ocer-radius-lg: 34px;
  --ocer-shadow-sm: 0 8px 24px rgba(16, 28, 40, 0.07);
  --ocer-shadow: 0 22px 60px rgba(16, 28, 40, 0.12);
  --ocer-container: 1220px;
  --ocer-transition: 180ms ease;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.ocer-v2 {
  margin: 0;
  background: var(--ocer-surface);
  color: var(--ocer-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.ocer-v2.is-menu-open { overflow: hidden; }
body.ocer-v2 img { max-width: 100%; height: auto; }
body.ocer-v2 a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.ocer-v2 button,
body.ocer-v2 input,
body.ocer-v2 select,
body.ocer-v2 textarea { font: inherit; }
body.ocer-v2 button { cursor: pointer; }
body.ocer-v2 h1,
body.ocer-v2 h2,
body.ocer-v2 h3,
body.ocer-v2 h4 { margin: 0 0 0.7em; line-height: 1.08; letter-spacing: -0.035em; }
body.ocer-v2 h1 { font-size: clamp(2.55rem, 5vw, 5.3rem); }
body.ocer-v2 h2 { font-size: clamp(2rem, 3.6vw, 3.65rem); }
body.ocer-v2 h3 { font-size: clamp(1.2rem, 1.8vw, 1.55rem); }
body.ocer-v2 p { margin: 0 0 1.2em; }
body.ocer-v2 :focus-visible { outline: 3px solid rgba(60, 172, 47, 0.48); outline-offset: 3px; }
body.ocer-v2 .screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px;
  margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
body.ocer-v2 .screen-reader-text:focus {
  clip: auto !important; clip-path: none; height: auto; width: auto; display: block; top: 8px; left: 8px;
  z-index: 100000; padding: 12px 16px; background: #fff; color: var(--ocer-ink); border-radius: 8px; box-shadow: var(--ocer-shadow);
}
.ocer-container { width: min(calc(100% - 40px), var(--ocer-container)); margin-inline: auto; }
.ocer-narrow { max-width: 880px; }
.ocer-center { display: flex; justify-content: center; margin-top: 34px; }
.ocer-muted { color: var(--ocer-muted); }
.ocer-site-main { min-height: 60vh; overflow: clip; }
.ocer-skip-link { position: fixed; z-index: 99999; top: -100px; left: 20px; background: var(--ocer-ink); color: #fff; padding: 10px 16px; border-radius: 8px; }
.ocer-skip-link:focus { top: 20px; }

.ocer-icon { width: 1.15em; height: 1.15em; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; vertical-align: -0.17em; }
.ocer-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ocer-icon--bolt svg,
.ocer-icon--star svg { fill: currentColor; stroke-width: 1.2; }

.ocer-eyebrow {
  display: flex; align-items: center; gap: 10px; margin: 0 0 18px !important; color: var(--ocer-green-dark);
  font-size: 0.73rem; font-weight: 800; letter-spacing: 0.16em; line-height: 1.3; text-transform: uppercase;
}
.ocer-eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; border-radius: 2px; }
.ocer-section { position: relative; padding: clamp(76px, 9vw, 135px) 0; }
.ocer-section--soft { background: var(--ocer-green-pale); }
.ocer-section-heading { max-width: 720px; }
.ocer-section-heading > p:not(.ocer-eyebrow) { color: var(--ocer-ink-soft); font-size: 1.08rem; }
.ocer-section-heading--center { margin-inline: auto; text-align: center; }
.ocer-section-heading--center .ocer-eyebrow { justify-content: center; }
.ocer-section-heading--row { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }
.ocer-section-heading--row h2 { max-width: 760px; margin-bottom: 0; }
.ocer-prose { color: var(--ocer-ink-soft); }
.ocer-prose--lead { font-size: 1.08rem; }
.ocer-entry-content { color: #273542; font-size: 1.06rem; }
.ocer-entry-content > * { max-width: 100%; }
.ocer-entry-content h2 { margin-top: 1.65em; font-size: clamp(1.65rem, 2.5vw, 2.45rem); }
.ocer-entry-content h3 { margin-top: 1.6em; }
.ocer-entry-content a { color: var(--ocer-green-dark); }
.ocer-entry-content ul,
.ocer-entry-content ol { padding-left: 1.25em; }
.ocer-entry-content blockquote { margin: 2em 0; padding: 25px 30px; border-left: 4px solid var(--ocer-green); background: var(--ocer-green-pale); border-radius: 0 var(--ocer-radius-sm) var(--ocer-radius-sm) 0; font-size: 1.18rem; }
.ocer-entry-content img { border-radius: var(--ocer-radius); }
.ocer-entry-content table { width: 100%; border-collapse: collapse; }
.ocer-entry-content th,
.ocer-entry-content td { padding: 12px; border: 1px solid var(--ocer-line); text-align: left; }

.ocer-button {
  min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 10px 18px;
  border: 1px solid transparent; border-radius: 999px; font-weight: 760; font-size: 0.91rem; line-height: 1.1; text-decoration: none;
  transition: transform var(--ocer-transition), background var(--ocer-transition), border-color var(--ocer-transition), color var(--ocer-transition), box-shadow var(--ocer-transition);
}
.ocer-button:hover { transform: translateY(-2px); text-decoration: none; }
.ocer-button--primary { background: var(--ocer-ink); color: #fff !important; box-shadow: 0 10px 24px rgba(16, 28, 40, 0.14); }
.ocer-button--primary:hover { background: var(--ocer-green-dark); box-shadow: 0 14px 30px rgba(8, 118, 64, 0.18); }
.ocer-button--secondary { border-color: #b9c8bf; color: var(--ocer-ink) !important; background: #fff; }
.ocer-button--secondary:hover { border-color: var(--ocer-green); color: var(--ocer-green-dark) !important; }
.ocer-button--ghost { color: var(--ocer-ink) !important; background: transparent; }
.ocer-button--ghost:hover { background: var(--ocer-green-pale); }
.ocer-button--light { background: #fff; color: var(--ocer-ink) !important; }
.ocer-button--light:hover { background: var(--ocer-green-soft); }
.ocer-button--outline-light { border-color: rgba(255,255,255,.65); color: #fff !important; background: transparent; }
.ocer-button--outline-light:hover { background: #fff; color: var(--ocer-ink) !important; }
.ocer-button--large { min-height: 54px; padding: 15px 24px; font-size: 0.98rem; }
.ocer-button--small { min-height: 38px; padding: 8px 15px; font-size: .84rem; }
.ocer-button--block { width: 100%; }
.ocer-text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--ocer-green-dark) !important; font-weight: 780; text-decoration: none; }
.ocer-text-link .ocer-icon { transition: transform var(--ocer-transition); }
.ocer-text-link:hover .ocer-icon { transform: translateX(4px); }
.ocer-text-link--center { display: flex; justify-content: center; margin-top: 16px; }

/* Header */
.ocer-site-header { position: sticky; z-index: 1000; top: 0; background: rgba(255,255,255,.92); border-bottom: 1px solid transparent; backdrop-filter: blur(18px); transition: box-shadow var(--ocer-transition), border-color var(--ocer-transition); }
.ocer-site-header.is-scrolled { border-color: rgba(16,28,40,.08); box-shadow: 0 10px 30px rgba(16,28,40,.06); }
.ocer-site-header__inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.ocer-brand { flex: 0 0 auto; display: flex; align-items: center; width: clamp(210px, 22vw, 315px); text-decoration: none; }
.ocer-brand img { width: 100%; max-height: 60px; object-fit: contain; object-position: left center; }
.ocer-navigation-panel { flex: 1; display: flex; align-items: center; justify-content: flex-end; gap: clamp(20px, 3vw, 44px); }
.ocer-primary-nav { min-width: 0; }
.ocer-menu { display: flex; align-items: center; gap: clamp(15px, 2vw, 28px); list-style: none; margin: 0; padding: 0; }
.ocer-menu li { position: relative; margin: 0; }
.ocer-menu > li > a { display: flex; align-items: center; min-height: 44px; color: var(--ocer-ink); font-size: 0.86rem; font-weight: 720; white-space: nowrap; text-decoration: none; }
.ocer-menu > li > a:hover,
.ocer-menu > .current-menu-item > a,
.ocer-menu > .current-menu-ancestor > a { color: var(--ocer-green-dark); }
.ocer-menu .sub-menu { position: absolute; top: calc(100% + 8px); left: -18px; min-width: 230px; visibility: hidden; opacity: 0; transform: translateY(8px); list-style: none; margin: 0; padding: 10px; background: #fff; border: 1px solid var(--ocer-line); border-radius: var(--ocer-radius-sm); box-shadow: var(--ocer-shadow); transition: all var(--ocer-transition); }
.ocer-menu li:hover > .sub-menu,
.ocer-menu li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.ocer-menu .sub-menu a { display: block; padding: 10px 12px; border-radius: 8px; font-size: .88rem; text-decoration: none; }
.ocer-menu .sub-menu a:hover { background: var(--ocer-green-pale); color: var(--ocer-green-dark); }
.ocer-header-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.ocer-menu-toggle { display: none; width: 45px; height: 45px; align-items: center; justify-content: center; padding: 0; border: 1px solid var(--ocer-line); border-radius: 50%; background: #fff; color: var(--ocer-ink); }
.ocer-menu-toggle .ocer-icon { width: 22px; height: 22px; }
.ocer-menu-toggle__close { display: none; }
.ocer-menu-backdrop { display: none; }

/* Hero */
.ocer-hero { min-height: 760px; position: relative; isolation: isolate; padding: clamp(55px, 8vw, 100px) 0 clamp(80px, 10vw, 130px); overflow: hidden; background: linear-gradient(180deg,#fff 0%,#fbfdfb 100%); }
.ocer-hero::after { content: ""; position: absolute; z-index: -2; inset: auto -10% -22% 42%; height: 73%; border-radius: 50% 0 0 0; background: var(--ocer-aqua); transform: rotate(-7deg); }
.ocer-hero__orb { position: absolute; z-index: -1; border-radius: 50%; background: rgba(60,172,47,.09); filter: blur(1px); }
.ocer-hero__orb--one { width: 450px; height: 450px; right: -180px; top: -80px; }
.ocer-hero__orb--two { width: 170px; height: 170px; left: 45%; bottom: 12%; background: rgba(255,255,255,.45); }
.ocer-hero__grid { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(420px,.98fr); gap: clamp(45px, 7vw, 100px); align-items: center; }
.ocer-hero__copy { max-width: 720px; }
.ocer-hero__copy h1 { max-width: 820px; margin-bottom: 24px; }
.ocer-hero__copy h1 em { color: var(--ocer-green); font-style: normal; }
.ocer-hero__lead { max-width: 660px; color: var(--ocer-ink-soft); font-size: clamp(1.05rem, 1.4vw, 1.24rem); }
.ocer-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.ocer-hero__trust { display: flex; flex-wrap: wrap; gap: 0; margin-top: 36px; border-top: 1px solid var(--ocer-line); }
.ocer-hero__trust > div { min-width: 130px; padding: 20px 30px 0 0; margin-right: 30px; border-right: 1px solid var(--ocer-line); }
.ocer-hero__trust > div:last-child { border-right: 0; }
.ocer-hero__trust strong { display: block; color: var(--ocer-green-dark); font-size: 1.25rem; line-height: 1.1; }
.ocer-hero__trust span { color: var(--ocer-muted); font-size: .78rem; }
.ocer-hero__visual { min-height: 610px; position: relative; }
.ocer-hero-card { position: absolute; margin: 0; overflow: hidden; border: 7px solid rgba(255,255,255,.85); border-radius: 28px; box-shadow: var(--ocer-shadow); background: linear-gradient(145deg,var(--ocer-green-dark),var(--ocer-green)); }
.ocer-hero-card img { width: 100%; height: 100%; object-fit: cover; }
.ocer-hero-card--1 { width: 58%; height: 70%; top: 0; left: 6%; transform: rotate(-2deg); }
.ocer-hero-card--2 { width: 54%; height: 48%; top: 12%; right: 0; transform: rotate(3deg); }
.ocer-hero-card--3 { width: 58%; height: 43%; bottom: 0; left: 22%; transform: rotate(1deg); }
.ocer-hero-card--placeholder { display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.88); }
.ocer-hero-card--placeholder:nth-child(2) { background: linear-gradient(145deg,#1c9b8e,#6fd8c6); }
.ocer-hero-card--placeholder:nth-child(3) { background: linear-gradient(145deg,#efbf42,#f7df86); color: var(--ocer-ink); }
.ocer-hero-card--placeholder .ocer-icon { width: 72px; height: 72px; }
.ocer-energy-lines { position: absolute; inset: 20%; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; box-shadow: 0 0 0 28px rgba(255,255,255,.07),0 0 0 56px rgba(255,255,255,.05); }
.ocer-hero-float { position: absolute; z-index: 4; left: -10px; bottom: 12%; display: flex; align-items: center; gap: 12px; max-width: 260px; padding: 15px 18px; background: rgba(255,255,255,.96); border: 1px solid rgba(16,28,40,.08); border-radius: 15px; box-shadow: var(--ocer-shadow-sm); }
.ocer-hero-float__icon { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; color: #fff; background: var(--ocer-green); border-radius: 50%; }
.ocer-hero-float strong,.ocer-hero-float small { display: block; line-height: 1.25; }
.ocer-hero-float strong { font-size: .88rem; }
.ocer-hero-float small { color: var(--ocer-muted); font-size: .7rem; }

.ocer-directory-filters { display: grid; grid-template-columns: minmax(260px,1.7fr) repeat(5,minmax(135px,1fr)) auto; gap: 12px; align-items: end; padding: 22px; margin-bottom: 34px; background: #fff; border: 1px solid var(--ocer-line); border-radius: var(--ocer-radius); box-shadow: var(--ocer-shadow-sm); }
.ocer-directory-filters--compact { display: flex; max-width: 660px; align-items: stretch; padding: 8px; margin: 30px 0 0; border-radius: 999px; box-shadow: 0 16px 38px rgba(16,28,40,.11); }
.ocer-directory-filters--compact .ocer-filter--search { flex: 1; min-height: 52px; border: 0; background: transparent; }
.ocer-directory-filters--compact .ocer-button { flex: 0 0 auto; }
.ocer-filter { min-width: 0; }
.ocer-filter > label { display: block; margin: 0 0 6px; color: var(--ocer-muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.ocer-filter select,
.ocer-filter input { width: 100%; height: 48px; padding: 0 13px; border: 1px solid var(--ocer-line); border-radius: 10px; color: var(--ocer-ink); background: #fff; }
.ocer-filter--search { position: relative; }
.ocer-filter--search .ocer-icon { position: absolute; z-index: 2; left: 15px; bottom: 15px; color: var(--ocer-green-dark); }
.ocer-filter--search input { padding-left: 43px; }
.ocer-filter-reset { align-self: center; color: var(--ocer-muted) !important; font-size: .82rem; white-space: nowrap; }

/* Intro, categories, services */
.ocer-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(50px,8vw,120px); align-items: start; }
.ocer-section--intro { background: linear-gradient(180deg,#fff 0,#fff 60%,#f8fbf8 100%); }
.ocer-category-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin-top: 46px; }
.ocer-category-card { min-height: 270px; display: flex; flex-direction: column; align-items: flex-start; padding: 30px; border: 1px solid #b9d9b6; border-radius: var(--ocer-radius); background: rgba(255,255,255,.78); text-decoration: none; transition: transform var(--ocer-transition), box-shadow var(--ocer-transition), background var(--ocer-transition); }
.ocer-category-card:hover { transform: translateY(-6px); background: #fff; box-shadow: var(--ocer-shadow-sm); }
.ocer-category-card > span { width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; margin-bottom: auto; color: var(--ocer-green-dark); background: var(--ocer-green-soft); border-radius: 15px; }
.ocer-category-card > span .ocer-icon { width: 25px; height: 25px; }
.ocer-category-card strong { margin-top: 30px; font-size: 1.18rem; line-height: 1.2; }
.ocer-category-card small { margin-top: 9px; color: var(--ocer-ink-soft); font-size: .86rem; line-height: 1.55; }
.ocer-service-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; margin-top: 46px; }
.ocer-service-card { min-height: 360px; display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--ocer-line); border-radius: var(--ocer-radius); background: #fff; transition: transform var(--ocer-transition), box-shadow var(--ocer-transition); }
.ocer-service-card:hover { transform: translateY(-5px); box-shadow: var(--ocer-shadow-sm); }
.ocer-service-card--premium { color: #fff; border-color: transparent; background: linear-gradient(145deg,var(--ocer-green-deep),var(--ocer-green)); }
.ocer-service-card--premium .ocer-text-link { color: #fff !important; }
.ocer-service-card__number { display: block; margin-bottom: auto; color: var(--ocer-green); font-size: .78rem; font-weight: 850; letter-spacing: .12em; }
.ocer-service-card--premium .ocer-service-card__number { color: rgba(255,255,255,.7); }
.ocer-service-card h3 { margin-top: 50px; font-size: 1.55rem; }
.ocer-service-card p { color: var(--ocer-ink-soft); font-size: .91rem; }
.ocer-service-card--premium p { color: rgba(255,255,255,.82); }
.ocer-service-card .ocer-text-link { margin-top: auto; }

/* Platform preview */
.ocer-section--platform { color: #fff; background: var(--ocer-ink); overflow: hidden; }
.ocer-section--platform::before { content: ""; position: absolute; width: 520px; height: 520px; top: -220px; right: -130px; border-radius: 50%; background: rgba(60,172,47,.18); }
.ocer-platform-grid { display: grid; grid-template-columns: minmax(0,.92fr) minmax(480px,1.08fr); gap: clamp(50px,8vw,110px); align-items: center; }
.ocer-platform-copy .ocer-eyebrow { color: #8fe681; }
.ocer-platform-copy > p:not(.ocer-eyebrow) { color: rgba(255,255,255,.73); font-size: 1.08rem; }
.ocer-check-list { display: grid; gap: 13px; margin: 28px 0 34px; }
.ocer-check-list > span { display: flex; align-items: flex-start; gap: 10px; }
.ocer-check-list .ocer-icon { width: 21px; height: 21px; padding: 3px; color: #fff; background: var(--ocer-green); border-radius: 50%; }
.ocer-dashboard-preview { position: relative; transform: perspective(1000px) rotateY(-6deg) rotateX(2deg); border: 10px solid #fff; border-radius: 24px; background: #fff; box-shadow: 0 40px 80px rgba(0,0,0,.35); }
.ocer-dashboard-preview__top { height: 48px; display: flex; align-items: center; gap: 7px; padding: 0 18px; background: #f0f4f1; border-radius: 14px 14px 0 0; }
.ocer-dashboard-preview__top span { width: 10px; height: 10px; border-radius: 50%; background: #c1cac4; }
.ocer-dashboard-preview__body { min-height: 380px; display: grid; grid-template-columns: 25% 75%; }
.ocer-dashboard-preview__side { display: grid; align-content: start; gap: 18px; padding: 35px 20px; background: var(--ocer-green-deep); }
.ocer-dashboard-preview__side i { height: 9px; border-radius: 10px; background: rgba(255,255,255,.5); }
.ocer-dashboard-preview__content { padding: 35px; background: #f8faf8; }
.ocer-dashboard-preview__heading { width: 48%; height: 23px; margin-bottom: 28px; border-radius: 6px; background: var(--ocer-ink); }
.ocer-dashboard-preview__cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.ocer-dashboard-preview__cards i { height: 95px; border: 1px solid var(--ocer-line); border-radius: 12px; background: #fff; }
.ocer-dashboard-preview__cards i:first-child { background: var(--ocer-green-soft); }
.ocer-dashboard-preview__table { display: grid; gap: 9px; margin-top: 28px; padding: 18px; border: 1px solid var(--ocer-line); border-radius: 12px; background: #fff; }
.ocer-dashboard-preview__table i { height: 12px; border-radius: 5px; background: #e5ebe7; }

/* Cards and directory */
.ocer-profile-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.ocer-profile-card { min-width: 0; overflow: hidden; border: 1px solid var(--ocer-line); border-radius: var(--ocer-radius); background: #fff; box-shadow: 0 4px 14px rgba(16,28,40,.03); transition: transform var(--ocer-transition), box-shadow var(--ocer-transition), border-color var(--ocer-transition); }
.ocer-profile-card:hover { transform: translateY(-5px); border-color: #b7d8b4; box-shadow: var(--ocer-shadow-sm); }
.ocer-profile-card.is-premium { border-color: rgba(213,155,35,.45); }
.ocer-profile-card__media { position: relative; min-height: 220px; display: block; overflow: hidden; background: linear-gradient(145deg,var(--ocer-green-deep),var(--ocer-green)); text-decoration: none; }
.ocer-profile-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 450ms ease; }
.ocer-profile-card:hover .ocer-profile-card__media img { transform: scale(1.035); }
.ocer-profile-card__placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.75); }
.ocer-profile-card__placeholder .ocer-icon { width: 70px; height: 70px; }
.ocer-profile-card__kind { position: absolute; left: 16px; bottom: 16px; padding: 7px 10px; color: var(--ocer-ink); background: rgba(255,255,255,.93); border-radius: 999px; font-size: .68rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.ocer-premium-badge,.ocer-verified-badge { display: inline-flex; align-items: center; gap: 5px; padding: 7px 10px; border-radius: 999px; font-size: .67rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.ocer-profile-card__media > .ocer-premium-badge,.ocer-profile-card__media > .ocer-verified-badge { position: absolute; top: 16px; right: 16px; }
.ocer-premium-badge { color: #fff; background: linear-gradient(135deg,#c58812,#e5af3a); box-shadow: 0 6px 18px rgba(120,80,0,.22); }
.ocer-verified-badge { color: #fff; background: var(--ocer-green-dark); }
.ocer-profile-card__body { padding: 25px; }
.ocer-profile-card__terms { min-height: 18px; margin-bottom: 8px; color: var(--ocer-green-dark); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.ocer-profile-card__body h3 { margin-bottom: 12px; font-size: 1.3rem; }
.ocer-profile-card__body h3 a { text-decoration: none; }
.ocer-profile-card__body > p { color: var(--ocer-ink-soft); font-size: .9rem; }
.ocer-profile-card__location { display: flex; align-items: center; gap: 7px; margin-bottom: 10px !important; color: var(--ocer-muted) !important; font-size: .79rem !important; }
.ocer-profile-card__location .ocer-icon { color: var(--ocer-green); }
.ocer-directory-page { padding-top: 55px; }
.ocer-directory-summary { margin: 0 0 20px; color: var(--ocer-muted); font-size: .88rem; }
.ocer-directory-summary strong { color: var(--ocer-ink); }
.ocer-pagination { display: flex; justify-content: center; margin-top: 48px; }
.ocer-pagination .page-numbers { min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; margin: 4px; padding: 0 12px; border: 1px solid var(--ocer-line); border-radius: 999px; background: #fff; color: var(--ocer-ink); text-decoration: none; }
.ocer-pagination .current,.ocer-pagination a:hover { color: #fff; border-color: var(--ocer-green-dark); background: var(--ocer-green-dark); }
.ocer-empty-state { max-width: 780px; margin: 50px auto; padding: 55px; text-align: center; border: 1px dashed #b9c8bf; border-radius: var(--ocer-radius); background: var(--ocer-green-pale); }
.ocer-empty-state > .ocer-icon,.ocer-empty-state > span > .ocer-icon { width: 48px; height: 48px; color: var(--ocer-green-dark); }
.ocer-empty-state--compact { margin: 30px auto 0; padding: 36px; }

/* News */
.ocer-section--news { background: #fbfcfb; }
.ocer-news-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.ocer-news-card { overflow: hidden; border: 1px solid var(--ocer-line); border-radius: var(--ocer-radius); background: #fff; transition: transform var(--ocer-transition), box-shadow var(--ocer-transition); }
.ocer-news-card:hover { transform: translateY(-5px); box-shadow: var(--ocer-shadow-sm); }
.ocer-news-card__media { min-height: 205px; display: block; position: relative; overflow: hidden; background: var(--ocer-green-soft); }
.ocer-news-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 450ms ease; }
.ocer-news-card:hover img { transform: scale(1.04); }
.ocer-news-card__placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: var(--ocer-green-dark); }
.ocer-news-card__placeholder .ocer-icon { width: 55px; height: 55px; }
.ocer-news-card__body { padding: 23px; }
.ocer-news-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 12px; color: var(--ocer-muted); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ocer-news-card__meta a { color: var(--ocer-green-dark); text-decoration: none; }
.ocer-news-card h3 { font-size: 1.22rem; }
.ocer-news-card h3 a { text-decoration: none; }
.ocer-news-card p { color: var(--ocer-ink-soft); font-size: .87rem; }

/* CTA */
.ocer-cta-band { position: relative; overflow: hidden; padding: 80px 0; color: #fff; background: linear-gradient(125deg,var(--ocer-green-deep),var(--ocer-green-dark)); }
.ocer-cta-band::after { content: ""; position: absolute; width: 500px; height: 500px; top: -260px; right: -100px; border: 70px solid rgba(255,255,255,.08); border-radius: 50%; }
.ocer-cta-band__inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.ocer-cta-band .ocer-eyebrow { color: #aff5a5; }
.ocer-cta-band h2 { max-width: 750px; margin-bottom: 0; }
.ocer-cta-band__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.ocer-inline-cta { padding: 46px 0; border-top: 1px solid var(--ocer-line); background: var(--ocer-green-pale); }
.ocer-inline-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.ocer-inline-cta h2 { margin-bottom: 5px; font-size: 1.7rem; }
.ocer-inline-cta p { margin: 0; color: var(--ocer-ink-soft); }

/* Footer */
.ocer-site-footer { position: relative; padding: 95px 0 0; background: #e8f8dc; overflow: hidden; }
.ocer-site-footer__visual { position: absolute; right: -80px; top: -180px; width: 440px; height: 440px; opacity: .32; }
.ocer-footer-orbit { width: 100%; height: 100%; border: 28px solid var(--ocer-green); border-left-color: transparent; border-radius: 50%; transform: rotate(-20deg); }
.ocer-footer-orbit::before { content: ""; position: absolute; inset: 70px; border: 22px solid var(--ocer-green-dark); border-right-color: transparent; border-radius: 50%; }
.ocer-footer-grid { position: relative; display: grid; grid-template-columns: 2fr repeat(3,1fr); gap: clamp(35px,6vw,85px); padding-bottom: 65px; }
.ocer-footer-brand img { width: min(100%,330px); max-height: 78px; object-fit: contain; object-position: left center; }
.ocer-footer-brand p { max-width: 390px; margin-top: 22px; color: var(--ocer-ink-soft); font-size: .92rem; }
.ocer-socials { display: flex; flex-wrap: wrap; gap: 14px; }
.ocer-socials a { color: var(--ocer-green-dark); font-size: .82rem; font-weight: 800; text-decoration: none; }
.ocer-footer-column h2 { margin-bottom: 18px; font-size: 1rem; letter-spacing: 0; }
.ocer-footer-column ul { list-style: none; margin: 0; padding: 0; }
.ocer-footer-column li { margin: 0 0 9px; color: var(--ocer-ink-soft); font-size: .83rem; }
.ocer-footer-column a { text-decoration: none; }
.ocer-footer-column a:hover { color: var(--ocer-green-dark); text-decoration: underline; }
.ocer-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 25px 0; border-top: 1px solid rgba(16,28,40,.18); color: var(--ocer-ink-soft); font-size: .72rem; }
.ocer-footer-bottom strong,.ocer-footer-bottom span { display: block; }
.ocer-footer-bottom nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 18px; }
.ocer-footer-bottom a { text-decoration: none; }

/* Page hero */
.ocer-page-hero { position: relative; isolation: isolate; overflow: hidden; padding: clamp(75px,9vw,125px) 0; background: linear-gradient(130deg,#f7fcf4,#e6f7e0); }
.ocer-page-hero__shape { position: absolute; z-index: -1; width: 530px; height: 530px; right: -140px; top: -240px; border: 55px solid rgba(60,172,47,.12); border-radius: 50%; }
.ocer-page-hero .ocer-container > h1 { max-width: 1000px; font-size: clamp(2.5rem,4.7vw,4.8rem); }
.ocer-page-hero .ocer-container > p:not(.ocer-eyebrow),.ocer-page-hero__description { max-width: 760px; color: var(--ocer-ink-soft); font-size: 1.15rem; }
.ocer-page-hero--directory { background: linear-gradient(125deg,#effae9,#d9f5f4); }
.ocer-page-hero--news { color: #fff; background: linear-gradient(125deg,var(--ocer-ink),#183d32); }
.ocer-page-hero--news .ocer-eyebrow { color: #a8ef9c; }
.ocer-page-hero--news .ocer-container > p:not(.ocer-eyebrow) { color: rgba(255,255,255,.75); }
.ocer-page-hero--account { background: linear-gradient(125deg,#edf9e7,#dff6eb); }
.ocer-page-hero__split { display: grid; grid-template-columns: minmax(0,1fr) 220px; align-items: center; gap: 60px; }
.ocer-page-hero__badge { width: 190px; height: 190px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; color: #fff; background: var(--ocer-green-dark); box-shadow: var(--ocer-shadow); }
.ocer-page-hero__badge strong { font-size: 4rem; line-height: 1; }
.ocer-page-hero__badge span { max-width: 100px; text-align: center; font-size: .8rem; line-height: 1.3; }

/* Services details */
.ocer-service-detail { display: grid; grid-template-columns: 90px minmax(0,1.2fr) minmax(300px,.8fr); gap: clamp(30px,5vw,75px); align-items: start; padding: 70px 0; border-bottom: 1px solid var(--ocer-line); }
.ocer-service-detail:first-child { padding-top: 0; }
.ocer-service-detail__number { width: 72px; height: 72px; display: flex; align-items: center; justify-content: center; color: var(--ocer-green-dark); border: 1px solid #b8dab4; border-radius: 50%; font-weight: 850; }
.ocer-service-detail__copy > p:not(.ocer-eyebrow) { color: var(--ocer-ink-soft); font-size: 1.05rem; }
.ocer-service-detail__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.ocer-service-detail__tags span { padding: 8px 12px; color: var(--ocer-green-dark); background: var(--ocer-green-pale); border-radius: 999px; font-size: .78rem; font-weight: 750; }
.ocer-service-detail__panel { padding: 28px; border: 1px solid var(--ocer-line); border-radius: var(--ocer-radius); background: #fbfdfb; }
.ocer-service-detail__panel h3 { margin: 0 0 5px; font-size: .82rem; letter-spacing: .05em; text-transform: uppercase; }
.ocer-service-detail__panel p { color: var(--ocer-ink-soft); font-size: .9rem; }
.ocer-service-detail--premium .ocer-service-detail__panel { border-color: rgba(213,155,35,.35); background: #fffaf0; }
.ocer-process-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(420px,1.2fr); gap: clamp(50px,8vw,120px); align-items: start; }
.ocer-process-list { list-style: none; margin: 0; padding: 0; }
.ocer-process-list li { display: flex; gap: 20px; padding: 22px 0; border-bottom: 1px solid #cfdfce; }
.ocer-process-list li > span { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; color: #fff; background: var(--ocer-green-dark); border-radius: 50%; font-weight: 800; }
.ocer-process-list strong { display: block; font-size: 1.08rem; }
.ocer-process-list p { margin: 4px 0 0; color: var(--ocer-ink-soft); font-size: .9rem; }

/* Premium */
.ocer-premium-hero { position: relative; overflow: hidden; padding: clamp(80px,10vw,145px) 0; color: #fff; background: var(--ocer-ink); }
.ocer-premium-hero__glow { position: absolute; width: 580px; height: 580px; right: -120px; top: -200px; border-radius: 50%; background: radial-gradient(circle,rgba(60,172,47,.45),transparent 66%); }
.ocer-premium-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 440px; gap: clamp(50px,8vw,110px); align-items: center; }
.ocer-premium-hero .ocer-eyebrow { color: #a8ef9c; }
.ocer-premium-hero h1 { font-size: clamp(2.7rem,5vw,5rem); }
.ocer-premium-hero p:not(.ocer-eyebrow) { color: rgba(255,255,255,.75); font-size: 1.1rem; }
.ocer-premium-price { display: flex; align-items: baseline; gap: 12px; margin-top: 34px; }
.ocer-premium-price strong { font-size: clamp(1.8rem,3vw,3rem); }
.ocer-premium-price span { color: rgba(255,255,255,.6); }
.ocer-premium-card-preview { overflow: hidden; transform: rotate(3deg); border: 8px solid rgba(255,255,255,.95); border-radius: 24px; background: #fff; color: var(--ocer-ink); box-shadow: 0 35px 90px rgba(0,0,0,.4); }
.ocer-premium-card-preview__image { min-height: 230px; position: relative; background: linear-gradient(135deg,var(--ocer-green-dark),#83d46d); }
.ocer-premium-card-preview__image::after { content: ""; position: absolute; inset: 18% 10%; border: 2px solid rgba(255,255,255,.25); border-radius: 50%; box-shadow: 0 0 0 30px rgba(255,255,255,.08),0 0 0 60px rgba(255,255,255,.05); }
.ocer-premium-card-preview__image .ocer-premium-badge { position: absolute; z-index: 1; top: 18px; right: 18px; }
.ocer-premium-card-preview__body { padding: 28px; }
.ocer-premium-card-preview__body small { color: var(--ocer-green-dark); font-weight: 800; }
.ocer-premium-card-preview__body h3 { margin: 8px 0; font-size: 1.65rem; }
.ocer-premium-card-preview__body p { color: var(--ocer-ink-soft) !important; font-size: .9rem !important; }
.ocer-premium-card-preview__line { width: 100%; height: 8px; display: block; margin: 8px 0; border-radius: 8px; background: #e3e9e5; }
.ocer-premium-card-preview__line.is-short { width: 66%; }
.ocer-feature-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 46px; }
.ocer-feature-grid article { padding: 30px; border: 1px solid var(--ocer-line); border-radius: var(--ocer-radius); background: #fff; }
.ocer-feature-grid article > span { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; margin-bottom: 28px; color: var(--ocer-green-dark); background: var(--ocer-green-soft); border-radius: 14px; }
.ocer-feature-grid article > span .ocer-icon { width: 23px; height: 23px; }
.ocer-feature-grid p { margin-bottom: 0; color: var(--ocer-ink-soft); font-size: .9rem; }
.ocer-comparison-wrap { display: grid; grid-template-columns: minmax(0,.7fr) minmax(500px,1.3fr); gap: clamp(45px,7vw,100px); align-items: start; }
.ocer-comparison-table { overflow: hidden; border: 1px solid #c9dbc7; border-radius: var(--ocer-radius); background: #fff; }
.ocer-comparison-row { display: grid; grid-template-columns: 1fr 110px 110px; border-bottom: 1px solid var(--ocer-line); }
.ocer-comparison-row:last-child { border-bottom: 0; }
.ocer-comparison-row > * { display: flex; align-items: center; justify-content: center; padding: 15px; }
.ocer-comparison-row > span { justify-content: flex-start; font-size: .87rem; }
.ocer-comparison-row strong:last-child { color: var(--ocer-green-dark); background: #f0faeb; }
.ocer-comparison-head { color: #fff; background: var(--ocer-ink); }
.ocer-comparison-head strong:last-child { color: #fff; background: var(--ocer-green-dark); }
.ocer-purchase-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(390px,.75fr); gap: clamp(50px,8vw,110px); align-items: start; }
.ocer-purchase-card { padding: 34px; border: 1px solid var(--ocer-line); border-radius: var(--ocer-radius); background: #fff; box-shadow: var(--ocer-shadow-sm); }
.ocer-premium-form label { display: block; margin-bottom: 7px; font-weight: 800; }
.ocer-premium-form select { width: 100%; min-height: 52px; padding: 0 14px; border: 1px solid var(--ocer-line); border-radius: 10px; background: #fff; }
.ocer-premium-order-summary { display: flex; justify-content: space-between; gap: 20px; margin: 22px 0; padding: 18px 0; border-top: 1px solid var(--ocer-line); border-bottom: 1px solid var(--ocer-line); }
.ocer-premium-order-summary strong { color: var(--ocer-green-dark); }
.ocer-premium-form > small { display: block; margin-top: 12px; color: var(--ocer-muted); text-align: center; }

/* Authentication and forms */
.ocer-auth-section { background: #f8faf8; }
.ocer-auth-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(420px,.72fr); gap: clamp(45px,8vw,110px); align-items: center; }
.ocer-auth-aside { padding: 40px; color: #fff; border-radius: var(--ocer-radius-lg); background: linear-gradient(145deg,var(--ocer-green-deep),var(--ocer-green-dark)); box-shadow: var(--ocer-shadow); }
.ocer-auth-aside .ocer-eyebrow { color: #b6f4ae; }
.ocer-auth-card { overflow: hidden; border: 1px solid var(--ocer-line); border-radius: var(--ocer-radius); background: #fff; box-shadow: var(--ocer-shadow-sm); }
.ocer-auth-tabs { display: grid; grid-template-columns: 1fr 1fr; padding: 7px; background: #eef3ef; }
.ocer-auth-tabs button { min-height: 48px; border: 0; border-radius: 10px; background: transparent; color: var(--ocer-muted); font-weight: 800; }
.ocer-auth-tabs button[aria-selected="true"] { color: var(--ocer-ink); background: #fff; box-shadow: 0 4px 12px rgba(16,28,40,.08); }
.ocer-auth-panel { display: none; padding: 34px; }
.ocer-auth-layout[data-active-tab="login"] [data-ocer-auth-panel="login"],
.ocer-auth-layout[data-active-tab="register"] [data-ocer-auth-panel="register"] { display: block; }
.ocer-auth-panel > p { color: var(--ocer-muted); }
.ocer-auth-panel .login-username label,
.ocer-auth-panel .login-password label { display: block; margin-bottom: 7px; font-weight: 750; }
.ocer-auth-panel .input { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid var(--ocer-line); border-radius: 10px; }
.ocer-auth-panel .login-submit .button { width: 100%; min-height: 50px; border: 0; border-radius: 999px; background: var(--ocer-ink); color: #fff; font-weight: 800; }
.ocer-auth-help { display: block; margin-top: 14px; color: var(--ocer-green-dark) !important; text-align: center; font-size: .84rem; }
.ocer-form { display: grid; gap: 18px; }
.ocer-form label,.ocer-create-profile > label { display: grid; gap: 7px; color: var(--ocer-ink); font-size: .88rem; font-weight: 760; }
.ocer-form input:not([type="checkbox"]):not([type="radio"]),
.ocer-form textarea,
.ocer-form select,
.ocer-create-profile input[type="text"] { width: 100%; min-height: 50px; padding: 11px 14px; border: 1px solid var(--ocer-line); border-radius: 10px; color: var(--ocer-ink); background: #fff; }
.ocer-form textarea { min-height: 120px; resize: vertical; }
.ocer-form label small { color: var(--ocer-muted); font-weight: 500; }
.ocer-checkbox { grid-template-columns: 20px 1fr !important; align-items: start; gap: 10px !important; }
.ocer-checkbox input { margin-top: 5px; }
.ocer-honeypot { position: absolute !important; left: -9999px !important; }
.ocer-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.ocer-col-full { grid-column: 1 / -1; }
.ocer-alert { margin: 0 0 22px; padding: 15px 18px; border-radius: 11px; font-size: .9rem; }
.ocer-alert--success { color: #0a5e36; border: 1px solid #a7d8bc; background: #eaf8ef; }
.ocer-alert--error { color: #8d1d15; border: 1px solid #f2b8b5; background: #fff0ef; }
.ocer-alert--info { color: #1c4f70; border: 1px solid #b9d9ed; background: #eef8ff; }
.ocer-alert--warning { color: #6d4c00; border: 1px solid #e7cf84; background: #fff9df; }

/* Dashboard */
.ocer-dashboard-section { background: #f6f8f6; }
.ocer-dashboard-layout { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: 28px; align-items: start; }
.ocer-dashboard-sidebar { position: sticky; top: 110px; padding: 20px; border: 1px solid var(--ocer-line); border-radius: var(--ocer-radius); background: #fff; }
.ocer-dashboard-user { display: flex; align-items: center; gap: 12px; padding: 5px 5px 20px; border-bottom: 1px solid var(--ocer-line); }
.ocer-dashboard-user img { border-radius: 50%; }
.ocer-dashboard-user strong,.ocer-dashboard-user small { display: block; line-height: 1.3; }
.ocer-dashboard-user small { max-width: 140px; overflow: hidden; color: var(--ocer-muted); font-size: .7rem; text-overflow: ellipsis; }
.ocer-dashboard-nav { display: grid; gap: 5px; margin-top: 18px; }
.ocer-dashboard-nav a { display: flex; align-items: center; gap: 10px; padding: 11px 12px; border-radius: 10px; color: var(--ocer-ink-soft); font-size: .86rem; font-weight: 720; text-decoration: none; }
.ocer-dashboard-nav a:hover,.ocer-dashboard-nav a.is-active { color: var(--ocer-green-dark); background: var(--ocer-green-pale); }
.ocer-dashboard-logout { display: block; margin-top: 22px; padding: 15px 12px 2px; border-top: 1px solid var(--ocer-line); color: var(--ocer-danger) !important; font-size: .82rem; font-weight: 750; text-decoration: none; }
.ocer-dashboard-content { min-width: 0; min-height: 520px; padding: 32px; border: 1px solid var(--ocer-line); border-radius: var(--ocer-radius); background: #fff; }
.ocer-dashboard-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 28px; }
.ocer-dashboard-heading h2 { margin-bottom: 4px; font-size: 2rem; }
.ocer-dashboard-heading p { margin: 0; color: var(--ocer-muted); }
.ocer-back-link { display: inline-block; margin-bottom: 10px; color: var(--ocer-green-dark) !important; font-size: .8rem; font-weight: 750; text-decoration: none; }
.ocer-managed-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.ocer-managed-card { min-width: 0; display: grid; grid-template-columns: 112px minmax(0,1fr); overflow: hidden; border: 1px solid var(--ocer-line); border-radius: 16px; }
.ocer-managed-card__media { min-height: 165px; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(145deg,var(--ocer-green-dark),var(--ocer-green)); }
.ocer-managed-card__media img { width: 100%; height: 100%; object-fit: cover; }
.ocer-managed-card__media .ocer-icon { width: 42px; height: 42px; }
.ocer-managed-card__body { min-width: 0; padding: 20px; }
.ocer-managed-card__meta { display: flex; justify-content: space-between; gap: 8px; color: var(--ocer-muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.ocer-managed-card__meta b { color: var(--ocer-gold); }
.ocer-managed-card h3 { margin: 8px 0; overflow: hidden; font-size: 1.1rem; text-overflow: ellipsis; white-space: nowrap; }
.ocer-managed-card p { color: var(--ocer-muted); font-size: .74rem; }
.ocer-status-dot { width: 8px; height: 8px; display: inline-block; margin-right: 6px; border-radius: 50%; }
.ocer-status-dot.is-online { background: var(--ocer-green); }
.ocer-status-dot.is-offline { background: #9ba4aa; }
.ocer-managed-card__actions { display: flex; align-items: center; gap: 13px; }
.ocer-status-panel,.ocer-plan-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding: 18px 20px; border: 1px solid var(--ocer-line); border-radius: 14px; background: #fbfcfb; }
.ocer-status-panel strong,.ocer-status-panel span { display: block; }
.ocer-status-panel span { color: var(--ocer-muted); font-size: .8rem; }
.ocer-switch-button { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 0; border-radius: 999px; font-size: .75rem; font-weight: 800; }
.ocer-switch-button span { width: 27px; height: 16px; position: relative; border-radius: 20px; background: rgba(255,255,255,.45); }
.ocer-switch-button span::after { content: ""; position: absolute; width: 12px; height: 12px; top: 2px; left: 2px; border-radius: 50%; background: #fff; transition: left var(--ocer-transition); }
.ocer-switch-button.is-online { color: #fff; background: var(--ocer-green-dark); }
.ocer-switch-button.is-online span::after { left: 13px; }
.ocer-switch-button.is-offline { color: var(--ocer-ink); background: #e3e8e5; }
.ocer-plan-panel > div { display: flex; align-items: center; gap: 12px; }
.ocer-plan-panel > div > .ocer-icon { width: 36px; height: 36px; padding: 8px; color: var(--ocer-gold); background: #fff7df; border-radius: 10px; }
.ocer-plan-panel strong,.ocer-plan-panel small { display: block; }
.ocer-plan-panel small { color: var(--ocer-muted); }
.ocer-plan-panel > a { color: var(--ocer-green-dark); font-weight: 800; }
.ocer-plan-panel.is-premium { border-color: rgba(213,155,35,.4); background: #fffaf0; }
.ocer-editor-card { position: relative; padding: 26px; border: 1px solid var(--ocer-line); border-radius: 16px; }
.ocer-editor-card .acf-fields > .acf-field { padding: 18px 0; border-top: 1px solid var(--ocer-line); }
.ocer-editor-card .acf-label label { color: var(--ocer-ink); font-size: .88rem; }
.ocer-editor-card .acf-input input[type="text"],.ocer-editor-card .acf-input input[type="url"],.ocer-editor-card .acf-input input[type="email"],.ocer-editor-card .acf-input input[type="number"],.ocer-editor-card .acf-input select,.ocer-editor-card .acf-input textarea { min-height: 48px; border: 1px solid var(--ocer-line); border-radius: 9px; box-shadow: none; }
.ocer-editor-card .acf-form-submit { position: sticky; z-index: 5; bottom: 14px; display: flex; justify-content: flex-end; padding: 14px; margin: 24px -10px -10px; border: 1px solid var(--ocer-line); border-radius: 13px; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); }
.ocer-editor-card .ocer-acf-submit { min-height: 46px !important; padding: 0 24px !important; border: 0 !important; border-radius: 999px !important; background: var(--ocer-ink) !important; color: #fff !important; font-weight: 800 !important; }
.ocer-create-profile { display: grid; gap: 24px; }
.ocer-type-selector { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.ocer-type-option { position: relative; display: flex; min-height: 220px; flex-direction: column; padding: 24px; border: 1px solid var(--ocer-line); border-radius: 15px; cursor: pointer; transition: all var(--ocer-transition); }
.ocer-type-option input { position: absolute; opacity: 0; }
.ocer-type-option:has(input:checked) { border-color: var(--ocer-green); background: var(--ocer-green-pale); box-shadow: 0 0 0 2px rgba(60,172,47,.12); }
.ocer-type-option__icon { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; margin-bottom: auto; color: var(--ocer-green-dark); background: var(--ocer-green-soft); border-radius: 13px; }
.ocer-type-option strong { margin-top: 25px; }
.ocer-type-option small { margin-top: 7px; color: var(--ocer-muted); line-height: 1.5; }
.ocer-claim-card { padding: 28px; border: 1px solid var(--ocer-line); border-radius: 16px; background: #fbfcfb; }
.ocer-claim-card > label { display: block; margin-bottom: 7px; font-weight: 780; }
.ocer-claim-search-box { position: relative; }
.ocer-claim-search-box > .ocer-icon { position: absolute; top: 15px; left: 15px; color: var(--ocer-green-dark); }
.ocer-claim-search-box input { width: 100%; min-height: 52px; padding: 0 45px; border: 1px solid var(--ocer-line); border-radius: 10px; background: #fff; }
.ocer-claim-results { display: grid; gap: 8px; margin-top: 16px; }
.ocer-claim-results > p { color: var(--ocer-muted); font-size: .86rem; }
.ocer-claim-result { width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 15px; padding: 14px 16px; border: 1px solid var(--ocer-line); border-radius: 10px; text-align: left; background: #fff; }
.ocer-claim-result:hover { border-color: var(--ocer-green); }
.ocer-claim-result strong,.ocer-claim-result small { display: block; }
.ocer-claim-result small { color: var(--ocer-muted); }
.ocer-claim-form { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--ocer-line); }
.ocer-selected-profile { padding: 13px 15px; color: var(--ocer-green-dark); background: var(--ocer-green-pale); border-radius: 9px; font-weight: 800; }

/* Public profile */
.ocer-profile-hero { position: relative; isolation: isolate; overflow: hidden; padding: 95px 0 70px; color: #fff; background: linear-gradient(125deg,var(--ocer-ink),var(--ocer-green-deep)); }
.ocer-profile-hero.has-cover { background-image: var(--ocer-cover); background-position: center; background-size: cover; }
.ocer-profile-hero__overlay { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,rgba(7,18,27,.94) 0%,rgba(7,18,27,.77) 53%,rgba(7,18,27,.4) 100%); }
.ocer-profile-hero__inner { display: flex; align-items: end; justify-content: space-between; gap: 35px; }
.ocer-profile-identity { display: flex; align-items: center; gap: 25px; min-width: 0; }
.ocer-profile-logo { width: 128px; height: 128px; flex: 0 0 128px; display: flex; align-items: center; justify-content: center; overflow: hidden; padding: 12px; border: 5px solid rgba(255,255,255,.65); border-radius: 25px; color: var(--ocer-green-dark); background: #fff; box-shadow: var(--ocer-shadow); }
.ocer-profile-logo img { width: 100%; height: 100%; object-fit: contain; }
.ocer-profile-logo .ocer-icon { width: 48px; height: 48px; }
.ocer-profile-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.ocer-profile-badges > span,.ocer-profile-badges > b { display: inline-flex; align-items: center; gap: 5px; padding: 7px 10px; border-radius: 999px; color: #fff; background: rgba(255,255,255,.15); font-size: .67rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.ocer-profile-badges > b { background: var(--ocer-gold); }
.ocer-profile-identity h1 { max-width: 850px; margin-bottom: 10px; font-size: clamp(2.35rem,4.5vw,4.6rem); }
.ocer-profile-identity p { display: flex; align-items: center; gap: 8px; margin: 0; color: rgba(255,255,255,.76); }
.ocer-profile-layout { display: grid; grid-template-columns: minmax(0,1fr) 350px; gap: clamp(45px,7vw,85px); align-items: start; padding-top: 70px; padding-bottom: 110px; }
.ocer-profile-tagline { margin-bottom: 55px !important; padding-left: 25px; border-left: 4px solid var(--ocer-green); color: var(--ocer-ink); font-size: clamp(1.25rem,2vw,1.65rem); font-weight: 620; line-height: 1.45; }
.ocer-profile-section { padding: 0 0 55px; margin-bottom: 55px; border-bottom: 1px solid var(--ocer-line); }
.ocer-profile-section:last-child { border-bottom: 0; }
.ocer-profile-section h2 { font-size: clamp(1.8rem,3vw,2.7rem); }
.ocer-service-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.ocer-service-chips span { display: inline-flex; align-items: center; gap: 7px; padding: 10px 13px; color: var(--ocer-green-dark); background: var(--ocer-green-pale); border-radius: 999px; font-size: .84rem; font-weight: 720; }
.ocer-service-chips .ocer-icon { width: 17px; height: 17px; }
.ocer-profile-data { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; border-top: 1px solid var(--ocer-line); border-left: 1px solid var(--ocer-line); }
.ocer-profile-data > div { padding: 18px; border-right: 1px solid var(--ocer-line); border-bottom: 1px solid var(--ocer-line); }
.ocer-profile-data dt { color: var(--ocer-muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.ocer-profile-data dd { margin: 5px 0 0; color: var(--ocer-ink); font-weight: 700; }
.ocer-profile-gallery { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.ocer-profile-gallery a { aspect-ratio: 1.25; overflow: hidden; border-radius: 13px; }
.ocer-profile-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--ocer-transition); }
.ocer-profile-gallery a:hover img { transform: scale(1.04); }
.ocer-video-embed { overflow: hidden; aspect-ratio: 16/9; border-radius: var(--ocer-radius); }
.ocer-video-embed iframe { width: 100%; height: 100%; }
.ocer-profile-sidebar { position: sticky; top: 115px; display: grid; gap: 18px; }
.ocer-contact-card,.ocer-sidebar-card { padding: 25px; border: 1px solid var(--ocer-line); border-radius: var(--ocer-radius); background: #fff; box-shadow: var(--ocer-shadow-sm); }
.ocer-contact-card h2 { font-size: 1.65rem; }
.ocer-contact-card > p:not(.ocer-eyebrow),.ocer-sidebar-card p { color: var(--ocer-ink-soft); font-size: .86rem; }
.ocer-contact-list { display: grid; gap: 2px; margin-top: 20px; }
.ocer-contact-list a { min-width: 0; display: flex; align-items: center; gap: 12px; padding: 13px 0; border-top: 1px solid var(--ocer-line); text-decoration: none; }
.ocer-contact-list a > .ocer-icon { width: 37px; height: 37px; padding: 9px; color: var(--ocer-green-dark); background: var(--ocer-green-pale); border-radius: 10px; }
.ocer-contact-list a span { min-width: 0; overflow: hidden; font-size: .82rem; font-weight: 750; text-overflow: ellipsis; }
.ocer-contact-list small { display: block; color: var(--ocer-muted); font-size: .65rem; font-weight: 600; text-transform: uppercase; }
.ocer-sidebar-card h3 { font-size: 1.05rem; }
.ocer-tag-list { display: flex; flex-wrap: wrap; gap: 7px; }
.ocer-tag-list a { padding: 7px 9px; color: var(--ocer-green-dark); background: var(--ocer-green-pale); border-radius: 999px; font-size: .72rem; text-decoration: none; }
.ocer-sidebar-card--meta { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ocer-sidebar-card--meta span,.ocer-sidebar-card--meta strong { display: block; }
.ocer-sidebar-card--meta span { color: var(--ocer-muted); font-size: .68rem; }
.ocer-sidebar-card--meta strong { margin-top: 3px; font-size: .85rem; }

/* Blog */
.ocer-blog-search { max-width: 600px; position: relative; display: flex; margin-top: 30px; padding: 7px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(255,255,255,.1); }
.ocer-blog-search > .ocer-icon { position: absolute; left: 19px; top: 19px; }
.ocer-blog-search input { min-width: 0; flex: 1; height: 45px; padding: 0 15px 0 42px; border: 0; outline: 0; color: #fff; background: transparent; }
.ocer-blog-search input::placeholder { color: rgba(255,255,255,.65); }
.ocer-blog-search button { padding: 0 20px; border: 0; border-radius: 999px; background: #fff; color: var(--ocer-ink); font-weight: 800; }
.ocer-category-nav { position: sticky; z-index: 40; top: 86px; overflow-x: auto; border-bottom: 1px solid var(--ocer-line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.ocer-category-nav .ocer-container { display: flex; gap: 4px; min-width: max-content; padding-top: 10px; padding-bottom: 10px; }
.ocer-category-nav a { padding: 9px 13px; border-radius: 999px; color: var(--ocer-ink-soft); font-size: .78rem; font-weight: 750; text-decoration: none; white-space: nowrap; }
.ocer-category-nav a:hover,.ocer-category-nav a.is-active { color: var(--ocer-green-dark); background: var(--ocer-green-pale); }
.ocer-blog-page { padding-top: 65px; }
.ocer-featured-post { display: grid; grid-template-columns: 1.15fr .85fr; overflow: hidden; margin-bottom: 80px; border: 1px solid var(--ocer-line); border-radius: var(--ocer-radius-lg); background: #fff; box-shadow: var(--ocer-shadow-sm); }
.ocer-featured-post__media { min-height: 470px; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; color: var(--ocer-green-dark); background: var(--ocer-green-soft); }
.ocer-featured-post__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ocer-featured-post__media .ocer-icon { width: 80px; height: 80px; }
.ocer-featured-post__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(35px,5vw,65px); }
.ocer-featured-post__copy h2 { font-size: clamp(2rem,3.2vw,3.2rem); }
.ocer-featured-post__copy h2 a { text-decoration: none; }
.ocer-featured-post__copy > p { color: var(--ocer-ink-soft); }
.ocer-article-header { padding: 90px 0 0; background: linear-gradient(180deg,#f4fbef 0,#fff 100%); }
.ocer-article-header__inner { max-width: 950px; }
.ocer-article-header h1 { max-width: 1000px; font-size: clamp(2.6rem,5.2vw,5.2rem); }
.ocer-article-excerpt { max-width: 840px; color: var(--ocer-ink-soft); font-size: 1.2rem; }
.ocer-article-author { display: flex; align-items: center; gap: 10px; margin: 30px 0 45px; }
.ocer-article-author img { border-radius: 50%; }
.ocer-article-author small,.ocer-article-author strong { display: block; line-height: 1.25; }
.ocer-article-author small { color: var(--ocer-muted); font-size: .68rem; }
.ocer-article-cover { overflow: hidden; max-height: 680px; border-radius: var(--ocer-radius-lg); box-shadow: var(--ocer-shadow); }
.ocer-article-cover img { width: 100%; height: 100%; object-fit: cover; }
.ocer-article-layout { display: grid; grid-template-columns: minmax(0,760px) 160px; justify-content: center; gap: 70px; padding-top: 80px; padding-bottom: 80px; }
.ocer-article-content { font-size: 1.1rem; line-height: 1.82; }
.ocer-article-aside { position: relative; }
.ocer-share-box { position: sticky; top: 120px; display: grid; gap: 7px; }
.ocer-share-box strong { margin-bottom: 6px; font-size: .75rem; text-transform: uppercase; }
.ocer-share-box a { color: var(--ocer-green-dark); font-size: .8rem; font-weight: 760; text-decoration: none; }
.ocer-article-footer { padding: 45px 0 90px; }
.ocer-article-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding-bottom: 30px; border-bottom: 1px solid var(--ocer-line); }
.ocer-article-tags a { padding: 7px 10px; border-radius: 999px; background: var(--ocer-green-pale); color: var(--ocer-green-dark); font-size: .76rem; text-decoration: none; }
.ocer-article-footer .post-navigation .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-top: 30px; }
.ocer-article-footer .post-navigation a { display: block; padding: 22px; border: 1px solid var(--ocer-line); border-radius: 14px; text-decoration: none; }
.ocer-article-footer .post-navigation span,.ocer-article-footer .post-navigation strong { display: block; }
.ocer-article-footer .post-navigation span { color: var(--ocer-muted); font-size: .68rem; text-transform: uppercase; }

/* Legal */
.ocer-legal-section { background: #fbfcfb; }
.ocer-legal-layout { display: grid; grid-template-columns: 230px minmax(0,800px); justify-content: center; gap: 70px; align-items: start; }
.ocer-legal-aside { position: sticky; top: 120px; padding: 20px; border: 1px solid var(--ocer-line); border-radius: 14px; background: #fff; }
.ocer-legal-aside > strong { font-size: .8rem; text-transform: uppercase; }
.ocer-legal-aside nav { display: grid; margin-top: 10px; }
.ocer-legal-aside a { padding: 7px 0; color: var(--ocer-ink-soft); font-size: .78rem; text-decoration: none; }
.ocer-legal-aside a:hover { color: var(--ocer-green-dark); }
.ocer-legal-content { padding: 45px; border: 1px solid var(--ocer-line); border-radius: var(--ocer-radius); background: #fff; }
.ocer-legal-intro { font-size: 1.15rem; color: var(--ocer-ink); }
.ocer-legal-content h2 { margin-top: 1.8em; font-size: 1.65rem; letter-spacing: -.02em; }
.ocer-legal-content p { color: var(--ocer-ink-soft); }

/* Error and search */
.ocer-error-page { min-height: 70vh; display: flex; align-items: center; padding: 100px 0; text-align: center; background: var(--ocer-green-pale); }
.ocer-error-page .ocer-container { max-width: 800px; }
.ocer-error-page .ocer-container > span { display: block; color: rgba(60,172,47,.18); font-size: clamp(7rem,20vw,16rem); font-weight: 900; line-height: .7; }
.ocer-error-page .ocer-eyebrow { justify-content: center; margin-top: 30px !important; }
.ocer-error-page p:not(.ocer-eyebrow) { color: var(--ocer-ink-soft); }
.ocer-error-page .ocer-button { margin: 5px; }
.ocer-search-results { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }

/* Responsive */
@media (max-width: 1180px) {
  .ocer-brand { width: 225px; }
  .ocer-menu { gap: 15px; }
  .ocer-menu > li > a { font-size: .79rem; }
  .ocer-header-account { width: 44px; padding-inline: 0; font-size: 0; }
  .ocer-header-account .ocer-icon { font-size: 1rem; }
  .ocer-directory-filters:not(.ocer-directory-filters--compact) { grid-template-columns: repeat(3,1fr); }
  .ocer-directory-filters:not(.ocer-directory-filters--compact) .ocer-filter--search { grid-column: span 2; }
  .ocer-category-grid,.ocer-service-grid { grid-template-columns: repeat(2,1fr); }
  .ocer-news-grid { grid-template-columns: repeat(3,1fr); }
  .ocer-feature-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 980px) {
  .ocer-site-header__inner { min-height: 76px; }
  .ocer-brand { width: min(250px,62vw); }
  .ocer-menu-toggle { display: inline-flex; }
  .ocer-menu-toggle__open,.ocer-menu-toggle__close { display: flex; }
  .ocer-menu-toggle__close { display: none; }
  .is-menu-open .ocer-menu-toggle__open { display: none; }
  .is-menu-open .ocer-menu-toggle__close { display: flex; }
  .ocer-navigation-panel { position: fixed; z-index: 1002; top: 0; right: 0; width: min(88vw,420px); height: 100dvh; display: block; overflow-y: auto; padding: 95px 25px 35px; transform: translateX(105%); background: #fff; box-shadow: -20px 0 50px rgba(16,28,40,.16); transition: transform 250ms ease; }
  .is-menu-open .ocer-navigation-panel { transform: translateX(0); }
  .ocer-menu { display: block; }
  .ocer-menu > li { border-bottom: 1px solid var(--ocer-line); }
  .ocer-menu > li > a { min-height: 54px; font-size: 1rem; }
  .ocer-menu .sub-menu { position: static; min-width: 0; visibility: visible; opacity: 1; transform: none; display: block; padding: 0 0 10px 12px; border: 0; box-shadow: none; }
  .ocer-header-actions { display: grid; grid-template-columns: 1fr; margin-top: 28px; }
  .ocer-header-account { width: auto; font-size: .91rem; }
  .ocer-menu-backdrop { position: fixed; z-index: 1001; inset: 0; display: block; visibility: hidden; opacity: 0; background: rgba(6,16,22,.5); transition: opacity 250ms ease,visibility 250ms ease; }
  .is-menu-open .ocer-menu-backdrop { visibility: visible; opacity: 1; }
  .ocer-hero { min-height: auto; }
  .ocer-hero__grid,.ocer-platform-grid,.ocer-premium-hero__grid { grid-template-columns: 1fr; }
  .ocer-hero__visual { width: min(100%,650px); margin-inline: auto; }
  .ocer-split,.ocer-process-layout,.ocer-comparison-wrap,.ocer-purchase-layout,.ocer-auth-layout { grid-template-columns: 1fr; }
  .ocer-platform-grid { gap: 70px; }
  .ocer-profile-grid { grid-template-columns: repeat(2,1fr); }
  .ocer-news-grid { grid-template-columns: repeat(2,1fr); }
  .ocer-footer-grid { grid-template-columns: 1.6fr 1fr 1fr; }
  .ocer-footer-column:last-child { grid-column: 1 / -1; }
  .ocer-service-detail { grid-template-columns: 70px minmax(0,1fr); }
  .ocer-service-detail__panel { grid-column: 2; }
  .ocer-dashboard-layout { grid-template-columns: 1fr; }
  .ocer-dashboard-sidebar { position: static; }
  .ocer-dashboard-nav { grid-template-columns: repeat(4,1fr); }
  .ocer-dashboard-nav a { flex-direction: column; text-align: center; }
  .ocer-dashboard-logout { text-align: center; }
  .ocer-profile-layout { grid-template-columns: 1fr; }
  .ocer-profile-sidebar { position: static; grid-template-columns: repeat(2,1fr); }
  .ocer-contact-card { grid-row: span 2; }
  .ocer-featured-post { grid-template-columns: 1fr; }
  .ocer-featured-post__media { min-height: 400px; }
  .ocer-article-layout { grid-template-columns: minmax(0,760px); }
  .ocer-article-aside { display: none; }
  .ocer-legal-layout { grid-template-columns: 1fr; gap: 25px; }
  .ocer-legal-aside { position: static; }
  .ocer-legal-aside nav { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 720px) {
  .ocer-container { width: min(calc(100% - 28px),var(--ocer-container)); }
  .ocer-section { padding: 70px 0; }
  body.ocer-v2 h1 { font-size: clamp(2.25rem,12vw,3.6rem); }
  body.ocer-v2 h2 { font-size: clamp(1.85rem,9vw,2.75rem); }
  .ocer-hero { padding-top: 42px; }
  .ocer-hero__grid { gap: 55px; }
  .ocer-directory-filters--compact { max-width: none; flex-direction: column; border-radius: 18px; }
  .ocer-directory-filters--compact .ocer-filter--search { width: 100%; }
  .ocer-directory-filters:not(.ocer-directory-filters--compact) { grid-template-columns: 1fr; padding: 16px; }
  .ocer-directory-filters:not(.ocer-directory-filters--compact) .ocer-filter--search { grid-column: auto; }
  .ocer-hero__actions,.ocer-hero__actions .ocer-button { width: 100%; }
  .ocer-hero__trust { display: grid; grid-template-columns: repeat(3,1fr); }
  .ocer-hero__trust > div { min-width: 0; margin: 0; padding-right: 12px; }
  .ocer-hero__trust strong { font-size: 1rem; }
  .ocer-hero__visual { min-height: 470px; }
  .ocer-hero-card { border-width: 4px; border-radius: 18px; }
  .ocer-hero-float { left: 0; bottom: 5%; }
  .ocer-section-heading--row,.ocer-cta-band__inner,.ocer-inline-cta__inner,.ocer-footer-bottom,.ocer-profile-hero__inner,.ocer-dashboard-heading,.ocer-status-panel,.ocer-plan-panel { align-items: flex-start; flex-direction: column; }
  .ocer-category-grid,.ocer-service-grid,.ocer-profile-grid,.ocer-news-grid,.ocer-feature-grid,.ocer-search-results { grid-template-columns: 1fr; }
  .ocer-category-card { min-height: 220px; }
  .ocer-service-card { min-height: 310px; }
  .ocer-dashboard-preview { transform: none; }
  .ocer-dashboard-preview__body { min-height: 280px; }
  .ocer-dashboard-preview__content { padding: 20px; }
  .ocer-cta-band__actions,.ocer-cta-band__actions .ocer-button { width: 100%; }
  .ocer-footer-grid { grid-template-columns: 1fr 1fr; }
  .ocer-footer-brand { grid-column: 1 / -1; }
  .ocer-footer-column:last-child { grid-column: auto; }
  .ocer-footer-bottom nav { justify-content: flex-start; }
  .ocer-page-hero__split { grid-template-columns: 1fr; }
  .ocer-page-hero__badge { width: 130px; height: 130px; }
  .ocer-page-hero__badge strong { font-size: 3rem; }
  .ocer-service-detail { grid-template-columns: 1fr; gap: 22px; padding: 55px 0; }
  .ocer-service-detail__panel { grid-column: auto; }
  .ocer-feature-grid article { padding: 24px; }
  .ocer-comparison-table { overflow-x: auto; }
  .ocer-comparison-row { min-width: 560px; }
  .ocer-auth-aside { padding: 28px; }
  .ocer-auth-panel { padding: 25px; }
  .ocer-dashboard-content { padding: 20px; }
  .ocer-dashboard-nav { grid-template-columns: repeat(2,1fr); }
  .ocer-managed-grid { grid-template-columns: 1fr; }
  .ocer-managed-card { grid-template-columns: 95px minmax(0,1fr); }
  .ocer-type-selector { grid-template-columns: 1fr; }
  .ocer-type-option { min-height: 170px; }
  .ocer-form-grid { grid-template-columns: 1fr; }
  .ocer-col-full { grid-column: auto; }
  .ocer-profile-identity { align-items: flex-start; flex-direction: column; }
  .ocer-profile-logo { width: 100px; height: 100px; flex-basis: 100px; }
  .ocer-profile-sidebar { grid-template-columns: 1fr; }
  .ocer-contact-card { grid-row: auto; }
  .ocer-profile-data { grid-template-columns: 1fr; }
  .ocer-profile-gallery { grid-template-columns: repeat(2,1fr); }
  .ocer-premium-card-preview { width: min(100%,440px); margin-inline: auto; }
  .ocer-featured-post__media { min-height: 290px; }
  .ocer-article-header { padding-top: 60px; }
  .ocer-article-cover { border-radius: 18px; }
  .ocer-article-layout { padding-top: 55px; }
  .ocer-article-footer .post-navigation .nav-links { grid-template-columns: 1fr; }
  .ocer-legal-aside nav { grid-template-columns: 1fr 1fr; }
  .ocer-legal-content { padding: 25px; }
}

@media (max-width: 460px) {
  .ocer-brand { width: 205px; }
  .ocer-site-header__inner { min-height: 70px; }
  .ocer-hero__trust { grid-template-columns: 1fr; }
  .ocer-hero__trust > div { padding: 12px 0; border-right: 0; border-bottom: 1px solid var(--ocer-line); }
  .ocer-hero__visual { min-height: 390px; }
  .ocer-hero-float { max-width: 220px; }
  .ocer-footer-grid { grid-template-columns: 1fr; }
  .ocer-footer-brand,.ocer-footer-column:last-child { grid-column: auto; }
  .ocer-profile-gallery { grid-template-columns: 1fr; }
  .ocer-sidebar-card--meta { grid-template-columns: 1fr; }
  .ocer-legal-aside nav { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
.ocer-lightbox { position: fixed; z-index: 100000; inset: 0; display: flex; align-items: center; justify-content: center; padding: 30px; background: rgba(4,10,14,.92); }
.ocer-lightbox img { max-width: min(1200px,94vw); max-height: 88vh; object-fit: contain; border-radius: 12px; }
.ocer-lightbox button { position: fixed; top: 18px; right: 22px; width: 46px; height: 46px; border: 0; border-radius: 50%; color: #fff; background: rgba(255,255,255,.15); font-size: 30px; line-height: 1; }
[data-ocer-claim-loading].is-loading { position: absolute; right: 15px; top: 16px; width: 20px; height: 20px; border: 2px solid #d4ddd7; border-top-color: var(--ocer-green); border-radius: 50%; animation: ocer-spin .7s linear infinite; }
@keyframes ocer-spin { to { transform: rotate(360deg); } }
.ocer-standard-search { position: relative; display: flex; }
.ocer-standard-search label { flex: 1; }
.ocer-standard-search input { width: 100%; min-height: 48px; padding: 0 50px 0 14px; border: 1px solid var(--ocer-line); border-radius: 999px; }
.ocer-standard-search button { position: absolute; right: 5px; top: 5px; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; color: #fff; background: var(--ocer-green-dark); }
/* ===== Osservatorio CER Smart 3.0 ===== */
.ocer-smart-header{background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(14,55,36,.08)}
.ocer-smart-header .ocer-site-header__inner{min-height:78px;gap:24px}.ocer-smart-header .ocer-brand img{max-width:245px;max-height:55px}.ocer-desktop-nav{margin-left:auto}.ocer-desktop-nav .ocer-menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.ocer-desktop-nav .ocer-menu>li{position:relative}.ocer-desktop-nav .ocer-menu>li>a{display:flex;padding:12px 13px;border-radius:12px;font-weight:650;color:var(--ocer-ink);text-decoration:none;white-space:nowrap}.ocer-desktop-nav .ocer-menu>li>a:hover{background:var(--ocer-soft);color:var(--ocer-green)}.ocer-desktop-nav .sub-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:260px;padding:10px;margin:0;list-style:none;background:#fff;border:1px solid rgba(14,55,36,.1);box-shadow:0 18px 50px rgba(9,45,29,.12);border-radius:18px;opacity:0;visibility:hidden;transform:translateY(7px);transition:.2s}.ocer-desktop-nav li:hover>.sub-menu,.ocer-desktop-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}.ocer-desktop-nav .sub-menu a{display:block;padding:11px 12px;border-radius:10px;text-decoration:none;color:var(--ocer-ink)}.ocer-desktop-nav .sub-menu a:hover{background:var(--ocer-soft);color:var(--ocer-green)}
.ocer-hero__copy h1{font-size:clamp(2.55rem,4.55vw,4.65rem);line-height:.98;max-width:820px;letter-spacing:-.045em}.ocer-hero__lead{max-width:700px}
.ocer-mobile-panel{display:none}.ocer-menu-toggle{display:none}.ocer-map-shell{margin:26px 0 38px;border:1px solid rgba(14,55,36,.12);border-radius:24px;overflow:hidden;background:#fff}.ocer-map-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px}.ocer-map-head span{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ocer-green);font-weight:800}.ocer-map-head h2{margin:4px 0 0;font-size:1.35rem}.ocer-map-canvas{height:min(62vh,620px);min-height:420px;background:var(--ocer-soft)}
.ocer-suite-panel{background:#fff;border:1px solid rgba(14,55,36,.1);border-radius:26px;padding:26px;box-shadow:0 18px 55px rgba(9,45,29,.06)}.ocer-suite-panel__head{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid rgba(14,55,36,.08);padding-bottom:18px;margin-bottom:18px}.ocer-suite-panel__head span{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ocer-green);font-weight:800}.ocer-suite-panel__head h2{margin:5px 0 0}.ocer-suite-panel__head>strong{font-size:2rem;color:var(--ocer-green)}.ocer-lead-list{display:grid;gap:16px}.ocer-lead-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:24px;padding:20px;border:1px solid rgba(14,55,36,.1);border-radius:20px}.ocer-lead-card__main small{color:var(--ocer-muted)}.ocer-lead-card__main h3{margin:5px 0 8px}.ocer-lead-contact{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.ocer-lead-contact a{font-weight:700;color:var(--ocer-green)}.ocer-lead-form{display:grid;gap:10px}.ocer-lead-form select,.ocer-lead-form textarea{width:100%;border:1px solid rgba(14,55,36,.16);border-radius:12px;padding:11px 12px;background:#fff}.ocer-form-status{font-size:.85rem;color:var(--ocer-green);font-weight:700}.ocer-dashboard-leads{padding-top:24px}
@media(max-width:1050px){.ocer-desktop-nav,.ocer-smart-header>.ocer-container>.ocer-header-actions{display:none}.ocer-menu-toggle{display:inline-flex;margin-left:auto}.ocer-mobile-panel{position:fixed;display:block;top:0;right:0;bottom:0;width:min(88vw,390px);background:#fff;z-index:9999;padding:24px;transform:translateX(105%);transition:transform .28s ease;box-shadow:-18px 0 60px rgba(9,45,29,.16);overflow:auto}.ocer-mobile-panel.is-open{transform:none}.ocer-mobile-panel__head{padding:6px 0 20px;border-bottom:1px solid rgba(14,55,36,.1);margin-bottom:12px}.ocer-mobile-panel nav{display:grid}.ocer-mobile-panel nav>a,.ocer-mobile-panel summary{padding:14px 4px;font-weight:750;color:var(--ocer-ink);text-decoration:none;border-bottom:1px solid rgba(14,55,36,.08);cursor:pointer}.ocer-mobile-panel details>a{display:block;padding:11px 14px;color:var(--ocer-muted);text-decoration:none}.ocer-mobile-panel__actions{padding-top:22px}.ocer-mobile-panel__actions .ocer-button{width:100%;justify-content:center}.ocer-lead-card{grid-template-columns:1fr}}
@media(max-width:680px){.ocer-smart-header .ocer-site-header__inner{min-height:68px}.ocer-smart-header .ocer-brand img{max-width:190px}.ocer-hero__copy h1{font-size:clamp(2.2rem,11vw,3.15rem)}.ocer-map-head{align-items:flex-start;flex-direction:column}.ocer-map-head .ocer-button{width:100%}.ocer-map-canvas{min-height:360px;height:58vh}.ocer-suite-panel{padding:18px}.ocer-lead-card{padding:16px}.ocer-page-hero h1{font-size:clamp(2.1rem,10vw,3.4rem)}}

/* v3.0.2 - header resiliente */
@media (min-width:1221px){.ocer-site-header__inner{gap:18px}.ocer-desktop-nav .ocer-menu{gap:4px}.ocer-desktop-nav .ocer-menu>li>a{padding:10px 9px;font-size:14px;white-space:nowrap}.ocer-header-actions{gap:8px}.ocer-header-actions .ocer-button{padding:11px 14px;white-space:nowrap}}
@media(max-width:1220px){.ocer-desktop-nav,.ocer-smart-header>.ocer-container>.ocer-header-actions{display:none!important}.ocer-menu-toggle{display:inline-flex!important;margin-left:auto}.ocer-mobile-panel{position:fixed;display:block;top:0;right:0;bottom:0;width:min(88vw,390px);background:#fff;z-index:9999;padding:24px;transform:translateX(105%);transition:transform .28s ease;box-shadow:-18px 0 60px rgba(9,45,29,.16);overflow:auto}.ocer-mobile-panel.is-open{transform:none}}


/* ===== Osservatorio CER 3.2 — standalone + Wallet/Stripe ===== */
.ocer-desktop-nav .sub-menu{top:calc(100% - 2px)!important;padding-top:14px!important}
.ocer-desktop-nav .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:18px}
.ocer-hero__copy{max-width:680px}
.ocer-hero__copy h1{font-size:clamp(2.75rem,4.05vw,4.05rem)!important;line-height:1.02!important;max-width:680px!important;letter-spacing:-.045em}
.ocer-hero__visual{min-height:540px}
.ocer-hero-card--fa{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:30px;color:#fff;overflow:hidden}
.ocer-hero-card--fa>i{position:absolute;right:22px;top:22px;font-size:72px;opacity:.28}
.ocer-hero-card--fa strong{font-size:1.55rem;line-height:1.05;margin-bottom:7px}.ocer-hero-card--fa small{font-size:.85rem;max-width:190px;line-height:1.4;color:rgba(255,255,255,.84)}
.ocer-hero-card--1.ocer-hero-card--fa{background:linear-gradient(145deg,#087640,#3cac2f)}
.ocer-hero-card--2.ocer-hero-card--fa{background:linear-gradient(145deg,#128c81,#61cdbf)}
.ocer-hero-card--3.ocer-hero-card--fa{background:linear-gradient(145deg,#172a3b,#315c68)}
.ocer-auth-section--compact{padding-top:54px!important}.ocer-service-page-intro{max-width:760px;margin-bottom:42px}.ocer-service-page-intro h1{font-size:clamp(2.25rem,4vw,3.55rem)!important;margin-bottom:12px}.ocer-service-page-intro>p:not(.ocer-eyebrow){color:var(--ocer-ink-soft);font-size:1.05rem}
.ocer-dashboard-section{padding-top:42px!important}.ocer-dashboard-compact-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid var(--ocer-line)}.ocer-dashboard-compact-head h1{font-size:clamp(2rem,3.2vw,3rem)!important;margin:2px 0 5px}.ocer-dashboard-compact-head p{margin:0;color:var(--ocer-muted)}.ocer-dashboard-compact-head>div>small{color:var(--ocer-green-dark);font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.ocer-wallet-chip{display:flex;align-items:center;gap:13px;padding:14px 17px;border-radius:18px;background:linear-gradient(135deg,var(--ocer-green-deep),var(--ocer-green-dark));color:#fff!important;text-decoration:none;box-shadow:var(--ocer-shadow-sm)}.ocer-wallet-chip>i{font-size:25px}.ocer-wallet-chip span{display:block}.ocer-wallet-chip small,.ocer-wallet-chip strong{display:block;line-height:1.2}.ocer-wallet-chip small{opacity:.7;font-size:.7rem;text-transform:uppercase}.ocer-wallet-chip strong{font-size:1.15rem}.ocer-nav-wallet{margin-left:auto;font-size:.72rem;color:var(--ocer-green-dark)}
.ocer-wallet-balance{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#071f18,#0b7643);color:#fff;padding:16px 20px;border-radius:18px}.ocer-wallet-balance>i{font-size:28px;color:#a8ef9c}.ocer-wallet-balance small,.ocer-wallet-balance strong{display:block;line-height:1.15}.ocer-wallet-balance small{font-size:.7rem;opacity:.7;text-transform:uppercase}.ocer-wallet-balance strong{font-size:1.65rem}
.ocer-wallet-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:20px;margin:24px 0 35px}.ocer-wallet-recharge-card,.ocer-wallet-info-card{padding:26px;border:1px solid var(--ocer-line);border-radius:22px;background:#fff;box-shadow:var(--ocer-shadow-sm)}.ocer-wallet-info-card{background:linear-gradient(145deg,#f4fbef,#fff)}.ocer-wallet-info-card>i{font-size:34px;color:var(--ocer-green-dark)}.ocer-card-kicker{font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.12em;color:var(--ocer-green-dark)}.ocer-wallet-amounts{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin:20px 0}.ocer-wallet-amounts input,.ocer-payment-choice input{position:absolute;opacity:0}.ocer-wallet-amounts span{display:grid;place-items:center;min-height:50px;border:2px solid var(--ocer-line);border-radius:13px;background:#fff;font-weight:850;cursor:pointer}.ocer-wallet-amounts input:checked+span{border-color:var(--ocer-green);background:var(--ocer-green-pale);color:var(--ocer-green-dark);box-shadow:0 0 0 4px rgba(60,172,47,.1)}
.ocer-wallet-table{display:grid}.ocer-wallet-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid var(--ocer-line)}.ocer-wallet-row:last-child{border:0}.ocer-wallet-row small{display:block;color:var(--ocer-muted);margin-top:3px}.ocer-wallet-row>b.credit{color:var(--ocer-green-dark)}.ocer-wallet-row>b.debit{color:var(--ocer-danger)}.ocer-wallet-movement-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center}.ocer-wallet-movement-icon.credit{background:var(--ocer-green-soft);color:var(--ocer-green-dark)}.ocer-wallet-movement-icon.debit{background:#fff0ee;color:var(--ocer-danger)}
.ocer-payment-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.ocer-payment-choice span{display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;border:2px solid var(--ocer-line);border-radius:14px;background:#fff;font-weight:800;cursor:pointer}.ocer-payment-choice input:checked+span{border-color:var(--ocer-green);background:var(--ocer-green-pale);color:var(--ocer-green-dark)}
.ocer-smart-page-hero{position:relative;overflow:hidden;padding:clamp(60px,7vw,95px) 0;background:linear-gradient(130deg,#f5fbf1,#e4f7ed)}.ocer-smart-page-hero::after{content:"";position:absolute;width:420px;height:420px;border:48px solid rgba(60,172,47,.1);border-radius:50%;right:-150px;top:-220px}.ocer-smart-page-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:50px}.ocer-smart-page-hero h1{font-size:clamp(2.45rem,4.5vw,4.2rem)!important;max-width:850px}.ocer-smart-page-hero__lead{max-width:720px;color:var(--ocer-ink-soft);font-size:1.1rem}.ocer-smart-page-hero__icon{width:150px;height:150px;border-radius:36px;display:grid;place-items:center;background:#fff;color:var(--ocer-green-dark);box-shadow:var(--ocer-shadow)}.ocer-smart-page-hero__icon i{font-size:58px}.ocer-smart-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:50px;align-items:start}.ocer-smart-content-card{padding:35px;border:1px solid var(--ocer-line);border-radius:24px;background:#fff}.ocer-smart-side{position:sticky;top:110px;display:grid;gap:16px}.ocer-smart-side-card{padding:26px;border-radius:22px;color:#fff;background:linear-gradient(145deg,var(--ocer-green-deep),var(--ocer-green-dark))}.ocer-smart-side-card>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#b6f4ae;font-weight:800}.ocer-smart-side-card h2{font-size:1.65rem;margin:8px 0}.ocer-smart-side-card p{color:rgba(255,255,255,.8)}.ocer-smart-side-links{display:grid;padding:12px;border:1px solid var(--ocer-line);border-radius:18px;background:#fff}.ocer-smart-side-links a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;text-decoration:none;font-weight:750}.ocer-smart-side-links a:hover{background:var(--ocer-green-pale);color:var(--ocer-green-dark)}.ocer-form-section-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(420px,1fr);gap:60px;align-items:start}.ocer-form-card{padding:30px;border-radius:24px;background:#fff;box-shadow:var(--ocer-shadow-sm);border:1px solid var(--ocer-line)}.ocer-public-lead-form input,.ocer-public-lead-form textarea{width:100%;padding:12px 13px;border:1px solid var(--ocer-line);border-radius:11px;background:#fff}.ocer-public-lead-form label{font-weight:730;font-size:.9rem}.ocer-public-lead-form .ocer-checkbox{font-weight:500}
.ocer-compact-service-hero{padding:clamp(55px,6vw,85px) 0!important}.ocer-premium-hero__grid{align-items:center}
@media(max-width:980px){.ocer-smart-content-grid,.ocer-form-section-grid,.ocer-wallet-grid{grid-template-columns:1fr}.ocer-smart-side{position:static}.ocer-smart-page-hero__grid{grid-template-columns:1fr}.ocer-smart-page-hero__icon{display:none}.ocer-dashboard-compact-head{align-items:flex-start}.ocer-wallet-amounts{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.ocer-hero__copy h1{font-size:clamp(2.35rem,10.5vw,3.25rem)!important}.ocer-hero__visual{min-height:400px}.ocer-hero-card--fa{padding:20px}.ocer-hero-card--fa>i{font-size:48px}.ocer-hero-card--fa strong{font-size:1.2rem}.ocer-dashboard-compact-head{flex-direction:column}.ocer-wallet-chip{width:100%}.ocer-wallet-amounts,.ocer-payment-choice{grid-template-columns:1fr 1fr}.ocer-smart-content-card,.ocer-form-card{padding:22px}}
.ocer-page-hero--services,.ocer-page-hero--directory,.ocer-page-hero--simple{padding:clamp(52px,6vw,78px) 0!important}.ocer-page-hero--services .ocer-container>h1,.ocer-page-hero--directory .ocer-container>h1,.ocer-page-hero--simple .ocer-container>h1,.ocer-page-hero--services h1{font-size:clamp(2.3rem,4vw,3.55rem)!important;max-width:900px}.ocer-page-hero__badge{width:145px;height:145px}.ocer-page-hero__badge strong{font-size:3.1rem}

/* v3.2.0 final layout refinements */
@media(min-width:1221px){.ocer-hero__grid{grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);gap:clamp(38px,5vw,72px)}.ocer-hero__copy{max-width:760px}.ocer-hero__copy h1{max-width:760px!important;font-size:clamp(2.9rem,3.55vw,3.6rem)!important;line-height:1.015!important}.ocer-desktop-nav .menu-item-has-children>a::after{content:"\f078";font-family:"Font Awesome 6 Pro";font-weight:400;font-size:.68em;margin-left:7px;opacity:.55}.ocer-desktop-nav .menu-item-has-children{padding-bottom:5px;margin-bottom:-5px}}
.ocer-region-hero{padding:clamp(52px,6vw,82px) 0}.ocer-region-hero h1{font-size:clamp(2.45rem,4vw,3.8rem)!important}.ocer-region-intro{padding-bottom:40px}.ocer-form-note{font-size:.78rem;color:var(--ocer-muted)}
@media(max-width:1220px){.ocer-hero__copy{max-width:760px}.ocer-hero__copy h1{font-size:clamp(2.6rem,6.6vw,3.8rem)!important;max-width:760px!important}}
@media(max-width:680px){.ocer-hero__copy h1{font-size:clamp(2.25rem,10vw,3rem)!important}.ocer-smart-page-hero{padding:48px 0}.ocer-smart-page-hero h1{font-size:clamp(2.15rem,9vw,3.1rem)!important}}
\n.ocer-profile-lead-card .ocer-public-lead-form{display:grid;gap:10px}.ocer-profile-lead-card .ocer-form-grid{grid-template-columns:1fr}.ocer-profile-lead-card .ocer-public-lead-form label{font-size:.78rem}.ocer-profile-lead-card .ocer-public-lead-form input,.ocer-profile-lead-card .ocer-public-lead-form textarea{padding:10px}.ocer-profile-lead-card .ocer-public-lead-form button{width:100%;font-size:.82rem;padding:12px}.ocer-profile-lead-card .ocer-checkbox{line-height:1.35}.ocer-profile-lead-card .ocer-checkbox a{text-decoration:underline}\n
.ocer-smart-page-hero{padding:clamp(48px,5.4vw,74px) 0}.ocer-smart-page-hero h1{font-size:clamp(2.35rem,3.8vw,3.55rem)!important;line-height:1.03!important}

/* ===== v3.2.1 header & mobile navigation refinement ===== */
.ocer-smart-header .ocer-site-header__inner{min-height:88px;gap:22px}
.ocer-smart-header .ocer-brand{width:300px;max-width:300px}
.ocer-smart-header .ocer-brand img{width:300px;max-width:300px;max-height:66px}
.ocer-desktop-nav .ocer-menu{gap:7px}
.ocer-desktop-nav .ocer-menu>li>a{gap:8px;padding:11px 12px}
.ocer-desktop-nav .ocer-menu>li>a>i{width:18px;text-align:center;font-size:15px;color:var(--ocer-green-dark);opacity:.92}
.ocer-desktop-nav .sub-menu{top:calc(100% + 4px)}
.ocer-desktop-nav .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:12px}
.ocer-desktop-nav .sub-menu a{display:flex;align-items:center;gap:11px;padding:12px 13px}
.ocer-desktop-nav .sub-menu a>i{width:20px;text-align:center;color:var(--ocer-green-dark);font-size:14px}
.ocer-header-actions .ocer-button{gap:8px}
.ocer-header-actions .ocer-button>i{width:17px;text-align:center}

@media(max-width:1380px) and (min-width:1221px){
  .ocer-smart-header .ocer-brand{width:265px;max-width:265px}
  .ocer-smart-header .ocer-brand img{width:265px;max-width:265px}
  .ocer-desktop-nav .ocer-menu>li>a{padding-inline:9px;font-size:13px}
  .ocer-header-actions .ocer-button{padding-inline:12px;font-size:13px}
}

@media(max-width:1220px){
  .ocer-site-header{z-index:1500}
  .ocer-smart-header .ocer-site-header__inner{min-height:78px;position:relative;z-index:1502}
  .ocer-smart-header .ocer-brand{width:min(255px,calc(100vw - 105px));max-width:255px}
  .ocer-smart-header .ocer-brand img{width:100%;max-width:255px;max-height:58px}
  .ocer-menu-toggle{position:relative;z-index:1504;width:46px;height:46px;font-size:20px;box-shadow:0 8px 22px rgba(16,28,40,.08)}
  .ocer-mobile-panel{z-index:1505;width:min(90vw,430px);padding:0 24px 28px;background:#fff;box-shadow:-24px 0 70px rgba(6,24,17,.24);transform:translateX(105%)}
  .ocer-mobile-panel.is-open{transform:translateX(0)}
  .ocer-menu-backdrop{display:block;position:fixed;z-index:1498;inset:0;background:rgba(7,21,29,.58);backdrop-filter:blur(2px);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}
  .is-menu-open .ocer-menu-backdrop,.ocer-menu-backdrop.is-open{visibility:visible;opacity:1;pointer-events:auto}
  .ocer-mobile-panel__head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 -24px 10px;padding:22px 24px 18px;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(14,55,36,.1);backdrop-filter:blur(15px)}
  .ocer-mobile-panel__head>div{display:grid;gap:2px}
  .ocer-mobile-panel__head small{font-size:.68rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:var(--ocer-green-dark)}
  .ocer-mobile-panel__head strong{font-size:1.08rem;line-height:1.2}
  .ocer-mobile-close{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border:1px solid var(--ocer-line);border-radius:50%;background:#fff;color:var(--ocer-ink);font-size:18px}
  .ocer-mobile-panel nav{display:grid;gap:0}
  .ocer-mobile-panel details{border-bottom:1px solid rgba(14,55,36,.09)}
  .ocer-mobile-panel summary,.ocer-mobile-panel nav>a{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 4px;border:0;font-weight:780;color:var(--ocer-ink);text-decoration:none;cursor:pointer;list-style:none}
  .ocer-mobile-panel summary::-webkit-details-marker{display:none}
  .ocer-mobile-panel summary>span,.ocer-mobile-panel nav>a{align-items:center}
  .ocer-mobile-panel summary>span{display:flex;gap:13px}
  .ocer-mobile-panel summary>span>i,.ocer-mobile-panel nav>a>i{width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px;border-radius:8px;background:var(--ocer-green-pale);color:var(--ocer-green-dark);font-size:13px}
  .ocer-mobile-panel nav>a{justify-content:flex-start}
  .ocer-mobile-panel details>a{display:flex;align-items:center;gap:12px;margin-left:7px;padding:10px 12px 10px 18px;color:var(--ocer-ink-soft);text-decoration:none;border-radius:10px}
  .ocer-mobile-panel details>a:hover{background:var(--ocer-green-pale);color:var(--ocer-green-dark)}
  .ocer-mobile-panel details>a>i{width:21px;text-align:center;color:var(--ocer-green-dark);font-size:13px}
  .ocer-mobile-chevron{font-size:12px;color:var(--ocer-muted);transition:transform .2s ease}
  .ocer-mobile-panel details[open] .ocer-mobile-chevron{transform:rotate(180deg)}
  .ocer-mobile-panel__actions{padding:22px 0 4px}
  .ocer-mobile-panel__actions .ocer-button{min-height:52px;gap:10px;border-radius:15px}
  .ocer-mobile-panel__actions .ocer-button i{font-size:16px}
  body.ocer-v2.is-menu-open{overflow:hidden;touch-action:none}
}

@media(max-width:560px){
  .ocer-container{width:min(calc(100% - 28px),var(--ocer-container))}
  .ocer-smart-header .ocer-site-header__inner{min-height:74px}
  .ocer-smart-header .ocer-brand{width:min(225px,calc(100vw - 90px));max-width:225px}
  .ocer-smart-header .ocer-brand img{max-width:225px;max-height:52px}
  .ocer-mobile-panel{width:min(92vw,410px);padding-inline:20px}
  .ocer-mobile-panel__head{margin-inline:-20px;padding-inline:20px}
}



/* Footer premium v3.2.2 */
.ecer-hidden{display:none;}
.ocoder{display:block;}
.acer{display:block;}
.ocre{display:block;}
.ocer-site-footer { position: relative; padding: 36px 0 0; background: linear-gradient(180deg,#dff2cf 0%,#eaf8dc 58%,#eef9e5 100%); overflow: hidden; }
.ocer-site-footer__visual { position: absolute; inset: 0; pointer-events: none; }
.ocer-footer-orbit { position: absolute; right: -150px; top: 220px; width: 420px; height: 420px; border: 26px solid rgba(69,165,83,.24); border-left-color: transparent; border-radius: 50%; transform: rotate(-20deg); }
.ocer-footer-orbit::before { content: ""; position: absolute; inset: 74px; border: 18px solid rgba(39,132,66,.22); border-right-color: transparent; border-radius: 50%; }
.ocer-footer-blob { position: absolute; border-radius: 999px; filter: blur(0); opacity: .55; }
.ocer-footer-blob--one { width: 240px; height: 240px; left: -80px; bottom: 170px; background: radial-gradient(circle at 30% 30%, rgba(142,215,120,.38), rgba(142,215,120,0)); }
.ocer-footer-blob--two { width: 180px; height: 180px; right: 18%; top: 18px; background: radial-gradient(circle at 30% 30%, rgba(121,203,103,.26), rgba(121,203,103,0)); }
.ocer-footer-topband { position: relative; z-index: 1; display: grid; grid-template-columns: 1.4fr auto; gap: 28px; padding: 34px 38px; margin-bottom: 40px; background: linear-gradient(135deg, #10783e 0%, #118142 56%, #0f6e38 100%); border-radius: 32px; color: #fff; box-shadow: 0 24px 55px rgba(10,61,27,.18); overflow: hidden; }
.ocer-footer-topband::before { content: ""; position: absolute; right: -70px; top: -70px; width: 290px; height: 290px; border-radius: 50%; border: 44px solid rgba(255,255,255,.08); }
.ocer-footer-topband::after { content: ""; position: absolute; left: -30px; bottom: -30px; width: 120px; height: 120px; background: radial-gradient(circle at center, rgba(205,255,200,.25), rgba(205,255,200,0)); }
.ocer-footer-topband__copy,.ocer-footer-topband__actions { position: relative; z-index: 1; }
.ocer-footer-topband__copy h2 { margin: 10px 0 12px; color: #fff; font-size: clamp(2rem,3vw,3.2rem); line-height: 1.02; max-width: 12ch; }
.ocer-footer-topband__copy p { margin: 0; max-width: 640px; color: rgba(255,255,255,.88); }
.ocer-footer-topband__actions { display: flex; flex-direction: column; justify-content: center; align-items: flex-end; gap: 16px; }
.ocer-button--light { background: #fff; color: var(--ocer-ink); box-shadow: 0 12px 28px rgba(12,39,22,.14); }
.ocer-button--light:hover { background: #f5fff1; }
.ocer-button--ghost-light { border: 1px solid rgba(255,255,255,.55); color: #fff; background: rgba(255,255,255,.03); }
.ocer-button--ghost-light:hover { background: rgba(255,255,255,.08); }
.ocer-footer-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(280px,1.25fr) repeat(2,minmax(180px,.8fr)) minmax(260px,1fr); gap: 34px; padding: 20px 0 42px; }
.ocer-footer-brand { padding-right: 22px; }
.ocer-footer-brand img { width: min(100%, 265px); max-height: 84px; object-fit: contain; object-position: left center; }
.ocer-footer-brand p { max-width: 370px; margin-top: 18px; color: var(--ocer-ink-soft); font-size: 1rem; line-height: 1.65; }
.ocer-footer-badges { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 22px; }
.ocer-footer-badges span { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 999px; background: rgba(255,255,255,.62); border: 1px solid rgba(26,108,56,.12); color: var(--ocer-green-dark); font-size: .84rem; font-weight: 600; }
.ocer-socials { display: flex; flex-wrap: wrap; gap: 12px; }
.ocer-socials a { display: inline-flex; align-items: center; gap: 10px; min-height: 46px; padding: 0 16px; border-radius: 999px; background: #fff; border: 1px solid rgba(16,120,62,.10); box-shadow: 0 10px 18px rgba(7,38,16,.06); color: var(--ocer-ink); text-decoration: none; font-weight: 600; }
.ocer-socials a:hover { transform: translateY(-1px); color: var(--ocer-green-dark); }
.ocer-socials i { color: var(--ocer-green-dark); font-size: 1rem; }
.ocer-footer-column { position: relative; }
.ocer-footer-column h2 { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; font-size: clamp(1.4rem,2vw,2rem); line-height: 1.05; }
.ocer-footer-column h2 i { color: var(--ocer-green-dark); font-size: .95em; }
.ocer-footer-column ul { list-style: none; margin: 0; padding: 0; }
.ocer-footer-column li { margin: 0 0 12px; color: var(--ocer-ink-soft); font-size: .95rem; line-height: 1.55; }
.ocer-footer-column--nav li { padding-left: 18px; position: relative; }
.ocer-footer-column--nav li::before { content: ""; position: absolute; left: 0; top: .78em; width: 7px; height: 7px; border-radius: 50%; background: var(--ocer-green); box-shadow: 14px 0 0 -5px rgba(19,130,67,.26); }
.ocer-footer-column a { text-decoration: none; }
.ocer-footer-column a:hover { color: var(--ocer-green-dark); text-decoration: underline; }
.ocer-footer-column--contact li { display: flex; align-items: flex-start; gap: 10px; }
.ocer-footer-column--contact li i { flex: 0 0 auto; margin-top: .2em; color: var(--ocer-green-dark); }
.ocer-footer-column--contact li span { display: inline-block; }
.ocer-footer-note { margin-top: 20px; padding: 18px 18px 16px; border-radius: 22px; background: rgba(255,255,255,.66); border: 1px solid rgba(26,108,56,.10); box-shadow: inset 0 1px 0 rgba(255,255,255,.45); }
.ocer-footer-note strong { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: .95rem; }
.ocer-footer-note strong::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--ocer-green); box-shadow: 0 0 0 5px rgba(74,175,88,.16); }
.ocer-footer-note p { margin: 5px 0; font-size: .85rem; color: var(--ocer-ink-soft); }
.ocer-footer-note__link { display: inline-flex; margin-top: 4px; font-size: .85rem; font-weight: 700; }
.ocer-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 24px 0 34px; border-top: 1px solid rgba(16,28,40,.12); color: var(--ocer-ink-soft); font-size: .78rem; position: relative; z-index: 1; }
.ocer-footer-bottom__legal strong,.ocer-footer-bottom__legal span { display: block; }
.ocer-footer-bottom__legal span { margin-top: 4px; }
.ocer-footer-bottom nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 18px; }
.ocer-footer-bottom a { text-decoration: none; font-weight: 500; }
@media (max-width: 1120px) {
  .ocer-footer-topband { grid-template-columns: 1fr; }
  .ocer-footer-topband__actions { align-items: flex-start; flex-direction: row; flex-wrap: wrap; }
  .ocer-footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .ocer-footer-column--contact { grid-column: 1 / -1; }
}
@media (max-width: 820px) {
  .ocer-site-footer { padding-top: 22px; }
  .ocer-footer-topband { padding: 26px 22px; border-radius: 26px; }
  .ocer-footer-topband__copy h2 { max-width: none; }
  .ocer-footer-grid { grid-template-columns: 1fr 1fr; gap: 26px; }
  .ocer-footer-brand { grid-column: 1 / -1; padding-right: 0; }
}
@media (max-width: 640px) {
  .ocer-footer-topband__actions { flex-direction: column; align-items: stretch; }
  .ocer-footer-topband__actions .ocer-button { width: 100%; justify-content: center; }
  .ocer-footer-grid { grid-template-columns: 1fr; }
  .ocer-footer-bottom { align-items: flex-start; flex-direction: column; }
  .ocer-footer-bottom nav { justify-content: flex-start; }
  .ocer-socials a { width: 100%; justify-content: center; }
  .ocer-footer-column h2 { font-size: 1.55rem; }
  .ocer-footer-orbit { right: -185px; top: 300px; width: 300px; height: 300px; border-width: 18px; }
}


/* Footer refinement v3.2.4 */
.ocer-footer-grid {
  grid-template-columns: minmax(250px,1.15fr) minmax(180px,.9fr) minmax(180px,.9fr) minmax(260px,1fr);
  align-items: start;
  gap: 28px 36px;
}
.ocer-footer-brand img {
  width: min(100%, 230px);
  max-height: 68px;
}
.ocer-footer-brand p {
  max-width: 360px;
  font-size: 0.96rem;
  line-height: 1.58;
}
.ocer-footer-badges {
  gap: 8px;
  margin: 16px 0 18px;
}
.ocer-footer-badges span {
  padding: 9px 13px;
  font-size: 0.8rem;
}
.ocer-socials {
  gap: 10px;
}
.ocer-socials a {
  min-height: 42px;
  padding: 0 14px;
  font-size: 0.92rem;
}
.ocer-footer-column h2 {
  gap: 12px;
  margin: 4px 0 18px;
  font-size: clamp(1.7rem, 2vw, 2.45rem);
  line-height: 1.03;
  letter-spacing: -0.02em;
}
.ocer-footer-column h2 i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(18,129,66,.12);
  color: var(--ocer-green-dark);
  font-size: 1.05rem;
  flex: 0 0 44px;
}
.ocer-footer-column li {
  margin-bottom: 10px;
  font-size: 0.98rem;
}
.ocer-footer-column--nav li {
  padding-left: 16px;
}
.ocer-footer-column--nav li::before {
  width: 6px;
  height: 6px;
  top: .72em;
}
.ocer-footer-column--contact ul {
  margin-bottom: 18px;
}
.ocer-footer-column--contact li {
  gap: 12px;
  font-size: 0.94rem;
}
.ocer-footer-column--contact li i {
  width: 18px;
  text-align: center;
}
.ocer-footer-note {
  margin-top: 14px;
  padding: 16px 16px 15px;
  border-radius: 20px;
}
.ocer-footer-note strong {
  margin-bottom: 6px;
  font-size: 0.98rem;
}
.ocer-footer-note p {
  font-size: 0.9rem;
  line-height: 1.52;
}
.ocer-footer-note__link {
  margin-top: 8px;
  font-size: 0.9rem;
}
.ocer-footer-bottom {
  gap: 16px 24px;
}
.ocer-footer-bottom__legal {
  max-width: 760px;
}
@media (max-width: 1120px) {
  .ocer-footer-grid {
    grid-template-columns: minmax(260px,1.1fr) 1fr 1fr;
    gap: 26px 28px;
  }
  .ocer-footer-column--contact {
    grid-column: 1 / -1;
  }
}
@media (max-width: 820px) {
  .ocer-footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .ocer-footer-brand {
    grid-column: 1 / -1;
  }
  .ocer-footer-column h2 {
    font-size: clamp(1.5rem, 4vw, 2rem);
  }
}
@media (max-width: 640px) {
  .ocer-footer-grid {
    grid-template-columns: 1fr;
  }
  .ocer-footer-column--contact,
  .ocer-footer-brand {
    grid-column: auto;
  }
  .ocer-footer-column h2 {
    font-size: 1.45rem;
  }
  .ocer-footer-column h2 i {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    border-radius: 12px;
  }
  .ocer-footer-brand img {
    width: min(100%, 210px);
  }
}



/* Footer and logo refinement v3.2.5 */
.ocer-brand { position: relative; display: inline-flex; align-items: center; }
.ocer-brand__logo { display: block; width: 250px; height: auto; }
.ocer-brand__logo--white { display: none; }
.ocer-site-header.is-on-dark .ocer-brand__logo--green,
.ocer-site-header.is-inverted .ocer-brand__logo--green { display: none; }
.ocer-site-header.is-on-dark .ocer-brand__logo--white,
.ocer-site-header.is-inverted .ocer-brand__logo--white { display: block; }
@media (max-width: 768px) {
  .ocer-brand__logo { width: 210px; }
}
.ocer-footer-grid {
  grid-template-columns: minmax(270px,1.15fr) minmax(170px,.8fr) minmax(170px,.8fr) minmax(250px,.95fr);
  gap: 26px 38px;
  align-items: start;
}
.ocer-footer-brand__logo-wrap { display: inline-block; }
.ocer-footer-brand__logo { width: min(100%, 250px); height: auto; display: block; }
.ocer-footer-brand p { max-width: 370px; margin-top: 16px; font-size: .96rem; line-height: 1.58; }
.ocer-footer-editorial-note { margin-top: 12px; color: var(--ocer-ink-soft); font-size: .85rem !important; line-height: 1.62 !important; }
.ocer-footer-badges { display: none !important; }
.ocer-socials { margin-top: 18px; gap: 12px; }
.ocer-socials a { width: 42px; height: 42px; min-height: 42px; padding: 0; border-radius: 50%; justify-content: center; }
.ocer-socials a span { display: none !important; }
.ocer-socials i { font-size: 1rem; }
.ocer-footer-column h2 { gap: 10px; margin: 4px 0 16px; font-size: clamp(1.45rem,1.55vw,1.9rem); line-height: 1.08; color: var(--ocer-green-dark); letter-spacing: -0.02em; }
.ocer-footer-column h2 i { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 10px; background: rgba(18,129,66,.10); font-size: .88rem; }
.ocer-footer-column li { margin-bottom: 10px; font-size: .95rem; }
.ocer-footer-column--contact li { font-size: .93rem; }
.ocer-footer-lenus { margin-top: 18px; padding-top: 14px; border-top: 1px solid rgba(16,28,40,.1); }
.ocer-footer-lenus p { margin: 0 0 8px; font-size: .9rem; line-height: 1.56; color: var(--ocer-ink-soft); }
.ocer-footer-lenus strong { color: var(--ocer-ink); }
.ocer-footer-note { display: none !important; }
@media (max-width: 1120px) {
  .ocer-footer-grid { grid-template-columns: minmax(250px,1.1fr) 1fr 1fr; }
  .ocer-footer-column--contact { grid-column: 1 / -1; }
}
@media (max-width: 820px) {
  .ocer-footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .ocer-footer-brand { grid-column: 1 / -1; }
  .ocer-footer-column h2 { font-size: 1.35rem; }
}
@media (max-width: 640px) {
  .ocer-footer-grid { grid-template-columns: 1fr; }
  .ocer-footer-brand,.ocer-footer-column--contact { grid-column: auto; }
  .ocer-footer-brand__logo { width: min(100%, 220px); }
  .ocer-socials a { width: 40px; height: 40px; }
}


/* ===== v3.2.6 navigation/footer redesign ===== */
.ocer-smart-header .ocer-site-header__inner{position:relative;min-height:86px;display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(170px,1fr);align-items:center;gap:24px}
.ocer-brand--textual{width:auto!important;max-width:none!important;display:inline-flex;align-items:center;gap:11px;justify-self:start;line-height:1;text-decoration:none}
.ocer-brand-symbol{position:relative;display:block;flex:0 0 52px;width:52px;height:52px}
.ocer-brand-symbol img{position:absolute;inset:0;width:52px!important;height:52px!important;max-width:none!important;max-height:none!important;object-fit:contain}
.ocer-brand-symbol__white{display:none}
.ocer-brand-copy{display:grid;gap:3px;min-width:0}
.ocer-brand-copy strong{color:var(--ocer-green-dark);font-size:15px;line-height:1.05;letter-spacing:-.015em;white-space:nowrap}
.ocer-brand-copy small{color:#458263;font-size:9.5px;line-height:1.05;white-space:nowrap}
.ocer-site-header.is-on-dark .ocer-brand-symbol__green,.ocer-site-header.is-inverted .ocer-brand-symbol__green{display:none}
.ocer-site-header.is-on-dark .ocer-brand-symbol__white,.ocer-site-header.is-inverted .ocer-brand-symbol__white{display:block}
.ocer-site-header.is-on-dark .ocer-brand-copy strong,.ocer-site-header.is-on-dark .ocer-brand-copy small,.ocer-site-header.is-inverted .ocer-brand-copy strong,.ocer-site-header.is-inverted .ocer-brand-copy small{color:#fff}
.ocer-desktop-nav{justify-self:center;margin:0!important}
.ocer-desktop-nav .ocer-menu{gap:2px}
.ocer-desktop-nav .ocer-menu>li>a{padding:11px 10px;font-size:14px;gap:0}
.ocer-desktop-nav .menu-item-has-children>a::after{margin-left:6px}
.ocer-header-actions{justify-self:end;margin:0}
.ocer-header-actions .ocer-dashboard-button{min-height:46px;padding:11px 17px;border-radius:999px;gap:8px}
.ocer-menu-search>a{width:42px;min-width:42px!important;height:42px;min-height:42px!important;padding:0!important;justify-content:center;border-radius:50%!important}
.ocer-menu-search>a:hover{background:var(--ocer-green-pale)!important}
.ocer-menu-search i{font-size:15px;color:var(--ocer-ink)}
.ocer-services-menu{position:static!important}
.ocer-services-menu>.ocer-mega-menu{left:50%!important;right:auto!important;top:calc(100% + 4px)!important;width:min(860px,calc(100vw - 44px));min-width:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px;padding:22px!important;transform:translate(-50%,7px)!important}
.ocer-services-menu:hover>.ocer-mega-menu,.ocer-services-menu:focus-within>.ocer-mega-menu{transform:translate(-50%,0)!important}
.ocer-mega-menu__col{display:grid;align-content:start;gap:2px}
.ocer-mega-menu__title{display:block;padding:5px 12px 8px;color:var(--ocer-green-dark);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.ocer-mega-menu a{display:flex!important;align-items:center!important;gap:10px!important;padding:10px 12px!important;font-size:13px!important}
.ocer-mega-menu a i{width:18px!important;text-align:center;color:var(--ocer-green-dark);font-size:13px}
.ocer-mobile-brand{display:flex!important;align-items:center;gap:10px}
.ocer-mobile-brand>img{width:42px;height:42px;object-fit:contain}
.ocer-mobile-brand>span{display:grid;gap:2px}
.ocer-mobile-brand strong{font-size:.92rem!important;line-height:1.05}
.ocer-mobile-brand small{font-size:.58rem!important;line-height:1.05;color:var(--ocer-muted)}

/* Footer: no h2, same segmentation as primary menu */
.ocer-site-footer{padding-top:34px}
.ocer-footer-topband__title{margin:10px 0 12px;color:#fff;font-size:clamp(1.85rem,2.7vw,2.8rem);font-weight:820;line-height:1.03;letter-spacing:-.035em;max-width:15ch}
.ocer-footer-grid--menu{grid-template-columns:minmax(255px,1.15fr) minmax(135px,.65fr) minmax(170px,.82fr) minmax(310px,1.35fr) minmax(145px,.7fr)!important;gap:28px!important;align-items:start;padding-top:18px}
.ocer-footer-brand-textual{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.ocer-footer-brand-textual>img{width:54px!important;height:54px!important;object-fit:contain;flex:0 0 54px}
.ocer-footer-brand-textual>span{display:grid;gap:3px}
.ocer-footer-brand-textual strong{font-size:14px;line-height:1.05;color:var(--ocer-green-dark);white-space:nowrap}
.ocer-footer-brand-textual small{font-size:9px;line-height:1.05;color:#4a8265;white-space:nowrap}
.ocer-footer-brand>p{margin-top:17px;font-size:.88rem;line-height:1.58;max-width:300px}
.ocer-footer-heading{margin:5px 0 14px!important;color:var(--ocer-green-dark)!important;font-size:1.02rem!important;font-weight:820!important;line-height:1.1!important;letter-spacing:-.01em!important;text-transform:none}
.ocer-footer-column ul{list-style:none;margin:0;padding:0}
.ocer-footer-column li{margin:0 0 8px!important;padding:0!important;font-size:.83rem!important;line-height:1.45!important}
.ocer-footer-column li::before{display:none!important}
.ocer-footer-column a{color:var(--ocer-ink-soft);text-decoration:none}
.ocer-footer-column a:hover{color:var(--ocer-green-dark);text-decoration:underline}
.ocer-footer-service-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.ocer-socials{margin-top:18px}
.ocer-socials a{width:38px!important;height:38px!important;min-height:38px!important}
.ocer-footer-bottom{padding-top:22px}
.ocer-footer-bottom__legal{max-width:780px}
@media(max-width:1280px) and (min-width:1121px){
 .ocer-smart-header .ocer-site-header__inner{grid-template-columns:minmax(225px,1fr) auto minmax(150px,1fr);gap:12px}
 .ocer-brand-symbol{flex-basis:46px;width:46px;height:46px}.ocer-brand-symbol img{width:46px!important;height:46px!important}.ocer-brand-copy strong{font-size:13px}.ocer-brand-copy small{font-size:8.5px}.ocer-desktop-nav .ocer-menu>li>a{padding-inline:8px;font-size:13px}.ocer-header-actions .ocer-dashboard-button{padding-inline:14px}
 .ocer-footer-grid--menu{grid-template-columns:minmax(235px,1fr) .7fr .85fr 1.35fr .75fr!important;gap:22px!important}
}
@media(max-width:1120px){
 .ocer-smart-header .ocer-site-header__inner{display:flex;justify-content:space-between}.ocer-brand--textual{margin-right:auto}.ocer-desktop-nav,.ocer-smart-header>.ocer-container>.ocer-header-actions{display:none!important}
 .ocer-footer-grid--menu{grid-template-columns:1fr 1fr 1fr!important}.ocer-footer-brand{grid-column:1 / -1}.ocer-footer-column--services{grid-column:span 2}
}
@media(max-width:760px){
 .ocer-brand-symbol{flex-basis:44px;width:44px;height:44px}.ocer-brand-symbol img{width:44px!important;height:44px!important}.ocer-brand-copy strong{font-size:12.5px}.ocer-brand-copy small{font-size:8px}
 .ocer-footer-grid--menu{grid-template-columns:1fr 1fr!important}.ocer-footer-brand,.ocer-footer-column--services{grid-column:1 / -1}.ocer-footer-service-cols{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
 .ocer-brand-copy strong{font-size:11.5px}.ocer-brand-copy small{font-size:7.5px}.ocer-brand-symbol{flex-basis:40px;width:40px;height:40px}.ocer-brand-symbol img{width:40px!important;height:40px!important}
 .ocer-footer-grid--menu{grid-template-columns:1fr!important}.ocer-footer-brand,.ocer-footer-column--services{grid-column:auto}.ocer-footer-service-cols{grid-template-columns:1fr}.ocer-footer-topband__title{font-size:1.75rem}.ocer-footer-heading{font-size:.98rem!important}
}


/* Header/footer refinements v3.2.7 */
.ocer-desktop-nav .ocer-menu>li>a{gap:8px!important}
.ocer-desktop-nav .ocer-menu>li>a>i{display:inline-grid;place-items:center;width:18px;flex:0 0 18px;color:var(--ocer-green-dark);font-size:14px}
.ocer-services-menu{position:relative!important}
.ocer-services-menu>.ocer-mega-menu{top:calc(100% - 2px)!important;transform:translate(-50%,3px)!important;margin-top:0!important}
.ocer-services-menu:hover>.ocer-mega-menu,.ocer-services-menu:focus-within>.ocer-mega-menu{transform:translate(-50%,0)!important}
.ocer-services-menu::after{content:"";position:absolute;left:-70px;right:-70px;top:calc(100% - 4px);height:18px;z-index:40;pointer-events:auto}
.ocer-services-menu>.ocer-mega-menu::before{top:-8px!important;height:10px!important}
.ocer-mobile-service-label{display:block;margin:13px 7px 4px;padding:7px 12px 5px;color:var(--ocer-green-dark);font-size:.64rem;font-weight:850;line-height:1.2;text-transform:uppercase;letter-spacing:.09em;background:transparent}
.ocer-mobile-services>a{margin-left:7px!important}
.ocer-footer-service-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px}
.ocer-footer-service-group{min-width:0}
.ocer-footer-service-label{display:block;margin:1px 0 10px;color:var(--ocer-green-dark);font-size:.67rem;font-weight:850;line-height:1.25;text-transform:uppercase;letter-spacing:.075em}
.ocer-footer-bottom__legal span{display:block}
.ocer-footer-bottom__legal span+span{margin-top:3px}
@media(max-width:1220px){
 .ocer-mobile-service-label{margin-top:15px}
}
@media(max-width:760px){
 .ocer-footer-service-groups{grid-template-columns:1fr 1fr;gap:18px 24px}
 .ocer-footer-service-group:last-child{grid-column:1 / -1}
}
@media(max-width:520px){
 .ocer-footer-service-groups{grid-template-columns:1fr}
 .ocer-footer-service-group:last-child{grid-column:auto}
}


/* Footer layout v3.2.8: CER News removed, Services widened */
.ocer-footer-grid--menu{
  grid-template-columns:minmax(255px,1.08fr) minmax(145px,.62fr) minmax(180px,.78fr) minmax(470px,2.05fr)!important;
  gap:30px!important;
}
.ocer-footer-column--services{min-width:0}
.ocer-footer-service-groups{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:26px!important}
@media(max-width:1180px){
  .ocer-footer-grid--menu{grid-template-columns:minmax(235px,1fr) .72fr .85fr 1.65fr!important;gap:22px!important}
}
@media(max-width:960px){
  .ocer-footer-grid--menu{grid-template-columns:1fr 1fr 1fr!important}
  .ocer-footer-brand{grid-column:1 / -1}
  .ocer-footer-column--services{grid-column:1 / -1}
  .ocer-footer-service-groups{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:720px){
  .ocer-footer-grid--menu{grid-template-columns:1fr 1fr!important}
  .ocer-footer-brand,.ocer-footer-column--services{grid-column:1 / -1}
  .ocer-footer-service-groups{grid-template-columns:1fr 1fr!important}
}
@media(max-width:520px){
  .ocer-footer-grid--menu{grid-template-columns:1fr!important}
  .ocer-footer-brand,.ocer-footer-column--services{grid-column:auto}
  .ocer-footer-service-groups{grid-template-columns:1fr!important}
}


/* Legal pages v3.2.9 */
.ocer-legal-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:24px 0 34px; }
.ocer-legal-cards > div { padding:18px; border:1px solid rgba(16,120,62,.12); border-radius:18px; background:#f7fbf5; }
.ocer-legal-cards strong { display:block; margin-bottom:7px; color:var(--ocer-green-dark); }
.ocer-legal-cards p { margin:0; font-size:.95rem; }
.ocer-cookie-table-wrap { overflow-x:auto; margin:22px 0 32px; border:1px solid rgba(16,120,62,.12); border-radius:18px; background:#fff; }
.ocer-cookie-table { width:100%; min-width:760px; border-collapse:collapse; }
.ocer-cookie-table th,.ocer-cookie-table td { padding:14px 16px; text-align:left; vertical-align:top; border-bottom:1px solid rgba(16,28,40,.08); }
.ocer-cookie-table th { color:var(--ocer-green-dark); background:#f3faef; font-size:.84rem; text-transform:uppercase; letter-spacing:.04em; }
.ocer-cookie-table td { font-size:.92rem; line-height:1.5; }
.ocer-cookie-table tr:last-child td { border-bottom:0; }
.ocer-alert--info { background:#eef8ff; border-color:#c8e4f6; color:#17354a; }
@media(max-width:760px){.ocer-legal-cards{grid-template-columns:1fr;}}



/* Homepage motion + wider services footer v3.3.0 */
.ocer-hero--motion {
  background:
    radial-gradient(circle at 7% 20%, rgba(126,207,91,.08) 0 7%, transparent 7.2%),
    radial-gradient(circle at 95% 12%, rgba(198,236,250,.20) 0 9%, transparent 9.2%),
    linear-gradient(180deg,#fffdf7 0%,#ffffff 56%,#f9fdf8 100%);
}
.ocer-hero--motion::after {
  background: linear-gradient(135deg,rgba(205,244,246,.92),rgba(217,248,236,.88));
  animation: ocerHeroBgBreathe 12s ease-in-out infinite alternate;
  transform-origin: 70% 60%;
}
.ocer-hero__orb--one {
  background: rgba(126,207,91,.12);
  animation: ocerHeroOrbOne 11s ease-in-out infinite alternate;
}
.ocer-hero__orb--two {
  background: rgba(255,255,255,.58);
  animation: ocerHeroOrbTwo 9s ease-in-out infinite alternate;
}
.ocer-hero__motion-shape {
  position:absolute;
  z-index:-1;
  pointer-events:none;
  will-change:transform;
  opacity:.72;
}
.ocer-hero__motion-shape--lime {
  width:92px;
  height:92px;
  left:40%;
  top:2.5%;
  border-radius:50%;
  background:#7fcf5e;
  opacity:.28;
  animation:ocerHeroShapeLime 10s ease-in-out infinite alternate;
}
.ocer-hero__motion-shape--blue {
  width:135px;
  height:135px;
  right:4%;
  bottom:13%;
  background:#caebfb;
  opacity:.30;
  clip-path:polygon(37% 0,63% 0,67% 31%,100% 37%,100% 63%,68% 67%,63% 100%,37% 100%,33% 68%,0 63%,0 37%,32% 33%);
  transform:rotate(18deg);
  animation:ocerHeroShapeBlue 13s ease-in-out infinite alternate;
}
.ocer-hero__motion-shape--ring {
  width:160px;
  height:160px;
  left:48%;
  bottom:-60px;
  border:28px solid rgba(11,132,70,.12);
  border-radius:50%;
  animation:ocerHeroShapeRing 15s linear infinite;
}
.ocer-hero__visual { isolation:isolate; }
.ocer-hero-card {
  --ocer-card-rotate:0deg;
  --ocer-card-float-x:0px;
  --ocer-card-float-y:-10px;
  --ocer-card-tilt:.35deg;
  will-change:transform,opacity;
  backface-visibility:hidden;
}
.ocer-hero-card--1 {
  --ocer-card-rotate:-2deg;
  --ocer-card-float-x:4px;
  --ocer-card-float-y:-12px;
  animation:ocerHeroCardEnter .82s cubic-bezier(.2,.74,.22,1) .08s both, ocerHeroCardFloat 6.8s ease-in-out 1.05s infinite;
}
.ocer-hero-card--2 {
  --ocer-card-rotate:3deg;
  --ocer-card-float-x:-5px;
  --ocer-card-float-y:-9px;
  --ocer-card-tilt:-.30deg;
  animation:ocerHeroCardEnter .86s cubic-bezier(.2,.74,.22,1) .27s both, ocerHeroCardFloat 7.6s ease-in-out 1.25s infinite reverse;
}
.ocer-hero-card--3 {
  --ocer-card-rotate:1deg;
  --ocer-card-float-x:5px;
  --ocer-card-float-y:-8px;
  --ocer-card-tilt:.25deg;
  animation:ocerHeroCardEnter .88s cubic-bezier(.2,.74,.22,1) .44s both, ocerHeroCardFloat 8.2s ease-in-out 1.42s infinite;
}
.ocer-hero-float {
  will-change:transform,opacity;
  animation:ocerHeroBadgeEnter .7s cubic-bezier(.2,.74,.22,1) .72s both, ocerHeroBadgeFloat 5.8s ease-in-out 1.5s infinite;
}
.ocer-hero-card--1.ocer-hero-card--fa {
  background:linear-gradient(145deg,#087640 0%,#40ad37 100%);
}
.ocer-hero-card--2.ocer-hero-card--fa {
  background:linear-gradient(145deg,#148d83 0%,#64cfc4 100%);
}
.ocer-hero-card--3.ocer-hero-card--fa {
  background:linear-gradient(145deg,#173344 0%,#386775 100%);
}
@keyframes ocerHeroCardEnter {
  0% { opacity:0; transform:translate3d(0,34px,0) scale(.94) rotate(var(--ocer-card-rotate)); filter:blur(3px); }
  70% { opacity:1; filter:blur(0); }
  100% { opacity:1; transform:translate3d(0,0,0) scale(1) rotate(var(--ocer-card-rotate)); filter:blur(0); }
}
@keyframes ocerHeroCardFloat {
  0%,100% { transform:translate3d(0,0,0) rotate(var(--ocer-card-rotate)); }
  50% { transform:translate3d(var(--ocer-card-float-x),var(--ocer-card-float-y),0) rotate(calc(var(--ocer-card-rotate) + var(--ocer-card-tilt))); }
}
@keyframes ocerHeroBadgeEnter {
  0% { opacity:0; transform:translate3d(-28px,12px,0) scale(.95); }
  100% { opacity:1; transform:translate3d(0,0,0) scale(1); }
}
@keyframes ocerHeroBadgeFloat {
  0%,100% { transform:translate3d(0,0,0); }
  50% { transform:translate3d(0,-7px,0); }
}
@keyframes ocerHeroBgBreathe {
  0% { transform:rotate(-7deg) scale(1); }
  100% { transform:rotate(-5.5deg) scale(1.035); }
}
@keyframes ocerHeroOrbOne {
  0% { transform:translate3d(0,0,0) scale(1); }
  100% { transform:translate3d(-24px,20px,0) scale(1.06); }
}
@keyframes ocerHeroOrbTwo {
  0% { transform:translate3d(0,0,0); }
  100% { transform:translate3d(18px,-14px,0); }
}
@keyframes ocerHeroShapeLime {
  0% { transform:translate3d(0,0,0) scale(1); }
  100% { transform:translate3d(18px,20px,0) scale(1.08); }
}
@keyframes ocerHeroShapeBlue {
  0% { transform:translate3d(0,0,0) rotate(18deg); }
  100% { transform:translate3d(-22px,-16px,0) rotate(28deg); }
}
@keyframes ocerHeroShapeRing {
  from { transform:rotate(0deg); }
  to { transform:rotate(360deg); }
}

/* Footer: the Services tree consumes all remaining horizontal space */
.ocer-footer-grid--menu {
  grid-template-columns:minmax(245px,.95fr) minmax(145px,.55fr) minmax(175px,.68fr) minmax(0,2.4fr)!important;
  gap:28px 34px!important;
}
.ocer-footer-column--services {
  width:100%;
  min-width:0;
}
.ocer-footer-service-groups {
  width:100%;
  grid-template-columns:repeat(3,minmax(155px,1fr))!important;
  gap:24px 38px!important;
}
.ocer-footer-service-group ul { width:100%; }
.ocer-footer-service-group li { max-width:18ch; }
@media (max-width:1180px) {
  .ocer-footer-grid--menu { grid-template-columns:minmax(225px,.92fr) .56fr .68fr minmax(0,2fr)!important; gap:22px!important; }
  .ocer-footer-service-groups { gap:20px 26px!important; }
}
@media (max-width:960px) {
  .ocer-footer-grid--menu { grid-template-columns:1fr 1fr 1fr!important; }
  .ocer-footer-brand { grid-column:1 / -1; }
  .ocer-footer-column--services { grid-column:1 / -1; }
  .ocer-footer-service-groups { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
}
@media (max-width:720px) {
  .ocer-footer-service-groups { grid-template-columns:1fr 1fr!important; }
  .ocer-footer-service-group li { max-width:none; }
}
@media (max-width:520px) {
  .ocer-footer-service-groups { grid-template-columns:1fr!important; }
}
@media (prefers-reduced-motion:reduce) {
  .ocer-hero--motion::after,
  .ocer-hero__orb,
  .ocer-hero__motion-shape,
  .ocer-hero-card,
  .ocer-hero-float {
    animation:none!important;
    transform:none;
    opacity:1;
  }
  .ocer-hero-card--1 { transform:rotate(-2deg); }
  .ocer-hero-card--2 { transform:rotate(3deg); }
  .ocer-hero-card--3 { transform:rotate(1deg); }
}

/* Open Data / Osservatorio e dati v3.3.1 */
.ocer-data-hero{position:relative;overflow:hidden;padding:clamp(72px,8vw,128px) 0 76px;background:linear-gradient(135deg,#f8fff3 0%,#eef9dd 45%,#e7f8f4 100%)}
.ocer-data-hero__shape{position:absolute;border-radius:50%;pointer-events:none}.ocer-data-hero__shape--a{width:540px;height:540px;right:-210px;top:-260px;border:70px solid rgba(58,175,89,.10)}.ocer-data-hero__shape--b{width:280px;height:280px;left:-120px;bottom:-140px;background:rgba(164,221,112,.18)}.ocer-data-hero__shape--c{width:150px;height:150px;right:33%;bottom:-75px;border-radius:36px;transform:rotate(24deg);background:rgba(103,194,224,.16)}
.ocer-data-hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);gap:60px;align-items:center}.ocer-data-hero__copy h1{max-width:760px;font-size:clamp(3rem,5.3vw,5.7rem);line-height:.95;letter-spacing:-.055em;margin:18px 0 28px}.ocer-data-hero__copy>p:not(.ocer-eyebrow):not(.ocer-data-updated){max-width:720px;font-size:1.16rem;line-height:1.7;color:var(--ocer-ink-soft)}.ocer-data-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.ocer-data-updated{display:flex!important;align-items:center;gap:9px;margin-top:24px!important;font-size:.83rem!important;color:var(--ocer-ink-soft)}.ocer-data-updated span{width:9px;height:9px;background:#35b54a;border-radius:50%;box-shadow:0 0 0 6px rgba(53,181,74,.12)}
.ocer-data-hero__kpis{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ocer-data-hero__kpis article{min-height:190px;padding:26px;border-radius:28px;background:rgba(255,255,255,.82);border:1px solid rgba(14,108,55,.10);box-shadow:0 20px 50px rgba(18,78,41,.09);display:flex;flex-direction:column;justify-content:flex-end;transition:transform .25s ease,box-shadow .25s ease}.ocer-data-hero__kpis article:nth-child(2){transform:translateY(24px)}.ocer-data-hero__kpis article:nth-child(3){transform:translateY(-10px)}.ocer-data-hero__kpis article:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(18,78,41,.14)}.ocer-data-hero__kpis strong{font-size:clamp(2.2rem,4vw,4.4rem);line-height:.95;color:var(--ocer-green-dark);letter-spacing:-.05em}.ocer-data-hero__kpis small{margin-top:8px;font-size:.91rem;color:var(--ocer-ink-soft)}.ocer-data-kpi__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:auto;border-radius:15px;background:#e7f6dd;color:var(--ocer-green-dark);font-size:1.25rem}
.ocer-data-overview .ocer-section-heading--row>p{max-width:540px}.ocer-data-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}.ocer-data-metric-grid article{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:14px;padding:22px;border:1px solid rgba(14,108,55,.10);border-radius:22px;background:#fff}.ocer-data-metric-grid i{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:#edf8e5;color:var(--ocer-green-dark)}.ocer-data-metric-grid span{font-size:.82rem;color:var(--ocer-ink-soft)}.ocer-data-metric-grid strong{font-size:1.65rem;line-height:1.1;color:var(--ocer-ink)}
.ocer-data-ranking-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px;margin-top:36px}.ocer-data-panel{padding:26px;border-radius:28px;background:#fff;border:1px solid rgba(14,108,55,.09);box-shadow:0 16px 45px rgba(18,78,41,.06)}.ocer-data-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:18px;border-bottom:1px solid rgba(16,28,40,.08)}.ocer-data-panel>header span{display:block;font-size:.73rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ocer-green-dark);font-weight:700}.ocer-data-panel>header h3{margin:4px 0 0;font-size:1.4rem}.ocer-data-panel>header>i{font-size:1.65rem;color:var(--ocer-green-dark)}.ocer-data-bars{display:grid;gap:13px;margin-top:20px}.ocer-data-bar{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;color:inherit;text-decoration:none}.ocer-data-bar__rank{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:#eef8e7;color:var(--ocer-green-dark);font-size:.75rem;font-weight:800}.ocer-data-bar__body{min-width:0}.ocer-data-bar__body b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.ocer-data-bar__body small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ocer-ink-soft);font-size:.72rem}.ocer-data-bar__track{display:block;height:6px;margin-top:7px;border-radius:999px;background:#eef2ec;overflow:hidden}.ocer-data-bar__track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#28a64d,#7bcd68)}.ocer-data-bar>strong{font-size:.78rem;white-space:nowrap;color:var(--ocer-green-dark)}
.ocer-data-actions{display:flex;gap:10px;flex-wrap:wrap}.ocer-data-filterbar{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px;padding:18px;margin-top:28px;border-radius:22px;background:#f1f8ed;border:1px solid rgba(14,108,55,.09)}.ocer-data-filterbar label{display:grid;gap:7px}.ocer-data-filterbar label>span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ocer-green-dark)}.ocer-data-filterbar input,.ocer-data-filterbar select{width:100%;height:48px;padding:0 14px;border:1px solid rgba(16,28,40,.14);border-radius:13px;background:#fff;color:var(--ocer-ink);font:inherit}.ocer-data-table-shell{margin-top:16px;border-radius:26px;background:#fff;border:1px solid rgba(14,108,55,.10);overflow:hidden}.ocer-data-table-meta{display:flex;align-items:baseline;gap:7px;padding:20px 22px;border-bottom:1px solid rgba(16,28,40,.08)}.ocer-data-table-meta strong{font-size:1.45rem;color:var(--ocer-green-dark)}.ocer-data-table-meta span{color:var(--ocer-ink-soft);font-size:.85rem}.ocer-data-loader{margin-left:auto!important}.ocer-data-table-wrap{overflow:auto}.ocer-data-table{width:100%;border-collapse:collapse;min-width:820px}.ocer-data-table th,.ocer-data-table td{padding:15px 18px;border-bottom:1px solid rgba(16,28,40,.07);text-align:left;font-size:.86rem}.ocer-data-table th{background:#fbfdf9;color:var(--ocer-green-dark);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.ocer-data-table td strong{display:block}.ocer-data-table td small{display:block;color:var(--ocer-ink-soft)}.ocer-data-table a{font-weight:700;color:var(--ocer-green-dark);text-decoration:none}.ocer-data-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:18px}.ocer-data-pagination button{border:0;background:transparent;color:var(--ocer-green-dark);font-weight:700;cursor:pointer}.ocer-data-pagination button:disabled{opacity:.35;cursor:not-allowed}.ocer-data-pagination span{font-size:.82rem;color:var(--ocer-ink-soft)}
.ocer-data-method{padding-top:20px}.ocer-data-method__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ocer-data-method__grid>article{padding:34px;border-radius:28px}.ocer-data-method__grid>article:first-child{background:#f3f8ef}.ocer-data-method__grid h2{font-size:clamp(2rem,3.2vw,3.5rem);line-height:1}.ocer-data-method__grid p{line-height:1.72;color:var(--ocer-ink-soft)}.ocer-data-open-card{background:#0c7038;color:#fff}.ocer-data-open-card>i{font-size:2rem}.ocer-data-open-card h3{font-size:2rem;color:#fff}.ocer-data-open-card p{color:rgba(255,255,255,.84)}.ocer-data-open-card div{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px}.ocer-data-open-card a,.ocer-data-open-card button{border:0;background:none;padding:0;color:#fff;text-decoration:underline;font:inherit;font-weight:700;cursor:pointer}
.ocer-data-modal[hidden]{display:none}.ocer-data-modal{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:24px}.ocer-data-modal__backdrop{position:absolute;inset:0;background:rgba(7,25,18,.62);backdrop-filter:blur(6px)}.ocer-data-modal__dialog{position:relative;z-index:1;width:min(720px,100%);max-height:88vh;overflow:auto;padding:34px;border-radius:28px;background:#fff;box-shadow:0 34px 100px rgba(0,0,0,.3)}.ocer-data-modal__dialog h2{font-size:2rem}.ocer-data-modal__dialog label{display:grid;gap:7px;margin-top:20px;font-size:.8rem;font-weight:700;color:var(--ocer-green-dark)}.ocer-data-modal__dialog textarea{width:100%;min-height:88px;padding:14px;border:1px solid rgba(16,28,40,.15);border-radius:14px;background:#f8faf7;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#26312c;resize:vertical}.ocer-data-modal__close{position:absolute;right:18px;top:18px;width:40px;height:40px;border:0;border-radius:50%;background:#f0f5ed;cursor:pointer}.ocer-data-modal__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
@media(max-width:1100px){.ocer-data-hero__inner{grid-template-columns:1fr}.ocer-data-hero__kpis{max-width:760px}.ocer-data-ranking-grid{grid-template-columns:1fr 1fr}.ocer-data-panel:first-child{grid-column:1/-1}.ocer-data-metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ocer-data-hero{padding-top:58px}.ocer-data-hero__copy h1{font-size:clamp(2.7rem,12vw,4.6rem)}.ocer-data-hero__kpis{grid-template-columns:1fr 1fr}.ocer-data-hero__kpis article{min-height:150px;padding:20px}.ocer-data-hero__kpis article:nth-child(2),.ocer-data-hero__kpis article:nth-child(3){transform:none}.ocer-data-ranking-grid,.ocer-data-method__grid{grid-template-columns:1fr}.ocer-data-panel:first-child{grid-column:auto}.ocer-data-filterbar{grid-template-columns:1fr}.ocer-data-metric-grid{grid-template-columns:1fr 1fr}.ocer-data-actions{margin-top:18px}.ocer-data-section-heading--row{display:block}}
@media(max-width:520px){.ocer-data-hero__kpis,.ocer-data-metric-grid{grid-template-columns:1fr}.ocer-data-modal__dialog{padding:26px 20px}.ocer-data-hero__actions .ocer-button,.ocer-data-actions .ocer-button{width:100%;justify-content:center}}

/* CER Finder · Cabine primarie v3.3.2 */
.ocer-cf-hero { position: relative; overflow: hidden; padding: clamp(92px,9vw,145px) 0 90px; background: linear-gradient(135deg,#f7fbf3 0%,#fff 52%,#e4f8f3 100%); }
.ocer-cf-hero__shape { position: absolute; border-radius: 999px; pointer-events: none; }
.ocer-cf-hero__shape--one { width: 480px; height: 480px; right: -150px; top: -170px; border: 60px solid rgba(60,172,47,.09); }
.ocer-cf-hero__shape--two { width: 340px; height: 340px; left: 48%; bottom: -220px; background: rgba(115,219,213,.18); }
.ocer-cf-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(360px,.8fr); gap: clamp(45px,7vw,100px); align-items: center; }
.ocer-cf-hero__copy h1 { max-width: 13ch; font-size: clamp(3rem,5vw,5rem); }
.ocer-cf-hero__copy > p:not(.ocer-eyebrow) { max-width: 720px; color: var(--ocer-ink-soft); font-size: 1.14rem; }
.ocer-cf-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 32px 0 24px; }
.ocer-cf-source-chip { display: inline-flex; align-items: center; gap: 10px; color: var(--ocer-green-dark); font-size: .88rem; font-weight: 650; }
.ocer-cf-source-chip i { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--ocer-green-soft); }
.ocer-cf-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ocer-cf-kpis article { min-height: 170px; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; border: 1px solid rgba(8,118,64,.1); border-radius: 26px; background: rgba(255,255,255,.86); box-shadow: var(--ocer-shadow-sm); backdrop-filter: blur(10px); }
.ocer-cf-kpis article:nth-child(2) { transform: translateY(22px); }
.ocer-cf-kpis article:nth-child(3) { transform: translateY(-6px); }
.ocer-cf-kpis article > span { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: auto; border-radius: 13px; background: var(--ocer-green-soft); color: var(--ocer-green-dark); }
.ocer-cf-kpis strong { display: block; margin-top: 18px; font-size: 2.35rem; line-height: 1; letter-spacing: -.04em; }
.ocer-cf-kpis small { margin-top: 7px; color: var(--ocer-ink-soft); line-height: 1.35; }

.ocer-cf-map-grid { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.55fr); gap: 34px; align-items: stretch; }
.ocer-cf-guide { padding: 30px; border-radius: 28px; background: var(--ocer-green-deep); color: #fff; }
.ocer-cf-guide__step { display: grid; grid-template-columns: 42px 1fr; gap: 15px; padding: 0 0 24px; margin-bottom: 24px; border-bottom: 1px solid rgba(255,255,255,.13); }
.ocer-cf-guide__step > span { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.12); color: #c7f2b9; font-size: .78rem; font-weight: 800; }
.ocer-cf-guide__step strong { display: block; margin-bottom: 5px; font-size: 1.06rem; }
.ocer-cf-guide__step p { margin: 0; color: rgba(255,255,255,.73); font-size: .92rem; line-height: 1.55; }
.ocer-cf-guide__notice { display: flex; gap: 12px; margin: 8px 0 26px; padding: 16px; border-radius: 18px; background: rgba(255,255,255,.08); }
.ocer-cf-guide__notice i { margin-top: 4px; color: #bdebaf; }
.ocer-cf-guide__notice p { margin: 0; color: rgba(255,255,255,.82); font-size: .86rem; line-height: 1.55; }
.ocer-cf-guide .ocer-button--ghost { width: 100%; justify-content: center; color: #fff; border-color: rgba(255,255,255,.34); background: rgba(255,255,255,.05); }
.ocer-cf-map-card { overflow: hidden; min-height: 650px; border: 1px solid var(--ocer-line); border-radius: 30px; background: #fff; box-shadow: var(--ocer-shadow-sm); }
.ocer-cf-map-card__head { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 22px; border-bottom: 1px solid var(--ocer-line); }
.ocer-cf-map-card__head div span { display: block; color: var(--ocer-muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 750; }
.ocer-cf-map-card__head div strong { display: block; margin-top: 2px; font-size: 1.05rem; }
.ocer-cf-live-dot { display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px; border-radius: 999px; background: var(--ocer-green-soft); color: var(--ocer-green-dark); font-size: .76rem; font-weight: 750; }
.ocer-cf-live-dot::before { content:""; width: 7px; height: 7px; border-radius: 50%; background: var(--ocer-green); box-shadow: 0 0 0 5px rgba(60,172,47,.12); }
.ocer-cf-map-frame { height: calc(100% - 72px); min-height: 578px; }
.ocer-cf-map-frame iframe { width: 100%; height: 100%; min-height: 578px; border: 0; display: block; }

.ocer-cf-toolbar { display: grid; grid-template-columns: minmax(320px,1.5fr) minmax(220px,.8fr) minmax(210px,.7fr); gap: 14px; margin-bottom: 24px; padding: 18px; border: 1px solid var(--ocer-line); border-radius: 24px; background: #fff; box-shadow: var(--ocer-shadow-sm); }
.ocer-cf-toolbar label > span { display: block; margin: 0 0 7px 3px; color: var(--ocer-muted); font-size: .73rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.ocer-cf-toolbar input,.ocer-cf-toolbar select { width: 100%; height: 50px; padding: 0 14px; border: 1px solid #d6e1db; border-radius: 14px; background: #fff; color: var(--ocer-ink); outline: none; }
.ocer-cf-toolbar input:focus,.ocer-cf-toolbar select:focus { border-color: var(--ocer-green); box-shadow: 0 0 0 3px rgba(60,172,47,.12); }
.ocer-cf-search > div { position: relative; }
.ocer-cf-search i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--ocer-green-dark); }
.ocer-cf-search input { padding-left: 45px; }
.ocer-cf-status { display: flex; align-items: center; gap: 15px; min-height: 90px; padding: 20px 24px; border-radius: 22px; background: #fff; border: 1px solid var(--ocer-line); }
.ocer-cf-status strong,.ocer-cf-status small { display: block; }
.ocer-cf-status small { margin-top: 3px; color: var(--ocer-muted); }
.ocer-cf-status__spinner { width: 26px; height: 26px; flex: 0 0 26px; border: 3px solid rgba(8,118,64,.15); border-top-color: var(--ocer-green-dark); border-radius: 50%; animation: ocerCfSpin .8s linear infinite; }
.ocer-cf-status.is-warning { background: #fff9e8; border-color: rgba(154,103,0,.2); color: #6d4d00; }
@keyframes ocerCfSpin { to { transform: rotate(360deg); } }
.ocer-cf-table-shell { overflow: hidden; border: 1px solid var(--ocer-line); border-radius: 28px; background: #fff; box-shadow: var(--ocer-shadow-sm); }
.ocer-cf-table-meta { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 20px; border-bottom: 1px solid var(--ocer-line); }
.ocer-cf-table-meta div { display: flex; align-items: baseline; gap: 7px; }
.ocer-cf-table-meta strong { font-size: 1.35rem; }
.ocer-cf-table-meta span { color: var(--ocer-muted); font-size: .84rem; }
.ocer-cf-table-wrap { overflow-x: auto; }
.ocer-cf-table { width: 100%; min-width: 950px; border-collapse: collapse; }
.ocer-cf-table th { padding: 13px 18px; text-align: left; background: #f7faf7; color: var(--ocer-muted); font-size: .71rem; text-transform: uppercase; letter-spacing: .075em; }
.ocer-cf-table td { padding: 17px 18px; border-top: 1px solid #edf1ee; vertical-align: middle; color: var(--ocer-ink-soft); font-size: .91rem; }
.ocer-cf-table tbody tr:hover { background: #fbfdf9; }
.ocer-cf-code { display: inline-flex; flex-direction: column; align-items: flex-start; gap: 3px; border: 0; padding: 0; background: none; color: var(--ocer-green-dark); font-weight: 800; }
.ocer-cf-code small { display: inline-flex; padding: 2px 6px; border-radius: 999px; background: var(--ocer-green-soft); font-size: .62rem; font-weight: 700; }
.ocer-cf-primary { display: inline-block; max-width: 260px; line-height: 1.45; }
.ocer-cf-count { min-width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #f0f3f1; color: var(--ocer-muted); font-weight: 800; }
.ocer-cf-count.is-active { background: var(--ocer-green-soft); color: var(--ocer-green-dark); }
.ocer-cf-view { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ocer-line); border-radius: 50%; background: #fff; color: var(--ocer-ink); }
.ocer-cf-view:hover { background: var(--ocer-ink); color: #fff; border-color: var(--ocer-ink); }
.ocer-cf-empty { display: flex; flex-direction: column; align-items: center; padding: 42px 20px; text-align: center; }
.ocer-cf-empty i { margin-bottom: 10px; color: var(--ocer-green-dark); font-size: 1.6rem; }
.ocer-cf-empty span { color: var(--ocer-muted); }
.ocer-cf-pagination { display: flex; align-items: center; justify-content: center; gap: 16px; padding: 18px; border-top: 1px solid var(--ocer-line); }
.ocer-cf-pagination button { padding: 9px 14px; border: 1px solid var(--ocer-line); border-radius: 999px; background: #fff; color: var(--ocer-ink); }
.ocer-cf-pagination button:disabled { opacity: .4; cursor: default; }
.ocer-cf-pagination span { color: var(--ocer-muted); font-size: .84rem; }

.ocer-cf-explain__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.ocer-cf-explain__grid article { padding: 28px; border: 1px solid var(--ocer-line); border-radius: 24px; background: #fff; }
.ocer-cf-explain__grid article > i { width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 22px; border-radius: 14px; background: var(--ocer-green-soft); color: var(--ocer-green-dark); }
.ocer-cf-explain__grid h3 { margin-bottom: 10px; }
.ocer-cf-explain__grid p { margin: 0; color: var(--ocer-ink-soft); }
.ocer-cf-sources { background: var(--ocer-green-deep); color: #fff; }
.ocer-cf-sources .ocer-eyebrow { color: #bcecae; }
.ocer-cf-sources__inner { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(320px,.7fr); gap: 60px; align-items: center; }
.ocer-cf-sources__inner h2 { max-width: 720px; color: #fff; }
.ocer-cf-sources__inner p:not(.ocer-eyebrow) { max-width: 720px; color: rgba(255,255,255,.72); }
.ocer-cf-source-links { display: grid; gap: 10px; }
.ocer-cf-source-links a { display: flex; align-items: center; gap: 13px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.15); border-radius: 16px; background: rgba(255,255,255,.06); color: #fff; text-decoration: none; }
.ocer-cf-source-links a:hover { background: rgba(255,255,255,.11); }
.ocer-cf-source-links i { color: #bcecae; }

html.ocer-modal-open { overflow: hidden; }
.ocer-cf-modal[hidden] { display: none !important; }
.ocer-cf-modal { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 25px; }
.ocer-cf-modal__backdrop { position: absolute; inset: 0; background: rgba(7,18,25,.72); backdrop-filter: blur(5px); }
.ocer-cf-modal__dialog { position: relative; z-index: 1; width: min(900px,100%); max-height: min(88vh,900px); overflow: auto; padding: clamp(24px,4vw,42px); border-radius: 30px; background: #fff; box-shadow: 0 35px 90px rgba(0,0,0,.25); }
.ocer-cf-modal__close { position: sticky; float: right; top: 0; z-index: 3; width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: var(--ocer-ink); color: #fff; }
.ocer-cf-modal-head h2 { margin-bottom: 14px; color: var(--ocer-green-dark); }
.ocer-cf-modal-meta { display: flex; flex-wrap: wrap; gap: 10px 20px; color: var(--ocer-ink-soft); }
.ocer-cf-modal-meta span { display: inline-flex; align-items: center; gap: 7px; }
.ocer-cf-modal-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 30px; }
.ocer-cf-modal-actions button,.ocer-cf-modal-actions a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid var(--ocer-line); border-radius: 999px; background: #fff; color: var(--ocer-ink); text-decoration: none; }
.ocer-cf-modal-section { margin-top: 30px; }
.ocer-cf-modal-section__title { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 14px; }
.ocer-cf-modal-section__title h3 { margin: 0; }
.ocer-cf-modal-section__title span { min-width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--ocer-green-soft); color: var(--ocer-green-dark); font-weight: 800; }
.ocer-cf-cer-card { padding: 18px; margin-bottom: 12px; border: 1px solid var(--ocer-line); border-radius: 18px; background: #fcfdfb; }
.ocer-cf-cer-card__head strong { display: block; margin-top: 6px; font-size: 1rem; line-height: 1.35; }
.ocer-cf-source-tag { display: inline-flex; padding: 4px 8px; border-radius: 999px; background: #edf2ef; color: var(--ocer-ink-soft); font-size: .68rem; font-weight: 750; }
.ocer-cf-source-tag.is-ocer { background: var(--ocer-green-soft); color: var(--ocer-green-dark); }
.ocer-cf-cer-card > p { display: flex; align-items: center; gap: 7px; margin: 10px 0; color: var(--ocer-ink-soft); font-size: .86rem; }
.ocer-cf-cer-metrics { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.ocer-cf-cer-metrics span { padding: 7px 10px; border-radius: 10px; background: #f0f5f1; color: var(--ocer-ink-soft); font-size: .75rem; }
.ocer-cf-cer-metrics b { color: var(--ocer-ink); }
.ocer-cf-cer-card > small { display: block; color: var(--ocer-muted); }
.ocer-cf-cer-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 13px; }
.ocer-cf-cer-actions a { display: inline-flex; align-items: center; gap: 7px; color: var(--ocer-green-dark); font-size: .82rem; font-weight: 700; text-decoration: none; }
.ocer-cf-no-data { padding: 18px; border-radius: 16px; background: #f7faf7; color: var(--ocer-muted); }

@media (max-width: 1050px) {
  .ocer-cf-hero__inner,.ocer-cf-map-grid,.ocer-cf-sources__inner { grid-template-columns: 1fr; }
  .ocer-cf-kpis { max-width: 760px; }
  .ocer-cf-kpis article:nth-child(2),.ocer-cf-kpis article:nth-child(3) { transform: none; }
  .ocer-cf-toolbar { grid-template-columns: 1fr 1fr; }
  .ocer-cf-search { grid-column: 1 / -1; }
  .ocer-cf-explain__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .ocer-cf-hero { padding-top: 72px; }
  .ocer-cf-hero__copy h1 { max-width: none; font-size: clamp(2.55rem,12vw,4rem); }
  .ocer-cf-kpis,.ocer-cf-toolbar,.ocer-cf-explain__grid { grid-template-columns: 1fr; }
  .ocer-cf-search { grid-column: auto; }
  .ocer-cf-kpis article { min-height: 140px; }
  .ocer-cf-map-card { min-height: 560px; }
  .ocer-cf-map-frame,.ocer-cf-map-frame iframe { min-height: 490px; }
  .ocer-cf-table-meta { align-items: flex-start; flex-direction: column; }
  .ocer-cf-modal { padding: 10px; }
  .ocer-cf-modal__dialog { border-radius: 22px; }
}


/* CER Finder helper */
.ocer-finder-help-section{padding-top:0;padding-bottom:18px}
.ocer-finder-help-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:32px;align-items:center;padding:30px 34px;border:1px solid var(--ocer-line);border-radius:28px;background:linear-gradient(135deg,#fcfefb 0%,#edf8ef 100%);box-shadow:var(--ocer-shadow-sm);position:relative;overflow:hidden}
.ocer-finder-help-card::before{content:"";position:absolute;right:-90px;top:-70px;width:240px;height:240px;border-radius:50%;border:28px solid rgba(94,192,105,.13)}
.ocer-finder-help-card__copy{position:relative;z-index:1}
.ocer-finder-help-card__copy h2{font-size:clamp(1.65rem,2.6vw,2.5rem)!important;margin:10px 0 12px}
.ocer-finder-help-card__copy p{max-width:780px;color:var(--ocer-ink-soft)}
.ocer-finder-help-card__actions{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap}
.ocer-finder-help-card__visual{position:relative;z-index:1;display:flex;justify-content:center}
.ocer-bill-mockup{width:min(100%,360px);padding:18px 18px 16px;border-radius:24px;background:#fff;border:1px solid rgba(16,28,40,.08);box-shadow:0 18px 50px rgba(10,33,22,.1);transform:rotate(-3deg)}
.ocer-bill-mockup--large{width:min(100%,390px);margin-inline:auto;transform:none}
.ocer-bill-mockup__top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(16,28,40,.08)}
.ocer-bill-mockup__brand{font-weight:800;color:var(--ocer-ink)}
.ocer-bill-mockup__status{padding:5px 10px;border-radius:999px;background:#eef8eb;color:var(--ocer-green-dark);font-size:.72rem;font-weight:700}
.ocer-bill-mockup__row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed rgba(16,28,40,.08);font-size:.94rem}
.ocer-bill-mockup__row span{color:var(--ocer-ink-soft)}
.ocer-bill-mockup__row strong{font-weight:800;color:var(--ocer-ink);text-align:right}
.ocer-bill-mockup__row--highlight{margin:12px -8px;padding:12px 8px;border-radius:16px;border-bottom:0;background:#eaf8e3;box-shadow:inset 0 0 0 1px rgba(17,129,66,.1)}
.ocer-bill-mockup__row--highlight strong{color:var(--ocer-green-dark)}
.ocer-bill-mockup__note{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;border-radius:16px;background:#f5fbf1;color:var(--ocer-ink-soft);font-size:.9rem}
.ocer-bill-mockup__note i{margin-top:2px;color:var(--ocer-green-dark)}
.ocer-finder-modal__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:28px;align-items:start;margin-top:18px}
.ocer-finder-steps{margin:0;padding-left:20px;display:grid;gap:12px}
.ocer-finder-steps li{color:var(--ocer-ink-soft);line-height:1.65}
.ocer-finder-tip{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px 16px;border-radius:18px;background:#f2faf0;border:1px solid rgba(17,129,66,.12)}
.ocer-finder-tip i{color:var(--ocer-green-dark);margin-top:2px}
.ocer-finder-tip p{margin:0;color:var(--ocer-ink-soft)}
@media(max-width:980px){.ocer-finder-help-card,.ocer-finder-modal__grid{grid-template-columns:1fr}.ocer-finder-help-card__visual{justify-content:flex-start}.ocer-bill-mockup{transform:none}}
@media(max-width:640px){.ocer-finder-help-card{padding:24px 20px}.ocer-bill-mockup,.ocer-bill-mockup--large{width:100%}.ocer-finder-help-card__copy h2{font-size:clamp(1.45rem,7vw,2rem)!important}}


/* CER Finder tabs / map layout v3.3.4 */
.ocer-cf-tabs-heading{align-items:flex-end}
.ocer-cf-heading-actions{display:flex;align-items:center;justify-content:flex-end}
.ocer-cf-help-link{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid rgba(8,118,64,.16);border-radius:999px;background:#fff;color:var(--ocer-green-dark);font-size:.86rem;font-weight:750;box-shadow:0 8px 24px rgba(10,45,25,.05);cursor:pointer}
.ocer-cf-help-link:hover{background:var(--ocer-green-soft)}
.ocer-cf-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0 22px;padding:7px;border:1px solid var(--ocer-line);border-radius:24px;background:#f5f8f5;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.ocer-cf-tab{display:flex;align-items:center;gap:14px;width:100%;min-height:78px;padding:14px 18px;border:0;border-radius:18px;background:transparent;color:var(--ocer-ink-soft);text-align:left;cursor:pointer;transition:background .22s ease,box-shadow .22s ease,color .22s ease,transform .22s ease}
.ocer-cf-tab:hover{color:var(--ocer-ink);background:rgba(255,255,255,.7)}
.ocer-cf-tab.is-active{background:#fff;color:var(--ocer-ink);box-shadow:0 9px 28px rgba(16,28,40,.09);transform:translateY(-1px)}
.ocer-cf-tab__icon{width:46px;height:46px;flex:0 0 46px;display:grid;place-items:center;border-radius:14px;background:#e7f5e5;color:var(--ocer-green-dark);font-size:1.1rem}
.ocer-cf-tab.is-active .ocer-cf-tab__icon{background:var(--ocer-green-dark);color:#fff}
.ocer-cf-tab strong,.ocer-cf-tab small{display:block}.ocer-cf-tab strong{font-size:1rem}.ocer-cf-tab small{margin-top:3px;color:var(--ocer-muted);font-size:.76rem;font-weight:500;line-height:1.35}
.ocer-cf-tab-panel[hidden]{display:none!important}.ocer-cf-tab-panel{padding-top:4px}
.ocer-cf-tool-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:18px 20px;border-radius:20px;background:linear-gradient(135deg,#f0faed,#f9fcf7);border:1px solid rgba(8,118,64,.1)}
.ocer-cf-tool-intro>div{display:flex;align-items:flex-start;gap:13px}.ocer-cf-tool-intro__icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:13px;background:#fff;color:var(--ocer-green-dark);box-shadow:0 6px 18px rgba(10,50,25,.06)}
.ocer-cf-tool-intro strong{display:block;margin-bottom:3px}.ocer-cf-tool-intro p{margin:0;max-width:760px;color:var(--ocer-ink-soft);font-size:.9rem}
.ocer-cf-inline-help{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;border:0;border-radius:999px;padding:10px 13px;background:#fff;color:var(--ocer-green-dark);font-weight:750;cursor:pointer}
.ocer-cf-directory{padding-top:0}
.ocer-cf-guide--horizontal{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px;padding:0;background:transparent;color:inherit}
.ocer-cf-guide--horizontal .ocer-cf-guide__step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:start;min-height:142px;padding:20px;border:1px solid var(--ocer-line);border-radius:20px;background:#fff;color:var(--ocer-ink);box-shadow:var(--ocer-shadow-sm)}
.ocer-cf-guide--horizontal .ocer-cf-guide__step+ .ocer-cf-guide__step{border-top:1px solid var(--ocer-line)}
.ocer-cf-guide--horizontal .ocer-cf-guide__step>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--ocer-green-soft);color:var(--ocer-green-dark);font-weight:850}
.ocer-cf-guide--horizontal .ocer-cf-guide__step strong{display:block;margin:2px 0 7px;font-size:1rem}.ocer-cf-guide--horizontal .ocer-cf-guide__step p{margin:0;color:var(--ocer-ink-soft);font-size:.86rem;line-height:1.55}
.ocer-cf-guide__notice--wide{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:13px 16px;border-radius:16px;background:#edf8ed;color:var(--ocer-ink-soft)}
.ocer-cf-guide__notice--wide p{margin:0;flex:1}.ocer-cf-guide__notice--wide>a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--ocer-green-dark);font-size:.82rem;font-weight:750;text-decoration:none}
.ocer-cf-map-card--full{width:100%;min-height:680px}.ocer-cf-map-card--full .ocer-cf-map-frame,.ocer-cf-map-card--full .ocer-cf-map-frame iframe{min-height:610px}
.ocer-finder-modal__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:28px;align-items:start;margin-top:18px}
.ocer-finder-steps{margin:0;padding-left:20px;display:grid;gap:12px}.ocer-finder-steps li{color:var(--ocer-ink-soft);line-height:1.62}.ocer-finder-tip{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px 16px;border-radius:18px;background:#f2faf0;border:1px solid rgba(17,129,66,.12)}.ocer-finder-tip i{color:var(--ocer-green-dark);margin-top:2px}.ocer-finder-tip p{margin:0;color:var(--ocer-ink-soft)}
.ocer-bill-mockup{width:min(100%,390px);padding:18px;border-radius:24px;background:#fff;border:1px solid rgba(16,28,40,.08);box-shadow:0 18px 50px rgba(10,33,22,.1)}.ocer-bill-mockup__top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(16,28,40,.08)}.ocer-bill-mockup__brand{font-weight:800}.ocer-bill-mockup__status{padding:5px 10px;border-radius:999px;background:#eef8eb;color:var(--ocer-green-dark);font-size:.72rem;font-weight:700}.ocer-bill-mockup__row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed rgba(16,28,40,.08);font-size:.9rem}.ocer-bill-mockup__row span{color:var(--ocer-ink-soft)}.ocer-bill-mockup__row strong{text-align:right}.ocer-bill-mockup__row--highlight{margin:12px -8px;padding:12px 8px;border:0;border-radius:16px;background:#eaf8e3}.ocer-bill-mockup__row--highlight strong{color:var(--ocer-green-dark)}.ocer-bill-mockup__note{display:flex;gap:10px;margin-top:16px;padding:12px 14px;border-radius:16px;background:#f5fbf1;color:var(--ocer-ink-soft);font-size:.86rem}.ocer-bill-mockup__note i{color:var(--ocer-green-dark);margin-top:2px}
@media(max-width:900px){.ocer-cf-tabs{grid-template-columns:1fr}.ocer-cf-tool-intro{align-items:flex-start;flex-direction:column}.ocer-cf-guide--horizontal{grid-template-columns:1fr}.ocer-cf-guide--horizontal .ocer-cf-guide__step{min-height:auto}.ocer-cf-guide__notice--wide{align-items:flex-start;flex-wrap:wrap}.ocer-finder-modal__grid{grid-template-columns:1fr}.ocer-cf-map-card--full{min-height:580px}.ocer-cf-map-card--full .ocer-cf-map-frame,.ocer-cf-map-card--full .ocer-cf-map-frame iframe{min-height:510px}}
@media(max-width:640px){.ocer-cf-tabs-heading{align-items:flex-start}.ocer-cf-heading-actions{justify-content:flex-start}.ocer-cf-help-link span{white-space:normal;text-align:left}.ocer-cf-tab{min-height:72px;padding:12px}.ocer-cf-tab__icon{width:40px;height:40px;flex-basis:40px}.ocer-cf-map-card--full{min-height:520px}.ocer-cf-map-card--full .ocer-cf-map-frame,.ocer-cf-map-card--full .ocer-cf-map-frame iframe{min-height:450px}}

/* CER Finder typography refinement v3.3.5 */
@media (min-width: 1221px) {
  .ocer-cf-hero__copy {
    max-width: 760px;
  }
  .ocer-cf-hero__copy h1 {
    max-width: 760px;
    font-size: clamp(2.9rem, 3.55vw, 3.6rem) !important;
    line-height: 1.015 !important;
    letter-spacing: -.045em;
  }
  .ocer-cf-find .ocer-section-heading h2,
  .ocer-cf-tabs-heading h2 {
    max-width: 760px;
    font-size: clamp(1.85rem, 2.25vw, 2.5rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em;
  }
  .ocer-cf-sources__inner h2 {
    font-size: clamp(1.85rem, 2.2vw, 2.45rem) !important;
    line-height: 1.08 !important;
  }
  .ocer-cf-modal-head h2,
  .ocer-finder-modal .ocer-data-modal__dialog h2 {
    font-size: clamp(1.65rem, 2vw, 2.15rem) !important;
    line-height: 1.1 !important;
  }
}
@media (max-width: 1220px) {
  .ocer-cf-hero__copy h1 {
    max-width: 760px;
    font-size: clamp(2.55rem, 6.2vw, 3.65rem) !important;
    line-height: 1.02 !important;
  }
  .ocer-cf-find .ocer-section-heading h2,
  .ocer-cf-tabs-heading h2 {
    font-size: clamp(1.75rem, 4vw, 2.35rem) !important;
  }
}
@media (max-width: 680px) {
  .ocer-cf-hero__copy h1 {
    font-size: clamp(2.2rem, 10vw, 3rem) !important;
    line-height: 1.03 !important;
  }
  .ocer-cf-find .ocer-section-heading h2,
  .ocer-cf-tabs-heading h2 {
    font-size: clamp(1.6rem, 7vw, 2rem) !important;
  }
}


/* Linee guida editoriali v3.3.6 */
.ocer-editorial-page{padding:54px 0 90px;background:linear-gradient(180deg,#fff 0%,#fbfdf9 58%,#f0f8e9 100%)}
.ocer-editorial-intro{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);gap:42px;align-items:end;padding:36px 0 42px;border-bottom:1px solid var(--ocer-line)}
.ocer-editorial-intro__copy h1{margin:8px 0 18px;font-size:clamp(2.4rem,4.2vw,4.4rem)!important;line-height:.98!important;letter-spacing:-.045em;max-width:720px}
.ocer-editorial-intro__lead{max-width:820px;margin:0 0 14px;font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.55;color:var(--ocer-ink)}
.ocer-editorial-intro__copy>p:last-child{max-width:850px;color:var(--ocer-ink-soft)}
.ocer-editorial-intro__aside{padding:24px;border:1px solid rgba(18,129,66,.14);border-radius:24px;background:#eef8e8;box-shadow:0 16px 42px rgba(16,79,41,.07)}
.ocer-editorial-intro__aside>p{margin:14px 0 20px;color:var(--ocer-ink-soft)}
.ocer-editorial-stamp{display:inline-flex;gap:9px;align-items:center;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:var(--ocer-green-dark)}
.ocer-editorial-principles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:34px 0}
.ocer-editorial-principles article{min-height:190px;padding:24px;border:1px solid var(--ocer-line);border-radius:22px;background:#fff}
.ocer-editorial-principles i{display:grid;place-items:center;width:44px;height:44px;margin-bottom:25px;border-radius:13px;background:#eaf7e4;color:var(--ocer-green-dark);font-size:1.1rem}
.ocer-editorial-principles strong{display:block;margin-bottom:8px;font-size:1.05rem}
.ocer-editorial-principles p{margin:0;color:var(--ocer-ink-soft);font-size:.9rem;line-height:1.55}
.ocer-editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:12px 0 34px}
.ocer-editorial-panel{padding:34px;border:1px solid var(--ocer-line);border-radius:28px;background:#fff;box-shadow:0 18px 45px rgba(14,64,37,.06)}
.ocer-editorial-panel--dark{background:linear-gradient(145deg,#0f6f3b,#075f32);color:#fff;border-color:transparent}
.ocer-editorial-kicker{margin:0 0 8px;color:var(--ocer-green-dark);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.ocer-editorial-panel--dark .ocer-editorial-kicker{color:#bff4b2}
.ocer-editorial-title{font-size:clamp(1.65rem,2.5vw,2.4rem)!important;margin:0 0 24px!important;line-height:1.06!important}
.ocer-editorial-list{display:grid;gap:8px}
.ocer-editorial-list>div{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:14px 0;border-top:1px solid rgba(16,28,40,.09)}
.ocer-editorial-list>div:first-child{border-top:0}
.ocer-editorial-list i{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eff8eb;color:var(--ocer-green-dark)}
.ocer-editorial-list strong,.ocer-editorial-list small{display:block}
.ocer-editorial-list small{margin-top:4px;color:var(--ocer-ink-soft);font-size:.84rem;line-height:1.5}
.ocer-editorial-rules{display:grid;gap:12px}
.ocer-editorial-rules>div{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;padding:13px 0;border-top:1px solid rgba(255,255,255,.14)}
.ocer-editorial-rules>div:first-child{border-top:0}
.ocer-editorial-rules span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);font-size:.75rem;font-weight:800}
.ocer-editorial-rules p{margin:0;color:rgba(255,255,255,.83);font-size:.91rem;line-height:1.55}
.ocer-editorial-rules strong{color:#fff}
.ocer-editorial-submit{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:32px;align-items:center;margin:36px 0 72px;padding:32px 34px;border-radius:28px;background:linear-gradient(135deg,#e7f7df,#f6fbf2);border:1px solid rgba(18,129,66,.12)}
.ocer-editorial-submit h2{font-size:clamp(1.8rem,2.7vw,2.7rem)!important;line-height:1.05!important;max-width:760px;margin:8px 0 12px!important}
.ocer-editorial-submit p{max-width:840px;color:var(--ocer-ink-soft)}
.ocer-editorial-submit__actions{display:flex;flex-direction:column;gap:10px;min-width:220px}
.ocer-editorial-news{padding-top:10px}
.ocer-editorial-news .ocer-section-heading h2{font-size:clamp(1.8rem,2.6vw,2.7rem)!important}
.ocer-editorial-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
@media(max-width:1050px){.ocer-editorial-principles{grid-template-columns:repeat(2,1fr)}.ocer-editorial-news-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:840px){.ocer-editorial-intro,.ocer-editorial-grid,.ocer-editorial-submit{grid-template-columns:1fr}.ocer-editorial-intro{align-items:start}.ocer-editorial-intro__aside{max-width:520px}.ocer-editorial-submit__actions{flex-direction:row;flex-wrap:wrap;min-width:0}}
@media(max-width:620px){.ocer-editorial-page{padding-top:28px}.ocer-editorial-intro{padding:20px 0 30px}.ocer-editorial-intro__copy h1{font-size:clamp(2.1rem,11vw,3.2rem)!important}.ocer-editorial-principles,.ocer-editorial-news-grid{grid-template-columns:1fr}.ocer-editorial-principles article{min-height:0}.ocer-editorial-panel,.ocer-editorial-submit{padding:24px 20px}.ocer-editorial-submit__actions .ocer-button{width:100%;justify-content:center}}

/* Directory SEO landing v3.3.8 */
.ocer-directory-segment-head{
  padding:34px 0 10px;
  background:#fff;
}
.ocer-directory-segment-head .ocer-container{
  display:grid;
  gap:6px;
}
.ocer-directory-segment-kicker{
  margin:0;
  color:var(--ocer-green-dark);
  font-size:.72rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ocer-directory-segment-head h1{
  margin:0;
  max-width:980px;
  color:var(--ocer-ink);
  font-size:clamp(1.65rem,2.5vw,2.25rem)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
.ocer-directory-segment-head p:not(.ocer-directory-segment-kicker){
  margin:2px 0 0;
  max-width:820px;
  color:var(--ocer-ink-soft);
  font-size:.96rem;
  line-height:1.55;
}
.ocer-directory-page--segment{
  padding-top:24px;
}
.ocer-directory-page--segment .ocer-directory-filters{
  grid-template-columns:minmax(250px,1.7fr) repeat(auto-fit,minmax(145px,1fr));
  align-items:end;
  margin-bottom:26px;
}
.ocer-directory-page--segment .ocer-directory-summary{
  margin-top:28px;
}
.ocer-explore-menu{
  min-width:310px!important;
}
@media(max-width:760px){
  .ocer-directory-segment-head{padding:24px 0 8px}
  .ocer-directory-segment-head h1{font-size:clamp(1.45rem,7vw,1.9rem)!important}
  .ocer-directory-page--segment{padding-top:18px}
}

/* CER News Magazine v3.3.9 */
.ocer-magazine{background:#fff;color:var(--ocer-ink)}
.ocer-magazine-masthead{padding:clamp(38px,5vw,72px) 0 30px;background:linear-gradient(180deg,#fbfdf9 0%,#fff 100%);border-bottom:1px solid var(--ocer-line)}
.ocer-magazine-masthead__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);gap:48px;align-items:end}
.ocer-magazine-masthead h1{margin:8px 0 12px;font-size:clamp(2.7rem,4.6vw,5rem)!important;line-height:.96!important;letter-spacing:-.055em;max-width:820px}
.ocer-magazine-masthead p:not(.ocer-eyebrow){max-width:760px;margin:0;color:var(--ocer-ink-soft);font-size:1.08rem;line-height:1.65}
.ocer-magazine-masthead__aside{display:grid;gap:20px;justify-items:end}
.ocer-magazine-masthead__aside time{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ocer-green-dark)}
.ocer-magazine-search{display:flex;align-items:center;gap:10px;width:min(100%,360px);padding:7px 8px 7px 15px;border:1px solid rgba(16,28,40,.12);border-radius:999px;background:#fff;box-shadow:0 8px 28px rgba(16,28,40,.06)}
.ocer-magazine-search>i{color:var(--ocer-green-dark)}
.ocer-magazine-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;font:inherit;color:var(--ocer-ink)}
.ocer-magazine-search button{width:38px;height:38px;border:0;border-radius:50%;background:var(--ocer-ink);color:#fff;cursor:pointer}
.ocer-magazine-sections{position:sticky;top:var(--ocer-header-height,78px);z-index:25;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--ocer-line)}
.ocer-magazine-sections .ocer-container{display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.ocer-magazine-sections .ocer-container::-webkit-scrollbar{display:none}
.ocer-magazine-sections a{flex:0 0 auto;padding:14px 17px;text-decoration:none;font-size:.86rem;font-weight:750;color:var(--ocer-ink-soft);border-bottom:2px solid transparent}
.ocer-magazine-sections a:hover,.ocer-magazine-sections a.is-active{color:var(--ocer-green-dark);border-bottom-color:var(--ocer-green)}
.ocer-magazine-lead{padding:38px 0 28px}
.ocer-magazine-lead__grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.72fr);gap:34px}
.ocer-magazine-cover-story{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);min-height:520px;border-radius:30px;overflow:hidden;background:#0f3528;color:#fff;box-shadow:0 22px 65px rgba(12,45,30,.12)}
.ocer-magazine-cover-story__media{position:relative;display:block;min-height:100%;overflow:hidden;background:linear-gradient(145deg,#17884c,#173d32)}
.ocer-magazine-cover-story__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.ocer-magazine-cover-story:hover .ocer-magazine-cover-story__media img{transform:scale(1.035)}
.ocer-magazine-cover-story__media>span{position:absolute;inset:0;display:grid;place-items:center;font-size:4rem;color:rgba(255,255,255,.55)}
.ocer-magazine-cover-story__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,52px)}
.ocer-magazine-cover-story__body h2{margin:15px 0 16px;font-size:clamp(2rem,3vw,3.35rem)!important;line-height:1.02!important;letter-spacing:-.04em}
.ocer-magazine-cover-story__body h2 a,.ocer-magazine-cover-story__body .ocer-text-link{color:#fff;text-decoration:none}
.ocer-magazine-cover-story__body p{color:rgba(255,255,255,.76);font-size:1rem;line-height:1.65}
.ocer-magazine-cover-story__body .ocer-text-link{margin-top:14px;font-weight:800}
.ocer-magazine-kicker{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ocer-muted)}
.ocer-magazine-kicker a{color:#baf0ac;text-decoration:none}
.ocer-magazine-top-stories{display:flex;flex-direction:column;border-top:3px solid var(--ocer-ink)}
.ocer-magazine-section-label{display:flex;align-items:center;justify-content:space-between;padding:15px 0 10px;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--ocer-green-dark)}
.ocer-magazine-top-story{display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;padding:17px 0;border-top:1px solid var(--ocer-line);align-items:center}
.ocer-magazine-top-story__media{position:relative;display:block;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#eff7e9}
.ocer-magazine-top-story__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.ocer-magazine-top-story:hover img{transform:scale(1.05)}
.ocer-magazine-top-story__media span{position:absolute;inset:0;display:grid;place-items:center;color:var(--ocer-green-dark)}
.ocer-magazine-top-story h3{margin:7px 0 0;font-size:1.08rem!important;line-height:1.18!important}
.ocer-magazine-top-story h3 a{text-decoration:none;color:var(--ocer-ink)}
.ocer-magazine-join{padding:10px 0 26px}
.ocer-magazine-join__inner{display:flex;align-items:center;justify-content:space-between;gap:34px;padding:25px 30px;border-radius:24px;background:linear-gradient(125deg,#168346,#0e713c);color:#fff;position:relative;overflow:hidden}
.ocer-magazine-join__inner::after{content:"";position:absolute;right:-85px;top:-115px;width:300px;height:300px;border-radius:50%;border:42px solid rgba(255,255,255,.08)}
.ocer-magazine-join__inner>div{position:relative;z-index:1}
.ocer-magazine-join__inner span{display:block;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#bdf4ad}
.ocer-magazine-join__inner strong{display:block;margin:5px 0;font-size:1.55rem}
.ocer-magazine-join__inner p{margin:0;max-width:740px;color:rgba(255,255,255,.78);font-size:.92rem}
.ocer-magazine-join__actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:flex-end}
.ocer-magazine-join__actions>a:not(.ocer-button){color:#fff;text-decoration:none;font-weight:800;white-space:nowrap}
.ocer-magazine-block{padding-top:58px}
.ocer-magazine-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:25px;border-top:3px solid var(--ocer-ink);padding-top:16px}
.ocer-magazine-heading span{display:block;color:var(--ocer-green-dark);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.ocer-magazine-heading h2{margin:5px 0 0;font-size:clamp(1.85rem,2.8vw,3rem)!important;line-height:1.02!important;letter-spacing:-.035em}
.ocer-magazine-heading>a{flex:0 0 auto;color:var(--ocer-ink);text-decoration:none;font-weight:800;font-size:.88rem}
.ocer-magazine-latest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ocer-magazine-latest-grid .ocer-news-card{height:100%}
.ocer-magazine-network{margin:52px 0;padding:52px 0 58px;background:#102f25;color:#fff}
.ocer-magazine-heading--light{border-top-color:rgba(255,255,255,.72)}
.ocer-magazine-heading--light h2,.ocer-magazine-heading--light>a{color:#fff}
.ocer-magazine-heading--light span{color:#a9eda1}
.ocer-magazine-network-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ocer-magazine-profile-card{overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:#163c30;transition:transform .35s ease,box-shadow .35s ease}
.ocer-magazine-profile-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(0,0,0,.18)}
.ocer-magazine-profile-card__media{position:relative;display:block;aspect-ratio:16/9;background:#1c5540 center/cover no-repeat;overflow:hidden}
.ocer-magazine-profile-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(5,25,17,.72))}
.ocer-magazine-profile-card__media>span{position:absolute;left:16px;bottom:14px;z-index:1;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:#0d6d38;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.ocer-magazine-profile-card__media>i{position:absolute;inset:0;display:grid;place-items:center;font-size:3rem;color:rgba(255,255,255,.35)}
.ocer-magazine-profile-card__body{padding:20px}
.ocer-magazine-profile-card h3{margin:0;font-size:1.25rem!important}.ocer-magazine-profile-card h3 a,.ocer-magazine-profile-card__body>a{color:#fff;text-decoration:none}
.ocer-magazine-profile-card p{margin:8px 0 15px;color:rgba(255,255,255,.65);font-size:.86rem}
.ocer-magazine-profile-card__body>a{font-size:.84rem;font-weight:800}
.ocer-magazine-editorials{padding-top:58px}
.ocer-magazine-editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ocer-magazine-editorial-card{display:grid;grid-template-columns:minmax(220px,.82fr) minmax(0,1.18fr);overflow:hidden;border:1px solid var(--ocer-line);border-radius:24px;background:#fff;transition:transform .35s ease,box-shadow .35s ease}
.ocer-magazine-editorial-card:hover{transform:translateY(-4px);box-shadow:var(--ocer-shadow-sm)}
.ocer-magazine-editorial-card__media{position:relative;min-height:300px;background:#eef7e8;overflow:hidden}
.ocer-magazine-editorial-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.ocer-magazine-editorial-card:hover img{transform:scale(1.04)}
.ocer-magazine-editorial-card__media>span{position:absolute;inset:0;display:grid;place-items:center;color:var(--ocer-green-dark);font-size:3rem}
.ocer-magazine-editorial-card>div{padding:28px;display:flex;flex-direction:column;justify-content:center}
.ocer-magazine-editorial-card h3{margin:11px 0;font-size:1.6rem!important;line-height:1.08!important}.ocer-magazine-editorial-card h3 a{text-decoration:none;color:var(--ocer-ink)}
.ocer-magazine-editorial-card p{color:var(--ocer-ink-soft)}
.ocer-magazine-category-section{padding-top:55px}.ocer-magazine-category-section--soft{background:#f6faf3}
.ocer-magazine-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.ocer-magazine-category-grid .ocer-news-card{height:100%}
.ocer-magazine-final-cta{padding-top:28px}.ocer-magazine-final-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:36px 40px;border:1px solid var(--ocer-line);border-radius:28px;background:linear-gradient(130deg,#eff9e8,#f8fcf6)}
.ocer-magazine-final-cta__inner span{display:block;color:var(--ocer-green-dark);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.ocer-magazine-final-cta h2{margin:7px 0 10px;font-size:clamp(1.65rem,2.8vw,2.7rem)!important}.ocer-magazine-final-cta p{margin:0;color:var(--ocer-ink-soft)}
@media(max-width:1120px){.ocer-magazine-lead__grid{grid-template-columns:1fr}.ocer-magazine-top-stories{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;border-top:0}.ocer-magazine-section-label{grid-column:1/-1;border-top:3px solid var(--ocer-ink)}.ocer-magazine-top-story{grid-template-columns:100px 1fr}.ocer-magazine-latest-grid{grid-template-columns:repeat(2,1fr)}.ocer-magazine-category-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.ocer-magazine-masthead__top{grid-template-columns:1fr}.ocer-magazine-masthead__aside{justify-items:start}.ocer-magazine-cover-story{grid-template-columns:1fr}.ocer-magazine-cover-story__media{min-height:360px}.ocer-magazine-network-grid{grid-template-columns:1fr 1fr}.ocer-magazine-editorial-grid{grid-template-columns:1fr}.ocer-magazine-join__inner,.ocer-magazine-final-cta__inner{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.ocer-magazine-masthead{padding-top:30px}.ocer-magazine-masthead h1{font-size:clamp(2.35rem,12vw,3.35rem)!important}.ocer-magazine-lead{padding-top:24px}.ocer-magazine-cover-story__media{min-height:250px}.ocer-magazine-cover-story__body{padding:25px 22px}.ocer-magazine-cover-story__body h2{font-size:clamp(1.8rem,8vw,2.5rem)!important}.ocer-magazine-top-stories{grid-template-columns:1fr}.ocer-magazine-top-story{grid-template-columns:100px 1fr}.ocer-magazine-join__inner{padding:22px}.ocer-magazine-join__actions{justify-content:flex-start}.ocer-magazine-latest-grid,.ocer-magazine-network-grid,.ocer-magazine-category-grid{grid-template-columns:1fr}.ocer-magazine-editorial-card{grid-template-columns:1fr}.ocer-magazine-editorial-card__media{min-height:220px}.ocer-magazine-heading{align-items:flex-start;flex-direction:column;gap:10px}.ocer-magazine-final-cta__inner{padding:28px 22px}}


/* Desktop navigation controller v3.4.0
   Dropdown visibility is controlled by JS instead of CSS :hover.
   This prevents a wide mega-menu from stealing hover from adjacent top-level items. */
@media (min-width:1221px){
  .ocer-desktop-nav .ocer-menu > li.ocer-dropdown{position:relative}
  .ocer-desktop-nav .ocer-dropdown > .sub-menu{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s!important;
  }
  .ocer-desktop-nav .ocer-dropdown.is-dropdown-open > .sub-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:opacity .18s ease, transform .18s ease, visibility 0s!important;
  }
  /* Neutralize all legacy hover/focus-within open rules. */
  .ocer-desktop-nav .ocer-dropdown:hover > .sub-menu,
  .ocer-desktop-nav .ocer-dropdown:focus-within > .sub-menu{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .ocer-desktop-nav .ocer-dropdown.is-dropdown-open:hover > .sub-menu,
  .ocer-desktop-nav .ocer-dropdown.is-dropdown-open:focus-within > .sub-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .ocer-desktop-nav .ocer-dropdown:not(.ocer-services-menu).is-dropdown-open > .sub-menu{
    transform:translateY(0)!important;
  }
  .ocer-desktop-nav .ocer-services-menu.is-dropdown-open > .ocer-mega-menu{
    transform:translate(-50%,0)!important;
  }
  /* The active trigger gets a subtle, consistent state. */
  .ocer-desktop-nav .ocer-dropdown.is-dropdown-open > .ocer-dropdown-trigger{
    background:var(--ocer-soft);
    color:var(--ocer-green-dark);
  }
  .ocer-desktop-nav .ocer-dropdown-trigger{
    position:relative;
  }
  .ocer-desktop-nav .ocer-dropdown-trigger::after{
    content:"";
    width:6px;
    height:6px;
    margin-left:2px;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
    opacity:.55;
    transition:transform .18s ease,opacity .18s ease;
  }
  .ocer-desktop-nav .ocer-dropdown.is-dropdown-open > .ocer-dropdown-trigger::after{
    transform:rotate(225deg) translate(-1px,-1px);
    opacity:.85;
  }
  /* Keep a small invisible corridor only on the active panel. */
  .ocer-desktop-nav .ocer-dropdown.is-dropdown-open > .sub-menu::before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:-12px!important;
    height:14px!important;
    background:transparent!important;
    pointer-events:auto!important;
  }
  .ocer-desktop-nav .ocer-services-menu.is-dropdown-open > .ocer-mega-menu::before{
    left:0!important;
    right:0!important;
  }
}


/* CER News featured story — horizontal image v3.4.1 */
@media (min-width:901px){
  .ocer-magazine-lead__grid{grid-template-columns:minmax(0,1.7fr) minmax(330px,.72fr);align-items:start}
  .ocer-magazine-cover-story{display:block;min-height:0;border-radius:30px;background:#0f3528;overflow:hidden}
  .ocer-magazine-cover-story__media{position:relative;display:block;width:100%;min-height:0;aspect-ratio:16/9;background:linear-gradient(145deg,#17884c,#173d32)}
  .ocer-magazine-cover-story__media img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;display:block!important}
  .ocer-magazine-cover-story__body{display:block;padding:30px 34px 34px}
  .ocer-magazine-cover-story__body h2{max-width:17ch;margin:12px 0 14px;font-size:clamp(2rem,2.45vw,3rem)!important;line-height:1.02!important}
  .ocer-magazine-cover-story__body p{max-width:760px;margin:0;color:rgba(255,255,255,.76)}
  .ocer-magazine-cover-story__body .ocer-text-link{display:inline-flex;align-items:center;gap:9px;margin-top:18px}
}


/* Service landing dedicated v3.4.2 */
.ocer-service-hero{position:relative;overflow:hidden;padding:clamp(48px,6vw,78px) 0;background:linear-gradient(125deg,#f6fbf2 0%,#e7f7ec 62%,#e8f8f7 100%)}
.ocer-service-hero::before{content:"";position:absolute;left:-130px;top:-160px;width:420px;height:420px;border:48px solid rgba(74,175,88,.10);border-radius:50%}
.ocer-service-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:50px;align-items:center;position:relative;z-index:1}
.ocer-service-hero__copy h1{margin:12px 0 20px;max-width:820px;font-size:clamp(2.4rem,4.2vw,4rem)!important;line-height:1.02!important;letter-spacing:-.045em!important}
.ocer-service-hero__lead{max-width:760px;margin:0;color:var(--ocer-ink-soft);font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.65}
.ocer-service-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ocer-service-hero__visual{position:relative;min-height:260px;display:grid;place-items:center}
.ocer-service-icon-card{position:relative;z-index:2;width:172px;height:172px;display:grid;place-items:center;border-radius:42px;background:#fff;color:var(--ocer-green-dark);box-shadow:0 26px 70px rgba(12,76,38,.14);transform:rotate(-4deg)}
.ocer-service-icon-card i{font-size:70px}
.ocer-service-orbit{position:absolute;border-radius:50%;border:20px solid rgba(66,173,81,.12)}
.ocer-service-orbit--a{width:260px;height:260px;right:4px;top:4px;border-left-color:transparent}
.ocer-service-orbit--b{width:160px;height:160px;left:10px;bottom:0;border-right-color:transparent;border-color:rgba(43,171,168,.12);border-right-color:transparent}
.ocer-service-path{padding:0 0 16px;background:#fff}
.ocer-service-path__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;transform:translateY(-18px);position:relative;z-index:3}
.ocer-service-step{display:flex;align-items:center;gap:16px;padding:20px 22px;border:1px solid var(--ocer-line);border-radius:20px;background:#fff;box-shadow:var(--ocer-shadow-sm)}
.ocer-service-step>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border-radius:50%;background:var(--ocer-green-pale);color:var(--ocer-green-dark);font-size:.78rem;font-weight:850}
.ocer-service-step p{margin:0;font-weight:720;line-height:1.4;color:var(--ocer-ink)}
.ocer-service-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:42px;align-items:start}
.ocer-service-content-card{min-width:0;padding:34px;border:1px solid var(--ocer-line);border-radius:28px;background:#fff;overflow:hidden}
.ocer-service-content-card h1,.ocer-service-content-card h2,.ocer-service-content-card h3{max-width:100%;overflow-wrap:anywhere}
.ocer-service-content-card h1{font-size:clamp(2rem,3.4vw,3.1rem)!important}
.ocer-service-content-card h2{font-size:clamp(1.6rem,2.5vw,2.35rem)!important}
.ocer-service-content-card img{max-width:100%;height:auto;border-radius:18px}
.ocer-service-aside{position:sticky;top:118px}
.ocer-service-aside__card{padding:26px;border-radius:24px;background:linear-gradient(145deg,#0a6739,#0b7b41);color:#fff}
.ocer-service-aside__card>i{font-size:30px;margin-bottom:18px;color:#bdf2ae}
.ocer-service-aside__card .ocer-footer-heading{color:#fff;margin-bottom:10px}
.ocer-service-aside__card p{color:rgba(255,255,255,.82)}
.ocer-service-aside__card a{display:inline-flex;align-items:center;gap:8px;margin-top:8px;color:#fff;font-weight:800;text-decoration:none}
.ocer-service-form-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(480px,1.28fr);gap:50px;align-items:start}
.ocer-service-form-copy{padding-top:12px}
.ocer-service-form-copy h2{font-size:clamp(2rem,3vw,3rem)!important;margin:10px 0 16px}
.ocer-service-form-copy>p{color:var(--ocer-ink-soft)}
.ocer-service-form-copy ul{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.ocer-service-form-copy li{display:flex;gap:10px;align-items:flex-start;color:var(--ocer-ink-soft)}
.ocer-service-form-copy li i{color:var(--ocer-green-dark);margin-top:4px}
.ocer-service-form-card select{width:100%;padding:12px 13px;border:1px solid var(--ocer-line);border-radius:11px;background:#fff;color:var(--ocer-ink)}
.ocer-service-form-card input,.ocer-service-form-card textarea{font-size:16px}
@media(max-width:980px){.ocer-service-hero__grid,.ocer-service-content-grid,.ocer-service-form-grid{grid-template-columns:1fr}.ocer-service-hero__visual{display:none}.ocer-service-path__grid{grid-template-columns:1fr}.ocer-service-aside{position:static}.ocer-service-form-grid{gap:28px}.ocer-service-content-card{padding:26px}}
@media(max-width:640px){.ocer-service-hero{padding:42px 0 56px}.ocer-service-hero__copy h1{font-size:clamp(2.15rem,10vw,3rem)!important;line-height:1.02!important}.ocer-service-hero__lead{font-size:1.05rem}.ocer-service-hero__actions .ocer-button{width:100%;justify-content:center}.ocer-service-path__grid{transform:translateY(-10px)}.ocer-service-step{padding:17px 18px}.ocer-service-content-card{padding:20px;border-radius:22px}.ocer-service-form-card{padding:20px}.ocer-form-grid{grid-template-columns:1fr!important}}


/* Mobile menu closed-state hardening v3.4.3 */
@media (max-width:1220px){
  .ocer-mobile-panel[aria-hidden="true"]{
    transform:translateX(105%)!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  .ocer-mobile-panel.is-open[aria-hidden="false"]{
    transform:translateX(0)!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  body:not(.is-menu-open) .ocer-menu-backdrop{
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}


/* Mobile drawer definitive state v3.4.4 */
.ocer-mobile-panel[hidden],.ocer-menu-backdrop[hidden]{display:none!important}
@media (max-width:1220px){
  html,body{max-width:100%;overflow-x:hidden}
  .ocer-mobile-panel{position:fixed!important;left:auto!important;right:0!important;top:0!important;bottom:0!important;height:100dvh!important;max-width:min(92vw,410px)!important;will-change:transform;contain:layout paint;overscroll-behavior:contain}
  .ocer-mobile-panel:not(.is-open){transform:translate3d(105%,0,0)!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
  .ocer-mobile-panel.is-open{transform:translate3d(0,0,0)!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  .ocer-menu-backdrop{position:fixed!important;inset:0!important}
}


/* Service FAQ v3.4.5 */
.ocer-service-content-card .vc_toggle,
.ocer-service-content-card .vc_tta-container{max-width:100%}
.ocer-service-content-card .vc_toggle_icon,
.ocer-service-content-card .vc_tta-controls-icon{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important}
.ocer-service-faq-section{padding-top:20px;background:#fff}
.ocer-service-faq-layout{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:clamp(28px,5vw,72px);align-items:start}
.ocer-service-faq-intro{position:sticky;top:118px}
.ocer-service-faq-intro h2{margin:8px 0 12px;font-size:clamp(1.75rem,2.5vw,2.45rem)!important;line-height:1.08!important;letter-spacing:-.03em!important}
.ocer-service-faq-intro>p:not(.ocer-eyebrow){max-width:360px;color:var(--ocer-ink-soft);line-height:1.6}
.ocer-service-faq-list{display:grid;gap:12px}
.ocer-service-faq-item{overflow:hidden;border:1px solid var(--ocer-line);border-radius:18px;background:#fff;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}
.ocer-service-faq-item:hover{border-color:rgba(19,130,67,.24);box-shadow:0 12px 34px rgba(10,45,25,.055)}
.ocer-service-faq-item.is-open{border-color:rgba(19,130,67,.32);box-shadow:0 16px 42px rgba(10,45,25,.07)}
.ocer-service-faq-question{width:100%;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:0;background:transparent;color:var(--ocer-ink);font:inherit;font-size:1rem;font-weight:780;line-height:1.35;text-align:left;cursor:pointer}
.ocer-service-faq-question>span{min-width:0}
.ocer-service-faq-question i{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border-radius:50%;background:var(--ocer-green-pale);color:var(--ocer-green-dark);font-size:.8rem;transition:transform .22s ease,background .22s ease,color .22s ease}
.ocer-service-faq-question[aria-expanded="true"] i{transform:rotate(45deg);background:var(--ocer-green-dark);color:#fff}
.ocer-service-faq-answer{padding:0 20px 20px}
.ocer-service-faq-answer[hidden]{display:none!important}
.ocer-service-faq-answer p{margin:0;padding-top:2px;color:var(--ocer-ink-soft);line-height:1.7}
@media(max-width:820px){.ocer-service-faq-layout{grid-template-columns:1fr;gap:18px}.ocer-service-faq-intro{position:static}.ocer-service-faq-intro h2{font-size:1.8rem!important}.ocer-service-faq-question{min-height:62px;padding:16px;font-size:.96rem}.ocer-service-faq-answer{padding:0 16px 18px}}


/* Footer mobile structure v3.4.6
 * Osservatorio + Esplora in 2 columns; Services on a new row in 3 columns.
 */
@media (max-width:720px) {
  .ocer-footer-grid--menu {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:30px 24px!important;
    align-items:start;
  }
  .ocer-footer-brand {
    grid-column:1 / -1!important;
  }
  .ocer-footer-grid--menu > .ocer-footer-column:not(.ocer-footer-column--services) {
    grid-column:auto!important;
    min-width:0;
  }
  .ocer-footer-column--services {
    grid-column:1 / -1!important;
    width:100%;
    min-width:0;
    padding-top:4px;
  }
  .ocer-footer-service-groups {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px 12px!important;
    width:100%;
  }
  .ocer-footer-service-group {
    min-width:0;
  }
  .ocer-footer-service-group li {
    max-width:none!important;
    font-size:.78rem!important;
    line-height:1.35!important;
    margin-bottom:8px!important;
    overflow-wrap:anywhere;
  }
  .ocer-footer-service-label {
    display:block;
    min-height:2.6em;
    font-size:.66rem!important;
    line-height:1.25!important;
    letter-spacing:.055em!important;
  }
}
@media (max-width:420px) {
  .ocer-footer-grid--menu {
    gap:28px 18px!important;
  }
  .ocer-footer-grid--menu > .ocer-footer-column:not(.ocer-footer-column--services) li {
    font-size:.85rem!important;
  }
  .ocer-footer-service-groups {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px 8px!important;
  }
  .ocer-footer-service-group li {
    font-size:.7rem!important;
  }
  .ocer-footer-service-label {
    font-size:.58rem!important;
  }
}


/* Vertical SEO service pages v3.4.7 */
.ocer-vertical-seo-section{padding-top:12px}
.ocer-vertical-seo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.ocer-vertical-seo-block{padding:28px;border:1px solid var(--ocer-line);border-radius:24px;background:#fff;box-shadow:var(--ocer-shadow-sm)}
.ocer-vertical-seo-block--soft{background:linear-gradient(145deg,#f4fbed,#e8f7e8)}
.ocer-vertical-seo-block h2{font-size:clamp(1.45rem,2vw,2rem)!important;margin:8px 0 18px;line-height:1.08!important}
.ocer-vertical-check-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ocer-vertical-check-list li{display:flex;align-items:flex-start;gap:11px;color:var(--ocer-ink-soft);line-height:1.5}
.ocer-vertical-check-list i{color:var(--ocer-green-dark);margin-top:.22em}
@media(max-width:760px){.ocer-vertical-seo-grid{grid-template-columns:1fr}.ocer-vertical-seo-block{padding:22px}}


/* v3.4.9 footer CTA text color fix */
.ocer-footer-topband .ocer-eyebrow,
.ocer-footer-topband .ocer-footer-topband__title,
.ocer-footer-topband .ocer-footer-topband__copy p {
  color: #ffffff !important;
}
.ocer-footer-topband .ocer-eyebrow {
  opacity: .98;
}
.ocer-footer-topband .ocer-footer-topband__copy p:not(.ocer-footer-topband__title) {
  color: rgba(255,255,255,.94) !important;
}
