/* ============================================================================
   OZNET CORP — THEME STYLESHEET
   Brand: white primary · #C0272D red secondary · #41495A navy tertiary.
   Red and navy carry the typography; white carries the space.
   Tokens come from theme.json as --wp--preset--* and are aliased below so the
   stylesheet stays readable and the editor stays in sync.
   ========================================================================= */

:root{
  --oz-red:var(--wp--preset--color--red,#C0272D);
  --oz-red-dk:var(--wp--preset--color--red-dark,#9E1F24);
  --oz-red-soft:var(--wp--preset--color--red-soft,#EFA9AC);
  --oz-red-wash:var(--wp--preset--color--red-wash,#FBF1F1);
  --oz-navy:var(--wp--preset--color--navy,#41495A);
  --oz-ink:var(--wp--preset--color--ink,#2A303D);          /* dark bands only */
  --oz-text:var(--wp--preset--color--text,#262626);        /* body copy */
  --oz-paper:var(--wp--preset--color--paper,#FFFFFF);
  --oz-paper-2:var(--wp--preset--color--paper-alt,#F2F2F2);
  --oz-paper-3:var(--wp--preset--color--paper-3,#EDEEEF);
  --oz-muted:var(--wp--preset--color--muted,#5A6070);
  --oz-muted-lt:var(--wp--preset--color--muted-light,#B5B7BC);
  --oz-line:var(--wp--preset--color--line,#E3E4E7);
  --oz-line-2:#EDEEEF;

  --oz-serif:var(--wp--preset--font-family--display,'Source Serif 4',Georgia,serif);
  --oz-sans:var(--wp--preset--font-family--body,'Inter',-apple-system,sans-serif);
  --oz-label:var(--wp--preset--font-family--label,'Montserrat','Inter',sans-serif);

  --oz-w:1200px;
  --oz-narrow:860px;
  --oz-r:0;
  --oz-shadow:0 1px 2px rgba(42,48,59,.04),0 8px 24px -8px rgba(42,48,59,.12);
  --oz-shadow-lg:0 2px 4px rgba(42,48,59,.05),0 24px 60px -16px rgba(42,48,59,.20);
  --oz-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- micro-labels ----------
   v3 gives every uppercase micro-label the label family (Montserrat), so the
   small caps read as a distinct voice rather than as shrunken body text.
   Collected here rather than repeated on each rule. */
.oz-eyebrow,
.oz-mega h6,
.oz-hero-card h6,
.oz-contrast h4,
.oz-route-tag,
.oz-route dt,
.oz-bestfor b,
.oz-field label,
.oz-cal-head,
.oz-rail a,
.oz-footer h6,
.oz-f-seo b{font-family:var(--oz-label)}

/* ---------- base ---------- */
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--oz-paper);color:var(--oz-text);font-family:var(--oz-sans);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.oz-nav-open{overflow:hidden}
img{max-width:100%;height:auto;display:block}

/* ---------- heading scale ----------
   theme.json sets the heading family, weight, colour and line-height but not
   size, and the patterns never set one either — without this every heading
   renders at the browser's default size. Values are the v3 scale as published
   in the build spec, so the theme and the HTML prototype agree.
   Weight 400 is restated on purpose: bold Source Serif reads as a different
   typeface, and plugin stylesheets (Elementor in particular) re-bold headings. */
h1,h2,h3,h4,h5,h6{font-family:var(--oz-serif);font-weight:400;color:var(--oz-navy);
  letter-spacing:-.015em;margin:0 0 18px}
h1{font-size:clamp(32px,4vw,50px);line-height:1.08;max-width:24ch;text-wrap:balance}
h2{font-size:clamp(28px,3.4vw,44px);line-height:1.14;margin:0 0 18px}
h3{font-size:clamp(21px,2vw,26px);line-height:1.2}
h4{font-size:21px;line-height:1.25}
h5{font-size:1.05rem;line-height:1.3}
h6{font-size:.7rem;line-height:1.3;letter-spacing:.14em}
.oz-dark h1,.oz-dark h2,.oz-dark h3,.oz-dark h4{color:#fff}

/* the two prose measures the prototype sets on intros and body copy */
.oz-lede,.oz-hero-sub{max-width:64ch}

.oz-wrap{max-width:var(--oz-w);margin:0 auto;padding:0 32px}
.oz-narrow{max-width:var(--oz-narrow)}
.oz-section{padding:clamp(72px,9vw,132px) 0}
.oz-band{background:var(--oz-paper-2)}
.oz-dark{background:var(--oz-ink);color:#E6E8EC}
.oz-dark p{color:#C4C9D2}

.oz-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.oz-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.oz-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.oz-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center}

/* ---------- editorial furniture ---------- */
.oz-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--oz-red-dk);margin:0 0 20px;display:flex;align-items:center;gap:12px}
.oz-eyebrow::before{content:"";width:28px;height:1px;background:var(--oz-red);flex:none}
.oz-eyebrow.is-center{justify-content:center}
.oz-dark .oz-eyebrow{color:var(--oz-red-soft)}

.oz-lede{font-size:clamp(1.08rem,1.5vw,1.28rem);line-height:1.6;color:var(--oz-muted);font-weight:400}
.oz-sec-head{max-width:720px;margin-bottom:clamp(44px,5vw,68px)}
.oz-sec-head.is-center{margin-inline:auto;text-align:center}
.oz-sec-head.is-center .oz-eyebrow{justify-content:center}
.oz-sec-head h2{margin-bottom:20px}

.oz-pullquote{font-family:var(--oz-serif);font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.25;
  text-align:center;max-width:19em;margin:0 auto}
.oz-pullquote em{font-style:italic;color:var(--oz-red-soft)}

/* placeholder marker — a fact awaiting client confirmation */
.oz-ph{border-bottom:1px dotted var(--oz-red);background:var(--oz-red-wash);
  padding:0 3px;border-radius:var(--oz-r);cursor:help}

.oz-notice{background:var(--oz-red-wash);border-left:2px solid var(--oz-red);
  padding:14px 18px;font-size:.9rem;color:var(--oz-muted)}

/* ---------- honeypot ----------
   Positioned off-canvas rather than display:none — headless bots skip fields
   the CSS hides, which defeats the point of having one. */
.oz-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;
  overflow:hidden}

/* ---------- form states ---------- */
.oz-form-thanks{padding:18px 20px;background:var(--oz-paper-2);
  border-left:2px solid var(--oz-red);font-size:.95rem;margin:0}
.oz-form-thanks:focus{outline:2px solid var(--oz-red);outline-offset:2px}
.oz-form-error{margin:14px 0 0;padding:12px 16px;background:var(--oz-red-wash);
  border-left:2px solid var(--oz-red);color:var(--oz-red-dk);font-size:.88rem}
.oz-lead-form button[disabled]{opacity:.55;cursor:progress}

/* ---------- regulatory credentials ----------
   Deliberately a register, not a badge wall. Competitors show logos and ISO
   marks; the differentiator here is that every line carries a checkable
   reference, so the reference is what gets the typographic weight.
   Hairlines come from gap:1px over a Line-coloured ground — real borders
   double at every join. */
.oz-creds-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;
  background:var(--oz-line);border:1px solid var(--oz-line)}
@media(max-width:820px){.oz-creds-grid{grid-template-columns:1fr}}
.oz-cred-group{background:var(--oz-paper);padding:30px 28px}
@media(max-width:520px){.oz-cred-group{padding:24px 20px}}

.oz-cred-title{font-family:var(--oz-label);font-size:.7rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--oz-red-dk);
  margin:0 0 10px}
.oz-cred-lede{font-size:.9rem;color:var(--oz-muted);line-height:1.6;
  margin:0 0 22px;max-width:46ch}

.oz-cred-list{margin:0;display:flex;flex-direction:column;gap:18px}
.oz-cred-row{padding-top:16px;border-top:1px solid var(--oz-line-2)}
.oz-cred-row:first-child{padding-top:0;border-top:0}
.oz-cred-list dt{font-size:.9rem;font-weight:600;color:var(--oz-navy);
  line-height:1.4;margin-bottom:6px}
.oz-cred-list dd{margin:0}
.oz-cred-ref{display:block;font-family:var(--oz-sans);font-size:1.02rem;
  font-weight:600;color:var(--oz-text);font-variant-numeric:tabular-nums;
  letter-spacing:.01em;margin-bottom:5px}
.oz-cred-list dd span{display:block;font-size:.84rem;color:var(--oz-muted);
  line-height:1.6}

/* the disclosure half — on the dark ground because it is the part that makes
   the light half credible, not a footnote to it */
.oz-cred-not{background:var(--oz-ink);color:#DDE0E6;padding:36px 34px;
  margin-top:1px;border:1px solid var(--oz-ink)}
@media(max-width:520px){.oz-cred-not{padding:28px 20px}}
.oz-cred-not h3{color:#fff;font-size:clamp(1.15rem,2vw,1.5rem);margin:0 0 8px}
.oz-cred-not > p{color:#A9AFBA;font-size:.9rem;margin:0 0 24px;max-width:56ch}
.oz-cred-not ul{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.14)}
@media(max-width:820px){.oz-cred-not ul{grid-template-columns:1fr}}
.oz-cred-not li{background:var(--oz-ink);padding:20px 22px}
.oz-cred-not li b{display:block;font-size:.92rem;font-weight:600;color:#fff;
  margin-bottom:8px;line-height:1.35}
.oz-cred-not li span{font-size:.83rem;color:#B4BAC5;line-height:1.6}

/* ---------- buttons ---------- */
.oz-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 30px;border-radius:var(--oz-r);font-size:.93rem;font-weight:600;
  border:2px solid transparent;transition:all .3s var(--oz-ease);cursor:pointer;text-decoration:none}
.oz-btn-primary{background:var(--oz-red);color:#fff;border-color:var(--oz-red)}
.oz-btn-primary:hover{background:var(--oz-red-dk);border-color:var(--oz-red-dk);
  transform:translateY(-1px);box-shadow:0 10px 28px -10px rgba(192,39,45,.55);color:#fff}
.oz-btn-ink{background:var(--oz-navy);color:#fff;border-color:var(--oz-navy)}
.oz-btn-ink:hover{background:var(--oz-ink);color:#fff;transform:translateY(-1px)}
.oz-btn-ghost{border-color:var(--oz-muted-lt);color:var(--oz-navy);background:transparent}
.oz-btn-ghost:hover{background:var(--oz-navy);border-color:var(--oz-navy);color:#fff}
.oz-dark .oz-btn-ghost{border-color:rgba(255,255,255,.32);color:#fff}
.oz-dark .oz-btn-ghost:hover{background:#fff;color:var(--oz-ink);border-color:#fff}
.oz-btn-sm{padding:11px 20px;font-size:.83rem}
.oz-btn-lg{padding:19px 38px;font-size:1rem}
.oz-btn-block{width:100%}
.oz-btn[disabled]{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}

.oz-tlink{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;
  color:var(--oz-ink);border-bottom:1px solid var(--oz-red);padding-bottom:3px;
  text-decoration:none;transition:gap .25s var(--oz-ease)}
.oz-tlink:hover{gap:14px;color:var(--oz-ink)}
.oz-dark .oz-tlink{color:#fff}
.oz-linkish{background:none;border:0;text-decoration:underline;cursor:pointer;
  color:inherit;font:inherit;padding:0}

/* ---------- header ---------- */
.oz-utility{background:var(--oz-ink);color:#A9AFBA;font-size:.78rem}
.oz-utility .oz-wrap{display:flex;justify-content:space-between;align-items:center;height:40px;gap:20px}
.oz-utility a{color:inherit;text-decoration:none}
.oz-utility a:hover{color:var(--oz-red-soft)}

.oz-nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);
  backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--oz-line-2);
  transition:box-shadow .3s}
.oz-nav.is-scrolled{box-shadow:0 1px 24px rgba(42,48,59,.07)}
.oz-nav .oz-wrap{display:flex;align-items:center;justify-content:space-between;
  height:80px;gap:24px;max-width:1400px}
.oz-logo img{height:44px;width:auto}
.oz-nav-cta{display:flex;gap:10px;align-items:center;flex:none}

.oz-menu{display:flex;gap:2px;align-items:center;height:100%;list-style:none;margin:0;padding:0}
.oz-menu > li{height:100%;display:flex;align-items:center;position:relative}
.oz-menu > li > a{padding:10px 13px;font-size:.875rem;font-weight:500;white-space:nowrap;
  text-decoration:none;color:var(--oz-ink);display:flex;align-items:center;gap:6px}
.oz-menu > li > a:hover{color:var(--oz-red-dk)}

.oz-mega{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);
  background:#fff;border:1px solid var(--oz-line);border-top:2px solid var(--oz-red);
  box-shadow:var(--oz-shadow-lg);padding:34px;display:grid;gap:34px;
  grid-template-columns:repeat(3,220px);opacity:0;visibility:hidden;
  transition:all .28s var(--oz-ease);border-radius:var(--oz-r)}
.oz-menu > li:hover .oz-mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.oz-menu > li:nth-last-child(-n+2) > .oz-mega{left:auto;right:0;transform:translateX(0) translateY(10px)}
.oz-menu > li:nth-last-child(-n+2):hover > .oz-mega{transform:translateX(0) translateY(0)}
.oz-mega.is-4{grid-template-columns:repeat(4,215px)}
.oz-mega h6{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--oz-red-dk);
  margin:0 0 14px;font-weight:700;padding-bottom:10px;border-bottom:1px solid var(--oz-line-2)}
.oz-mega ul{list-style:none;margin:0;padding:0}
.oz-mega li a{display:block;padding:7px 0;font-size:.87rem;color:var(--oz-muted);
  text-decoration:none;border-left:2px solid transparent;transition:all .2s}
.oz-mega li a:hover{color:var(--oz-ink);padding-left:8px;border-left-color:var(--oz-red)}
.oz-mega-feature{background:var(--oz-paper-2);padding:24px;border-radius:var(--oz-r)}
.oz-mega-feature h6{border:0;padding:0;margin-bottom:8px}
.oz-mega-feature p{font-size:.82rem;color:var(--oz-muted);margin:0 0 14px;line-height:1.5}

.oz-burger{display:none;width:42px;height:42px;place-items:center;
  border:1px solid var(--oz-line);border-radius:var(--oz-r);background:none;cursor:pointer}
.oz-burger span{display:block;width:18px;height:1.5px;background:var(--oz-ink);position:relative}
.oz-burger span::before,.oz-burger span::after{content:"";position:absolute;left:0;
  width:18px;height:1.5px;background:var(--oz-ink)}
.oz-burger span::before{top:-6px}
.oz-burger span::after{top:6px}

/* ---------- hero ---------- */
.oz-hero{position:relative;background:var(--oz-paper);overflow:hidden;
  padding:clamp(52px,6vw,84px) 0 0}
.oz-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(820px 480px at 84% 4%,rgba(192,39,45,.055),transparent 62%),
             radial-gradient(760px 520px at 2% 96%,rgba(65,73,90,.075),transparent 62%)}
.oz-hero .oz-wrap{position:relative;z-index:2}
.oz-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:start}
.oz-hero h1 em{font-style:italic;color:var(--oz-red)}
.oz-hero-sub{font-size:clamp(1.05rem,1.45vw,1.22rem);color:var(--oz-muted);
  max-width:33em;margin:0 0 36px}
.oz-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:44px}
.oz-hero-note{font-size:.82rem;color:var(--oz-muted-lt);display:flex;
  align-items:center;gap:8px;margin-bottom:56px}
.oz-dot{width:6px;height:6px;border-radius:50%;background:#2E7D5B;
  box-shadow:0 0 0 4px rgba(46,125,91,.16);flex:none}

/* regulatory clock */
.oz-hero-card{background:#fff;border:1px solid var(--oz-line);border-top:3px solid var(--oz-red);
  border-radius:var(--oz-r);padding:28px;box-shadow:var(--oz-shadow-lg)}
.oz-hero-card h6{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--oz-red-dk);margin:0 0 4px;font-weight:700}
.oz-hero-card .oz-sub{font-size:.78rem;color:var(--oz-muted-lt);margin:0 0 20px}
.oz-clock-item{display:flex;gap:14px;padding:13px 0;border-top:1px solid var(--oz-line-2);
  align-items:flex-start}
.oz-clock-item:first-of-type{border-top:0}
.oz-clock-date{font-size:.68rem;font-weight:700;color:var(--oz-ink);background:var(--oz-paper-3);
  padding:5px 7px;border-radius:var(--oz-r);flex:none;min-width:62px;text-align:center;line-height:1.25}
.oz-clock-date.soon{background:var(--oz-red);color:#fff}
.oz-clock-date.past{background:var(--oz-paper-2);color:var(--oz-muted-lt)}
.oz-clock-txt{font-size:.83rem;line-height:1.45;color:var(--oz-muted)}
.oz-clock-txt b{color:var(--oz-ink);font-weight:600;display:block;font-size:.87rem}

/* trust strip */
.oz-trust{border-top:1px solid var(--oz-line);margin-top:20px;
  display:grid;grid-template-columns:repeat(4,1fr)}
.oz-trust > div{padding:30px 24px 34px;border-left:1px solid var(--oz-line-2)}
.oz-trust > div:first-child{border-left:0;padding-left:0}
.oz-trust b{font-family:var(--oz-serif);font-size:clamp(1.9rem,3.2vw,2.7rem);
  color:var(--oz-navy);display:block;line-height:1;margin-bottom:8px;font-weight:400}
.oz-trust span{font-size:.76rem;color:var(--oz-muted);line-height:1.4;display:block}

/* ---------- contrast table ---------- */
.oz-contrast{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--oz-line);background:#fff}
.oz-contrast > div{padding:clamp(32px,4vw,48px)}
.oz-contrast-them{background:var(--oz-paper-2);border-right:1px solid var(--oz-line)}
.oz-contrast h4{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;
  margin:0 0 22px;font-weight:700;font-family:var(--oz-sans)}
.oz-contrast-them h4{color:var(--oz-muted-lt)}
.oz-contrast-us h4{color:var(--oz-red-dk)}
.oz-contrast ul{list-style:none;margin:0;padding:0}
.oz-contrast li{padding:13px 0 13px 30px;position:relative;font-size:.95rem;
  border-top:1px solid var(--oz-line-2);line-height:1.5}
.oz-contrast li:first-child{border-top:0}
.oz-contrast-them li{color:var(--oz-muted)}
.oz-contrast-them li::before{content:"—";position:absolute;left:0;top:13px;color:var(--oz-muted-lt)}
.oz-contrast-us li::before{content:"";position:absolute;left:0;top:17px;width:15px;height:15px;
  background:var(--oz-red);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6L9 17l-5-5' stroke='black' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6L9 17l-5-5' stroke='black' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat}

/* ---------- route cards ---------- */
.oz-route{background:#fff;border:1px solid var(--oz-line);padding:36px 32px 32px;
  display:flex;flex-direction:column;position:relative;border-radius:var(--oz-r);
  transition:all .35s var(--oz-ease)}
.oz-route:hover{transform:translateY(-4px);box-shadow:var(--oz-shadow-lg);border-color:var(--oz-red)}
.oz-route-tag{position:absolute;top:-1px;right:24px;background:var(--oz-ink);color:var(--oz-red-soft);
  font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;padding:6px 11px;font-weight:600}
.oz-route-num{font-family:var(--oz-serif);font-size:.95rem;color:var(--oz-red);
  margin-bottom:14px;letter-spacing:.1em}
.oz-route h3{margin:0 0 12px}
.oz-route-desc{font-size:.92rem;color:var(--oz-muted);margin:0 0 22px;line-height:1.55}
.oz-bestfor{background:var(--oz-paper-2);padding:14px 16px;border-left:2px solid var(--oz-red);
  font-size:.82rem;color:var(--oz-muted);margin-bottom:22px;line-height:1.5}
.oz-bestfor b{color:var(--oz-ink);display:block;font-size:.7rem;letter-spacing:.1em;
  text-transform:uppercase;margin-bottom:4px}
.oz-route dl{margin:0 0 24px;border-top:1px solid var(--oz-line-2)}
.oz-route dt{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--oz-muted-lt);padding-top:12px;font-weight:600}
.oz-route dd{margin:2px 0 12px;font-size:.9rem;font-weight:500;
  border-bottom:1px solid var(--oz-line-2);padding-bottom:12px}
.oz-route dd:last-of-type{border-bottom:0}
.oz-route-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px}
.oz-route-from{font-size:.76rem;color:var(--oz-muted-lt)}
.oz-route-from b{display:block;font-family:var(--oz-serif);font-size:1.5rem;
  color:var(--oz-ink);font-weight:400}

/* ---------- estimator ---------- */
.oz-estimator{background:#fff;border:1px solid var(--oz-line);border-top:3px solid var(--oz-red);
  box-shadow:var(--oz-shadow-lg);border-radius:var(--oz-r);overflow:hidden}
.oz-est-head{padding:30px 36px;border-bottom:1px solid var(--oz-line-2);
  display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.oz-est-title{margin:0 0 4px;font-family:var(--oz-serif);font-size:1.5rem;font-weight:400}
.oz-est-step-label{font-size:.85rem;color:var(--oz-muted);margin:0}
.oz-est-progress{display:flex;gap:6px}
.oz-est-progress i{width:26px;height:3px;background:var(--oz-paper-3);
  border-radius:2px;display:block;transition:background .3s}
.oz-est-progress i.is-on{background:var(--oz-red)}
.oz-est-body{padding:36px}
.oz-est-step{display:none}
.oz-est-step.is-on{display:block;animation:ozFade .4s var(--oz-ease)}
@keyframes ozFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.oz-est-q{font-family:var(--oz-serif);font-size:1.5rem;margin:0 0 6px}
.oz-est-hint{font-size:.85rem;color:var(--oz-muted);margin:0 0 24px}
.oz-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;margin-bottom:28px}
.oz-opt{border:1px solid var(--oz-line);padding:18px;text-align:left;background:#fff;
  border-radius:var(--oz-r);cursor:pointer;transition:all .25s var(--oz-ease);font-family:inherit}
.oz-opt:hover{border-color:var(--oz-red);background:var(--oz-paper)}
.oz-opt.is-sel{border-color:var(--oz-red);background:var(--oz-red-wash);
  box-shadow:inset 0 0 0 1px var(--oz-red)}
.oz-opt b{display:block;font-size:.95rem;margin-bottom:3px;font-weight:600}
.oz-opt span{font-size:.79rem;color:var(--oz-muted);line-height:1.4;display:block}
.oz-est-nav{display:flex;justify-content:space-between;gap:12px;align-items:center;
  border-top:1px solid var(--oz-line-2);padding-top:22px}
.oz-est-back{font-size:.85rem;color:var(--oz-muted);font-weight:500;
  background:none;border:0;cursor:pointer;font-family:inherit}
.oz-est-back:hover{color:var(--oz-ink)}
.oz-est-result{text-align:center}
.oz-est-fig{font-family:var(--oz-serif);font-size:clamp(2.4rem,5vw,3.6rem);
  line-height:1;margin:16px 0 6px}
.oz-est-fig small{font-size:1.1rem;color:var(--oz-muted-lt)}
.oz-est-route-line{font-size:.9rem;color:var(--oz-muted);margin:0}
.oz-est-break{max-width:440px;margin:26px auto;text-align:left;border-top:1px solid var(--oz-line-2)}
.oz-est-break div{display:flex;justify-content:space-between;padding:11px 0;
  border-bottom:1px solid var(--oz-line-2);font-size:.88rem;gap:20px}
.oz-est-break div span:last-child{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.oz-est-break div.is-total{font-weight:700;border-bottom:0;padding-top:14px}
.oz-est-why-wrap{font-size:.95rem;color:var(--oz-muted);max-width:34em;margin:0 auto 24px}
.oz-est-why-wrap b{color:var(--oz-ink)}
.oz-est-capture{max-width:420px;margin:0 auto;text-align:left;
  border-top:1px solid var(--oz-line-2);padding-top:24px}
.oz-est-capture-title{font-size:.9rem;font-weight:600;margin-bottom:14px}
.oz-disclaimer{font-size:.74rem;color:var(--oz-muted-lt);line-height:1.5;margin-top:16px}

/* ---------- forms ---------- */
.oz-field{margin-bottom:16px;text-align:left}
.oz-field label{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--oz-muted);margin-bottom:6px;font-weight:600}
.oz-field input,.oz-field select,.oz-field textarea{width:100%;padding:14px 15px;
  border:1px solid var(--oz-line);border-radius:var(--oz-r);font-family:inherit;
  font-size:.95rem;background:#fff;color:var(--oz-ink)}
.oz-field input:focus,.oz-field select:focus,.oz-field textarea:focus{outline:0;
  border-color:var(--oz-red);box-shadow:0 0 0 3px rgba(192,39,45,.14)}
.oz-consent{font-size:.72rem;color:var(--oz-muted-lt);line-height:1.5;margin-top:14px}
.oz-form-thanks{background:var(--oz-red-wash);border-left:2px solid var(--oz-red);
  padding:20px;font-size:.95rem}
.oz-form-error{color:var(--oz-red-dk);font-size:.85rem;margin-top:10px}
.oz-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ---------- compliance calendar ---------- */
.oz-cal-table{background:#fff;border:1px solid var(--oz-line);border-radius:var(--oz-r);overflow:hidden}
.oz-cal-row{display:grid;grid-template-columns:150px 1fr 160px;border-top:1px solid var(--oz-line-2)}
.oz-cal-row:first-child{border-top:0}
.oz-cal-head{background:var(--oz-ink);color:#A9AFBA;font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;font-weight:700}
.oz-cal-head > div{padding:14px 20px}
.oz-cal-when{padding:18px 20px;font-size:.78rem;font-weight:700;color:var(--oz-ink)}
.oz-cal-when.soon{color:var(--oz-red)}
.oz-cal-when.past{color:var(--oz-muted-lt)}
.oz-cal-what{padding:18px 20px;font-size:.86rem;color:var(--oz-muted);line-height:1.55}
.oz-cal-what b{display:block;color:var(--oz-ink);font-size:.92rem;margin-bottom:3px}
.oz-cal-who{padding:18px 20px;font-size:.76rem;color:var(--oz-muted-lt)}
.oz-cal-note{font-size:.76rem;color:var(--oz-muted-lt);margin-top:16px}

/* ---------- faq ---------- */
.oz-faq{border-top:1px solid var(--oz-line)}
.oz-faq details{border-bottom:1px solid var(--oz-line)}
.oz-faq summary{padding:24px 44px 24px 0;font-size:1.05rem;font-weight:500;
  cursor:pointer;position:relative;list-style:none;line-height:1.4}
.oz-faq summary::-webkit-details-marker{display:none}
.oz-faq summary:hover{color:var(--oz-red-dk)}
.oz-faq summary::after{content:"";position:absolute;right:8px;top:29px;width:12px;height:12px;
  border-right:1.5px solid var(--oz-red);border-bottom:1.5px solid var(--oz-red);
  transform:rotate(45deg);transition:transform .3s var(--oz-ease)}
.oz-faq details[open] summary::after{transform:rotate(-135deg);top:33px}
.oz-faq-ans{padding:0 60px 26px 0;color:var(--oz-muted);font-size:.95rem;line-height:1.7}

/* ---------- sticky conversion ---------- */
.oz-wa{position:fixed;right:22px;bottom:22px;z-index:70;width:56px;height:56px;
  border-radius:50%;background:#25D366;display:grid;place-items:center;
  box-shadow:0 8px 28px rgba(37,211,102,.42);transition:transform .3s var(--oz-ease)}
.oz-wa:hover{transform:scale(1.08)}
.oz-wa svg{width:29px;height:29px;fill:#fff}

.oz-rail{position:fixed;right:0;top:50%;transform:translateY(-50%) translateX(100%);
  z-index:64;display:flex;flex-direction:column;gap:1px;transition:transform .4s var(--oz-ease)}
.oz-rail.is-on{transform:translateY(-50%) translateX(0)}
.oz-rail a{writing-mode:vertical-rl;background:var(--oz-ink);color:#fff;padding:20px 13px;
  font-size:.76rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  text-decoration:none;transition:background .25s}
.oz-rail a:hover{background:var(--oz-red);color:#fff}
.oz-rail a.is-accent{background:var(--oz-red);color:#fff}
.oz-rail a.is-accent:hover{background:var(--oz-red-dk)}

.oz-stickybar{position:fixed;left:0;right:0;bottom:0;z-index:65;background:var(--oz-ink);
  padding:10px 16px;display:none;gap:10px;transform:translateY(100%);
  transition:transform .4s var(--oz-ease)}
.oz-stickybar.is-on{transform:translateY(0)}
.oz-stickybar .oz-btn{flex:1;padding:14px 12px;font-size:.85rem}

/* ---------- modal ---------- */
.oz-modal{position:fixed;inset:0;z-index:90;background:rgba(42,48,59,.74);
  backdrop-filter:blur(6px);display:none;place-items:center;padding:24px}
.oz-modal.is-on{display:grid}
.oz-modal-card{background:var(--oz-paper);max-width:820px;width:100%;border-radius:var(--oz-r);
  overflow:hidden;display:grid;grid-template-columns:1fr 1fr;
  box-shadow:var(--oz-shadow-lg);position:relative}
.oz-modal-side{background:var(--oz-ink);padding:44px 36px;color:#fff;
  display:flex;flex-direction:column;justify-content:center}
.oz-modal-body{padding:44px 36px}
.oz-modal-close{position:absolute;top:14px;right:14px;width:34px;height:34px;
  display:grid;place-items:center;font-size:1.5rem;color:var(--oz-muted);
  background:none;border:0;cursor:pointer;z-index:3;line-height:1}

/* ---------- footer ---------- */
.oz-footer{background:var(--oz-ink);color:#98A0AC;padding:80px 0 0;font-size:.86rem}
.oz-footer a{color:inherit;text-decoration:none}
.oz-footer a:hover{color:var(--oz-red-soft)}
.oz-f-top{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:40px;
  padding-bottom:56px;border-bottom:1px solid #565F70}
.oz-footer h6{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;margin:0 0 18px;font-weight:700}
.oz-footer ul{list-style:none;margin:0;padding:0}
.oz-footer li{margin-bottom:9px}
.oz-footer li a{font-size:.84rem}
.oz-f-seo{padding:36px 0;border-bottom:1px solid #565F70;font-size:.76rem;line-height:2}
.oz-f-seo b{color:#A9AFBA;display:block;margin-bottom:10px;font-size:.7rem;
  letter-spacing:.12em;text-transform:uppercase}
.oz-f-bottom{padding:26px 0;display:flex;justify-content:space-between;
  gap:20px;flex-wrap:wrap;font-size:.78rem;color:#7C838F}

/* ---------- reveal ---------- */
.oz-rv{opacity:0;transform:translateY(22px);
  transition:opacity .7s var(--oz-ease),transform .7s var(--oz-ease)}
.oz-rv.is-in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media(max-width:1100px){
  .oz-hero-grid{grid-template-columns:1fr;gap:44px}
  .oz-grid-4{grid-template-columns:repeat(2,1fr)}
  .oz-f-top{grid-template-columns:repeat(3,1fr);gap:32px}
  .oz-f-top > :first-child{grid-column:1/-1}
}
@media(max-width:900px){
  body{font-size:16px}
  .oz-menu,.oz-nav-cta .oz-btn-ghost{display:none}
  .oz-burger{display:grid}
  .oz-grid-3,.oz-grid-2{grid-template-columns:1fr}
  .oz-split{grid-template-columns:1fr;gap:36px}
  .oz-contrast{grid-template-columns:1fr}
  .oz-contrast-them{border-right:0;border-bottom:1px solid var(--oz-line)}
  .oz-trust{grid-template-columns:1fr 1fr}
  .oz-trust > div{border-left:0;border-top:1px solid var(--oz-line);padding:22px 0}
  .oz-trust > div:nth-child(2n){padding-left:20px;border-left:1px solid var(--oz-line)}
  .oz-modal-card{grid-template-columns:1fr;max-height:90vh;overflow-y:auto}
  .oz-modal-side{display:none}
  .oz-rail{display:none}
  .oz-stickybar{display:flex}
  .oz-wa{bottom:84px;right:16px;width:50px;height:50px}
  .oz-form-row{grid-template-columns:1fr}
  .oz-est-body,.oz-est-head{padding:24px}

  /* mobile nav drawer */
  body.oz-nav-open .oz-menu{display:block;position:fixed;inset:120px 0 0;background:#fff;
    overflow-y:auto;padding:24px 32px;z-index:49;height:auto}
  body.oz-nav-open .oz-menu > li{display:block;height:auto;border-bottom:1px solid var(--oz-line-2)}
  body.oz-nav-open .oz-menu > li > a{padding:18px 0;font-size:1.05rem;justify-content:space-between}
  body.oz-nav-open .oz-mega{position:static;transform:none;opacity:1;visibility:hidden;
    display:none;box-shadow:none;border:0;padding:0 0 20px;grid-template-columns:1fr}
  body.oz-nav-open .oz-menu > li.is-open .oz-mega{display:grid;visibility:visible}
}
@media(max-width:720px){
  .oz-cal-row{grid-template-columns:1fr}
  .oz-cal-head{display:none}
  .oz-cal-when{padding:18px 20px 0}
  .oz-cal-what{padding:8px 20px}
  .oz-cal-who{padding:0 20px 18px}
  .oz-cal-who::before{content:"Applies to: "}
}
@media(max-width:560px){
  .oz-wrap{padding:0 20px}
  .oz-grid-4{grid-template-columns:1fr}
  .oz-f-top{grid-template-columns:1fr 1fr}
  .oz-nav-cta .oz-btn{display:none}
  .oz-logo img{height:34px}
  .oz-hero-actions .oz-btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;
    scroll-behavior:auto!important}
  .oz-rv{opacity:1;transform:none}
}

/* landing template hides global nav chrome */
.oz-landing .oz-utility,.oz-landing .oz-menu,.oz-landing .oz-footer .oz-f-top{display:none}

/* ---------- titled pages (legal, careers): a reading column ---------- */
.oz-titled{padding-left:32px;padding-right:32px}
.oz-titled>*{max-width:680px;margin-left:auto;margin-right:auto}
.oz-titled h1{margin-bottom:32px}
.oz-titled h2{font-size:clamp(22px,2.2vw,28px);margin:44px 0 12px}
.oz-titled h3{font-size:21px;margin:32px 0 10px}
.oz-titled p,.oz-titled li{font-size:16.5px;line-height:1.7;color:var(--oz-text)}
.oz-titled p{margin:0 0 18px}
.oz-titled ul,.oz-titled ol{margin:0 0 18px;padding-left:1.4em}
.oz-titled li{margin-bottom:8px}
.oz-titled a{color:var(--oz-red-dk);text-decoration:underline;text-underline-offset:3px}
.oz-titled .wp-block-post-title + .wp-block-post-content > h1:first-child,
.oz-titled .wp-block-post-title + .wp-block-post-content > h2:first-child{display:none}
@media(max-width:640px){.oz-titled{padding-left:20px;padding-right:20px}}

/* ---------- header refinement (2 Sep 2026): the service architecture is
   visible from the menu itself — each link carries a one-line descriptor,
   the feature panel carries a photograph, and the current section is marked ---------- */
.oz-utility .oz-util-trust{color:#A9AFBA;letter-spacing:.02em}
.oz-utility .oz-util-trust b{color:#fff;font-weight:600}
.oz-utility .oz-util-left{display:flex;gap:22px;align-items:center}
.oz-menu > li > a{position:relative;padding:10px 14px;font-size:.9rem}
.oz-menu > li > a::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;background:var(--oz-red);
  transform:scaleX(0);transform-origin:left;transition:transform .25s var(--oz-ease)}
.oz-menu > li:hover > a::after,.oz-menu > li.is-current > a::after{transform:scaleX(1)}
.oz-menu > li.is-current > a{color:var(--oz-navy)}
.oz-mega{grid-template-columns:repeat(3,250px);gap:30px;padding:30px}
.oz-mega.is-4{grid-template-columns:250px 250px 260px}
.oz-mega li a{padding:9px 0 9px 0;border-left:0;line-height:1.35}
.oz-mega li a span{display:block;color:var(--oz-ink);font-weight:500;font-size:.9rem;transition:color .2s}
.oz-mega li a small{display:block;font-size:.76rem;color:var(--oz-muted);margin-top:2px}
.oz-mega li a:hover{padding-left:0;border-left:0}
.oz-mega li a:hover span,.oz-mega li a[aria-current] span{color:var(--oz-red-dk)}
.oz-mega li + li{border-top:1px solid var(--oz-line-2)}
.oz-mega-feature{display:block;padding:0;background:var(--oz-paper-2);text-decoration:none;color:inherit;overflow:hidden;
  border:1px solid var(--oz-line-2);position:relative}
.oz-mega-feature img{width:100%;height:132px;object-fit:cover;display:block;filter:saturate(.85)}
.oz-mega-feature-body{padding:18px 20px 20px}
.oz-mega-feature h6{margin:0 0 6px;border:0;padding:0}
.oz-mega-feature p{margin:0 0 12px}
.oz-mega-feature .oz-tlink{color:var(--oz-red-dk)}
.oz-mega-feature:hover .oz-tlink{gap:14px}
@media(max-width:900px){
  .oz-mega li a small{display:none}
  .oz-mega-feature img{display:none}
  body.oz-nav-open .oz-mega li + li{border-top:0}
}

/* =====================================================================
   v4 — modern corporate layer (2 Sep 2026, late). Osama's review: the site
   read as an editorial publication. Same palette and copy discipline;
   headings move to the sans at 700, corners soften to 10–16px, hairline
   grids become card grids with air, the logo grows, and photographs are
   let through more. Loaded after everything above so it wins on specificity
   ties without touching the earlier rules.
   ===================================================================== */
:root{--oz-r:10px;--oz-r-lg:16px}
h1,h2,h3,h4,h5,h6{font-family:var(--oz-sans);font-weight:700;letter-spacing:-.022em;color:var(--oz-navy)}
h1{font-size:clamp(34px,4.4vw,58px);line-height:1.05;max-width:22ch}
h2{font-size:clamp(28px,3.2vw,42px);line-height:1.1}
h3{font-size:clamp(20px,1.8vw,24px);line-height:1.25}
h4{font-size:19px;line-height:1.3}
.oz-est-title,.oz-est-q,.oz-est-fig,.oz-cred-title,.oz-f-seo b{font-family:var(--oz-sans);font-weight:700;letter-spacing:-.01em}
.oz-btn{border-radius:10px;letter-spacing:.01em}
.oz-field input,.oz-field select,.oz-field textarea{border-radius:8px}
.oz-estimator{border-radius:var(--oz-r-lg);overflow:hidden;border-top-width:4px;box-shadow:0 30px 60px -20px rgba(42,48,59,.35)}
.oz-opt{border-radius:10px}
.oz-mega{border-radius:14px;border-top-width:3px}
.oz-mega-feature{border-radius:12px}
.oz-modal-card{border-radius:var(--oz-r-lg)}

/* header: the mark leads */
.oz-nav .oz-wrap{height:96px}
.oz-logo img{height:60px}
.oz-menu > li > a{font-size:.95rem;font-weight:600;padding:10px 16px}
.oz-nav-cta .oz-btn-sm{padding:12px 20px;font-size:.86rem}
@media(max-width:900px){.oz-nav .oz-wrap{height:80px}.oz-logo img{height:46px}
  body.oz-nav-open .oz-menu{inset:120px 0 0}}
@media(max-width:560px){.oz-logo img{height:40px}}

/* the WhatsApp button is the theme's own; the plugin's duplicate is deactivated */
.oz-wa{border-radius:50%;box-shadow:0 12px 30px -8px rgba(37,211,102,.55)}

/* footer: the layout Osama kept from the previous site — light ground,
   red-ruled column headings, chevron links, reach-out column, red legal bar */
.oz-footer{background:#F2F2F2;color:var(--oz-text);padding:72px 0 0;font-size:.92rem}
.oz-footer a{color:var(--oz-muted);text-decoration:none;transition:color .2s}
.oz-footer a:hover{color:var(--oz-red)}
.oz-f-top{display:grid;grid-template-columns:1.25fr 1fr 1fr 1.15fr;gap:48px;padding-bottom:56px;border:0;margin:0}
.oz-f-top > div > p{color:var(--oz-muted);line-height:1.7;font-size:.92rem}
.oz-footer h6{font-family:var(--oz-sans);font-size:1.05rem;font-weight:700;letter-spacing:0;text-transform:none;
  color:var(--oz-ink);margin:0 0 20px;padding-bottom:12px;position:relative;border:0}
.oz-footer h6 b{color:var(--oz-red);font-weight:700}
.oz-footer h6::after{content:"";position:absolute;left:0;bottom:0;width:44px;height:3px;background:var(--oz-red);border-radius:2px}
.oz-footer ul{list-style:none;margin:0;padding:0}
.oz-footer li{margin:0 0 11px}
.oz-footer li a{font-size:.92rem;display:inline-flex;align-items:center;gap:8px;color:var(--oz-text)}
.oz-footer li a::before{content:"";width:6px;height:6px;border-right:1.5px solid var(--oz-red);border-bottom:1.5px solid var(--oz-red);transform:rotate(-45deg);flex:none}
.oz-f-reach li{display:flex;gap:12px;align-items:flex-start;color:var(--oz-text);line-height:1.6}
.oz-f-reach li a{display:inline;color:var(--oz-text)}
.oz-f-reach li a::before{display:none}
.oz-f-reach svg{width:18px;height:18px;flex:none;margin-top:3px;stroke:var(--oz-red);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.oz-social{display:flex;gap:10px;margin-top:22px}
.oz-social a{width:40px;height:40px;border-radius:50%;background:var(--oz-navy);color:#fff;display:grid;place-items:center;transition:background .2s,transform .2s}
.oz-social a:hover{background:var(--oz-red);color:#fff;transform:translateY(-2px)}
.oz-social svg{width:17px;height:17px;fill:currentColor}
.oz-f-logo img{height:64px;width:auto;display:block;margin-bottom:22px}
.oz-f-bar{background:var(--oz-red);color:#fff;font-size:.86rem}
.oz-f-bar .oz-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:18px;padding-bottom:18px}
.oz-f-bar nav{display:flex;gap:28px;flex-wrap:wrap;justify-content:center}
.oz-f-bar a{color:#fff}
.oz-f-bar a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.oz-f-bar span{color:rgba(255,255,255,.85)}
@media(max-width:900px){.oz-f-top{grid-template-columns:1fr 1fr;gap:36px}.oz-f-top > :first-child{grid-column:1/-1}}
@media(max-width:560px){.oz-f-top{grid-template-columns:1fr}.oz-footer{padding-top:52px}}

/* titled pages inherit the sans headings */
.oz-titled h2{letter-spacing:-.015em}

/* =====================================================================
   v4.1 — navigation fixes (3 Sep 2026). The mega panels were a fixed
   872 px and anchored to their own menu item, so on anything narrower than
   a large monitor they ran off the left edge; the current-section underline
   stayed lit while another item was hovered, and the panel added a third red
   line. Panels now centre under the header, size to their content, cap to
   the viewport, and only the hovered item is underlined. The drawer's
   containing block was the blurred header (backdrop-filter), which collapsed
   it to 0 px — the blur is dropped while the drawer is open.
   ===================================================================== */
.oz-nav .oz-wrap{position:relative}
.oz-logo{flex:none}
.oz-menu > li{position:static}
.oz-mega{left:50%;right:auto;transform:translateX(-50%) translateY(10px);width:max-content;max-width:calc(100vw - 32px);
  padding:28px;gap:28px;border-top:1px solid var(--oz-line);border-radius:14px}
.oz-mega.is-2{grid-template-columns:minmax(0,270px) minmax(0,290px)}
.oz-mega.is-3{grid-template-columns:repeat(2,minmax(0,250px)) minmax(0,290px)}
.oz-mega.is-4{grid-template-columns:repeat(3,minmax(0,225px)) minmax(0,290px)}
.oz-mega::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.oz-menu > li:nth-last-child(-n+2) > .oz-mega{left:50%;right:auto;transform:translateX(-50%) translateY(10px)}
.oz-menu > li:nth-last-child(-n+2):hover > .oz-mega{transform:translateX(-50%) translateY(0)}
.oz-menu > li:focus-within > .oz-mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
/* one underline at a time */
.oz-menu:hover > li.is-current:not(:hover) > a::after{transform:scaleX(0)}
.oz-menu > li.is-current > a{color:var(--oz-red-dk)}

/* tablets and small laptops get the drawer: four items, two buttons and a
   60 px mark do not fit side by side under ~1100 px */
@media(max-width:1100px){
  .oz-menu,.oz-nav-cta .oz-btn-ghost{display:none}
  .oz-burger{display:grid}
  .oz-utility .oz-wrap{flex-wrap:nowrap;white-space:nowrap}
  .oz-util-hide{display:none!important}
  body.oz-nav-open .oz-nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff}
  body.oz-nav-open .oz-menu{display:block;position:fixed;top:var(--oz-drawer-top,120px);left:0;right:0;bottom:0;height:auto;
    background:#fff;overflow-y:auto;padding:16px 24px 40px;z-index:49;transform:none}
  body.oz-nav-open .oz-menu > li{display:block;height:auto;border-bottom:1px solid var(--oz-line-2);position:static}
  body.oz-nav-open .oz-menu > li > a{padding:18px 0;font-size:1.05rem;justify-content:space-between;width:100%}
  body.oz-nav-open .oz-menu > li > a::after{display:none}
  body.oz-nav-open .oz-menu > li > a .oz-caret{transition:transform .2s}
  body.oz-nav-open .oz-menu > li.is-open > a .oz-caret{transform:rotate(180deg)}
  body.oz-nav-open .oz-mega,body.oz-nav-open .oz-menu > li:hover > .oz-mega{position:static!important;transform:none!important;opacity:1;visibility:hidden;
    display:none;box-shadow:none;border:0;border-radius:0;padding:0 0 20px;width:auto;max-width:none;grid-template-columns:1fr!important;gap:8px}
  body.oz-nav-open .oz-menu > li.is-open > .oz-mega{display:grid;visibility:visible}
  body.oz-nav-open .oz-mega::before{display:none}
  body.oz-nav-open .oz-mega h6{margin:14px 0 6px}
  body.oz-nav-open .oz-mega li + li{border-top:0}
  body.oz-nav-open .oz-mega li a{padding:9px 0}
  body.oz-nav-open .oz-mega li a small{display:block}
  body.oz-nav-open .oz-mega-feature{margin-top:8px;border-radius:12px}
  body.oz-nav-open .oz-mega-feature img{display:none}
}
@media(max-width:560px){
  .oz-utility{font-size:.72rem}
  .oz-utility .oz-wrap{height:36px;gap:12px}
  .oz-nav-cta .oz-btn{display:none}
  .oz-nav .oz-wrap{height:72px}
}


/* =====================================================================
   v4.2 — pre-launch audit: keyboard access, skip link, anchors
   ===================================================================== */
.oz-skip{position:absolute;left:-9999px;top:12px;z-index:9999;background:var(--oz-navy,#41495A);color:#fff;padding:12px 18px;border-radius:8px;font-weight:600;font-size:14px;text-decoration:none}
.oz-skip:focus{left:12px;outline:3px solid #C0272D;outline-offset:2px}
.oz-nav a:focus-visible,.oz-util a:focus-visible,.oz-footer a:focus-visible,.oz-rail a:focus-visible,.oz-stickybar a:focus-visible,.oz-wa:focus-visible,.oz-burger:focus-visible,.oz-modal a:focus-visible,.oz-modal button:focus-visible{outline:3px solid #C0272D;outline-offset:3px;border-radius:4px}
.oz-f-bar a:focus-visible{outline-color:#fff}
[id]{scroll-margin-top:120px}
.oz-modal-body .oz-btn-block{display:flex;justify-content:center;text-align:center}
/* Root block gap: header, main, footer are full-bleed bands — no 20px seam between them */
body .wp-site-blocks > *{margin-block-start:0}
/* open drawer: burger becomes a close icon, floating conversion elements step aside, caret is legible */
.oz-burger[aria-expanded="true"] span{background:transparent}
.oz-burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.oz-burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
.oz-burger span::before,.oz-burger span::after{transition:top .18s ease,transform .18s ease}
body.oz-nav-open .oz-wa,body.oz-nav-open .oz-stickybar,body.oz-nav-open .oz-rail{display:none!important}
@media(max-width:1100px){
  body.oz-nav-open .oz-menu > li > a .oz-caret{width:16px;height:16px;transition:transform .2s ease}
  body.oz-nav-open .oz-menu > li.is-open > a .oz-caret{transform:rotate(180deg)}
}
/* mobile sticky bar: the ghost button was navy-on-ink (unreadable); the legal bar stays reachable beneath it */
.oz-stickybar .oz-btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.oz-stickybar .oz-btn-ghost:hover,.oz-stickybar .oz-btn-ghost:focus-visible{background:#fff;color:var(--oz-ink);border-color:#fff}
@media(max-width:900px){.oz-f-bar .oz-wrap{padding-bottom:calc(18px + 74px)}}
/* success and error must not look alike: success is navy with a check, error stays red */
.oz-form-thanks,.oz-p .convert-form .oz-form-thanks{background:#F2F4F7;border-left:3px solid var(--oz-navy,#41495A);color:#262626;border-radius:0 8px 8px 0;padding:18px 20px 18px 48px;position:relative}
.oz-form-thanks::before{content:"";position:absolute;left:18px;top:21px;width:14px;height:8px;border-left:3px solid #41495A;border-bottom:3px solid #41495A;transform:rotate(-45deg)}
.oz-form-thanks:focus{outline:2px solid #41495A;outline-offset:2px}

/* WCAG 2.5.8: utility-bar language switches are 24px targets; eyebrow paragraphs inside section heads keep the chip colours */
.oz-langs a{display:inline-flex;align-items:center;min-height:24px;padding:0 6px;margin:0 -2px}
.oz-utility a[href^="tel:"],.oz-utility a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:24px}

/* utility bar icons — the previous site's top bar: phone and email with icons on the left, social on the right */
.oz-utility .oz-util-right{display:flex;align-items:center;gap:22px}
.oz-util-ico{display:inline-flex;align-items:center;gap:7px;min-height:24px}
.oz-util-ico svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--oz-red-soft,#E8989C)}
.oz-util-social{display:inline-flex;align-items:center;gap:2px}
.oz-util-social a{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:6px;color:#C9CED8}
.oz-util-social a:hover,.oz-util-social a:focus-visible{color:#fff;background:rgba(255,255,255,.1)}
.oz-util-social svg{width:14px;height:14px;fill:currentColor}
@media(max-width:600px){.oz-utility .oz-util-social{display:none}}

/* v4.3 — utility bar on white, in the footer's icon language (Osama, 4 Sep) */
.oz-utility{background:#fff;color:var(--oz-text);border-bottom:1px solid var(--oz-line);font-size:.8rem}
.oz-utility a{color:var(--oz-text)}
.oz-utility a:hover{color:var(--oz-red)}
.oz-langs a{color:var(--oz-muted);font-weight:500;letter-spacing:.04em}
.oz-langs a.is-on{color:var(--oz-navy);font-weight:700}
.oz-utility .oz-util-trust{color:var(--oz-muted)}
.oz-utility .oz-util-trust b{color:var(--oz-navy);font-weight:600}
.oz-util-ico svg{width:16px;height:16px;stroke-width:1.6;color:var(--oz-red)}
.oz-util-social{gap:8px}
.oz-util-social a{width:26px;height:26px;border-radius:50%;background:var(--oz-navy);color:#fff}
.oz-util-social a:hover,.oz-util-social a:focus-visible{background:var(--oz-red);color:#fff}
.oz-util-social svg{width:12px;height:12px}

/* v4.4 — modal side heading was navy on ink (invisible); softer focus ring on the close button */
.oz-modal-side h3,.oz-modal-side .oz-modal-eyebrow{color:#fff}
.oz-modal-side h3{color:#fff!important}
.oz-modal-close:focus-visible{outline:2px solid var(--oz-navy);outline-offset:0;border-radius:6px}
