:root {
  --ov-black: #0a0a0a;
  --ov-bone: #f4f1eb;
  --ov-paper: #e8e4dc;
  --ov-muted: #77736d;
  --ov-oxblood: #7b1728;
  --ov-line: rgba(10, 10, 10, .16);
  --ov-max: 1680px;
  --ov-pad: clamp(18px, 2.4vw, 44px);
  --ov-header: 72px;
  --ov-ease: cubic-bezier(.2,.65,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.onyvel-site {
  margin: 0;
  background: var(--ov-bone);
  color: var(--ov-black);
  font-family: var(--ov-body-font);
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
.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; }

.onyvel-kicker {
  margin: 0 0 14px;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.onyvel-wordmark,
.onyvel-footer__wordmark {
  font-family: var(--ov-heading-font);
  font-weight: 800;
  letter-spacing: .28em;
  text-transform: uppercase;
}

/* Header */
.onyvel-header {
  position: fixed;
  z-index: 1000;
  inset: 0 0 auto;
  color: var(--ov-black);
  transition: background .35s var(--ov-ease), color .35s var(--ov-ease), border-color .35s var(--ov-ease);
  border-bottom: 1px solid transparent;
}
.home .onyvel-header:not(.is-scrolled) { color: #fff; }
.onyvel-header.is-scrolled,
body:not(.home) .onyvel-header {
  background: rgba(244, 241, 235, .94);
  border-bottom-color: var(--ov-line);
  backdrop-filter: blur(14px);
}
.onyvel-header__inner {
  height: var(--ov-header);
  width: min(100%, var(--ov-max));
  margin: auto;
  padding-inline: var(--ov-pad);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
}
.onyvel-brand { justify-self: center; }
.onyvel-wordmark { font-size: 17px; }
.onyvel-brand-link { position:relative; display:block; line-height:0; min-width:110px; min-height:28px; }
.onyvel-logo { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); width:auto; max-width:180px; max-height:28px; transition:opacity .28s var(--ov-ease); }
.onyvel-logo--light { opacity:0; }
.onyvel-logo--dark { opacity:1; }
.home .onyvel-header:not(.is-scrolled) .onyvel-logo--light { opacity:1; }
.home .onyvel-header:not(.is-scrolled) .onyvel-logo--dark { opacity:0; }
.custom-logo-link { display: block; line-height: 0; }
.custom-logo { width: auto; max-height: 26px; }
.onyvel-nav__list { list-style: none; padding: 0; margin: 0; display: flex; align-items: center; gap: clamp(16px, 2vw, 34px); }
.onyvel-nav a, .onyvel-bag { font-size: 11px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.onyvel-nav a { position: relative; }
.onyvel-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1px; background:currentColor; transition:right .25s var(--ov-ease); }
.onyvel-nav a:hover::after { right:0; }
.onyvel-header__actions { justify-self: end; }
.onyvel-bag { display: inline-flex; gap: 8px; align-items: center; }
.onyvel-cart-count { min-width: 18px; height: 18px; border: 1px solid currentColor; border-radius: 99px; display:inline-grid; place-items:center; font-size:9px; line-height:1; }
.onyvel-menu-toggle { display:none; background:transparent; border:0; padding:8px 0; width:28px; color:inherit; }
.onyvel-menu-toggle > span:not(.screen-reader-text) { display:block; height:1px; background:currentColor; margin:6px 0; }

/* Hero */
.onyvel-hero {
  min-height: 100svh;
  position: relative;
  display: flex;
  align-items: end;
  overflow: hidden;
  color: #fff;
  background: var(--ov-black);
}
.onyvel-hero.has-image { background-image: var(--onyvel-hero-image); background-size: cover; background-position: var(--onyvel-hero-position, center center); }
.onyvel-hero__video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--onyvel-hero-position, center center); }
.onyvel-hero__shade { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.10) 35%, rgba(0,0,0,.62) 100%); }
.onyvel-hero__content { position:relative; z-index:2; width:min(100%, var(--ov-max)); margin:auto; padding: calc(var(--ov-header) + 64px) var(--ov-pad) clamp(42px, 7vw, 96px); }
.onyvel-hero h1 { font-family:var(--ov-heading-font); max-width: 970px; margin: 0 0 28px; font-size: clamp(46px, 7vw, 120px); font-weight: 650; line-height: .88; letter-spacing: -.055em; }
.onyvel-hero__placeholder { position:absolute; inset:0; display:grid; place-content:center; text-align:center; opacity:.16; pointer-events:none; }
.onyvel-hero__placeholder span { font-size:11px; letter-spacing:.25em; }
.onyvel-hero__placeholder strong { font-size: clamp(86px, 19vw, 360px); line-height:.85; letter-spacing:-.08em; }
.onyvel-hero__placeholder small { font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.onyvel-button { min-height:48px; padding:0 24px; display:inline-flex; align-items:center; justify-content:center; border:1px solid currentColor; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; transition:background .25s, color .25s; }
.onyvel-button--light { color:#fff; }
.onyvel-button--light:hover { background:#fff; color:var(--ov-black); }
.onyvel-button--dark:hover { background:var(--ov-black); color:var(--ov-bone); }

/* Products on home */
.onyvel-products-section { padding: clamp(72px, 9vw, 150px) var(--ov-pad); max-width: var(--ov-max); margin:auto; }
.onyvel-section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:32px; }
.onyvel-section-head h2 { font-family:var(--ov-heading-font); margin:0; font-size:clamp(34px,4vw,64px); line-height:.95; letter-spacing:-.045em; font-weight:600; }
.onyvel-section-head > a, .onyvel-text-link { font-size:11px; font-weight:650; letter-spacing:.12em; text-transform:uppercase; border-bottom:1px solid currentColor; padding-bottom:4px; }
.onyvel-home-products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(10px,1.25vw,22px); }
.onyvel-home-product__image { display:block; position:relative; background:#dedad2; aspect-ratio:4/5; overflow:hidden; }
.onyvel-home-product--live .onyvel-home-product__image { background:#fff; }
.onyvel-home-product__image img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:clamp(6px,.8vw,14px); transition:transform .7s var(--ov-ease), opacity .45s var(--ov-ease); }
.onyvel-home-product__secondary { opacity:0; }
.onyvel-home-product--live:hover .onyvel-home-product__primary { opacity:0; transform:scale(.985); }
.onyvel-home-product--live:hover .onyvel-home-product__secondary { opacity:1; transform:scale(1.012); }
.onyvel-home-product--live:not(:has(.onyvel-home-product__secondary)):hover .onyvel-home-product__primary { opacity:1; transform:scale(1.018); }
.onyvel-home-product__meta { display:flex; justify-content:space-between; align-items:start; gap:12px; padding-top:13px; }
.onyvel-home-product__meta h3 { margin:3px 0 0; font-size:13px; line-height:1.28; font-weight:500; text-transform:uppercase; }
.onyvel-product-eyebrow { display:block; color:var(--ov-muted); font-size:9px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.onyvel-home-product__meta .price { white-space:nowrap; font-size:12px; }
.onyvel-demo-product { display:grid; place-items:center; background:linear-gradient(145deg,#ddd8cf,#bdb7ad); }
.onyvel-demo-product span { font-size:clamp(48px,8vw,120px); font-weight:700; letter-spacing:-.08em; opacity:.18; }

/* Manifesto */
.onyvel-manifesto { min-height:72svh; background:var(--ov-oxblood); color:#fff; display:flex; flex-direction:column; justify-content:end; padding:clamp(42px,7vw,110px) max(var(--ov-pad), calc((100vw - var(--ov-max))/2 + var(--ov-pad))); }
.onyvel-manifesto h2 { font-family:var(--ov-heading-font); margin:0; font-size:clamp(56px,10vw,170px); line-height:.82; letter-spacing:-.075em; font-weight:650; }
.onyvel-manifesto > p:not(.onyvel-kicker) { margin:28px 0; font-size:clamp(18px,2vw,30px); }
.onyvel-manifesto .onyvel-text-link { align-self:flex-start; }

/* Generic content */
.onyvel-content-shell { width:min(100%, 1180px); margin:auto; min-height:65svh; padding:calc(var(--ov-header) + 90px) var(--ov-pad) 110px; }
.onyvel-entry__title, .onyvel-archive-head h1 { margin:0 0 40px; max-width:1000px; font-size:clamp(48px,7vw,110px); line-height:.9; letter-spacing:-.06em; font-weight:600; }
.onyvel-entry__content { max-width:760px; font-size:clamp(16px,1.2vw,20px); }
.onyvel-entry__content > * + * { margin-top:1.25em; }
.onyvel-entry { padding-bottom:70px; }
.onyvel-error-page { min-height:100svh; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:calc(var(--ov-header) + 40px) var(--ov-pad) 60px; }
.onyvel-error-page h1 { margin:0 0 34px; font-size:clamp(54px,9vw,160px); line-height:.85; letter-spacing:-.07em; }

/* Footer */
.onyvel-footer { background:var(--ov-black); color:var(--ov-bone); padding:70px var(--ov-pad) 24px; }
.onyvel-footer__grid, .onyvel-footer__bottom { width:min(100%, var(--ov-max)); margin:auto; }
.onyvel-footer__grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; min-height:240px; }
.onyvel-footer__wordmark { font-size:22px; }
.onyvel-footer p { color:#aaa59d; }
.onyvel-footer__company { max-width:620px; font-size:10px; text-transform:uppercase; letter-spacing:.08em; line-height:1.6; }
.onyvel-footer ul { list-style:none; margin:0; padding:0; }
.onyvel-footer li + li { margin-top:9px; }
.onyvel-footer__heading { margin-bottom:18px; color:#77736d; font-size:10px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.onyvel-footer__meta ul { list-style:none; margin:0; padding:0; }
.onyvel-footer__links a, .onyvel-footer__meta a { font-size:12px; color:#c9c4bb; }
.onyvel-footer__socials { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; padding-top:22px; border-top:1px solid rgba(255,255,255,.10); }
.onyvel-footer__socials a { margin:0; }
.onyvel-footer__bottom { padding-top:22px; border-top:1px solid rgba(255,255,255,.14); display:flex; justify-content:space-between; gap:20px; color:#77736d; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }

@media (max-width: 900px) {
  :root { --ov-header: 64px; }
  .onyvel-header__inner { grid-template-columns:1fr auto 1fr; }
  .onyvel-menu-toggle { display:block; }
  .onyvel-nav { position:fixed; inset:var(--ov-header) 0 auto; background:var(--ov-bone); color:var(--ov-black); padding:24px var(--ov-pad) 34px; border-top:1px solid var(--ov-line); transform:translateY(-130%); opacity:0; transition:transform .35s var(--ov-ease), opacity .2s; }
  .onyvel-nav.is-open { transform:translateY(0); opacity:1; }
  .onyvel-nav__list { display:block; }
  .onyvel-nav__list li + li { margin-top:17px; }
  .onyvel-nav a { font-size:14px; }
  .onyvel-home-products { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:38px; }
  .onyvel-footer__grid { grid-template-columns:1fr 1fr; }
  .onyvel-footer__grid > :first-child { grid-column:1/-1; }
}

@media (max-width: 560px) {
  .onyvel-wordmark { font-size:14px; letter-spacing:.24em; }
  .onyvel-bag > span:first-child { display:none; }
  .onyvel-hero h1 { font-size:clamp(46px,15vw,74px); }
  .onyvel-hero__content { padding-bottom:34px; }
  .onyvel-section-head { align-items:flex-end; }
  .onyvel-section-head > a { margin-bottom:3px; }
  .onyvel-home-products { gap:9px; row-gap:30px; }
  .onyvel-home-product__meta { display:block; }
  .onyvel-home-product__meta > .price { display:block; margin-top:6px; }
  .onyvel-footer__grid { grid-template-columns:1fr; }
  .onyvel-footer__grid > :first-child { grid-column:auto; }
  .onyvel-footer__bottom { display:block; }
  .onyvel-footer__bottom span { display:block; margin-top:6px; }
}

/* v1.3.1 motion layer — intentionally subtle. */
.onyvel-page-transition { display:none !important; }
.onyvel-ajax-progress { position:fixed; z-index:99999; left:0; right:0; top:0; height:2px; pointer-events:none; opacity:0; transition:opacity .12s ease; }
.onyvel-ajax-progress span { display:block; width:35%; height:100%; background:var(--ov-oxblood); transform:translateX(-120%); }
.onyvel-ajax-progress.is-active { opacity:1; }
.onyvel-ajax-progress.is-active span { animation:onyvel-progress 1s ease-in-out infinite; }
@keyframes onyvel-progress { 50%{ transform:translateX(160vw); } 100%{ transform:translateX(320vw); } }

.onyvel-reveal { opacity:0; transform:translateY(20px); transition:opacity .7s var(--ov-ease) var(--ov-reveal-delay,0ms), transform .7s var(--ov-ease) var(--ov-reveal-delay,0ms); }
.onyvel-reveal.is-revealed { opacity:1; transform:none; }
.onyvel-catalog-loading .onyvel-shop-dynamic { opacity:.42; pointer-events:none; transition:opacity .18s; }

.onyvel-header__actions { display:flex; align-items:center; gap:clamp(14px,1.5vw,26px); }
.onyvel-account-link { font-size:11px; font-weight:650; letter-spacing:.12em; text-transform:uppercase; position:relative; }
.onyvel-account-link::after { content:""; position:absolute; left:0; right:100%; bottom:-6px; height:1px; background:currentColor; transition:right .25s var(--ov-ease); }
.onyvel-account-link:hover::after { right:0; }

.onyvel-demo-product { position:relative; }
.onyvel-demo-product__status { position:absolute; left:16px; bottom:15px; font-size:9px!important; font-weight:700!important; letter-spacing:.16em!important; opacity:.65!important; }
.onyvel-demo-product__number { opacity:.18; }

html.onyvel-drawer-open { overflow:hidden; }
.onyvel-drawer-backdrop { position:fixed; z-index:1998; inset:0; background:rgba(0,0,0,.34); opacity:0; transition:opacity .3s var(--ov-ease); }
.onyvel-drawer-backdrop.is-open { opacity:1; }
.onyvel-drawer__header { min-height:72px; padding:0 24px; border-bottom:1px solid rgba(10,10,10,.14); display:flex; align-items:center; justify-content:space-between; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.onyvel-drawer__close { width:34px; height:34px; border:0; background:transparent; font-size:27px; font-weight:300; line-height:1; cursor:pointer; color:inherit; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
  .onyvel-reveal { opacity:1; transform:none; }
  .onyvel-page-transition { display:none; }
}

@media (max-width: 560px) {
  .onyvel-account-link { display:none; }
}

/* v1.3.4 — mobile commerce header, left navigation drawer & newsletter */
.onyvel-mobile-nav__header,
.onyvel-mobile-nav__utilities,
.onyvel-mobile-nav__socials,
.onyvel-mobile-nav-backdrop {
  display:none;
}

/* Newsletter lives as the first, editorial layer of the footer. */
.onyvel-newsletter {
  width:min(100%, var(--ov-max));
  margin:0 auto 64px;
  padding:clamp(56px,6vw,88px) 0 clamp(54px,6vw,86px);
  border-bottom:1px solid rgba(255,255,255,.14);
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  gap:clamp(44px,7vw,120px);
  align-items:end;
}
.onyvel-newsletter .onyvel-kicker { color:#77736d; }
.onyvel-newsletter__copy h2 {
  max-width:760px;
  margin:8px 0 18px;
  color:var(--ov-bone);
  font-family:var(--ov-heading-font);
  font-size:clamp(44px,5.6vw,82px);
  font-weight:600;
  letter-spacing:-.055em;
  line-height:.9;
}
.onyvel-newsletter__copy > p:not(.onyvel-kicker) {
  max-width:600px;
  margin:0;
  color:#aaa59d;
  font-size:14px;
  line-height:1.6;
}
.onyvel-newsletter__form form,
.onyvel-newsletter__form .mc4wp-form,
.onyvel-newsletter__form #mc_signup { margin:0; }
.onyvel-newsletter__form .mc4wp-form-fields,
.onyvel-newsletter__form .mc_form_inside { margin:0; }
.onyvel-newsletter__form .mc4wp-form-fields > *,
.onyvel-newsletter__form .mc_merge_var,
.onyvel-newsletter__form .mc_signup_submit { margin-top:0; }
.onyvel-newsletter__form #mc_signup_form,
.onyvel-newsletter__form #mc_signup_form fieldset { padding:0; border:0; background:transparent; }
.onyvel-newsletter__form #mc_signup_form .mc_var_label,
.onyvel-newsletter__form #mc_signup_form label { color:#aaa59d; }
.onyvel-newsletter__form label {
  display:block;
  margin:0 0 12px;
  color:#aaa59d;
  font-size:9px;
  font-weight:650;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.onyvel-newsletter__form input[type='email'],
.onyvel-newsletter__form input[type='text'],
.onyvel-newsletter__form input[type='date'],
.onyvel-newsletter__form select,
.onyvel-newsletter__form textarea {
  width:100%;
  min-height:52px;
  padding:12px 0;
  border:0;
  border-bottom:1px solid rgba(244,241,235,.5);
  border-radius:0;
  outline:0;
  background:transparent;
  color:var(--ov-bone);
  box-shadow:none;
  font-size:16px;
}
.onyvel-newsletter__form input::placeholder { color:#77736d; }
.onyvel-newsletter__form input[type='email']:focus,
.onyvel-newsletter__form input[type='text']:focus,
.onyvel-newsletter__form input[type='date']:focus,
.onyvel-newsletter__form select:focus,
.onyvel-newsletter__form textarea:focus { border-bottom-color:var(--ov-bone); }
.onyvel-newsletter__form input[type='submit'],
.onyvel-newsletter__form button[type='submit'] {
  min-height:48px;
  margin-top:16px;
  padding:0 24px;
  border:1px solid var(--ov-bone);
  border-radius:0;
  background:var(--ov-bone);
  color:var(--ov-black);
  cursor:pointer;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:background .2s var(--ov-ease), color .2s var(--ov-ease);
}
.onyvel-newsletter__form input[type='submit']:hover,
.onyvel-newsletter__form button[type='submit']:hover { background:transparent; color:var(--ov-bone); }
.onyvel-newsletter__form input[type='checkbox'] { accent-color:var(--ov-bone); }
.onyvel-newsletter__form .mc4wp-alert,
.onyvel-newsletter__form .mc_error_msg,
.onyvel-newsletter__form .mc_success_msg { margin:16px 0 0; color:#aaa59d; font-size:12px; }
.onyvel-newsletter__form a { color:var(--ov-bone); text-decoration:underline; text-underline-offset:3px; }

@media (max-width: 900px) {
  html.onyvel-menu-open { overflow:hidden; }
  .onyvel-mobile-nav-backdrop[hidden] { display:none!important; }
  .onyvel-mobile-nav-backdrop {
    display:block;
    position:fixed;
    z-index:2000;
    inset:0;
    background:rgba(0,0,0,.36);
    opacity:0;
    transition:opacity .32s var(--ov-ease);
  }
  .onyvel-mobile-nav-backdrop.is-open { opacity:1; }

  /* Override the original drop-down mobile navigation with a left drawer. */
  .onyvel-nav {
    display:grid;
    grid-template-rows:auto 1fr;
    position:fixed;
    z-index:2003;
    inset:0 auto 0 0;
    width:min(440px,88vw);
    height:100dvh;
    padding:0;
    overflow:hidden;
    border:0;
    background:var(--ov-bone);
    color:var(--ov-black);
    box-shadow:20px 0 60px rgba(0,0,0,.13);
    transform:translateX(-102%);
    opacity:1;
    transition:transform .4s var(--ov-ease);
  }
  .onyvel-nav.is-open { transform:none; opacity:1; }
  .onyvel-mobile-nav__header {
    min-height:var(--ov-header);
    padding:0 22px;
    border-bottom:1px solid var(--ov-line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-size:10px;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
  }
  .onyvel-mobile-nav__close {
    width:34px;
    height:34px;
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    cursor:pointer;
    font-size:28px;
    font-weight:300;
    line-height:1;
  }
  .onyvel-mobile-nav__body {
    min-height:0;
    overflow:auto;
    padding:clamp(34px,8vw,54px) 22px 28px;
    display:flex;
    flex-direction:column;
  }
  .onyvel-nav__list { display:block; }
  .onyvel-nav__list li + li { margin-top:22px; }
  .onyvel-nav__list a {
    display:inline-block;
    font-family:var(--ov-heading-font);
    font-size:clamp(30px,8vw,44px);
    font-weight:600;
    letter-spacing:-.035em;
    line-height:.95;
    text-transform:uppercase;
  }
  .onyvel-nav__list a::after { display:none; }
  .onyvel-mobile-nav__utilities {
    display:grid;
    gap:0;
    margin-top:auto;
    padding-top:42px;
  }
  .onyvel-mobile-nav__utilities a {
    min-height:46px;
    border-top:1px solid var(--ov-line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    font-size:10px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .onyvel-mobile-nav__utilities a:last-child { border-bottom:1px solid var(--ov-line); }
  .onyvel-mobile-nav__socials {
    display:flex;
    flex-wrap:wrap;
    gap:14px 18px;
    padding-top:22px;
    color:var(--ov-muted);
  }
  .onyvel-mobile-nav__socials a { font-size:10px; letter-spacing:.08em; text-transform:uppercase; }

  .onyvel-newsletter {
    grid-template-columns:1fr;
    gap:34px;
    margin-bottom:54px;
    padding-top:48px;
}
}

@media (max-width: 560px) {
  /* BAG is important commerce UI: keep the label visible on mobile. */
  .onyvel-bag > span:first-child { display:inline!important; }
  .onyvel-header__actions { gap:8px; }
  .onyvel-bag { gap:6px; font-size:9px; letter-spacing:.11em; }
  .onyvel-cart-count { min-width:17px; height:17px; font-size:8px; }
  .onyvel-brand-link { min-width:96px; }
  .onyvel-logo { max-width:138px; max-height:24px; }
  .onyvel-newsletter__copy h2 { font-size:clamp(42px,14vw,62px); }
  .onyvel-newsletter__form input[type='submit'],
  .onyvel-newsletter__form button[type='submit'] { width:100%; }
}


/* v1.3.7 — Contact / About / trust */
.onyvel-contact-page,
.onyvel-about-page { background:var(--ov-bone); color:var(--ov-black); }
.onyvel-contact-hero {
  width:min(100%,var(--ov-max)); margin:auto; padding:clamp(150px,15vw,230px) var(--ov-pad) clamp(72px,8vw,120px);
  border-bottom:1px solid var(--ov-line);
}
.onyvel-contact-hero h1 { margin:8px 0 24px; font-size:clamp(68px,10vw,154px); line-height:.86; letter-spacing:-.065em; font-weight:600; }
.onyvel-contact-hero > p:last-child { max-width:720px; margin:0; color:var(--ov-muted); font-size:clamp(17px,1.5vw,22px); line-height:1.5; }
.onyvel-contact-grid { width:min(100%,var(--ov-max)); margin:auto; padding:clamp(70px,8vw,125px) var(--ov-pad); display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr); gap:clamp(56px,9vw,150px); }
.onyvel-contact-form h2 { margin:10px 0 clamp(34px,4vw,58px); font-size:clamp(42px,5vw,78px); line-height:.92; letter-spacing:-.055em; font-weight:600; }
.onyvel-contact-details { border-top:1px solid var(--ov-line); }
.onyvel-contact-detail { padding:28px 0; border-bottom:1px solid var(--ov-line); }
.onyvel-contact-detail > a:not(.onyvel-text-link) { display:block; width:max-content; max-width:100%; margin:8px 0; font-size:clamp(18px,1.7vw,25px); letter-spacing:-.025em; }
.onyvel-contact-detail > p:not(.onyvel-kicker) { max-width:520px; margin:8px 0; color:var(--ov-muted); font-size:16px; line-height:1.65; }
.onyvel-contact-map { background:#ddd8cf; line-height:0; overflow:hidden; }
.onyvel-contact-map iframe { display:block; width:100%; height:clamp(390px,48vw,650px); filter:grayscale(1) contrast(.92); opacity:.92; }
.onyvel-contact-fallback { padding:30px; background:#ece8e0; }
.onyvel-contact-fallback small { display:block; margin-top:18px; color:var(--ov-muted); }

/* Contact Form 7 — minimal editorial treatment */
.onyvel-contact-form .wpcf7 form { margin:0; }
.onyvel-contact-form .wpcf7 p { margin:0 0 22px; }
.onyvel-contact-form .wpcf7 label { display:block; font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.onyvel-contact-form .wpcf7-form-control-wrap { display:block; margin-top:9px; }
.onyvel-contact-form .wpcf7 input[type="text"],
.onyvel-contact-form .wpcf7 input[type="email"],
.onyvel-contact-form .wpcf7 input[type="tel"],
.onyvel-contact-form .wpcf7 select,
.onyvel-contact-form .wpcf7 textarea {
  width:100%; border:0; border-bottom:1px solid #aaa59d; border-radius:0; background:transparent; color:var(--ov-black);
  padding:14px 0; font-family:var(--ov-body-font); font-size:16px; outline:0; transition:border-color .2s var(--ov-ease);
}
.onyvel-contact-form .wpcf7 textarea { min-height:150px; resize:vertical; }
.onyvel-contact-form .wpcf7 input:focus,
.onyvel-contact-form .wpcf7 select:focus,
.onyvel-contact-form .wpcf7 textarea:focus { border-bottom-color:var(--ov-black); }
.onyvel-contact-form .wpcf7 input[type="submit"] { min-width:190px; min-height:50px; padding:0 24px; border:1px solid var(--ov-black); border-radius:0; background:var(--ov-black); color:#fff; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; }
.onyvel-contact-form .wpcf7 input[type="submit"]:hover { background:var(--ov-oxblood); border-color:var(--ov-oxblood); }
.onyvel-contact-form .wpcf7-list-item { margin:0; }
.onyvel-contact-form .wpcf7-acceptance label { display:flex; gap:10px; align-items:flex-start; font-size:12px; font-weight:400; letter-spacing:0; text-transform:none; line-height:1.45; }
.onyvel-contact-form .wpcf7-not-valid-tip { margin-top:7px; color:var(--ov-oxblood); font-size:11px; }
.onyvel-contact-form .wpcf7-response-output { margin:24px 0 0!important; padding:14px 16px!important; border:1px solid var(--ov-line)!important; }

.onyvel-about-hero { min-height:88svh; position:relative; display:flex; align-items:flex-end; overflow:hidden; background:var(--ov-black); color:#fff; }
.onyvel-about-hero.has-image { background-image:var(--onyvel-about-image); background-size:cover; background-position:center; }
.onyvel-about-hero__shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.68)); }
.onyvel-about-hero__content { position:relative; z-index:1; width:min(100%,var(--ov-max)); margin:auto; padding:calc(var(--ov-header) + 60px) var(--ov-pad) clamp(60px,8vw,120px); }
.onyvel-about-hero h1 { max-width:1120px; margin:12px 0 0; font-size:clamp(58px,8.3vw,138px); line-height:.88; letter-spacing:-.065em; font-weight:600; }
.onyvel-about-intro { width:min(100%,var(--ov-max)); margin:auto; padding:clamp(90px,10vw,160px) var(--ov-pad); display:grid; grid-template-columns:minmax(150px,.45fr) minmax(0,1.55fr); gap:clamp(50px,8vw,130px); }
.onyvel-about-intro h2 { max-width:1050px; margin:0 0 48px; font-size:clamp(36px,4.5vw,70px); line-height:.98; letter-spacing:-.05em; font-weight:500; }
.onyvel-about-story { max-width:760px; color:#494641; font-size:clamp(16px,1.35vw,19px); line-height:1.7; }
.onyvel-about-story p { margin:0 0 24px; }
.onyvel-about-statement { padding:clamp(80px,9vw,150px) var(--ov-pad); background:var(--ov-black); color:#fff; }
.onyvel-about-statement > * { width:min(100%,var(--ov-max)); margin-left:auto; margin-right:auto; }
.onyvel-about-statement h2 { margin-top:16px; max-width:1300px; font-size:clamp(56px,9vw,150px); line-height:.86; letter-spacing:-.065em; font-weight:600; }
.onyvel-about-image { margin:0; height:min(82vw,980px); background:#ddd8cf; overflow:hidden; }
.onyvel-about-image img { width:100%; height:100%; object-fit:cover; }
.onyvel-about-manifesto { padding:clamp(90px,10vw,160px) var(--ov-pad); background:var(--ov-oxblood); color:#fff; }
.onyvel-about-manifesto > * { max-width:var(--ov-max); margin-left:auto; margin-right:auto; }
.onyvel-about-manifesto h2 { margin-top:16px; font-size:clamp(56px,8vw,130px); line-height:.88; letter-spacing:-.065em; font-weight:600; }
.onyvel-about-manifesto > p:not(.onyvel-kicker) { margin-top:24px; max-width:650px; font-size:clamp(16px,1.4vw,20px); line-height:1.55; }
.onyvel-about-manifesto .onyvel-button { margin-top:28px; }

.onyvel-trust-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:var(--ov-bone); color:var(--ov-black); border-top:1px solid var(--ov-line); border-bottom:1px solid var(--ov-line); }
.onyvel-trust-strip span { min-height:68px; display:grid; place-items:center; padding:18px; border-right:1px solid var(--ov-line); font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; text-align:center; }
.onyvel-trust-strip span:last-child { border-right:0; }

@media (max-width: 820px) {
  .onyvel-contact-grid { grid-template-columns:1fr; }
  .onyvel-about-intro { grid-template-columns:1fr; }
}
@media (max-width: 600px) {
  .onyvel-contact-hero { padding-top:calc(var(--ov-header) + 75px); }
  .onyvel-contact-hero h1 { font-size:clamp(64px,20vw,92px); }
  .onyvel-contact-grid { padding-top:58px; padding-bottom:72px; }
  .onyvel-contact-map iframe { height:390px; }
  .onyvel-about-hero { min-height:78svh; }
  .onyvel-about-hero h1 { font-size:clamp(50px,16vw,76px); }
  .onyvel-about-intro { padding-top:72px; padding-bottom:78px; }
  .onyvel-about-statement h2,
  .onyvel-about-manifesto h2 { font-size:clamp(48px,15vw,76px); }
  .onyvel-trust-strip { grid-template-columns:1fr; }
  .onyvel-trust-strip span { min-height:52px; border-right:0; border-bottom:1px solid var(--ov-line); }
  .onyvel-trust-strip span:last-child { border-bottom:0; }
}
