/* ==== studio.css ==== */
:root{--bg:#151b17;--surface:#202820;--line:#3c473b;--paper:#f5f1e8;--ink:#f3eee4;--dim:#c4c9bb;--gold:#d4b680;--text:#242c24;--muted:#636d60;--border:#d7d8ca;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ae873d;outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.07}h1{font-size:clamp(40px,5.2vw,76px)}h2{font-size:clamp(29px,3.3vw,46px)}h3{font-weight:550}small{font-size:11px}button{color:inherit}button,select,input,textarea{border-radius:4px}.button,.outline{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:14px 22px;min-height:48px;border:1px solid var(--gold);border-radius:4px;background:var(--gold);color:#172016;font-weight:650;font-size:12px;letter-spacing:.03em;text-decoration:none;transition:background .15s}.button:hover{background:#e5c891}.outline{background:transparent;color:inherit;border-color:#879180}.outline:hover{background:#ffffff0b}.wide{width:100%}.text-link{display:inline-block;background:none;border:0;border-radius:0;padding:3px 0;color:var(--gold);text-decoration:underline;text-underline-offset:5px;font-size:12px}.eyebrow{font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.19em;color:var(--gold);margin:0 0 17px}.lead{font-size:17px;line-height:1.7;color:var(--dim)}.page{max-width:1320px;padding:0 36px;margin:auto}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:25px;padding:17px max(24px,calc((100vw - 1380px)/2));min-height:78px;background:#151b17f5;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;margin-right:auto;flex-shrink:0}.brand img{width:38px;height:40px;object-fit:contain}.brand b{display:block;color:var(--gold);font-size:21px;letter-spacing:.14em;white-space:nowrap}.brand em{font-style:normal;font-weight:300}.brand small{display:block;font-size:6.8px;letter-spacing:.07em;color:var(--dim);white-space:nowrap;margin-top:2px}.desktop-nav{display:flex;gap:24px;align-items:center;font-size:12px;white-space:nowrap}.desktop-nav a{padding:8px 0;color:var(--dim)}.desktop-nav a.current{color:var(--gold);border-bottom:1px solid var(--gold)}.header-cta{padding:10px 15px;min-height:40px;font-size:11px;white-space:nowrap}.mobile-nav{display:none}.skip-link{position:absolute;top:-60px;left:10px;z-index:100;background:var(--gold);color:#172016;padding:10px}.skip-link:focus{top:5px}.initial-loading{padding:80px 30px;max-width:1100px;margin:auto}.hero{display:grid;grid-template-columns:1fr .82fr;gap:7%;align-items:center;padding:44px 0 55px}.hero h1{margin-bottom:25px}.hero h1 em{font-weight:400;color:var(--gold)}.hero .lead{margin-bottom:29px}.hero-copy>.text-link{display:block;margin-top:20px}.hero-picture{position:relative;height:590px;border-radius:4px;overflow:hidden}.hero-picture img{width:100%;height:100%;object-fit:cover}.picture-note{position:absolute;bottom:0;left:0;right:0;padding:19px 14px 12px;background:linear-gradient(transparent,#0009);color:#f5f1e8;font-size:9px}.hero-facts{border-top:1px solid var(--line);margin-top:42px;padding-top:18px;display:flex;gap:25px;font-size:11px;color:var(--dim)}.hero-facts span:before{content:'✓';margin-right:8px;color:var(--gold)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin:0 0 26px}.section-heading h2{max-width:620px;margin-bottom:0}.section-heading>p{font-size:12px;color:var(--dim);flex-shrink:0;margin-bottom:5px}.package-section{padding:38px 0 35px;border-top:1px solid var(--line);scroll-margin-top:100px}.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.package-card{background:var(--surface);border:1px solid var(--line);border-radius:7px;overflow:hidden;transition:border-color .15s}.package-card:hover{border-color:var(--gold)}.package-picture{position:relative;height:250px;overflow:hidden;background:#2a3027}.package-picture img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.package-card:hover .package-picture img{transform:scale(1.025)}.package-number{position:absolute;top:13px;left:13px;font-size:10px;color:#fff;background:#152016ad;padding:4px 9px;border-radius:30px}.package-copy{padding:24px}.package-copy .eyebrow{font-size:8px;margin-bottom:9px}.package-copy h3{font-size:29px;margin:0 0 10px;font-weight:400}.package-copy>p:not(.eyebrow){font-size:12px;color:var(--dim);margin-bottom:24px}.package-price{font-size:29px;line-height:1.25;color:var(--gold);font-weight:500;white-space:nowrap}.package-copy>small{display:block;margin:7px 0 20px;color:var(--dim);font-size:9px}.package-copy .button{justify-content:space-between}.section-note{font-size:12px;color:var(--dim);margin-top:22px}.three-points{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;padding:40px 0 52px;border-bottom:1px solid var(--line)}.three-points span{font-size:10px;color:var(--gold);letter-spacing:.2em}.three-points h3{font-size:17px;margin:12px 0}.three-points p{font-size:12px;color:var(--dim);max-width:300px}.sample-visit{display:grid;grid-template-columns:.7fr 1fr;gap:60px;align-items:center;padding:70px 50px;background:#e8e2d4;color:#243023;border-radius:6px;margin:52px 0}.sample-visit .eyebrow{color:#755b2d}.sample-visit h2{font-size:46px;margin-bottom:20px}.sample-visit p{max-width:500px;font-size:14px}.sample-visit small{display:block;margin-top:15px;font-size:10px;color:#5d6456}.sample-symbol{position:relative;height:270px;width:100%;max-width:350px;justify-self:center;perspective:700px}.sample-symbol i{position:absolute;top:35px;left:15%;width:70%;height:190px;border:1px solid #ffffff77;border-radius:2px;background:#bbb3a2;box-shadow:7px 17px 25px #35402b38;transform:rotate(-17deg)}.sample-symbol i:nth-child(2){top:49px;left:23%;background:#6d7569;transform:rotate(8deg)}.sample-symbol i:nth-child(3){top:65px;left:8%;background:#f5f0e4;transform:rotate(-7deg)}.story-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;padding:45px 0 65px}.story-section>div+div{padding-top:6px;color:var(--dim);font-size:14px;line-height:1.8}.editorial{padding-top:45px}.editorial .sample-visit{margin-top:15px}.site-footer{max-width:1320px;margin:auto;padding:44px 36px 32px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;border-top:1px solid var(--line);color:var(--dim);font-size:12px}.site-footer b{font-size:18px;letter-spacing:.18em;font-weight:400;color:var(--gold)}.site-footer p{font-size:11px;line-height:1.7;margin-top:12px}.site-footer a{display:block;margin-bottom:10px;font-size:12px}.site-footer .footer-note{grid-column:1/-1;margin:6px 0 0;border-top:1px solid var(--line);padding-top:20px;font-size:10px;color:#aeb6a5}.studio-wrap{max-width:1440px;margin:auto;padding:0 28px 55px}.studio-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 0}.studio-heading h1{font-size:35px;margin:4px 0 8px}.studio-heading>div{margin-right:auto}.studio-heading>div p{font-size:11px;color:var(--dim);margin:0}.studio-heading>.text-link{font-size:10px;white-space:nowrap}.package-badge{font-size:8px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold)}.studio-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr);gap:25px;align-items:start}.visual-column{position:sticky;top:96px;min-width:0}.viewer-frame{position:relative;width:100%;height:clamp(410px,58vh,650px);border-radius:7px;overflow:hidden;background:#e9e5dc;color:#253022;border:1px solid #c5c6b7}#viewer-host{width:100%;height:100%;position:absolute;inset:0}#viewer-host canvas{display:block;width:100%;height:100%;outline:0}#viewer-loading{position:absolute;inset:0;z-index:2;background:#e9e5dc;display:flex;align-items:center;justify-content:center;flex-direction:column}#viewer-loading>img{width:100%;height:100%;object-fit:cover;opacity:.6}#viewer-loading>p{position:absolute;bottom:20%;background:#f5f1e8ed;padding:13px 18px;border-radius:4px;font-size:12px}.viewer-fallback{padding:35px;max-width:450px}.viewer-fallback h2{font-size:29px}.viewer-fallback p{font-size:13px}.viewer-top{position:absolute;left:16px;right:16px;top:16px;display:flex;justify-content:space-between;gap:15px;pointer-events:none;font-size:10px;color:#4c5749}.viewer-top>span{padding:6px 9px;border-radius:3px;background:#f8f4ecb5;backdrop-filter:blur(6px)}.concept-badge{font-size:8px;letter-spacing:.13em}.viewer-tools{position:absolute;left:0;right:0;bottom:14px;display:flex;gap:5px;justify-content:center;padding:0 12px;z-index:3}.viewer-tools button{background:#fcf8eee8;border:1px solid #aeb5a2;min-height:35px;padding:8px 11px;color:#263220;font-size:10px;backdrop-filter:blur(6px)}.viewer-tools button[aria-pressed=true]{background:#263521;color:#f9f3e8}.surface-summary{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid var(--line);border-radius:5px;overflow:hidden;margin-top:12px}.surface-summary button{border:0;border-right:1px solid var(--line);background:var(--surface);padding:12px 14px;text-align:left;min-width:0;line-height:1.35}.surface-summary button:last-child{border-right:0}.surface-summary button.chosen{box-shadow:inset 0 -2px var(--gold);background:#2d3728}.surface-summary small{display:block;color:var(--dim);font-size:8px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}.surface-summary b{font-size:11px;font-weight:500;overflow-wrap:anywhere}.preview-caption{display:flex;gap:25px;justify-content:space-between;align-items:start;margin:10px 0 18px}.preview-caption p{font-size:9px;color:var(--dim);line-height:1.6;max-width:490px;margin:0}.preview-caption>div{display:flex;gap:15px;flex-shrink:0}.preview-caption .text-link{font-size:9px}.cost-panel{padding:19px 20px;background:#232e22;border:1px solid #637153;border-radius:5px}.cost-head{display:flex;gap:14px;justify-content:space-between;align-items:center}.cost-head small{display:block;font-size:9px;color:var(--dim);margin-bottom:5px}.cost-head strong{display:block;color:var(--gold);font-size:26px;line-height:1.2;font-weight:500}.cost-head span:not(.button span){display:block;color:var(--dim);font-size:8px;margin-top:6px}.cost-head .button{font-size:11px;padding:12px 16px;gap:18px;white-space:nowrap}.cost-fine{display:block;color:var(--dim);font-size:9px;margin-top:11px}.pricing-details{color:var(--dim);font-size:10px;margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.pricing-details summary{cursor:pointer;color:#dfc594}.pricing-details p{margin:10px 0 5px}.pricing-details ul{margin:5px 0 0;padding-left:17px}.controls-column{color:var(--text);background:var(--paper);border-radius:7px;border:1px solid #c5cab8;overflow:hidden}.control-panel{border-bottom:1px solid var(--border)}.control-panel>summary{display:flex;align-items:center;gap:15px;padding:20px 23px;cursor:pointer;font-size:15px;font-weight:550;list-style:none}.control-panel>summary::-webkit-details-marker{display:none}.step-number{font-size:9px;color:#7a805f;border:1px solid #b9c0aa;border-radius:30px;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.expand{margin-left:auto;font-size:21px;color:#8c7651;font-weight:300}.control-panel[open] .expand{transform:rotate(45deg)}.control-panel[open]>summary{background:#ebe8dd}.panel-body{padding:19px 23px 24px}.panel-intro{font-size:12px;color:var(--muted);margin-bottom:16px}.wall-tabs{display:flex;background:#e4e5d9;border:1px solid #c8cdbb;border-radius:4px;overflow:hidden}.wall-tabs button{flex:1;border:0;border-right:1px solid #c8cdbb;padding:10px 5px;border-radius:0;font-size:11px;background:none;color:#394733}.wall-tabs button:last-child{border:0}.wall-tabs button.chosen{background:#31412e;color:#fff8e8}.active-finish{display:flex;justify-content:space-between;gap:15px;margin:20px 0 13px;font-size:11px}.active-finish>span{color:var(--muted)}.active-finish>b{font-weight:550}.finish-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 8px;margin-bottom:18px}.finish-card{border:0;background:none;min-width:0;padding:0;color:#384432;text-align:left;border-radius:4px}.finish-image{display:block;width:100%;aspect-ratio:1;border:2px solid transparent;border-radius:3px;box-shadow:0 0 0 1px #c5c8b9;background-color:#d6d0c1}.finish-card.chosen .finish-image{border:2px solid #35532d;box-shadow:0 0 0 2px #35532d}.finish-card>span+span{display:block;font-size:9px;line-height:1.3;margin-top:7px;overflow-wrap:normal}.panel-body .outline{font-size:11px;border-color:#a8ad97;background:#e9e8dc;color:#30402c}.help{font-size:10px;line-height:1.65;color:var(--muted);margin:14px 0 0}.check-line{display:flex;gap:10px;align-items:start;font-size:12px;margin-top:18px;line-height:1.5}.check-line input{flex:0 0 18px;width:18px;height:18px;accent-color:#3a5032;margin:2px 0 0}.check-line small{display:block;font-size:10px;color:var(--muted);margin-top:4px;line-height:1.55}.layout-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.layout-choice{display:flex;align-items:center;gap:12px;background:#f7f4ed;border:1px solid #bec6b1;color:#3c4935;padding:13px;font-size:11px}.layout-choice.chosen{background:#e4e8da;border:1.5px solid #3c5832}.layout-icon{display:block;flex-shrink:0;width:26px;height:23px;border:3px solid #596b4b;border-bottom:1px dashed #89977d}.layout-icon.corner{border-right:1px dashed #89977d}.preset-row{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}.small-chip{background:transparent;border:1px solid #b7c0a9;color:#3c4935;padding:8px 11px;font-size:11px}.small-chip.chosen{border-color:#3a5032;background:#dee5d3}.dimensions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.field{display:block;font-size:11px;font-weight:550;color:#3c4936;min-width:0}.field input,.field select,.field textarea{display:block;margin-top:7px;width:100%;padding:12px;min-height:43px;border:1px solid #b8c1a8;border-radius:4px;background:#fffdf7;color:#263422;font-size:14px;font-weight:400;min-width:0}.field textarea{resize:vertical}.dimension-field{display:block;position:relative}.dimension-field input{padding-right:28px}.dimension-field>span{position:absolute;right:10px;top:13px;font-size:10px;font-weight:400;color:#78816d;pointer-events:none}.field-spacer{margin-top:20px}.choice-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.choice{display:flex;align-items:center;gap:9px;background:#fcf9f2;border:1px solid #c4cbb9;padding:10px;font-size:11px;color:#34432d;text-align:left;min-height:44px}.choice i{display:block;width:23px;height:23px;flex:0 0 23px;border-radius:50%;border:1px solid #7e847360;box-shadow:inset 0 0 0 2px #ffffff4d}.choice.chosen{border-color:#3c5831;background:#e3e8da;box-shadow:inset 0 0 0 1px #3c5831}.quote-note{padding:12px;border-left:2px solid #a3864a;background:#ebe3d2;color:#655332;font-size:10px;line-height:1.6;margin-top:15px}.system-grid{display:grid;gap:8px}.system-card{position:relative;display:grid;grid-template-columns:33px 1fr;gap:2px 10px;text-align:left;padding:12px 13px;border:1px solid #c7ccbb;background:#fcf9f2;color:#34432d}.system-card.chosen{border-color:#3c5831;background:#e2e8d9}.system-glyph{grid-row:1/3;align-self:center;color:#8d784f;font-size:23px}.system-card b{font-size:12px;font-weight:550}.system-card small{font-size:10px;color:var(--muted)}.label-heading{font-size:11px;font-weight:600;margin:22px 0 10px}.upgrade-row{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}.upgrade-row:first-child{padding-top:0}.upgrade-row b{display:block;font-size:13px;font-weight:550}.upgrade-row small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.stepper{display:flex;align-items:center;flex-shrink:0;border:1px solid #aeb99f;border-radius:4px;overflow:hidden}.stepper button{width:34px;height:38px;background:#e9ecdf;color:#36442e;border:0;border-radius:0;font-size:20px}.stepper output{width:24px;text-align:center;font-size:12px}.sample-mini{margin:21px;padding:22px;background:#e4dfd0;border:1px solid #cbc1a7;border-radius:4px}.sample-mini .eyebrow{color:#765d32;font-size:8px;margin-bottom:8px}.sample-mini h3{font-family:var(--serif);font-size:25px;line-height:1.2;font-weight:400;margin-bottom:9px}.sample-mini p:not(.eyebrow){font-size:11px;color:#60684f;margin-bottom:12px}.sample-mini .text-link{color:#54693c;font-size:11px}.scope-details{font-size:11px;color:#5f6b53;padding:0 22px 23px}.scope-details summary{cursor:pointer;font-weight:550}.scope-details ul{padding-left:17px;font-size:11px;line-height:1.8}.scope-details p{font-size:10px;line-height:1.7}.request-page{padding-top:30px;padding-bottom:65px}.request-page>.eyebrow{margin-top:35px}.request-page h1{font-size:clamp(40px,4.2vw,60px);margin-bottom:30px}.request-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:start}.request-form{padding:30px;background:var(--paper);color:var(--text);border-radius:7px}.request-form h2{font-size:31px}.request-form>p{font-size:12px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.full{grid-column:1/-1}.request-form .button[type=submit]{margin-top:24px}.request-grid>div>.help{color:var(--dim);margin-top:18px}.review-basket{border:1px solid #617253;background:#222d20;padding:25px;border-radius:7px;min-width:0}.review-image{width:100%;height:240px;object-fit:contain;background:#e9e5dc;border-radius:3px;margin-bottom:15px}.review-dimensions{font-size:11px;color:var(--dim);margin-bottom:16px}.basket-items{list-style:none;margin:0;padding:0}.basket-items li{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.basket-items b{font-size:12px;font-weight:550;white-space:nowrap}.review-finishes{font-size:10px;margin:18px 0}.review-finishes p{display:flex;justify-content:space-between;gap:15px;margin:8px 0;color:var(--dim)}.review-finishes b{font-weight:550}.review-finishes span{text-align:right}.review-basket>.text-link{margin-right:20px;margin-top:18px}#request-ready{margin-top:22px;padding:20px;border:1px solid #8f9d76;border-radius:4px;background:#e2e6d5}#request-ready h3{font-size:16px}#request-ready p{font-size:12px}#request-ready .text-link{color:#3c5831;margin:16px 0 10px}#request-ready textarea{display:block;width:100%;padding:12px;border:1px solid #a7b198;background:#f7f8f0;color:#33452a;font-size:11px;resize:vertical}#notice:not(:empty){position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 20px;background:#f5f1e8;color:#2b3c23;z-index:50;border-radius:4px;box-shadow:0 10px 40px #0006;font-size:12px;max-width:90vw}#mobile-price{display:none}[hidden]{display:none!important}
@media(max-width:1180px){.site-header{gap:15px;padding:16px 22px}.desktop-nav{gap:15px;font-size:11px}.brand b{font-size:19px}.brand img{width:33px}.page{padding:0 26px}.studio-wrap{padding:0 20px 45px}.studio-layout{grid-template-columns:minmax(0,1.1fr) minmax(340px,1fr);gap:18px}.panel-body{padding:18px}.control-panel>summary{padding:18px}.cost-head{flex-wrap:wrap}.cost-head .button{width:100%;justify-content:space-between}.hero-picture{height:520px}.sample-visit{padding:45px 35px;gap:40px}}
@media(max-width:950px){.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{list-style:none;font-size:11px;padding:9px 12px;border:1px solid #7f8b74;border-radius:4px;cursor:pointer}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;left:0;right:0;top:100%;background:#151b17;padding:15px 26px 25px;box-shadow:0 15px 30px #0006;border-bottom:1px solid var(--line)}.mobile-nav nav a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.header-cta{margin-left:auto}.brand{margin-right:0}.studio-heading{gap:20px}.studio-heading>.text-link:first-child{font-size:0}.studio-heading>.text-link:first-child:before{content:'← Packages';font-size:11px}.studio-heading>.text-link:last-child{display:none}.studio-heading h1{font-size:32px}.studio-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr)}.finish-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.preview-caption{gap:12px}.preview-caption>div{flex-direction:column;gap:3px}.section-heading{display:block}.section-heading>p{margin-top:18px}.hero{gap:5%;grid-template-columns:1fr 1fr}.hero h1{font-size:54px}.hero .lead{font-size:15px}.hero-picture{height:470px}.hero-facts{display:grid;gap:9px}.package-copy{padding:20px}.package-price{font-size:24px}.sample-visit h2{font-size:40px}}
@media(max-width:760px){.site-header{min-height:68px;padding:13px 16px;gap:9px}.brand{gap:6px}.brand img{height:33px;width:30px}.brand b{font-size:16px;letter-spacing:.1em}.brand small{font-size:5.1px;letter-spacing:.035em}.header-cta{padding:8px 10px;min-height:35px;font-size:9px;gap:7px}.mobile-nav summary{font-size:10px;padding:8px 10px}.page{padding:0 18px}.hero{padding:28px 0 32px;grid-template-columns:1fr;gap:24px}.hero-copy{padding-top:3px}.hero h1{font-size:48px;margin-bottom:18px}.hero .lead{font-size:15px;margin-bottom:23px}.hero .eyebrow{font-size:8px;margin-bottom:16px}.hero-picture{height:400px}.hero-picture img{object-position:center 45%}.hero-copy>.text-link{font-size:11px;margin-top:17px}.hero-facts{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:25px;padding-top:15px;font-size:10px}.package-section{padding-top:28px}.section-heading h2{font-size:32px}.section-heading>p{font-size:11px}.package-grid{grid-template-columns:1fr;gap:16px}.package-card{display:grid;grid-template-columns:.9fr 1.1fr;min-height:275px}.package-picture{height:100%;min-height:275px}.package-copy{padding:24px 17px}.package-copy h3{font-size:25px}.package-copy>p:not(.eyebrow){font-size:11px;margin-bottom:20px}.package-copy .eyebrow{font-size:7px}.package-price{font-size:22px}.package-copy>small{font-size:8px;line-height:1.6;margin:6px 0 18px}.package-copy .button{padding:11px 13px;font-size:10px;gap:8px;min-height:43px}.section-note{font-size:11px;line-height:1.8}.three-points{grid-template-columns:1fr;padding:25px 0 30px;gap:20px}.three-points div{display:grid;grid-template-columns:29px 1fr;column-gap:10px}.three-points span{margin-top:4px}.three-points h3{margin:0 0 7px;font-size:16px}.three-points p{grid-column:2;max-width:none;margin-bottom:5px;font-size:12px}.sample-visit{grid-template-columns:1fr;gap:15px;padding:30px 25px;margin:33px 0}.sample-symbol{height:160px;max-width:230px}.sample-symbol i{height:115px;top:5px}.sample-symbol i:nth-child(2){top:15px}.sample-symbol i:nth-child(3){top:27px}.sample-visit h2{font-size:35px}.sample-visit p{font-size:13px}.sample-visit .eyebrow{font-size:8px}.sample-visit small{font-size:9px}.story-section{grid-template-columns:1fr;gap:14px;padding:30px 0 40px}.story-section h2{font-size:34px;margin:0 0 9px}.story-section>div+div{font-size:13px}.editorial{padding-top:28px}.site-footer{padding:30px 18px 105px;grid-template-columns:1fr 1fr;gap:22px}.site-footer>div:first-child{grid-column:1/-1}.site-footer p{font-size:10px}.site-footer a{font-size:11px}.site-footer .footer-note{font-size:9px}.studio-wrap{padding:0 12px 30px}.studio-heading{padding:18px 5px;align-items:start;gap:18px}.studio-heading h1{font-size:28px}.studio-heading>div p{font-size:10px;line-height:1.6}.studio-heading>.text-link:first-child{margin-top:22px;flex-shrink:0}.studio-heading>.text-link:first-child:before{font-size:10px}.studio-layout{grid-template-columns:1fr;gap:17px}.visual-column{position:static}.viewer-frame{height:420px;min-height:0}.viewer-top{top:11px;left:11px;right:11px;font-size:9px}.concept-badge{font-size:7px}.viewer-tools{gap:4px;bottom:11px;padding:0 9px}.viewer-tools button{font-size:9px;min-height:34px;padding:7px 9px}.surface-summary{margin-top:9px}.surface-summary button{padding:10px 9px}.surface-summary b{font-size:10px}.surface-summary small{font-size:7px}.preview-caption{margin:9px 4px 0}.preview-caption p{font-size:8px}.preview-caption>div{flex-direction:row;gap:12px}.preview-caption .text-link{font-size:9px;white-space:nowrap}.cost-panel{display:none}.controls-column{border-radius:6px}.panel-body{padding:19px}.control-panel>summary{padding:18px 20px;font-size:14px}.finish-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 8px}.finish-card>span+span{font-size:9px}.active-finish{font-size:11px}.help{font-size:10px}.sample-mini{margin:20px}.request-page{padding-top:23px;padding-bottom:35px}.request-page h1{font-size:39px}.request-grid{grid-template-columns:1fr;gap:25px}.review-basket{order:-1;padding:22px}.review-image{height:240px}.request-form{padding:23px 19px}.request-form h2{font-size:28px}.request-form>p{font-size:12px}.form-grid{grid-template-columns:1fr;gap:16px}.request-form>.help{font-size:10px}.review-basket .cost-head .button{width:auto}.review-basket>.text-link{font-size:10px}.cost-head strong{font-size:26px}.cost-head small{font-size:9px}.review-finishes{font-size:10px}#mobile-price{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;padding:12px 17px calc(12px + env(safe-area-inset-bottom));background:#172016f7;backdrop-filter:blur(12px);border-top:1px solid #788568;align-items:center;justify-content:space-between;gap:15px}#mobile-price small{display:block;font-size:8px;color:var(--dim)}#mobile-price strong{display:block;font-size:23px;line-height:1.25;font-weight:500;color:var(--gold);margin-top:4px}#mobile-price>div>span{display:block;color:var(--dim);font-size:8px;margin-top:2px}#mobile-price .button{font-size:11px;gap:20px;min-height:43px;padding:10px 20px}#notice:not(:empty){bottom:100px;font-size:11px}}
@media(max-width:370px){.brand img{width:26px;height:28px}.brand b{font-size:14px}.brand small{font-size:4.6px}.site-header{gap:7px;padding:11px 12px}.header-cta{font-size:8px;padding:8px}.mobile-nav summary{font-size:9px;padding:8px}.package-copy{padding:20px 13px}.package-price{font-size:19px}.package-copy>p:not(.eyebrow){font-size:10px}.package-copy .button{font-size:9px;padding:10px}.viewer-frame{height:375px}.viewer-tools{gap:3px}.viewer-tools button{font-size:8px;padding:6px 7px}.finish-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.panel-body{padding:17px}.studio-heading{gap:13px}.studio-heading h1{font-size:25px}.studio-heading>div p{font-size:9px}.dimensions{gap:8px}.dimension-field input{font-size:13px;padding-left:9px}.cost-head strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media print{body{background:white;color:black}.site-header,.site-footer,.button,.outline,.text-link,#notice,#mobile-price{display:none!important}.request-grid{display:block}.request-form,.review-basket{background:white;color:black;border:1px solid #888}.review-basket *{color:black!important}.request-form input,.request-form textarea,.request-form select{color:black;background:white}.request-page{max-width:none;padding:0}.review-image{max-height:220px}.review-basket{break-inside:avoid}}

/* ==== standalone.css ==== */
.no-signup{color:#d0c6b3;font-size:13px;margin-top:14px}.viewer-frame{min-height:560px}.material-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin:40px 0}.material-reference{display:block;color:inherit}.material-reference img{width:100%;aspect-ratio:.75;object-fit:cover;border-radius:8px}.material-reference h3{margin:12px 0 3px;font-size:17px}.material-reference p{font-size:12px;color:var(--muted)}@media(max-width:760px){.viewer-frame{min-height:460px}.material-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.material-reference h3{font-size:14px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* The saved reference has its own caption, never a false dimensional promise. */
.review-preview{margin:0 0 20px}.review-preview .review-image{display:block;margin-bottom:10px}
#viewer-host[aria-busy="true"]{cursor:progress}

/* ==== theme-light.css ==== */
/* SLAB SHOWER — light theme (owner-approved 2026-10-25): ivory base, deep green, gold.
   Same palette family as nwhomesremodel.com. Loaded after studio.css/standalone.css; colours only. */
:root{--bg:#FBF8F1;--surface:#FFFFFF;--line:#E3DCCB;--ink:#1E2F24;--dim:#56635A;--gold:#93733F;--gold-bright:#D4B680;--green:#24382B;--green-deep:#1A2A20}
html,body{background:var(--bg);color:var(--ink)}

/* dark-green islands keep the original dark palette locally */
.site-header,.mobile-nav nav,#mobile-price,.site-footer,.review-basket,.cost-panel{--ink:#F2EDE1;--dim:#CFC9B8;--gold:var(--gold-bright);--line:#3B4B3F;--surface:#2A3B2F;color:var(--ink)}
.site-header{background:#1E2F24f5;border-bottom-color:#2f4034}
.mobile-nav nav{background:#1E2F24}
#mobile-price{background:#1E2F24f7;border-top-color:#4d5f50}
.site-footer{background:var(--green-deep);max-width:none;padding-left:max(36px,calc((100vw - 1320px)/2));padding-right:max(36px,calc((100vw - 1320px)/2))}
.site-footer .footer-note{color:#a9b3a2}
.review-basket{background:#22352A;border-color:#3e5244}

/* buttons: deep green on light, gold inside dark islands */
.button,.outline{background:var(--green);border-color:var(--green);color:#F7F2E7}
.button:hover,.outline:hover{background:#2f4a38;border-color:#2f4a38}
.site-header .outline,.site-header .button{background:transparent;color:#F2EDE1;border-color:var(--gold-bright)}
#mobile-price .button,.review-basket .button,.cost-panel .button{background:var(--gold-bright);border-color:var(--gold-bright);color:#172016}
.skip-link{background:var(--green);color:#F7F2E7}

/* cards and panels on ivory */
.package-card{background:#fff;border-color:#E6DFCF;box-shadow:0 18px 40px rgba(30,47,36,.07)}
.package-card:hover{border-color:var(--gold)}
.surface-summary{border-color:var(--line)}
.surface-summary button{background:#fff;color:var(--ink)}
.surface-summary button.chosen{background:#F3EEE1}
.controls-column{border-color:#E3DCCB}
.viewer-frame{border-color:#E3DCCB}
.picture-note{color:#F7F2E7}
#request-ready .text-link{color:var(--green)}
.cost-panel{background:#22352A;border-color:#3e5244}
.package-picture{background:#EDE7DA}
.button:hover{background:#2f4a38}
#mobile-price .button:hover,.review-basket .button:hover,.cost-panel .button:hover{background:#e5c891;border-color:#e5c891}
.no-signup{color:var(--dim)}
main:focus,main:focus-visible{outline:none}
.review-basket .help,.review-basket figcaption{color:#c9c3b2}

/* ── New SLAB SHOWER mark and larger header (owner request 2026-10-25) ── */
@font-face{font-family:'SlabMont';src:url(assets/fonts/montserrat-300.woff2) format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:'SlabMont';src:url(assets/fonts/montserrat-600.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'SlabMont';src:url(assets/fonts/montserrat-700.woff2) format('woff2');font-weight:700;font-display:swap}
.site-header{min-height:104px;padding-top:14px;padding-bottom:14px;gap:32px;background:#1D2E27f7}
.brand{gap:16px}
.brand img#brand-mark{display:none}
.brand::before{content:"";display:block;flex:0 0 auto;width:68px;height:69px;background:url(assets/brand/slab-mark.webp) center/contain no-repeat}
.brand b{font-family:'SlabMont',var(--sans,Arial),sans-serif;font-weight:700;font-size:31px;letter-spacing:.17em;color:#CDAE74;line-height:1.05}
.brand em{font-weight:300;color:#EDE4D2;letter-spacing:.14em}
.brand small{font-family:'SlabMont',Arial,sans-serif;font-weight:600;font-size:10px;letter-spacing:.24em;color:#CDAE74;margin-top:9px;display:flex;align-items:center;gap:10px}
.brand small::before,.brand small::after{content:"";flex:1 1 18px;height:1px;background:#CDAE7499}
.desktop-nav{font-size:16px;gap:34px}
.desktop-nav a{color:#EDE7DA}
.desktop-nav a.current{color:#D4B680;border-bottom-width:2px}
.site-header .header-cta{font-size:15px;padding:13px 22px;min-height:50px;border-radius:6px}
.mobile-nav summary{font-size:14px;padding:10px 14px}
.mobile-nav nav a{font-size:16px}
@media(max-width:1180px){.desktop-nav{font-size:14px;gap:20px}.brand b{font-size:25px}.brand::before{width:56px;height:57px}.site-header{gap:20px}}
@media(max-width:950px){.site-header{min-height:84px}.brand b{font-size:24px}}
@media(max-width:760px){.site-header{min-height:72px;padding:10px 14px;gap:10px}.brand{gap:9px}.brand::before{width:44px;height:45px}
  .brand b{font-size:18px;letter-spacing:.12em}.brand small{font-size:6.5px;letter-spacing:.16em;margin-top:5px;gap:6px}
  .site-header .header-cta{font-size:12px;padding:9px 12px;min-height:40px}.mobile-nav summary{font-size:12px;padding:9px 11px}}
@media(max-width:370px){.brand b{font-size:15px}.brand::before{width:36px;height:37px}.brand small{display:none}.site-header .header-cta{font-size:11px;padding:8px}}
.package-section,[id]{scroll-margin-top:118px}
.brand small::before,.brand small::after{flex:0 0 26px}
@media(max-width:760px){.brand b{font-size:16px;letter-spacing:.1em}.brand::before{width:40px;height:41px}.brand small{font-size:6px;letter-spacing:.12em;gap:4px}
  .brand small::before,.brand small::after{flex-basis:8px}
  .site-header .header-cta{font-size:11px;padding:8px 10px;min-height:38px;gap:8px}.mobile-nav summary{font-size:11px;padding:8px 10px}}
@media(max-width:370px){.brand b{font-size:14px}.brand::before{width:34px;height:35px}}
@media(max-width:430px){.site-header{gap:8px;padding-left:12px;padding-right:12px}.brand{gap:7px}.brand::before{width:36px;height:37px}.brand b{font-size:15px;letter-spacing:.09em}
  .brand small::before,.brand small::after{display:none}.brand small{font-size:5.6px;letter-spacing:.1em}
  .site-header .header-cta{padding:8px 9px;gap:6px}.mobile-nav summary{padding:8px 9px}}
@media(max-width:340px){.brand b{font-size:12.5px;letter-spacing:.06em}.brand::before{width:30px;height:31px}.site-header .header-cta span{display:none}.site-header{gap:6px;padding-left:8px;padding-right:8px}}

/* Readability floor: no body text below 12px (Lighthouse legible-font rule; owner asked for larger type) */
#mobile-price .button,
#mobile-price small,
#mobile-price>div>span,
#notice:not(:empty),
#request-ready textarea,
.active-finish,
.check-line small,
.choice,
.concept-badge,
.cost-fine,
.cost-head .button,
.cost-head small,
.cost-head span:not(.button span),
.dimension-field>span,
.eyebrow,
.field,
.finish-card>span+span,
.help,
.hero .eyebrow,
.hero-copy>.text-link,
.hero-facts,
.label-heading,
.layout-choice,
.package-badge,
.package-copy .button,
.package-copy .eyebrow,
.package-copy>p:not(.eyebrow),
.package-copy>small,
.package-number,
.panel-body .outline,
.picture-note,
.preview-caption .text-link,
.preview-caption p,
.pricing-details,
.quote-note,
.request-form>.help,
.review-basket>.text-link,
.review-dimensions,
.review-finishes,
.sample-mini .eyebrow,
.sample-mini .text-link,
.sample-mini p:not(.eyebrow),
.sample-visit .eyebrow,
.sample-visit small,
.scope-details,
.scope-details p,
.scope-details ul,
.section-heading>p,
.section-note,
.site-footer .footer-note,
.site-footer a,
.site-footer p,
.small-chip,
.step-number,
.studio-heading>.text-link,
.studio-heading>div p,
.surface-summary b,
.surface-summary small,
.system-card small,
.three-points span,
.upgrade-row small,
.viewer-tools button,
.viewer-top,
.wall-tabs button,
small{font-size:12px}

/* Contrast: gold text on ivory meets WCAG AA (5.7:1) */
:root{--gold:#7A5E2E}
/* Layout stability: footer stays below the fold until the app renders (CLS) */
main#main{min-height:calc(100vh - 104px)}
@media(max-width:760px){main#main{min-height:calc(100vh - 72px)}}
.site-footer .legal-link{color:#CFC9B8}
@media(max-width:760px){.viewer-top{font-size:10.5px}.concept-badge{font-size:9.5px;letter-spacing:.08em}.viewer-top>span{white-space:nowrap}
  .finish-card>span+span,.finish-card span{font-size:11px;overflow-wrap:anywhere;hyphens:auto}}
@media(max-width:760px){.finish-card>span+span,.finish-card span{font-size:10px;overflow-wrap:normal;word-break:normal;hyphens:auto;letter-spacing:-.01em}}
@media(max-width:430px){.finish-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.finish-card>span+span,.finish-card span{font-size:10.5px}}
@media(max-width:340px){.finish-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
