:root{--green:#4b5320;--dark:#28311f;--gold:#bfa14a;--paper:#f9f5ec;--ink:#273025;--muted:#666c60;--line:#dddccf}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #aa7f1d;outline-offset:4px}button{color:inherit}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(36px,4vw,58px);line-height:1.1;letter-spacing:-1.6px;margin-bottom:14px}h2{font-size:30px;line-height:1.17;margin-bottom:18px}h3{font-size:19px;line-height:1.35;margin:12px 0 8px}.top{height:100px;padding:0 5%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-family:Georgia,serif;letter-spacing:4px;font-size:25px;line-height:1.1}.brand small{display:block;font-family:Arial,sans-serif;letter-spacing:1.8px;font-size:10px;margin-top:8px}.mark{height:44px;width:44px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;font-style:italic;color:var(--green);padding-left:5px}.edition{letter-spacing:2px;font-size:12px}.edition b{margin-left:12px;color:var(--gold)}.text-button,.profile-link{border:0;background:none;text-decoration:underline;text-underline-offset:4px;font-size:14px}.intro{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:44px 0 30px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--green);margin-bottom:13px}.lede{font-size:17px;color:var(--muted);margin:0}.intro-side{text-align:right;flex-shrink:0;font-size:13px;color:var(--muted)}.intro-side p{margin:12px 0 0}.pill{font-size:10px;font-weight:700;letter-spacing:1px;border:1px solid #c5c8b0;padding:7px 12px;border-radius:20px;color:var(--green)}main{max-width:1500px;margin:auto;padding:0 5%}.workspace{display:grid;grid-template-columns:1.35fr 1fr;min-height:595px;border:1px solid var(--line);background:#fffdf7}.visual{position:relative;min-height:595px;overflow:hidden;background:#48483c}.visual>img{position:absolute;width:100%;height:100%;object-fit:cover}.image-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 35%,rgba(13,21,12,.82))}.photo-note{position:absolute;top:20px;left:22px;right:22px;font-size:11px;color:white;text-shadow:0 1px 4px #000}.photo-caption{position:absolute;bottom:78px;left:30px;right:24px;color:white}.photo-caption>p:first-child{font-size:11px;letter-spacing:2px;color:#e9d6a1}.photo-caption h2{font-size:clamp(30px,3vw,45px);max-width:450px;margin-bottom:12px}.photo-caption>p:last-child{font-size:15px;color:#eee}.gallery-trigger{position:absolute;left:30px;bottom:25px;border:1px solid #ffffff70;color:white;background:#ffffff10;backdrop-filter:blur(6px);padding:10px 14px;font-size:13px;border-radius:4px}.gallery-trigger span{margin-right:8px}.day-panel{padding:27px 30px;display:flex;flex-direction:column}.panel-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.panel-top .eyebrow{font-size:10px;letter-spacing:1.3px}.profile-link{font-size:12px;color:var(--green);padding:0}.stages{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);margin:10px 0 20px}.stages button{background:transparent;border:0;border-bottom:3px solid transparent;padding:10px 3px 13px;font-size:14px;color:var(--muted)}.stages button span{font-size:10px;display:block;margin-bottom:2px;letter-spacing:1px}.stages button[aria-selected=true]{color:var(--green);border-color:var(--green);font-weight:700}.scene-subtitle{font-size:14px;color:var(--muted);margin-bottom:20px}.evidence{font-size:10px;font-weight:700;letter-spacing:1.2px;color:var(--green);display:inline-block;background:#e9eddc;padding:5px 8px;border-radius:3px}.evidence.unknown{background:#f3eada;color:#7b5822}.observation p,.question p{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:0}.observation{padding-bottom:20px;border-bottom:1px solid var(--line)}.question{padding-top:20px}.personal-callout{display:flex;gap:12px;align-items:flex-start;padding:16px 0}.personal-callout p{font-size:13px;margin:0;color:var(--green)}.small-star{color:#947722;font-size:24px}.primary{border:0;background:var(--green);color:white;font-weight:600;padding:14px 20px;border-radius:3px;width:100%}.primary:hover{background:#353e16}.privacy{font-size:11px;line-height:1.55;color:var(--muted);margin:10px 0 0;text-align:center}.day-panel>.primary{margin-top:auto}.below{display:grid;grid-template-columns:1.35fr 1fr;gap:50px;padding:55px 0;border-bottom:1px solid var(--line)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-head h2{margin-bottom:8px}.progress{font-size:12px;white-space:nowrap;color:var(--green)}.section-desc{font-size:14px;color:var(--muted)}.check-item{display:flex;gap:12px;align-items:flex-start;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px;cursor:pointer}.check-item input{accent-color:var(--green);width:18px;height:18px;flex-shrink:0;margin-top:3px}.check-item:has(input:checked) span{text-decoration:line-through;color:var(--muted)}.secondary{background:transparent;border:1px solid var(--green);border-radius:3px;padding:10px 16px;font-size:14px;margin-top:22px}.evidence-panel{background:#eeeedf;padding:30px;align-self:start}.evidence-panel h2{font-size:29px}.evidence-panel .eyebrow{font-size:10px;letter-spacing:1.5px}.evidence-row{display:flex;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid #d3d5c4;font-size:13px}.evidence-row b{font-size:12px;font-weight:400;color:var(--muted);text-align:right}.evidence-row .available{color:var(--green);font-weight:700}.evidence-panel>p:last-child{font-size:12px;color:var(--muted);margin:20px 0 0}.rooms-section{padding:45px 0 60px}.rooms-section .section-head>p{font-size:13px;color:var(--muted)}.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}.room-card{background:none;border:0;text-align:left;padding:0}.room-card>img{width:100%;height:225px;object-fit:cover;display:block;transition:filter .2s}.room-card:hover img{filter:brightness(.92)}.room-card>span{display:block;padding-top:15px}.room-card b{font-family:Georgia,serif;font-size:22px;font-weight:400;display:block}.room-card small{display:block;font-size:13px;color:var(--muted);margin-top:6px}footer{padding:28px 5%;background:var(--dark);color:#e5e9db;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px}footer>span:first-child{letter-spacing:2px;font-size:16px}footer i{font-family:Georgia,serif;letter-spacing:0;font-size:15px;display:block;color:#ddc689}footer p{margin:0;color:#c7cbbf}dialog{border:1px solid var(--line);padding:30px;max-width:580px;width:calc(100% - 32px);max-height:90dvh;background:var(--paper);color:var(--ink);border-radius:8px;box-shadow:0 20px 90px #0004}dialog::backdrop{background:#121b16b0;backdrop-filter:blur(3px)}dialog h2{font-size:34px}dialog p{font-size:14px;color:var(--muted)}.dialog-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.close{border:0;background:none;font-size:28px;line-height:1;width:32px;height:32px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.choices label{border:1px solid var(--line);padding:13px 10px;background:#fffdf8;font-size:14px;border-radius:4px;cursor:pointer}.choices label:has(input:checked){border-color:var(--green);background:#e9edda}.choices input{accent-color:var(--green);margin-right:5px}fieldset{border:0;padding:0;margin:20px 0}legend,.field{font-size:14px;font-weight:600}.field{display:block;margin:18px 0}select{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid var(--line);background:white;border-radius:3px;color:var(--ink)}#profileForm>.primary{margin-top:20px}#galleryDialog{max-width:1050px}.gallery-main{height:55dvh;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#e6e5dd}.gallery-main img{max-height:100%;max-width:calc(100% - 90px);object-fit:contain}.gallery-nav{background:none;border:0;font-size:40px;width:35px;flex-shrink:0}.gallery-meta{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:10px 0}.gallery-meta p{margin:0}.gallery-meta span{font-size:12px;white-space:nowrap}.thumbs{display:flex;gap:8px;overflow-x:auto;padding:4px}.thumbs button{padding:0;border:2px solid transparent;background:none;flex-shrink:0;height:52px;width:65px}.thumbs button[aria-current=true]{border-color:var(--green);outline:1px solid var(--green)}.thumbs img{width:100%;height:100%;object-fit:cover}.check-print-title{display:none}@media(min-width:1500px){.top,footer{padding-left:calc((100vw - 1350px)/2);padding-right:calc((100vw - 1350px)/2)}}@media(max-width:950px){.workspace,.below{grid-template-columns:1fr 1fr}.day-panel{padding:22px}.photo-caption{left:22px}.visual{min-height:640px}.intro-side{display:none}.below{gap:25px}.evidence-panel{padding:22px}.room-card>img{height:190px}.edition{display:none}}@media(max-width:700px){.top{height:80px;padding:0 5%}.brand{font-size:21px}.text-button{font-size:12px}.intro{margin:30px 0 25px}.lede{font-size:15px}.workspace,.below{grid-template-columns:1fr}.visual{min-height:390px}.photo-caption h2{font-size:35px}.day-panel{padding:25px 22px}.below{padding:35px 0;gap:30px}.section-head h2{font-size:27px}.rooms{grid-template-columns:1fr;gap:28px}.room-card>img{height:260px}.rooms-section .section-head>p{display:none}footer{flex-direction:column;text-align:center;gap:15px}.photo-note{font-size:10px}.progress{font-size:11px}.evidence-row{font-size:14px}.choices{grid-template-columns:1fr}dialog{padding:22px}.gallery-main{height:43dvh}.gallery-meta{align-items:flex-start}.gallery-meta p{font-size:13px}.privacy{font-size:12px}.scene-subtitle,.observation p,.question p{font-size:15px}.personal-callout p{font-size:14px}.eyebrow,.evidence{font-size:11px}}@media print{body{background:white}.top,.intro,.workspace,.evidence-panel,.rooms-section,footer,dialog,.secondary{display:none!important}main{padding:0}.below{display:block;border:0;padding:0}.checklist-section:before{content:'Roots Living Preview · Showing checklist';font-size:22px;font-family:Georgia,serif;display:block;margin-bottom:25px}.check-item{break-inside:avoid}.progress{display:none}}

#previewResult{scroll-margin-top:24px}#previewStatus{padding:14px 16px;background:#e9eddc;border-left:3px solid var(--green);color:var(--green);font-size:16px}

[hidden]{display:none!important}.visual-previews{padding:42px 0 10px;scroll-margin-top:24px}.visual-previews:focus{outline:none}.visual-previews .section-head{flex-wrap:wrap}.visual-previews .secondary{margin:0}.category-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.category-tabs button,.comparison button{border:1px solid var(--green);background:#fffdf7;border-radius:4px;padding:12px 16px;font-size:16px}.category-tabs button[aria-pressed=true],.comparison button[aria-pressed=true]{background:var(--green);color:white}.concept-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);border:1px solid var(--line);background:#fffdf7}.concept-image{position:relative;background:#e6e5dd;display:flex;align-items:center;min-width:0}.concept-image img{display:block;width:100%;max-height:680px;object-fit:contain}.concept-image>span{position:absolute;top:12px;left:12px;right:12px;width:fit-content;background:#28311fee;color:white;font-size:14px;padding:7px 10px;border-radius:4px}.concept-details{padding:28px}.concept-details h3{font-family:Georgia,serif;font-size:26px;font-weight:400}.concept-details p{font-size:16px}.concept-details .eyebrow{font-size:14px}.comparison{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 18px}.concept-details .concept-disclosure{font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:20px}#preferenceError{color:#8c2b14;font-size:16px}.choices label,.field,legend{font-size:16px}@media(max-width:800px){.concept-layout{grid-template-columns:1fr}.concept-details{padding:22px}.concept-image img{max-height:none}.visual-previews{padding-top:30px}.category-tabs button{flex-grow:1}.concept-image>span{font-size:12px}}@media print{.visual-previews{display:none!important}}

.property-facts{display:flex;flex-wrap:wrap;gap:8px 24px;padding:0 0 24px;font-size:16px}.property-facts span{font-size:14px;color:var(--muted)}.floor-plan-section{padding:24px;border:1px solid var(--line);margin-bottom:24px}.floor-plan-section .secondary{display:inline-block;margin:0 0 18px;text-decoration:none}.floor-plan-section p:last-child{margin-bottom:0}@media print{.property-facts,.floor-plan-section{display:none!important}}

.gallery-filter{display:flex;align-items:center;gap:16px;margin:0 0 16px;font-size:16px}.gallery-filter select{width:auto;flex:1;margin:0;min-width:0}.rooms{row-gap:32px}@media(max-width:480px){.gallery-filter{display:block}.gallery-filter select{width:100%;margin-top:8px}}

.weather-panel{border-top:1px solid #d3d5c4;border-bottom:1px solid #d3d5c4;margin-top:20px;padding:22px 0}.weather-panel h3{font-family:Georgia,serif;font-size:26px;margin:0 0 12px}.weather-panel .eyebrow{font-size:12px}.weather-panel>p{font-size:14px}.weather-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.weather-period{padding:14px;background:#fffdf7;border:1px solid var(--line);border-radius:4px}.weather-period h4{font-size:14px;margin:0 0 6px}.weather-period strong{font-size:22px}.weather-period p{font-size:14px;margin:8px 0 0;overflow-wrap:anywhere}.weather-panel .weather-meta{font-size:13px;color:var(--muted);margin:14px 0 0}.weather-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:14px}.weather-actions .secondary{margin:0}.weather-actions a{font-size:14px}.weather-actions button:disabled{opacity:.6;cursor:wait}@media(max-width:380px){.weather-periods{grid-template-columns:1fr}}

.connection-panel{border-top:1px solid #d3d5c4;margin-top:24px;padding-top:24px}.connection-panel h3{font-family:Georgia,serif;font-size:26px;margin:0 0 12px}.connection-panel p{font-size:16px}.connection-panel label{display:block;font-size:14px;font-weight:600;margin:12px 0 6px}.connection-panel input:not([type=hidden]){display:block;width:100%;min-width:0;border:1px solid #bbbfa9;border-radius:4px;background:#fffdf7;color:var(--ink);font-size:16px;padding:12px}.connection-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.connection-actions .secondary{margin:0;text-decoration:none;display:inline-block;font-size:14px;min-height:44px}.connection-panel .connection-note{font-size:13px;color:var(--muted);margin:14px 0 0}.connection-panel [role=status]{font-size:14px;margin:10px 0 0}#commuteFallback{display:inline-block;margin-top:10px;font-size:14px}.connection-panel .eyebrow{font-size:12px}
