/*
Theme Name: DataGate Governance
Theme URI: https://datagate.xyz/
Author: DataGate
Description: A custom, responsive WordPress theme for DataGate's identity, cloud, and operational governance services.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: datagate-governance
*/

/* Operational Meridian / WordPress version: DataGate Cobalt is reserved for active decisions, routes, and calls to action. */
:root { --navy:#081d38; --navy-2:#0d2b50; --cobalt:#2379c8; --blue:#8bcaff; --ice:#eaf4fc; --mist:#f6f9fc; --line:#dce7ef; --ink:#17283b; --muted:#63748a; --ease:cubic-bezier(.23,1,.32,1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-width:320px; margin:0; color:var(--ink); background:#fff; font-family:"IBM Plex Sans",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; } button,input,select,textarea { font:inherit; }
.site { overflow-x:clip; }.container { width:min(1230px,100%); margin:0 auto; padding:0 2.5rem; }.eyebrow { display:inline-flex; align-items:center; gap:.55rem; color:var(--cobalt); font:700 .67rem/1 "IBM Plex Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }.eyebrow::before { width:1.7rem; height:1px; background:currentColor; content:""; }.eyebrow.light { color:#93ceff; }
.utility { background:var(--navy); color:#c9deef; }.utility__inner { min-height:2.35rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; font-size:.75rem; }.utility__inner span { display:flex; align-items:center; gap:.55rem; }.utility__inner i { width:.42rem; height:.42rem; border-radius:50%; background:var(--blue); box-shadow:0 0 0 4px rgba(139,202,255,.1); }.utility__inner a { color:#fff; font-weight:600; }
.header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.97); border-bottom:1px solid rgba(220,231,239,.9); backdrop-filter:blur(14px); }.header__inner { min-height:5.45rem; display:flex; align-items:center; gap:2rem; }.brand { position:relative; display:flex; align-items:center; width:11.4rem; padding:.48rem .82rem; border-left:3px solid var(--cobalt); border-right:1px solid var(--line); background:#fff; }.brand::before { position:absolute; top:0; right:0; left:0; height:2px; background:linear-gradient(90deg,var(--cobalt) 0 36%,transparent 36%); content:""; }.brand img { display:block; max-width:100%; height:auto; }.main-nav { display:flex; align-items:center; gap:1.7rem; margin-left:auto; }.main-nav a { position:relative; padding:.55rem 0; color:#4a5d72; font-size:.84rem; font-weight:600; }.main-nav a::after { position:absolute; right:0; bottom:.24rem; left:0; height:1px; background:var(--cobalt); content:""; transform:scaleX(0); transform-origin:left; transition:transform 180ms var(--ease); }.main-nav a:hover { color:var(--navy); }.main-nav a:hover::after { transform:scaleX(1); }.header-cta,.button-primary,.button-ghost { display:inline-flex; align-items:center; justify-content:center; gap:.55rem; min-height:3rem; font-size:.84rem; font-weight:700; transition:transform 160ms var(--ease),background 160ms var(--ease),border-color 160ms var(--ease); }.header-cta { padding:.78rem 1rem; color:#fff; background:var(--navy); }.header-cta:hover,.button-primary:hover { background:#3e96dd; }.menu-toggle { display:none; margin-left:auto; padding:.5rem; border:0; background:transparent; color:var(--navy); }.mobile-nav { display:none; }
.hero { position:relative; min-height:42rem; isolation:isolate; background:var(--navy); }.hero::before { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,rgba(8,29,56,.98) 0%,rgba(8,29,56,.91) 42%,rgba(8,29,56,.42) 76%,rgba(8,29,56,.67) 100%),url('assets/images/hero-governance.jpg') center/cover; content:""; }.hero::after { position:absolute; z-index:-1; inset:0; opacity:.26; background-image:linear-gradient(rgba(176,220,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(176,220,255,.12) 1px,transparent 1px); background-size:5.5rem 5.5rem; mask-image:linear-gradient(90deg,#000 0%,#000 42%,transparent 84%); content:""; }.hero__inner { min-height:42rem; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(21rem,.9fr); align-items:center; gap:4rem; padding-top:5.9rem; padding-bottom:3.8rem; }.hero__content h1 { max-width:43rem; margin:1.1rem 0 0; color:#fff; font:700 clamp(3.15rem,6vw,5.75rem)/.98 "Manrope",sans-serif; letter-spacing:-.07em; }.hero__content h1 em { color:#8bcaff; font-style:normal; }.hero__content > p { max-width:38rem; margin:1.65rem 0 0; color:#d4e5f4; font-size:1.08rem; line-height:1.72; }.hero__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }.button-primary { padding:.85rem 1.28rem; border:1px solid var(--cobalt); background:var(--cobalt); color:#fff; }.button-ghost { padding:.85rem 1.2rem; border:1px solid rgba(218,238,255,.55); background:rgba(255,255,255,.04); color:#fff; }.button-primary:active,.button-ghost:active,.header-cta:active { transform:scale(.97); }.hero__note { display:flex; align-items:center; gap:.7rem; margin-top:2rem; color:#aac7df; font-size:.79rem; line-height:1.5; }.hero__note i { width:.42rem; height:.42rem; border-radius:50%; background:var(--blue); }
.signal-panel { position:relative; padding:1.6rem; overflow:hidden; border:1px solid rgba(190,225,250,.26); background:rgba(8,29,56,.78); box-shadow:0 24px 52px rgba(0,0,0,.18); }.signal-panel::before { position:absolute; top:0; left:0; width:5rem; height:3px; background:var(--blue); content:""; }.signal-panel::after { position:absolute; right:-3.5rem; bottom:-3.5rem; width:11rem; height:11rem; opacity:.1; background:url('assets/images/operational-symbol.png') center/contain no-repeat; filter:grayscale(1) brightness(3); content:""; }.signal-panel > * { position:relative; z-index:1; }.signal-panel__label { color:#91cdff; font:700 .63rem/1 "IBM Plex Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }.signal-panel h2 { max-width:21rem; margin:.8rem 0 1.45rem; color:#fff; font:700 1.65rem/1.25 "Manrope",sans-serif; letter-spacing:-.05em; }.signal-points { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(179,218,244,.25); }.signal-points div { position:relative; padding:1rem .55rem .1rem 0; }.signal-points div:not(:last-child)::after { position:absolute; top:1.07rem; right:.32rem; width:5px; height:5px; border-radius:50%; background:var(--blue); content:""; box-shadow:0 0 0 3px rgba(94,182,255,.12); }.signal-points strong { display:block; color:#fff; font:600 .67rem/1.3 "IBM Plex Mono",monospace; }.signal-points span { display:block; margin-top:.4rem; color:#b3cce0; font-size:.72rem; line-height:1.35; }
.focus-strip { background:var(--ice); border-bottom:1px solid var(--line); }.focus-strip__inner { display:grid; grid-template-columns:repeat(3,1fr); }.focus-strip__inner div { padding:1.65rem 1.6rem; border-right:1px solid var(--line); }.focus-strip__inner div:first-child { padding-left:0; }.focus-strip__inner div:last-child { border-right:0; }.focus-strip span { display:block; color:var(--cobalt); font:700 .62rem/1 "IBM Plex Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }.focus-strip strong { display:block; margin-top:.5rem; color:var(--navy); font:700 .98rem/1.35 "Manrope",sans-serif; letter-spacing:-.03em; }
.intro,.services,.assurance,.contact { padding-top:7.5rem; padding-bottom:7.5rem; }.section-line { display:flex; align-items:center; gap:.65rem; color:var(--cobalt); font:700 .65rem/1 "IBM Plex Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }.section-line::before { width:3.4rem; height:2px; background:var(--cobalt); content:""; }.intro__grid { display:grid; grid-template-columns:1.1fr .9fr; gap:5rem; align-items:end; margin-top:1.25rem; }.intro h2,.section-heading h2,.method h2,.partner h2,.assurance h2,.contact h2 { margin:0; color:var(--navy); font:700 clamp(2.25rem,4.4vw,4.05rem)/1.08 "Manrope",sans-serif; letter-spacing:-.065em; }.intro p,.section-heading > p,.method__content > p,.partner__content > p,.assurance > p,.contact__copy > p { margin:0; color:var(--muted); font-size:1rem; line-height:1.75; }.text-link { display:inline-flex; align-items:center; gap:.45rem; margin-top:1.4rem; color:var(--cobalt); font-size:.88rem; font-weight:700; }.text-link:hover { color:var(--navy); }
.services { max-width:none; background:var(--mist); border-top:1px solid #edf2f6; border-bottom:1px solid #edf2f6; }.services > * { max-width:1230px; margin-right:auto; margin-left:auto; }.section-heading { display:grid; grid-template-columns:1.05fr .75fr; gap:4rem; align-items:end; }.section-heading h2 { max-width:47rem; margin-top:.75rem; }.section-heading > p { max-width:30rem; }.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3.2rem; }.service-card { position:relative; min-height:27rem; padding:2rem; overflow:hidden; border:1px solid var(--line); background:#fff; transition:transform 220ms var(--ease),box-shadow 220ms var(--ease); }.service-card:hover { transform:translateY(-5px); box-shadow:0 20px 36px rgba(8,29,56,.09); }.service-card--primary { border-color:var(--navy); background:var(--navy); }.service-card--ice { background:#edf7ff; }.service-icon { display:grid; width:2.85rem; height:2.85rem; place-items:center; border:1px solid #c8ddeb; color:var(--cobalt); }.service-card--primary .service-icon { border-color:rgba(135,204,255,.42); color:#8dceff; }.service-label { display:block; margin-top:2.25rem; color:var(--cobalt); font:700 .62rem/1 "IBM Plex Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }.service-card--primary .service-label { color:#8dceff; }.service-card h3 { margin:.8rem 0 .7rem; color:var(--navy); font:700 1.72rem/1.18 "Manrope",sans-serif; letter-spacing:-.05em; }.service-card--primary h3 { color:#fff; }.service-card p { margin:0; color:var(--muted); font-size:.91rem; line-height:1.64; }.service-card--primary p { color:#cadcef; }.service-card__content { position:absolute; right:2rem; bottom:1.7rem; left:2rem; padding-top:1rem; border-top:1px solid var(--line); }.service-card--primary .service-card__content { border-color:rgba(192,222,244,.22); }.service-card__content p { font-size:.79rem; font-weight:600; }.service-card__content p + p { margin-top:.55rem; }
.method { display:grid; grid-template-columns:.94fr 1.06fr; min-height:39rem; background:#fff; }.method__visual { position:relative; min-height:39rem; padding:3.1rem; overflow:hidden; background:radial-gradient(circle at 30% 22%,rgba(66,152,225,.22),transparent 35%),linear-gradient(145deg,#071a32,#0f345c); }.method__visual::before { position:absolute; inset:0; opacity:.23; background-image:linear-gradient(rgba(168,216,248,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(168,216,248,.14) 1px,transparent 1px); background-size:4.6rem 4.6rem; content:""; }.map-label,.method__visual > p { position:relative; z-index:2; color:#8dceff; font:700 .64rem/1 "IBM Plex Mono",monospace; letter-spacing:.11em; text-transform:uppercase; }.method__visual > p { position:absolute; bottom:3.2rem; left:3.1rem; color:#e3f2ff; }.decision-map { position:absolute; z-index:2; inset:6.7rem 2rem 5.6rem; }.map-node { position:absolute; display:grid; width:9.1rem; min-height:5.9rem; place-content:center; padding:.8rem; border:1px solid rgba(174,220,250,.52); background:rgba(9,35,65,.92); box-shadow:0 14px 30px rgba(0,0,0,.16); }.map-node span { color:#8dceff; font:600 .58rem/1 "IBM Plex Mono",monospace; }.map-node strong { margin-top:.5rem; color:#fff; font:700 .82rem/1.25 "IBM Plex Sans",sans-serif; }.node-request { top:0; left:5%; }.node-owner { top:17%; right:5%; }.node-action { bottom:11%; left:5%; }.node-record { right:5%; bottom:0; }.map-line { position:absolute; z-index:-1; height:2px; transform-origin:left center; background:linear-gradient(90deg,var(--cobalt),rgba(141,206,255,.2)); }.line-one { top:20%; left:26%; width:51%; transform:rotate(18deg); }.line-two { top:52%; left:25%; width:50%; transform:rotate(143deg); }.line-three { right:26%; bottom:19%; width:49%; transform:rotate(18deg); }.method__content { padding:6.8rem clamp(2rem,7vw,8rem); }.method h2 { max-width:35rem; margin-top:.75rem; }.method__content > p { max-width:34rem; margin-top:1rem; }.method-steps { display:grid; gap:1.35rem; margin-top:2.2rem; }.method-step { display:grid; grid-template-columns:2.25rem 1fr; gap:.9rem; padding-top:1.15rem; border-top:1px solid var(--line); }.method-step__num { color:var(--cobalt); font:600 .78rem/1 "IBM Plex Mono",monospace; }.method-step h3 { margin:0; color:var(--navy); font:700 1rem/1.3 "Manrope",sans-serif; }.method-step p { margin:.32rem 0 0; color:var(--muted); font-size:.86rem; line-height:1.55; }
.partner { display:grid; grid-template-columns:.95fr 1.05fr; gap:5rem; padding:7rem max(2.5rem,calc((100% - 1230px)/2)); background:var(--navy); }.partner h2 { margin-top:.8rem; color:#fff; }.partner__content > p { max-width:37rem; margin-top:1.05rem; color:#c8dbea; }.light-link { color:#8dceff; }.light-link:hover { color:#fff; }.partner-card { padding:2rem; align-self:center; border:1px solid rgba(168,213,246,.3); background:rgba(14,47,84,.86); }.partner-card > span { color:#8dceff; font:700 .63rem/1 "IBM Plex Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }.route-step { display:grid; grid-template-columns:2rem 1fr; gap:.8rem; align-items:center; padding:1.1rem 0; border-bottom:1px solid rgba(178,220,247,.2); }.route-step b { display:grid; width:1.52rem; height:1.52rem; place-items:center; border:1px solid rgba(141,206,255,.7); border-radius:50%; color:#8dceff; font:600 .65rem/1 "IBM Plex Mono",monospace; }.route-step strong { color:#fff; font-size:.94rem; line-height:1.4; }.partner-card p { margin:1.15rem 0 0; color:#b8d0e3; font-size:.82rem; line-height:1.65; }
.assurance { display:grid; grid-template-columns:auto 1.1fr .8fr; gap:2rem; align-items:start; }.assurance__icon { display:grid; width:4rem; height:4rem; place-items:center; border:1px solid #bad9ee; background:var(--ice); color:var(--cobalt); font-size:1.5rem; }.assurance h2 { max-width:33rem; margin-top:.7rem; font-size:clamp(2rem,3.4vw,3.25rem); }.assurance > p { padding-top:1.55rem; }
.contact { display:grid; grid-template-columns:.8fr 1.2fr; gap:5rem; background:var(--mist); }.contact h2 { max-width:34rem; margin-top:.75rem; }.contact__copy > p { max-width:31rem; margin-top:1rem; }.contact-lines { display:grid; gap:.85rem; margin-top:2.1rem; }.contact-lines a,.contact-lines div { display:flex; align-items:center; gap:.7rem; color:var(--navy); font-size:.88rem; font-weight:600; }.contact-lines i { display:inline-grid; width:1rem; height:1rem; place-items:center; color:var(--cobalt); font-style:normal; }.form-shell { padding:2rem; border:1px solid var(--line); background:#fff; box-shadow:0 20px 45px rgba(11,43,80,.08); }.form-heading { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }.form-heading h3 { margin:0; color:var(--navy); font:700 1.5rem/1.2 "Manrope",sans-serif; letter-spacing:-.045em; }.form-heading span { color:var(--cobalt); font:700 .62rem/1 "IBM Plex Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }.lead-form { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }.field { display:grid; gap:.4rem; }.field--full { grid-column:1/-1; }.field label { color:#506174; font-size:.72rem; font-weight:700; }.field input,.field select,.field textarea { width:100%; padding:.8rem .85rem; border:1px solid #cbd9e6; border-radius:0; outline:0; background:#fff; color:var(--ink); font-size:.89rem; }.field input:focus,.field select:focus,.field textarea:focus { border-color:var(--cobalt); box-shadow:0 0 0 3px rgba(35,121,200,.12); }.field textarea { min-height:7rem; resize:vertical; }.form-notice { grid-column:1/-1; margin:0; padding:.9rem; background:var(--ice); color:var(--navy); font-size:.8rem; line-height:1.5; }.form-footer { display:flex; grid-column:1/-1; align-items:center; justify-content:space-between; gap:1rem; margin-top:.3rem; }.form-footer p { max-width:25rem; margin:0; color:var(--muted); font-size:.7rem; line-height:1.45; }
.form-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.site-footer { background:var(--navy); }.footer__inner { padding-top:3rem; padding-bottom:1.6rem; }.footer-top { display:flex; justify-content:space-between; gap:2rem; }.footer-brand img { width:10rem; padding:.48rem .68rem; background:#fff; }.footer-brand p { max-width:29rem; margin:.8rem 0 0; color:#bad0e2; font-size:.82rem; line-height:1.6; }.footer-nav { display:flex; flex-wrap:wrap; gap:1.3rem; align-self:.4rem; }.footer-nav a { color:#fff; font-size:.8rem; font-weight:600; }.footer-bottom { display:flex; justify-content:space-between; gap:1rem; margin-top:2rem; padding-top:1.4rem; border-top:1px solid rgba(186,208,226,.2); color:#91afca; font-size:.7rem; }
.page-content { max-width:860px; margin:0 auto; padding:6rem 2rem; line-height:1.75; }.page-content h1,.page-content h2,.page-content h3 { color:var(--navy); font-family:"Manrope",sans-serif; }.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:820px) { .container { padding-right:1.4rem; padding-left:1.4rem; }.utility__inner { min-height:auto; padding-top:.55rem; padding-bottom:.55rem; }.utility__inner a { display:none; }.header__inner { min-height:4.8rem; }.brand { width:9.55rem; padding:.35rem .5rem; }.main-nav,.header-cta { display:none; }.menu-toggle { display:inline-flex; }.mobile-nav.is-open { display:grid; padding:0 1.4rem 1rem; border-top:1px solid var(--line); }.mobile-nav a { padding:.75rem 0; border-bottom:1px solid #edf2f6; color:var(--navy); font-size:.9rem; font-weight:700; }.hero,.hero__inner { min-height:auto; }.hero__inner { grid-template-columns:1fr; gap:2rem; padding-top:4.7rem; padding-bottom:2.5rem; }.hero__content h1 { font-size:clamp(2.8rem,12.5vw,4.25rem); }.hero__content > p { font-size:1rem; }.signal-panel { max-width:34rem; }.focus-strip__inner { grid-template-columns:1fr; }.focus-strip__inner div,.focus-strip__inner div:first-child { padding:1.2rem 0; border-right:0; border-bottom:1px solid var(--line); }.focus-strip__inner div:last-child { border-bottom:0; }.intro,.services,.assurance,.contact { padding-top:5rem; padding-bottom:5rem; }.intro__grid,.section-heading,.method,.partner,.assurance,.contact { grid-template-columns:1fr; gap:1.7rem; }.service-grid { grid-template-columns:1fr; gap:.9rem; }.service-card { min-height:24rem; }.method__visual { min-height:24rem; padding:2rem; }.method__visual > p { bottom:2rem; left:2rem; }.decision-map { inset:5rem 1.2rem 4rem; }.map-node { width:7.6rem; min-height:4.85rem; }.method__content { padding:4rem 1.4rem 4.5rem; }.partner { padding:5rem 1.4rem; }.assurance__icon { width:3.5rem; height:3.5rem; }.assurance > p { padding-top:0; }.form-shell { padding:1.35rem; }.footer-top,.footer-bottom { flex-direction:column; }.footer-nav { margin-top:1.2rem; } }
@media (max-width:480px) { .utility__inner { font-size:.68rem; }.hero__inner { padding-top:4rem; }.hero__content h1 { letter-spacing:-.065em; }.hero__actions { flex-direction:column; align-items:stretch; }.hero__actions a { width:100%; }.signal-points { grid-template-columns:1fr; }.signal-points div { padding:.75rem 0; border-top:1px solid rgba(179,218,244,.2); }.signal-points div:first-child { border-top:0; }.signal-points div:not(:last-child)::after { display:none; }.signal-points strong,.signal-points span { display:inline; }.signal-points span { margin-left:.45rem; }.intro h2,.section-heading h2,.method h2,.partner h2,.contact h2 { font-size:2.3rem; }.lead-form { grid-template-columns:1fr; }.field--full,.form-notice,.form-footer { grid-column:auto; }.form-footer { align-items:stretch; flex-direction:column; }.form-footer .button-primary { width:100%; }.footer-bottom { font-size:.66rem; } }
.form-footer .form-privacy a { color:var(--cobalt); font-weight:700; text-decoration:underline; text-underline-offset:.16em; }
