/* Version two: a clearer introduction to a new way to move in. */
:root[data-theme="light"] { --ground:#fff; --label:#fff; --ink:#182d30; --ink-soft:#526563; --accent:#255947; --btn-bg:#d4f167; --btn-border:#d4f167; --btn-ink:#182d30; --chip:#edf2ef; --rule:#dce4df; --ok:#255947; }
body { font-family:'Public Sans',Arial,sans-serif; }
.wrap,.wrap.hero,.site-inner { max-width:1320px; padding-left:48px; padding-right:48px; }
header.site { background:#fff; border-bottom:1px solid #e6eae7; }
.site-inner { min-height:84px; }
.logo { color:#182d30; }
.logo .dot { color:#255947; }
.brand-motion { display:block; position:relative; width:42px; height:42px; font-size:42px; flex:none; transform:translateY(-4px); }
.brand-motion>.brand-mark { display:block; position:relative; width:100%; height:100%; overflow:visible; }
.brand-pop { position:absolute; left:50%; top:46%; width:.23em; height:.23em; opacity:0; color:var(--accent); transform:translate(-50%,0) scale(.4); pointer-events:none; }
.brand-pop svg { display:block; width:100%; height:100%; overflow:visible; }
.is-unboxing .brand-body { animation:brand-settle 1500ms cubic-bezier(.22,.8,.25,1) both; transform-box:view-box; transform-origin:32px 54px; }
.is-unboxing .brand-pop-1 { animation:brand-unpack-left 900ms cubic-bezier(.2,.6,.3,1) 550ms both; }
.is-unboxing .brand-pop-2 { animation:brand-unpack-center 900ms cubic-bezier(.2,.6,.3,1) 680ms both; }
.is-unboxing .brand-pop-3 { animation:brand-unpack-right 900ms cubic-bezier(.2,.6,.3,1) 810ms both; }
.is-unboxing .brand-check { stroke-dasharray:1; animation:brand-ready 500ms cubic-bezier(.35,0,.2,1) 1730ms both; }
@keyframes brand-settle { 0%,15% {transform:translateY(0);} 30% {transform:translateY(1.5px);} 65%,100% {transform:translateY(0);} }
@keyframes brand-unpack-left { 0% {opacity:0;transform:translate(-50%,.06em) scale(.4);} 18% {opacity:1;} 65% {opacity:1;transform:translate(-.47em,-.43em) rotate(-16deg) scale(1);} 100% {opacity:0;transform:translate(-.52em,-.5em) rotate(-20deg) scale(.9);} }
@keyframes brand-unpack-center { 0% {opacity:0;transform:translate(-50%,.06em) scale(.4);} 18% {opacity:1;} 65% {opacity:1;transform:translate(-.1em,-.6em) rotate(5deg) scale(1);} 100% {opacity:0;transform:translate(-.09em,-.67em) rotate(8deg) scale(.9);} }
@keyframes brand-unpack-right { 0% {opacity:0;transform:translate(-50%,.06em) scale(.4);} 18% {opacity:1;} 65% {opacity:1;transform:translate(.25em,-.42em) rotate(14deg) scale(1);} 100% {opacity:0;transform:translate(.3em,-.49em) rotate(18deg) scale(.9);} }
@keyframes brand-ready { from {stroke-dashoffset:1;} to {stroke-dashoffset:0;} }
@media(prefers-reduced-motion:reduce) { .is-unboxing * {animation:none!important;} }
.site-nav { gap:23px; }
.site-nav a { color:#344d47; }
.site-nav .btn { background:#182d30; border-color:#182d30; color:white; border-radius:100px; padding:12px 21px!important; }
.site-nav a.btn,.site-nav a.btn:hover,.site-nav a.btn:focus-visible { color:white; }
.btn { display:inline-flex; align-items:center; justify-content:space-between; gap:30px; border-radius:100px; padding:17px 25px; font-size:16px; font-weight:700; }
.btn:hover { background:#c5e451; border-color:#c5e451; color:#182d30; }
.btn span[aria-hidden] { font-size:22px; line-height:1; }
.icon-arrow-ne { display:inline-block; width:20px; height:20px; flex-shrink:0; vertical-align:-.2em; }
.btn>span[aria-hidden] { display:inline-flex; align-items:center; }
.eyebrow { font-size:12px; letter-spacing:.12em; font-weight:700; color:#42684f; }
h1,h2,h3 { text-transform:none; }
h2 { margin:0; font-size:clamp(34px,3.8vw,50px); line-height:1.12; letter-spacing:-.055em; }
.v2-hero { display:grid; grid-template-columns:1.04fr 1fr; gap:68px; padding-top:52px; padding-bottom:56px; align-items:center; }
.v2-hero-copy .eyebrow { display:flex; gap:9px; align-items:center; margin-bottom:22px; }
.launch-dot { width:7px; height:7px; background:#507b4a; border-radius:100%; }
.v2-hero h1 { font-size:clamp(52px,5.4vw,75px); line-height:.99; letter-spacing:-.066em; margin:0 0 26px; }
.v2-hero h1>span { color:#456b54; }
.v2-hero h1>.hero-signoff { display:block; margin-top:18px; font-size:28px; line-height:1.2; letter-spacing:-.04em; color:#182d30; }
.v2-hero .lead { font-size:17px; line-height:1.7; max-width:43ch; margin-bottom:26px; }
.v2-hero-actions { display:flex; align-items:center; gap:21px; }
.v2-hero-actions .btn,.closing-cta .btn { white-space:nowrap; flex-shrink:0; }
.v2-hero-actions>span { font-size:12px; line-height:1.8; color:#53675c; }
.quiet-link { display:inline-block; margin-top:25px; text-decoration:none; font-size:14px; color:#53675c; text-underline-offset:5px; }
.quiet-link:hover { text-decoration:underline; }
.v2-scene { position:relative; background:#edf2eb; border:1px solid #dfe6da; border-radius:24px; min-width:0; }
.scene-art { aspect-ratio:4/4.65; overflow:hidden; border-radius:24px; }
.scene-art>svg { width:100%; height:100%; padding:32px 28px 75px; }
.scene-art img { display:block; width:100%; height:100%; object-fit:cover; }
.scene-note { position:absolute; bottom:26px; left:-22px; right:22px; background:white; border:1px solid #e7eae2; box-shadow:0 10px 30px #182d3010; border-radius:12px; padding:18px 20px; display:flex; align-items:center; gap:14px; }
.scene-note strong { display:block; font-size:16px; letter-spacing:-.025em; }
.scene-note div>span { display:block; color:#647369; font-size:13px; margin-top:4px; }
.check-disc { display:grid; place-items:center; flex:none; width:39px; height:39px; background:#d4f167; border-radius:50%; font-size:20px; }
.art-caption { position:absolute; top:30px; left:0; right:0; text-align:center; font-size:12px; color:#182d30; }
.v2-scene--inventory { background:#fff; }
.v2-scene--inventory .scene-art { aspect-ratio:auto; }
.v2-scene--inventory .scene-art img { height:auto; object-fit:contain; }
.v2-scene--inventory .scene-note { position:static; margin:0 14px 14px; box-shadow:none; background:#f3f7ef; }
.promise-bar { background:#182d30; color:#fff; padding:26px 0; }
.promise-bar .wrap { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.promise-bar .wrap>span { font-size:12px; color:#c5d2c7; line-height:1.7; }
.promise-bar b { color:#fff; font-size:14px; margin-left:12px; font-weight:600; }
.promise-bar strong { color:#d4f167; font-size:15px; }
section { padding:90px 0; border:0; scroll-margin-top:90px; }
.intro-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; align-items:center; margin-bottom:48px; }
.intro-layout h2>span { color:#6a806d; }
.intro-layout>p { color:#526563; font-size:18px; line-height:1.8; max-width:43ch; }
#how { padding-top:62px; padding-bottom:62px; }
#how .intro-layout { margin-bottom:30px; }
#how h2 { font-size:clamp(30px,3.1vw,40px); }
#how .intro-layout>p { font-size:16px; }
#how .step h3 { font-size:21px; }
#how .step p { font-size:15px; }
.steps { gap:40px; }
.step { border-top:1px solid #cfdacf; padding:23px 0 0; }
.step .stamp { background:transparent; color:#48724d; font-size:13px; height:auto; width:auto; display:block; margin-bottom:20px; letter-spacing:.08em; }
.step h3 { font-size:23px; min-height:0; line-height:1.2; margin-bottom:12px; }
.step p { font-size:15px; line-height:1.75; }
#kits { background:#f2f5ef; }
.sec-head { align-items:end; margin-bottom:32px; }
.sec-head .eyebrow { margin-bottom:15px; }
.sec-head h2 { font-size:clamp(32px,3.5vw,46px); }
.sec-head>p { font-size:15px; line-height:1.7; color:#586b5b; margin:0; }
.bundle-card { display:grid; grid-template-columns:1fr 1fr; background:#203d34; color:white; border-radius:16px; overflow:hidden; }
.bundle-main { padding:42px 45px; }
.bundle-badge { display:inline-block; border:1px solid #78926b; color:#d4f167; font-size:12px; letter-spacing:.06em; padding:7px 10px; border-radius:4px; }
.bundle-main h3 { font-size:47px; letter-spacing:-.055em; line-height:1.1; margin:23px 0 14px; }
.bundle-main>p { font-size:18px; color:#d4e1d3; line-height:1.7; margin:0 0 24px; }
.bundle-price { font-size:40px; letter-spacing:-.05em; font-weight:700; margin:0 0 25px; }
.bundle-price s { font-size:23px; color:#afc5b2; font-weight:400; margin-left:6px; }
.bundle-price>span { display:block; font-size:12px; letter-spacing:0; font-weight:400; margin-top:6px; color:#d4e1d3; }
.bundle-main .btn { min-width:250px; }
.bundle-contents { background:#29473c; padding:42px 40px; }
.small-label { margin:0 0 20px; color:#c6dac2; font-size:12px; letter-spacing:.1em; }
.bundle-contents ul { list-style:none; padding:0; margin:0; }
.bundle-contents li { display:flex; gap:16px; padding:20px 0; border-top:1px solid #506958; align-items:center; }
.bundle-contents li>span:first-child { color:#a9c8a5; font-size:12px; }
.bundle-contents li>span:last-child { margin-left:auto; color:#d4f167; }
.bundle-contents strong { font-size:17px; color:#fff; }
.bundle-contents small { display:block; font-size:13px; margin-top:5px; color:#d0dfcc; line-height:1.5; }
.bundle-extras { margin-top:15px; background:#355442; padding:18px 20px; border-radius:8px; }
.bundle-extras>span { font-size:12px; letter-spacing:.1em; color:#d4f167; }
.bundle-extras p { margin:7px 0 0; color:#fff; font-size:15px; line-height:1.8; }
.room-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:42px 0 21px; }
.room-heading h3 { font-size:25px; letter-spacing:-.04em; margin:0; }
.room-heading p { font-size:13px; color:#61725f; margin:0; }
.room-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.room-card { background:#fff; border:1px solid #dbe3d4; border-radius:10px; padding:27px; display:flex; flex-direction:column; }
.room-card-top { display:flex; align-items:center; gap:10px; font-size:12px; letter-spacing:0; color:#687c66; margin-bottom:28px; }
.room-number { width:28px; height:28px; flex:none; display:grid; place-items:center; border:1px solid #dce5d5; border-radius:50%; font-size:12px; }
.room-title { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.room-title h3 { font-size:25px; letter-spacing:-.04em; margin:0; }
.room-title>span { font-size:24px; letter-spacing:-.035em; font-weight:700; }
.room-card>p { font-size:14px; line-height:1.7; color:#61705e; margin:15px 0; }
.room-card ul { padding-left:17px; color:#42583f; font-size:13px; line-height:1.7; margin:0 0 25px; }
.room-card li { padding:4px 0; }
.room-card .room-highlights { font-size:14px; margin-bottom:15px; }
.room-unpack { margin:0 0 18px; border:0; }
.room-unpack summary { padding:12px 14px; min-height:46px; background:#edf3e6; border:1px solid #d5e1c9; border-radius:7px; font-size:14px; color:#345c32; letter-spacing:0; }
.room-unpack summary:hover { background:#e2edd7; }
.room-unpack summary>span { white-space:nowrap; }
.room-unpack summary::after { flex:none; }
.room-unpack .unpack-open { display:none; }
.room-unpack[open] .unpack-closed { display:none; }
.room-unpack[open] .unpack-open { display:inline; }
.room-unpack[open] .room-includes { margin-top:18px; }
.room-includes { margin:4px 0 12px; font-size:14px; font-weight:700; }
.room-card .room-inventory { list-style:none; padding:0; margin:0 0 18px; font-size:14px; }
.room-inventory li { display:flex; justify-content:space-between; align-items:baseline; gap:12px; border-bottom:1px solid #e8ede3; padding:9px 0; }
.room-inventory li>span:first-child { min-width:0; }
.room-inventory small { display:block; font-size:12px; color:#61705e; line-height:1.6; margin-top:3px; }
.room-qty { flex:none; max-width:38%; font-size:12px; color:#526648; text-align:right; }
.room-card .room-bonus { margin:auto 0 20px; font-size:13px; }
.room-bonus a { color:#42683c; text-decoration:none; font-weight:600; }
.room-bonus a:hover { text-decoration:underline; }
.room-link { margin-top:auto; padding-top:19px; border-top:1px solid #e1e8db; display:flex; justify-content:space-between; gap:10px; font-size:14px; font-weight:700; text-decoration:none; }
.room-link:hover { color:#487949; }
/* Share content rows so all three disclosure buttons align, even when
   descriptions wrap or one card's full inventory is expanded. */
@media(min-width:821px) {
  .room-cards { row-gap:0; }
  .room-card { display:grid; grid-template-rows:subgrid; grid-row:span 7; row-gap:0; }
  .room-unpack { align-self:start; }
}
.sets-footnote { font-size:13px; color:#566b50; margin:22px 0 0; line-height:1.7; }
.sets-footnote a { margin-left:12px; font-weight:700; text-underline-offset:4px; }
#inside .sec-head { align-items:center; }
.inside-tabs button.on { background:#203d34; border-color:#203d34; color:white; }
.inside-grid .item { border-top-color:#9db98f; background:#f7f9f4; }
.inside-tabs button,.ctl-view { font-size:13px; }
.inside-grid .item h4 { font-size:17px; }
.item-photo { aspect-ratio:4/3; display:grid; place-items:center; background:#e9eee2; border-bottom:1px solid #d7e0cc; padding:16px; }
.item-photo span { font-size:13px; line-height:1.5; text-align:center; color:#526648; border:1px dashed #a8b899; border-radius:5px; padding:8px 12px; }
.item .room-tag { color:#42683c; }
#forgettables { background:#e9f1dc; }
.forget-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:100px; align-items:center; }
.forget-layout h2>span { color:#54744b; }
.forget-layout p:not(.eyebrow) { font-size:16px; line-height:1.8; color:#536748; max-width:47ch; margin:24px 0; }
.included-pill { display:inline-block; border:1px solid #aabb8e; border-radius:30px; padding:9px 15px; font-size:13px; font-weight:700; }
.forgettable-list { list-style:none; padding:0; margin:0; }
.forgettable-list li { padding:20px 0 20px 32px; position:relative; border-bottom:1px solid #c3d1b0; font-size:19px; font-weight:600; letter-spacing:-.025em; }
.forgettable-list li::before { content:'✓'; position:absolute; left:0; color:#547c37; font-size:16px; }
#faq .wrap { max-width:1320px; }
.faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:75px; }
.faq-layout details:first-child { border-top:1px solid var(--rule); }
.faq-layout summary { font-size:17px; padding:24px 0; }
.faq-layout .a { font-size:15px; }
.closing-cta { background:#d4f167; padding:62px 0; text-align:center; }
.closing-cta .eyebrow { color:#405637; }
.closing-cta h2 { font-size:clamp(44px,5.8vw,74px); letter-spacing:-.06em; margin-bottom:28px; }
.closing-cta .btn { background:#182d30; border-color:#182d30; color:white; min-width:190px; }
.closing-cta .btn:hover { background:#29473c; }
.colophon { display:none; }
footer.site { background:#fff; padding:32px 0; font-size:13px; }
#order h1,#partners h1 { font-size:clamp(40px,5vw,66px)!important; line-height:1.04; }
#order>.wrap>.lead { max-width:60ch; }
.pick-card.on { background:#f3f7eb; outline-color:#557c41; }
.ship-label .tape { background:#203d34; }
.order-household { margin:0 0 12px; font-size:13px; line-height:1.7; color:#526648; }
.pick-card input { accent-color:#426e39; }
.bundle-flash { background:#edf5dd; }
.order-slip>.btn { font-size:17px!important; justify-content:center; }
.bed-size-group { margin:26px 0 0; padding:22px; border:1px solid #bccdaa; border-radius:10px; background:#f3f7eb; min-width:0; }
.bed-size-group legend { padding:0 8px; font-size:18px; font-weight:700; letter-spacing:-.02em; }
.bed-size-group>p { margin:0 0 18px; font-size:14px; color:#526648; line-height:1.7; }
.bed-size-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.bed-size-field label { display:block; font-size:14px; margin-bottom:7px; }
.bed-size-field select { width:100%; min-height:48px; background:white; color:#182d30; border:1px solid #9eb18c; border-radius:6px; padding:10px; font:inherit; font-size:16px; }
.bed-size-line .amt { white-space:normal; text-align:right; }
@media(max-width:560px) { .bed-size-fields { grid-template-columns:1fr; } .bed-size-group { padding:18px; } }
.pc-details summary,.slip-line.disc { color:#426e39; }
.partner-hero { display:grid; grid-template-columns:1.3fr .7fr; gap:75px; align-items:center; }
.partner-value { background:#e9f1dc; padding:38px; border-radius:14px; }
.partner-value>span { font-size:12px; letter-spacing:.08em; line-height:1.7; color:#537443; display:block; margin-bottom:35px; }
.partner-value strong { display:block; font-size:49px; letter-spacing:-.06em; }
.partner-value p { margin:3px 0 0; color:#536748; }
.partner-value hr { border:0; border-top:1px solid #bdcfa5; margin:25px 0; }
.partner-steps { margin:65px 0 80px; }
#partner-contact { scroll-margin-top:110px; }
#partner-contact p:not(.eyebrow) { font-size:17px; line-height:1.8; color:#526563; }
form.panel .btn { font-size:17px; justify-content:center; }
@media(max-width:1100px) {
  .wrap,.wrap.hero,.site-inner { padding-left:30px; padding-right:30px; }
  .site-nav { gap:15px; }
  .v2-hero { gap:40px; }
  .v2-hero h1 { font-size:58px; }
  .v2-hero-actions { flex-wrap:wrap; gap:12px; }
  .promise-bar .wrap { flex-wrap:wrap; }
  .intro-layout,.forget-layout { gap:50px; }
  .bundle-main,.bundle-contents { padding:32px; }
  .room-card { padding:21px; }
  .room-title { flex-wrap:wrap; }
}
@media(max-width:820px) {
  .v2-hero { gap:30px; padding-top:36px; }
  .v2-hero h1 { font-size:48px; }
  .v2-hero .lead { font-size:16px; }
  .v2-scene,.scene-art { border-radius:20px; }
  .scene-art { aspect-ratio:3/4; }
  .scene-note { left:12px; right:12px; padding:12px; bottom:15px; }
  .scene-note strong { font-size:14px; }
  .scene-note div>span { font-size:12px; }
  .check-disc { width:28px; height:28px; font-size:15px; }
  .promise-bar .wrap>span:first-child { width:100%; }
  .promise-bar b { display:block; margin:4px 0 0; font-size:13px; }
  .promise-bar .wrap { gap:16px; }
  section { padding:60px 0; }
  .intro-layout { grid-template-columns:1fr; gap:15px; margin-bottom:30px; }
  .intro-layout>p { max-width:65ch; font-size:16px; margin:0; }
  .steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
  .step h3 { font-size:21px; }
  .step p { font-size:14px; }
  .bundle-card { grid-template-columns:1fr 1fr; }
  .bundle-main,.bundle-contents { padding:27px; }
  .bundle-main h3 { font-size:38px; }
  .bundle-badge { font-size:12px; }
  .bundle-main .btn { min-width:0; width:100%; gap:12px; }
  .room-cards { grid-template-columns:1fr; }
  .room-card ul { font-size:14px; }
  .room-card-top { margin-bottom:15px; }
  .room-title { flex-wrap:nowrap; }
  .room-heading { display:block; }
  .room-heading p { margin-top:10px; }
  .forget-layout,.faq-layout,.partner-hero { grid-template-columns:1fr; gap:30px; }
  .partner-value { display:block; }
  .partner-steps { margin:40px 0 60px; }
}
@media(max-width:560px) {
  .wrap,.wrap.hero,.site-inner { padding-left:22px; padding-right:22px; }
  .v2-hero { grid-template-columns:1fr; padding-top:32px; padding-bottom:32px; gap:28px; }
  .v2-hero h1 { font-size:clamp(42px,12vw,64px); }
  .v2-hero-actions { flex-wrap:wrap; gap:13px; }
  .v2-hero-actions .btn { gap:17px; padding:15px 20px; }
  .v2-hero-actions>span { font-size:12px; }
  .v2-hero .quiet-link { margin-top:18px; }
  .v2-scene,.scene-art { border-radius:18px; }
  .scene-art { aspect-ratio:1.1; }
  .scene-art img { object-position:center 57%; }
  .scene-note { bottom:13px; left:13px; right:13px; }
  .art-caption { top:16px; font-size:12px; }
  .promise-bar .wrap { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  .promise-bar .wrap>span:first-child { grid-column:1/-1; padding-bottom:5px; }
  .promise-bar b { font-size:12px; line-height:1.6; }
  h2 { font-size:34px; }
  .steps { grid-template-columns:1fr; gap:25px; }
  .step { padding-top:20px; }
  .step .stamp { margin-bottom:12px; }
  .step p { font-size:15px; }
  .bundle-card { grid-template-columns:1fr; }
  .bundle-main,.bundle-contents { padding:27px; }
  .bundle-main h3 { font-size:42px; }
  .bundle-main .btn { width:auto; min-width:230px; }
  .bundle-extras p { font-size:15px; }
  .sets-footnote a { display:block; margin:10px 0 0; }
  .forgettable-list li { font-size:17px; }
  .sec-head>p { font-size:14px; }
  .closing-cta { padding:48px 0; }
  .partner-value { padding:27px; }
  .scene-note strong { font-size:15px; }
}
