:root {
  --ohms-navy: #153B6D;
  --ohms-turquoise: #27C4C3;
  --ohms-cream: #F8F6F1;
  --ohms-gray: #E8E8E8;
  --ohms-gold: #D9B44A;
  --ohms-card-shadow: 0 18px 50px rgba(21, 59, 109, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
a { transition: color .2s ease, transform .2s ease, background-color .2s ease, box-shadow .2s ease; }
a:hover { color: var(--ohms-navy); }

.ohms-header-wrap {
  position: sticky;
  top: 0;
  z-index: 999;
  backdrop-filter: blur(18px);
  background: rgba(248,246,241,.92);
  border-bottom: 1px solid rgba(21,59,109,.08);
}
.admin-bar .ohms-header-wrap { top: 32px; }
.ohms-header-wrap .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--ohms-cream);
  padding: 2rem;
}
.ohms-header-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.ohms-header-logo .wp-block-site-logo {
  margin: 0;
}

.ohms-header-logo .custom-logo-link {
  display: flex;
  align-items: center;
}

.ohms-header-logo img,
.ohms-header-logo img.custom-logo {
  display: block;
  width: auto !important;
  height: 72px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain;
}

.ohms-language-switcher { display:flex; gap:.35rem; align-items:center; font-family:Poppins,Aptos,Arial,sans-serif; font-size:.78rem; font-weight:700; }
.ohms-language-switcher a { padding:.45rem .6rem; border:1px solid rgba(21,59,109,.18); border-radius:999px; color:var(--ohms-navy); }
.ohms-language-switcher a.is-active { background:var(--ohms-navy); color:#fff; }

.ohms-puzzle-bg { position: relative; isolation: isolate; overflow: hidden; }
.ohms-puzzle-bg::before {
  content:""; position:absolute; inset:0; z-index:-2;
  background-image:url('../images/puzzle-pattern.svg'); background-size:320px; opacity:.55;
}
.ohms-hero { min-height: 720px; display:flex; align-items:center; }
.ohms-hero::after {
  content:""; position:absolute; width:min(52vw,720px); aspect-ratio:1; right:-10vw; bottom:-20%; z-index:-1;
  border-radius:38% 62% 50% 50% / 52% 40% 60% 48%;
  background:linear-gradient(135deg,rgba(39,196,195,.20),rgba(248,193,25,.18));
  filter:blur(1px); transform:rotate(-8deg);
}
.ohms-eyebrow { letter-spacing:.14em; text-transform:uppercase; font-family:Poppins,Aptos,Arial,sans-serif; font-weight:700; font-size:.78rem; }
.ohms-hero-title { max-width: 12ch; text-wrap: balance; }
.ohms-script { color:var(--ohms-turquoise); font-style:italic; }
.ohms-button-secondary .wp-block-button__link { background:transparent !important; color:var(--ohms-navy) !important; border:2px solid var(--ohms-navy); }

.ohms-section { padding-top:clamp(4rem,8vw,7rem); padding-bottom:clamp(4rem,8vw,7rem); }
.ohms-section-heading { max-width:760px; margin-inline:auto; text-align:center; }
.ohms-card { background:#fff; border:1px solid rgba(21,59,109,.08); border-radius:28px; box-shadow:var(--ohms-card-shadow); overflow:hidden; height:100%; }
.ohms-card > .wp-block-group { height:100%; }
.ohms-card:hover { transform:translateY(-4px); box-shadow:0 22px 55px rgba(21,59,109,.16); }
.ohms-puzzle-card { position:relative; }
.ohms-puzzle-card::after { content:""; width:48px; height:48px; border-radius:50%; position:absolute; right:-24px; top:42%; background:var(--ohms-cream); box-shadow:inset 5px 0 9px rgba(21,59,109,.06); }
.ohms-icon-badge { width:64px; height:64px; border-radius:20px; display:grid; place-items:center; font-size:1.8rem; background:rgba(39,196,195,.12); }

.ohms-timeline-static { position:relative; }
.ohms-timeline-static::before { content:""; position:absolute; top:50%; left:6%; right:6%; height:4px; background:linear-gradient(90deg,var(--ohms-turquoise),var(--ohms-gold)); border-radius:99px; opacity:.55; }
.ohms-timeline-item { position:relative; z-index:1; text-align:center; background:#fff; border-radius:22px; padding:1rem .7rem; box-shadow:0 8px 24px rgba(21,59,109,.09); }
.ohms-timeline-item strong { display:block; font-family:Poppins,Aptos,Arial,sans-serif; }

.ohms-quote-panel { border-radius:36px; position:relative; overflow:hidden; }
.ohms-quote-panel::after { content:"🧩"; position:absolute; right:3%; bottom:-12%; font-size:10rem; opacity:.08; transform:rotate(-12deg); }

.ohms-story-grid .wp-block-post-template { gap:1.5rem; }
.ohms-story-grid .wp-block-post { background:#fff; border-radius:26px; overflow:hidden; box-shadow:var(--ohms-card-shadow); }
.ohms-story-grid .wp-block-post-featured-image img { aspect-ratio:4/3; object-fit:cover; border-radius:0; }
.ohms-story-grid .wp-block-post-title, .ohms-story-grid .wp-block-post-excerpt { padding-inline:1.35rem; }
.ohms-story-grid .wp-block-post-excerpt { padding-bottom:1.2rem; }

.ohms-footer { background:var(--ohms-navy); color:#fff; }
.ohms-footer a, .ohms-footer h2, .ohms-footer h3, .ohms-footer p { color:#fff; }
.ohms-footer-logo img { max-width:180px; filter:drop-shadow(0 4px 15px rgba(0,0,0,.18)); background:#fff; border-radius:24px; padding:.6rem; }

.ohms-prose { max-width:760px; margin-inline:auto; }
.ohms-prose > * + * { margin-top:1.2em; }
.ohms-legal-note { background:#fff4d6; border-left:5px solid var(--ohms-gold); padding:1rem 1.2rem; border-radius:12px; }

.woocommerce ul.products li.product, .wc-block-grid__product {
  background:#fff; border-radius:24px; padding:1rem; box-shadow:var(--ohms-card-shadow); overflow:hidden;
}
.woocommerce ul.products li.product img { border-radius:18px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { border-radius:999px; background:var(--ohms-navy); color:#fff; font-family:Poppins,Aptos,Arial,sans-serif; }

@media (max-width: 900px) {
  .ohms-hero { min-height:auto; }
  .ohms-hero .wp-block-columns { flex-direction:column; }
  .ohms-timeline-static::before { display:none; }
  .ohms-puzzle-card::after { display:none; }
}
@media (max-width: 782px) { .admin-bar .ohms-header-wrap { top:46px; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior:auto !important; transition:none !important; } }
