:root{--paper:#f5f2ec;--ink:#292c27;--muted:#6d7169;--line:#deddd4;--wash:#eae7df;--secondary:#5e645b;--solid-hover:#474f43;--selection:#dcdccf;--backdrop:rgb(35 42 34 / .16);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:flex;flex-direction:column}main{flex:1}button,input{font:inherit}button{background:none;color:inherit;border:0;cursor:pointer}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:1px solid var(--ink);outline-offset:5px}button:disabled{cursor:default;color:var(--muted)}[hidden]{display:none!important}::selection{background:var(--selection);color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;left:20px;top:-80px;padding:14px;background:var(--ink);color:var(--paper);z-index:99}.skip-link:focus{top:10px}
.header{height:94px;padding:0 38px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.header button{min-height:44px}.menu-toggle{display:flex;align-items:center;gap:13px;padding:0;justify-self:start;min-width:44px}.plus{width:17px;height:17px;position:relative}.plus:before,.plus:after{content:'';position:absolute;background:currentColor}.plus:before{width:17px;height:1px;top:8px;left:0}.plus:after{width:1px;height:17px;top:0;left:8px}.desktop-label{font-size:9px;letter-spacing:.06em}.wordmark{text-align:center;letter-spacing:.19em;font-size:15px;line-height:1.6;white-space:nowrap;padding-left:.19em}.wordmark>span{display:block;font-size:6px;letter-spacing:.2em;color:var(--muted)}.saved-toggle{justify-self:end;padding:0;font-size:9px;letter-spacing:.04em}.saved-toggle span{margin-left:7px}
.catalog-intro{padding:22px 24px 0}.catalog-intro h1{font-size:11px;font-weight:400;letter-spacing:.03em;text-align:center;margin:0 0 21px;color:var(--muted)}.categories{display:flex;justify-content:center;gap:29px}.category{position:relative;font-size:9px;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap;min-height:44px;padding:12px 0;color:var(--muted)}.category[aria-pressed=true]{color:var(--ink)}.category:after{content:'';position:absolute;bottom:6px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transition:transform .2s}.category[aria-pressed=true]:after{transform:scaleX(1)}
.catalog{padding:0 6%}.catalog-grid{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 24px;padding:16px 0 55px}.plan-card{position:relative;min-width:0;animation:arrive .4s both;animation-delay:var(--delay)}.plan-open{width:100%;padding:0 12px 24px;display:flex;flex-direction:column;align-items:center;text-align:center}.plan-visual{height:210px;display:grid;place-items:center;width:100%}.plan-icon{width:132px;height:132px;display:block;color:var(--ink);transition:transform .35s cubic-bezier(.2,.7,.2,1);overflow:visible}.plan-title{margin:0;font-size:11px;font-weight:400;line-height:1.55;text-transform:uppercase;letter-spacing:.03em}.plan-meta{color:var(--muted);font-size:9px;letter-spacing:.025em;margin-top:7px;line-height:1.5}.card-save{width:44px;height:44px;position:absolute;right:10px;top:13px;display:grid;place-items:center;color:var(--muted);opacity:0;transition:opacity .2s}.card-save svg{width:15px;height:15px}.card-save[aria-pressed=true]{opacity:1;color:var(--ink)}.card-save[aria-pressed=true] svg{fill:currentColor}.card-save:focus-visible,.plan-card:focus-within .card-save{opacity:1}
.walk-invitation{margin:0 auto 52px;width:min(520px,calc(100% - 48px));border-top:1px solid var(--line);padding-top:23px}.walk-link{display:flex;align-items:center;gap:20px;width:100%;text-align:left;padding:5px 0;min-height:68px}.walk-link>svg{width:49px;height:40px;flex-shrink:0}.walk-link>span:nth-child(2){display:flex;flex-direction:column;gap:8px;font-size:11px;line-height:1.5}.walk-label{font-size:8px;letter-spacing:.07em;color:var(--muted)}.walk-arrow{margin-left:auto;font-size:22px;font-weight:300;transition:transform .2s}
footer{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:25px 38px 28px;font-size:8px;letter-spacing:.04em;line-height:1.5}.footer-links{display:flex;align-items:center;gap:26px}.footer-links button,.footer-links a{font-size:8px;min-height:44px;display:flex;align-items:center;padding:0}.location,.copyright{color:var(--muted)}
dialog{border:0;background:var(--paper);color:var(--ink);padding:0}dialog::backdrop{background:var(--backdrop);backdrop-filter:blur(3px)}body:has(dialog[open]){overflow:hidden}.drawer{margin:0 0 0 auto;width:450px;max-width:100%;height:100dvh;max-height:100dvh;padding:27px 34px;overflow:auto}.menu-drawer{margin:0 auto 0 0}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;margin-bottom:36px}.dialog-top>span{font-size:11px;letter-spacing:.1em}.dialog-top h2{font-size:19px;font-weight:400;margin:0}.icon-button{width:44px;height:44px;padding:0;display:grid;place-items:center;font-size:24px;flex-shrink:0}.icon-button:hover{background:var(--wash)}.menu-nav{display:flex;flex-direction:column}.menu-nav button,.menu-bottom>button{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:16px 0;min-height:54px;font-size:21px}.menu-nav button span{font-size:9px;color:var(--muted)}.menu-bottom{margin-top:32px;border-top:1px solid var(--line);padding-top:20px}.menu-bottom>button{width:100%;font-size:12px;min-height:44px;padding:12px 0}.menu-bottom>button span{font-size:15px}.menu-bottom p{margin:37px 0 15px;font-size:23px;line-height:1.4;letter-spacing:-.04em}
.detail-dialog{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;overflow-y:auto}.detail-dialog::backdrop{background:var(--paper)}.detail-header{height:83px;padding:0 38px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:sticky;top:0;background:var(--paper);z-index:2}.detail-back{justify-self:start;display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.04em;min-height:44px;padding:0}.detail-back svg{width:16px;height:16px}.detail-save{justify-self:end;display:flex;align-items:center;gap:9px;font-size:9px;min-height:44px;padding:0}.detail-save svg{width:14px;height:14px}.detail-save[aria-pressed=true] svg{fill:currentColor}.detail-body{padding:9px 24px 58px;display:flex;align-items:center;flex-direction:column}.detail-stage{position:relative;display:grid;place-items:center;width:min(100%,780px);height:clamp(260px,40vh,390px);flex-shrink:0;touch-action:pan-y}.detail-stage>.plan-icon{width:216px;height:216px;animation:plan-enter .5s cubic-bezier(.2,.7,.2,1) both}.detail-stage>img{width:calc(100% - 80px);height:100%;object-fit:contain;filter:grayscale(1);animation:arrive .3s both}.detail-stage>img.interior-image{max-width:530px}.detail-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;font-size:22px;display:grid;place-items:center;z-index:1}.detail-arrow.prev{left:0}.detail-arrow.next{right:0}.view-modes{display:flex;justify-content:center;gap:24px;margin:15px 0 29px}.view-modes button{font-size:8px;letter-spacing:.06em;padding:12px 0;min-height:44px;position:relative;color:var(--muted)}.view-modes button[aria-pressed=true]{color:var(--ink)}.view-modes button[aria-pressed=true]:after{content:'';height:1px;background:currentColor;position:absolute;left:0;right:0;bottom:4px}.detail-info{width:min(100%,340px);text-align:center}.detail-index{font-size:8px;color:var(--muted);letter-spacing:.08em;margin:0 0 11px}.detail-info h2{font-size:12px;font-weight:400;letter-spacing:.035em;text-transform:uppercase;line-height:1.7;margin:0}.detail-area{font-size:11px;color:var(--muted);margin:13px 0 24px;line-height:1.6}.solid-button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;min-height:49px;padding:14px 17px;background:var(--ink);color:var(--paper);font-size:10px;letter-spacing:.035em;line-height:1.4;text-align:left;transition:background .2s}.solid-button:hover{background:var(--solid-hover)}.outline-button{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:47px;border:1px solid var(--line);width:100%;padding:13px 16px;font-size:10px;margin-top:10px}.detail-note{font-size:10px;line-height:1.7;color:var(--muted);margin:12px 0 22px}.detail-info details{border-top:1px solid var(--line);text-align:left}.detail-info summary{list-style:none;cursor:pointer;font-size:10px;padding:16px 24px 16px 0;position:relative;min-height:45px}.detail-info summary::-webkit-details-marker{display:none}.detail-info summary:after{content:'+';position:absolute;right:0;top:11px;font-size:17px}.detail-info details[open] summary:after{content:'−'}.detail-info details p{font-size:12px;line-height:1.85;margin:0 0 18px;color:var(--secondary)}.detail-info dl{font-size:11px;line-height:1.6;margin:0 0 18px}.detail-info dl>div{display:flex;justify-content:space-between;gap:16px;margin:12px 0}.detail-info dt{color:var(--muted)}.detail-info dd{margin:0;text-align:right}.detail-info details a{text-decoration:underline;text-underline-offset:4px}.detail-minor{display:flex;justify-content:center;gap:28px;margin-top:22px}.detail-minor button{font-size:9px;color:var(--muted);min-height:44px;padding:0}
.info-dialog{width:520px;max-width:calc(100% - 30px);max-height:88dvh;padding:25px 35px 35px}.info-dialog .dialog-top{margin-bottom:18px}.info-dialog .eyebrow{font-size:9px;letter-spacing:.1em;color:var(--muted);margin:14px 0 20px}.info-dialog h3{font-size:28px;line-height:1.3;letter-spacing:-.035em;font-weight:400;margin:20px 0}.info-dialog p{font-size:12px;line-height:1.9;color:var(--secondary)}.info-dialog .phone-link{font-size:24px;letter-spacing:-.03em;display:block;margin:30px 0 23px}.info-list{padding:0;list-style:none}.info-list li{padding:15px 0;border-top:1px solid var(--line);display:flex;gap:24px;font-size:12px;line-height:1.7}.info-list li span{font-size:9px;color:var(--muted);padding-top:3px}.info-footnote{font-size:10px!important;color:var(--muted)!important}.text-link{text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center;font-size:11px}
.saved-empty{padding:42px 0;text-align:center}.saved-empty svg{width:54px;height:54px}.saved-empty h3{font-size:20px;font-weight:400;margin-top:28px}.saved-empty p{font-size:12px;line-height:1.8;color:var(--muted);max-width:280px;margin:0 auto 30px}.saved-row{display:grid;grid-template-columns:70px 1fr 30px;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.saved-thumb{padding:0}.saved-thumb .plan-icon{width:70px;height:70px}.saved-title{font-size:11px;line-height:1.6;text-align:left;padding:8px 0;display:block}.saved-meta{font-size:10px;color:var(--muted);margin:5px 0}.remove-button{font-size:19px;width:36px;height:44px;padding:0}.saved-actions{margin-top:27px}.saved-actions p{font-size:10px;line-height:1.8;color:var(--muted)}.saved-actions .text-link{margin-top:10px}
.viewer-dialog{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;overflow:hidden}.viewer-header{height:72px;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 28px;border-bottom:1px solid var(--line)}.viewer-header h2{font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.03em;margin:0}.viewer-actions{display:flex;align-items:center;gap:20px}.viewer-actions a{font-size:9px;min-height:44px;display:flex;align-items:center}.viewer-content{height:calc(100% - 109px);position:relative;background:var(--wash)}.viewer-content iframe{border:0;width:100%;height:100%;display:block;background:var(--wash);filter:grayscale(1)}.viewer-content>img{width:100%;height:100%;object-fit:contain;filter:grayscale(1)}.viewer-note{height:37px;margin:0;display:flex;justify-content:center;align-items:center;text-align:center;padding:0 16px;font-size:9px;line-height:1.5;color:var(--muted)}.viewer-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;pointer-events:none}.viewer-content iframe{position:relative}.viewer-content .frame-help{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);background:var(--paper);border:1px solid var(--line);padding:12px 18px;font-size:11px;line-height:1.7;max-width:90%;width:max-content;z-index:2}.frame-help a{text-decoration:underline}.toast{position:fixed;bottom:27px;left:50%;transform:translate(-50%,12px);background:var(--ink);color:var(--paper);padding:15px 23px;font-size:11px;text-align:center;max-width:90%;width:max-content;opacity:0;pointer-events:none;z-index:100;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.no-script{text-align:center;padding:30px;font-size:14px}
@keyframes arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes plan-enter{from{opacity:.4;transform:scale(.86)}to{opacity:1;transform:scale(1)}}
@media(hover:hover) and (pointer:fine){.plan-open:hover .plan-icon{transform:translateY(-4px) scale(1.07)}.plan-card:hover .card-save{opacity:1}.category:hover{color:var(--ink)}.walk-link:hover .walk-arrow{transform:translate(3px,-3px)}}
@media(min-width:1600px){.catalog-grid{max-width:1300px}.plan-visual{height:250px}.plan-icon{width:146px;height:146px}}
@media(max-width:760px){.header{height:78px;padding:0 22px}.desktop-label{display:none}.wordmark{font-size:13px}.wordmark>span{font-size:5px}.saved-toggle{font-size:8px}.saved-toggle span{margin-left:3px}.catalog-intro{padding:19px 22px 0}.catalog-intro h1{font-size:10px;margin-bottom:16px}.categories{justify-content:flex-start;gap:23px;overflow-x:auto;scrollbar-width:none}.categories::-webkit-scrollbar{display:none}.category{flex-shrink:0;font-size:8px}.catalog{padding:0 16px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;padding:10px 0 38px}.plan-open{padding:0 0 23px}.plan-visual{height:168px}.plan-icon{width:112px;height:112px}.plan-title{font-size:10px;line-height:1.6}.plan-meta{font-size:8px;margin-top:5px}.card-save{opacity:.75;right:-3px;top:5px}.card-save svg{width:12px;height:12px}.walk-invitation{margin-bottom:22px;padding-top:16px}.walk-link{gap:16px}.walk-link>span:nth-child(2){font-size:10px}.walk-label{font-size:7px}.walk-link>svg{width:42px}footer{flex-direction:column;gap:4px;padding:19px 20px 25px;font-size:7px}.footer-links{gap:22px}.footer-links a,.footer-links button{font-size:7px}.copyright{font-size:7px}.drawer{width:100%;padding:22px 26px}.dialog-top{margin-bottom:27px}.detail-header{height:74px;padding:0 20px}.detail-header .wordmark{font-size:11px}.detail-back,.detail-save{font-size:8px}.detail-save{gap:6px}.detail-body{padding:0 20px 32px}.detail-stage{height:clamp(245px,36dvh,330px)}.detail-stage>.plan-icon{width:195px;height:195px}.detail-stage>img{width:calc(100% - 44px)}.detail-arrow.prev{left:-12px}.detail-arrow.next{right:-12px}.view-modes{gap:23px;margin:7px 0 23px}.view-modes button{font-size:7px}.detail-info h2{font-size:12px}.detail-info{max-width:330px}.info-dialog{padding:22px 25px 28px}.info-dialog h3{font-size:25px}.viewer-header{height:68px;padding:0 14px}.viewer-header h2{font-size:9px;line-height:1.5}.viewer-actions{gap:8px}.viewer-actions a{font-size:8px}.viewer-content{height:calc(100% - 112px)}.viewer-note{height:44px;font-size:8px}.viewer-content .frame-help{font-size:10px}.toast{bottom:18px}.menu-nav button{font-size:22px}}
@media(max-width:370px){.header{padding:0 16px}.saved-toggle{font-size:7px}.wordmark{font-size:12px}.catalog-intro{padding-left:16px;padding-right:16px}.plan-visual{height:150px}.plan-icon{width:99px;height:99px}.plan-title{font-size:9px}.plan-meta{font-size:7px}.detail-back span{display:none}.detail-save{font-size:7px}.view-modes{gap:18px}.viewer-actions a{max-width:69px;line-height:1.5}.footer-links{gap:15px}}
.detail-stage>img{position:absolute;inset:0;margin:auto;max-width:calc(100% - 80px);max-height:100%;min-height:0;min-width:0;object-fit:contain}
@media(max-width:760px){.detail-stage>img{max-width:calc(100% - 44px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Warm paper by day; emerald, soft gold and copper by night. */
:root[data-theme=dark]{--paper:#0c2823;--ink:#e6d5ae;--muted:#baa582;--line:#5a5140;--wash:#16382f;--secondary:#d0bd99;--gold:#e0c898;--copper:#c7906f;--bronze:#8d7d5c;--plan-ink:#d4b788;--solid-hover:#d7a582;--selection:#5a4838;--backdrop:rgb(2 14 10 / .65);color-scheme:dark}
@media screen{
  [data-theme=dark] .wordmark{color:var(--gold)}
  [data-theme=dark] .plan-icon,[data-theme=dark] .walk-link>svg{color:var(--plan-ink)}
  [data-theme=dark] .solid-button{background:var(--copper);color:var(--paper)}
  [data-theme=dark] .solid-button:hover{background:var(--solid-hover)}
  [data-theme=dark] .outline-button{border-color:var(--bronze)}
  [data-theme=dark] .card-save[aria-pressed=true],[data-theme=dark] .detail-save[aria-pressed=true]{color:var(--copper)}
  [data-theme=dark] .category[aria-pressed=true],[data-theme=dark] .view-modes button[aria-pressed=true]{color:var(--gold)}
  [data-theme=dark] .category[aria-pressed=true]:after,[data-theme=dark] .view-modes button[aria-pressed=true]:after{background:var(--copper)}
  [data-theme=dark] .detail-arrow,[data-theme=dark] .walk-arrow{color:var(--copper)}
  [data-theme=dark] .theme-toggle{color:var(--copper)}
  [data-theme=dark] .theme-toggle:hover,[data-theme=dark] .theme-toggle:focus-visible{color:var(--gold)}
  [data-theme=dark] :is(button,a,summary):focus-visible{outline-color:var(--gold)}
}
.header-controls,.detail-controls{justify-self:start;display:flex;align-items:center;gap:13px;min-width:0}
.header-controls .menu-toggle{flex-shrink:0}
.theme-toggle{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;color:var(--muted);border-radius:50%;transition:color .2s,background-color .2s}
.theme-toggle:hover,.theme-toggle:focus-visible{background:var(--wash);color:var(--ink)}
.theme-toggle svg{width:17px;height:17px;display:block;overflow:visible}
.theme-moon,.theme-sun{transform-origin:12px 12px;transition:opacity .2s,transform .3s}
.theme-sun{opacity:0;transform:rotate(-45deg) scale(.75)}
[data-theme=dark] .theme-moon{opacity:0;transform:rotate(45deg) scale(.75)}
[data-theme=dark] .theme-sun{opacity:1;transform:rotate(0) scale(1)}
.detail-stage>.plan-image{mix-blend-mode:multiply}
[data-theme=dark] .detail-stage>.plan-image{filter:grayscale(1) invert(1);mix-blend-mode:screen;opacity:.88}
textarea{background:var(--wash);color:var(--ink)}
@media(max-width:760px){.header-controls,.detail-controls{gap:0}.detail-controls .detail-back{min-width:38px}.detail-controls .detail-back>span{display:none}.header-controls .menu-toggle{min-width:36px}.header-controls .theme-toggle{min-width:36px;width:36px}.theme-toggle svg{width:16px;height:16px}}
@media print{:root[data-theme=dark]{--paper:#fff;--ink:#242424;--muted:#666;--line:#ddd;--wash:#f5f5f5;--secondary:#555;color-scheme:light}.theme-toggle{display:none}.detail-stage>.plan-image{filter:grayscale(1)!important;mix-blend-mode:multiply!important}}
@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-moon,.theme-sun{transition:none}}
