.oursdecoeur-theme { background: var(--bg-base); }
.o2c-redesign {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(circle at 18% 8%, rgba(232, 112, 144, 0.08), transparent 28rem),
    radial-gradient(circle at 78% 18%, rgba(212, 148, 60, 0.07), transparent 24rem),
    var(--bg-base);
  color: var(--text-body);
  font-family: var(--font-body);
}
.o2c-grain {
  position: fixed;
  inset: 0;
  z-index: 60;
  pointer-events: none;
  opacity: 0.035;
  mix-blend-mode: overlay;
  background-image: radial-gradient(circle, rgba(255,255,255,0.25) 1px, transparent 1px);
  background-size: 4px 4px;
}
.o2c-shell { width: min(var(--site-max), calc(100% - 40px)); margin-inline: auto; }
.o2c-shell-narrow { width: min(980px, calc(100% - 40px)); margin-inline: auto; }
.o2c-section { padding-block: clamp(72px, 9vw, 150px); }
.o2c-section-tight { padding-block: clamp(44px, 6vw, 92px); }
.o2c-hero { padding-top: clamp(128px, 14vw, 180px); padding-bottom: clamp(56px, 9vw, 112px); }
.o2c-grid-2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 78px); align-items: center; }
.o2c-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.o2c-grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.o2c-measure { max-width: 62ch; }
.o2c-center { text-align: center; }
.o2c-center .o2c-measure { margin-inline: auto; }
.o2c-kicker, .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 15px;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  color: var(--text-muted);
  background: rgba(39,34,32,0.62);
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
}
.o2c-kicker::before, .eyebrow .dot { content: ''; width: 6px; height: 6px; border-radius: 999px; background: var(--accent-amber); box-shadow: 0 0 0 3px rgba(212,148,60,.14); }
.o2c-title {
  margin: 22px 0 0;
  color: var(--text-primary);
  font-family: var(--font-display);
  font-size: clamp(2.55rem, 1.55rem + 4.35vw, 5.2rem);
  line-height: 1.02;
  font-weight: 600;
  letter-spacing: -0.015em;
}
.o2c-title-small { font-size: clamp(2rem, 1.35rem + 2.6vw, 3.8rem); line-height: 1.08; }
.o2c-title em, .o2c-accent { color: var(--accent-rose-text); font-style: italic; }
.o2c-lead { margin: 24px 0 0; color: var(--text-body); font-size: clamp(1.08rem, 1rem + .45vw, 1.25rem); line-height: 1.75; }
.o2c-script { font-family: var(--font-script); color: var(--accent-rose-text); font-size: clamp(1.45rem, 1rem + 1.3vw, 2.15rem); line-height: 1.4; }
.o2c-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 34px; }
.btn-primary, .btn-ghost, .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 13px 21px;
  border-radius: 999px;
  font-weight: 650;
  line-height: 1;
  transition: transform 220ms var(--ease-soft), background 220ms var(--ease-soft), border-color 220ms var(--ease-soft), color 220ms var(--ease-soft);
}
.btn-primary, .wp-block-button__link {
  color: #fff8f9;
  background: linear-gradient(180deg, #B83B5E, #92354E);
  border: 1px solid rgba(244,160,176,.22);
  box-shadow: 0 14px 24px -20px #000;
}
.btn-primary:hover, .wp-block-button__link:hover { transform: translateY(-1px); background: linear-gradient(180deg, #C44A6C, #A33C58); }
.btn-ghost { color: var(--accent-rose-text); background: rgba(58,32,40,.2); border: 1px solid rgba(232,112,144,.48); }
.btn-ghost:hover { transform: translateY(-1px); background: rgba(58,32,40,.65); border-color: rgba(244,160,176,.7); }
.link-soft { color: var(--text-primary); border-bottom: 1px solid rgba(244,160,176,.4); padding-bottom: 2px; }
.link-soft:hover { color: var(--accent-rose-text); border-color: var(--accent-rose-text); }
.o2c-site-header {
  position: fixed;
  top: 0;
  inset-inline: 0;
  z-index: 50;
  border-bottom: 1px solid transparent;
  transition: background 260ms var(--ease-soft), border-color 260ms var(--ease-soft), backdrop-filter 260ms var(--ease-soft);
}
.admin-bar .o2c-site-header { top: 32px; }
.o2c-site-header.is-stuck { background: rgba(20,17,16,.88); border-color: rgba(74,64,58,.55); backdrop-filter: blur(16px) saturate(140%); }
.o2c-nav-inner { width: min(var(--site-max), calc(100% - 40px)); margin-inline: auto; padding-block: 15px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.o2c-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--text-primary); font-family: var(--font-display); font-size: 1.15rem; }
.o2c-brand img { width: 36px; height: 36px; object-fit: contain; filter: drop-shadow(0 1px 2px rgba(0,0,0,.3)); }
.o2c-nav { display: flex; align-items: center; gap: 30px; color: var(--text-body); font-size: .94rem; }
.o2c-nav-link { position: relative; padding-block: 8px; }
.o2c-nav-link:hover, .o2c-nav-link.is-active { color: var(--text-primary); }
.o2c-nav-link.is-active::after { content: ''; position: absolute; left: 0; right: 0; bottom: 1px; height: 1px; background: var(--accent-rose); }
.o2c-menu-toggle { display: none; width: 44px; height: 44px; border-radius: 999px; border: 1px solid var(--border-soft); background: transparent; color: var(--text-primary); align-items: center; justify-content: center; }
.o2c-menu-lines { position: relative; display: block; width: 20px; height: 15px; }
.o2c-menu-lines span { position: absolute; left: 0; right: 0; height: 2px; border-radius: 2px; background: currentColor; transition: transform 260ms var(--ease-soft); }
.o2c-menu-lines span:first-child { top: 2px; }
.o2c-menu-lines span:last-child { bottom: 2px; }
.o2c-menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
.o2c-menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
.o2c-mobile-menu { position: fixed; inset: 0; z-index: 45; background: rgba(20,17,16,.94); backdrop-filter: blur(30px); opacity: 0; pointer-events: none; transition: opacity 280ms var(--ease-soft); }
.o2c-mobile-menu.open { opacity: 1; pointer-events: auto; }
.o2c-mobile-panel { width: min(430px, calc(100% - 48px)); margin: 0 auto; padding-top: 112px; }
.o2c-mobile-panel a { display: block; padding: 13px 0; color: var(--text-primary); font-family: var(--font-display); font-size: 1.85rem; }
.o2c-trust { border-block: 1px solid rgba(74,64,58,.58); display: grid; grid-template-columns: repeat(4, 1fr); }
.o2c-stat { padding: 24px; border-left: 1px solid rgba(74,64,58,.42); }
.o2c-stat:first-child { border-left: 0; }
.o2c-stat strong { display: block; color: var(--text-primary); font-family: var(--font-display); font-size: 1.7rem; font-weight: 600; }
.o2c-stat span { display: block; margin-top: 3px; color: var(--text-muted); font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; }
.bezel, .o2c-card {
  background: var(--bg-elev-1);
  border: 1px solid rgba(74,64,58,.55);
  border-radius: var(--radius-soft);
  padding: 6px;
  box-shadow: var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,.04);
}
.bezel-inner, .o2c-card-inner { background: var(--bg-base); border-radius: var(--radius-inner); padding: clamp(20px, 3vw, 30px); }
.o2c-card h3, .o2c-card h4 { margin: 0; color: var(--text-primary); font-family: var(--font-display); font-size: clamp(1.25rem, 1rem + .65vw, 1.75rem); }
.o2c-card p { margin: 12px 0 0; color: var(--text-body); }
.o2c-card-kicker { color: var(--accent-amber); font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; }
.img-frame, .gallery-card {
  display: block;
  padding: 6px;
  border-radius: 18px;
  background: var(--bg-elev-1);
  border: 1px solid rgba(74,64,58,.56);
  box-shadow: var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,.04);
  transition: transform 320ms var(--ease-soft), border-color 320ms var(--ease-soft);
}
.img-frame:hover, .gallery-card:hover { transform: translateY(-2px); border-color: rgba(244,160,176,.42); }
.img-frame img, .gallery-card img { display: block; width: 100%; border-radius: 12px; object-fit: cover; }
.caption, .img-caption { display: block; padding: 12px 6px 4px; color: var(--text-muted); font-family: var(--font-script); font-size: 1.18rem; line-height: 1.35; }
.step-vignette {
  position: relative;
  padding: 10px;
  border-radius: 18px;
  background: #F3E8DC;
  border: 1px solid rgba(184,59,94,.2);
  box-shadow: 0 32px 60px -34px rgba(0,0,0,.75);
}
.step-vignette img { width: 100%; height: 100%; object-fit: contain; border-radius: 10px; mix-blend-mode: multiply; }
.step-stamp { position: absolute; right: 18px; bottom: 14px; color: rgba(184,59,94,.78); font-family: var(--font-script); font-size: 1.45rem; transform: rotate(-6deg); }
.step-stamp small { display: block; color: rgba(74,64,58,.65); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .56rem; letter-spacing: .18em; text-transform: uppercase; }
.timeline-line { background: linear-gradient(180deg, transparent, rgba(74,64,58,.86), transparent); width: 1px; min-height: 90px; margin-inline: auto; }
.o2c-step { display: grid; grid-template-columns: 70px 1fr minmax(260px, 420px); gap: 30px; align-items: center; margin-top: 56px; }
.o2c-step-icon { width: 54px; height: 54px; border: 1px solid var(--border-soft); border-radius: 999px; display: grid; place-items: center; color: var(--accent-rose-text); background: var(--bg-elev-1); font-family: var(--font-display); }
.o2c-faq { border-top: 1px solid rgba(74,64,58,.65); }
.accordion-item { border-bottom: 1px solid rgba(74,64,58,.65); }
.accordion-header { width: 100%; padding: 22px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: transparent; border: 0; color: var(--text-primary); text-align: left; font-family: var(--font-display); font-size: 1.26rem; }
.accordion-panel { max-height: 0; overflow: hidden; opacity: 0; transition: max-height 260ms var(--ease-soft), opacity 260ms var(--ease-soft); }
.accordion-item.open .accordion-panel { opacity: 1; }
.accordion-body { margin: 0; padding-bottom: 22px; color: var(--text-body); }
.o2c-footer { margin-top: 90px; background: var(--bg-deep); }
.o2c-footer-inner { width: min(var(--site-max), calc(100% - 40px)); margin-inline: auto; padding: 64px 0 42px; }
.o2c-footer-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 36px; }
.o2c-footer h3 { margin: 0 0 18px; color: var(--text-muted); font: 700 .68rem/1 var(--font-body); letter-spacing: .18em; text-transform: uppercase; }
.o2c-footer p, .o2c-footer li, .o2c-footer a { color: var(--text-body); font-size: .92rem; }
.o2c-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.o2c-footer a:hover { color: var(--accent-rose-text); }
.o2c-footer-bottom { margin-top: 48px; padding-top: 22px; border-top: 1px solid rgba(74,64,58,.45); display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; color: var(--text-muted); font-size: .75rem; }
.field-label { display: block; margin: 0 0 8px; color: var(--text-primary); font-weight: 650; }
.field-help { display: block; margin-top: 6px; color: var(--text-muted); font-size: .82rem; }
.field-input, .field-textarea, .field-select { width: 100%; border: 1px solid var(--border-strong); border-radius: 10px; background: var(--bg-elev-2); color: var(--text-primary); padding: 14px 15px; }
.field-textarea { min-height: 135px; resize: vertical; }
.field-input::placeholder, .field-textarea::placeholder { color: var(--text-subtle); }
.field-error { border-color: var(--accent-rose) !important; box-shadow: 0 0 0 3px rgba(232,112,144,.18); }
.tunnel-progress { display: flex; align-items: center; gap: 8px; max-width: 430px; }
.progress-dot { width: 10px; height: 10px; border-radius: 999px; background: var(--border-soft); }
.progress-dot.done { background: var(--accent-rose); }
.progress-dot.active { background: var(--accent-rose-text); transform: scale(1.24); }
.progress-line { flex: 1; height: 1px; background: var(--border-soft); }
.progress-line.done { background: var(--accent-rose); }
.tunnel-step { display: none; }
.tunnel-step.active { display: block; }
.option-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.option-card { display: block; cursor: pointer; }
.option-card input { position: absolute; opacity: 0; pointer-events: none; }
.option-shell { border: 1px solid var(--border-soft); border-radius: 14px; padding: 4px; background: var(--bg-elev-1); }
.option-core { min-height: 100%; border-radius: 10px; padding: 12px; background: var(--bg-base); text-align: center; }
.option-card input:checked + .option-shell { border-color: var(--accent-rose-text); box-shadow: 0 0 0 3px rgba(244,160,176,.14); }
.drop-zone { border: 1px dashed var(--border-strong); border-radius: 16px; padding: 28px; text-align: center; background: rgba(39,34,32,.42); }
.drop-zone.drag-over { border-color: var(--accent-rose-text); background: rgba(58,32,40,.45); }
.soft-banner { border: 1px solid rgba(244,160,176,.24); border-radius: 16px; padding: 16px; background: rgba(58,32,40,.38); }
.hidden { display: none !important; }
.flex { display: flex !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.coverflow { position: relative; display: flex; align-items: center; gap: 14px; }
.coverflow-viewport { flex: 1; overflow: hidden; padding: 34px 0; mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 88%, transparent 100%); }
.coverflow-track { display: flex; gap: 20px; padding: 0 50%; transition: transform 520ms var(--ease-soft); }
.coverflow-item { flex: 0 0 auto; width: clamp(180px, 26vw, 300px); aspect-ratio: 4/5; border-radius: 18px; overflow: hidden; border: 1px solid rgba(74,64,58,.55); background: #F3E8DC; opacity: .55; transform: scale(.82); filter: brightness(.7); transition: all 420ms var(--ease-soft); }
.coverflow-item img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; filter: grayscale(1); }
.coverflow-item.is-active { opacity: 1; transform: scale(1.08); filter: none; border-color: rgba(244,160,176,.6); box-shadow: 0 0 0 3px rgba(244,160,176,.18); }
.coverflow-item.is-active img, .coverflow-item:hover img { filter: none; }
.coverflow-nav { width: 46px; height: 46px; border-radius: 999px; border: 1px solid rgba(255,255,255,.1); color: var(--text-primary); background: rgba(39,34,32,.85); display: grid; place-items: center; }
.coverflow-meta { text-align: center; margin-top: 20px; }
.featured-counter-inline { color: var(--accent-amber); font: 700 .74rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .22em; text-transform: uppercase; }
.featured-name { margin: 12px 0 0; color: var(--text-primary); font-family: var(--font-display); font-size: clamp(1.8rem, 2.4vw, 2.4rem); }
.featured-ctx { margin: 6px 0 0; color: var(--text-body); }
.masonry { column-count: 3; column-gap: 24px; }
.masonry > * { break-inside: avoid; margin-bottom: 24px; }
[data-reveal], [data-reveal-group] > * { opacity: 1; transform: translateY(18px); filter: none; transition: transform 640ms var(--ease-soft); }
[data-reveal].is-visible, [data-reveal-group] > .is-visible { opacity: 1; transform: translateY(0); filter: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
  [data-reveal], [data-reveal-group] > * { opacity: 1; transform: none; filter: none; }
}
@media (max-width: 980px) {
  .o2c-nav, .o2c-nav-cta { display: none; }
  .o2c-menu-toggle { display: inline-flex; }
  .o2c-grid-2, .o2c-grid-3, .o2c-grid-4, .o2c-footer-grid, .o2c-step { grid-template-columns: 1fr; }
  .o2c-trust { grid-template-columns: repeat(2, 1fr); }
  .o2c-stat:nth-child(odd) { border-left: 0; }
  .masonry { column-count: 2; }
}
/* Design fidelity pass: restore the tactile atelier feel from the source prototype. */
.o2c-hero-home .o2c-kicker {
  color: #C9B8A8;
  border-color: rgba(155, 137, 121, .7);
  background: rgba(39, 34, 32, .82);
}
.o2c-hero-home .o2c-title em {
  color: #FFB7C6;
  text-shadow: 0 1px 18px rgba(232, 112, 144, .12);
}
.o2c-hero-home .o2c-lead {
  color: #E8DCCE;
}
.o2c-hero-home .o2c-lead strong {
  color: #FFF3EA;
  font-weight: 760;
}
.o2c-hero-home .o2c-proof {
  color: #C9B8A8;
}
.o2c-hero-home .hero-caption {
  color: #C7B5A5;
}
.o2c-redesign::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(42rem 24rem at 9% 19%, rgba(232,112,144,.045), transparent 62%),
    radial-gradient(36rem 28rem at 88% 10%, rgba(212,148,60,.045), transparent 66%);
}
.o2c-hero-home .o2c-grid-2 {
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
  gap: clamp(48px, 5vw, 72px);
  align-items: end;
}
.o2c-hero-home .o2c-title { max-width: 8.8em; }
.o2c-hero-home .o2c-lead { max-width: 58ch; }
.o2c-hero-visual { position: relative; justify-self: end; width: min(100%, 560px); }
.hero-frame {
  transform: rotate(-1.2deg);
  border-radius: 20px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 36px 82px -40px rgba(0,0,0,.88),
    0 0 0 1px rgba(255,255,255,.025);
}
.hero-frame img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center 34%; }
.hero-caption {
  display: block;
  max-width: 19rem;
  margin: 26px 1.25rem 0 auto;
  text-align: right;
  color: var(--text-muted);
}
.o2c-proof {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 34px;
  color: var(--text-muted);
  font-size: .88rem;
}
.o2c-proof p { margin: 0; }
.o2c-proof-avatars { display: flex; margin-left: 2px; }
.o2c-proof-avatars img {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid rgba(74,64,58,.9);
  box-shadow: 0 8px 18px -12px rgba(0,0,0,.8);
  margin-left: -9px;
}
.o2c-proof-avatars img:first-child { margin-left: 0; }
.btn-primary, .btn-ghost, .wp-block-button__link {
  min-height: 54px;
  padding: 13px 16px 13px 24px;
  gap: 12px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.1),
    0 18px 34px -24px rgba(0,0,0,.85);
}
.btn-bubble {
  width: 31px;
  height: 31px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  background: rgba(255,255,255,.12);
  color: inherit;
  transition: transform 260ms var(--ease-expo), background 260ms var(--ease-soft);
}
.btn-ghost .btn-bubble { background: rgba(255,255,255,.08); }
.btn-primary:hover .btn-bubble,
.btn-ghost:hover .btn-bubble { transform: translate(2px, -1px); background: rgba(255,255,255,.2); }
.o2c-occasions .o2c-measure { margin-bottom: clamp(46px, 6vw, 86px); }
.o2c-occasions .o2c-grid-4 {
  column-gap: clamp(30px, 3vw, 44px);
  row-gap: clamp(54px, 5vw, 78px);
  align-items: start;
}
.o2c-grid-2 + .o2c-grid-3 { margin-top: clamp(42px, 5vw, 72px); }
.o2c-occasions .o2c-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}
.o2c-occasions .o2c-card:nth-child(even) { margin-top: clamp(44px, 4vw, 68px); }
.o2c-occasions .o2c-card-inner {
  background: transparent;
  padding: clamp(30px, 3vw, 42px) 4px 0;
  border-radius: 0;
}
.o2c-occasions .o2c-card h3 { font-size: clamp(1.32rem, 1.05rem + .85vw, 2rem); line-height: 1.12; }
.o2c-occasions .o2c-card p { font-size: .98rem; line-height: 1.58; }
.o2c-occasions .img-frame img { aspect-ratio: 4 / 5; object-fit: cover; }
.img-frame, .gallery-card {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 32px 76px -36px rgba(0,0,0,.82);
}
.img-frame:hover, .gallery-card:hover {
  transform: translateY(-4px) rotate(.15deg);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.07),
    0 42px 90px -38px rgba(0,0,0,.88),
    0 12px 32px -24px rgba(184,59,94,.42);
}
.o2c-card-kicker { color: var(--accent-amber); }
/* Shared inner-page rhythm: mirror the more generous homepage spacing. */
.o2c-redesign > .o2c-hero:not(.o2c-hero-home) {
  padding-bottom: clamp(70px, 8vw, 122px);
}
.o2c-redesign > .o2c-hero:not(.o2c-hero-home) + .o2c-section,
.o2c-redesign > .o2c-hero:not(.o2c-hero-home) + .o2c-section-tight {
  padding-top: clamp(54px, 6vw, 92px);
}
.o2c-redesign > .o2c-section + .o2c-section,
.o2c-redesign > .o2c-section + .o2c-section-tight,
.o2c-redesign > .o2c-section-tight + .o2c-section,
.o2c-redesign > .o2c-section-tight + .o2c-section-tight {
  padding-top: clamp(68px, 7vw, 118px);
}
.o2c-grid-2 { gap: clamp(48px, 6.5vw, 96px); }
.o2c-grid-3 {
  column-gap: clamp(30px, 3vw, 44px);
  row-gap: clamp(42px, 4vw, 64px);
}
.o2c-grid-4 {
  column-gap: clamp(30px, 3vw, 44px);
  row-gap: clamp(54px, 5vw, 78px);
}
.o2c-step {
  column-gap: clamp(42px, 5vw, 76px);
  row-gap: clamp(32px, 4vw, 56px);
  margin-top: clamp(70px, 7vw, 104px);
}
.o2c-step:first-child { margin-top: 0; }
.o2c-step .step-vignette { justify-self: end; width: min(100%, 420px); }
.o2c-step p,
.o2c-shell-narrow > p,
.bezel-inner > p { max-width: 68ch; line-height: 1.72; }
.o2c-grid-2 > .step-vignette,
.o2c-grid-2 > .bezel,
.o2c-grid-2 > .img-frame { width: min(100%, 560px); }
.o2c-grid-2 > .step-vignette:last-child,
.o2c-grid-2 > .bezel:last-child,
.o2c-grid-2 > .img-frame:last-child { justify-self: end; }
.bezel-inner > .img-frame,
.o2c-card-inner > .img-frame { margin-top: clamp(30px, 3vw, 44px); }
.img-frame + p,
.step-vignette + p,
iframe + p { margin-top: clamp(24px, 2.5vw, 34px); }
.coverflow { margin-top: clamp(26px, 4vw, 58px); }
.coverflow-viewport { padding-block: clamp(42px, 5vw, 76px); }
.coverflow-track { gap: clamp(24px, 3vw, 44px); }
.coverflow-meta { margin-top: clamp(30px, 3vw, 46px); }
.masonry { column-gap: clamp(30px, 3vw, 44px); }
.masonry > * { margin-bottom: clamp(30px, 3vw, 44px); }
.tunnel-step > .o2c-lead + .o2c-grid-2,
.tunnel-step > .o2c-grid-2 { margin-top: clamp(38px, 4vw, 62px); }
.tunnel-step .o2c-grid-2 {
  column-gap: clamp(56px, 6vw, 104px);
  row-gap: clamp(42px, 5vw, 68px);
  align-items: start;
}
.tunnel-step .field-label { margin-top: clamp(24px, 2.4vw, 34px); }
.tunnel-step .field-label:first-child,
.tunnel-step .option-grid + .field-label { margin-top: 0; }
.tunnel-step .o2c-actions { margin-top: clamp(42px, 4vw, 64px); }
.option-grid { gap: clamp(18px, 2vw, 26px); }
.option-core { padding: clamp(14px, 1.8vw, 20px); }
.drop-zone { margin-top: clamp(34px, 4vw, 56px) !important; }
.o2c-footer { margin-top: 112px; }
@media (min-width: 981px) {
  .o2c-site-header:not(.is-stuck) .o2c-nav-inner { padding-top: 18px; }
}
@media (max-width: 980px) {
  .o2c-hero-home .o2c-grid-2 { grid-template-columns: 1fr; align-items: start; }
  .o2c-hero-visual { justify-self: start; width: min(100%, 520px); }
  .o2c-occasions .o2c-card:nth-child(even) { margin-top: 0; }
  .o2c-grid-2 > .step-vignette,
  .o2c-grid-2 > .bezel,
  .o2c-grid-2 > .img-frame,
  .o2c-step .step-vignette { justify-self: start; width: min(100%, 560px); }
  .o2c-step { margin-top: clamp(58px, 9vw, 84px); }
}
@media (max-width: 640px) {
  body { font-size: 16px; }
  .admin-bar .o2c-site-header { top: 46px; }
  .o2c-shell, .o2c-shell-narrow, .o2c-nav-inner, .o2c-footer-inner { width: min(100% - 28px, var(--site-max)); }
  .o2c-title { font-size: clamp(2.35rem, 14vw, 3.4rem); }
  .o2c-hero { padding-top: 112px; }
  .o2c-redesign > .o2c-hero:not(.o2c-hero-home) { padding-bottom: 72px; }
  .o2c-redesign > .o2c-section,
  .o2c-redesign > .o2c-section-tight { padding-block: 72px; }
  .o2c-grid-2,
  .o2c-grid-3,
  .o2c-grid-4 { row-gap: 46px; }
  .o2c-trust, .option-grid { grid-template-columns: 1fr; }
  .o2c-stat { border-left: 0; border-top: 1px solid rgba(74,64,58,.42); text-align: center; }
  .o2c-stat:first-child { border-top: 0; }
  .masonry { column-count: 1; }
  .coverflow { gap: 6px; }
  .coverflow-nav { width: 40px; height: 40px; }
  .hero-frame { transform: rotate(-.5deg); }
  .hero-caption { text-align: left; margin-left: 8px; margin-right: 0; }
  .o2c-proof { align-items: flex-start; gap: 14px; }
  .btn-primary, .btn-ghost, .wp-block-button__link { width: 100%; justify-content: space-between; }
}