/* Own Object / September 2026 — warm studio presentation, public pages and editor. */
:root {
  --paper: #f7f4ec; --ink: #173e32; --muted: #5b675f;
  --sage-deep: #173e32; --sage: #9eaf98; --line: #dddcd2;
  --terracotta: #b7664d; --oo-card: #fffdf8; --oo-soft: #eaf0e5;
  --oo-sand: #eee6d9; --oo-card-radius: 12px; --oo-control-radius: 10px;
  --page: clamp(20px, 4vw, 64px); --header-h: 84px;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --condensed: Georgia, "Times New Roman", serif;
}
html { scroll-padding-top: 112px; }
body { color: var(--ink); background: var(--paper); overflow-x: visible; font: 18px/1.6 var(--sans); }
body::before { display: none; }
main { padding-top: 0; }
h1,h2,h3,h4 { text-transform: none; letter-spacing: -.035em; }
h1,h2 { font-family: Georgia,"Times New Roman",serif; font-weight: 400; line-height: 1.08; }
h1 { font-size: clamp(42px,4.8vw,64px); }
h2 { font-size: clamp(32px,3.1vw,44px); }
h3 { font-family: var(--sans); font-size: 23px; font-weight: 650; line-height: 1.28; letter-spacing: -.025em; }
p { overflow-wrap: anywhere; }
a,button { -webkit-tap-highlight-color: transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline: 3px solid #b15435; outline-offset: 5px; }
[hidden] { display: none !important; }
.screen-reader-text { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.js .reveal { opacity: 1; transform: none; }
.site-header,.site-header.is-compact {
  position: sticky; top: 0; inset-inline: 0; height: auto; min-height: 84px;
  grid-template-columns: auto 1fr auto; gap: 24px;
  padding: 14px var(--page); background: rgba(247,244,236,.98);
  backdrop-filter: none; border-bottom: 1px solid var(--line);
}
body.admin-bar .site-header { top: 32px; }
.brand { width: auto; height: auto; padding: 0; border: 0; gap: 11px; justify-content: start; }
.brand-mark { width: 26px; height: 26px; flex: 0 0 26px; gap: 2px; }
.brand-mark i { background: var(--sage-deep); }
.brand-wordmark { color: var(--ink); font: 500 27px/1.1 Georgia,"Times New Roman",serif; letter-spacing: -.9px; white-space: nowrap; }
.brand-wordmark > span { display: block; margin-top: 5px; font: 400 12px/1.4 var(--sans); letter-spacing: .02em; color: var(--muted); }
.brand-logo { width: auto; max-width: 160px; height: 40px; }
.primary-nav { margin: 0; justify-content: center; height: auto; }
.primary-nav > .menu { height: auto; gap: 4px; }
.primary-nav a { font-size: 16px; min-height: 44px; padding: 8px 11px; font-weight: 550; letter-spacing: 0; text-transform: none; }
.primary-nav a::after { display: none; }
.primary-nav a:hover,.primary-nav .current-menu-item a { color: var(--sage-deep); text-decoration: underline; text-underline-offset: 7px; }
.primary-nav a[href$="/customize/"] { padding-inline: 17px; border-radius: var(--oo-control-radius); color: #fff; background: var(--sage-deep); text-decoration: none; }
.primary-nav a[href$="/customize/"]:hover { color: #fff; background: #264f3f; }
.header-status { display: flex; align-items: center; gap: 10px; min-height: 48px; margin: 0; padding: 10px 17px; color: var(--ink); border: 1px solid #a7b2a3; border-radius: var(--oo-control-radius); font-size: 16px; font-weight: 600; letter-spacing: 0; text-transform: none; white-space: nowrap; }
.header-status:hover { background: var(--oo-soft); }
.menu-toggle { display: none; }
.oo-editorial-shell { padding: 0; }
.oo-editorial-article { margin: 0; }
.oo-guide-page,.oo-home-page { width: min(1440px,100%); margin: auto !important; }
.oo-guide-page *, .oo-home-page * { box-sizing: border-box; }
.oo-guide-page .wp-block-group,.oo-home-page .wp-block-group { min-width: 0; }
.oo-guide-page p,.oo-home-page p { margin: 0 0 18px; }
.oo-guide-page h1,.oo-home-page h1,.oo-guide-page h2,.oo-home-page h2,.oo-guide-page h3,.oo-home-page h3 { margin: 0 0 22px; }
.oo-guide-page h1,.oo-home-page h1 { font-size: clamp(42px,4.8vw,64px); font-weight: 400; line-height: 1.08; }
.oo-guide-page h2,.oo-home-page h2 { font-size: clamp(32px,3.1vw,44px); font-weight: 400; line-height: 1.12; }
.oo-guide-page h3,.oo-home-page h3 { font-size: 23px; font-weight: 650; line-height: 1.3; }
.oo-guide-page > *,.oo-home-page > * { margin-block: 0 !important; }
.oo-guide-page .wp-block-columns,.oo-home-page .wp-block-columns { margin: 0; gap: 28px; align-items: stretch; }
.oo-guide-page .wp-block-column,.oo-home-page .wp-block-column { min-width: 0; }
.oo-guide-hero,.oo-home-hero { padding: 40px var(--page); border-bottom: 1px solid var(--line); }
.oo-guide-page > .wp-block-columns.oo-guide-hero { align-items: center; gap: 42px; }
.oo-guide-hero .oo-guide-image img { max-height: 470px; object-fit: contain; }
.oo-guide-section.oo-guide-callout,.oo-guide-section.oo-guide-note { margin: 0; padding: 38px var(--page); border-left: 0; }
.oo-guide-jump { padding: 18px var(--page); border-bottom: 1px solid var(--line); background: var(--oo-soft); }
.oo-guide-jump p { margin: 0; }
.oo-guide-toc { padding: 18px var(--page); margin: 0; border-bottom: 1px solid var(--line); background: var(--oo-soft); font-size: 16px; }
.oo-guide-toc p { margin: 0; }
.oo-home-hero > .wp-block-columns { display: grid; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); align-items: center; gap: 30px; }
.oo-home-hero h1 { max-width: 620px; }
.oo-guide-kicker,.oo-guide-eyebrow { color: #9b4c34; font-size: 14px; line-height: 1.45; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.oo-guide-intro,.oo-guide-lead,.oo-home-intro { max-width: 720px; font-size: 20px; line-height: 1.55; color: var(--muted); }
.oo-guide-status { display: block; width: fit-content; max-width: 100%; padding: 11px 14px; margin-top: 20px !important; border: 1px solid #d5dfce; border-radius: 8px; background: var(--oo-soft); color: #344a3a; font-size: 15px; }
.oo-guide-section { padding: 40px var(--page); border-bottom: 1px solid var(--line); }
.oo-guide-section > h2 { max-width: 890px; }
.oo-guide-section > p { max-width: 850px; }
.oo-guide-section .oo-guide-grid { margin-top: 26px; }
.oo-guide-section > .wp-block-columns { margin-top: 26px; }
.oo-guide-grid .wp-block-column, .oo-guide-card { border: 1px solid var(--line); border-radius: var(--oo-card-radius); background: var(--oo-card); padding: 24px; }
.oo-guide-grid .wp-block-column > .oo-guide-card { padding: 0; background: none; border: 0; }
.oo-guide-card h3,.oo-guide-grid h3 { margin-bottom: 12px; }
.oo-guide-card p:last-child,.oo-guide-grid .wp-block-column > p:last-child { margin-bottom: 0; }
.oo-guide-number { font-size: 14px; letter-spacing: .05em; color: var(--sage-deep); font-weight: 650; }
.oo-guide-page a:not(.wp-block-button__link),.oo-home-page a:not(.wp-block-button__link) { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.oo-guide-page a:hover,.oo-home-page a:hover { color: #9b4c31; }
.oo-guide-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 0; }
.oo-guide-actions .wp-block-button { margin: 0; }
.oo-guide-actions .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px;
  padding: 13px 23px; border: 1px solid var(--sage-deep); border-radius: var(--oo-control-radius);
  background: var(--sage-deep); color: #fff; font-size: 17px; font-weight: 650; line-height: 1.4; text-decoration: none;
}
.oo-guide-actions .is-style-outline .wp-block-button__link { color: var(--sage-deep); background: transparent; }
.oo-guide-actions .wp-block-button__link:hover { background: #153629; color: #fff; }
.oo-guide-page figure,.oo-home-page figure { margin: 0; }
.oo-guide-page .wp-block-image img,.oo-home-page .wp-block-image img {
  width: 100%; max-width: 100%; height: auto; object-fit: contain; object-position: center; transform: none; border-radius: 10px;
}
.oo-guide-page figcaption,.oo-home-page figcaption,.oo-guide-caption { font-size: 14px; line-height: 1.55; color: var(--muted); margin: 10px 0 0; }
.oo-home-hero figure { background: var(--oo-sand); padding: 0; border: 1px solid var(--line); border-radius: var(--oo-card-radius); }
.oo-home-hero figure img { aspect-ratio: 3 / 2; object-fit: contain; border-radius: 11px 11px 0 0; }
.oo-home-hero figcaption { margin: 0; padding: 11px 15px; border-top: 1px solid var(--line); background: var(--oo-card); border-radius: 0 0 11px 11px; }
.oo-home-ledger { padding: 22px var(--page); background: var(--oo-soft); border-bottom: 1px solid #d5dfce; }
.oo-home-ledger .wp-block-columns { gap: 24px; }
.oo-home-ledger h3 { font-size: 19px; margin-bottom: 6px; }
.oo-home-ledger p { font-size: 16px; margin: 0; color: var(--muted); }
.oo-direction-grid { gap: 22px !important; }
.oo-direction-grid .wp-block-column { background: var(--oo-card); border: 1px solid var(--line); border-radius: var(--oo-card-radius); overflow: hidden; }
.oo-direction-grid figure { background: var(--oo-sand); padding: 0; }
.oo-direction-grid figure img { height: 320px !important; object-fit: contain !important; border-radius: 0; }
.oo-direction-grid .oo-direction-copy { padding: 20px; }
.oo-direction-grid h3 { margin: 0 0 10px; font-size: 24px; }
.oo-direction-grid p { font-size: 17px; }
/* Homepage reference cards: one clean frame, with no rounded inner image seams. */
.oo-home-page #inspiration .oo-direction-grid figure { background: var(--oo-card); }
.oo-home-page #inspiration .oo-direction-grid figure img { display: block; border-radius: 0; }
.oo-home-page .oo-home-hero figure { overflow: hidden; }
.oo-home-page .oo-home-hero figure img:only-child { display: block; border-radius: 0; }
.oo-section-heading { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 28px; padding-inline: 0; }
.oo-section-heading h2 { margin-bottom: 0; }
.oo-section-heading > p { margin: 0; font-size: 16px; }
.oo-home-process { color: #f8f5ed; background: var(--sage-deep); }
.oo-home-process .oo-guide-kicker { color: #c5d3b6; }
.oo-home-process > p { color: #d3ddcf; }
.oo-home-process .wp-block-column { padding-top: 17px; border-top: 1px solid #739481; }
.oo-home-process h3 { color: #f8f5ed; font-size: 22px; }
.oo-home-process .oo-guide-number { color: #c5d3b6; }
.oo-home-process p { font-size: 17px; }
.oo-home-process .oo-guide-actions .wp-block-button__link { border-color: #e2e9d9; color: #fff; background: transparent; }
.oo-home-process .oo-guide-actions .wp-block-button__link:hover { background: #12382a; }
.oo-home-detail > .wp-block-columns { align-items: center; gap: 44px; }
.oo-home-detail figure img { max-height: 500px; object-fit: contain; background: var(--oo-sand); }
.oo-detail-line { border-top: 1px solid var(--line); padding-top: 16px; }
.oo-detail-line strong { color: var(--ink); }
.oo-guide-callout,.oo-guide-note { margin: 24px 0; padding: 22px 24px; border-left: 3px solid #78906b; background: var(--oo-soft); }
.oo-guide-callout p:last-child { margin-bottom: 0; }
.oo-guide-page ul,.oo-guide-page ol { padding-left: 24px; margin: 18px 0; }
.oo-guide-page li { margin: 8px 0; }
.oo-guide-steps { counter-reset: oo-step; }
.oo-guide-steps > li { margin: 0; padding: 15px 0; border-bottom: 1px solid var(--line); }
.oo-guide-faq,.oo-home-faq { border: 0; }
.oo-guide-faq details,.oo-guide-page details,.oo-home-faq details {
  padding: 20px 0; border-top: 1px solid var(--line); margin: 0; background: transparent;
}
.oo-guide-page summary,.oo-home-faq summary { cursor: pointer; font-size: 20px; line-height: 1.5; font-weight: 600; padding: 3px 26px 3px 0; }
.oo-guide-page details p,.oo-home-faq details p { max-width: 870px; margin: 15px 0 0; color: var(--muted); font-size: 18px; }
.oo-guide-close { padding: 36px var(--page); background: var(--oo-soft); }
.oo-guide-close h2 { font-size: 35px; }
.oo-reference-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; margin-top: 26px; }
.oo-reference-grid > * { margin: 0 !important; }
.oo-reference-card { background: var(--oo-card); border: 1px solid var(--line); border-radius: var(--oo-card-radius); padding: 16px; }
.oo-reference-card figure img { width: 100%; height: 360px !important; object-fit: contain; background: var(--oo-sand); }
.oo-reference-card h3 { margin: 18px 0 10px; font-size: 23px; }
.oo-reference-card p { font-size: 17px; }
.oo-reference-card figcaption { font-size: 14px; }
.oo-reference-links { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 20px; font-size: 16px; }
.oo-editorial-article .wp-block-image > a { display: block; }
.site-footer { display: grid; grid-template-columns: 1fr 1.15fr 1.3fr; gap: 30px; padding: 38px var(--page) 22px; border-top: 1px solid var(--line); background: #eee9df; }
.site-footer .brand { align-self: start; }
.site-footer nav > .menu { display: grid; grid-template-columns: 1fr 1fr; padding: 0; gap: 10px 24px; }
.site-footer nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 16px; letter-spacing: 0; text-transform: none; }
.site-footer p { font-size: 18px; letter-spacing: 0; text-transform: none; margin: 0 0 12px; }
.footer-contact > a { font-size: 20px; text-decoration: underline; text-underline-offset: 5px; }
.footer-contact small { display: block; font-size: 14px; line-height: 1.6; color: var(--muted); margin-top: 12px; max-width: 420px; }
.footer-bottom { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 30px; border-top: 1px solid #d1d4c9; padding-top: 20px; }
.footer-bottom p { font-size: 14px; margin: 0; color: var(--muted); }
.footer-bottom p:last-child { max-width: 740px; }
.basic-page { padding: 42px var(--page) 70px; min-height: 60svh; }
.basic-page__inner { width: min(1280px,100%); }
.basic-page__content { color: var(--ink); }
.basic-page__title { font-size: clamp(38px,5vw,62px); }
.oo-request--closed { margin: 0; }
.oo-request__intro h1 { font-size: clamp(36px,4vw,55px); line-height: 1.1; }
.oo-request__closed-panel h2 { font-size: 31px; }
.oo-request__closed-actions { gap: 16px; }
@media (min-width: 901px) {
  .oo-guide-hero > .wp-block-columns { align-items: center; gap: 44px; }
  .oo-guide-hero .oo-guide-image img { max-height: 460px; object-fit: contain; }
}
@media (max-width: 1100px) {
  .site-header { gap: 12px; }
  .primary-nav a { padding-inline: 8px; }
  .brand-wordmark { font-size: 24px; }
  .header-status { padding: 9px 11px; }
  .oo-direction-grid figure img { height: 280px !important; }
}
@media (max-width: 900px) {
  .site-header,.site-header.is-compact { grid-template-columns: 1fr auto auto; padding: 14px 20px; min-height: 76px; gap: 16px; }
  .header-status { grid-column: 2; grid-row: 1; font-size: 15px; }
  .menu-toggle { grid-column: 3; grid-row: 1; border: 1px solid #a7b2a3; border-radius: var(--oo-control-radius); padding: 9px 12px; width: auto; height: auto; min-height: 48px; font-size: 15px; background: transparent; gap: 0; }
  .menu-toggle i { display: none; }
  .oo-menu-ready .menu-toggle { display: flex; }
  .primary-nav { position: static; inset: auto; grid-column: 1 / -1; grid-row: 2; display: block; visibility: visible; opacity: 1; transform: none; pointer-events: auto; width: 100%; height: auto; margin: 0; padding: 0; background: transparent; }
  .primary-nav > .menu { display: flex; flex-wrap: wrap; gap: 4px 16px; justify-content: start; }
  .primary-nav a { font-size: 16px; padding: 7px 4px; min-height: 44px; }
  .oo-guide-hero,.oo-home-hero { padding-block: 32px; }
  .oo-guide-section { padding-block: 38px; }
  .oo-home-hero > .wp-block-columns { gap: 24px; }
  .oo-home-hero h1 { font-size: clamp(40px,5.8vw,56px); }
  .oo-reference-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-footer { grid-template-columns: 1fr 1fr; }
  .footer-contact { grid-column: 1 / -1; }
}
@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}
@media (max-width: 781px) {
  .oo-home-hero > .wp-block-columns { grid-template-columns: minmax(0,1fr); }
  .oo-home-hero h1 { max-width: 580px; }
  .oo-home-hero figure { max-width: 650px; }
  .oo-guide-page .wp-block-columns,.oo-home-page .wp-block-columns { gap: 20px; }
  .oo-home-ledger .wp-block-columns { flex-direction: row; flex-wrap: nowrap !important; gap: 18px; }
  .oo-home-ledger .wp-block-column { flex-basis: 0 !important; flex-grow: 1; }
  .oo-home-ledger h3 { font-size: 18px; }
  .oo-home-ledger p { font-size: 15px; }
  .oo-direction-grid figure img { height: auto !important; max-height: 420px; }
  .oo-direction-grid .wp-block-column { display: grid; grid-template-columns: minmax(120px,.75fr) 1.25fr; align-items: center; }
  .oo-home-process .wp-block-columns { display: grid; grid-template-columns: 1fr 1fr; }
  .oo-home-detail figure img { max-height: 450px; }
}
@media (max-width: 600px) {
  body.admin-bar .site-header { top: 0; }
}
@media (max-width: 520px) {
  .site-header,.site-header.is-compact { gap: 10px; padding-inline: 16px; }
  .brand-wordmark { font-size: 22px; }
  .brand-wordmark > span { font-size: 12px; }
  .brand-mark { width: 21px; height: 21px; flex-basis: 21px; }
  .header-status { font-size: 14px; padding: 8px; gap: 4px; }
  .menu-toggle { font-size: 14px; padding: 8px; }
  .oo-guide-section,.oo-guide-hero,.oo-home-hero,.oo-home-ledger,.oo-guide-close { padding-inline: 20px; }
  .oo-home-hero h1 { font-size: 42px; }
  .oo-guide-intro,.oo-guide-lead,.oo-home-intro { font-size: 19px; }
  .oo-guide-status { font-size: 15px; }
  .oo-direction-grid .wp-block-column { display: block; }
  .oo-direction-grid figure img { height: 340px !important; }
  /* Natural proportions remove the fixed-height bands without cropping people or bases. */
  .oo-home-page #inspiration .oo-direction-grid figure img {
    height: auto !important; max-height: none;
  }
  .oo-home-ledger .wp-block-columns { display: grid; grid-template-columns: 1fr; gap: 14px; }
  .oo-home-ledger .wp-block-column { padding-left: 13px; border-left: 2px solid #9cac8f; }
  .oo-home-ledger h3 { font-size: 18px; margin-bottom: 3px; }
  .oo-home-ledger p { font-size: 16px; }
  .oo-home-process .wp-block-columns { grid-template-columns: 1fr; }
  .oo-guide-card,.oo-guide-grid .wp-block-column { padding: 21px; }
  .oo-reference-grid { grid-template-columns: 1fr; }
  .oo-reference-card figure img { height: 360px !important; }
  .site-footer { grid-template-columns: 1fr; padding: 32px 20px 22px; }
  .site-footer nav > .menu { gap: 12px 20px; }
  .oo-guide-actions .wp-block-button { width: 100%; }
  .oo-guide-actions .wp-block-button__link { width: 100%; }
}
@media (max-width: 360px) {
  .brand-mark { display: none; }
  .brand-wordmark { font-size: 21px; }
  .site-header,.site-header.is-compact { gap: 8px; padding-inline: 12px; }
  .oo-home-hero h1 { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation: none !important; transition: none !important; }
}
@media print {
  .site-header,.site-footer,.oo-guide-actions,.skip-link { display: none; }
  body { color: #000; background: #fff; }
  .oo-guide-section,.oo-home-hero,.oo-guide-hero { padding: 20px 0; }
  .oo-guide-page details > * { display: block; }
  .oo-home-process { color: #000; background: #fff; }
  .oo-home-process h3 { color: #000; }
}
/*
 * Own Object — B / Soft Pop homepage candidate, 2026-09-07.
 * Appended to site-refresh.css. This file changes presentation only.
 * Every selector is limited to the homepage; account and form assets are untouched.
 * Native block contract: .oo-soft-pop-home wraps the .oo-b-* sections.
 * Direction cards use a figure followed by a .oo-b-card-copy group.
 */

body.home .oo-soft-pop-home {
  --oo-b-paper: #fbf8f2;
  --oo-b-ink: #103f34;
  --oo-b-muted: #40584f;
  --oo-b-peach: #ffdacb;
  --oo-b-blue: #e3eef4;
  --oo-b-yellow: #ffedc9;
  --oo-b-line: #d8ddd4;
  --oo-b-accent: #bc593a;
  --oo-b-font: "Manrope", ui-rounded, "Avenir Next", "Trebuchet MS", system-ui, sans-serif;
  box-sizing: border-box;
  width: min(1440px, 100%);
  max-width: 100%;
  margin-inline: auto;
  padding: 12px clamp(16px, 2.2vw, 32px) 28px;
  color: var(--oo-b-ink);
  background: var(--oo-b-paper);
  font: 18px/1.55 var(--oo-b-font);
}

body.home .oo-soft-pop-home *,
body.home .oo-soft-pop-home *::before,
body.home .oo-soft-pop-home *::after { box-sizing: border-box; }

body.home .oo-soft-pop-home > * { margin-block: 0 !important; }
body.home .oo-soft-pop-home > * + * { margin-top: 24px !important; }
body.home .oo-soft-pop-home .wp-block-group,
body.home .oo-soft-pop-home .wp-block-column { min-width: 0; }
body.home .oo-soft-pop-home .wp-block-columns { margin: 0; gap: 20px; }

body.home .oo-soft-pop-home h1,
body.home .oo-soft-pop-home h2,
body.home .oo-soft-pop-home h3,
body.home .oo-soft-pop-home h4 {
  margin: 0 0 16px;
  color: var(--oo-b-ink);
  font-family: var(--oo-b-font);
  font-weight: 800;
  letter-spacing: -.035em;
  text-transform: none;
  overflow-wrap: normal;
  word-break: normal;
}
body.home .oo-soft-pop-home h1 { font-size: clamp(42px, 4.7vw, 66px); line-height: 1.08; }
body.home .oo-soft-pop-home h2 { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.15; }
body.home .oo-soft-pop-home h3 { font-size: clamp(22px, 1.9vw, 27px); line-height: 1.2; }
body.home .oo-soft-pop-home h4 { font-size: 21px; line-height: 1.25; }
body.home .oo-soft-pop-home p { margin: 0 0 14px; font-size: 18px; line-height: 1.55; }
body.home .oo-soft-pop-home p:last-child { margin-bottom: 0; }
body.home .oo-soft-pop-home a { color: var(--oo-b-ink); text-underline-offset: 4px; }
body.home .oo-soft-pop-home a:not(.wp-block-button__link) { text-decoration: underline; }
body.home .oo-soft-pop-home a:hover { color: #813e2b; }
body.home .oo-soft-pop-home a:focus-visible,
body.home .oo-soft-pop-home summary:focus-visible { outline: 3px solid #a34427; outline-offset: 4px; }

body.home .oo-soft-pop-home .oo-guide-kicker,
body.home .oo-soft-pop-home .oo-guide-eyebrow,
body.home .oo-soft-pop-home .oo-b-eyebrow {
  margin-bottom: 14px;
  color: #a4492e;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.45;
  letter-spacing: .035em;
  text-transform: uppercase;
}
body.home .oo-soft-pop-home .oo-guide-caption,
body.home .oo-soft-pop-home .oo-b-note,
body.home .oo-soft-pop-home figcaption {
  margin-top: 10px;
  color: var(--oo-b-muted);
  font-size: 14px;
  line-height: 1.55;
}
body.home .oo-soft-pop-home figure { margin: 0; border: 0; background: transparent; }
body.home .oo-soft-pop-home .wp-block-image img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  border-radius: 16px;
  transform: none;
}

/* Existing native buttons retain their destinations and keyboard behaviour. */
body.home .oo-soft-pop-home .oo-guide-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
}
body.home .oo-soft-pop-home .oo-guide-actions .wp-block-button { margin: 0; }
body.home .oo-soft-pop-home .oo-guide-actions .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 13px 24px;
  border: 1px solid var(--oo-b-ink);
  border-radius: 14px;
  background: var(--oo-b-ink);
  color: #fffdf8;
  font: 750 18px/1.4 var(--oo-b-font);
  text-decoration: none;
  text-align: center;
}
body.home .oo-soft-pop-home .oo-guide-actions .is-style-outline .wp-block-button__link {
  background: transparent;
  color: var(--oo-b-ink);
}
body.home .oo-soft-pop-home .oo-guide-actions .wp-block-button__link:hover {
  background: #215747;
  border-color: #215747;
  color: #fff;
}

/* 01 — A compact, complete-figure hero rather than a cropped cover. */
body.home .oo-soft-pop-home .oo-b-hero {
  padding: clamp(26px, 3.5vw, 48px);
  border: 0;
  border-radius: 30px;
  background: linear-gradient(115deg, #ffd6c5 0%, #ffe8db 100%);
}
body.home .oo-soft-pop-home .oo-b-hero.wp-block-columns,
body.home .oo-soft-pop-home .oo-b-hero > .wp-block-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  align-items: center;
  gap: 24px;
}
body.home .oo-soft-pop-home .oo-b-hero h1 { max-width: 640px; }
body.home .oo-soft-pop-home .oo-b-hero p { max-width: 540px; }
body.home .oo-soft-pop-home .oo-b-hero .wp-block-image img {
  height: auto;
  max-height: 470px;
  aspect-ratio: auto;
  object-fit: contain;
  border-radius: 18px;
}
body.home .oo-soft-pop-home .oo-b-hero figcaption { padding: 0; border: 0; background: transparent; text-align: right; }
body.home .oo-soft-pop-home .oo-b-hero .oo-b-note { margin-top: 17px; }

/* 02 — Three genuine studio benefits, kept short and readable. */
body.home .oo-soft-pop-home .oo-b-ledger {
  padding: 22px 24px;
  border: 0;
  border-radius: 22px;
  background: #f5efe5;
}
body.home .oo-soft-pop-home .oo-b-ledger.wp-block-columns,
body.home .oo-soft-pop-home .oo-b-ledger > .wp-block-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
body.home .oo-soft-pop-home .oo-b-ledger .wp-block-column + .wp-block-column { padding-left: 24px; border-left: 1px solid #d7d6cd; }
body.home .oo-soft-pop-home .oo-b-ledger h3 { margin-bottom: 7px; font-size: 19px; }
body.home .oo-soft-pop-home .oo-b-ledger p { color: var(--oo-b-muted); font-size: 16px; line-height: 1.5; }

/* 03 — The three editorial direction cards. */
body.home .oo-soft-pop-home .oo-b-directions { padding: 12px 0 0; border: 0; background: transparent; }
body.home .oo-soft-pop-home .oo-b-directions > h2,
body.home .oo-soft-pop-home .oo-b-directions > p { max-width: none; text-align: center; }
body.home .oo-soft-pop-home .oo-b-directions.wp-block-columns,
body.home .oo-soft-pop-home .oo-b-directions > .wp-block-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 20px !important;
  margin-top: 20px;
}
body.home .oo-soft-pop-home .oo-b-person,
body.home .oo-soft-pop-home .oo-b-together,
body.home .oo-soft-pop-home .oo-b-milestone {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 16px 20px 22px;
  border: 0;
  border-radius: 24px;
  background: var(--oo-b-yellow);
}
body.home .oo-soft-pop-home .oo-b-together { background: var(--oo-b-blue); }
body.home .oo-soft-pop-home .oo-b-milestone { background: var(--oo-b-peach); }
body.home .oo-soft-pop-home .oo-b-directions figure { width: 100%; background: transparent; }
body.home .oo-soft-pop-home .oo-b-directions figure img {
  width: 100%;
  height: clamp(320px, 25vw, 350px) !important;
  max-height: 350px;
  object-fit: contain !important;
  object-position: center;
  border-radius: 16px;
}
body.home .oo-soft-pop-home .oo-b-card-copy { display: flex; flex: 1; flex-direction: column; align-items: center; padding: 12px 0 0; text-align: center; }
body.home .oo-soft-pop-home .oo-b-card-copy h3 { margin: 0 0 10px; }
body.home .oo-soft-pop-home .oo-b-card-copy p { font-size: 17px; }
body.home .oo-soft-pop-home .oo-b-card-copy .oo-guide-actions { justify-content: center; margin-top: auto; padding-top: 14px; }
body.home .oo-soft-pop-home .oo-b-card-copy .wp-block-button__link { min-height: 48px; padding: 10px 17px; font-size: 16px; }

/* 04 — Readable four-step overview, no decorative content or state injection. */
body.home .oo-soft-pop-home .oo-b-process { padding: 16px 0 0; border: 0; color: var(--oo-b-ink); background: transparent; }
body.home .oo-soft-pop-home .oo-b-process > h2,
body.home .oo-soft-pop-home .oo-b-process > p { max-width: none; text-align: center; }
body.home .oo-soft-pop-home .oo-b-process.wp-block-columns,
body.home .oo-soft-pop-home .oo-b-process > .wp-block-columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 20px;
}
body.home .oo-soft-pop-home .oo-b-process .wp-block-column {
  padding: 20px;
  border: 1px solid #e8c9b8;
  border-radius: 18px;
  background: #fffaf4;
}
body.home .oo-soft-pop-home .oo-b-process .wp-block-column:nth-child(2) { border-color: #e6d2a8; background: #fffaf0; }
body.home .oo-soft-pop-home .oo-b-process .wp-block-column:nth-child(3) { border-color: #bfd1dc; background: #f4f8fa; }
body.home .oo-soft-pop-home .oo-b-process .wp-block-column:nth-child(4) { border-color: #bfcec3; background: #f5f8f2; }
body.home .oo-soft-pop-home .oo-b-process h3 { margin-bottom: 9px; color: var(--oo-b-ink); font-size: 21px; }
body.home .oo-soft-pop-home .oo-b-process .oo-guide-number { margin-bottom: 10px; color: var(--oo-b-ink); font-size: 24px; font-weight: 800; }
body.home .oo-soft-pop-home .oo-b-process .wp-block-column p:not(.oo-guide-number) { color: var(--oo-b-muted); font-size: 16px; line-height: 1.5; }
body.home .oo-soft-pop-home .oo-b-process > .oo-guide-actions { justify-content: center; }

/* 05 — Actual equipment and an explicitly illustrative private-space panel. */
body.home .oo-soft-pop-home .oo-b-features { padding: 8px 0 0; border: 0; background: transparent; }
body.home .oo-soft-pop-home .oo-b-features.wp-block-columns,
body.home .oo-soft-pop-home .oo-b-features > .wp-block-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 20px;
}
body.home .oo-soft-pop-home .oo-b-equipment,
body.home .oo-soft-pop-home .oo-b-space {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 30px;
  border: 0;
  border-radius: 24px;
  background: #f6eddf;
}
body.home .oo-soft-pop-home .oo-b-space { background: var(--oo-b-blue); }
body.home .oo-soft-pop-home .oo-b-features h2 { font-size: clamp(30px, 2.7vw, 39px); }
body.home .oo-soft-pop-home .oo-b-features figure { width: 100%; margin-top: 16px; }
body.home .oo-soft-pop-home .oo-b-features figure img { height: 310px; max-height: 310px; object-fit: contain; border-radius: 16px; background: transparent; }
body.home .oo-soft-pop-home .oo-b-features .oo-guide-actions { margin-top: auto; padding-top: 18px; }
body.home .oo-soft-pop-home .oo-b-space figcaption { text-align: center; }
body.home .oo-soft-pop-home .oo-b-reference-example {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: center;
  gap: 18px;
  margin-top: 14px;
  padding: 18px;
  border: 1px solid #c3d5de;
  border-radius: 18px;
  background: #f8fbfc;
}
body.home .oo-soft-pop-home .oo-b-reference-example figure { margin: 0; }
body.home .oo-soft-pop-home .oo-b-reference-example figure img { height: 270px; }
body.home .oo-soft-pop-home .oo-b-reference-copy h3 { font-size: 22px; }
body.home .oo-soft-pop-home .oo-b-reference-copy p { font-size: 16px; }

/* Keep existing disclosure/FAQ content present, but not oversized. */
body.home .oo-soft-pop-home .oo-b-faq { padding: 22px 0 0; border: 0; background: transparent; }
body.home .oo-soft-pop-home .oo-b-faq h2 { margin-bottom: 16px; }
body.home .oo-soft-pop-home .oo-b-faq details { margin: 0; padding: 16px 0; border-top: 1px solid var(--oo-b-line); background: transparent; }
body.home .oo-soft-pop-home .oo-b-faq summary { padding: 4px 24px 4px 0; color: var(--oo-b-ink); font: 750 20px/1.45 var(--oo-b-font); cursor: pointer; }
body.home .oo-soft-pop-home .oo-b-faq details p { max-width: 960px; margin-top: 14px; color: var(--oo-b-muted); font-size: 18px; }

/* 06 — A clear final entry point, never a simulated checkout. */
body.home .oo-soft-pop-home .oo-b-cta {
  padding: 30px 34px;
  border: 0;
  border-radius: 26px;
  background: linear-gradient(105deg, #ffd8c9, #ffedc6);
}
body.home .oo-soft-pop-home .oo-b-cta > .wp-block-columns { align-items: center; gap: 24px; }
body.home .oo-soft-pop-home .oo-b-cta h2 { margin-bottom: 10px; font-size: clamp(30px, 2.7vw, 39px); }
body.home .oo-soft-pop-home .oo-b-cta .oo-guide-actions { margin-top: 12px; }

/* Homepage-only shell typography/colour. Keep navigation layout and logic intact. */
body.home .site-header {
  background: #fbf8f2;
  border-bottom-color: #e5dfd4;
}
body.home .site-header .brand-wordmark,
body.home .site-footer .brand-wordmark {
  color: #103f34;
  font-family: "Manrope", ui-rounded, "Avenir Next", "Trebuchet MS", system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: -.04em;
}
body.home .site-header .primary-nav a,
body.home .site-header .header-status,
body.home .site-header .menu-toggle { font-family: "Manrope", ui-rounded, "Avenir Next", "Trebuchet MS", system-ui, sans-serif; font-weight: 700; }
body.home .site-header .primary-nav a[href$="/customize/"] { border-radius: 14px; background: #103f34; }
body.home .site-header .primary-nav a[href$="/customize/"]:hover { background: #215747; }
body.home .site-header .header-status { border-radius: 14px; }
body.home .site-footer { background: #f5efe5; border-top-color: #e5dfd4; }

@media (max-width: 1100px) {
  body.home .oo-soft-pop-home .oo-b-hero { padding: 30px; }
  body.home .oo-soft-pop-home .oo-b-hero h1 { font-size: clamp(42px, 5vw, 57px); }
  body.home .oo-soft-pop-home .oo-b-hero .wp-block-image img { height: auto; }
  body.home .oo-soft-pop-home .oo-b-directions figure img { height: 320px !important; }
  body.home .oo-soft-pop-home .oo-b-process .wp-block-column { padding: 17px; }
}

@media (max-width: 900px) {
  body.home .oo-soft-pop-home .oo-b-hero.wp-block-columns,
  body.home .oo-soft-pop-home .oo-b-hero > .wp-block-columns { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body.home .oo-soft-pop-home .oo-b-hero h1 { max-width: 700px; font-size: clamp(42px, 6vw, 58px); }
  body.home .oo-soft-pop-home .oo-b-hero .wp-block-image img { height: auto; max-height: 340px; }
  body.home .oo-soft-pop-home .oo-b-process.wp-block-columns,
  body.home .oo-soft-pop-home .oo-b-process > .wp-block-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.home .oo-soft-pop-home .oo-b-equipment,
  body.home .oo-soft-pop-home .oo-b-space { padding: 24px; }
}

@media (max-width: 781px) {
  body.home .oo-soft-pop-home { padding: 10px 18px 22px; }
  body.home .oo-soft-pop-home > * + * { margin-top: 20px !important; }
  body.home .oo-soft-pop-home .oo-b-ledger.wp-block-columns,
  body.home .oo-soft-pop-home .oo-b-ledger > .wp-block-columns { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  body.home .oo-soft-pop-home .oo-b-ledger { padding: 20px; }
  body.home .oo-soft-pop-home .oo-b-ledger .wp-block-column + .wp-block-column { padding: 14px 0 0; border-left: 0; border-top: 1px solid #d7d6cd; }
  body.home .oo-soft-pop-home .oo-b-directions.wp-block-columns,
  body.home .oo-soft-pop-home .oo-b-directions > .wp-block-columns { grid-template-columns: minmax(0, 1fr); gap: 16px !important; }
  body.home .oo-soft-pop-home .oo-b-person,
  body.home .oo-soft-pop-home .oo-b-together,
  body.home .oo-soft-pop-home .oo-b-milestone {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(145px, 1.1fr);
    align-items: center;
    gap: 12px;
    padding: 16px 18px;
  }
  body.home .oo-soft-pop-home .oo-b-directions figure { grid-column: 2; grid-row: 1; }
  body.home .oo-soft-pop-home .oo-b-directions figure img { height: 260px !important; max-height: 260px; object-fit: contain !important; }
  body.home .oo-soft-pop-home .oo-b-card-copy { grid-column: 1; grid-row: 1; display: flex; align-items: flex-start; padding: 0; text-align: left; }
  body.home .oo-soft-pop-home .oo-b-card-copy .oo-guide-actions { margin-top: 8px; padding-top: 0; }
  body.home .oo-soft-pop-home .oo-b-card-copy .wp-block-button { width: auto; }
  body.home .oo-soft-pop-home .oo-b-card-copy .wp-block-button__link { width: auto; padding-inline: 14px; }
  body.home .oo-soft-pop-home .oo-b-features.wp-block-columns,
  body.home .oo-soft-pop-home .oo-b-features > .wp-block-columns { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  body.home .oo-soft-pop-home .oo-b-features figure img { height: 260px; max-height: 260px; }
  body.home .oo-soft-pop-home .oo-b-cta { padding: 26px; }
  body.home .oo-soft-pop-home .oo-b-cta > .wp-block-columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
}

@media (max-width: 520px) {
  body.home .oo-soft-pop-home { padding-inline: 14px; }
  body.home .oo-soft-pop-home h1 { font-size: 42px; }
  body.home .oo-soft-pop-home h2 { font-size: 30px; }
  body.home .oo-soft-pop-home h3 { font-size: 22px; }
  body.home .oo-soft-pop-home .oo-b-hero { padding: 24px 20px 16px; border-radius: 24px; }
  body.home .oo-soft-pop-home .oo-b-hero h1 { font-size: 42px; }
  body.home .oo-soft-pop-home .oo-b-hero .wp-block-image img { height: auto; max-height: 260px; }
  body.home .oo-soft-pop-home .oo-guide-actions { gap: 10px; }
  body.home .oo-soft-pop-home .oo-guide-actions .wp-block-button__link { font-size: 17px; }
  body.home .oo-soft-pop-home .oo-b-ledger h3 { font-size: 18px; }
  body.home .oo-soft-pop-home .oo-b-directions > h2,
  body.home .oo-soft-pop-home .oo-b-process > h2 { font-size: 29px; }
  body.home .oo-soft-pop-home .oo-b-person,
  body.home .oo-soft-pop-home .oo-b-together,
  body.home .oo-soft-pop-home .oo-b-milestone { grid-template-columns: minmax(0, .94fr) minmax(136px, 1.06fr); gap: 8px; padding: 15px; border-radius: 21px; }
  body.home .oo-soft-pop-home .oo-b-directions figure img { height: 220px !important; max-height: 240px; }
  body.home .oo-soft-pop-home .oo-b-card-copy h3 { font-size: 22px; }
  body.home .oo-soft-pop-home .oo-b-card-copy p { font-size: 16px; line-height: 1.5; }
  body.home .oo-soft-pop-home .oo-b-card-copy .wp-block-button__link { min-height: 46px; padding: 10px 12px; font-size: 16px; }
  body.home .oo-soft-pop-home .oo-b-process.wp-block-columns,
  body.home .oo-soft-pop-home .oo-b-process > .wp-block-columns { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  body.home .oo-soft-pop-home .oo-b-process .wp-block-column { padding: 17px 19px; }
  body.home .oo-soft-pop-home .oo-b-process .oo-guide-number { margin-bottom: 7px; font-size: 23px; }
  body.home .oo-soft-pop-home .oo-b-process h3 { font-size: 21px; }
  body.home .oo-soft-pop-home .oo-b-equipment,
  body.home .oo-soft-pop-home .oo-b-space { padding: 23px 20px; border-radius: 22px; }
  body.home .oo-soft-pop-home .oo-b-features figure img { height: 240px; max-height: 260px; }
  body.home .oo-soft-pop-home .oo-b-reference-example { gap: 12px; padding: 12px; }
  body.home .oo-soft-pop-home .oo-b-reference-copy h3 { font-size: 21px; }
  body.home .oo-soft-pop-home .oo-b-faq summary { font-size: 19px; }
  body.home .oo-soft-pop-home .oo-b-cta { padding: 24px 20px; text-align: center; }
  body.home .oo-soft-pop-home .oo-b-cta .oo-guide-actions { justify-content: center; }
  body.home .site-header .brand-wordmark { font-size: 22px; }
}

@media (max-width: 360px) {
  body.home .oo-soft-pop-home { padding-inline: 12px; }
  body.home .oo-soft-pop-home .oo-b-hero { padding-inline: 17px; }
  body.home .oo-soft-pop-home .oo-b-hero h1 { font-size: 38px; }
  body.home .oo-soft-pop-home .oo-b-person,
  body.home .oo-soft-pop-home .oo-b-together,
  body.home .oo-soft-pop-home .oo-b-milestone { grid-template-columns: minmax(0, 1fr) minmax(118px, 1fr); padding: 14px; gap: 8px; }
  body.home .oo-soft-pop-home .oo-b-directions figure img { height: 210px !important; }
  body.home .oo-soft-pop-home .oo-b-card-copy h3 { font-size: 21px; }
  body.home .site-header .brand-wordmark { font-size: 21px; }
}

@media print {
  body.home .oo-soft-pop-home { width: 100%; padding: 0; background: #fff; color: #000; }
  body.home .oo-soft-pop-home .oo-b-hero,
  body.home .oo-soft-pop-home .oo-b-ledger,
  body.home .oo-soft-pop-home .oo-b-person,
  body.home .oo-soft-pop-home .oo-b-together,
  body.home .oo-soft-pop-home .oo-b-milestone,
  body.home .oo-soft-pop-home .oo-b-equipment,
  body.home .oo-soft-pop-home .oo-b-space,
  body.home .oo-soft-pop-home .oo-b-cta { background: #fff; border: 1px solid #bbb; }
}
/* Remote preview polish: readable weight and narrow-phone navigation. */
body.home .oo-soft-pop-home h1,
body.home .oo-soft-pop-home h2,
body.home .oo-soft-pop-home h3,
body.home .oo-soft-pop-home h4 { font-weight: 700; }
body.home .oo-soft-pop-home .oo-guide-actions .wp-block-button__link,
body.home .oo-soft-pop-home .oo-b-faq summary { font-weight: 650; }
body.home .site-header .brand-wordmark,
body.home .site-footer .brand-wordmark { font-weight: 700; }
body.home .site-header .primary-nav a,
body.home .site-header .header-status,
body.home .site-header .menu-toggle { font-weight: 600; }
@media (max-width: 520px) {
  body.home .oo-soft-pop-home .oo-b-process .wp-block-column {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    column-gap: 12px;
    align-content: start;
  }
  body.home .oo-soft-pop-home .oo-b-process .oo-guide-number { grid-column: 1; grid-row: 1 / 3; }
  body.home .oo-soft-pop-home .oo-b-process .wp-block-column h3,
  body.home .oo-soft-pop-home .oo-b-process .wp-block-column p:not(.oo-guide-number) { grid-column: 2; }
}
@media (max-width: 360px) {
  body.home .site-header, body.home .site-header.is-compact { padding-inline: 10px; gap: 6px; }
  body.home .site-header .brand-wordmark { font-size: 18px; }
  body.home .site-header .brand-wordmark > span { font-size: 10px; }
  body.home .site-header .header-status { font-size: 12px; min-height: 44px; padding: 7px; gap: 3px; }
  body.home .site-header .menu-toggle { font-size: 12px; min-height: 44px; padding: 8px; }
}
