/* YJO Core Site v1. All presentation rules are scoped away from the frozen Homepage. */
.yjo-inner {
  --ip-ink: var(--yjo-green, #123f38); --ip-muted: #5f6e65;
  --ip-line: #d8dfd7; --ip-stone: #eeeee8; --ip-paper: #f8f7f2;
  --ip-radius: 10px; --ip-gap: 24px;
  color: var(--ip-ink); background: var(--ip-paper); padding-bottom: 64px;
  font-size: 16px; line-height: 1.55;
}
.yjo-inner *, .yjo-inner *::before, .yjo-inner *::after { box-sizing: border-box; min-width: 0; }
.yjo-inner [hidden] { display: none !important; }
.yjo-inner .ip-container { width: min(1320px, calc(100% - 80px)); margin: auto; }
.yjo-inner h1, .yjo-inner h2, .yjo-inner h3, .yjo-inner p { margin-top: 0; }
.yjo-inner h1 { font-size: clamp(38px, 4vw, 60px); line-height: 1.04; letter-spacing: -.055em; margin-bottom: 20px; }
.yjo-inner h2 { font-size: clamp(27px, 2.6vw, 38px); line-height: 1.15; letter-spacing: -.04em; margin-bottom: 16px; }
.yjo-inner h3 { font-size: 23px; letter-spacing: -.025em; line-height: 1.25; margin-bottom: 12px; }
.yjo-inner p { color: var(--ip-muted); margin-bottom: 20px; }
.yjo-inner a { text-underline-offset: 4px; }
.yjo-inner a:hover { text-decoration: underline; }
.yjo-inner img { display: block; width: 100%; height: 100%; object-fit: cover; }
.yjo-inner [id] { scroll-margin-top: 95px; }
.yjo-inner .ip-breadcrumb { display: flex; gap: 12px; align-items: center; font-size: 12px; padding: 24px 0; color: var(--ip-muted); }
.yjo-inner .ip-kicker { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #627a6d; margin-bottom: 12px; }
.yjo-inner .ip-hero { background: var(--ip-stone); border-radius: var(--ip-radius); overflow: hidden; }
.yjo-inner .ip-hero-copy { padding: 46px 48px; max-width: 860px; }
.yjo-inner .ip-hero-image { display: grid; grid-template-columns: 1.2fr 1fr; }
.yjo-inner .ip-hero-image .ip-hero-copy { padding-block: 42px; align-self: center; }
.yjo-inner .ip-hero-photo { min-height: 285px; position: relative; }
.yjo-inner .ip-hero-photo img { position: absolute; inset: 0; object-position: 74% center; }
.yjo-inner .ip-lede { font-size: 18px; max-width: 48ch; margin-bottom: 0; }
.yjo-inner .ip-section { padding-block: 52px; }
.yjo-inner .ip-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 24px; }
.yjo-inner .ip-section-heading h2 { margin-bottom: 0; }
.yjo-inner .ip-section-heading > p { max-width: 34ch; margin: 0; font-size: 14px; }
.yjo-inner .ip-chips { display: flex; flex-wrap: wrap; gap: 10px; padding: 24px 0; border-bottom: 1px solid var(--ip-line); }
.yjo-inner .ip-chip, .yjo-inner .ip-chips > a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 18px; border: 1px solid var(--ip-line); border-radius: 6px; font-size: 14px; font-weight: 600; background: #fff; }
.yjo-inner .ip-chip.is-active { color: #fff; background: var(--ip-ink); border-color: var(--ip-ink); }
.yjo-inner .ip-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 46px; padding: 12px 20px; border: 1px solid var(--ip-ink); border-radius: 6px; background: var(--ip-ink); color: #fff; font: inherit; font-size: 14px; font-weight: 650; cursor: pointer; }
.yjo-inner .ip-button:hover { background: #20584a; text-decoration: none; }
.yjo-inner .pdp-app-module { display:grid; grid-template-columns:minmax(0,1fr) 132px; gap:24px; align-items:center; margin-top:30px; padding:24px; background:var(--ip-stone); border-radius:var(--ip-radius); }
.yjo-inner .pdp-app-module h3 { margin:0 0 8px; font-size:22px; }
.yjo-inner .pdp-app-module p:not(.ip-kicker) { max-width:54ch; margin:0 0 16px; }
.yjo-inner .pdp-app-module small { display:block; margin-top:10px; color:var(--ip-muted); font-size:12px; }
.yjo-inner .pdp-app-qr { width:132px; height:132px; }
.yjo-inner .app-qr-pending { display:grid; place-items:center; align-content:center; text-align:center; border:1px solid var(--ip-line); background:#fff; color:var(--ip-ink); font-size:10px; font-weight:750; letter-spacing:.1em; line-height:1.4; }
.yjo-inner .ip-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; font-weight: 650; }
.yjo-inner .ip-note { font-size: 13px; line-height: 1.5; }
.yjo-inner .ip-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--ip-gap); }
.yjo-inner .ip-product-card { border: 1px solid var(--ip-line); border-radius: var(--ip-radius); overflow: hidden; background: #fff; }
.yjo-inner .ip-product-image { aspect-ratio: 4/3; position: relative; background: #e8e9e2; }
.yjo-inner .ip-product-image img { object-position: 74% center; }
.yjo-inner .ip-product-card:not(.ip-preview-card) .ip-product-image img { object-fit: contain; padding: 22px; }
.yjo-inner .ip-badge { position: absolute; top: 14px; left: 14px; background: #fff; color: var(--ip-ink); border-radius: 4px; padding: 5px 9px; font-size: 11px; letter-spacing: .04em; }
.yjo-inner .ip-image-pending { display: grid; place-items: center; height: 100%; color: var(--ip-muted); font-size: 14px; }
.yjo-inner .ip-card-body { padding: 24px; }
.yjo-inner .ip-card-body > p { font-size: 15px; }
.yjo-inner .ip-card-body .ip-kicker { font-size: 11px; }
.yjo-inner .ip-card-body .ip-note { font-size: 13px; }
.yjo-inner .ip-card-body > :last-child { margin-bottom: 0; }
.yjo-inner .ip-preview-card { grid-column: span 2; display: grid; grid-template-columns: 1fr 1fr; }
.yjo-inner .ip-preview-card .ip-product-image { aspect-ratio: auto; min-height: 305px; }
.yjo-inner .ip-preview-card .ip-card-body { align-self: center; }
.yjo-inner .ip-category { border-bottom: 1px solid var(--ip-line); }
.yjo-inner .ip-category-note { display: flex; flex-direction: column; justify-content: center; padding: 24px; }
.yjo-inner .ip-category-note p { font-size: 14px; }
.yjo-inner .ip-index { display: block; font-family: Georgia,serif; font-size: 36px; color: #849687; margin-bottom: 18px; }
.yjo-inner .ip-empty { grid-column: 1/-1; padding: 30px; background: #efefe9; border: 1px solid var(--ip-line); border-radius: var(--ip-radius); }
.yjo-inner .ip-empty h3 { font-size: 21px; }
.yjo-inner .ip-empty p { max-width: 80ch; margin-bottom: 0; }
.yjo-inner .ip-cta { display: flex; align-items: center; justify-content: space-between; gap: 48px; padding: 48px; margin-top: 32px; background: var(--ip-ink); color: #fff; border-radius: var(--ip-radius); }
.yjo-inner .ip-cta h2 { max-width: 28ch; }
.yjo-inner .ip-cta p { color: #d2ded4; max-width: 56ch; }
.yjo-inner .ip-cta .ip-kicker { color: #bfd1c5; }
.yjo-inner .ip-cta .ip-button { background: #fff; color: var(--ip-ink); flex-shrink: 0; }
.yjo-inner .ip-cta p:last-child { margin-bottom: 0; }
.yjo-inner .ip-scenario-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.yjo-inner .ip-scenario-card { display: block; overflow: hidden; background: #fff; border-radius: var(--ip-radius); border: 1px solid var(--ip-line); }
.yjo-inner .ip-scenario-card > img { aspect-ratio: 4/5; height: auto; object-position: 70% center; }
.yjo-inner .ip-scenario-card > div { padding: 22px; }
.yjo-inner .ip-scenario-card h2 { font-size: 24px; }
.yjo-inner .ip-scenario-card p { font-size: 14px; }
.yjo-inner .ip-scenario-card .ip-kicker { font-size: 10px; }
.yjo-inner .ip-scenario-detail, .yjo-inner .ip-approach { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; border-top: 1px solid var(--ip-line); }
.yjo-inner .ip-detail-photo { height: 460px; border-radius: var(--ip-radius); overflow: hidden; }
.yjo-inner .ip-detail-photo img { object-position: 70% center; }
.yjo-inner .ip-prose { max-width: 70ch; }
.yjo-inner .ip-prose h2 { font-size: 29px; margin-top: 32px; }
.yjo-inner .ip-prose h3 { font-size: 22px; }
.yjo-inner .ip-prose ul, .yjo-inner .ip-prose ol { padding-left: 24px; color: var(--ip-muted); }
.yjo-inner .ip-prose li { margin-block: 10px; }
.yjo-inner .ip-search { max-width: 700px; margin-top: 26px; }
.yjo-inner .ip-search label { display: block; font-size: 13px; font-weight: 650; margin-bottom: 8px; }
.yjo-inner .ip-search > div { display: flex; gap: 8px; }
.yjo-inner .ip-search input { min-width: 0; flex: 1; padding: 12px 16px; border: 1px solid #acb9ad; border-radius: 6px; background: #fff; font: inherit; }
.yjo-inner .ip-article-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.yjo-inner .ip-article-card { background: #fff; border: 1px solid var(--ip-line); border-radius: var(--ip-radius); overflow: hidden; }
.yjo-inner .ip-article-image { display: block; aspect-ratio: 16/9; overflow: hidden; }
.yjo-inner .ip-article-featured { grid-column: 1/-1; display: grid; grid-template-columns: 1.15fr 1fr; }
.yjo-inner .ip-article-featured .ip-article-image { aspect-ratio: auto; min-height: 330px; }
.yjo-inner .ip-article-featured .ip-card-body { padding: 40px; align-self: center; }
.yjo-inner .ip-article-featured h3 { font-size: 32px; }
.yjo-inner .ip-reader { max-width: 820px; margin: 40px auto; padding: 40px; border: 1px solid var(--ip-line); border-radius: var(--ip-radius); background: #fff; }
.yjo-inner .ip-reader > h2 { font-size: 38px; }
.yjo-inner .ip-reader .ip-lede { margin-bottom: 28px; }
.yjo-inner.ip-support .ip-hero { text-align: center; background: transparent; }
.yjo-inner.ip-support .ip-hero-copy { margin: auto; padding: 28px 0 12px; }
.yjo-inner.ip-support .ip-lede { margin-inline: auto; }
.yjo-inner.ip-support .ip-search { margin-inline: auto; margin-bottom: 36px; }
.yjo-inner .ip-support-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.yjo-inner .ip-support-card { position: relative; display: block; padding: 24px; border: 1px solid var(--ip-line); border-radius: var(--ip-radius); background: #fff; }
.yjo-inner .ip-support-card h2 { font-size: 19px; margin-top: 18px; }
.yjo-inner .ip-support-card p { font-size: 14px; margin-bottom: 0; }
.yjo-inner .ip-support-card > span:last-child { position: absolute; right: 20px; top: 22px; }
.yjo-inner .ip-support-icon { display: inline-grid; place-items: center; border: 1px solid var(--ip-line); border-radius: 50%; width: 40px; height: 40px; font-size: 13px; }
.yjo-inner .ip-help-layout { display: grid; grid-template-columns: .7fr 1.6fr; gap: 64px; }
.yjo-inner .ip-topics a { display: block; padding-block: 13px; font-size: 14px; border-bottom: 1px solid var(--ip-line); }
.yjo-inner .ip-faq { border-bottom: 1px solid var(--ip-line); }
.yjo-inner .ip-faq summary { cursor: pointer; padding: 18px 26px 18px 0; font-weight: 600; }
.yjo-inner .ip-faq[open] { padding-bottom: 16px; }
.yjo-inner .ip-faq .ip-prose { font-size: 15px; }
.yjo-inner .ip-resource-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; padding-top: 0; }
.yjo-inner .ip-resource-grid > article { padding: 30px; background: #fff; border: 1px solid var(--ip-line); border-radius: var(--ip-radius); }
.yjo-inner .ip-resource-grid h2 { font-size: 27px; }
.yjo-inner .ip-policy-note { padding-top: 36px; font-size: 13px; }
.yjo-inner .ip-policy-note h2 { font-size: 19px; }
.yjo-inner .ip-about-hero { position: relative; border-radius: var(--ip-radius); overflow: hidden; background: var(--ip-ink); }
.yjo-inner .ip-about-photo { position: absolute; inset: 0; }
.yjo-inner .ip-about-photo img { object-position: 70% center; }
.yjo-inner .ip-about-photo::after { content:''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(7,32,27,.9),rgba(7,32,27,.38),transparent); }
.yjo-inner .ip-about-hero > div:last-child { position: relative; color: #fff; padding: 72px 56px; max-width: 750px; }
.yjo-inner .ip-about-hero p { color: #e0e6dc; max-width: 42ch; }
.yjo-inner .ip-about-hero .ip-button { background: #fff; color: var(--ip-ink); }
.yjo-inner .ip-story { display: grid; grid-template-columns: 1fr 1.3fr; gap: 72px; padding-block: 72px; }
.yjo-inner .ip-proof-row { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--ip-line); border-radius: var(--ip-radius); }
.yjo-inner .ip-proof-row > article { padding: 28px; border-right: 1px solid var(--ip-line); }
.yjo-inner .ip-proof-row > article:last-child { border-right: 0; }
.yjo-inner .ip-proof-row h3 { font-size: 20px; }
.yjo-inner .ip-proof-row p { font-size: 14px; margin: 0; }
.yjo-inner .ip-value-mark { font-size: 30px; display: block; margin-bottom: 15px; }
.yjo-inner .ip-philosophy { background: #e7ebe3; padding: 64px; text-align: center; border-radius: var(--ip-radius); }
.yjo-inner .ip-philosophy p { max-width: 54ch; margin-inline: auto; }
.yjo-inner .ip-search-result { border-bottom: 1px solid var(--ip-line); padding: 22px 0; }
@media(max-width:1100px) {
  .yjo-inner .ip-container { width: calc(100% - 48px); }
  .yjo-inner .ip-hero-copy { padding: 32px; }
  .yjo-inner .ip-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .yjo-inner .ip-preview-card { grid-column: span 1; display: block; }
  .yjo-inner .ip-preview-card .ip-product-image { min-height: 0; aspect-ratio: 4/3; }
  .yjo-inner .ip-scenario-grid { grid-template-columns: repeat(2,1fr); }
  .yjo-inner .ip-scenario-card > img { aspect-ratio: 4/3; }
  .yjo-inner .ip-scenario-detail,.yjo-inner .ip-approach,.yjo-inner .ip-help-layout { gap: 32px; }
  .yjo-inner .ip-support-grid { grid-template-columns: repeat(2,1fr); }
  .yjo-inner .ip-proof-row { grid-template-columns: repeat(2,1fr); }
  .yjo-inner .ip-proof-row > article:nth-child(2) { border-right: 0; }
  .yjo-inner .ip-proof-row > article:nth-child(n+3) { border-top: 1px solid var(--ip-line); }
}
@media(max-width:700px) {
  .yjo-inner { padding-bottom: 32px; font-size: 15px; }
  .yjo-inner .ip-container { width: calc(100% - 32px); }
  .yjo-inner h1 { font-size: 35px; line-height: 1.08; margin-bottom: 12px; }
  .yjo-inner h2 { font-size: 27px; }
  .yjo-inner h3 { font-size: 22px; }
  .yjo-inner .ip-kicker { font-size: 10px; letter-spacing: .11em; margin-bottom: 10px; }
  .yjo-inner .ip-breadcrumb { padding-block: 16px; font-size: 12px; }
  .yjo-inner .ip-hero-copy,.yjo-inner .ip-hero-image .ip-hero-copy { padding: 25px 22px; }
  .yjo-inner .ip-hero-image { grid-template-columns: 1fr; }
  .yjo-inner .ip-hero-photo { min-height: 124px; }
  .yjo-inner .ip-hero-photo img { object-position: 74% 55%; }
  .yjo-inner .ip-lede { font-size: 15px; }
  .yjo-inner .ip-section { padding-block: 30px; }
  .yjo-inner .ip-section-heading { display: block; margin-bottom: 18px; }
  .yjo-inner .ip-section-heading > p { margin-top: 10px; }
  .yjo-inner .ip-chips { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; padding-block: 16px; }
  .yjo-inner .ip-chip,.yjo-inner .ip-chips > a { font-size: 13px; padding-inline: 10px; }
  .yjo-inner .ip-product-grid { grid-template-columns: 1fr; gap: 14px; }
  .yjo-inner .ip-preview-card { display: block; }
  .yjo-inner .ip-preview-card .ip-product-image,.yjo-inner .ip-product-image { aspect-ratio: 16/10; }
  .yjo-inner .ip-card-body { padding: 20px; }
  .yjo-inner .ip-card-body > p { font-size: 14px; margin-bottom: 12px; }
  .yjo-inner .ip-category-note { padding: 8px 4px 0; }
  .yjo-inner .ip-category-note .ip-index { display: none; }
  .yjo-inner .ip-category-note h3 { font-size: 20px; }
  .yjo-inner .ip-empty { padding: 22px; }
  .yjo-inner .ip-cta { display: block; padding: 28px 22px; margin-top: 16px; }
  .yjo-inner .ip-cta .ip-button { margin-top: 16px; }
  .yjo-inner .ip-cta h2 { font-size: 27px; }
  .yjo-inner .ip-cta p { font-size: 14px; }
  .yjo-inner .ip-scenario-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .yjo-inner .ip-scenario-card > img { aspect-ratio: 1/1; }
  .yjo-inner .ip-scenario-card > div { padding: 13px; }
  .yjo-inner .ip-scenario-card h2 { font-size: 19px; }
  .yjo-inner .ip-scenario-card p { font-size: 13px; }
  .yjo-inner .ip-scenario-card .ip-kicker { display: none; }
  .yjo-inner .ip-scenario-card .ip-link { font-size: 12px; }
  .yjo-inner .ip-scenario-detail,.yjo-inner .ip-approach { grid-template-columns: 1fr; gap: 24px; }
  .yjo-inner .ip-detail-photo { height: 220px; }
  .yjo-inner .ip-search { margin-top: 20px; }
  .yjo-inner .ip-search input { font-size: 16px; padding-inline: 12px; }
  .yjo-inner .ip-search .ip-button { padding-inline: 14px; }
  .yjo-inner .ip-article-grid { gap: 14px; grid-template-columns: 1fr; }
  .yjo-inner .ip-article-featured { display: block; grid-column: auto; }
  .yjo-inner .ip-article-featured .ip-article-image { min-height: 0; height: 200px; }
  .yjo-inner .ip-article-featured .ip-card-body { padding: 20px; }
  .yjo-inner .ip-article-featured h3 { font-size: 25px; }
  .yjo-inner .ip-article-card:not(.ip-article-featured) { display: grid; grid-template-columns: 94px 1fr; }
  .yjo-inner .ip-article-card:not(.ip-article-featured) .ip-article-image { height: 100%; aspect-ratio: auto; }
  .yjo-inner .ip-article-card:not(.ip-article-featured) .ip-card-body { padding: 15px; }
  .yjo-inner .ip-article-card:not(.ip-article-featured) h3 { font-size: 19px; }
  .yjo-inner .ip-article-card:not(.ip-article-featured) .ip-card-body > p:not(.ip-kicker) { display: none; }
  .yjo-inner .ip-reader { margin: 24px auto; padding: 22px; }
  .yjo-inner .ip-reader > h2 { font-size: 29px; }
  .yjo-inner .ip-support-grid { gap: 10px; }
  .yjo-inner .ip-support-card { padding: 17px; }
  .yjo-inner .ip-support-card h2 { font-size: 17px; margin-bottom: 8px; }
  .yjo-inner .ip-support-card p { font-size: 13px; }
  .yjo-inner .ip-support-card > span:last-child { top: 17px; right: 13px; }
  .yjo-inner .ip-help-layout { grid-template-columns: 1fr; gap: 28px; }
  .yjo-inner .ip-topics { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 14px; }
  .yjo-inner .ip-topics .ip-kicker,.yjo-inner .ip-topics h2 { grid-column: 1/-1; }
  .yjo-inner .ip-topics a { font-size: 13px; }
  .yjo-inner .ip-resource-grid { grid-template-columns: 1fr; }
  .yjo-inner .ip-resource-grid > article { padding: 24px; }
  .yjo-inner .ip-about-hero > div:last-child { padding: 38px 24px; }
  .yjo-inner .ip-about-hero h1 { font-size: 35px; }
  .yjo-inner .ip-about-hero p { font-size: 15px; }
  .yjo-inner .ip-about-photo img { object-position: 72% center; }
  .yjo-inner .ip-about-photo::after { background: rgba(7,32,27,.65); }
  .yjo-inner .ip-story { grid-template-columns: 1fr; gap: 8px; }
  .yjo-inner .ip-proof-row > article { padding: 20px; }
  .yjo-inner .ip-proof-row h3 { font-size: 18px; }
  .yjo-inner .ip-proof-row p { font-size: 13px; }
  .yjo-inner .ip-philosophy { padding: 30px 24px; }
}
@media(max-width:340px) {
  .yjo-inner h1,.yjo-inner .ip-about-hero h1 { font-size: 31px; }
  .yjo-inner .ip-scenario-grid { grid-template-columns: 1fr; }
  .yjo-inner .ip-scenario-card { display: grid; grid-template-columns: 95px 1fr; }
  .yjo-inner .ip-scenario-card > img { height: 100%; aspect-ratio: auto; }
  .yjo-inner .ip-scenario-card p { margin-bottom: 4px; }
  .yjo-inner .ip-support-card { padding: 14px; }
  .yjo-inner .ip-support-card h2 { font-size: 16px; }
  .yjo-inner .ip-card-body,.yjo-inner .ip-article-featured .ip-card-body { padding: 17px; }
}

/* Phase 4.5 identity and legal pages. */
.yjo-trust .trust-hero { background:var(--ip-stone); border-radius:var(--ip-radius); padding:52px 48px; margin-bottom:24px; }
.yjo-trust .trust-hero h1 { max-width:760px; }
.yjo-trust .trust-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ip-gap); padding:28px 0 52px; }
.yjo-trust .trust-grid article,.yjo-trust .trust-card { background:#fff; border:1px solid var(--ip-line); border-radius:var(--ip-radius); padding:28px; }
.yjo-trust .trust-pending { color:var(--ip-muted); font-style:italic; }
.yjo-trust .trust-card { max-width:920px; margin:0 0 52px; }
.yjo-trust .trust-card dl,.trust-about dl { display:grid; grid-template-columns:220px 1fr; gap:0; margin:24px 0 0; border-top:1px solid var(--ip-line); }
.yjo-trust .trust-card dt,.trust-about dt { font-weight:700; padding:15px 0; border-bottom:1px solid var(--ip-line); }
.yjo-trust .trust-card dd,.trust-about dd { color:var(--ip-muted); margin:0; padding:15px 0; border-bottom:1px solid var(--ip-line); }
.yjo-trust .trust-card .ip-button { margin-top:14px; }
.trust-about .trust-lede { max-width:720px; font-size:20px; }
.trust-about .trust-card { max-width:920px; }
.footer-identity { position:relative; }
.footer-identity > p:not(.footer-operator) { font-size:13px; color:var(--yjo-muted); margin:7px 0; }
.footer-identity .footer-operator { position:absolute; left:0; top:32px; font-size:10px; line-height:1.15; color:#5f6e65; margin:0; }
.footer-identity .footer-operator strong { font-size:11px; letter-spacing:.04em; }
@media(max-width:700px) { .yjo-trust .trust-hero { padding:30px 22px; } .yjo-trust .trust-grid { grid-template-columns:1fr; padding-block:16px 30px; } .yjo-trust .trust-card { padding:22px; margin-bottom:30px; } .yjo-trust .trust-card dl,.trust-about dl { grid-template-columns:1fr; } .yjo-trust .trust-card dt,.trust-about dt { border-bottom:0; padding-bottom:3px; } .yjo-trust .trust-card dd,.trust-about dd { padding-top:0; } .trust-about .trust-lede { font-size:17px; } }

/* Product Decision Page. Kept separate from the frozen homepage and core landing layouts. */
.yjo-pdp .pdp-top { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); gap:64px; padding:24px 0 72px; align-items:start; }
.yjo-pdp .pdp-gallery { min-width:0; }
.yjo-pdp .pdp-main-image { aspect-ratio:1/1; border-radius:var(--ip-radius); overflow:hidden; background:#ecece6; border:1px solid var(--ip-line); }
.yjo-pdp .pdp-main-image img { object-fit:contain; padding:36px; }
.yjo-pdp .pdp-image-pending { display:grid; place-items:center; height:100%; padding:32px; text-align:center; color:var(--ip-muted); }
.yjo-pdp .pdp-thumbs { display:flex; gap:10px; margin-top:14px; overflow:auto; }
.yjo-pdp .pdp-thumbs button { flex:0 0 76px; height:76px; border:1px solid var(--ip-line); border-radius:6px; background:#fff; padding:0; overflow:hidden; cursor:pointer; }
.yjo-pdp .pdp-thumbs button[aria-current=true] { border:2px solid var(--ip-ink); }
.yjo-pdp .pdp-thumbs img { object-fit:contain; padding:7px; }
.yjo-pdp .pdp-summary { padding-top:26px; }
.yjo-pdp .pdp-summary h1 { font-size:clamp(38px,4vw,64px); }
.yjo-pdp .pdp-value { font-size:20px; max-width:40ch; }
.yjo-pdp .pdp-facts { list-style:none; margin:26px 0; padding:0; display:grid; gap:12px; }
.yjo-pdp .pdp-facts li { padding-left:28px; position:relative; }
.yjo-pdp .pdp-facts li::before { content:'✓'; position:absolute; left:0; font-weight:700; }
.yjo-pdp .pdp-buy { border-top:1px solid var(--ip-line); padding-top:24px; margin-top:30px; }
.yjo-pdp .pdp-buy .ip-empty { margin:0; }
.yjo-pdp .pdp-section { border-top:1px solid var(--ip-line); padding:58px 0; }
.yjo-pdp .pdp-section > h2 { max-width:720px; }
.yjo-pdp .pdp-copy { max-width:780px; font-size:18px; }
.yjo-pdp .pdp-specs { max-width:900px; border-top:1px solid var(--ip-line); }
.yjo-pdp .pdp-specs > div { display:grid; grid-template-columns:240px 1fr; gap:24px; padding:17px 0; border-bottom:1px solid var(--ip-line); }
.yjo-pdp .pdp-specs dt { font-weight:700; }
.yjo-pdp .pdp-specs dd { margin:0; color:var(--ip-muted); }
.yjo-pdp .pdp-gated { background:var(--ip-stone); border:0; border-radius:var(--ip-radius); padding:42px 48px; margin:0 0 32px; }
.yjo-pdp .pdp-actions { display:flex; gap:20px; align-items:center; }
@media(max-width:900px) { .yjo-pdp .pdp-top { grid-template-columns:1fr; gap:26px; padding-bottom:42px; } .yjo-pdp .pdp-summary { padding-top:0; } }
@media(max-width:700px) { .yjo-pdp .pdp-main-image { aspect-ratio:4/3; } .yjo-pdp .pdp-main-image img { padding:20px; } .yjo-pdp .pdp-summary h1 { font-size:35px; } .yjo-pdp .pdp-value { font-size:17px; } .yjo-pdp .pdp-section { padding:34px 0; } .yjo-pdp .pdp-specs > div { grid-template-columns:1fr; gap:4px; } .yjo-pdp .pdp-gated { padding:28px 22px; } .yjo-pdp .pdp-actions { display:block; } .yjo-pdp .pdp-actions .ip-link { margin:10px 0 0; } }
@media(max-width:700px) { .yjo-inner .pdp-app-module { grid-template-columns:1fr; padding:20px; } .yjo-inner .pdp-app-qr { display:none; } .yjo-inner .pdp-app-module .ip-button { width:100%; } }

/* Recovery 03: shared local route integration. */
.yjo-recovery-route .recovery-route-page { min-width:0; }
.yjo-recovery-route .recovery-route-page .ip-container { max-width:1320px; }
.yjo-recovery-route .app-route-hero { margin-bottom:24px; }
.yjo-recovery-route .app-route-value { padding-top:28px; }
.yjo-recovery-route .app-route-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid var(--ip-line); border-bottom:1px solid var(--ip-line); }
.yjo-recovery-route .app-route-flow > div { min-width:0; padding:24px 22px; border-right:1px solid var(--ip-line); }
.yjo-recovery-route .app-route-flow > div:last-child { border-right:0; }
.yjo-recovery-route .app-route-flow span { display:block; color:var(--ip-muted); font-size:11px; letter-spacing:.12em; margin-bottom:16px; }
.yjo-recovery-route .app-route-flow strong { display:block; font-size:20px; margin-bottom:8px; }
.yjo-recovery-route .app-route-flow small { display:block; color:var(--ip-muted); font-size:14px; line-height:1.55; }
.yjo-recovery-route .app-route-action { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:40px; align-items:center; background:var(--ip-stone); border-radius:var(--ip-radius); padding:42px 48px; }
.yjo-recovery-route .app-route-action-copy { min-width:0; }
.yjo-recovery-route .app-route-action .ip-button { justify-self:start; }
.yjo-recovery-route .app-route-qr { display:grid; justify-items:center; gap:9px; color:var(--ip-muted); font-size:12px; text-align:center; }
.yjo-recovery-route .app-route-qr img { width:220px; height:220px; object-fit:contain; background:#fff; }
.yjo-recovery-route .app-route-support { margin-top:24px; }
.yjo-recovery-route .ip-empty { min-width:0; }
@media(max-width:900px) {
  .yjo-recovery-route .app-route-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .yjo-recovery-route .app-route-flow > div:nth-child(2) { border-right:0; }
  .yjo-recovery-route .app-route-flow > div:nth-child(n+3) { border-top:1px solid var(--ip-line); }
  .yjo-recovery-route .app-route-action { grid-template-columns:minmax(0,1fr) 180px; padding:32px; gap:24px; }
  .yjo-recovery-route .app-route-qr img { width:170px; height:170px; }
}
@media(max-width:520px) {
  .yjo-recovery-route .app-route-flow { grid-template-columns:1fr; }
  .yjo-recovery-route .app-route-flow > div { border-right:0; border-top:1px solid var(--ip-line); padding:18px; }
  .yjo-recovery-route .app-route-flow > div:first-child { border-top:0; }
  .yjo-recovery-route .app-route-action { display:block; padding:26px 22px; }
  .yjo-recovery-route .app-route-action .ip-button { display:inline-block; width:100%; text-align:center; margin-top:8px; }
  .yjo-recovery-route .app-route-qr { margin-top:24px; }
  .yjo-recovery-route .app-route-qr img { width:150px; height:150px; }
}
