/* Shared multi-page storefront. Natural photographs, black and white interface. */
[hidden]{display:none!important}body{overflow-x:clip}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #555;outline-offset:5px}.page-wrap{margin-left:4%;margin-right:4%}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:10px;color:#737373;margin:26px 4% 0;line-height:1.6}.breadcrumbs a:hover{color:#111}.breadcrumbs>span:last-child{max-width:50ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-heading{padding:52px 0 50px;max-width:820px}.page-heading h1{font-size:clamp(42px,5.6vw,88px);margin:20px 0 24px;line-height:1.04}.page-lead{max-width:540px;font-size:15px;line-height:1.8;color:#6b6b6b}.page-heading .page-lead{max-width:580px}.desktop-nav{gap:26px}.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}.header-actions{gap:14px}.footer-brand>a>img{width:175px}.footer-note{margin-top:22px;color:#999}.footer-top{grid-template-columns:1.15fr .8fr 1.15fr 1fr}.page-closing{margin-top:90px;background:#111;color:#fff;padding:65px 7%;display:flex;align-items:center;justify-content:space-between;gap:35px}.page-closing .eyebrow{color:#aaa}.page-closing h2{font-size:clamp(32px,3.5vw,58px);margin:18px 0}.page-closing p:not(.eyebrow){color:#bbb;font-size:14px}.page-closing .button-light,.installation-banner .button-light{background:#fff;color:#111;border-color:#fff}.shop-intro{display:flex;align-items:center;justify-content:space-between;gap:60px}.shop-intro .page-heading{max-width:790px}.shop-intro-note{min-width:265px;padding-top:30px;border-left:1px solid #e4e4e4;padding-left:40px}.mini-mark{font-size:10px;letter-spacing:.16em}.shop-intro-note p{font-size:13px;line-height:1.8;color:#777;margin:24px 0}.shop-tools{border-top:1px solid #dedede;border-bottom:1px solid #dedede;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0}.shop-search{display:flex;align-items:center;gap:14px;max-width:450px;flex:1}.shop-search svg{width:20px;height:20px;fill:none;stroke:#444;stroke-width:1.5}.shop-search input{width:100%;border:0;outline-offset:7px;background:none;font-size:13px;padding:8px 0}.shop-sort{display:flex;align-items:center;gap:10px;font-size:11px;color:#777}.shop-sort select{border:0;background:#f6f6f6;padding:11px 30px 11px 14px;font-size:12px;color:#222;max-width:230px}.filter-row{display:flex;gap:9px;flex-wrap:wrap;padding:26px 0 14px}.filter-row button{background:transparent;border:1px solid #ddd;border-radius:2px;padding:10px 16px;font-size:11px;color:#555;min-height:42px;cursor:pointer}.filter-row button:hover{border-color:#333}.filter-row button[aria-pressed=true]{color:#fff;background:#111;border-color:#111}.filter-row sup{font-size:8px;margin-left:6px;opacity:.65;vertical-align:super}.results-count{font-size:11px;color:#777;margin:10px 0 25px}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px}.shop-card-image{display:block;position:relative;background:#f6f6f6;overflow:hidden;aspect-ratio:1.15}.shop-card-image>span{position:absolute;top:18px;left:20px;z-index:1;text-transform:uppercase;font-size:8px;letter-spacing:.07em;color:#676767}.shop-card-image img{width:100%;height:100%;object-fit:contain;padding:45px 30px 28px;mix-blend-mode:multiply;transition:transform .5s}.shop-card-image:hover img{transform:scale(1.045)}.shop-card-image>i{font-style:normal;position:absolute;right:16px;bottom:15px;font-size:19px}.shop-card-copy{padding:19px 0 0}.shop-card-copy h3{font-size:19px;line-height:1.35;letter-spacing:-.035em;max-width:360px}.shop-card-copy>p{font-size:15px;margin-top:12px}.shop-card-copy>p>span{font-size:10px;color:#777;margin-left:4px}.finish-link{display:flex;justify-content:space-between;align-items:center;font-size:11px;border-top:1px solid #e5e5e5;margin-top:18px;padding-top:15px;color:#777}.finish-link span{font-size:15px;color:#111}.catalog-note{font-size:11px;color:#777;margin-top:32px}.shop-section{padding-bottom:70px}.shop-empty{padding:65px;text-align:center;background:#f7f7f7}.shop-empty h2{font-size:36px}.shop-empty p{margin:15px 0 25px}.small-studio{border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:42px 0;display:flex;justify-content:space-between;align-items:center;gap:30px}.small-studio h2{font-size:40px;margin:15px 0 10px}.small-studio p:not(.eyebrow){color:#777;font-size:13px}.home-products{margin-top:30px}.product-detail{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:7%;padding-top:42px;padding-bottom:65px;align-items:start}.product-main-image{position:relative;background:#f6f6f6;aspect-ratio:1}.product-main-image img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply;padding:50px}.product-main-image>span{position:absolute;left:25px;bottom:20px;font-size:11px;color:#666}.product-thumbnails{display:flex;gap:9px;overflow-x:auto;padding:14px 3px 9px;scrollbar-width:thin}.product-thumbnails button{flex:0 0 72px;width:72px;height:72px;min-height:0;background:#f6f6f6;border:1px solid transparent;cursor:pointer;padding:7px}.product-thumbnails button[aria-pressed=true]{border-color:#222}.product-thumbnails img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}.product-gallery>.small-muted{font-size:10px;margin-top:8px}.product-purchase{padding-top:8px}.product-purchase h1{font-size:clamp(30px,3.2vw,50px);line-height:1.08;margin:20px 0 22px}.product-description{font-size:14px;color:#727272;line-height:1.8}.product-pricing{display:flex;align-items:baseline;gap:12px;margin:24px 0 6px}.product-pricing strong{font-size:25px;font-weight:400;letter-spacing:-.035em}.product-pricing>span{font-size:11px;color:#777}.sku-line{font-size:10px;letter-spacing:.03em;color:#888}.finish-fieldset{border:0;padding:0;margin:30px 0}.finish-fieldset legend{font-size:12px;margin-bottom:16px}.finish-fieldset legend span{margin-left:12px;color:#777}.hardware-finishes{display:flex;gap:7px;flex-wrap:wrap}.hardware-finishes>button{background:none;border:1px solid transparent;width:40px;height:40px;display:grid;place-items:center;padding:5px;border-radius:50%;cursor:pointer}.hardware-finishes>button[aria-pressed=true]{border-color:#222}.finish-dot{display:block;width:27px;height:27px;border-radius:50%;border:1px solid #0002;background:linear-gradient(135deg,#999,#eee,#aaa)}.finish-dot[data-color*="Black"]{background:#262626}.finish-dot[data-color*="Brushed Nickel"]{background:linear-gradient(135deg,#8e8e89,#dbd9cf,#999992)}.finish-dot[data-color*="Gold"]{background:linear-gradient(135deg,#a18642,#e3c680,#af9454)}.finish-dot[data-color*="Bronze"]{background:linear-gradient(135deg,#644d38,#a18863,#61513f)}.finish-dot[data-color*="Clear"]{background:linear-gradient(135deg,#f8f8f8,#d6d6d6,#fff)}.finish-dot[data-color*="Satin Brass"]{background:linear-gradient(135deg,#a98d53,#d2bd86)}.product-add{display:flex;gap:12px}.quantity-field{display:flex;align-items:center;gap:10px;border:1px solid #ddd;padding:8px 14px;font-size:11px}.quantity-field input{width:45px;border:0;background:none;padding:3px;font-size:13px}.product-add .button{flex:1;justify-content:space-between}.product-purchase .small-muted{margin-top:12px;font-size:11px;line-height:1.7}.form-status{font-size:12px;min-height:1.7em;margin-top:9px}.product-accordions{margin:26px 0}.product-accordions .faq summary{font-size:13px;padding:18px 0}.product-accordions .faq details p{padding:0 0 15px;font-size:12px}.spec-table{font-size:12px;padding-bottom:20px}.spec-table>div{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;padding:10px 0;border-bottom:1px solid #eee}.spec-table dt{color:#777}.spec-table dd{margin:0}.related-section{border-top:1px solid #dedede;padding:55px 0 80px}.related-section .section-heading h2{font-size:40px}.work-filters{padding:0 0 32px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 28px;padding-bottom:25px}.work-card>div{position:relative;overflow:hidden;height:500px;background:#f5f5f5}.work-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.work-card:hover img{transform:scale(1.025)}.work-card .card-arrow{background:#fff;color:#111;bottom:18px;right:18px}.work-card .eyebrow{display:flex;justify-content:space-between;gap:15px;color:#777;font-size:9px;margin:20px 0 12px}.work-card h3{font-size:31px;letter-spacing:-.045em;line-height:1.2}.work-card:nth-child(even){padding-top:65px}.work-card[hidden]+.work-card{padding-top:0}.project-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:end;padding:60px 0 45px}.project-heading h1{font-size:clamp(42px,5.6vw,80px);margin-top:20px}.project-heading>p{color:#777;max-width:400px;font-size:14px;line-height:1.8}.project-zoom{position:relative;display:block;border:0;padding:0;width:100%;background:#f3f3f3;cursor:zoom-in;overflow:hidden}.project-feature .project-zoom{height:min(75vw,750px)}.project-zoom img{width:100%;height:100%;object-fit:contain}.project-zoom>span{position:absolute;right:20px;bottom:20px;font-size:9px;padding:12px 15px;background:#fff;color:#222;letter-spacing:.06em}.project-story{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:70px 0}.project-story h2{font-size:37px;line-height:1.15;margin-top:20px;max-width:470px}.project-story>div>p{font-size:15px;color:#777;line-height:1.8;max-width:500px}.project-facts{margin:28px 0}.project-facts>div{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid #ddd;font-size:12px}.project-facts dt{color:#888}.project-facts dd{margin:0}.project-story .button{margin:28px 0 0;display:flex;width:fit-content}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-gallery .project-zoom{height:540px}.project-gallery .project-zoom:last-child:nth-child(odd){grid-column:1/-1;height:650px}.next-project{padding:65px 0 80px;border-top:1px solid #ddd;margin-top:65px}.next-project>a{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:25px}.next-project h2{font-size:clamp(36px,4.5vw,65px)}.next-project>a>span{font-size:55px}.photo-dialog{border:0;width:min(1200px,94vw);max-width:94vw;max-height:94dvh;padding:20px;background:#fff}.photo-dialog::backdrop{background:#000b}.photo-dialog .dialog-heading h2{font-size:16px}.photo-dialog .dialog-heading{margin-bottom:15px}.photo-dialog>img{display:block;max-height:78dvh;width:100%;object-fit:contain}.service-hero{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;padding:40px 0 60px}.service-hero .page-heading{padding:20px 0 0}.service-hero h1{font-size:clamp(39px,4.8vw,72px)}.service-hero .button{margin-top:25px}.service-hero>figure{margin:0;position:relative;height:560px}.service-hero>figure img{width:100%;height:100%;object-fit:cover}.service-hero>figure figcaption{position:absolute;left:22px;bottom:22px;background:#fff;font-size:8px;letter-spacing:.08em;padding:12px 16px}.service-list{padding:10px 0 70px}.service-row{display:grid;grid-template-columns:50px 1fr 240px 60px;gap:45px;align-items:center;border-top:1px solid #ddd;padding:32px 0}.service-row:last-child{border-bottom:1px solid #ddd}.service-number{align-self:start;padding-top:12px;font-size:11px;color:#888}.service-row h2{font-size:clamp(28px,3.1vw,48px);transition:translate .3s}.service-row p{font-size:13px;line-height:1.8;color:#777;max-width:470px;margin-top:15px}.service-row img{width:240px;height:160px;object-fit:cover}.service-arrow{font-size:36px;justify-self:end}.service-row:hover h2{translate:8px 0}.installation-banner{background:#151515;color:#fff;display:grid;grid-template-columns:1.2fr 1fr;gap:20px 10%;padding:60px}.installation-banner>.eyebrow{grid-column:1/-1;color:#aaa}.installation-banner h2{font-size:clamp(38px,4vw,60px)}.installation-banner>div>p{color:#bbb;line-height:1.8;font-size:14px;margin-bottom:25px}.service-detail-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:8%;padding:45px 0 65px}.service-detail-hero h1{font-size:clamp(38px,4.5vw,68px);margin:22px 0;max-width:640px}.service-detail-hero figure{margin:0;height:590px}.service-detail-hero figure img{height:100%;width:100%;object-fit:cover}.service-detail-hero .hero-buttons{flex-wrap:wrap;gap:20px}.service-overview{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid #ddd;padding:65px 0}.service-overview h2{font-size:clamp(36px,3.7vw,58px);margin-top:20px}.service-overview>div>p{font-size:15px;color:#777;line-height:1.9;margin-bottom:22px}.feature-list{list-style:none;padding:0;margin:30px 0 0}.feature-list li{display:flex;gap:20px;align-items:baseline;padding:17px 0;border-top:1px solid #ddd;font-size:13px}.feature-list span{font-size:10px;color:#999}.preparation{background:#f5f5f5;padding:50px;display:grid;grid-template-columns:1fr 1fr;gap:10%}.preparation h2{font-size:37px;margin:18px 0}.preparation p:not(.eyebrow){font-size:13px;color:#777}.preparation ol{list-style:none;margin:0;padding:0;display:grid;align-content:center}.preparation li{padding:20px 0;border-bottom:1px solid #ddd;display:flex;gap:20px;font-size:13px}.preparation li span{font-size:10px;color:#888}.service-project{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:10%;padding:75px 0 0}.service-project h2{font-size:clamp(36px,4vw,58px);margin:22px 0}.service-project p:not(.eyebrow){font-size:12px;color:#888;margin-bottom:24px}.service-project>a{height:480px;overflow:hidden}.service-project img{width:100%;height:100%;object-fit:cover}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7%;padding:65px 0}.process-grid h2{font-size:29px;line-height:1.15;margin:22px 0}.process-grid p:not(.eyebrow){font-size:13px;color:#777;line-height:1.9}.collection-landing{display:grid;grid-template-columns:1fr 1fr;min-height:650px;margin-top:28px}.collection-landing>div{padding:70px 9% 70px 8%;display:flex;flex-direction:column;align-items:start;justify-content:center}.collection-landing h1{font-size:clamp(42px,4.8vw,74px);margin:25px 0}.collection-landing p:not(.eyebrow){font-size:15px;line-height:1.8;color:#777;max-width:480px;margin-bottom:30px}.collection-landing .text-link{margin-top:23px}.collection-landing figure{margin:0;min-height:650px}.collection-landing figure img{width:100%;height:100%;object-fit:cover}.studio-callout{background:#f3f3f3;text-align:center;padding:65px 20%;}.studio-callout h2{font-size:clamp(34px,3.8vw,56px);margin:23px 0}.studio-callout>p:not(.eyebrow){font-size:14px;color:#777;line-height:1.9;margin-bottom:25px}.about-heading .page-heading{max-width:900px}.team-image{position:relative}.team-image img{width:100%;max-height:700px;object-fit:cover}.team-image figcaption{padding:15px 0 25px;font-size:9px;letter-spacing:.1em;color:#777}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:40px 0 85px;align-items:start}.contact-intro .page-heading{padding:20px 0 15px}.contact-intro h1{font-size:clamp(42px,4.7vw,72px)}.contact-links{margin:20px 0 30px}.contact-links>a{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #ddd;padding:14px 0;font-size:clamp(13px,1.4vw,19px);max-width:430px;word-break:break-word}.contact-links>p{font-size:11px;color:#888;margin-top:17px}.contact-small{font-size:13px;color:#777;margin-bottom:25px}.contact-form-panel{background:#f6f6f6;padding:40px}.contact-form-panel>h2{font-size:30px;margin:16px 0}.form-explanation{font-size:12px;color:#777;line-height:1.8;margin-bottom:25px}.contact-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form-fields label{display:flex;flex-direction:column;font-size:11px;gap:7px;position:relative}.contact-form-fields label>span{position:absolute;right:0;top:0;font-size:9px;color:#999}.full-field{grid-column:1/-1}.contact-form-fields input,.contact-form-fields select,.contact-form-fields textarea{min-width:0;width:100%;padding:12px;border:1px solid #ddd;background:#fff;font-size:13px;color:#222;border-radius:0}.contact-form-fields textarea{resize:vertical;min-height:130px}.contact-form-panel .button{margin-top:20px;justify-content:space-between}.contact-form-panel .small-muted{margin-top:12px;font-size:10px}.prepared-inquiry{border-top:1px solid #ccc;margin-top:30px;padding-top:25px}.prepared-inquiry h3{font-size:24px;margin:15px 0}.prepared-inquiry p{font-size:12px;color:#666;line-height:1.8}.draft-actions{display:flex;gap:25px;margin-top:20px}.draft-actions button{font-size:12px;background:none;border:0;border-bottom:1px solid #aaa;padding:5px 0;cursor:pointer}.prepared-inquiry details{font-size:11px;margin-top:20px}.prepared-inquiry pre{white-space:pre-wrap;word-break:break-word;background:#fff;padding:15px;font:11px/1.7 var(--sans);max-height:320px;overflow:auto}.locations-section{padding:60px 0 80px;border-top:1px solid #ddd}.locations-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.locations-grid article{border:1px solid #ddd;padding:40px}.location-number{display:flex;justify-content:space-between;font-size:11px;color:#777}.location-number span{font-size:8px;letter-spacing:.1em}.locations-grid h3{font-size:44px;letter-spacing:-.05em;margin:40px 0 10px}.locations-grid p{font-size:13px;color:#777;line-height:1.8}.locations-grid address{font-style:normal;font-size:16px;margin:24px 0}.location-actions{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #ddd;padding-top:25px;margin-top:30px}.inquiry-dialog{width:620px;max-width:94vw;max-height:90dvh;overflow:auto}.inquiry-item{display:grid;grid-template-columns:70px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid #ddd}.inquiry-item img{width:70px;height:70px;object-fit:contain;background:#f5f5f5}.inquiry-item h3{font-size:15px;line-height:1.4}.inquiry-item p{font-size:11px;color:#777;margin:6px 0}.inquiry-item-controls{display:flex;gap:15px;align-items:center}.inquiry-item-controls label{font-size:10px;color:#777}.inquiry-item-controls input{width:55px;margin-left:8px;padding:6px;border:1px solid #ddd;font-size:12px}.inquiry-item-controls button{border:0;background:none;font-size:10px;text-decoration:underline;cursor:pointer}.inquiry-dialog>.small-muted{font-size:12px;line-height:1.8}.inquiry-dialog #inquiry-actions{padding-top:25px}.inquiry-dialog #inquiry-actions .button{display:flex;justify-content:space-between}.inquiry-dialog #inquiry-actions p{margin-top:15px;font-size:10px}#contact-selection{margin-top:22px}#contact-selection:empty{display:none}.selection-summary{border:1px solid #ddd;background:#fff;padding:16px;font-size:11px}.selection-summary h3{font-size:13px;margin-bottom:12px}.selection-summary ul{padding-left:18px;line-height:1.9}.selection-summary>button{margin-top:12px;font-size:11px;background:none;border:0;text-decoration:underline;cursor:pointer}.error-page{padding:110px 0 140px}.error-page h1{font-size:clamp(42px,6vw,90px);margin:25px 0}.error-page>p:not(.eyebrow){color:#777}.dialog-inquiry-link{margin-top:16px}.form-status a{border-bottom:1px solid #222}
@media(min-width:1500px){.page-wrap,.breadcrumbs{max-width:1450px;margin-left:auto;margin-right:auto}.shop-intro{gap:100px}.product-detail{gap:100px}.work-card>div{height:610px}}
@media(max-width:1050px){.desktop-nav{gap:16px}.desktop-nav a{font-size:11px}.header{gap:20px}.header-actions{gap:8px}.shop-intro-note{display:none}.product-detail{gap:5%}.product-purchase h1{font-size:32px}.product-pricing{align-items:start;flex-direction:column;gap:4px}.service-row{grid-template-columns:30px 1fr 180px 30px;gap:25px}.service-row img{width:180px;height:150px}.service-detail-hero{gap:5%}.contact-grid{gap:5%}.contact-form-panel{padding:28px}.contact-form-fields{gap:14px}.contact-form-fields label>span{position:static;font-size:8px;margin-top:-5px}.shop-card-copy h3{font-size:17px}.work-card>div{height:420px}.work-card h3{font-size:28px}.footer-top{gap:30px}.footer-top a{overflow-wrap:anywhere}}
@media(max-width:860px){.desktop-nav{display:none}.menu-toggle{display:block}.header-actions{margin-left:auto}.header .brand{width:145px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-products .shop-card:last-child{display:none}.product-detail{grid-template-columns:1fr 1fr}.product-main-image img{padding:25px}.product-add{flex-wrap:wrap}.quantity-field{min-height:44px}.product-add .button{min-width:150px}.service-hero{gap:5%}.service-hero>figure{height:480px}.service-hero h1{font-size:44px}.service-detail-hero h1{font-size:43px}.service-detail-hero figure{height:500px}.service-row{grid-template-columns:30px 1fr 160px 25px;gap:20px}.service-row img{width:160px;height:130px}.preparation{padding:35px;gap:5%}.process-grid{gap:5%}.process-grid h2{font-size:25px}.contact-grid{grid-template-columns:1fr 1.1fr;gap:4%}.contact-intro h1{font-size:43px}.contact-form-fields{grid-template-columns:1fr}.full-field{grid-column:auto}.contact-form-fields label>span{position:absolute;top:0;right:0;margin:0}.collection-landing{min-height:530px}.collection-landing figure{min-height:530px}.collection-landing>div{padding:45px 8%}.collection-landing h1{font-size:43px}.footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.page-wrap{margin-left:6%;margin-right:6%}.breadcrumbs{margin:20px 6% 0;font-size:9px;gap:7px}.breadcrumbs>span:last-child{max-width:28ch}.page-heading{padding:35px 0}.page-heading h1{font-size:45px;margin:18px 0 20px}.page-lead{font-size:14px}.header-actions{gap:3px}.header .brand{width:125px}.header{gap:10px}.header-actions .icon-button{width:32px;height:36px}.header-actions svg{width:19px}.utility{font-size:6px}.utility a{font-size:7px}.page-closing{margin-top:55px;padding:45px 6%;display:block}.page-closing h2{font-size:36px}.page-closing p:not(.eyebrow){font-size:13px}.page-closing .button{margin-top:25px}.shop-intro{display:block}.shop-tools{gap:15px;flex-direction:column;align-items:stretch;padding:15px 0}.shop-search{max-width:none}.shop-sort{justify-content:space-between}.shop-sort select{max-width:240px}.filter-row{gap:6px;padding-top:20px}.filter-row button{padding:9px 11px;font-size:10px;min-height:39px}.shop-grid{gap:28px 14px}.shop-card-image{aspect-ratio:.84}.shop-card-image>span{top:12px;left:12px;right:12px;font-size:7px;line-height:1.5}.shop-card-image img{padding:34px 12px 23px}.shop-card-copy{padding-top:13px}.shop-card-copy h3{font-size:15px;line-height:1.35}.shop-card-copy>p{font-size:13px;margin-top:10px}.shop-card-copy>p>span{display:block;font-size:9px;margin:2px 0}.finish-link{font-size:10px;padding-top:11px;margin-top:12px}.shop-card-image>i{font-size:15px;bottom:8px;right:10px}.results-count{font-size:10px;margin-bottom:20px}.shop-section{padding-bottom:45px}.catalog-note{font-size:10px}.shop-empty{padding:40px 20px}.shop-empty h2{font-size:30px}.small-studio{display:block;padding:32px 0}.small-studio h2{font-size:33px}.small-studio .button{margin-top:25px}.home-products .shop-card:last-child{display:block}.home-products{grid-template-columns:1fr;gap:35px}.home-products .shop-card-image{aspect-ratio:1.1}.home-products .shop-card-copy h3{font-size:20px}.home-products .shop-card-copy>p>span{display:inline;margin-left:6px}.home-products .shop-card-image>span{font-size:8px;padding:6px}.home-products .shop-card-image img{padding:35px}.product-detail{display:block;padding-top:25px;padding-bottom:40px}.product-main-image{aspect-ratio:1.1}.product-main-image img{padding:30px}.product-thumbnails button{width:58px;height:58px;flex-basis:58px}.product-purchase{padding-top:32px}.product-purchase h1{font-size:35px;margin-top:18px}.product-description{font-size:13px}.product-pricing{flex-direction:row;align-items:baseline;gap:12px}.product-pricing strong{font-size:25px}.product-pricing>span{font-size:10px}.product-add{flex-wrap:nowrap}.product-add .button{font-size:12px;padding:15px 20px}.product-accordions{margin-top:24px}.related-section{padding:40px 0 55px}.related-section .section-heading h2{font-size:33px}.related-section .shop-card:last-child{display:none}.work-grid{gap:35px;grid-template-columns:1fr}.work-card:nth-child(even){padding:0}.work-card>div{height:440px}.work-card .eyebrow{font-size:8px;margin:15px 0 10px}.work-card h3{font-size:30px}.work-filters{padding-top:0}.project-heading{display:block;padding:35px 0}.project-heading h1{font-size:47px;margin:18px 0 22px}.project-heading>p{font-size:13px}.project-feature .project-zoom{height:520px}.project-story{display:block;padding:40px 0}.project-story h2{font-size:33px;margin:18px 0 25px}.project-story>div>p{font-size:14px}.project-facts>div{font-size:11px}.project-gallery{grid-template-columns:1fr;gap:18px}.project-gallery .project-zoom,.project-gallery .project-zoom:last-child:nth-child(odd){height:480px;grid-column:auto}.project-zoom>span{font-size:8px;right:12px;bottom:12px}.next-project{padding:40px 0 55px;margin-top:40px}.next-project h2{font-size:34px}.next-project>a>span{font-size:35px}.service-hero{display:block;padding:15px 0 35px}.service-hero h1{font-size:45px}.service-hero .page-heading{padding-top:20px}.service-hero .button{margin-top:24px}.service-hero>figure{height:400px;margin-top:35px}.service-list{padding-bottom:40px}.service-row{grid-template-columns:22px 1fr 22px;gap:14px;padding:27px 0}.service-row h2{font-size:29px}.service-row p{font-size:12px;margin-top:12px}.service-row img{display:none}.service-number{font-size:9px;padding-top:8px}.service-arrow{font-size:26px}.installation-banner{display:block;padding:32px 25px}.installation-banner h2{font-size:38px;margin:20px 0}.installation-banner>div>p{font-size:13px}.service-detail-hero{display:block;padding:35px 0 40px}.service-detail-hero h1{font-size:44px;margin:20px 0}.service-detail-hero figure{height:430px;margin-top:32px}.service-detail-hero .hero-buttons{gap:24px;margin-top:25px}.service-overview{display:block;padding:40px 0}.service-overview h2{font-size:36px;margin:18px 0 26px}.service-overview>div>p{font-size:14px;line-height:1.8}.feature-list li{font-size:12px;gap:16px}.preparation{display:block;padding:30px 24px}.preparation h2{font-size:32px}.preparation ol{margin-top:20px}.preparation li{font-size:12px}.service-project{display:flex;flex-direction:column;align-items:stretch;padding-top:45px;gap:28px}.service-project h2{font-size:37px}.service-project>a{height:400px}.process-grid{display:block;padding:35px 0}.process-grid>div{border-top:1px solid #ddd;padding:25px 0}.process-grid h2{font-size:29px;margin:16px 0}.process-grid p:not(.eyebrow){font-size:13px}.collection-landing{display:block;margin-top:25px;min-height:0}.collection-landing>div{padding:25px 6% 40px}.collection-landing h1{font-size:45px}.collection-landing p:not(.eyebrow){font-size:14px}.collection-landing figure{min-height:0;height:430px}.studio-callout{padding:40px 22px}.studio-callout h2{font-size:33px}.studio-callout p:not(.eyebrow){font-size:13px}.about-heading .page-heading{padding-bottom:35px}.team-image img{height:300px;object-fit:cover}.team-image figcaption{font-size:8px;padding:13px 0 20px}.contact-grid{display:block;padding:15px 0 45px}.contact-intro h1{font-size:46px}.contact-intro .page-heading{padding-top:20px}.contact-links>a{font-size:16px}.contact-form-panel{padding:28px 23px;margin-top:38px}.contact-form-panel>h2{font-size:28px}.contact-form-fields{grid-template-columns:1fr;gap:17px}.contact-form-fields input,.contact-form-fields select,.contact-form-fields textarea{font-size:16px;padding:11px}.contact-form-panel .button{width:100%;padding:16px 18px}.locations-section{padding:40px 0 55px}.locations-grid{grid-template-columns:1fr;gap:20px}.locations-grid article{padding:28px}.locations-grid h3{font-size:40px;margin-top:30px}.locations-grid address{font-size:15px}.locations-grid p{font-size:12px}.location-actions{gap:12px;flex-wrap:wrap}.location-actions .text-link{font-size:11px}.inquiry-dialog{padding:25px 20px}.inquiry-dialog .dialog-heading h2{font-size:28px}.inquiry-item{grid-template-columns:55px 1fr;gap:13px}.inquiry-item img{width:55px;height:60px}.inquiry-item h3{font-size:14px}.error-page{padding:65px 0 80px}.error-page h1{font-size:48px}}
@media(prefers-reduced-motion:reduce){.shop-card-image img,.work-card img,.service-row h2{transition:none}.shop-card-image:hover img,.work-card:hover img{transform:none}.service-row:hover h2{translate:none}}

.product-gallery,.product-purchase{min-width:0}.product-thumbnails button img{display:block;min-width:0}.product-detail .product-pricing strong{white-space:nowrap}
.craft-image.project-film{width:100%;max-width:400px;min-height:0;aspect-ratio:720/1276;margin:auto;align-self:center;background:#111}
.project-film video{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:contain}
.project-film .image-note{top:16px;bottom:auto;left:16px;pointer-events:none}
.social-story{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:10%;align-items:center;padding-top:90px;padding-bottom:90px;border-top:1px solid #dedede}
.social-copy h2{font-size:clamp(42px,4.6vw,68px);line-height:1.04;letter-spacing:-.055em;font-weight:400;margin:24px 0}
.social-copy h2 em{font-style:normal;color:#969696}
.social-description{font-size:14px;line-height:1.85;color:#777;max-width:410px;margin:0 0 30px}
.social-profiles{border-top:1px solid #d9d9d9}
.social-profile{display:flex;align-items:center;gap:18px;padding:16px 8px 16px 0;min-height:79px;border-bottom:1px solid #d9d9d9;transition:padding .2s,background .2s}
.social-icon{width:36px;display:flex;align-items:center;justify-content:center;flex:none}
.social-icon svg{height:23px;width:23px;fill:currentColor}
.social-profile-name{font-size:20px;line-height:1.2;letter-spacing:-.03em;flex:1}
.social-profile-name small{display:block;font-size:10px;line-height:1.5;letter-spacing:0;color:#777;margin-top:5px}
.social-arrow{font-size:22px;transition:transform .2s}
.social-profile:hover{background:#f7f7f7;padding-left:10px}
.social-profile:hover .social-arrow{transform:translate(3px,-3px)}
.social-profile:focus-visible{outline:2px solid #111;outline-offset:4px}
.social-film{width:100%;max-width:400px;margin:0;justify-self:center}
.social-film-frame{aspect-ratio:9/16;background:#111;position:relative}
.social-film iframe{position:absolute;inset:0;width:100%;height:100%;display:block;border:0}
.social-film figcaption{display:flex;justify-content:space-between;gap:12px;font-size:8px;line-height:1.5;letter-spacing:.06em;color:#777;padding-top:15px}
@media(max-width:960px){.social-story{gap:6%;padding-top:65px;padding-bottom:65px}.social-copy h2{font-size:43px}.social-profile{min-height:72px;padding-top:13px;padding-bottom:13px}.social-profile-name{font-size:18px}.social-film figcaption{flex-direction:column;gap:4px}}
@media(max-width:640px){.social-story{grid-template-columns:1fr;gap:38px;padding-top:50px;padding-bottom:50px}.social-copy h2{font-size:46px;margin:20px 0}.social-description{font-size:13px;margin-bottom:24px}.social-profile{padding:14px 4px 14px 0;min-height:75px}.social-film figcaption{flex-direction:row}.social-profile-name{font-size:20px}}
@media(prefers-reduced-motion:reduce){.social-profile,.social-arrow{transition:none}}

.service-film-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12%;padding:65px 7%;background:#f4f3f1}
.service-film-copy h2{font-size:clamp(36px,4vw,58px);line-height:1.05;letter-spacing:-.045em;margin:24px 0}
.service-film-copy h2 em{font-style:normal;color:#92928f}
.service-film-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#666;max-width:37ch;margin-bottom:30px}
.service-film{width:100%;max-width:360px;margin:0 auto}
.service-film-frame{position:relative;aspect-ratio:9/16;background:#161616}
.service-film-frame video{display:block;width:100%;height:100%;object-fit:contain}
.service-film figcaption{font-size:8px;letter-spacing:.1em;color:#777;padding-top:12px}
.service-gallery-section{padding-top:85px;padding-bottom:75px}
.service-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 28px;margin-top:38px}
.service-photo-grid figure{margin:0;min-width:0}
.service-photo-grid .project-zoom{aspect-ratio:3/4;height:auto;background:#f2f1ef}
.service-photo-grid .project-zoom img{object-fit:contain}
.service-photo-grid figure.wide{grid-column:1/-1}
.service-photo-grid figure.wide .project-zoom{aspect-ratio:4/3;width:100%;max-height:750px}
.service-photo-grid figcaption{padding-top:23px}
.service-photo-grid figcaption .eyebrow{font-size:9px;color:#777}
.service-photo-grid h3{font-size:28px;letter-spacing:-.035em;line-height:1.15;font-weight:400;margin:12px 0 9px}
.service-photo-grid figcaption p{font-size:12px;color:#777;line-height:1.7}
@media(max-width:960px){.service-film-section{gap:7%;padding:45px 5%}.service-film-copy h2{font-size:38px}.service-photo-grid h3{font-size:25px}}
@media(max-width:640px){.service-film-section{grid-template-columns:1fr;gap:35px;padding:32px 6%}.service-film-copy h2{font-size:38px}.service-film-copy>p:not(.eyebrow){font-size:13px;max-width:none}.service-gallery-section{padding-top:45px;padding-bottom:40px}.service-photo-grid{grid-template-columns:1fr;gap:32px;margin-top:28px}.service-gallery-section .section-heading{display:block}.service-gallery-section .section-heading>p{margin-top:20px}.service-photo-grid figure.wide{grid-column:auto}.service-photo-grid figcaption{padding-top:18px}.service-photo-grid .project-zoom>span{font-size:8px;right:12px;bottom:12px}}

.commercial-details{display:grid;grid-template-columns:1fr 1fr;gap:45px 65px;padding-block:70px}.commercial-details h2{font-size:29px;letter-spacing:-1px}.commercial-details p,.area-planning p{font-size:16px;line-height:1.85;color:#777}.planning-callout{background:#f5f5f3;padding:50px;margin-bottom:90px}.planning-callout h2{font-size:35px}.planning-callout p{font-size:16px;line-height:1.8;max-width:760px;margin:20px 0}.area-heading{padding-top:65px;padding-bottom:65px}.area-heading h1,.area-detail-hero h1,.location-visit h1{font-size:clamp(43px,5.4vw,77px);line-height:1.06;letter-spacing:-3px}.area-heading .page-lead{max-width:690px}.area-addresses{margin-bottom:70px}.area-directory{padding-bottom:80px}.area-state-grid{display:grid;grid-template-columns:2fr 1fr;gap:70px}.area-state-grid h3{font-size:26px;margin-bottom:20px}.area-state-grid section:first-child{display:grid;grid-template-columns:1fr 1fr;column-gap:35px;align-content:start}.area-state-grid section:first-child h3{grid-column:1/-1}.area-state-grid a{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #ddd;font-size:15px}.area-state-grid .state-secondary{margin-top:45px}.area-detail-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding-top:40px;padding-bottom:75px}.area-detail-hero figure{margin:0;aspect-ratio:4/5;max-height:570px;overflow:hidden}.area-detail-hero img{width:100%;height:100%;object-fit:cover}.area-planning{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;padding-bottom:70px}.area-planning h2{font-size:34px;line-height:1.15;letter-spacing:-1px;margin-bottom:22px}.area-planning aside{padding:33px;background:#f5f5f3;align-self:start}.area-planning aside h3{font-size:22px;margin-bottom:20px}.area-planning li{font-size:14px;line-height:1.7;padding:8px 0}.area-planning ul{padding-left:18px;margin-bottom:25px}.area-planning aside a{display:flex;margin:13px 0}.area-resources{border-block:1px solid #ddd;padding-block:35px;margin-bottom:60px}.area-resources h2{font-size:30px;margin-bottom:25px}.area-resources>div{display:flex;flex-wrap:wrap;gap:20px 40px}.area-related{padding-block:40px 65px}.area-related h2{font-size:25px;margin-bottom:25px}.area-related>a{margin-right:30px;margin-bottom:15px}.location-visit{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;padding-block:70px}.location-visit aside{background:#f5f5f3;padding:40px;align-self:center}.location-visit aside h2{font-size:27px}.location-visit aside p,.location-visit address{font-size:16px;line-height:1.8;margin:22px 0}.location-visit address{font-style:normal}@media(max-width:760px){.commercial-details,.area-detail-hero,.area-planning,.area-state-grid,.location-visit{grid-template-columns:1fr;gap:30px}.commercial-details{padding-block:40px}.planning-callout{padding:30px}.area-heading h1,.area-detail-hero h1,.location-visit h1{letter-spacing:-1.8px}.area-detail-hero figure{max-height:440px}.area-state-grid section:first-child{grid-template-columns:1fr 1fr;column-gap:25px}.area-planning{padding-bottom:40px}.area-heading{padding-block:40px}.location-visit{padding-block:40px}.area-related>a{display:block}.area-addresses{margin-bottom:40px}}
.reference-article{max-width:1100px;padding-top:56px;padding-bottom:100px}.reference-article .cms-prose{max-width:760px;margin-left:0}.reference-article .page-heading{max-width:900px}.reference-article .faq{margin:40px 0}.reference-links{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:42px}.thickness-guide{max-width:850px;margin:50px 0}.thickness-guide img{width:100%;height:auto;display:block}

.hardware-finishes{display:flex;flex-wrap:wrap;gap:8px}.hardware-finishes button{width:auto;height:auto;display:flex;align-items:center;gap:7px;border-radius:0;padding:8px 10px;border:1px solid #ddd}.hardware-finishes button[aria-pressed=true]{border-color:#222;background:#f1f1ee}.hardware-finishes .finish-dot{width:16px;height:16px;flex-shrink:0}.finish-name{font-size:10px;line-height:1.3}.home-products:has(>:nth-child(4)){grid-template-columns:repeat(4,1fr)}@media(max-width:850px){.home-products:has(>:nth-child(4)){grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.home-products:has(>:nth-child(4)){grid-template-columns:1fr}}

.social-film-caption{margin-top:14px;font-size:12px;color:#62625e}.social-film-caption a{display:flex;justify-content:space-between;gap:12px;color:inherit;text-decoration:none}.social-film-caption a:hover{text-decoration:underline;text-underline-offset:4px}

/* Separate project/privacy acceptance from optional SMS marketing. */
.form-consents{margin:24px 0 8px;padding-top:20px;border-top:1px solid #dededb;color:#4d4d4a}
.form-consents .form-consent{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;font-size:12px;line-height:1.65;cursor:pointer}
.form-consents .form-consent input{appearance:auto;accent-color:#111;flex:0 0 20px;width:20px;height:20px;min-height:20px;padding:0;margin:2px 0 0;border-radius:0}
.form-consents .form-consent>span{flex:1;min-width:0}
.form-consents a{text-decoration:underline;text-underline-offset:3px;color:inherit}
.form-consents strong{font-weight:600}
.form-consents .consent-optional{color:#656560}
.form-consents .consent-details{margin:0 0 16px 32px;font-size:11px;line-height:1.7;color:#62625d}
@media(max-width:760px){.form-consents .form-consent{font-size:13px}.form-consents .consent-details{font-size:12px}}

.phone-format-help{display:block;font-size:11px;font-weight:400;line-height:1.55;color:#62625d;margin-top:3px}
@media(max-width:760px){.phone-format-help{font-size:12px}}

/* Address field labels are ordinary labels, not the legacy optional hint. */
.contact-form-fields .estimate-field>span{position:static;right:auto;top:auto;margin:0;font-size:inherit;color:inherit}
