:root {
  --opct-red: #e31b23;
  --opct-red-deep: #9e0d13;
  --opct-red-bright: #ff3b43;
  --opct-black: #07090c;
  --opct-panel: #11151b;
  --opct-panel-2: #171c24;
  --opct-silver: #c8cdd4;
  --opct-white: #f7f8fa;
  --opct-muted: #9da6b2;
  --opct-border: rgba(255,255,255,.12);
  --opct-shadow: 0 24px 70px rgba(0,0,0,.42);
  --opct-radius: 16px;
  --opct-wrap: 1240px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--opct-black);
  color: var(--opct-white);
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 82% 6%, rgba(227,27,35,.17), transparent 32rem),
    linear-gradient(135deg, transparent 0 58%, rgba(227,27,35,.04) 58% 59%, transparent 59% 100%),
    #07090c;
}
a { color: var(--opct-red-bright); text-decoration-thickness: 1px; text-underline-offset: .16em; }
a:hover, a:focus { color: #fff; }
img { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
button, .button, .wp-element-button, input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: .72rem 1.2rem;
  border: 1px solid var(--opct-red);
  border-radius: 5px;
  background: linear-gradient(135deg, var(--opct-red-bright), var(--opct-red-deep));
  color: #fff;
  font-weight: 800;
  letter-spacing: .02em;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 10px 30px rgba(227,27,35,.24);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
button:hover, .button:hover, .wp-element-button:hover, input[type="submit"]:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(227,27,35,.34);
}
.button-secondary { background: transparent; border-color: rgba(255,255,255,.34); box-shadow: none; }
.button-secondary:hover { border-color: #fff; background: rgba(255,255,255,.06); }
.screen-reader-text {
  position: absolute!important;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus { position: fixed!important; top: 12px; left: 12px; z-index: 99999; width: auto; height: auto; padding: .8rem 1rem; margin: 0; clip: auto; background: #fff; color: #000; }
.opct-wrap { width: min(calc(100% - 2rem), var(--opct-wrap)); margin-inline: auto; }
.opct-section { padding: clamp(4rem, 8vw, 7rem) 0; }
.opct-section-sm { padding: 2.5rem 0; }
.opct-section-head { max-width: 760px; margin-bottom: 2.2rem; }
.opct-eyebrow { color: var(--opct-red-bright); font-size: .78rem; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .7em; color: #fff; line-height: 1.12; }
h1 { font-size: clamp(2.65rem, 7vw, 6rem); letter-spacing: -.045em; }
h2 { font-size: clamp(2rem, 4.5vw, 3.7rem); letter-spacing: -.03em; }
h3 { font-size: clamp(1.18rem, 2vw, 1.55rem); }
p { margin: 0 0 1.15rem; }
.opct-lead { color: #d8dce2; font-size: clamp(1.06rem, 1.6vw, 1.3rem); }
.opct-muted { color: var(--opct-muted); }
.opct-grid { display: grid; gap: 1.15rem; }
.opct-grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.opct-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.opct-grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.opct-card {
  position: relative;
  overflow: hidden;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border: 1px solid var(--opct-border);
  border-radius: var(--opct-radius);
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  box-shadow: var(--opct-shadow);
}
.opct-card::after { content: ""; position: absolute; inset: auto -25% -65% auto; width: 12rem; height: 12rem; border-radius: 50%; background: rgba(227,27,35,.13); filter: blur(30px); pointer-events: none; }
.opct-card > * { position: relative; z-index: 1; }
.opct-card-number { display: block; margin-bottom: 1rem; color: var(--opct-red-bright); font-family: "Arial Black", sans-serif; font-size: .8rem; letter-spacing: .14em; }

.opct-announcement { position: relative; z-index: 80; padding: .55rem 1rem; background: var(--opct-red); color: #fff; text-align: center; font-size: .86rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.opct-announcement a { color: #fff; }
.site-header { position: sticky; top: 0; z-index: 70; border-bottom: 1px solid var(--opct-border); background: rgba(7,9,12,.88); backdrop-filter: blur(16px); }
.admin-bar .site-header { top: 32px; }
.opct-header-inner { display: flex; align-items: center; min-height: 78px; gap: 1rem; justify-content: center; }
.site-branding { flex: 0 0 auto; }
.custom-logo { width: auto; max-height: 62px; }
.opct-wordmark { display: flex; align-items: center; gap: .75rem; color: #fff; text-decoration: none; }
.opct-wordmark-mark { color: var(--opct-red); font-family: "Arial Black", sans-serif; font-size: 2rem; font-style: italic; letter-spacing: -.08em; line-height: 1; }
.opct-wordmark-copy { display: grid; line-height: 1.05; }
.opct-wordmark-copy strong { font-size: .94rem; letter-spacing: .16em; }
.opct-wordmark-copy small { margin-top: .3rem; color: var(--opct-muted); font-size: .64rem; letter-spacing: .11em; text-transform: uppercase; }
.opct-menu-toggle { display: none; min-height: 42px; padding: .55rem .8rem; box-shadow: none; }
.main-navigation { flex: 1 1 auto; margin-inline: auto; }
.opct-home-menu-bar .main-navigation { margin-inline: auto; }
.opct-home-menu-bar .opct-menu-toggle { margin-inline: auto; }
.main-navigation ul { display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: .2rem; margin: 0; padding: 0; list-style: none; }
.main-navigation li { position: relative; }
.main-navigation a { display: block; padding: .72rem .72rem; color: #fff; font-size: .82rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.main-navigation > ul > li > a { letter-spacing: .04em; text-transform: uppercase; }
.main-navigation .menu-item-has-children > a::after { content: "▾"; display: inline-block; margin-left: .35rem; color: var(--opct-red-bright); font-size: .72em; }
.main-navigation .sub-menu .menu-item-has-children > a::after { content: "›"; float: right; margin-left: .8rem; font-size: 1em; }
.main-navigation a:hover, .main-navigation a:focus, .main-navigation .current-menu-item > a, .main-navigation .current-menu-ancestor > a { color: var(--opct-red-bright); }
.opct-submenu-toggle { display: none; }
.main-navigation .sub-menu {
  position: absolute;
  top: calc(100% + .5rem);
  left: 0;
  display: none;
  min-width: 260px;
  max-height: min(70vh, 580px);
  overflow-y: auto;
  padding: .55rem;
  border: 1px solid var(--opct-border);
  border-radius: 12px;
  background: #10141a;
  box-shadow: 0 20px 60px rgba(0,0,0,.6);
}
.main-navigation .sub-menu .sub-menu { top: -.55rem; left: calc(100% + .35rem); }
.main-navigation > ul > li:nth-last-child(-n+3) > .sub-menu { right: 0; left: auto; }
.main-navigation li:hover > .sub-menu, .main-navigation li:focus-within > .sub-menu { display: block; }
.main-navigation .sub-menu a { padding: .68rem .8rem; border-radius: 7px; color: #dfe3e8; font-size: .83rem; font-weight: 700; text-transform: none; }
.main-navigation .sub-menu a:hover, .main-navigation .sub-menu a:focus { background: rgba(227,27,35,.12); color: #fff; }
.opct-header-cta { white-space: nowrap; }
.opct-footer-about h3 { margin-bottom: .85rem; }
.opct-footer-about p { margin-bottom: 1rem; }

.opct-hero { position: relative; min-height: 720px; display: grid; align-items: center; overflow: hidden; border-bottom: 1px solid var(--opct-border); }
.opct-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #07090c 0 42%, rgba(7,9,12,.78) 60%, rgba(7,9,12,.94) 100%), repeating-linear-gradient(90deg, transparent 0 99px, rgba(255,255,255,.025) 100px), repeating-linear-gradient(0deg, transparent 0 99px, rgba(255,255,255,.02) 100px); }
.opct-hero-inner { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(340px,.92fr); align-items: center; gap: 2rem; padding: 4.5rem 0 0; }
.opct-hero-copy { z-index: 2; padding: 3rem 0 5rem; }
.opct-hero h1 span { display: block; color: var(--opct-red); }
.opct-hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.7rem; }
.opct-proof-row { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 2rem; }
.opct-proof-row span { padding: .45rem .7rem; border: 1px solid var(--opct-border); border-radius: 999px; color: #d5d9df; background: rgba(255,255,255,.035); font-size: .78rem; font-weight: 800; }
.opct-hero-website { position: relative; align-self: end; height: 700px; overflow: visible; }
.opct-hero-website::before { content: ""; position: absolute; inset: 20% 10% 5%; z-index: -1; border-radius: 50%; background: rgba(227,27,35,.28); filter: blur(70px); }
.opct-hero-website img { display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; object-position: center center; border-radius: 0; filter: saturate(.9) contrast(1.06); mix-blend-mode: screen; }
.opct-website-badge { position: absolute; right: 1rem; bottom: 2rem; max-width: 230px; padding: 1rem 1.1rem; border: 1px solid rgba(255,255,255,.22); border-left: 3px solid var(--opct-red); background: rgba(8,10,14,.9); box-shadow: var(--opct-shadow); }
.opct-website-badge strong { display: block; color: #fff; font-size: 1.1rem; }
.opct-website-badge small { color: var(--opct-muted); }

.opct-service-card { min-height: 240px; }
.opct-service-thumb { width: calc(100% + 4rem); max-width: none; height: auto; aspect-ratio: 3/2; margin: -2rem -2rem 1.35rem; object-fit: contain; border-bottom: 1px solid var(--opct-border); background: #080a0d; }
.opct-service-card h3 a { color: #fff; text-decoration: none; }
.opct-service-card h3 a:hover { color: var(--opct-red-bright); }
.opct-home-visual-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.15rem; margin-bottom: 1.5rem; }
.opct-home-product-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.opct-home-visual-card { display: flex; min-height: 100%; flex-direction: column; padding: 0; overflow: hidden; }
.opct-home-visual-image { display: block; overflow: hidden; aspect-ratio: 3/2; border-bottom: 1px solid var(--opct-border); background: #080a0d; }
.opct-home-visual-image img { width: 100%; height: 100%; object-fit: contain; transition: transform .35s ease; }
.opct-home-visual-card:hover .opct-home-visual-image img { transform: scale(1.025); }
.opct-home-visual-body { display: flex; flex: 1; flex-direction: column; padding: 1.15rem; }
.opct-home-visual-body h3 { margin-bottom: .75rem; font-size: 1.1rem; }
.opct-home-visual-body h2 { margin-bottom: 0; font-size: 1.05rem; }
.opct-home-visual-body h2 a, .opct-home-visual-body h3 a { color: #fff; text-decoration: none; }
.opct-home-visual-body > a { margin-top: auto; }
.opct-product-category-visuals { margin-bottom: 2rem; }
.opct-complete-service-list { margin-top: 3rem; border: 1px solid var(--opct-border); border-radius: var(--opct-radius); background: rgba(255,255,255,.025); }
.opct-complete-service-list > summary { cursor: pointer; padding: 1.2rem 1.35rem; color: #fff; font-size: 1.05rem; font-weight: 900; }
.opct-complete-service-list[open] > summary { border-bottom: 1px solid var(--opct-border); }
.opct-complete-service-list > .opct-service-index { padding: 1.2rem; }
.opct-service-card .opct-icon, .opct-icon {
  display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 1.2rem;
  border: 1px solid var(--opct-red); border-radius: 12px; color: #fff; background: rgba(227,27,35,.1); font-size: 1.35rem; font-weight: 900;
}
.opct-banner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 1.5rem; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid rgba(227,27,35,.5); border-radius: var(--opct-radius); background: linear-gradient(120deg, rgba(227,27,35,.2), rgba(255,255,255,.035)); }
.opct-banner h2 { margin-bottom: .25rem; font-size: clamp(1.8rem, 3.5vw, 3rem); }

.opct-page-hero { position: relative; padding: clamp(4.5rem, 9vw, 8rem) 0 3.5rem; border-bottom: 1px solid var(--opct-border); background: linear-gradient(120deg, rgba(227,27,35,.16), transparent 52%); }
.opct-page-hero h1 { max-width: 980px; font-size: clamp(2.5rem, 6vw, 5rem); }
.opct-breadcrumbs { margin-bottom: 1rem; color: var(--opct-muted); font-size: .84rem; }
.opct-breadcrumbs a { color: #fff; text-decoration: none; }
.opct-content { color: #dce0e5; }
.opct-content > * { max-width: 840px; }
.opct-content > .alignwide { max-width: 1240px; }
.opct-content > .alignfull { max-width: none; }
.opct-content ul, .opct-content ol { padding-left: 1.25rem; }
.opct-content li { margin-bottom: .45rem; }
.opct-content blockquote { margin: 2rem 0; padding: 1rem 1.3rem; border-left: 4px solid var(--opct-red); background: rgba(255,255,255,.04); }

.opct-filter-bar { display: grid; grid-template-columns: minmax(220px,1fr) minmax(190px,.42fr) auto; gap: .75rem; padding: 1rem; margin-bottom: 1.5rem; border: 1px solid var(--opct-border); border-radius: 12px; background: var(--opct-panel); }
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="search"], select, textarea {
  width: 100%; min-height: 48px; padding: .72rem .85rem; border: 1px solid rgba(255,255,255,.18); border-radius: 7px; background: rgba(255,255,255,.055); color: #fff; outline: none;
}
textarea { min-height: 150px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--opct-red-bright); box-shadow: 0 0 0 3px rgba(227,27,35,.18); }
select option { background: #10141a; color: #fff; }
.opct-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.opct-field-full { grid-column: 1/-1; }
.opct-field label { display: block; margin-bottom: .35rem; color: #fff; font-size: .88rem; font-weight: 800; }
.opct-form-note { color: var(--opct-muted); font-size: .82rem; }
.opct-alert { padding: 1rem 1.1rem; margin-bottom: 1.2rem; border: 1px solid #2d9f63; border-radius: 8px; background: rgba(45,159,99,.12); }
.opct-alert-error { border-color: var(--opct-red); background: rgba(227,27,35,.12); }
.opct-contact-map { overflow: hidden; margin-top: 2rem; border: 1px solid var(--opct-border); border-radius: var(--opct-radius); background: var(--opct-panel); }
.opct-contact-map-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 1.4rem; }
.opct-contact-map-head h2 { margin: .3rem 0 0; font-size: clamp(1.35rem, 3vw, 2rem); }
.opct-contact-map iframe { display: block; width: 100%; height: 460px; border: 0; filter: grayscale(.2) contrast(1.05); }

.opct-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.15rem; }
.opct-product-card { display: flex; flex-direction: column; min-height: 100%; padding: 0; }
.opct-product-image { position: relative; overflow: hidden; aspect-ratio: 3/2; border-bottom: 1px solid var(--opct-border); background: #0a0c10; }
.opct-product-image img { width: 100%; height: 100%; object-fit: contain; transition: transform .4s ease; }
.opct-product-card:hover .opct-product-image img { transform: scale(1.035); }
.opct-product-body { display: flex; flex: 1; flex-direction: column; padding: 1.25rem; }
.opct-product-body h2, .opct-product-body h3 { margin-bottom: .45rem; font-size: 1.25rem; }
.opct-product-body h2 a, .opct-product-body h3 a { color: #fff; text-decoration: none; }
.opct-service-listing-card .button { margin-top: auto; }
.opct-product-meta { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .75rem; }
.opct-tag { display: inline-flex; padding: .28rem .52rem; border: 1px solid var(--opct-border); border-radius: 999px; color: #cfd4db; font-size: .73rem; font-weight: 800; }
.opct-price { margin-top: auto; color: #fff; font-size: 1.12rem; font-weight: 900; }
.opct-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .85rem; margin-bottom: 2.5rem; }
.opct-category-link { display: flex; min-height: 94px; align-items: center; gap: .8rem; padding: 1rem; border: 1px solid var(--opct-border); border-radius: 12px; background: rgba(255,255,255,.035); color: #fff; font-weight: 800; text-decoration: none; }
.opct-category-link:hover { border-color: var(--opct-red); background: rgba(227,27,35,.08); }
.opct-category-link span { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 9px; background: rgba(227,27,35,.14); color: var(--opct-red-bright); }
.opct-single-product { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 2.5rem; align-items: start; }
.opct-single-product-media { position: sticky; top: 118px; overflow: hidden; border: 1px solid var(--opct-border); border-radius: var(--opct-radius); background: var(--opct-panel); }
.opct-single-product-media img { width: 100%; aspect-ratio: 3/2; object-fit: contain; background: #080a0d; }
.opct-detail-list { display: grid; grid-template-columns: 145px 1fr; gap: .5rem 1rem; margin: 1.2rem 0; padding: 1rem; border: 1px solid var(--opct-border); border-radius: 10px; }
.opct-detail-list dt { color: var(--opct-muted); }
.opct-detail-list dd { margin: 0; color: #fff; font-weight: 800; }

.opct-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.1rem; }
.opct-plan-card { display: flex; flex-direction: column; min-height: 100%; }
.opct-plan-speed { color: var(--opct-red-bright); font-size: 2rem; font-weight: 950; letter-spacing: -.04em; }
.opct-plan-price { color: #fff; font-size: 1.55rem; font-weight: 900; }
.opct-plan-card ul { margin: .9rem 0 1.4rem; padding-left: 1.1rem; color: #d5dae0; }
.opct-plan-card .button { margin-top: auto; }

.opct-service-index { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.opct-service-visual-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.15rem; }
.opct-service-visual-card { display: flex; flex-direction: column; padding: 0; }
.opct-service-visual { display: block; overflow: hidden; aspect-ratio: 3/2; border-bottom: 1px solid var(--opct-border); background: #080a0d; }
.opct-service-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.opct-service-visual-card:hover .opct-service-visual img { transform: scale(1.025); }
.opct-service-visual-body { display: flex; flex: 1; flex-direction: column; padding: 1.2rem; }
.opct-service-visual-body h2 { margin-bottom: .45rem; font-size: 1.35rem; }
.opct-service-visual-body h2 a { color: #fff; text-decoration: none; }
.opct-service-visual-body > a { margin-top: auto; }
.opct-page-media { max-width: 1080px; margin: 0 0 2.2rem; overflow: hidden; border: 1px solid var(--opct-border); border-radius: var(--opct-radius); background: var(--opct-panel); }
.opct-page-media img { width: 100%; height: auto; }
.opct-sla-price { margin: .35rem 0 1rem; color: var(--opct-red-bright); font-size: 1.45rem; font-weight: 900; }
.opct-service-group { padding: 0; }
.opct-service-group-visual { display: block; overflow: hidden; aspect-ratio: 3/2; border-bottom: 1px solid var(--opct-border); background: #080a0d; }
.opct-service-group-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.opct-service-group:hover .opct-service-group-visual img { transform: scale(1.025); }
.opct-service-group-body { padding: clamp(1.25rem, 2.5vw, 2rem); }
.opct-service-group h2 { font-size: 1.55rem; }
.opct-service-group h2 a { color: #fff; text-decoration: none; }
.opct-service-group h2 a:hover { color: var(--opct-red-bright); }
.opct-service-details { margin: 1rem 0 1.25rem; border-top: 1px solid var(--opct-border); border-bottom: 1px solid var(--opct-border); }
.opct-service-details summary { padding: .8rem 0; color: #fff; font-weight: 800; cursor: pointer; }
.opct-service-details[open] summary { color: var(--opct-red-bright); }
.opct-service-group ul { columns: 2; padding-left: 1.1rem; }
.opct-service-group li { break-inside: avoid; }
.opct-feature-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.opct-feature { padding: 1.25rem; border-left: 3px solid var(--opct-red); background: rgba(255,255,255,.035); }

.opct-itsm-shell { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 1.2rem; align-items: start; }
.opct-itsm-nav { position: sticky; top: 118px; }
.opct-itsm-nav a { display: block; padding: .65rem .7rem; border-bottom: 1px solid var(--opct-border); color: #dce0e5; text-decoration: none; }
.opct-itsm-nav a:hover { color: #fff; background: rgba(227,27,35,.08); }
.opct-ticket-list { display: grid; gap: .65rem; }
.opct-ticket-row { display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: .75rem; padding: .85rem 1rem; border: 1px solid var(--opct-border); border-radius: 8px; background: rgba(255,255,255,.025); }
.opct-ticket-id { color: var(--opct-red-bright); font-weight: 900; }
.opct-ticket-status { padding: .24rem .5rem; border-radius: 999px; background: rgba(255,255,255,.09); color: #fff; font-size: .74rem; font-weight: 900; text-transform: uppercase; }
.opct-login-panel { max-width: 560px; }
.opct-login-panel .login-username label, .opct-login-panel .login-password label { display: block; color: #fff; font-weight: 800; }

.site-footer { border-top: 1px solid var(--opct-border); background: #080a0d; }
.opct-footer-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 2rem; padding: 4rem 0 2.5rem; }
.opct-footer-brand p { max-width: 510px; color: var(--opct-muted); }
.opct-footer-list { margin: 0; padding: 0; list-style: none; }
.opct-footer-list li { margin-bottom: .45rem; }
.opct-footer-list a { color: #dce0e5; text-decoration: none; }
.opct-footer-list a:hover { color: var(--opct-red-bright); }
.opct-social-links { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.2rem; }
.opct-social-links a { display: grid; place-items: center; min-width: 58px; padding: .55rem .35rem; border: 1px solid var(--opct-border); border-radius: 8px; color: #fff; text-align: center; text-decoration: none; }
.opct-social-links a:hover { border-color: var(--opct-red); background: rgba(227,27,35,.1); }
.opct-social-links a.is-disabled { opacity: .46; cursor: default; }
.opct-social-links span { font-family: "Arial Black", sans-serif; font-size: 1rem; text-transform: uppercase; }
.opct-social-links small { margin-top: .15rem; font-size: .58rem; }
.opct-footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding: 1.2rem 0; border-top: 1px solid var(--opct-border); color: var(--opct-muted); font-size: .82rem; }





.opct-website-head { display: flex; align-items: center; gap: .8rem; padding: .85rem 1rem; background: linear-gradient(110deg, #921018, #171c24); }
.opct-website-head img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; object-position: 50% 14%; }
.opct-website-head strong { display: block; }
.opct-website-head small { color: #f0c5c8; }
.opct-website-close { margin-left: auto; min-height: 36px; width: 36px; padding: 0; border-color: rgba(255,255,255,.25); border-radius: 50%; background: transparent; box-shadow: none; }
.opct-chat-log { display: flex; flex-direction: column; gap: .6rem; overflow-y: auto; padding: 1rem; min-height: 220px; max-height: 340px; }
.opct-chat-message { max-width: 88%; padding: .72rem .8rem; border-radius: 12px; background: rgba(255,255,255,.08); color: #e8ebef; font-size: .9rem; }
.opct-chat-message.user { align-self: flex-end; background: rgba(227,27,35,.22); }
.opct-quick-actions { display: flex; flex-wrap: wrap; gap: .4rem; padding: 0 1rem .8rem; }
.opct-quick-actions button { min-height: 34px; padding: .35rem .55rem; border-color: var(--opct-border); border-radius: 999px; background: rgba(255,255,255,.035); box-shadow: none; font-size: .72rem; }
.opct-chat-form { display: grid; grid-template-columns: 1fr auto; gap: .45rem; padding: .75rem; border-top: 1px solid var(--opct-border); }
.opct-chat-form input { min-height: 44px; }
.opct-chat-form button { min-height: 44px; padding: .55rem .7rem; }
.opct-chat-whatsapp { display: block; padding: .75rem 1rem; background: #1f8f55; color: #fff; font-weight: 900; text-align: center; text-decoration: none; }
.opct-chat-whatsapp:hover { color: #fff; background: #177444; }

.pagination .nav-links { display: flex; flex-wrap: wrap; gap: .45rem; justify-content: center; margin-top: 2rem; }
.pagination a, .pagination span { display: grid; place-items: center; min-width: 42px; min-height: 42px; padding: .35rem; border: 1px solid var(--opct-border); border-radius: 6px; color: #fff; text-decoration: none; }
.pagination .current { border-color: var(--opct-red); background: var(--opct-red); }
.opct-empty { padding: 2rem; border: 1px dashed rgba(255,255,255,.2); border-radius: 12px; color: var(--opct-muted); text-align: center; }

@media (max-width: 1280px) {
  .opct-header-cta { display: none; }
  .main-navigation a { padding-inline: .5rem; font-size: .77rem; }
  .opct-product-grid, .opct-plan-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .opct-category-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 1080px) {
  .admin-bar .site-header { top: 46px; }
  .opct-menu-toggle { display: inline-flex; }
  .main-navigation { position: absolute; top: 100%; left: 0; right: 0; display: none; max-height: calc(100vh - 120px); overflow-y: auto; padding: .8rem 1rem 1rem; border-bottom: 1px solid var(--opct-border); background: #090c10; }
  .main-navigation.is-open { display: block; }
  .main-navigation ul { display: block; }
  .main-navigation li { position: relative; }
  .main-navigation a { padding: .75rem .6rem; font-size: .9rem; }
  .main-navigation .menu-item-has-children > a { padding-right: 3rem; }
  .main-navigation .menu-item-has-children > a::after { display: none; }
  .opct-submenu-toggle { position: absolute; top: .2rem; right: .15rem; z-index: 4; display: grid; place-items: center; width: 40px; min-height: 40px; padding: 0; border: 1px solid rgba(255,255,255,.12); border-radius: 6px; background: rgba(255,255,255,.035); box-shadow: none; }
  .opct-submenu-toggle span { transition: transform .2s ease; }
  .menu-item-has-children.submenu-open > .opct-submenu-toggle span { transform: rotate(180deg); }
  .main-navigation .sub-menu, .main-navigation .sub-menu .sub-menu { position: static; display: none; max-height: none; margin: 0 0 .35rem .6rem; padding: 0 0 0 .6rem; border: 0; border-left: 1px solid rgba(227,27,35,.35); border-radius: 0; background: transparent; box-shadow: none; }
  .main-navigation .menu-item-has-children.submenu-open > .sub-menu { display: block; }
  .opct-hero { min-height: auto; }
  .opct-hero-inner { grid-template-columns: 1fr; padding-top: 2rem; }
  .opct-hero-copy { padding-bottom: 0; }
  .opct-hero-website { height: 620px; width: min(100%, 560px); margin-inline: auto; }
  .opct-grid-3, .opct-grid-4, .opct-feature-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .opct-service-visual-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .opct-home-visual-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .opct-category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .opct-service-index { grid-template-columns: 1fr; }
  .opct-single-product { grid-template-columns: 1fr; }
  .opct-single-product-media { position: static; }
  .opct-footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
  .opct-wrap { width: min(calc(100% - 1.2rem), var(--opct-wrap)); }
  .opct-header-inner { min-height: 72px; }
  .opct-wordmark-copy small { display: none; }
  .opct-wordmark-mark { font-size: 1.65rem; }
  .opct-hero-website { height: 520px; }
  .opct-website-badge { right: .5rem; bottom: 1rem; }
  .opct-grid-2, .opct-grid-3, .opct-grid-4, .opct-product-grid, .opct-plan-grid, .opct-category-grid, .opct-feature-list { grid-template-columns: 1fr; }
  .opct-service-visual-grid { grid-template-columns: 1fr; }
  .opct-home-visual-grid { grid-template-columns: 1fr; }
  .opct-service-thumb { width: calc(100% + 2.5rem); margin: -1.25rem -1.25rem 1.2rem; }
  .opct-banner { grid-template-columns: 1fr; }
  .opct-contact-map-head { align-items: flex-start; flex-direction: column; }
  .opct-contact-map iframe { height: 360px; }
  .opct-filter-bar { grid-template-columns: 1fr; }
  .opct-form-grid { grid-template-columns: 1fr; }
  .opct-service-group ul { columns: 1; }
  .opct-itsm-shell { grid-template-columns: 1fr; }
  .opct-itsm-nav { position: static; }
  .opct-ticket-row { grid-template-columns: 1fr; }
  .opct-footer-grid { grid-template-columns: 1fr; }
  .opct-footer-bottom { display: block; text-align: center; }
  .opct-footer-bottom span { display: block; margin-top: .4rem; }
  
  
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto!important; transition: none!important; animation: none!important; }
}

/* v1.5.2: menu-only header and restored service blocks */
.site-header .site-branding { display:none !important; }
.opct-header-inner .main-navigation { width:100%; }
.opct-service-category-row { margin-bottom:1.5rem; }
.opct-service-block-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.opct-service-block-card { display:flex; min-width:0; flex-direction:column; padding:0; overflow:hidden; }
.opct-service-block-image { display:block; aspect-ratio:4/3; overflow:hidden; border-bottom:1px solid var(--opct-border); background:#11151a; }
.opct-service-block-image img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.opct-service-block-card:hover .opct-service-block-image img { transform:scale(1.025); }
.opct-service-block-body { display:flex; flex:1; flex-direction:column; padding:1rem; }
.opct-service-block-body h2 { margin:.55rem 0; font-size:1.08rem; line-height:1.25; }
.opct-service-block-body h2 a { color:#fff; text-decoration:none; }
.opct-service-block-body p { color:var(--opct-muted); font-size:.88rem; }
.opct-service-block-body .button { margin-top:auto; }
.opct-footer-bottom { justify-content:center; text-align:center; }
@media (max-width:1280px) { .opct-service-block-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:1080px) { .main-navigation ul { display:block; } .opct-service-block-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px) { .opct-service-block-grid { grid-template-columns:1fr; } }

/* v1.5.6 desktop navigation interaction hardening.
   Keep dropdowns connected to their parent, above hero/page content, and clickable. */
@media (min-width: 1081px) {
  .site-header,
  .opct-header-inner,
  .main-navigation,
  .main-navigation > ul,
  .main-navigation > ul > li {
    overflow: visible !important;
  }

  .site-header { z-index: 10000; }
  .main-navigation { position: relative; z-index: 10010; }
  .main-navigation > ul { position: relative; z-index: 10020; }

  .main-navigation .sub-menu {
    top: 100%;
    z-index: 10030;
    display: block;
    visibility: hidden;
    opacity: 0;
    overflow: visible;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity .14s ease, transform .14s ease, visibility .14s ease;
  }

  .main-navigation .sub-menu .sub-menu {
    top: -.55rem;
    left: 100%;
    margin-left: 0;
  }

  .main-navigation li:hover > .sub-menu,
  .main-navigation li:focus-within > .sub-menu,
  .main-navigation li.submenu-open > .sub-menu {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .main-navigation .sub-menu a {
    position: relative;
    z-index: 10040;
    cursor: pointer;
  }
}


/* v1.5.18 - clean Products & Services catalogue artwork
   -------------------------------------------------------
   Legacy service campaign images contain a character panel on the right and a
   phone / website contact strip at the bottom. Catalogue viewports deliberately
   show only the approved service-poster area: left panel, from the top down to
   the SLA/service strapline. The character panel and contact strip are outside
   the visible viewport. Real uploaded product photos keep normal framing. */
.opct-catalog-poster-crop {
  aspect-ratio: 41 / 45 !important;
  overflow: hidden !important;
  background: #080a0d;
}
.opct-catalog-poster-crop > img,
.opct-catalog-poster-crop img {
  display: block;
  width: auto !important;
  max-width: none !important;
  height: 113.78% !important;
  object-fit: initial !important;
  object-position: left top !important;
  margin: 0 !important;
}
.opct-single-product-media.opct-catalog-poster-crop,
.opct-page-media.opct-catalog-poster-crop {
  width: min(100%, 760px);
  margin-inline: auto;
}
.opct-single-product-media.opct-catalog-poster-crop img,
.opct-page-media.opct-catalog-poster-crop img {
  width: auto !important;
  max-width: none !important;
  height: 113.78% !important;
}

/* v1.5.20 client portal account creation */
.opct-portal-auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start}.opct-portal-auth-grid .opct-card{height:100%}.opct-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}@media(max-width:820px){.opct-portal-auth-grid{grid-template-columns:1fr}}

/* v1.5.59: recognizable social icons in place of two-letter tiles */
.opct-social-links { align-items:center; gap: .65rem; }
.opct-social-links a { display: inline-flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; padding: 0; border:1px solid var(--opct-border); border-radius:50%; }
.opct-social-links a svg { width:23px; height:23px; display:block; color:#fff; fill:currentColor; }
.opct-social-links a:focus-visible { outline:3px solid #e33; outline-offset:3px; }
.opct-social-links a.is-disabled { opacity:.38; }
