/* A little more invitation, without losing the architectural character. */
:root{--muted:#696c5e;--accent:#657b56}
.view-switch{border:1px solid #bac1ac;background:#e5e8dc;padding:4px;border-radius:12px;box-shadow:0 3px 12px #35412b08;gap:3px;flex-shrink:0}
.view-switch button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 15px;color:#44513d;font-size:12px;font-weight:600;border-radius:8px;transition:background .2s,transform .2s,box-shadow .2s}
.view-switch button span{font-size:19px;line-height:1}.view-switch button[aria-pressed=true]{background:#374830;color:#fff;box-shadow:0 3px 8px #263b2528}.view-switch button:hover:not([aria-pressed=true]){background:#f9fbf2;transform:translateY(-1px)}
.visual-heading>.eyebrow{color:#666d59;line-height:1.8;max-width:190px;font-size:9px}
.scene-story{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;font-size:10px;color:#737a66}.scene-story>span:first-child{background:#e4e9d8;color:#425235;border:1px solid #c6cfb8;padding:7px 10px;border-radius:30px;letter-spacing:1.2px;font-size:9px;font-weight:700}
.scene{border-radius:18px;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#dce3ce,transparent 75%);margin-top:10px;transition:background .65s ease,box-shadow .65s ease}
.scene.night:not(.plan){background:radial-gradient(ellipse at 50% 75%,#4b6554,#293e38 75%);box-shadow:inset 0 0 80px #142e2630}
.scene.night:not(.plan) svg text{fill:#d8dfca}.scene.night:not(.plan) svg>g:last-of-type{opacity:.6}.scene.plan{background:#ecefe3}
.scene-caption{font-size:11px;color:#56634b;min-height:66px;padding:10px 0;border-bottom-color:#cdd3bf;flex-wrap:wrap;row-gap:10px}
#day-toggle{display:flex;align-items:center;justify-content:center;gap:9px;background:#f5e9cf;border:1px solid #ccb98e;border-radius:30px;padding:11px 16px;min-height:44px;font-size:12px;font-weight:600;color:#5c4b29;box-shadow:0 3px 10px #8d734c0c;transition:transform .2s,background .25s}
#day-toggle span{font-size:21px;line-height:1}#day-toggle:hover{transform:translateY(-2px);background:#ead7ac}#day-toggle[aria-pressed=true]{background:#334d42;color:#faf0d4;border-color:#334d42}#day-toggle[aria-pressed=true]:hover{background:#456657}
.controls-intro p{color:#626b57}.control-group{transition:background .2s}.control-group:focus-within legend b{color:#4e693c}.roof-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;clear:both}
.roof-options button{position:relative;text-align:left;border:1px solid #cdd0c1;background:#f4f3eb;border-radius:11px;padding:12px;color:#57684b;transition:transform .25s,border-color .2s,box-shadow .25s;min-width:0}
.roof-options button>svg{width:78px;height:55px;display:block;margin-bottom:7px}.roof-options strong{font-size:13px;display:block;color:#36452d}.roof-options small{display:block;color:#717867;font-size:9px;line-height:1.6;margin-top:6px}.roof-options i{position:absolute;top:11px;right:11px;width:19px;height:19px;border:1px solid #c2c9b5;border-radius:50%;font-size:11px;font-style:normal;display:grid;place-items:center;color:transparent}
.roof-options button[aria-pressed=true]{background:#e8eddb;border:1.5px solid #73865d;box-shadow:0 4px 14px #53634012}.roof-options button[aria-pressed=true] i{color:#fff;background:#667e50;border-color:#667e50}.roof-options button:hover{transform:translateY(-3px);border-color:#73865d;box-shadow:0 7px 18px #53634016}
.hint{font-size:10px;color:#69725b}.options button{border-radius:7px;border-color:#c9cebd;font-weight:500;transition:transform .2s,background .2s}.options button:hover{background:#e7ecd9;transform:translateY(-2px)}.options button[aria-pressed=true]{background:#e0e8cf;border-color:#6a7e51;color:#314725;box-shadow:inset 0 0 0 .5px #6a7e51}
.swatches button{font-size:11px}.swatches span{transition:transform .2s}.swatches button:hover span{transform:scale(1.13)}.primary{background:#425a34;border-radius:6px;transition:background .2s,transform .2s,box-shadow .2s}.primary:hover{background:#5d764b;transform:translateY(-1px);box-shadow:0 5px 16px #425a3420}.extras label{font-size:12px}.extras small{font-size:10px;line-height:1.6}.extras i{width:36px;height:21px}.extras i:after{width:15px;height:15px}.extras input:checked+i:after{transform:translateX(15px)}
.summary>p{font-size:12px}.concept-strip .text-button{font-size:10px;padding:10px;border:1px solid #cbd0bd;border-radius:6px}.illustration-note{font-size:9px;color:#74776a}.invitation{border-radius:12px;border-color:#c4cbb5;transition:transform .25s,box-shadow .25s}.invitation:hover{transform:translateY(-3px);box-shadow:0 10px 30px #35462a20}.invite-icon{color:#667e50}
@media(min-width:1100px){.visual-heading{align-items:center}.visual-heading>.eyebrow{font-size:8px;max-width:160px}.scene{max-height:47dvh}.scene svg{max-height:47dvh}}
@media(max-width:1099px) and (min-width:701px){.visual-heading{flex-direction:column;align-items:flex-start}.visual-heading>.eyebrow{max-width:none}.view-switch{width:100%}.view-switch button{flex:1;font-size:11px;padding:8px}.scene-story{font-size:9px}.scene-story>span:last-child{max-width:130px;text-align:right;line-height:1.6}}
@media(max-width:700px){.visual-heading{align-items:center;flex-direction:column;gap:12px}.visual-heading>.eyebrow{max-width:none;font-size:8px;text-align:center}.view-switch{width:100%}.view-switch button{font-size:12px;flex:1;padding:9px 10px;min-height:44px}.scene-story{font-size:9px;margin-top:15px}.scene-story>span:last-child{max-width:138px;text-align:right;line-height:1.6}.scene{margin:10px -8px 0;aspect-ratio:1.3}.scene-caption{padding-top:12px;font-size:10px}#day-toggle{font-size:12px;padding:9px 13px}.roof-options button{padding:14px}.roof-options small{font-size:10px}.hint{font-size:11px}.extras small{font-size:10px}.illustration-note{font-size:9px;line-height:1.7}.concept-strip h2{font-size:16px}.concept-strip .eyebrow{font-size:7px;letter-spacing:1.1px}.concept-strip .text-button{font-size:9px;flex-shrink:0}.concept-number{padding-right:10px}.summary>p{line-height:1.9}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.scene{width:100%;margin-left:0;margin-right:0}
