/* Design tokens: edit these first to change the visual system. No third-party fonts required. */
:root{--navy:#15386c;--deep:#102b51;--blue:#204c9e;--bright:#2b60bd;--pale:#f0f5fb;--ice:#e7f0fb;--ink:#132e52;--muted:#526781;--line:#dde5ef;--input-border:#778aa4;--white:#fff;--radius:16px;--shadow:0 12px 42px #14355d0d;--max:1264px;--text-body:16px;--text-small:14px;--text-label:12px;--text-eyebrow:11px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:112px}
*{box-sizing:border-box}body{margin:0;font-size:var(--text-body);line-height:1.6;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}.request-form[data-busy=true] button[type=submit]{cursor:wait}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--deep);line-height:1.15}h1{font-size:clamp(40px,4.6vw,66px);font-weight:720;letter-spacing:-2.9px}h2{font-size:clamp(28px,2.5vw,36px);font-weight:700;letter-spacing:-1.25px}h3{font-size:18px;letter-spacing:-.35px}p{color:var(--muted)}b,strong{font-weight:650}small{font-size:var(--text-label)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:5px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-color:var(--blue)}[hidden]{display:none!important}.container{width:min(100% - 80px,var(--max));margin-inline:auto}.icon{width:22px;height:22px;flex-shrink:0;display:inline-block;vertical-align:middle}.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;border:1px solid var(--blue);border-radius:8px;padding:14px 22px;background:var(--blue);color:#fff;font-size:var(--text-small);font-weight:620;line-height:1.2;min-height:48px;transition:background .16s,transform .16s,box-shadow .16s;white-space:nowrap}.button:hover{background:var(--navy);box-shadow:0 4px 12px #163c7921;transform:translateY(-1px)}.button .icon{width:18px;height:18px}.button.outline{background:transparent;color:var(--blue);border-color:#acbfdd}.button.outline:hover{background:var(--pale)}.button.white{background:#fff;color:var(--navy);border-color:#fff;min-width:235px}.button.small{padding:12px 17px;min-height:44px}.text-button,.text-link{display:inline-flex;align-items:center;gap:9px;background:none;border:0;color:var(--blue);font-weight:600;font-size:var(--text-small);padding:0;line-height:1.5}.text-button:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.text-button .icon,.text-link .icon{width:17px;height:17px}.icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:8px}.icon-button:hover{background:var(--pale)}.eyebrow{color:var(--blue);font-size:var(--text-eyebrow);letter-spacing:.18em;font-weight:700;line-height:1.45;margin-bottom:17px;text-wrap:balance}.section{padding:90px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.section-heading p:not(.eyebrow),.section-subtitle{margin-top:12px;font-size:var(--text-small)}.section-heading .text-link{margin-bottom:5px}.section-heading.compact{margin-bottom:20px;align-items:center}.section-heading.compact h2{font-size:28px;letter-spacing:-1px}.section-heading.compact .eyebrow{font-size:11px;letter-spacing:1.7px;margin-bottom:7px}.section-heading.compact p:not(.eyebrow){font-size:var(--text-small);margin-top:7px}.icon-disc{width:61px;height:61px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ice);color:var(--blue)}.icon-disc .icon{width:27px;height:27px}.skip-link{position:fixed;z-index:100;top:12px;left:12px;background:#15386c;color:#fff;padding:12px 20px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
/* Header */
.utility{background:var(--pale);border-bottom:1px solid #eaf0f8;min-height:36px;height:auto;padding:7px 0;font-size:var(--text-eyebrow);letter-spacing:.08em;color:var(--muted)}.utility .container{display:flex;justify-content:space-between;align-items:center;height:100%}.utility b{font-weight:650;color:var(--navy)}.utility a{display:flex;align-items:center;gap:7px;letter-spacing:.1px;font-size:11px}.utility .icon{width:12px;height:12px}.site-header{position:sticky;top:0;z-index:25;background:#ffffffef;backdrop-filter:blur(15px);border-bottom:1px solid #e4ebf1}.header-inner{height:91px;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{position:relative;display:block;flex-shrink:0}.brand img{width:163px;height:74px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:28px;flex:1;justify-content:center}.desktop-nav a{font-size:var(--text-body);font-weight:550;white-space:nowrap;position:relative;padding:8px 0}.desktop-nav a:hover{color:var(--bright)}.desktop-nav a.is-current:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--blue)}.header-actions{display:flex;align-items:center;gap:19px}.project-link{position:relative;width:33px;height:40px;display:flex;align-items:center}.project-link .icon{width:22px;height:22px}.project-count{position:absolute;right:-4px;top:0;font-size:var(--text-eyebrow);min-width:18px;height:18px;background:#204c9e;color:#fff;border-radius:50%;display:grid;place-items:center;border:2px solid var(--surface,#fff);line-height:1}.mobile-menu-toggle{display:none}.mobile-nav{padding:12px 24px 24px;background:#fff;border-top:1px solid var(--line);box-shadow:0 20px 24px #18375910}.mobile-nav a{display:block;padding:12px 5px;font-size:18px;font-weight:600;border-bottom:1px solid var(--line)}
/* Homepage */
.hero{position:relative;background:linear-gradient(106deg,#f7fafe 0%,#eef3f8 70%,#f7f9fc 100%);padding-bottom:56px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.02fr 1fr;min-height:590px;align-items:center}.hero-copy{padding:57px 34px 63px 0;position:relative;z-index:2}.hero-copy .eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:20px}.hero h1 span{color:var(--blue)}.hero-description{font-size:18px;line-height:1.6;margin-top:26px;color:#536b86}.hero-buttons{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.hero-trust{display:flex;gap:25px;margin-top:40px}.hero-trust>span{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.45;font-weight:550;color:var(--navy)}.hero-trust .icon{width:25px;height:25px}.hero-image{position:relative;align-self:stretch;margin:22px 0 28px 5px;border-radius:80px 12px 12px 12px;overflow:hidden;background:var(--ice);min-width:0}.hero-image>img{width:100%;height:100%;object-fit:contain;object-position:center;position:absolute;inset:0}.hero-image-caption{position:absolute;bottom:21px;left:25px;right:23px;display:flex;justify-content:space-between;align-items:center;gap:10px}.hero-image-caption>span{display:flex;align-items:center;gap:10px;background:#ffffffed;backdrop-filter:blur(8px);border:1px solid #ffffffb0;border-radius:30px;padding:10px 15px;font-size:12px;font-weight:550;color:var(--navy)}.hero-image-caption .icon{width:15px;height:15px}.hero-image-caption small{color:#fff;background:#15386c;padding:6px 9px;border-radius:5px;font-size:12px;letter-spacing:1.2px}.replay-welcome{position:absolute;bottom:20px;right:max(40px,calc((100% - var(--max))/2));display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);border:0;background:none}.replay-welcome .icon{width:12px;height:12px}.glass-welcome{position:absolute;inset:0;pointer-events:none;opacity:0}.glass-welcome:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#f6fdff7a 47%,transparent 61%);transform:translateX(-130%)}.glass-welcome.is-playing{animation:welcome 2.3s ease both}.glass-welcome.is-playing:after{animation:shine 2.3s ease both}@keyframes welcome{0%{opacity:0;transform:translateX(-25px)}20%,55%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(0)}}@keyframes shine{to{transform:translateX(150%)}}
/* Builder */
.builder-section{position:relative;z-index:3;margin-top:-56px}.builder-card{display:grid;grid-template-columns:minmax(0,1fr) 315px;background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:29px;gap:29px}.builder-controls{min-width:0}.save-status{font-size:12px;display:inline-flex;align-items:center;gap:4px;white-space:normal;color:#466b61}.save-status .icon{width:13px;height:13px}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px}.option-group{margin:0;border:1px solid #e7ecf4;border-radius:10px;padding:13px 10px 10px;min-width:0}.option-group legend{padding:0 4px;font-size:12px;font-weight:650;display:flex;gap:8px;align-items:center;line-height:1.3}.step-number{height:19px;width:19px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e7eff9;color:var(--blue);font-size:11px}.option-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.option{position:relative;cursor:pointer;text-align:center;display:flex;flex-direction:column;align-items:stretch;min-width:0}.option input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.option-visual{position:relative;border:1.5px solid #e4e9ee;border-radius:6px;aspect-ratio:1;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f5f7fa;transition:border-color .16s,background .16s}.option input:checked+.option-visual{border-color:var(--blue);background-color:#eaf1fc}.option input:focus-visible+.option-visual{outline:3px solid var(--blue);outline-offset:2px}.option-check{position:absolute;right:3px;top:3px;display:none;background:var(--blue);width:14px;height:14px;border-radius:50%;align-items:center;justify-content:center;color:#fff;z-index:1}.option-check .icon{width:10px;height:10px;stroke-width:2.5}.option input:checked+.option-visual .option-check{display:flex}.option-label{font-size:var(--text-label);line-height:1.35;margin-top:7px;overflow-wrap:anywhere;hyphens:auto}.option input:checked~.option-label{color:var(--blue);font-weight:650}.shower-diagram{width:90%;height:auto;max-height:77px;display:block}.glass-sample{background:linear-gradient(180deg,#e7eef5,#f4f7fb)}.glass-sample .glass-icon{width:72%;height:72%;max-width:58px;max-height:58px;display:block}.finish-sample:before{content:"";width:29%;height:56%;border-radius:7px;background:#eee;box-shadow:3px 3px 6px #1e334927}.finish-sample.chrome:before{background:linear-gradient(90deg,#767f87 0%,#fcfdfd 30%,#9da9b3 52%,#f9fbfc 70%,#727e87)}.finish-sample.nickel:before{background:linear-gradient(100deg,#9b9c91,#d7d6c9,#999b93)}.finish-sample.black:before{background:linear-gradient(100deg,#343c43,#17202b,#303944)}.unsure-option{display:flex;gap:5px;align-items:center;font-size:var(--text-label);line-height:1.35;color:var(--muted);margin-top:13px;cursor:pointer;white-space:normal}.unsure-option input{accent-color:var(--blue);margin:0;width:12px;height:12px}.builder-note{margin-top:18px;font-size:12px;line-height:1.5;display:flex;gap:7px;align-items:flex-start}.builder-note .icon{width:13px;height:13px;margin-top:1px}.project-summary{background:#f5f8fd;border:1px solid #dfe8f3;border-radius:10px;padding:17px 18px;display:flex;flex-direction:column;justify-content:flex-start}.summary-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:11px}.summary-top>span{font-weight:650;font-size:13px;display:flex;align-items:center;gap:8px}.summary-top .icon{width:17px;height:17px}.summary-top small{font-size:12px;color:var(--muted)}.room-name-label{font-size:12px;color:var(--muted);margin-bottom:2px}.room-name{width:100%;border:0;border-bottom:1px dashed var(--input-border);border-radius:0;background:transparent;font-size:16px;font-weight:650;padding:4px 0 7px;min-height:32px;color:var(--navy)}.summary-preview{display:flex;align-items:center;gap:9px;margin:14px 0 11px}.summary-preview .shower-diagram{width:65px;flex-shrink:0;max-height:60px}.summary-style{font-size:12px}.summary-options{font-size:12px;line-height:1.5;margin-top:4px}.add-room{font-size:12px;margin-bottom:18px}.summary-add,.summary-submit{font-size:12px;padding:12px 9px;min-height:44px;gap:7px;width:100%;white-space:normal}.summary-add{margin-top:auto}.summary-submit{margin-top:10px}.summary-add .icon,.summary-submit .icon{width:15px;height:15px}.builder-save-status{font-size:12px;line-height:1.6;text-align:center;margin:9px 0 0;color:var(--muted)}.summary-pdf-help{font-size:12px;line-height:1.6;text-align:center;margin:5px 0 0;color:var(--muted)}.fineprint{font-size:12px;line-height:1.55;margin-top:8px;text-align:center}.summary-download{align-self:center;margin-top:12px;font-size:12px}.summary-download .icon{width:12px;height:12px}.room-tabs{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:15px}.room-tab{display:flex;align-items:center;max-width:100%;min-width:0;gap:4px;border:1px solid #e1e8f2;border-radius:5px;background:white;font-size:12px}.room-tab.is-active{border-color:#91b1e2;background:var(--pale)}.room-tab button{border:0;background:none;padding:5px 8px;font-size:12px;min-width:0;overflow-wrap:anywhere;text-align:left}.room-tab .remove-room{flex-shrink:0;padding:8px;min-width:36px;min-height:44px;color:var(--muted)}.room-tab .icon{width:11px;height:11px}.room-tabs.single-room{display:none}
/* Quote steps */
.quote-steps-section{padding:60px 0 62px}.center-heading{text-align:center}.center-heading .eyebrow{font-size:11px;margin-bottom:11px}.center-heading h2{font-size:30px}.center-heading>p:last-child{margin-top:11px;font-size:14px}.quote-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:90px;max-width:955px;margin:34px auto 0;text-align:center}.quote-steps>div{position:relative}.quote-steps>div:not(:last-child):after{content:"⟶";font-size:27px;color:#a5b8d0;position:absolute;right:-62px;top:20px}.quote-steps .icon-disc{width:52px;height:52px}.quote-steps .icon-disc .icon{width:24px;height:24px}.quote-steps h3{font-size:14px;margin:18px 0 10px}.quote-steps p{font-size:14px;line-height:1.6;max-width:245px;margin:auto}
/* Gallery */
.gallery-section{background:#f5f8fc;border-block:1px solid #e8eef6;padding-top:68px;padding-bottom:54px}.gallery-filters{display:flex;align-items:center;gap:8px;margin-bottom:25px;flex-wrap:wrap}.filter{font-size:12px;padding:8px 16px;border:1px solid #dfe6ee;border-radius:30px;background:#fff;min-height:36px;transition:background .15s}.filter.is-active{background:var(--navy);border-color:var(--navy);color:#fff}.interactive-gallery{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(285px,1fr);gap:24px;align-items:stretch}.gallery-photo-wrap{position:relative;border-radius:12px;overflow:hidden;align-self:start;background:var(--ice)}.gallery-main-photo{width:100%;height:auto;display:block}.gallery-hotspots{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;transform:translate(-50%,-50%);height:43px;min-width:43px;border:0;border-radius:50%;background:transparent;color:#fff;pointer-events:auto;display:flex;align-items:center;justify-content:center;padding:7px}.hotspot:before{content:"";position:absolute;inset:7px;background:var(--blue);border:2px solid white;border-radius:50%;box-shadow:0 0 0 5px #ffffff4d,0 2px 12px #143b7b30}.hotspot .icon{width:13px;height:13px;position:relative;stroke-width:2.4}.hotspot.is-active:before{box-shadow:0 0 0 7px #fff6,0 2px 16px #1a337549;background:#0d2f66}.hotspot-label{position:absolute;left:46px;top:9px;background:#ffffffef;color:var(--navy);font-size:12px;padding:5px 10px;border-radius:4px;white-space:nowrap;opacity:0;transition:opacity .15s}.hotspot.label-on-left .hotspot-label{left:auto;right:46px}.hotspot.is-active .hotspot-label,.hotspot:hover .hotspot-label,.hotspot:focus-visible .hotspot-label{opacity:1}.photo-disclosure{position:absolute;bottom:16px;left:18px;padding:5px 9px;color:#fff;background:#13273e;border-radius:4px;font-size:11px;letter-spacing:.1px}.hotspot-toggle{position:absolute;right:16px;bottom:16px;display:flex;gap:6px;align-items:center;background:#ffffffed;border:1px solid #fffa;border-radius:5px;padding:7px 10px;font-size:12px;color:var(--navy)}.hotspot-toggle .icon{width:13px;height:13px}.detail-card{padding:28px;border:1px solid #dfe7f1;background:#fff;border-radius:12px;display:flex;flex-direction:column;min-width:0;align-self:stretch}.detail-card-top{display:flex;align-items:center;justify-content:space-between;color:var(--blue);margin-bottom:30px}.detail-type{font-size:12px;letter-spacing:2px;font-weight:650}.detail-card-top .icon{width:24px;height:24px}.detail-content h3{font-size:26px;letter-spacing:-.8px;margin-bottom:15px}.detail-description{font-size:14px;line-height:1.8}.detail-options{display:flex;gap:7px;margin:23px 0;flex-wrap:wrap}.detail-option{background:var(--pale);border:1px solid transparent;border-radius:5px;font-size:12px;padding:6px 10px;min-height:32px}.detail-option.is-active{border-color:#a8bfdc;color:var(--navy)}.detail-bottom{margin-top:auto;padding-top:18px;border-top:1px solid #e7edf5}.detail-note{font-size:12px;margin-bottom:12px}.detail-bottom .button{width:100%;font-size:12px;padding-inline:8px;gap:8px;min-height:44px}.use-look{justify-content:center;display:flex;margin:13px auto 0;font-size:12px}.detail-bottom small{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-top:20px}.gallery-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:20px}.gallery-thumbnail{background:#fff;border:1px solid #dfe6ee;border-radius:9px;display:flex;align-items:center;gap:12px;text-align:left;padding:8px;min-width:0;transition:box-shadow .15s}.gallery-thumbnail.is-active{border-color:#628bc9;box-shadow:0 0 0 1px #628bc9}.thumbnail-image{width:87px;height:66px;border-radius:5px;overflow:hidden;flex-shrink:0}.thumbnail-image img{width:100%;height:100%;object-fit:contain}.gallery-thumbnail b{font-size:12px;display:block;margin-bottom:4px}.gallery-thumbnail small{font-size:12px;line-height:1.4;display:block;color:var(--muted)}.gallery-thumbnail>.icon{width:15px;height:15px;margin-left:auto;margin-right:3px}.image-note{font-size:12px;margin-top:15px;text-align:right;color:var(--muted)}.gallery-page{padding-top:58px}.gallery-page h1{font-size:48px}
/* Process and story */
.process-layout{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:50px}
.process-layout.process-only{grid-template-columns:minmax(0,1fr)}.process-section h2{font-size:32px}.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;list-style:none;margin:32px 0 0;padding:0}.process-steps .icon-disc{width:55px;height:55px}.process-steps h3{font-size:var(--text-label);margin:16px 0 9px;white-space:normal}.process-steps h3 span{font-size:12px}.process-steps p{font-size:12px;line-height:1.55}.guidance-card{display:grid;grid-template-columns:1.1fr .9fr;background:var(--pale);border-radius:15px;overflow:hidden;position:relative;min-height:310px}.guidance-card>div{padding:25px 0 25px 25px;z-index:1}.guidance-card>div>.icon{color:#749acb;width:32px;height:32px;margin-bottom:17px}.guidance-card h3{font-size:23px;line-height:1.17;margin-bottom:14px;letter-spacing:-.8px}.guidance-card p{font-size:var(--text-small);line-height:1.75;max-width:245px}.guidance-card .text-button{font-size:12px;margin-top:21px}.guidance-card .text-button .icon{width:13px;height:13px}.guidance-photo{margin:0;position:relative;min-width:0;min-height:240px;overflow:hidden;background:var(--ice)}.guidance-photo img{position:absolute;inset:0;height:100%;width:100%;object-fit:contain;object-position:center}.faq-section{padding-top:28px;padding-bottom:82px}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.faq-layout>div>p:not(.eyebrow){font-size:14px;margin-top:19px}.faq-layout .text-link{margin-top:12px}.faq-list details{border-bottom:1px solid var(--line);padding:19px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{font-size:14px;font-weight:600;list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary .icon{width:17px;height:17px;transition:transform .15s}.faq-list details[open] summary .icon{transform:rotate(45deg)}.faq-list details p{font-size:14px;line-height:1.8;margin-top:14px;max-width:570px}.bay-section{background:#eaf2fb;position:relative;overflow:hidden}.bay-section:after{content:"";position:absolute;bottom:0;right:0;width:40%;height:130px;background:linear-gradient(90deg,#eaf2fb,transparent 45%),url('assets/bay.webp?v=4f2f794728ab') right bottom/cover no-repeat;opacity:.58;pointer-events:none}.bay-inner{padding-top:49px;padding-bottom:48px;display:grid;grid-template-columns:1.22fr 1fr .4fr;gap:34px;align-items:center;position:relative;z-index:1}.bay-inner .eyebrow{font-size:11px;margin-bottom:11px}.bay-inner h2{font-size:29px}.bay-inner>div>p:not(.eyebrow){font-size:var(--text-small);line-height:1.8;margin-top:14px;max-width:510px}.bay-inner .text-link{margin-top:17px;font-size:12px}.bay-values{display:grid;grid-template-columns:repeat(3,1fr);padding:21px 8px;background:#ffffffb5;border:1px solid #fff9;border-radius:12px;backdrop-filter:blur(4px);position:relative;z-index:1}.bay-values>div{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;font-size:12px;line-height:1.7;padding:2px 9px}.bay-values>div:not(:last-child){border-right:1px solid #dce8f5}.bay-values .icon{width:25px;height:25px;color:var(--blue)}.bay-script{font-family:Georgia,serif;font-style:italic;font-size:22px;line-height:1.25;color:var(--navy);transform:rotate(-7deg);position:relative;align-self:start;margin-top:20px;z-index:1;letter-spacing:-.5px}.closing{padding:39px 0;background-color:#163e81;background-image:repeating-radial-gradient(ellipse at 8% 130%,transparent 0,transparent 44px,#ffffff04 45px,transparent 46px);color:#fff}.closing>.container{display:flex;justify-content:space-between;align-items:center;gap:30px}.closing .eyebrow{color:#c7d8f1;font-size:11px;margin-bottom:10px}.closing h2{color:#fff;font-size:31px}.closing p:not(.eyebrow){color:#d4dff0;font-size:var(--text-small);margin-top:11px}.closing .button{border-radius:7px}.closing .button:focus-visible{outline-color:#fff}
/* Footer */
.site-footer{padding:48px 0 20px;background:#fff}.footer-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) minmax(0,1.15fr) minmax(0,1.2fr);gap:48px 40px;align-items:start}.footer-brand{display:block;width:150px}.footer-brand img{width:150px;height:auto}.footer-grid>div:first-child>p{font-size:12px;margin-top:14px;line-height:1.7;max-width:220px}.footer-grid nav{display:flex;flex-direction:column;gap:12px;padding-top:4px;font-size:12px;color:var(--muted)}.footer-grid nav a:hover{color:var(--blue)}.footer-contact{display:flex;flex-direction:column;gap:14px;padding-top:4px}.footer-contact a{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.7}.footer-contact .icon{width:16px;height:16px;margin-top:2px;flex-shrink:0}.footer-contact a:first-child{font-weight:650;color:var(--navy);font-size:14px}.footer-yelp .icon{color:#d32323}.footer-hours{padding-top:4px}.footer-hours h3{font-size:14px;margin-bottom:12px}.footer-hours p{font-size:12px;line-height:1.85;margin:0}.footer-hours .text-link{font-size:12px;margin-top:12px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:19px;margin-top:30px;font-size:12px;color:var(--muted)}.footer-bottom>span:last-child{font-size:11px;letter-spacing:1.5px;color:var(--navy)}.divider-dot{padding:0 10px}.toast{position:fixed;bottom:24px;right:24px;z-index:90;border:1px solid #ccdbee;box-shadow:0 12px 36px #12305d21;background:var(--navy);color:#fff;border-radius:9px;padding:14px 20px;max-width:360px;font-size:var(--text-small)}
/* Forms and dialogs */
.quote-dialog{border:1px solid #d4dfed;border-radius:17px;box-shadow:0 25px 100px #0e254a40;width:min(740px,calc(100% - 32px));max-height:calc(100dvh - 42px);padding:32px;color:var(--ink);overscroll-behavior:contain}.quote-dialog::backdrop{background:#0e294977;backdrop-filter:blur(4px)}body:has(dialog[open]){overflow:hidden}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.dialog-header .eyebrow{font-size:11px;margin-bottom:10px}.dialog-header h2{font-size:29px;max-width:560px}.dialog-header .icon-button{margin-top:-10px;margin-right:-10px;flex-shrink:0}.dialog-intro{font-size:14px;line-height:1.7;margin-top:16px}.form-mode-note{color:var(--muted);font-size:13px;margin:17px 0;line-height:1.6}.quote-room-summary{display:flex;flex-direction:column;gap:8px;margin:19px 0}.quote-room{border:1px solid var(--line);border-radius:7px;background:var(--pale);padding:11px 13px;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:12px}.quote-room small{font-size:12px;color:var(--muted)}.request-form{margin-top:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px}.field label,.contact-preference legend{font-weight:600;font-size:12px}.field input,.field textarea,.field select,#office-token{border:1px solid var(--input-border);border-radius:6px;background:#fff;padding:12px 13px;color:var(--ink);font-size:13px;width:100%;min-height:46px}.field textarea{resize:vertical;min-height:110px;line-height:1.6}.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}.contact-preference{border:0;padding:0;margin:0 0 22px}.contact-preference legend{margin-bottom:12px}.contact-preference label{display:inline-flex;align-items:center;gap:7px;font-size:12px;margin-right:20px}.contact-preference input,.consent input{accent-color:var(--blue);width:15px;height:15px;margin:0;flex-shrink:0}.consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.7;color:var(--muted);margin:15px 0 21px}.consent input{margin-top:2px}.consent a{text-decoration:underline;text-underline-offset:2px}.form-submit-row{display:flex;align-items:center;gap:17px;justify-content:space-between}.form-submit-row>span{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px}.form-submit-row>span .icon{width:13px;height:13px}.form-error{background:#fff1f2;border:1px solid #e7afb9;color:#9a2947;font-size:12px;padding:11px 14px;border-radius:6px;margin-bottom:17px;line-height:1.6}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-success{padding:28px 0 15px}.form-success h3{font-size:26px;margin-bottom:14px}.form-success p{font-size:14px;line-height:1.8;margin-top:8px}.form-success .button{margin-top:20px}.form-success .reference{background:var(--pale);border:1px solid var(--line);font-size:13px;border-radius:6px;padding:12px 15px;margin-top:20px}.form-success .success-symbol{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--ice);font-size:24px;color:var(--blue);margin-bottom:20px}.noscript-notice{background:var(--navy);color:#fff;padding:18px;text-align:center;font-size:14px}
/* Interior pages */
.page-heading{margin-bottom:45px;max-width:810px}.page-heading h1{font-size:54px;letter-spacing:-2px}.page-heading>p:last-child{font-size:17px;line-height:1.75;margin-top:20px;max-width:660px}.contact-page{padding-top:62px}.contact-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:65px;align-items:start}.contact-info-card{padding:34px;background:linear-gradient(to top,#c8dcf3 0%,#dde9f7 38%,var(--pale) 72%,#f7fafd 100%);border:1px solid #e0e9f5;border-radius:15px}.contact-info-card h2{font-size:27px;margin-top:21px}.contact-info-card address{font-style:normal;color:var(--muted);font-size:14px;line-height:1.8;margin:18px 0 22px}.contact-info-card .button{font-size:12px}.contact-info-card hr{border:0;border-top:1px solid #d6e1f0;margin:30px 0 23px}.contact-info-card h3{font-size:15px;margin-bottom:13px}.contact-info-card>p{font-size:12px;line-height:2}.contact-phone{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:650;margin-top:22px;color:var(--blue)}.contact-yelp{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:13px}.contact-yelp .icon{width:18px;height:18px;color:#d32323}.contact-email{display:inline-flex;align-items:center;gap:8px}.contact-email .icon{width:16px;height:16px;color:var(--blue)}.contact-message-column{display:grid;gap:22px;min-width:0}.contact-project-callout{padding:34px;border:1px solid var(--line);border-radius:12px;background:var(--pale);min-width:0}.contact-project-callout h3{font-size:20px}.contact-project-callout p{font-size:13px;margin-top:13px;line-height:1.7}.contact-project-callout .button{margin-top:20px;font-size:12px}.contact-form-card{padding:34px;min-width:0}.contact-form-card h2{font-size:30px;margin-bottom:6px}.contact-form-card .section-subtitle{margin-top:8px;margin-bottom:4px;line-height:1.55}.contact-form-card .form-mode-note{margin-top:22px;margin-bottom:8px}.contact-form-card .request-form{margin-top:28px}.contact-form-card .field{margin-bottom:24px;gap:10px}.contact-form-card .contact-preference{margin-bottom:24px}.contact-form-card .submission-notice{margin:22px 0 20px}.contact-form-card .form-submit-row{margin-top:8px;gap:20px;flex-wrap:wrap}.project-heading{max-width:var(--max);padding-top:57px;margin-bottom:44px}.project-heading p:last-child{max-width:715px}.builder-page{margin-top:0}.project-explainer{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding-top:45px;padding-bottom:65px}.project-explainer>div>.icon{color:var(--blue);margin-bottom:17px;width:28px;height:28px}.project-explainer h3{font-size:17px;margin-bottom:12px}.project-explainer p{font-size:13px;line-height:1.8}.project-explainer .text-button{margin-top:13px;font-size:12px}.about-page{padding-top:61px;padding-bottom:20px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.about-photo{position:relative;border-radius:20px;overflow:hidden}.about-photo img{width:100%;height:auto}.about-layout h2{font-size:32px;margin-bottom:23px}.about-layout p{font-size:14px;line-height:1.9;margin-bottom:17px}.about-layout .button{font-size:12px;margin-top:8px}.editor-note{margin-top:27px;padding:18px;border:1px dashed #c6d2e1;border-radius:7px;background:#f7f9fc;font-size:12px;color:#536980}.editor-note p{font-size:12px;line-height:1.7;margin:8px 0 0}.legal-page{max-width:850px;padding-top:60px}.legal-page h1{font-size:46px}.legal-page h2{font-size:24px;margin-top:40px;margin-bottom:15px}.legal-page>p{font-size:14px;line-height:1.9;margin-bottom:15px}.legal-page .button{margin-top:22px}.legal-page a{text-decoration:underline;text-underline-offset:3px}
/* Office */
.office-page h1{font-size:48px}.office-notice{font-size:12px;padding:15px 18px;background:#fbf2da;border:1px solid #e8d8aa;color:#6c5826;border-radius:7px;margin-bottom:30px}.office-login{max-width:580px;padding:30px;border:1px solid var(--line);border-radius:14px}.office-login h2{font-size:25px;margin-bottom:15px}.office-login p{font-size:13px;line-height:1.8;margin-bottom:20px}.office-login label{font-size:12px;display:block;margin-bottom:7px}.office-login .button{margin-top:15px}.office-login #office-error{color:#a22b43;font-size:12px;margin-top:16px;margin-bottom:0}.office-toolbar{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:18px}.office-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px}.office-list{display:flex;flex-direction:column;gap:8px}.request-card{display:block;width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;text-align:left;padding:15px}.request-card.is-active{border-color:var(--blue);background:var(--pale)}.request-card b{font-size:13px;display:block}.request-card small{font-size:12px;color:var(--muted);display:block;margin-top:4px}.request-card .status-pill{margin-top:10px}.status-pill{font-size:12px;background:var(--ice);border-radius:20px;color:var(--navy);display:inline-block;padding:4px 9px}.office-detail{padding:28px;border:1px solid var(--line);border-radius:12px;min-height:360px}.office-detail h2{font-size:27px;margin-bottom:9px}.office-detail h3{font-size:16px;margin:26px 0 12px}.office-detail p{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.office-detail dl{display:grid;grid-template-columns:90px 1fr;font-size:12px;gap:10px;margin:22px 0}.office-detail dt{color:var(--muted)}.office-detail dd{margin:0;overflow-wrap:anywhere}.office-detail .request-room{border:1px solid var(--line);border-radius:5px;padding:12px;margin:7px 0;font-size:12px}.office-detail .office-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.office-detail .button{font-size:12px}.office-detail .field{margin-top:16px}.office-outbox{padding:15px;background:var(--pale);border-radius:6px;font-size:12px;margin-top:17px}.office-status-message{font-size:12px;margin-top:12px;color:var(--blue)}
/* Responsive */
@media(min-width:1600px){.hero-grid{min-height:620px}.hero h1{font-size:70px}}
@media(max-width:1180px){.container{width:calc(100% - 56px)}.desktop-nav{gap:19px}.header-inner{gap:24px}.brand img{width:146px;height:66px}.header-actions{gap:13px}.hero h1{font-size:55px;letter-spacing:-2.5px}.hero-copy{padding-right:26px}.hero-grid{min-height:550px}.hero-trust{gap:18px}.hero-trust>span{font-size:12px;gap:7px}.hero-trust .icon{width:22px;height:22px}.hero-description{font-size:16px}.hero-buttons .button{font-size:12px;padding-inline:16px;gap:9px}.builder-card{grid-template-columns:minmax(0,1fr) 280px;padding:23px;gap:22px}.options-grid{gap:11px}.option-group{padding-inline:7px}.option-row{gap:5px}.save-status{display:none}.option-label{font-size:12px}.unsure-option{font-size:12px}.option-group legend{font-size:12px;gap:5px}.project-summary{padding:15px}.process-layout{gap:30px}.process-steps{gap:13px}.process-steps .icon-disc{width:46px;height:46px}.process-steps h3{font-size:12px}.process-steps p{font-size:12px}.guidance-card h3{font-size:21px}.bay-inner{grid-template-columns:1.25fr 1fr;gap:28px}.bay-script{display:none}.footer-grid{gap:25px}.detail-card{padding:24px}.detail-content h3{font-size:24px}.detail-description{font-size:14px}.detail-bottom small{font-size:12px}.gallery-thumbnail>.icon{display:none}}
@media(max-width:980px){.desktop-nav{display:none}.mobile-menu-toggle{display:flex}.header-inner{gap:18px}.header-actions .button{font-size:12px;padding-inline:12px;gap:7px}.brand img{width:132px}.hero h1{font-size:49px}.hero-copy{padding-right:20px}.hero-image{margin-left:0;border-top-left-radius:56px}.hero-trust{gap:12px;flex-wrap:wrap}.hero-trust>span{font-size:12px}.hero-trust .icon{width:19px;height:19px}.builder-card{grid-template-columns:minmax(0,1fr);gap:25px}.project-summary{display:grid;grid-template-columns:1fr 1.3fr;column-gap:28px;align-items:center}.summary-top{grid-column:1/-1;margin-bottom:10px}.room-name-label{grid-column:1;grid-row:2}.room-name{grid-column:1;grid-row:3}.summary-preview{grid-column:1;grid-row:4;margin:8px 0}.summary-submit{grid-column:2;grid-row:3/5;margin:0;align-self:center}.project-summary .add-room{grid-column:1;grid-row:5;margin:3px 0}.project-summary .fineprint{grid-column:2;grid-row:5;margin:0}.summary-download{grid-column:2;grid-row:6;justify-self:center;margin-top:7px}.options-grid{gap:20px}.option-visual{max-height:79px}.option-label{font-size:12px}.option-group legend{font-size:12px}.unsure-option{font-size:12px}.option-group{padding:15px 10px 12px}.builder-controls .save-status{display:inline-flex}.quote-steps{gap:50px}.quote-steps>div:not(:last-child):after{right:-37px}.interactive-gallery{grid-template-columns:1.4fr 1fr;gap:17px}.detail-card{padding:22px}.detail-card-top{margin-bottom:23px}.detail-content h3{font-size:22px}.detail-description{font-size:14px;line-height:1.75}.detail-options{margin-block:16px}.detail-bottom{padding-top:14px}.detail-bottom small{margin-top:12px}.gallery-thumbnails{gap:12px}.gallery-thumbnail{gap:8px}.thumbnail-image{width:64px;height:55px}.gallery-thumbnail b{font-size:12px}.gallery-thumbnail small{font-size:12px}.process-layout{grid-template-columns:1fr;gap:32px}.process-steps{max-width:700px;gap:28px}.process-steps h3{font-size:14px}.process-steps p{font-size:12px}.process-steps .icon-disc{width:56px;height:56px}.guidance-card{min-height:280px;grid-template-columns:1.1fr 1fr}.guidance-card>div{padding:30px}.guidance-card h3{font-size:28px}.guidance-card p{font-size:14px;max-width:350px}.guidance-card .text-button{font-size:12px}.faq-layout{gap:50px}.bay-inner{grid-template-columns:1fr 1fr}.bay-values>div{font-size:12px;padding:2px 7px}.bay-inner h2{font-size:27px}.closing h2{font-size:27px}.closing .button{min-width:200px;font-size:12px}.footer-grid{grid-template-columns:1fr 1fr;row-gap:30px}.footer-grid nav{display:grid;grid-template-columns:1fr 1fr}.footer-bottom{flex-wrap:wrap;row-gap:10px}.contact-layout{gap:35px;grid-template-columns:.85fr 1.1fr}.contact-info-card{padding:24px}.contact-info-card h2{font-size:24px}.contact-phone{font-size:17px}.contact-form-card .form-grid{grid-template-columns:1fr;gap:0}.about-layout{gap:36px}.about-layout h2{font-size:28px}.about-layout p{font-size:13px}.office-layout{grid-template-columns:250px 1fr}.office-detail{padding:22px}}
@media(max-width:760px){:root{scroll-padding-top:90px}.container{width:calc(100% - 40px)}.utility{height:auto}.utility .container>span{font-size:11px;letter-spacing:.65px}.utility a{font-size:11px}.utility a>.icon:last-child{display:none}.desktop-nav{display:none}.header-inner{height:78px;gap:15px}.brand img{width:135px;height:63px}.mobile-menu-toggle{display:flex}.header-actions{gap:14px}.header-actions .button{font-size:12px;min-height:40px;padding:10px 13px}.project-link{width:25px}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:38px 0 29px;max-width:640px}.hero-copy .eyebrow{font-size:11px;letter-spacing:1.65px;margin-bottom:18px}.hero h1{font-size:54px;letter-spacing:-2.4px}.hero-description{font-size:16px;margin-top:20px}.hero-buttons{margin-top:22px;gap:11px}.hero-buttons .button{font-size:12px;min-height:47px}.hero-trust{margin-top:28px;gap:27px;flex-wrap:nowrap}.hero-trust>span{font-size:12px;gap:8px}.hero-trust .icon{width:22px;height:22px}.hero-image{height:340px;margin:0 0 18px;border-radius:52px 10px 10px 10px;min-height:0}.hero-image>img{object-position:center}.hero{padding-bottom:45px}.hero-image-caption{bottom:16px;left:18px;right:16px}.hero-image-caption>span{padding:8px 12px;font-size:12px}.replay-welcome{right:22px;bottom:21px}.builder-section{margin-top:-23px}.builder-card{padding:23px;gap:23px}.builder-controls .save-status{display:none}.section-heading.compact h2{font-size:27px}.section-heading.compact .eyebrow{font-size:11px}.options-grid{gap:12px}.option-group{padding:12px 8px 10px}.dimension-fields{gap:10px}.room-dimensions{padding:12px 10px 11px}.option-group legend{font-size:12px}.option-label{font-size:12px}.unsure-option{font-size:12px}.option-row{gap:5px}.builder-note{font-size:12px}.quote-steps-section{padding:48px 0}.quote-steps{gap:35px;margin-top:28px}.quote-steps>div:not(:last-child):after{right:-26px;top:14px;font-size:20px}.quote-steps h3{font-size:12px;line-height:1.45;margin-block:15px 8px}.quote-steps p{font-size:14px}.quote-steps .icon-disc{width:46px;height:46px}.quote-steps .icon-disc .icon{width:22px;height:22px}.center-heading h2{font-size:27px}.center-heading>p:last-child{font-size:12px}.center-heading .eyebrow{font-size:11px}.section{padding:58px 0}.section-heading{align-items:flex-start;gap:17px;margin-bottom:23px}.section-heading h2{font-size:30px}.section-heading .text-link{font-size:12px;white-space:nowrap;margin-top:30px}.section-heading p:not(.eyebrow){font-size:13px}.interactive-gallery{grid-template-columns:1fr;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--pale)}.gallery-photo-wrap{border-radius:0;max-height:none}.gallery-main-photo{max-height:none}.detail-card{border:0;border-radius:0;padding:24px}.detail-card-top{margin-bottom:17px}.detail-content h3{font-size:25px}.detail-description{font-size:14px;line-height:1.8}.detail-options{margin-block:19px}.detail-bottom .button{width:auto;min-width:230px}.detail-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.detail-note{width:100%;margin-bottom:0}.detail-bottom .use-look{margin:0;display:inline-flex;font-size:12px}.detail-bottom small{width:100%;margin-top:2px;font-size:12px}.gallery-thumbnails{gap:10px}.gallery-thumbnail{flex-direction:column;align-items:stretch;padding:6px}.thumbnail-image{width:100%;height:83px}.gallery-thumbnail>span:last-of-type{padding:2px 3px 5px}.gallery-thumbnail b{font-size:12px;line-height:1.4}.gallery-thumbnail small{font-size:12px}.image-note{text-align:left;font-size:12px;line-height:1.6}.gallery-section{padding-top:48px;padding-bottom:42px}.process-steps{gap:22px}.process-steps h3{font-size:12px}.process-steps p{font-size:12px}.process-steps .icon-disc{width:50px;height:50px}.guidance-card{grid-template-columns:1fr 1fr}.guidance-card>div{padding:25px 0 25px 24px}.guidance-card h3{font-size:25px}.guidance-card p{font-size:var(--text-small)}.guidance-card .text-button{font-size:12px}.faq-section{padding-top:5px}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-layout h2 br{display:none}.faq-layout .eyebrow{margin-bottom:12px}.faq-layout>div>p:not(.eyebrow){margin-top:14px;font-size:13px}.faq-list summary{font-size:13px}.bay-inner{grid-template-columns:1fr;padding-top:38px;padding-bottom:37px;gap:25px}.bay-inner h2{font-size:28px}.bay-inner>div>p:not(.eyebrow){font-size:var(--text-small);max-width:570px}.bay-inner .text-link{font-size:12px}.bay-values{max-width:520px;padding:19px 8px}.bay-values>div{font-size:12px;gap:13px}.bay-section:after{width:70%;height:180px;opacity:.3}.closing .container{flex-direction:column;align-items:flex-start;gap:24px}.closing{padding:33px 0 35px}.closing h2{font-size:30px;max-width:500px}.closing .button{font-size:13px;min-width:235px}.footer-grid{gap:25px}.footer-grid nav{display:flex;font-size:12px}.footer-brand{width:140px}.footer-brand img{width:140px}.footer-contact a:first-child{font-size:14px}.footer-contact a{font-size:12px}.footer-bottom{font-size:12px}.footer-bottom>span:last-child{width:100%;font-size:11px}.page-heading{margin-bottom:32px}.page-heading h1,.gallery-page h1{font-size:43px;letter-spacing:-1.8px}.page-heading>p:last-child{font-size:15px;margin-top:18px}.contact-layout{grid-template-columns:1fr;gap:26px}.contact-info-card{padding:28px}.contact-form-card .form-grid{grid-template-columns:1fr 1fr;gap:15px}.project-heading{padding-top:42px}.builder-page{margin-top:0}.project-explainer{grid-template-columns:1fr;gap:28px;padding-top:35px;padding-bottom:45px}.project-explainer>div>.icon{width:23px;height:23px;margin-bottom:12px}.project-explainer p{font-size:13px}.about-layout{grid-template-columns:1fr;gap:28px}.about-photo{max-height:430px}.about-photo img{max-height:430px;object-fit:contain}.about-layout h2{font-size:29px}.about-layout p{font-size:14px}.quote-dialog{padding:25px;max-height:calc(100dvh - 24px);width:calc(100% - 24px)}.dialog-header h2{font-size:27px}.dialog-intro{font-size:14px}.form-grid{gap:13px}.office-layout{grid-template-columns:1fr}.office-list{display:grid;grid-template-columns:repeat(2,1fr)}.office-page h1{font-size:41px}.office-login{padding:24px}.office-detail{padding:23px}.office-page .section-heading{flex-direction:column}.office-notice{font-size:12px}.office-page .section-heading .button{font-size:12px}.legal-page h1{font-size:39px}}
@media(max-width:480px){.container{width:calc(100% - 36px)}.utility a{font-size:11px;gap:4px}.utility .container>span{letter-spacing:.3px;font-size:11px}.utility .container>span b{font-size:11px}.header-inner{height:73px}.brand img{width:125px;height:57px}.header-actions{gap:10px}.header-actions .button{font-size:12px;padding:10px 11px;gap:6px;min-height:38px}.header-actions .button .icon{width:13px;height:13px}.mobile-menu-toggle{width:27px;height:35px}.mobile-menu-toggle .icon{width:21px;height:21px}.project-link .icon{width:19px;height:19px}.project-link{width:22px}.hero h1{font-size:47px;letter-spacing:-2px}.hero-copy .eyebrow{font-size:11px;letter-spacing:1.25px}.hero-description{font-size:14px;line-height:1.8}.hero-trust{gap:15px;justify-content:space-between}.hero-trust>span{font-size:12px;gap:6px}.hero-trust .icon{width:19px;height:19px}.hero-image{height:291px;border-top-left-radius:42px}.hero-image-caption>span{font-size:12px;padding:8px 11px}.hero-image-caption small{font-size:12px;letter-spacing:.7px}.builder-card{padding:21px 17px;gap:20px;border-radius:13px}.section-heading.compact .eyebrow{font-size:11px;letter-spacing:1.2px}.section-heading.compact h2{font-size:26px}.section-heading.compact p:not(.eyebrow){font-size:12px}.options-grid{grid-template-columns:1fr;gap:15px}.option-group{padding:10px 12px 10px}.option-group legend{font-size:12px}.option-row{gap:10px}.option-visual{max-height:70px;aspect-ratio:1.2}.option-label{font-size:12px;margin-top:6px}.unsure-option{font-size:12px;margin-top:12px}.option-check{width:16px;height:16px;top:4px;right:4px}.option-check .icon{width:11px;height:11px}.option-group .shower-diagram{max-height:61px}.project-summary{display:flex;padding:18px}.room-name-label{align-self:flex-start}.room-name{min-height:36px}.summary-top{width:100%}.summary-preview{align-self:stretch;margin:13px 0!important;gap:12px}.summary-preview .shower-diagram{width:66px;max-height:60px}.summary-style{font-size:12px}.summary-options{font-size:12px}.summary-submit{width:100%;font-size:12px}.project-summary .add-room{align-self:flex-start;font-size:12px;margin:3px 0 17px}.project-summary .fineprint{margin-top:10px}.summary-download{font-size:12px;margin-top:13px}.builder-note{font-size:12px;margin-top:14px}.quote-steps-section{padding-top:39px;padding-bottom:44px}.center-heading h2{font-size:26px}.center-heading .eyebrow{font-size:11px;letter-spacing:1.6px}.quote-steps{grid-template-columns:1fr;gap:24px;text-align:left;margin-top:27px;padding:0 12px}.quote-steps>div{display:grid;grid-template-columns:47px 1fr;column-gap:17px;align-items:start}.quote-steps>div:not(:last-child):after{display:none}.quote-steps .icon-disc{grid-column:1;grid-row:1/3;width:46px;height:46px}.quote-steps h3{grid-column:2;font-size:13px;margin:2px 0 7px}.quote-steps p{grid-column:2;font-size:14px;max-width:none;margin:0}.section-heading{display:block}.section-heading h2{font-size:29px}.section-heading .eyebrow{font-size:11px;letter-spacing:1.8px}.section-heading .text-link{margin-top:17px}.section-heading p:not(.eyebrow){font-size:13px}.gallery-filters{gap:6px}.filter{font-size:12px;padding:7px 12px;min-height:34px}.gallery-thumbnails{gap:7px}.thumbnail-image{height:67px}.gallery-thumbnail b{font-size:12px}.gallery-thumbnail small{font-size:12px}.detail-card{padding:22px}.detail-content h3{font-size:25px}.detail-bottom .button{width:100%}.detail-bottom .use-look{margin:3px auto}.photo-disclosure{left:12px;bottom:12px;font-size:11px}.hotspot-toggle{right:12px;bottom:12px;font-size:12px;padding:6px 8px}.hotspot-label{font-size:12px;left:43px}.process-section h2{font-size:30px}.process-steps{grid-template-columns:repeat(2,1fr);gap:25px 28px;margin-top:27px}.process-steps h3{font-size:14px}.process-steps p{font-size:12px;max-width:150px}.guidance-card{grid-template-columns:1.2fr .8fr;min-height:315px}.guidance-card>div{padding:23px 0 23px 22px}.guidance-card h3{font-size:24px}.guidance-card p{font-size:var(--text-small)}.guidance-card .text-button{font-size:12px}.faq-list summary{font-size:12px;line-height:1.6}.faq-list details p{font-size:14px}.bay-values>div{font-size:12px;padding-inline:6px}.bay-values .icon{width:23px;height:23px}.closing h2{font-size:29px}.footer-grid{grid-template-columns:1fr 1fr;gap:29px 22px}.footer-grid nav{padding-left:12px}.footer-contact a:first-child{font-size:12px}.footer-contact .icon{width:14px;height:14px}.footer-contact a{font-size:12px;gap:8px}.footer-hours h3{font-size:13px}.footer-hours p{font-size:12px}.footer-hours .text-link{font-size:12px}.footer-bottom{font-size:12px;gap:13px}.quote-dialog{padding:21px;border-radius:12px}.dialog-header h2{font-size:25px}.dialog-header .eyebrow{font-size:11px;letter-spacing:1.5px}.form-grid{grid-template-columns:1fr;gap:0}.field{margin-bottom:16px}.field input,.field textarea,.field select{font-size:16px}.form-submit-row{flex-direction:column;align-items:stretch;gap:12px}.form-submit-row .button{font-size:12px;width:100%}.form-submit-row>span{justify-content:center}.quote-room{display:block}.quote-room small{display:block;margin-top:5px}.consent{font-size:12px}.contact-form-card .form-grid{grid-template-columns:1fr;gap:0}.contact-info-card{padding:24px}.contact-info-card .button{font-size:12px}.page-heading h1,.gallery-page h1{font-size:39px}.project-heading h1{font-size:40px}.project-heading>p:last-child{font-size:14px}.office-list{grid-template-columns:1fr}.office-detail .form-grid{grid-template-columns:1fr}.toast{bottom:53px;right:16px;left:16px;max-width:none;font-size:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.glass-welcome{display:none!important}.button:hover{transform:none}}
@media print{.utility,.site-header,.site-footer,.toast,.closing,.hero-buttons,.replay-welcome,dialog{display:none!important}.container{width:100%}.section{padding:20px 0}.builder-section{margin:0}.builder-card{box-shadow:none}.hero{background:white}.image-note{display:block}}
/* Native radio inputs stay above their visual swatches for reliable touch and keyboard activation. */
.option input{z-index:1}

/* Version 2: fixed-ratio galleries, two independent carousels, family archive, privacy and themes. */
:root{color-scheme:light;--surface:#fff;--surface-soft:#f5f8fd;--page:#fff;--muted-strong:#536b86}
.flip{transform:rotate(180deg)}
.summary-diagram{width:65px;flex:0 0 65px}.summary-diagram .shower-diagram{width:100%}
.project-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;margin-bottom:14px}.project-tools .text-button{font-size:12px;margin:0;min-height:36px}.clear-project-button{color:var(--muted)}
.gallery-photo-wrap{aspect-ratio:4/3;width:100%;height:auto;min-height:0!important;align-self:start;isolation:isolate}.gallery-main-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain!important}.interactive-gallery{align-items:start;gap:28px}.detail-card{padding:22px;align-self:stretch}.detail-card-top{margin-bottom:14px}.detail-content h3{font-size:23px;margin-bottom:10px}.detail-description{font-size:14px;line-height:1.6}.detail-options{margin:15px 0}.detail-bottom{padding-top:15px}.detail-bottom small{margin-top:12px;font-size:12px}.hardware-photo{aspect-ratio:600/380;overflow:hidden;position:relative;border-radius:8px;background:#f1f5fa}.hardware-image{width:100%;height:100%;object-fit:contain}.hardware-wireframe{position:absolute;top:9px;left:10px;font-size:11px;letter-spacing:1.3px;border:1px solid #dce6f3;background:#ffffffed;color:#3d5b7e;border-radius:3px;padding:4px 6px}.hardware-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.hardware-caption{font-size:12px;color:var(--muted)}.hardware-controls .icon-button{width:40px;height:40px;border-color:var(--line)}
.gallery-thumbnail{padding:6px;gap:6px}.gallery-select{flex:1;display:flex;align-items:center;text-align:left;gap:12px;min-width:0;background:transparent;border:0;padding:2px;color:inherit}.category-arrow{flex:0 0 40px;border-left:1px solid var(--line);border-radius:6px}.category-arrow:hover{background:var(--ice)}.gallery-thumbnail .thumbnail-image{width:75px}.image-note{line-height:1.5}
.category-page{padding-top:48px}.category-page .page-heading{margin-top:25px}.category-links{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 24px}.category-carousel{max-width:1080px;margin:0 auto}.category-stage{position:relative;aspect-ratio:4/3;background:#e9eef4;border:1px solid var(--line);border-radius:16px;overflow:hidden;touch-action:pan-y}.category-main-image{width:100%;height:100%;object-fit:contain}.category-image-label{position:absolute;top:20px;left:20px;padding:7px 12px;border-radius:5px;background:#102b51db;color:#fff;font-size:12px}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#fffffff0;border:1px solid #e1e8f2;color:#15386c;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;box-shadow:0 3px 18px #102b5126}.carousel-arrow.prev{left:16px}.carousel-arrow.next{right:16px}.carousel-arrow:hover{background:#e1efff}.category-caption{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:25px 0 20px}.category-counter{display:block;margin-bottom:8px}.category-caption h2{font-size:27px}.category-caption p{margin-top:10px;max-width:590px;font-size:14px}.category-ctas{display:flex;flex-direction:column;align-items:center;gap:12px;flex-shrink:0}.category-dots{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.category-dot{padding:0;position:relative;border:2px solid transparent;border-radius:8px;overflow:hidden;aspect-ratio:4/3;background:var(--pale)}.category-dot img{width:100%;height:100%;object-fit:contain}.category-dot.is-active{border-color:var(--blue);box-shadow:0 0 0 2px var(--ice)}.category-dot span{position:absolute;bottom:5px;left:5px;font-size:12px;background:#15386cd9;color:white;border-radius:3px;padding:3px 6px}
.family-layout{grid-template-columns:1.3fr 1fr;align-items:center;gap:50px}.family-photo{margin:0}.family-photo img{width:100%;height:auto;object-fit:contain!important;border-radius:3px;box-shadow:0 12px 38px #102b5115}.family-photo figcaption{font-size:12px;color:var(--muted);line-height:1.6;margin-top:15px;padding:0 8px}.archive-year{font-family:Georgia,serif;font-size:50px;line-height:1;color:#7897bf;display:block;margin-bottom:20px}.family-story h2{font-size:34px}.family-story p{margin:17px 0;line-height:1.75}.family-story .button{margin-top:10px}.family-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid var(--line);padding-top:35px;margin-top:65px}.family-principles>div>span{color:var(--blue);font-size:12px;letter-spacing:2px}.family-principles h3{margin:12px 0}.family-principles p{font-size:14px}.bay-values{background:#ffffffa6}
.business-status{display:flex;align-items:flex-start;gap:7px;font-size:12px;font-weight:600;padding:8px 10px;border:1px solid var(--line);border-radius:7px;margin:12px 0 5px;line-height:1.5;max-width:360px;color:var(--muted)}.business-status[data-open=true]{color:#236742;background:#eef9f3;border-color:#d2e9dd}.business-status[data-open=false]{color:#805017;background:#fff8ee;border-color:#eadcc5}a.business-status{text-decoration:none;color:inherit}a.business-status:hover{text-decoration:underline;text-underline-offset:3px}.hours-status-link{color:inherit;text-decoration:underline;text-underline-offset:3px}.hours-status-link:hover{color:var(--blue)}.status-dot{width:7px;height:7px;flex:0 0 7px;background:currentColor;border-radius:50%;margin-top:5px}.hours-note{display:block;font-size:12px;line-height:1.5;margin:4px 0 15px;color:var(--muted)}.footer-preferences{display:flex;align-items:center;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding:18px 0;font-size:12px}.footer-preferences .text-button{font-size:12px}.footer-bottom{flex-wrap:wrap;gap:14px}.footer-bottom>span:nth-child(2){display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.contact-map{margin-top:22px;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:34px;min-width:0}.contact-map h3{font-size:20px;margin-bottom:8px}.map-address{font-size:14px;line-height:1.5;margin-bottom:16px}.map-host{display:grid;isolation:isolate;border-radius:10px;overflow:hidden;min-height:310px;background:linear-gradient(135deg,#edf3f9,#e0ecf7)}.map-host>.map-fallback,.map-host>iframe{grid-area:1/1;min-width:0}.map-fallback{pointer-events:none;user-select:none}.map-consent{min-height:310px;display:flex;align-items:center;justify-content:center;gap:10px;flex-direction:column;text-align:center;padding:24px}.map-pin .icon{width:33px;height:33px;color:#284d84}.map-consent>span:not(.map-pin){font-size:13px;color:#49617f}.map-consent>b{color:#15386c}.map-consent small{font-size:12px;line-height:1.5;color:#526781;max-width:265px}.map-consent .button{margin:8px 0;color:#204c9e;max-width:100%;white-space:normal}.map-host iframe{position:relative;z-index:1;display:block;width:100%;min-height:350px;border:0;background:transparent}.contact-map>.text-link{margin-top:15px}.map-network-note{font-size:12px;margin-top:8px}
.marketing-consent{background:var(--pale);border:1px solid var(--line);border-radius:9px;padding:14px!important;margin-top:20px!important;align-items:flex-start!important}.marketing-consent input{margin-top:3px!important}.marketing-consent strong{font-weight:650}.marketing-help{font-size:12px;line-height:1.6;margin-top:7px}.submission-notice{font-size:12px;line-height:1.7;margin:18px 0}.submission-notice a,.legal-page a:not(.button){text-decoration:underline;text-underline-offset:3px}.reference-copy{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:15px}.reference-copy .button{font-size:12px;min-height:38px}.marketing-status{padding:12px;border-radius:8px;background:var(--pale);font-size:12px!important;margin:15px 0!important}
.legal-page{max-width:1050px!important;padding-top:60px}.legal-page>section{margin-top:35px}.legal-page h1{margin-bottom:20px}.legal-page h2{font-size:26px;line-height:1.3;margin:32px 0 14px}.legal-page h3{font-size:20px;margin:25px 0 12px}.legal-page p{font-size:14px;line-height:1.8;margin:12px 0}.legal-page .legal-date{font-size:12px;color:var(--muted);margin-bottom:22px}.legal-review-notice{padding:15px 18px;border:1px solid #ecdcb7;background:#fff9ee;color:#745524;font-size:12px;border-radius:8px;margin-bottom:25px}.legal-intro{max-width:820px}.legal-nav{display:flex;gap:20px;flex-wrap:wrap;border-block:1px solid var(--line);padding:18px 0;margin:26px 0;font-size:12px}.legal-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px;margin:20px 0}.legal-table{width:100%;border-collapse:collapse;min-width:550px}.legal-table th{text-align:left;background:var(--pale);font-size:12px;color:var(--ink);padding:16px}.legal-table td{font-size:12px;vertical-align:top;padding:16px;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);width:33.33%}.legal-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.legal-contact{background:var(--pale);border-radius:12px;padding:2px 24px 20px}.newsletter-page{min-height:550px;max-width:740px!important}.newsletter-page form{margin:24px 0}.newsletter-page #newsletter-result{padding-block:16px;font-weight:600;color:var(--blue)}.newsletter-page .field input{width:100%}
.audience-panel{border:1px solid var(--line);border-radius:12px;padding:20px;margin:20px 0 30px;background:var(--surface)}.audience-panel>summary{cursor:pointer;font-weight:650;color:var(--ink)}.audience-panel>p{font-size:12px;margin:12px 0}.audience-panel .office-actions{margin:14px 0;flex-wrap:wrap}.audience-panel table{width:100%;font-size:12px;border-collapse:collapse}.audience-panel th,.audience-panel td{text-align:left;border-bottom:1px solid var(--line);padding:9px;overflow-wrap:anywhere}#audience-list{overflow:auto}
/* Night mode changes the surfaces and type, never inverts the photography. */
:root[data-theme=dark]{color-scheme:dark;--page:#0c1625;--surface:#142237;--surface-soft:#182a41;--pale:#182a41;--ice:#223956;--ink:#e0eafb;--muted:#b1c1d8;--muted-strong:#b1c1d8;--deep:#f0f5ff;--navy:#c5dafe;--blue:#9fc3ff;--bright:#bdd5ff;--line:#2c415c;--input-border:#6883a6;--white:#142237;--shadow:0 12px 42px #0003;background:var(--page);color:var(--ink)}
[data-theme=dark] body{background:var(--page);color:var(--ink)}[data-theme=dark] .site-header{background:#111f32f0;border-color:var(--line)}[data-theme=dark] .utility,[data-theme=dark] .mobile-nav{background:var(--surface);border-color:var(--line)}[data-theme=dark] .button:not(.outline):not(.white){background:#396bc0;border-color:#4b7cce;color:#fff}[data-theme=dark] .button:not(.outline):not(.white):hover{background:#3262ad}[data-theme=dark] .button.white{color:#15386c;background:white}[data-theme=dark] .button.outline{color:#b5d1ff;border-color:#58769e;background:transparent}[data-theme=dark] .button.outline:hover{background:#203853}[data-theme=dark] .hero{background:linear-gradient(108deg,#0f1c2e,#182b42)}[data-theme=dark] .hero-description{color:var(--muted)}[data-theme=dark] .hero-image-caption>span{background:#132238ec;color:#e1edff;border-color:#56769d}[data-theme=dark] .builder-card,[data-theme=dark] .detail-card,[data-theme=dark] .filter,[data-theme=dark] .gallery-thumbnail,[data-theme=dark] .room-tab,[data-theme=dark] .quote-dialog,[data-theme=dark] .contact-info-card,[data-theme=dark] .contact-form-card,[data-theme=dark] .office-login,[data-theme=dark] .office-detail,[data-theme=dark] .request-card{background:var(--surface);border-color:var(--line)}[data-theme=dark] .project-summary,[data-theme=dark] .contact-project-callout,[data-theme=dark] .guidance-card,[data-theme=dark] .quote-room{background:var(--surface-soft);border-color:var(--line)}[data-theme=dark] .option-visual{border-color:var(--line);background-color:var(--surface-soft)}[data-theme=dark] .door-sample{background:var(--surface-soft)}[data-theme=dark] .glass-sample{background:linear-gradient(180deg,#1a2c42,#223952)}[data-theme=dark] .gallery-section{background:#101e30;border-color:var(--line)}[data-theme=dark] .filter.is-active{background:#376ac0;border-color:#376ac0;color:#fff}[data-theme=dark] .option-group{border-color:var(--line)}[data-theme=dark] .option input:checked+.option-visual{border-color:#a5c5ff;background-color:#2b4464}[data-theme=dark] .option-check{background:#4275c9}[data-theme=dark] .room-tab.is-active{background:#263e5c;border-color:#91b1e2}[data-theme=dark] .save-status{color:#acd9c3}[data-theme=dark] .room-name{color:var(--ink)}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{background:var(--surface);color:var(--ink);border-color:var(--input-border)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#9daec5}[data-theme=dark] .office-login #office-error{color:#ffc2cd}[data-theme=dark] input[type=checkbox],[data-theme=dark] input[type=radio]{accent-color:#6196e5}[data-theme=dark] .form-grid label,[data-theme=dark] .field label,[data-theme=dark] .contact-preference legend{color:var(--ink)}[data-theme=dark] .step-number{background:#2a4467;color:#d7e7ff}[data-theme=dark] .detail-card-top,[data-theme=dark] .detail-bottom{border-color:var(--line)}[data-theme=dark] .hotspot-label{color:#15386c}[data-theme=dark] .hotspot:before{background:#2859a8}[data-theme=dark] .hotspot-toggle{background:#162c48eb;color:#e0ecff;border-color:#617c9f}[data-theme=dark] .bay-section{background-image:linear-gradient(110deg,#1b3452,#132842)!important}[data-theme=dark] .bay-values{background:#223b55cc;border-color:#405777}[data-theme=dark] .bay-script{color:#c3d9f8}[data-theme=dark] .closing{background:#1e4483}[data-theme=dark] .closing h2,[data-theme=dark] .closing p,[data-theme=dark] .closing .eyebrow{color:#edf4ff}[data-theme=dark] .site-footer,[data-theme=dark] .process-section,[data-theme=dark] .faq-section,[data-theme=dark] .about-page,[data-theme=dark] .contact-page,[data-theme=dark] .office-page{background:var(--page)}[data-theme=dark] .contact-info-card{background:linear-gradient(to top,#1f3a5c 0%,#182f4a 40%,var(--surface) 78%,#142237 100%);border-color:var(--line)}[data-theme=dark] .footer-yelp .icon,[data-theme=dark] .contact-yelp .icon{color:#ff6b6b}[data-theme=dark] .faq-list details,[data-theme=dark] .footer-bottom{border-color:var(--line)}[data-theme=dark] .business-status[data-open=true]{background:#163b30;border-color:#2c6753;color:#b5ead0}[data-theme=dark] .business-status[data-open=false]{background:#3b3023;border-color:#675239;color:#f6d8a6}[data-theme=dark] .legal-review-notice,[data-theme=dark] .office-notice,[data-theme=dark] .editor-note{background:#372f23;border-color:#6d5838;color:#f1dcae}[data-theme=dark] .legal-review-notice p,[data-theme=dark] .editor-note p{color:#e2d1b2}[data-theme=dark] .reference{background:var(--surface-soft);color:var(--ink)}[data-theme=dark] .status-pill{background:#2b4464;color:#dceaff}[data-theme=dark] .request-room,[data-theme=dark] .office-outbox{background:var(--surface-soft);border-color:var(--line)}[data-theme=dark] .map-consent .button{color:#204c9e;border-color:#91a9cb}[data-theme=dark] .map-consent .button:hover{background:#d4e2f3}[data-theme=dark] .toast{background:#e5efff;color:#15386c}
@media(max-width:1000px){.family-layout{gap:30px}.family-story h2{font-size:29px}.family-story p{font-size:14px}.interactive-gallery{grid-template-columns:minmax(0,1.3fr) minmax(290px,1fr);gap:20px}.gallery-select{gap:7px}.gallery-thumbnail .thumbnail-image{width:60px}.gallery-thumbnail b{font-size:12px}}
@media(max-width:760px){.interactive-gallery{grid-template-columns:1fr}.gallery-photo-wrap{aspect-ratio:4/3!important}.detail-card{display:block}.hardware-carousel{max-width:500px;margin:auto}.detail-card-top{margin-bottom:12px}.hardware-photo{aspect-ratio:2/1}.hardware-controls{margin-bottom:18px}.gallery-thumbnails{grid-template-columns:1fr}.gallery-thumbnail .thumbnail-image{width:85px}.gallery-thumbnail b{font-size:12px}.gallery-select{gap:13px}.category-caption{align-items:flex-start;flex-direction:column}.category-ctas{flex-direction:row;gap:18px;flex-wrap:wrap}.category-dots{gap:6px}.category-stage{border-radius:10px}.carousel-arrow{width:42px;height:42px}.carousel-arrow.prev{left:10px}.carousel-arrow.next{right:10px}.category-image-label{top:10px;left:10px;font-size:12px}.category-caption h2{font-size:25px}.family-layout{grid-template-columns:1fr;gap:35px}.family-story h2{font-size:32px}.family-story p{font-size:14px}.family-principles{grid-template-columns:1fr;gap:25px;margin-top:40px}.family-principles>div{border-bottom:1px solid var(--line);padding-bottom:20px}.legal-page h1{font-size:38px}.legal-page h2{font-size:24px}.legal-page{padding-top:40px}.legal-page p{font-size:13px}.legal-nav{gap:14px}.legal-table{min-width:520px}.contact-map,.contact-form-card,.contact-project-callout{padding:24px}.reference-copy{flex-direction:column}.audience-panel .office-actions .button{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* Live enclosure visualizer: one drawing system, all selected options. */
.summary-preview{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:13px 0 12px}
.summary-visual-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px;align-items:center;font-size:12px;letter-spacing:.1em;font-weight:650;color:var(--muted);margin-bottom:7px}
.summary-diagram{display:block;width:100%;flex:0 0 auto;border-radius:9px;overflow:hidden;border:1px solid #dbe6ef;background:#edf4f8}
.summary-preview .shower-diagram{display:block;width:100%;height:auto;max-height:none;aspect-ratio:36/25}
.summary-caption{margin-top:9px}
.summary-caption b{font-size:12px}
.summary-options{margin:4px 0 0;font-size:12px;line-height:1.5}
.preview-disclaimer{font-size:12px!important;line-height:1.5;margin:7px 0 0;color:var(--muted)}
.door-sample .shower-diagram{width:100%;height:100%;max-height:none;border-radius:5px}
.quote-room.quote-room-visual{display:flex;justify-content:flex-start;gap:13px}
.quote-room-diagram{flex:0 0 78px}
.quote-room-diagram .shower-diagram{max-height:none;width:100%}
.quote-room-visual small{display:block;margin-top:4px;line-height:1.5}
.quote-room-content{flex:1;min-width:0;overflow-wrap:anywhere}
.quote-room-edit{min-height:44px;max-width:100%;margin-top:3px;font-size:14px;white-space:normal}
.quote-room-edit[aria-disabled=true],.quote-start-customization[aria-disabled=true]{opacity:.65;cursor:default}.quote-room-edit[aria-busy=true],.quote-start-customization[aria-busy=true]{cursor:wait}
.quote-room-help{flex-wrap:wrap}
.quote-room-help .quote-room-content{flex-basis:180px}
.quote-room-help small{display:block;margin-top:4px;line-height:1.5}
.quote-start-customization{max-width:100%;white-space:normal;font-size:14px}
@media(max-width:520px){.quote-start-customization{width:100%}}
.quote-edit-error{font-size:14px;margin-top:8px;line-height:1.5}
.quote-edit-builder{margin-block:36px}
[data-theme=dark] .summary-diagram{border-color:#566f86}
@media(min-width:651px) and (max-width:980px){.project-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;align-items:start}.project-summary .summary-top{grid-column:1/-1}.project-summary .summary-preview{grid-column:1;grid-row:2/12;margin-top:12px}.project-summary .room-name-label{grid-column:2;grid-row:2;margin-top:13px}.project-summary .room-name{grid-column:2;grid-row:3}.project-summary .room-name-help{grid-column:2;grid-row:4;margin-bottom:12px}.project-summary .project-tools{grid-column:2;grid-row:5}.project-summary .summary-add{grid-column:2;grid-row:6;align-self:stretch}.project-summary .builder-save-status{grid-column:2;grid-row:7}.project-summary .summary-submit{grid-column:2;grid-row:8;align-self:stretch}.project-summary .fineprint{grid-column:2;grid-row:9;margin-top:8px}.project-summary .summary-download{grid-column:2;grid-row:10}.project-summary .summary-pdf-help{grid-column:2;grid-row:11}.project-summary .add-room{margin:0}}
@media(max-width:650px){.project-summary{display:flex}.summary-preview{width:100%;align-self:stretch;gap:0}.summary-preview .shower-diagram{width:100%;max-height:none}.summary-caption b{font-size:13px}.summary-options{font-size:12px}.preview-disclaimer{font-size:12px!important}.project-summary .summary-top{margin-bottom:9px}.summary-diagram{width:100%;max-width:360px;align-self:center}.summary-visual-heading{font-size:12px}.quote-room-diagram{flex-basis:65px}.project-summary .project-tools .add-room{margin:0}}
@media(prefers-reduced-motion:no-preference){.summary-diagram .shower-diagram{animation:enclosure-reveal .18s ease-out}@keyframes enclosure-reveal{from{opacity:.72}to{opacity:1}}}
/* Keep the project text readable within its available column. */
.project-summary,.project-summary>*{min-width:0;max-width:100%}
.project-summary .summary-top{flex-wrap:wrap;gap:6px 12px}
.project-summary .summary-caption{min-width:0;overflow-wrap:anywhere}
.project-summary .text-button,.project-summary .button{max-width:100%;white-space:normal}
.project-summary .summary-submit{margin-top:12px}
.preview-discard-dialog{max-width:480px}.preview-discard-dialog p{margin:16px 0 22px}.preview-discard-actions{display:flex;flex-wrap:wrap;gap:12px}.preview-discard-actions .button{flex:1 1 160px;white-space:normal}
.project-summary .text-button .icon,.project-summary .button .icon{flex-shrink:0}
/* Compact in the cart, with a larger inspection view on demand. */
.summary-preview{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,1.13fr);column-gap:11px;row-gap:7px}
.summary-visual-heading{grid-column:1/-1;margin:0}
.summary-diagram{grid-column:1;grid-row:2;align-self:center}
.summary-caption{grid-column:2;grid-row:2;align-self:center;margin:0}
.summary-caption b{font-size:12px;line-height:1.5}
.summary-options{font-size:12px;line-height:1.6}
.enclosure-enlarge{grid-column:1/-1;justify-self:start;font-size:12px;margin:0;padding:2px 0}
.enclosure-enlarge .icon{width:12px;height:12px}
.preview-disclaimer{grid-column:1/-1;margin:0}
.enclosure-dialog{width:min(620px,calc(100vw - 32px));max-height:90vh;overflow:auto;background:var(--surface,white);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:26px}
.enclosure-dialog::backdrop{background:#0b192dba}
.enclosure-dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:20px}
.enclosure-dialog-heading h2{font-size:24px;line-height:1.25;margin:5px 0 0}
.enclosure-dialog-heading .eyebrow{font-size:11px}
.enclosure-dialog-heading .icon-button{font-size:24px}
.enclosure-dialog>.shower-diagram{width:100%;max-height:none;border-radius:10px}
.enclosure-dialog-options{font-weight:650;font-size:15px;margin:18px 0 8px}
.enclosure-dialog .preview-disclaimer{font-size:12px!important}
@media(min-width:901px){.builder-controls{align-self:center}}
@media(max-width:650px){.summary-preview{display:grid;gap:9px 14px}.summary-caption b{font-size:13px}.summary-options{font-size:12px}.enclosure-enlarge{font-size:12px}.enclosure-dialog{padding:20px}.enclosure-dialog-heading h2{font-size:21px}.enclosure-dialog-options{font-size:13px}}
.theme-toggle{color:var(--muted);flex-shrink:0}
.theme-toggle:hover{color:var(--navy);background:var(--surface-soft)}
.theme-toggle .theme-icon{display:grid;place-items:center}
.theme-toggle .theme-icon .icon{width:18px;height:18px}
.theme-toggle .theme-icon-sun{display:none}
.theme-toggle[aria-pressed=true] .theme-icon-moon{display:none}
.theme-toggle[aria-pressed=true] .theme-icon-sun{display:grid}
.theme-toggle[aria-pressed=true]{color:var(--navy)}

/* v3: navigation, brand reveal, project bag, and homeowner resources. */
.page-loader{display:none;position:fixed;inset:0;z-index:9999;background:#143b7b;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .2s ease}
.sbs-loading .page-loader{display:flex;opacity:1;animation:loader-failsafe 1.8s step-end forwards}.loader-mark{width:240px;position:relative}.loader-mark img{width:240px;height:auto;filter:drop-shadow(0 5px 20px #08234e22)}.loader-line{height:2px;display:block;background:#ffffff29;margin:28px 44px 0;overflow:hidden;border-radius:3px}.loader-line:after{content:"";display:block;width:35%;height:100%;background:#fff;border-radius:3px;animation:loader-glide 1.1s ease-in-out infinite}.sbs-loaded .page-loader{opacity:0}@keyframes loader-glide{0%{transform:translateX(-130%)}100%{transform:translateX(410%)}}@keyframes loader-failsafe{100%{visibility:hidden;opacity:0}}.skip-link{z-index:10000}
.breadcrumbs{padding-top:22px;margin-bottom:-40px;position:relative;z-index:4}.breadcrumbs ol{display:flex;align-items:center;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0;font-size:12px;color:var(--muted)}.breadcrumbs li+li:before{content:"/";margin-right:8px;opacity:.55}.breadcrumbs a{padding:8px 0;display:inline-block}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs [aria-current]{color:var(--ink)}
.room-name-help{font-size:12px;line-height:1.6;margin:7px 0 0;color:var(--muted)}.room-name{min-height:40px}.room-dimensions{margin:18px 0 0;border:1px solid #e7ecf4;border-radius:10px;padding:13px 14px 12px}.room-dimensions legend{padding:0 4px;font-size:12px;font-weight:650;display:flex;gap:8px;align-items:center;line-height:1.3;flex-wrap:wrap}.room-dimensions .optional-label{font-weight:400;color:var(--muted);font-size:12px}.dimension-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}.dimension-field{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:12px;color:var(--muted)}.dimension-field input{width:100%;min-height:40px;border:1px solid var(--input-border);border-radius:8px;background:#fff;padding:8px 10px;font-size:16px;color:var(--navy)}.dimension-field input:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}.dimension-field input:disabled{opacity:.55;cursor:not-allowed}.room-dimensions-help{font-size:12px;line-height:1.6;margin:10px 0 0;color:var(--muted)}.bag-room-dimensions,.quote-room-dimensions,.request-room-dimensions{color:var(--muted)}.bag-room-dimensions{margin:0 0 9px!important}.quote-room-dimensions{display:block;margin-top:4px}.request-room-dimensions{margin:6px 0 0;line-height:1.55}.request-room-dimensions span{font-weight:650;color:var(--ink)}.request-room-dimensions small{display:inline;margin-left:4px;font-weight:400}.project-link{width:44px;height:44px;justify-content:center}.project-count{right:2px}.footer-contact a{overflow-wrap:anywhere}.warehouse-hours{padding-top:22px;border-top:1px solid var(--line);margin-top:24px}.warehouse-hours .fineprint{text-align:left}.contact-email{margin:20px 0 0;overflow-wrap:anywhere;display:inline-flex;align-items:center;gap:8px}
.project-bag{padding:28px;border:1px solid var(--line);border-radius:18px;width:min(570px,calc(100% - 28px));max-height:calc(100dvh - 40px);background:var(--white);color:var(--ink);box-shadow:0 30px 100px #102b5140;overflow:auto;overscroll-behavior:contain}.project-bag::backdrop{background:#07193388;backdrop-filter:blur(4px)}.bag-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.bag-header .eyebrow{margin-bottom:8px}.bag-intro{font-size:14px;margin-top:14px;max-width:420px}.bag-rooms{display:grid;gap:12px;margin:24px 0}.bag-room{display:grid;grid-template-columns:124px minmax(0,1fr) 32px;gap:15px;align-items:center;padding:15px;background:var(--pale);border:1px solid var(--line);border-radius:12px}.bag-room-visual .shower-diagram{width:124px;max-height:none}.bag-room h3{font-size:17px;overflow-wrap:anywhere}.bag-room p{font-size:12px;line-height:1.6;margin:5px 0 9px}.bag-room .icon-button{width:32px;height:40px;font-size:24px;align-self:start}.bag-empty{padding:32px 20px;text-align:center;background:var(--pale);border-radius:12px}.bag-empty p{margin-top:12px}.bag-footer{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:22px}.bag-footer .text-button{justify-self:center;min-height:34px;margin:0}.bag-footer .fineprint{font-size:12px;text-align:center;margin:0;line-height:1.7}.bag-footer .button{white-space:normal}.bag-footer .summary-download{font-size:13px}.project-bag .bag-rooms .text-button{min-height:28px}.anti-spam-host{min-height:0;margin:14px 0}.anti-spam-host:empty{display:none}.anti-spam-message{font-size:12px;color:var(--muted)}
.showroom-photo{margin:0 0 44px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--pale)}.showroom-photo-image{position:relative}.showroom-photo-image::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(32,76,158,.88) 0%,rgba(32,76,158,.48) 25%,rgba(32,76,158,.14) 48%,rgba(32,76,158,0) 72%)}.showroom-photo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.showroom-photo figcaption{padding:16px 23px;display:flex;justify-content:space-between;gap:14px;font-size:12px;color:var(--muted)}.showroom-photo figcaption span{font-size:12px;letter-spacing:1.8px;color:var(--blue);font-weight:700}
.resource-page .page-heading h1{white-space:pre-line}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}.resource-card{border:1px solid var(--line);border-radius:16px;padding:30px;background:var(--white);display:flex;flex-direction:column;align-items:start}.resource-card h2{font-size:25px;letter-spacing:-.7px}.resource-card p:not(.eyebrow){margin:14px 0 24px}.resource-card .text-link,.resource-card .button{margin-top:auto}.resource-body{max-width:790px}.resource-body>section{padding:25px 0}.resource-body>section h2{font-size:27px;margin-bottom:15px}.resource-body p{line-height:1.85;font-size:16px}.resource-body p a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.resource-help{margin-top:30px;padding:28px;border-radius:14px;background:var(--pale);border:1px solid var(--line)}.resource-help h2{font-size:26px}.resource-help p{margin:16px 0 22px}.door-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.not-found-actions{display:flex;gap:14px;flex-wrap:wrap}.breadcrumbs+.section{padding-top:85px}dialog .text-button,dialog .icon-button{touch-action:manipulation}body:has(dialog[open]){overflow:hidden}
@media(max-width:740px){.breadcrumbs{margin-bottom:-38px;padding-top:14px;font-size:12px}.showroom-photo{margin-bottom:28px}.showroom-photo figcaption{padding:13px 15px;display:block;font-size:12px}.showroom-photo figcaption span{display:block;margin-bottom:4px}.project-bag{padding:22px 18px;max-height:calc(100dvh - 24px);width:calc(100% - 24px);border-radius:14px}.bag-room{grid-template-columns:90px minmax(0,1fr) 26px;gap:11px;padding:12px}.bag-room-visual .shower-diagram{width:90px}.bag-room h3{font-size:15px}.bag-room p{font-size:12px}.resource-grid,.door-category-grid{grid-template-columns:1fr}.resource-card{padding:26px}.resource-body p{font-size:15px}.resource-body>section h2{font-size:24px}.contact-page .page-heading{margin-bottom:30px}.project-bag h2{font-size:30px}.loader-mark,.loader-mark img{width:200px}.bag-footer .button{width:100%}}
@media(prefers-reduced-motion:reduce){.loader-line:after{animation:none;width:100%}.page-loader{transition:none}.sbs-loading .page-loader{animation:loader-failsafe .2s step-end forwards}}
@media print{.page-loader,.project-bag,.site-header,.utility,.toast,.footer-preferences,button{display:none!important}.breadcrumbs{margin:0}.site-footer{break-inside:avoid}.resource-card{break-inside:avoid}a{color:inherit}body{color:#132e52;background:#fff}}
/* Isolate bag layout from the builder's responsive grid-placement rules. */
.project-bag{max-width:calc(100vw - 28px)}.bag-footer{grid-template-columns:minmax(0,1fr)}.bag-footer>*{grid-column:1!important;grid-row:auto!important;min-width:0;max-width:100%}.bag-footer .summary-download{margin:0;align-self:auto}.bag-footer .fineprint{width:100%}
@media(max-width:480px){.header-inner{gap:8px}.brand img{width:110px}.header-actions{gap:4px}.header-actions .button{padding-inline:9px;min-height:44px}.header-actions .button .icon{display:none}.mobile-menu-toggle{width:44px;min-width:44px;height:44px}.project-link{min-width:40px;width:40px}}
@media(max-width:359px){.header-inner{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,44px);gap:4px 8px;height:auto;padding-block:8px}.brand{grid-row:1/3}.header-actions{display:contents}.header-actions .button{grid-column:2/5;grid-row:1;min-height:36px}.mobile-menu-toggle{width:44px}}
@media(max-width:389px){.bag-room{grid-template-columns:76px minmax(0,1fr) 24px;gap:8px}.bag-room-visual .shower-diagram{width:76px}}
@media(max-width:650px){.footer-hours p,.footer-contact a,.footer-hours .text-link{font-size:12px}.footer-bottom{font-size:12px}.bag-footer .text-button{min-height:40px}}
/* Programmatic page/skip-link focus should not frame the entire document. */
#main:focus{outline:none}

/* Inclusive type floors: keep must-read copy visible; not a WCAG certification. */
.builder-note,.fineprint,.image-note,.room-name-help,.room-dimensions-help,.marketing-help,.submission-notice,.preview-disclaimer,.hours-note,.detail-bottom small,.form-mode-note,.bag-intro,.dialog-intro{overflow-wrap:anywhere;text-wrap:pretty}
.option-label,.gallery-thumbnail b,.gallery-thumbnail small,.process-steps p,.bay-values>div,.hero-trust>span{overflow-wrap:anywhere}
.utility .container{flex-wrap:wrap;gap:6px 12px;min-height:22px}
.utility a{font-size:var(--text-eyebrow);letter-spacing:.04em}
.guidance-card p,.bay-inner>div>p:not(.eyebrow),.faq-list details p,.quote-steps p,.detail-description,.closing p:not(.eyebrow),.section-heading p:not(.eyebrow),.section-subtitle,.bag-intro,.dialog-intro{font-size:max(14px,var(--text-small))}
@media(max-width:760px){
  .utility{padding:8px 0}
  .utility .container>span,.utility a{font-size:var(--text-eyebrow)!important;letter-spacing:.06em}
  .option-label,.unsure-option{font-size:var(--text-label)!important;line-height:1.35;white-space:normal}
  .hero-trust>span,.filter,.builder-note,.fineprint,.image-note,.gallery-thumbnail b,.gallery-thumbnail small,.process-steps h3,.process-steps p,.bay-values>div,.footer-grid nav a,.footer-contact a,.room-name-label,.summary-options,.summary-style,.save-status,.add-room,.detail-option,.hotspot-toggle,.photo-disclosure,.room-name-help,.business-status,.hours-note,.bag-room p,.bag-footer .fineprint{font-size:max(12px,var(--text-label))!important}
  .eyebrow,.section-heading.compact .eyebrow,.center-heading .eyebrow,.hero-copy .eyebrow,.closing .eyebrow,.bay-inner .eyebrow,.detail-type{font-size:var(--text-eyebrow)!important;letter-spacing:.14em}
  .section-heading p:not(.eyebrow),.section-subtitle,.text-button,.text-link,.dialog-intro,.bag-intro,.guidance-card p,.bay-inner>div>p:not(.eyebrow),.faq-list details p,.quote-steps p,.detail-description,.closing p:not(.eyebrow){font-size:var(--text-small)!important}
}
@media(max-width:480px){
  .option-label,.unsure-option,.hero-trust>span,.filter,.builder-note,.fineprint,.footer-contact a,.gallery-thumbnail small{font-size:var(--text-label)!important}
  .header-actions .button{font-size:var(--text-label)!important}
  .guidance-card p,.bay-inner>div>p:not(.eyebrow),.section-heading p:not(.eyebrow),.section-subtitle{font-size:var(--text-small)!important}
}

@media(max-width:560px){.dimension-fields{grid-template-columns:1fr}.room-dimensions{margin-top:14px}}
[data-theme=dark] .room-dimensions{border-color:var(--line)}[data-theme=dark] .dimension-field input{background:var(--surface);color:var(--ink);border-color:var(--input-border)}

/* Visual shower-door comparison. */
.door-category-card{min-width:0;display:flex;flex-direction:column;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.door-category-card h2{font-size:25px;letter-spacing:-.7px;margin-bottom:18px}
.door-category-visual{width:100%;overflow:hidden;border-radius:12px;background:#eaf1f5}
.door-category-visual .shower-diagram{width:100%;height:auto;max-height:none}
.door-category-card>p{font-size:15px;line-height:1.6;margin:16px 0 22px}
.door-category-card>.button{width:100%;margin-top:auto;justify-content:space-between;white-space:normal;padding:12px 16px}
.door-category-card>.button>span{flex-shrink:0}
.door-category-note{font-size:12px;line-height:1.6;margin:0 0 32px}
.door-next-step{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.door-next-step h2{font-size:28px}
.door-next-step p{font-size:15px;line-height:1.6;margin-top:10px}
.door-next-actions{display:flex;flex-wrap:wrap;gap:12px;flex-shrink:0}
.door-custom-project{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:24px;font-size:14px}
@media(min-width:741px) and (max-width:980px){.door-category-card{padding:16px}.door-category-card h2{font-size:22px}.door-category-card>.button{padding-inline:12px;font-size:13px}.door-next-step{align-items:flex-start;flex-direction:column}}
@media(max-width:740px){.door-next-step{align-items:stretch;flex-direction:column;padding:24px}.door-next-actions{flex-direction:column}.door-next-actions>.button{width:100%;white-space:normal}.door-custom-project{align-items:flex-start;flex-direction:column}}

/* Audit implementation: contact access, explicit focus and compact guidance. */
.mobile-nav a.is-current{color:var(--blue);background:var(--surface-soft,var(--pale));border-left:3px solid var(--blue);padding-left:12px}
.contact-quick-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.contact-quick-actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:8px;color:var(--blue);font-size:14px;font-weight:650;background:var(--surface,#fff)}
.contact-quick-actions a:hover{background:var(--ice)}
.contact-layout{row-gap:22px}
.contact-layout>.contact-info-card{grid-column:1;grid-row:1}
.contact-layout>.contact-message-column{grid-column:2;grid-row:1/3}
.contact-layout>.contact-map{grid-column:1;grid-row:2;margin-top:0}
[data-form-fallback]{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--pale);font-size:14px;line-height:1.6;margin-block:14px}
[data-form-fallback] a{text-decoration:underline;text-underline-offset:3px}
.category-guide{margin:28px 0;padding:24px;background:var(--pale);border:1px solid var(--line);border-radius:12px}
.category-guide h2{font-size:24px}
.category-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:20px 0 0}
.category-guide-grid dt{font-size:15px;font-weight:650;color:var(--ink)}
.category-guide-grid dd{font-size:14px;color:var(--muted);line-height:1.6;margin:7px 0 0}
.category-example-context{margin:22px 0;border-block:1px solid var(--line);padding-block:16px}
.category-example-context summary{cursor:pointer;font-weight:650;min-height:28px;color:var(--blue)}
.category-example-context ol{padding-left:24px}
.category-example-context li{margin-block:12px;color:var(--muted);font-size:14px}
.legal-table-cue{font-size:14px;color:var(--muted)}
.legal-table-wrap:focus-visible,#contact-form:focus-visible,#builder-title:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
@media(max-width:760px){
 .contact-layout>.contact-info-card,.contact-layout>.contact-message-column,.contact-layout>.contact-map{grid-column:auto;grid-row:auto}
 .contact-quick-actions{gap:8px}
 .contact-quick-actions a{flex:1;padding-inline:10px}
 .category-guide{padding:20px}
 .category-guide-grid{grid-template-columns:1fr;gap:18px}
 .category-guide-grid>div+div{border-top:1px solid var(--line);padding-top:16px}
}

.dimensions-disclosure{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}
.dimensions-disclosure>summary{cursor:pointer;min-height:44px;padding-block:10px;color:var(--blue);font-size:14px;font-weight:650}
.dimensions-disclosure>summary>span{font-size:12px;font-weight:400;color:var(--muted);margin-left:6px}
.dimensions-disclosure .room-dimensions{margin-top:8px}

/* Staff workflow: keep the queue and exact-message review usable at shop and phone sizes. */
.office-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:20px;background:var(--surface-soft);border:1px solid var(--line);border-radius:10px}.office-filters .field{flex:1 1 190px;margin:0}.office-filters .field:first-child{flex-grow:2}.office-filters input,.office-filters select{font-size:16px}.office-due-filter{display:flex;gap:8px;align-items:center;min-height:46px;font-size:13px}.office-filters .button,.office-filters .text-button{min-height:46px}.office-workflow-tip{font-size:13px;line-height:1.7;margin:16px 0 24px}.office-request-column,.office-detail{min-width:0}.office-pagination{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:16px;font-size:12px}.office-pagination .button{font-size:12px;min-height:44px;padding:10px 12px}.office-toolbar{gap:18px;flex-wrap:wrap}.office-toolbar .text-button{min-height:44px}.request-card{overflow-wrap:anywhere}.office-detail h2:focus{outline:2px solid var(--blue);outline-offset:5px}.office-detail dl{grid-template-columns:minmax(80px,.45fr) minmax(0,1fr)}.office-detail dl a{text-decoration:underline;text-underline-offset:3px}.office-detail .request-room{display:flex;align-items:center;gap:14px}.office-room-diagram{flex:0 0 90px}.office-room-diagram svg{width:90px;height:85px}.office-detail .request-room p{margin:5px 0;line-height:1.6}.office-detail .field input,.office-detail .field textarea,.office-detail .field select{font-size:16px}.office-detail .field small,.office-drafting small{font-size:12px;line-height:1.6;color:var(--muted)}.office-drafting{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:16px;border:1px solid var(--line);border-radius:8px;margin-top:20px;background:var(--surface-soft)}.office-drafting label{width:100%;font-size:13px;font-weight:600}.office-drafting select{flex:1 1 170px;min-width:0;max-width:100%;border:1px solid var(--input-border);background:var(--surface);color:var(--ink);padding:10px;border-radius:5px;min-height:44px;font-size:16px}.office-drafting small{width:100%}.office-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.office-actions button{min-height:44px}.office-status-message{min-height:1.8em}.office-history-panel{border:1px solid var(--line);border-radius:8px;padding:16px;margin-top:24px}.office-history-panel summary,.office-outbox summary{cursor:pointer;min-height:24px;font-size:13px;font-weight:600;overflow-wrap:anywhere}.office-history{padding-left:20px;font-size:12px}.office-history li{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.office-history small{display:block;color:var(--muted);margin-top:6px}.office-history p{margin-top:8px}.office-send-dialog>p{font-size:14px;line-height:1.7;margin:16px 0}.office-send-dialog dl{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;font-size:14px;margin:20px 0}.office-send-dialog dd{margin:0;overflow-wrap:anywhere}.office-message-preview{font:inherit;font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;padding:18px;background:var(--surface-soft);border:1px solid var(--line);border-radius:8px}.office-send-status{color:var(--ink)}.office-page button:disabled{cursor:not-allowed;opacity:.65}
@media(max-width:760px){.office-filters{padding:16px;gap:12px}.office-filters .field{flex-basis:100%}.office-filters .button{flex-grow:1}.office-pagination{justify-content:center}.office-list{display:flex;max-height:360px;overflow:auto;padding:3px}.office-detail{padding:20px}.office-detail .form-grid{grid-template-columns:1fr;gap:0}.office-detail .request-room{align-items:flex-start;gap:10px}.office-room-diagram{flex-basis:64px}.office-room-diagram svg{width:64px;height:65px}.office-actions>.button{flex:1 1 180px}.office-send-dialog .office-actions{flex-direction:column}.office-pagination .button{flex:1}.office-detail dd,.office-detail dt{min-width:0}.office-page h1{font-size:36px}}

.office-mail-help{font-size:13px;line-height:1.7;max-width:780px;margin:12px 0 20px;color:var(--muted)}.office-toolbar .text-link{min-height:44px;display:inline-flex;align-items:center}
/* Additional builder preferences retain readable labels and independent add-ons. */
.option-row.four-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.glass-addon{display:flex;align-items:flex-start;gap:9px;margin-top:15px;padding:13px 0 2px;border-top:1px solid var(--line);text-align:left;cursor:pointer;min-height:44px}
.glass-addon input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--blue)}
.glass-addon b{display:block;font-size:14px;font-weight:650;line-height:1.4}
.glass-addon small,.option-help{display:block;font-size:12px;line-height:1.55;color:var(--muted);margin-top:5px}
.option-help{margin-top:12px}
.finish-sample.custom:before{background:transparent;border:2px dashed var(--muted);box-shadow:none}
.finish-sample.custom:after{content:"?";position:absolute;font-size:19px;font-weight:600;color:var(--muted)}
@media(min-width:981px) and (max-width:1280px){.desktop-nav{display:none}.mobile-menu-toggle{display:flex}}

.options-grid{align-items:start}
.option-row.four-options .option-visual{max-height:76px;aspect-ratio:1.4}

/* Staff queue: status remains readable without relying on color alone. */
.office-token-input{-webkit-text-security:disc;text-security:disc}
.office-identity{color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.office-filters .office-search-field{flex-basis:100%}
.office-date-help{flex-basis:100%;font-size:12px;line-height:1.6;color:var(--muted)}
.office-filter-error{flex-basis:100%;font-size:13px;line-height:1.6;color:#9d2340;margin:0}
.office-filter-error:empty{display:none}
.office-list .request-card{--request-accent:#257344;--request-fill:#f1faf4;--request-text:#184d2d;background:var(--request-fill);border-color:var(--line);border-left:5px solid var(--request-accent);color:var(--ink)}
.office-list .request-card[data-status="under_review"]{--request-accent:#275dad;--request-fill:#f0f5ff;--request-text:#194881}
.office-list .request-card[data-status="more_info_needed"]{--request-accent:#8b6110;--request-fill:#fff8e8;--request-text:#6b4808}
.office-list .request-card[data-status="quote_ready"]{--request-accent:#7454a4;--request-fill:#f8f3ff;--request-text:#593a85}
.office-list .request-card[data-status="contacted"]{--request-accent:#246b78;--request-fill:#eff9fb;--request-text:#155766}
.office-list .request-card[data-status="closed"]{--request-accent:#a93845;--request-fill:#fff1f2;--request-text:#892b36}
.office-list .request-card.is-active{outline:2px solid var(--request-accent);outline-offset:1px;box-shadow:0 0 0 5px var(--surface)}
.office-list .request-card .status-pill{background:var(--surface);border:1px solid var(--request-accent);color:var(--request-text);font-weight:650}
.office-list .request-card small{color:#45576e}
.office-list .request-card .request-callback{font-weight:650;color:var(--request-text);margin-top:9px}
.office-save-help,.office-sender-help{font-size:12px!important;color:var(--muted);margin-top:12px}
.office-admin-tools.audience-panel{margin-top:40px;padding:12px 16px;font-size:12px;background:transparent}
.office-admin-tools>summary{min-height:44px;align-content:center;font-size:13px;line-height:1.6;cursor:pointer}
.office-admin-tools>summary>span{color:var(--muted);font-weight:400;display:inline-block;margin-left:12px;font-size:12px}
.office-admin-tools .button,.office-admin-tools .text-button{font-size:12px;padding:10px 12px;min-height:44px}
[data-theme="dark"] .office-list .request-card{--request-fill:#142b23;--request-text:#a4e2b9;--request-accent:#68bd84}
[data-theme="dark"] .office-list .request-card[data-status="under_review"]{--request-fill:#172b47;--request-text:#b8d2ff;--request-accent:#88b6ff}
[data-theme="dark"] .office-list .request-card[data-status="more_info_needed"]{--request-fill:#302917;--request-text:#f1d391;--request-accent:#d5b16a}
[data-theme="dark"] .office-list .request-card[data-status="quote_ready"]{--request-fill:#2a203d;--request-text:#d7baff;--request-accent:#ba96e8}
[data-theme="dark"] .office-list .request-card[data-status="contacted"]{--request-fill:#152c32;--request-text:#a2deeb;--request-accent:#76bccb}
[data-theme="dark"] .office-list .request-card[data-status="closed"]{--request-fill:#341d26;--request-text:#ffc2cd;--request-accent:#e4889a}
[data-theme="dark"] .office-list .request-card small{color:#bfd0e3}
[data-theme="dark"] .office-filter-error{color:#ffc2cd}
@media(max-width:760px){.office-filters .field{flex-basis:calc(50% - 12px);min-width:0}.office-filters .office-search-field{flex-basis:100%}.office-admin-tools>summary>span{display:block;margin-left:0}.office-admin-tools .office-actions{flex-direction:column;align-items:flex-start}}
@media(max-width:420px){.office-filters .field{flex-basis:100%}}

.office-list .request-card:focus-visible{outline:3px solid var(--blue);outline-offset:5px}

/* Supporting stock photography: real storefront photography remains separate. */
.contact-project-callout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:22px}
.contact-project-callout>div{min-width:0}
.contact-planning-photo{margin:0;min-width:0}
.contact-planning-photo img{display:block;width:100%;height:auto;border-radius:8px}
@media(max-width:1100px){.contact-project-callout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.guidance-card{grid-template-columns:minmax(0,1fr)}.guidance-card>div{padding:25px}.guidance-card p{max-width:none}.guidance-photo{aspect-ratio:3/2;min-height:0}.guidance-photo img{object-position:center}}

/* The homepage builder opens on demand; closing it never changes project state. */
.builder-disclosure{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface,#fff);box-shadow:var(--shadow)}
.builder-toggle{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;list-style:none;cursor:pointer;border-radius:var(--radius)}
.builder-toggle::-webkit-details-marker{display:none}
.builder-toggle::marker{content:""}
.builder-toggle h2{font-size:28px;letter-spacing:-1px}
.builder-toggle .eyebrow{font-size:11px;letter-spacing:1.7px;margin-bottom:7px}
.builder-toggle p:not(.eyebrow){font-size:14px;margin-top:9px}
.builder-toggle-action{display:inline-flex;align-items:center;gap:12px;flex:none;font-size:14px;font-weight:650;color:var(--blue)}
.builder-toggle-action .icon{width:22px;height:22px}
.builder-toggle-symbol{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px;isolation:isolate}
.builder-toggle-symbol::before{content:"";position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,#459bff55,transparent 72%);box-shadow:0 0 18px 3px #348cff40;opacity:0;z-index:-1;pointer-events:none}
.builder-bubble,.builder-glint{position:absolute;opacity:0;pointer-events:none;color:#378beb}
.builder-bubble{width:7px;height:7px;border:1.5px solid currentColor;border-radius:50%;background:#c7e8ff55}
.bubble-one{left:-5px;top:15px;--bubble-x:-3px}
.bubble-two{right:-3px;top:17px;width:5px;height:5px;--bubble-x:3px}
.builder-glint{right:-7px;top:-7px}
.builder-toggle-symbol .builder-glint .icon{width:12px;height:12px;transform:none}
@media(prefers-reduced-motion:no-preference){
 .builder-disclosure.is-inviting:not([open]) .builder-toggle-symbol::before{animation:builder-blue-glow 1.6s ease-in-out 2}
 .builder-disclosure.is-inviting:not([open]) .builder-bubble{animation:builder-bubble-rise 1.6s ease-out 2}
 .builder-disclosure.is-inviting:not([open]) .bubble-two{animation-delay:.16s;animation-duration:1.52s}
 .builder-disclosure.is-inviting:not([open]) .builder-glint{animation:builder-clean-glint 1.6s ease-in-out 2}
 @keyframes builder-blue-glow{0%,100%{opacity:0;transform:scale(.85)}45%,65%{opacity:1;transform:scale(1.14)}}
 @keyframes builder-bubble-rise{0%,12%{opacity:0;transform:translate(0,5px) scale(.65)}35%{opacity:.85}80%,100%{opacity:0;transform:translate(var(--bubble-x),-16px) scale(1.05)}}
 @keyframes builder-clean-glint{0%,35%,100%{opacity:0;transform:scale(.65) rotate(-12deg)}55%,70%{opacity:1;transform:scale(1) rotate(0)}}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover){
 .builder-toggle:hover .builder-toggle-symbol::before{animation:builder-blue-glow 1.6s ease-in-out 2}
 .builder-toggle:hover .builder-bubble{animation:builder-bubble-rise 1.6s ease-out 2}
 .builder-toggle:hover .bubble-two{animation-delay:.16s;animation-duration:1.52s}
 .builder-toggle:hover .builder-glint{animation:builder-clean-glint 1.6s ease-in-out 2}
}
.builder-toggle-close,.builder-disclosure[open] .builder-toggle-open{display:none}
.builder-disclosure[open] .builder-toggle-close{display:inline}
.builder-disclosure[open] .builder-toggle-action .icon{transform:rotate(45deg)}
.builder-disclosure[open]>.builder-toggle{border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0}
.builder-disclosure:not([open])>.builder-card{display:none}
.builder-disclosure>.builder-card{border:0;box-shadow:none;background:transparent}
.builder-state-heading{justify-content:flex-end;margin-bottom:14px!important}
.builder-toggle:hover{background:var(--pale)}
@media(max-width:760px){.builder-toggle{padding:23px;align-items:flex-start;flex-direction:column;gap:20px}.builder-toggle-action{width:100%;justify-content:space-between}.builder-toggle h2{font-size:27px}.builder-state-heading{display:none!important}}
@media(max-width:480px){.builder-toggle{padding:22px 17px}.builder-toggle h2{font-size:25px}.builder-toggle p:not(.eyebrow){font-size:13px}}

/* Compact samples and one responsive enlargement size for every material. */
.cultured-marble-page{padding-top:48px}
.cultured-marble-intro{max-width:none;margin-bottom:30px}
.cultured-marble-intro>p:last-child{font-size:18px;line-height:1.6;margin-top:18px;max-width:none}
.cultured-marble-banner{margin:0 0 40px;border-radius:16px;overflow:hidden;background:var(--ice)}
.cultured-marble-banner img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain}
.cultured-marble-gallery{max-width:1000px;margin-inline:auto}
.cultured-marble-slides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}
.cultured-marble-slide{margin:0;min-width:0}
.cultured-marble-image{position:relative;display:block;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--pale)}
.cultured-marble-image img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:contain}
.cultured-marble-disclosure{position:absolute;left:10px;top:10px;border:1px solid #c9d8eb;border-radius:5px;padding:4px 7px;background:#fff;color:#15386c;font-size:10px;letter-spacing:.05em;text-transform:uppercase}
.cultured-marble-view{position:absolute;right:8px;bottom:8px;display:flex;align-items:center;gap:5px;border-radius:5px;padding:4px 7px;background:#fff;color:#15386c;font-size:12px;font-weight:650}
.cultured-marble-view .icon{width:14px;height:14px}
.cultured-marble-slide figcaption{padding:13px 2px 0}
.cultured-marble-slide figcaption h2{font-size:19px;letter-spacing:-.3px}
.cultured-marble-slide figcaption p{margin-top:6px;font-size:13px;line-height:1.5}
.cultured-marble-sample-note{max-width:680px;margin:26px auto 0;text-align:center;font-size:13px;line-height:1.6}
.cultured-marble-dialog{margin:auto;width:600px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface,#fff);color:var(--ink)}
.cultured-marble-dialog::backdrop{background:rgb(8 25 45 / .65)}
.cultured-marble-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.cultured-marble-dialog-top .icon-button{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);background:var(--surface,#fff);color:var(--blue)}
.cultured-marble-dialog>img{display:block;width:100%;aspect-ratio:8/5;max-height:65dvh;height:auto;object-fit:contain;border-radius:8px;margin-inline:auto;background:var(--pale)}
.cultured-marble-dialog>h2{font-size:23px;margin-top:16px}
.cultured-marble-dialog>p{font-size:14px;margin-top:6px;line-height:1.6;min-height:3.2em}
.cultured-marble-next{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:44px;padding:28px 32px;border:1px solid var(--line);border-radius:14px;background:var(--pale)}
.cultured-marble-next h2{font-size:26px}
.cultured-marble-next p{margin-top:8px;font-size:14px}
.cultured-marble-actions{display:flex;flex-direction:column;align-items:center;gap:12px}
.cultured-marble-actions .button{white-space:normal;text-align:center}
@media(max-width:760px){.cultured-marble-slides{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}
@media(max-width:680px){.cultured-marble-page{padding-top:30px}.cultured-marble-intro>p:last-child{font-size:16px}.cultured-marble-image{border-radius:9px}.cultured-marble-disclosure{top:7px;left:7px;padding:3px 5px;font-size:9px;letter-spacing:0}.cultured-marble-view{bottom:6px;right:6px;font-size:10px;padding:3px 5px}.cultured-marble-view .icon{width:12px;height:12px}.cultured-marble-slide figcaption h2{font-size:17px}.cultured-marble-slide figcaption p{font-size:12px}.cultured-marble-dialog{padding:18px}.cultured-marble-dialog>h2{font-size:21px}.cultured-marble-next{flex-direction:column;align-items:stretch;padding:22px;gap:22px;margin-top:32px}.cultured-marble-next h2{font-size:24px}.cultured-marble-actions{align-items:stretch}.cultured-marble-actions>.text-link{align-self:center}}
@media(max-width:359px){.cultured-marble-slides{grid-template-columns:minmax(0,1fr)}}

/* Showcase links and the complete, progressively rendered inspiration collection. */
.whole-gallery-link{flex-shrink:0;white-space:normal}
.category-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:760px){.gallery-page .section-heading{flex-direction:column;align-items:flex-start}.whole-gallery-link{max-width:100%}}
.showcase-marble-card{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1fr);gap:32px;align-items:center;margin-top:32px;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:16px}
.showcase-marble-card>div{min-width:0}
.showcase-marble-card h2{font-size:clamp(25px,3vw,34px);margin-bottom:12px}
.showcase-marble-card p:not(.eyebrow){line-height:1.7;margin-bottom:18px}
.showcase-marble-card .text-link{min-height:44px;display:inline-flex;align-items:center}
.gallery-page .gallery-thumbnails{grid-template-columns:minmax(0,1fr)}
.inspiration-jump-links{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 36px}
.inspiration-jump-links a{display:inline-flex;align-items:center;min-height:44px}
.inspiration-section{margin:0 0 52px;scroll-margin-top:130px}
.inspiration-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.inspiration-section-heading h2{font-size:clamp(25px,3vw,34px);margin:0}
.inspiration-section-heading .text-link{min-height:44px;display:inline-flex;align-items:center;white-space:normal}
.inspiration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.inspiration-card{margin:0;min-width:0;padding:0 0 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.inspiration-image{position:relative;min-width:0;background:var(--pale);overflow:hidden;border-radius:10px}
.inspiration-image img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.showcase-marble-card .inspiration-image img,#cultured-marble .inspiration-image img{aspect-ratio:8/5}
/* Main photographs stay contained. Reviewed closer-look crops use matching frames. */
.hardware-photo{background:var(--pale);aspect-ratio:30/19}
.gallery-thumbnail .thumbnail-image,.category-dot,.category-stage{background:var(--pale)}
.hardware-controls.single-detail{justify-content:center;padding:12px 0;margin-bottom:10px}
.hardware-controls [hidden]{display:none!important}
.hardware-caption{text-align:center;min-width:0;overflow-wrap:anywhere;line-height:1.5}
.detail-option{min-height:44px}
.gallery-thumbnail .thumbnail-image img{object-fit:contain}
.showcase-preference{margin:0 0 14px;line-height:1.5;overflow-wrap:anywhere}
.showcase-preference span{display:block;color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.showcase-preference strong{font-size:14px;font-weight:650;color:var(--ink)}
.showcase-explore{border:1px solid var(--line);border-radius:8px;margin:0 0 20px;background:var(--surface)}
.showcase-explore summary{cursor:pointer;min-height:44px;padding:13px 12px;font-size:13px;font-weight:650;color:var(--ink);line-height:1.5}
.explore-body{padding:0 12px 14px}
.explore-breadcrumb{padding:4px 8px;margin:0 0 14px;background:var(--pale);border-radius:6px}
.explore-breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:0 5px;list-style:none;margin:0;padding:0;font-size:12px;line-height:1.5}
.explore-breadcrumb li{display:flex;align-items:center;gap:5px;min-width:0}
.explore-breadcrumb li>span[aria-hidden]{color:var(--muted)}
.explore-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.explore-breadcrumb [aria-current]{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-weight:700;overflow-wrap:anywhere}
.explore-group-label{font-size:12px;font-weight:650;color:var(--ink);margin:0 0 7px}
.explore-branch{padding-left:10px;border-left:2px solid var(--line)}
.explore-breadcrumb a:focus-visible,.explore-choices[tabindex]:focus{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
.explore-choices{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.explore-choice{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-size:12px;line-height:1.35;flex:1 1 auto}
.explore-choice[aria-pressed="true"]{border-color:var(--blue);background:#193d7a;color:#fff}
.explore-choice:focus-visible,.showcase-explore summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.explore-glass-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.explore-finish-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.explore-finish-choices .explore-choice{flex-direction:column;min-height:66px;padding:8px 4px;text-align:center}
.explore-finish-swatch{display:inline-block;width:17px;height:17px;flex:0 0 17px;border:1px solid #8091a3;border-radius:50%}
.explore-finish-swatch.chrome{background:linear-gradient(120deg,#bcc8d1,#fff 48%,#8697a5)}
.explore-finish-swatch.nickel{background:linear-gradient(120deg,#9d9e94,#d6d7cd 48%,#a0a194)}
.explore-finish-swatch.black{background:#20272e}
.explore-finish-swatch.polished-stainless{background:linear-gradient(120deg,#8999a4,#f4f7f9 45%,#c6d1d9 60%,#778b9b)}
.explore-finish-swatch.brushed-stainless{background:linear-gradient(120deg,#8f979a,#c8cece 48%,#91999b)}
.explore-finish-swatch.satin-brass{background:linear-gradient(120deg,#987436,#dfc786 48%,#b38b45)}
.explore-finish-swatch.brushed-bronze{background:linear-gradient(120deg,#765238,#bca17b 48%,#8d694a)}
.explore-glass-preview{background:var(--pale);border-radius:7px;overflow:hidden;aspect-ratio:30/19}
.explore-glass-preview img{display:block;width:100%;height:auto;aspect-ratio:30/19;object-fit:contain}
.showcase-explore [data-explore-hardware]{background:#e5eefb;border-radius:7px;isolation:isolate}
.explore-hardware-image{display:block;width:100%;height:auto;aspect-ratio:30/19;object-fit:contain;border-radius:7px;mix-blend-mode:multiply}
.showcase-explore [data-explore-hardware] .explore-description{color:#15386c;padding:0 10px 10px}
.showcase-explore [hidden]{display:none!important}
.explore-description{font-size:12px;line-height:1.6;margin:12px 0;color:var(--ink)}
.explore-note{font-size:11px;line-height:1.6;margin:12px 0 0;color:var(--muted)}
.explore-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.inspiration-image-label{position:absolute;bottom:12px;left:12px;max-width:calc(100% - 24px);padding:5px 9px;border-radius:4px;background:#132e52;color:#fff;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.inspiration-card figcaption{padding:16px 16px 0;font-size:16px;font-weight:600;color:var(--ink);line-height:1.5;overflow-wrap:anywhere}
.inspiration-note{margin:0 0 22px;max-width:760px;font-size:14px;line-height:1.7}
.inspiration-page .page-heading>p:last-child{max-width:680px}
@media(max-width:980px){.inspiration-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:600px){.showcase-marble-card{grid-template-columns:minmax(0,1fr);gap:22px;padding:18px}.inspiration-grid{grid-template-columns:minmax(0,1fr)}.inspiration-section-heading{align-items:flex-start;flex-direction:column;gap:6px}.inspiration-section{margin-bottom:38px}.inspiration-jump-links{gap:8px}.inspiration-jump-links a{padding-inline:13px}.inspiration-card figcaption{font-size:16px}}

/* Keep the coating explanation outside its checkbox label and in normal flow. */
.glass-addon-row{position:relative;margin-top:15px;padding-top:12px;border-top:1px solid var(--line)}
.glass-addon-row>.glass-addon{margin:0;padding:0 48px 0 0;border:0;min-height:44px}
.glass-addon-info>summary{position:absolute;top:7px;right:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border:1px solid transparent;border-radius:50%;color:var(--blue);background:transparent;cursor:pointer;list-style:none}
.glass-addon-info>summary::-webkit-details-marker{display:none}
.glass-addon-info>summary .icon{width:21px;height:21px}
.glass-addon-info>summary:hover,.glass-addon-info[open]>summary{background:var(--ice);border-color:var(--line)}
.glass-addon-info>summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.glass-addon-description{margin:8px 0 0;padding:12px 14px;background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-size:14px;line-height:1.6;text-align:left;overflow-wrap:anywhere}
.glass-addon-description p{margin:0}

/* The hero name sits on the photograph as a watermark. */
:root:not([data-theme="dark"]) .hero-image-caption small{color:var(--blue);text-shadow:none;opacity:1}
.hero-image-caption small{background:transparent;border:0;border-radius:0;padding:0;color:#fff;font-weight:650;letter-spacing:.12em;text-shadow:0 1px 3px #12273dcc,0 0 12px #12273d66;opacity:.88}

/* Supplied skyline; fade it into the section so the copy stays readable. */
.bay-section{--bay-tone:#eaf2fb}
.bay-section::after{display:none}
.bay-photo{position:absolute;inset:0 0 0 auto;width:65%;pointer-events:none;opacity:.72}
.bay-photo img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.bay-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bay-tone),transparent 55%),linear-gradient(180deg,var(--bay-tone),transparent 65%)}
[data-theme=dark] .bay-section{--bay-tone:#172e49}
[data-theme=dark] .bay-photo{opacity:.48}
.footer-license{display:inline-block;margin-top:15px;font-size:12px;line-height:1.65;color:var(--navy);text-underline-offset:3px}
.footer-license .icon{display:inline-block;vertical-align:middle;width:13px;height:13px}
[data-theme=dark] .footer-license{color:#b9d4fc}

/* Frame the unchanged archival artwork; preserve the complete source file. */
.heritage-card{display:grid;grid-template-columns:minmax(210px,300px) minmax(0,1fr);gap:36px;align-items:center;margin-top:48px;padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--pale)}
.heritage-card>div{min-width:0}
.footer-google .icon,.contact-google .icon{color:var(--blue)}
.contact-google{display:flex;width:fit-content;align-items:center;gap:8px;margin-top:14px;font-size:13px}
.contact-google .icon{width:18px;height:18px}
.customer-reviews{--review-gold:#a87412;background:var(--pale)}
.review-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:64px;align-items:center}
.review-rating{display:flex;gap:14px;align-items:center;margin:24px 0}
.review-rating>b{font-size:48px;line-height:1;color:var(--review-gold)}
.review-rating>span{font-size:14px;line-height:1.6}
.review-snapshot,.review-selection{font-size:12px;line-height:1.7;margin-top:16px;color:var(--muted)}
.review-quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.review-quotes figure{margin:0;padding:28px;border:1px solid var(--line);background:var(--white);border-radius:14px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.review-quotes blockquote{margin:0}
.review-quotes blockquote p{font-size:22px;line-height:1.5;color:var(--ink);letter-spacing:-.3px}
.review-quotes figcaption{font-size:12px;line-height:1.7}
.review-quotes figcaption b,.review-quotes figcaption span{display:block}
.review-quotes figcaption .review-excerpt-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
.review-quotes figcaption .review-stars{display:inline-block;flex:none;white-space:nowrap;color:var(--review-gold);font-size:16px;line-height:1;letter-spacing:.08em}
.review-quotes figcaption a{display:inline-flex;gap:6px;align-items:center;margin-top:12px;text-decoration:underline;text-underline-offset:3px}
.review-quotes figcaption .icon{width:14px;height:14px}
.review-selection{grid-column:1/-1;margin:0}
[data-theme=dark] .customer-reviews{--review-gold:#fbbc04;background:#101e30}
[data-theme=dark] .review-quotes figure{background:var(--surface)}
[data-theme=dark] .footer-google .icon,[data-theme=dark] .contact-google .icon{color:#b5d1ff}
@media(max-width:980px){.review-layout{grid-template-columns:1fr;gap:30px}}
@media(max-width:600px){.review-quotes{grid-template-columns:1fr}.review-quotes figure{padding:24px}}
.heritage-card h2{font-size:clamp(23px,2.4vw,31px);line-height:1.2;letter-spacing:-.6px}
.heritage-card p:not(.eyebrow){font-size:15px;line-height:1.7;margin-top:14px;max-width:520px}
.heritage-artwork{position:relative;aspect-ratio:475/280;overflow:hidden;background:#dceafa;border-radius:10px;isolation:isolate}
.heritage-artwork img{position:absolute;width:284.2105%;max-width:none;height:auto;left:-36.8421%;top:-62.8571%;mix-blend-mode:multiply}
[data-theme=dark] .heritage-card{background:#1a344d;border-color:#40566d}
@media(max-width:760px){.bay-photo{inset:auto 0 0;width:100%;height:270px;opacity:.5}.bay-photo::after{background:linear-gradient(180deg,var(--bay-tone),transparent 70%),linear-gradient(90deg,var(--bay-tone),transparent 80%)}.heritage-card{grid-template-columns:1fr;gap:22px;padding:22px;margin-top:32px}.heritage-artwork{width:min(100%,320px);justify-self:center}.heritage-card p:not(.eyebrow){font-size:14px}}

/* Two loose prints, with the original photographs and archive border intact. */
.family-history{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:clamp(32px,5vw,72px);row-gap:0}
.family-history .about-history-heading .eyebrow{font-size:var(--text-eyebrow)}
.family-history .about-history-heading{grid-column:1;grid-row:1;margin-bottom:32px}
.family-history .about-history-heading>p:last-child{font-size:17px;line-height:1.75;margin:20px 0 0}
.family-history .family-story{grid-column:1;grid-row:2}
.family-history .family-photo-stack{grid-column:2;grid-row:1 / span 2}
.family-history .family-story{min-width:0}
.family-history .family-story p{font-size:16px;line-height:1.75}
.family-photo-stack{min-width:0;margin:0;padding:20px 16px 0}
.family-prints{padding:8px 4px 20px;isolation:isolate}
.family-print{position:relative;padding:10px;background:#e7f0fb;border:1px solid #c7d9ee;box-shadow:0 5px 10px #102b5120,0 20px 36px #102b5130}
.family-print img{display:block;width:100%;height:auto;border-radius:0}
.family-print-team{z-index:1;width:92%;padding-bottom:40px;transform:rotate(-4deg)}
.family-print-archive{z-index:2;width:86%;margin:-28px 0 0 auto;transform:rotate(4deg)}
.family-photo-stack figcaption{display:grid;gap:8px;margin:14px 0 0;font-size:12px;line-height:1.65;color:var(--muted)}
.family-photo-stack figcaption b{font-weight:650;color:var(--ink)}
[data-theme=dark] .family-print{box-shadow:0 5px 12px #0005,0 22px 40px #0006}
@media(max-width:760px){.family-history{grid-template-columns:minmax(0,1fr);gap:28px}.family-history .about-history-heading,.family-history .family-story,.family-history .family-photo-stack{grid-column:auto;grid-row:auto}.family-history .about-history-heading{margin-bottom:0}.family-history .about-history-heading>p:last-child{font-size:15px}.family-photo-stack{width:100%;max-width:580px;justify-self:center;padding:12px 14px 0}.family-prints{padding-bottom:14px}.family-print{padding:7px}.family-print-team{padding-bottom:30px;transform:rotate(-3deg)}.family-print-archive{margin-top:-22px;transform:rotate(3deg)}.family-history .family-story p{font-size:15px}.family-photo-stack figcaption{font-size:12px}}
.faq-list a,.family-story p a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}

.archive-identities summary{cursor:pointer;color:var(--ink);font-weight:650;padding:8px 0}
.archive-identities p{margin:4px 0 0}

.home-gallery-slide{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);background:var(--pale);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:24px;min-width:0}
.home-gallery-image{position:relative;min-width:0;aspect-ratio:4/3;background:#244b79}
.home-gallery-image img{width:100%;height:100%;object-fit:contain}
.home-gallery-slide:has(a[href="cultured-marble.html"]) .home-gallery-image{aspect-ratio:8/5;align-self:center}
.home-gallery-image .photo-disclosure{position:absolute;bottom:16px;left:16px}
.home-gallery-caption{padding:clamp(24px,4vw,60px);align-self:center;min-width:0}
.home-gallery-caption h3{font-size:clamp(28px,3vw,42px);line-height:1.12;letter-spacing:-1px;margin:16px 0}
.home-gallery-caption p:not(.eyebrow){margin-bottom:28px;line-height:1.7}
.home-gallery-caption .button{white-space:normal;text-align:left}
[data-home-gallery][data-ready=true] .home-gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;gap:24px;position:relative;border-radius:18px}
[data-home-gallery][data-ready=true] .home-gallery-slide{flex:0 0 100%;scroll-snap-align:start;margin:0}
.home-gallery-track:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.home-gallery-controls{display:flex;gap:20px;align-items:center;justify-content:center;margin-top:22px}
.home-gallery-controls[hidden]{display:none}
.home-gallery-controls .icon-button{width:48px;height:48px;border:1px solid var(--line);border-radius:50%}
.home-gallery-controls p{font-size:14px;min-width:180px;text-align:center}
[data-theme=dark] .home-gallery-slide{background:#1a344d}
@media(max-width:760px){.home-gallery-slide{grid-template-columns:minmax(0,1fr)}.home-gallery-image{aspect-ratio:4/3}.home-gallery-caption{padding:24px}.home-gallery-caption h3{margin:10px 0}.home-gallery-caption p:not(.eyebrow){margin-bottom:20px}.home-gallery-controls{gap:12px}.home-gallery-controls p{min-width:150px}}

[data-theme=dark] .home-gallery-image{background:#123456}

/* A compact product invitation within the existing Sliding slide. */
.home-phantom-teaser{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;align-items:center;width:100%;margin-top:28px;padding:24px 0 0;border:0;border-top:1px solid var(--line);background:none;text-align:left;text-decoration:none;scroll-margin-top:24px}
.home-phantom-thumbnail{display:grid;gap:5px;width:88px;padding:0;background:none;border:0;border-radius:7px;text-align:center}
.home-phantom-thumbnail img{display:block;width:88px;height:60px;object-fit:contain;background:var(--ice);border-radius:7px}
.home-phantom-thumbnail>span{font-size:11px;line-height:1.4;color:var(--blue)}
.home-phantom-thumbnail:hover>span{text-decoration:underline;text-underline-offset:3px}
.home-phantom-photo-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.home-phantom-teaser-copy{display:grid;gap:5px;min-width:0}
.home-phantom-label{color:var(--blue);font-size:10px;letter-spacing:.13em;font-weight:700}
.home-phantom-teaser strong{color:var(--ink);font-size:20px;line-height:1.25;letter-spacing:-.3px}
.home-phantom-link{display:flex;align-items:center;gap:7px;width:fit-content;min-height:28px;padding:0;border:0;background:none;text-align:left;color:var(--blue);font-size:12px;line-height:1.5}
.home-phantom-link .icon{width:15px;height:15px}
.home-phantom-link:hover{text-decoration:underline;text-underline-offset:3px}
[data-theme=dark] .home-phantom-label,[data-theme=dark] .home-phantom-link,[data-theme=dark] .home-phantom-thumbnail>span{color:#b9d4fc}
@media(max-width:760px){.home-phantom-teaser{margin-top:24px;padding-top:20px;gap:14px}.home-phantom-teaser strong{font-size:19px}}
