:root{--yjo-ink:#173f39;--yjo-deep:#103630;--yjo-paper:#fbfaf6;--yjo-stone:#e6e8e1;--yjo-muted:#6c7971;--yjo-line:#cdd6ce;--yjo-gold:#ae8255;--yjo-editorial-width:min(1320px,calc(100% - 96px))}.homepage{background:var(--yjo-paper);color:var(--yjo-ink)}.homepage .container{width:var(--yjo-editorial-width);max-width:none}.homepage .section{padding-block:clamp(100px,12vw,176px)}.homepage .editorial-hero{background:var(--yjo-paper)}.homepage .hero-image{position:relative;height:min(72vh,780px);min-height:560px;background:#d9ddd6}.homepage .hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 56%}.homepage .image-note,.homepage .product-label{position:absolute;right:28px;bottom:26px;color:#fff;font-size:11px;letter-spacing:.12em;text-transform:uppercase;background:rgba(16,54,48,.54);padding:8px 10px}.homepage .hero-copy{padding-block:70px 64px}.homepage .hero-copy .eyebrow{margin-bottom:28px}.homepage h1,.homepage h2{font-weight:650;letter-spacing:-.065em;line-height:.96}.homepage h1{font-size:clamp(58px,7.4vw,122px);max-width:860px;margin-bottom:28px}.homepage h1 em,.homepage h2 em{font-style:normal;color:#769083}.homepage .hero-lede{font-size:21px;color:#5f7168;max-width:350px;margin-bottom:30px}.homepage .hero-footnote{color:#87948b;font-size:12px;letter-spacing:.04em;margin:38px 0 0}.homepage .split-layout,.homepage .security-grid,.homepage .product-layout,.homepage .story-layout{display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(50px,10vw,156px);align-items:center}.homepage .media-frame{background:#dde2da;overflow:hidden}.homepage .media-frame img{width:100%;height:100%;object-fit:cover}.homepage .kitchen-image{height:clamp(380px,45vw,630px)}.homepage .copy-block{max-width:535px}.homepage .copy-block>p:not(.eyebrow),.homepage .section-intro>p:not(.eyebrow),.homepage .product-copy>p:not(.eyebrow),.homepage .story-copy>p:not(.eyebrow){color:var(--yjo-muted);font-size:18px;max-width:45ch}.homepage .pull-quote{padding-top:22px;border-top:1px solid var(--yjo-line);color:var(--yjo-ink)!important;font-family:Georgia,serif;font-size:26px!important;line-height:1.15;margin-top:54px}.homepage .security{background:var(--yjo-stone)}.homepage .security-grid{grid-template-columns:.86fr 1.14fr}.homepage .family-image{height:clamp(360px,43vw,610px)}.homepage .text-link{display:inline-flex;gap:8px;color:var(--yjo-ink);font-weight:700;font-size:13px;border-bottom:1px solid var(--yjo-ink);padding-bottom:4px}.homepage .section-intro{max-width:650px;margin-bottom:68px}.homepage .access{background:#f0f1ec}.homepage .access-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(44px,9vw,140px);align-items:stretch}.homepage .door-image{height:clamp(460px,53vw,760px)}.homepage .access-notes{display:flex;flex-direction:column;justify-content:space-between;border-top:1px solid var(--yjo-line);border-bottom:1px solid var(--yjo-line)}.homepage .access-notes>div{padding:30px 0;border-bottom:1px solid var(--yjo-line)}.homepage .access-notes>div:last-child{border-bottom:0}.homepage .note-number,.homepage .technology-list span{display:block;color:var(--yjo-gold);font-size:12px;letter-spacing:.1em;margin-bottom:16px}.homepage .access-notes p,.homepage .technology-list p{color:var(--yjo-muted);font-size:15px;max-width:36ch}.homepage .product{background:var(--yjo-deep);color:#fff}.homepage .product-layout{grid-template-columns:1.1fr .9fr}.homepage .product-visual{height:clamp(450px,53vw,760px);position:relative}.homepage .product-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,35,31,.18),rgba(10,35,31,.02) 60%,rgba(10,35,31,.3))}.homepage .product-visual img{object-position:68% center}.homepage .product-label{z-index:1;left:26px;right:auto;bottom:24px}.homepage .product-copy h2{color:#fff}.homepage .product-copy>p:not(.eyebrow){color:#d3ded6}.homepage .fact-list{border-top:1px solid rgba(255,255,255,.3);margin:42px 0 36px}.homepage .fact-list>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.22);font-size:14px}.homepage .fact-list span{color:#b9c9c0}.homepage .fact-list strong{font-weight:600;text-align:right}.homepage .technology-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(50px,11vw,170px);align-items:start}.homepage .technology-list{border-top:1px solid var(--yjo-line)}.homepage .technology-list>div{display:grid;grid-template-columns:56px 1fr;column-gap:22px;padding:26px 0;border-bottom:1px solid var(--yjo-line)}.homepage .technology-list span{grid-row:span 2;margin:3px 0 0}.homepage .technology-list h3{margin:0}.homepage .technology-list p{grid-column:2;margin:6px 0 0}.homepage .brand-story{background:var(--yjo-stone)}.homepage .story-layout{grid-template-columns:1fr .92fr}.homepage .story-image{height:clamp(330px,42vw,580px)}.homepage .final-cta{background:var(--yjo-ink);color:#fff;padding-block:clamp(100px,13vw,180px)}.homepage .final-cta .eyebrow{color:#b7cdc0}.homepage .final-cta h2{color:#fff;margin-bottom:38px}.homepage .button{border-radius:2px}.homepage .site-main+.site-footer{background:var(--yjo-paper)}
@media(max-width:900px){.homepage .container{width:calc(100% - 48px)}.homepage .hero-image{height:54vw;min-height:420px}.homepage .hero-copy{padding-block:54px 58px}.homepage .split-layout,.homepage .security-grid,.homepage .product-layout,.homepage .story-layout,.homepage .technology-layout{grid-template-columns:1fr;gap:48px}.homepage .security-grid .copy-block{order:2}.homepage .security-grid .media-frame{order:1}.homepage .kitchen-image,.homepage .family-image,.homepage .story-image{height:58vw;min-height:320px}.homepage .access-layout{grid-template-columns:1fr;gap:46px}.homepage .door-image,.homepage .product-visual{height:68vw;min-height:420px}.homepage .technology-layout{gap:42px}}
@media(max-width:520px){.homepage .container{width:calc(100% - 32px)}.homepage .hero-image{height:68vw;min-height:300px}.homepage .hero-copy{padding-block:40px 46px}.homepage h1{font-size:clamp(44px,12.5vw,58px);line-height:.94}.homepage h2{font-size:clamp(38px,11vw,52px);line-height:.96}.homepage .hero-lede{font-size:17px}.homepage .hero-footnote{font-size:11px;margin-top:27px}.homepage .section{padding-block:74px}.homepage .split-layout,.homepage .security-grid,.homepage .product-layout,.homepage .story-layout,.homepage .technology-layout{gap:30px}.homepage .kitchen-image,.homepage .family-image,.homepage .story-image{height:68vw;min-height:230px}.homepage .copy-block>p:not(.eyebrow),.homepage .section-intro>p:not(.eyebrow),.homepage .product-copy>p:not(.eyebrow),.homepage .story-copy>p:not(.eyebrow){font-size:16px}.homepage .pull-quote{font-size:22px!important;margin-top:34px}.homepage .section-intro{margin-bottom:38px}.homepage .access-notes>div{padding:21px 0}.homepage .door-image,.homepage .product-visual{height:94vw;min-height:310px}.homepage .access-notes p,.homepage .technology-list p{font-size:14px}.homepage .fact-list{margin:32px 0 28px}.homepage .fact-list>div{display:block;font-size:13px}.homepage .fact-list strong{display:block;text-align:left;margin-top:4px}.homepage .technology-list>div{grid-template-columns:36px 1fr;column-gap:12px;padding:22px 0}.homepage .technology-list h3{font-size:19px}.homepage .final-cta{padding-block:90px}}
.homepage .technology{padding-bottom:clamp(40px,3.5vw,56px)}.homepage .app-acquisition{background:var(--yjo-paper);padding-block:clamp(48px,4.5vw,72px)}.homepage .app-acquisition-layout{max-width:1080px;margin-inline:auto}.homepage .app-acquisition-copy{max-width:720px;margin-inline:auto}.homepage .app-acquisition-copy h2{font-size:clamp(34px,3.2vw,40px);line-height:1.02;margin-bottom:18px}.homepage .app-acquisition-copy>p:not(.eyebrow){color:var(--yjo-muted);font-size:17px;line-height:1.5;max-width:48ch}.homepage .app-acquisition-actions{display:flex;align-items:center;gap:22px;margin-top:26px}.homepage .app-qr{width:96px;min-width:96px;padding:7px;background:#fff;border:1px solid var(--yjo-line);text-align:center}.homepage .app-qr img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.homepage .app-qr span,.homepage .app-qr small{display:block;color:var(--yjo-muted);font-size:10px;line-height:1.2;margin-top:6px}.homepage .app-qr-pending{height:96px;display:grid;place-items:center;align-content:center;color:var(--yjo-ink);background:#fff}.homepage .app-qr-pending span{font-weight:750;letter-spacing:.1em;line-height:1.25;margin:0}.homepage .app-availability{color:#849189!important;font-size:12px!important;margin-top:14px}.footer-app-entry{display:inline-flex;gap:7px;margin-top:15px;color:var(--yjo-ink);font-size:12px;font-weight:700;border-bottom:1px solid var(--yjo-line);padding-bottom:3px}
@media(max-width:700px){.homepage .app-qr{display:none}}
@media(max-width:520px){.homepage .app-acquisition-copy>p:not(.eyebrow){font-size:16px}.homepage .app-acquisition-actions{margin-top:22px}.homepage .app-direct-cta{width:auto;min-height:48px}}
@media(min-width:901px){.homepage .editorial-hero{display:grid;grid-template-columns:minmax(370px,.78fr) minmax(0,1.22fr);max-width:1440px;margin-inline:auto}.homepage .editorial-hero .hero-image{grid-column:2;grid-row:1;height:min(78vh,780px);min-height:560px}.homepage .editorial-hero .hero-copy{grid-column:1;grid-row:1;width:100%;padding:70px 54px;display:flex;flex-direction:column;justify-content:center}}
@media(max-width:900px){.homepage .editorial-hero{display:flex;flex-direction:column}.homepage .editorial-hero .hero-copy{order:1;padding:54px calc((100% - 48px)/2) 58px}.homepage .editorial-hero .hero-image{order:2}}
@media(max-width:900px){.homepage .editorial-hero .hero-copy{width:calc(100% - 48px);padding-inline:0;margin-inline:auto}}
@media(max-width:520px){.homepage .editorial-hero .hero-copy{width:calc(100% - 32px);padding:40px 0 46px}}
@media(min-width:901px) and (max-width:1100px){.homepage .editorial-hero h1{font-size:clamp(48px,5.2vw,72px)}}
@media(max-width:900px){.mobile-menu{display:block}.mobile-menu[hidden]{display:none}}

/* Recovery 02 / H01 structural bounds. These rules are intentionally scoped to the
   existing editorial hero so the first gate can be tested before body recovery. */
.homepage {
  --content-max-width: 1440px;
  --text-max-width: 600px;
  --hero-text-max-width: 540px;
  --section-vertical-spacing: clamp(72px, 9vw, 128px);
  --grid-gap: clamp(28px, 5vw, 72px);
  --image-max-width: 100%;
  --image-max-height: 760px;
  --pdp-hero-image-bound: 560px;
  --type-scale-logic: bounded-fluid;
}
.homepage .editorial-hero {
  width: min(100%, var(--content-max-width));
  min-width: 0;
  overflow: hidden;
}
.homepage .editorial-hero .hero-copy {
  min-width: 0;
  max-width: var(--hero-text-max-width);
}
.homepage .editorial-hero h1 {
  max-width: var(--hero-text-max-width);
  font-size: clamp(48px, 4.4vw, 64px);
  line-height: .98;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.homepage .editorial-hero .hero-lede {
  max-width: 420px;
}
.homepage .editorial-hero .hero-image {
  width: 100%;
  max-width: var(--image-max-width);
  max-height: var(--image-max-height);
  min-width: 0;
  overflow: hidden;
}
.homepage .editorial-hero .hero-image img {
  width: 100%;
  height: 100%;
  min-width: 0;
  object-fit: cover;
  object-position: center 56%;
}
@media (min-width: 901px) {
  .homepage .editorial-hero {
    grid-template-columns: minmax(380px, .714fr) minmax(0, 1fr);
  }
  .homepage .editorial-hero .hero-copy {
    padding: 70px 16px 64px 40px;
  }
  .homepage .editorial-hero .hero-image {
    height: clamp(560px, 55vw, 760px);
    min-height: 560px;
  }
}
@media (min-width: 901px) and (max-width: 1100px) {
  .homepage .editorial-hero .hero-copy {
    padding-left: 32px;
    padding-right: 12px;
  }
  .homepage .editorial-hero h1 {
    font-size: 48px;
    letter-spacing: -.055em;
  }
}
@media (max-width: 900px) {
  .homepage .editorial-hero .hero-image {
    height: clamp(420px, 54vw, 560px);
    min-height: 420px;
    max-height: 560px;
  }
  .homepage .editorial-hero h1 {
    max-width: 620px;
  }
}
@media (max-width: 520px) {
  .homepage .editorial-hero .hero-image {
    height: clamp(300px, 78vw, 430px);
    min-height: 300px;
    max-height: 430px;
  }
  .homepage .editorial-hero h1 {
    max-width: 100%;
    font-size: clamp(42px, 11.5vw, 52px);
    line-height: .98;
  }
}

/* Recovery 02 / H02-H09 canonical composition. */
.homepage .recovery-home-section {
  position: relative;
  min-width: 0;
  overflow: hidden;
  padding-block: var(--section-vertical-spacing);
}
.homepage .recovery-home-section h2 {
  max-width: 620px;
  margin: 0 0 22px;
  font-size: clamp(38px, 5vw, 72px);
  line-height: .98;
}
.homepage .recovery-home-section p:not(.eyebrow):not(.hero-footnote) {
  max-width: var(--text-max-width);
  color: var(--yjo-muted);
  font-size: 17px;
}
.homepage .recovery-home-split {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
  gap: var(--grid-gap);
  align-items: center;
}
.homepage .recovery-home-media {
  min-width: 0;
  max-width: var(--image-max-width);
  max-height: var(--image-max-height);
  overflow: hidden;
  background: #dde2da;
}
.homepage .recovery-home-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  object-fit: cover;
}
.homepage .recovery-home-value { background: var(--yjo-paper); }
.homepage .recovery-home-value-media,
.homepage .recovery-home-brand-media { height: clamp(360px, 45vw, 620px); }
.homepage .recovery-home-copy { min-width: 0; max-width: var(--text-max-width); }
.homepage .recovery-home-copy h2 { color: var(--yjo-ink); }
.homepage .recovery-home-quote {
  padding-top: 22px;
  border-top: 1px solid var(--yjo-line);
  color: var(--yjo-ink) !important;
  font-family: Georgia, serif;
  font-size: 25px !important;
  line-height: 1.15;
  margin-top: 42px;
}
.homepage .recovery-home-access { background: #f0f1ec; }
.homepage .recovery-home-section-intro,
.homepage .recovery-home-section-heading { max-width: 680px; margin-bottom: 50px; }
.homepage .recovery-home-section-heading {
  display: flex;
  max-width: none;
  align-items: end;
  justify-content: space-between;
  gap: var(--grid-gap);
}
.homepage .recovery-home-section-heading > p { max-width: 320px; margin: 0; }
.homepage .recovery-home-access-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr);
  gap: var(--grid-gap);
  align-items: stretch;
  margin-bottom: 30px;
}
.homepage .recovery-home-access-media { height: clamp(420px, 52vw, 700px); }
.homepage .recovery-home-list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: space-between;
  border-top: 1px solid var(--yjo-line);
  border-bottom: 1px solid var(--yjo-line);
}
.homepage .recovery-home-list > div { padding: 24px 0; border-bottom: 1px solid var(--yjo-line); }
.homepage .recovery-home-list > div:last-child { border-bottom: 0; }
.homepage .recovery-home-list span { color: var(--yjo-gold); font-size: 12px; letter-spacing: .1em; }
.homepage .recovery-home-list h3 { margin: 12px 0 6px; font-size: 22px; letter-spacing: -.03em; }
.homepage .recovery-home-list p { margin: 0 !important; font-size: 14px !important; }
.homepage .recovery-home-real-homes { background: #f1f2ee; }
.homepage .recovery-home-scenario-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr;
  gap: 16px;
}
.homepage .recovery-home-scenario {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #fff;
  color: var(--yjo-ink);
}
.homepage .recovery-home-scenario-image {
  display: block;
  height: clamp(190px, 22vw, 300px);
  background-size: cover;
  background-position: center;
}
.homepage .recovery-home-scenario-featured .recovery-home-scenario-image { height: clamp(230px, 28vw, 360px); }
.homepage .recovery-home-scenario-image.scene-entry { background: linear-gradient(145deg,#7b877d,#c9d0c2 45%,#59493b 46%,#251e1c 67%,#e3dbcb 68%); }
.homepage .recovery-home-scenario-image.scene-living { background: linear-gradient(150deg,#b5c2b1,#e1dfd2 46%,#92978a 47%,#c8b8a1 80%); }
.homepage .recovery-home-scenario-image.scene-family { background: linear-gradient(145deg,#c8c8bb,#e6e0d2 45%,#b2a08a 46%,#8e735a 78%); }
.homepage .recovery-home-scenario-copy { display: block; padding: 20px; }
.homepage .recovery-home-scenario-copy small,
.homepage .recovery-home-product-copy small,
.homepage .recovery-home-learn-card small { display: block; color: var(--yjo-gold); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.homepage .recovery-home-scenario-copy strong { display: block; max-width: 260px; margin: 12px 0 22px; font-size: 21px; line-height: 1.08; letter-spacing: -.03em; }
.homepage .recovery-home-scenario-copy em { color: var(--yjo-ink); font-size: 12px; font-style: normal; font-weight: 800; }
.homepage .recovery-home-products { background: #fff; }
.homepage .recovery-home-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.homepage .recovery-home-product-card { min-width: 0; border: 1px solid var(--yjo-line); background: #fff; }
.homepage .recovery-home-product-media { height: 300px; overflow: hidden; background: #eef0eb; }
.homepage .recovery-home-product-media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.homepage .recovery-home-product-copy { padding: 22px; }
.homepage .recovery-home-product-copy h3 { margin: 12px 0 8px; font-size: 22px; line-height: 1.08; }
.homepage .recovery-home-product-copy p { margin-bottom: 18px !important; font-size: 14px !important; }
.homepage .recovery-home-app { background: #e9e3d7; }
.homepage .recovery-home-app-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(280px, 1.1fr); gap: var(--grid-gap); align-items: center; }
.homepage .recovery-home-app-copy { max-width: var(--text-max-width); }
.homepage .recovery-home-app-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 26px; }
.homepage .recovery-home-app-actions .app-qr { display: grid; gap: 8px; max-width: 160px; }
.homepage .recovery-home-app-actions .app-qr img { display: block; width: 140px; height: 140px; object-fit: contain; }
.homepage .recovery-home-app-note { font-size: 11px !important; color: #728078 !important; }
.homepage .recovery-home-brand { background: var(--yjo-stone); }
.homepage .recovery-home-learn { background: #fff; }
.homepage .recovery-home-learn-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.homepage .recovery-home-learn-card { min-width: 0; padding-bottom: 22px; background: #f6f6f1; color: var(--yjo-ink); }
.homepage .recovery-home-learn-card img { display: block; width: 100%; height: 220px; object-fit: cover; }
.homepage .recovery-home-learn-card small,
.homepage .recovery-home-learn-card h3,
.homepage .recovery-home-learn-card span { margin-left: 20px; margin-right: 20px; }
.homepage .recovery-home-learn-card small { margin-top: 20px; }
.homepage .recovery-home-learn-card h3 { font-size: 21px; line-height: 1.1; }
.homepage .recovery-home-learn-card span { font-size: 12px; font-weight: 800; }
.homepage .recovery-home-support { padding-block: 76px; background: var(--yjo-deep); color: #fff; }
.homepage .recovery-home-support-inner { display: flex; align-items: end; justify-content: space-between; gap: var(--grid-gap); }
.homepage .recovery-home-support h2 { color: #fff; max-width: 560px; }
.homepage .recovery-home-support p:not(.eyebrow) { color: #c5d4cc; }
.homepage .recovery-home-support .eyebrow { color: #b7cdc0; }
.homepage .recovery-home-support-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; }
.homepage .recovery-home-support-link { color: #fff; border-bottom: 1px solid rgba(255,255,255,.65); padding-bottom: 5px; font-size: 13px; font-weight: 800; }
@media (max-width: 900px) {
  .homepage .recovery-home-split,
  .homepage .recovery-home-access-grid,
  .homepage .recovery-home-app-grid { grid-template-columns: 1fr; gap: 40px; }
  .homepage .recovery-home-section-heading { display: block; }
  .homepage .recovery-home-section-heading > p { margin-top: 15px; }
  .homepage .recovery-home-scenario-grid,
  .homepage .recovery-home-product-grid,
  .homepage .recovery-home-learn-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .homepage .recovery-home-scenario-featured { grid-column: 1 / -1; }
  .homepage .recovery-home-scenario-featured .recovery-home-scenario-image { height: 300px; }
  .homepage .recovery-home-support-inner { display: block; }
  .homepage .recovery-home-support-actions { margin-top: 28px; }
}
@media (max-width: 520px) {
  .homepage .recovery-home-section { padding-block: 72px; }
  .homepage .recovery-home-section h2 { font-size: 38px; }
  .homepage .recovery-home-section p:not(.eyebrow):not(.hero-footnote) { font-size: 16px; }
  .homepage .recovery-home-value-media,
  .homepage .recovery-home-brand-media { height: 72vw; min-height: 230px; }
  .homepage .recovery-home-access-media { height: 84vw; min-height: 300px; }
  .homepage .recovery-home-scenario-grid,
  .homepage .recovery-home-product-grid,
  .homepage .recovery-home-learn-grid { grid-template-columns: 1fr; }
  .homepage .recovery-home-scenario-featured { grid-column: auto; }
  .homepage .recovery-home-scenario-image,
  .homepage .recovery-home-scenario-featured .recovery-home-scenario-image { height: 230px; }
  .homepage .recovery-home-product-media { height: 240px; }
  .homepage .recovery-home-app-actions { align-items: stretch; flex-direction: column; }
  .homepage .recovery-home-app-actions .button { width: 100%; }
  .homepage .recovery-home-support-actions { align-items: stretch; flex-direction: column; }
  .homepage .recovery-home-support-actions .button,
  .homepage .recovery-home-support-link { width: 100%; text-align: center; }
}
