:root{--ivory:#f7f4ed;--paper:#fffdf9;--navy:#1d3444;--navy2:#283f4c;--slate:#66767c;--terra:#a96753;--sand:#e8dfd0;--line:#dedbd3;--sans:"DM Sans",Arial,sans-serif;--serif:"DM Serif Display",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--navy);font:16px/1.6 var(--sans)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400;line-height:1.08}h1,h2{font-family:var(--serif)}h1{font-size:clamp(3.2rem,6.6vw,6.8rem);letter-spacing:-.03em}h2{font-size:clamp(2.35rem,4vw,4.4rem);letter-spacing:-.025em}h3{font-size:1.5rem}p{color:#475960}a:hover{color:var(--terra)}:focus-visible{outline:3px solid #d99b6b;outline-offset:3px}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link:focus{position:fixed;z-index:300;top:10px;left:10px;background:#fff;padding:12px}
.announcement{height:36px;background:#213a47;color:#eee9df;display:flex;align-items:center;justify-content:center;gap:20px;font-size:.73rem;letter-spacing:.12em;text-transform:uppercase}.announcement a{font-weight:700;color:#fff}
.header{height:88px;padding:0 clamp(20px,4vw,70px);background:var(--paper);display:flex;align-items:center;gap:38px;position:relative;z-index:20;border-bottom:1px solid #eee9df}.brand{display:flex;gap:11px;align-items:center;color:var(--navy);font-weight:700;font-size:1.26rem;letter-spacing:.13em;line-height:1.1;white-space:nowrap}.brand b{color:var(--terra)}.brand small{display:block;margin-top:5px;font-size:.46rem;letter-spacing:.2em;font-weight:700}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--navy);border-radius:50%;font-family:var(--serif);font-size:2.1rem;letter-spacing:-.15em;padding-right:8px}.brand-mark span{font-size:.56rem;align-self:start;letter-spacing:0;color:var(--terra);margin:5px 0 0 1px}.nav{margin-left:auto;display:flex;align-items:center;gap:clamp(13px,1.75vw,32px)}.nav>a{font-size:.86rem;font-weight:600;white-space:nowrap}.nav .nav-cta{background:var(--navy);color:white;padding:13px 18px;border-radius:3px}.nav-cta span{margin-left:14px;color:#dcac91}.nav .nav-cta:hover,.button:hover{background:#385362;color:#fff}.locale{font-size:.78rem;font-weight:700;border-left:1px solid var(--line);padding-left:20px}.nav-toggle{display:none}
.eyebrow{display:inline-block;color:var(--terra);font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}.button,.button-outline,.button-light{border:1px solid var(--navy);padding:14px 23px;display:inline-flex;justify-content:center;align-items:center;gap:25px;background:var(--navy);color:white;border-radius:3px;line-height:1.3;font-size:.87rem;font-weight:700;transition:background .2s,transform .2s}.button:hover,.button-outline:hover,.button-light:hover{transform:translateY(-2px)}.button-outline{background:transparent;color:var(--navy)}.button-outline:hover{background:var(--navy);color:white}.button-light{background:#fff;color:var(--navy);border-color:#fff}.button-light:hover{background:var(--sand);color:var(--navy)}.text-link{font-size:.88rem;font-weight:700;border-bottom:1px solid var(--terra);padding-bottom:5px}.button-row{display:flex;gap:12px;justify-content:center}
.hero{height:min(750px,76vw);min-height:570px;position:relative;background:#52636a;display:flex;align-items:center}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 51%}.hero-shade{background:linear-gradient(90deg,rgba(13,32,42,.84),rgba(18,38,47,.58) 43%,rgba(27,48,57,.07) 85%),linear-gradient(0deg,rgba(9,25,33,.2),transparent 30%)}.hero-content{position:relative;z-index:1;color:#fff;max-width:800px;margin:0 6vw;padding:65px 0}.hero .eyebrow{color:#e6af95}.hero h1{font-size:clamp(3.8rem,6vw,6.5rem);margin-bottom:24px;line-height:1.02}.hero h1 em{font-weight:400;color:#ead8cb}.hero p{color:#f3eee7;font-size:1.15rem;max-width:520px;line-height:1.75}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:34px}.hero .button{background:#fff;color:var(--navy);border-color:#fff}.hero .button:hover{background:var(--sand)}.button-ghost{font-size:.89rem;font-weight:700;color:#fff;padding:14px 0;border-bottom:1px solid #fff}.button-ghost span{padding-left:12px}.hero-caption{position:absolute;right:25px;bottom:16px;color:#fff;background:#1f394888;font-size:.6rem;letter-spacing:.13em;padding:5px 8px}
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:22px max(5vw,25px);background:#eae3d7;gap:20px;text-align:center;color:var(--navy);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.trust-strip span+span{border-left:1px solid #cfc7b9}
.section{max-width:1400px;margin:auto;padding:100px clamp(24px,5vw,78px)}.intro-section{display:grid;grid-template-columns:1.1fr .8fr;gap:8vw;align-items:end;padding-top:110px;padding-bottom:110px}.intro-section h2{max-width:690px;margin:0}.intro-section p{font-size:1.17rem;line-height:1.85;max-width:470px;margin:0 0 10px}.section-head{max-width:730px;margin-bottom:46px}.section-head h2{margin-bottom:20px}.section-head p{font-size:1.08rem}.services-section{padding-top:24px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:var(--paper);box-shadow:0 13px 40px #22374709;overflow:hidden}.service-card>img,.service-photo img{width:100%;height:270px;object-fit:cover}.service-photo{position:relative}.service-photo span{position:absolute;bottom:0;left:0;background:#fff;padding:10px 17px;color:var(--terra);font-size:.77rem;font-weight:700}.service-copy{padding:28px 29px 30px}.service-copy small{color:var(--terra);font-size:.71rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.service-copy h3{font-family:var(--serif);font-size:2rem;margin:9px 0}.service-copy p{min-height:56px;font-size:.94rem}.service-copy a{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-top:18px;font-size:.85rem;font-weight:700}.service-copy a span{color:var(--terra)}
.studio-feature{background:#e4e8e5;display:grid;grid-template-columns:1fr 1fr;min-height:610px}.studio-feature-image{position:relative}.studio-feature-image img{height:100%;width:100%;object-fit:cover}.studio-feature-copy{padding:clamp(45px,7vw,115px);align-self:center}.studio-feature-copy h2{max-width:550px}.studio-feature-copy p{font-size:1.08rem;max-width:490px}.studio-feature-copy ol{padding-left:23px;color:#405961;margin:27px 0 30px}.studio-feature-copy li{padding:5px 0}.swatch-float{position:absolute;bottom:36px;right:35px;padding:12px 17px;background:#fff;display:flex;align-items:center;gap:5px;box-shadow:0 12px 35px #0002}.swatch-float i{width:28px;height:28px;display:inline-block}.swatch-float span{font-size:.72rem;font-weight:700;margin-left:8px}
.work-preview{padding-bottom:75px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.project-card{background:white}.project-card img{height:270px;width:100%;object-fit:cover}.project-card>div{padding:24px}.project-card small{color:var(--terra);font-size:.73rem;letter-spacing:.12em;text-transform:uppercase}.project-card h3{font-family:var(--serif);font-size:1.8rem;margin:8px 0}.project-card a{font-size:.82rem;font-weight:700}.empty-gallery{min-height:180px;border:1px solid #d8d1c5;padding:30px;display:flex;align-items:center;gap:22px;background:#f9f7f2}.empty-gallery span{font-size:3rem;color:var(--terra)}.empty-gallery p{margin:0;max-width:580px}.empty-gallery a{margin-left:auto;font-size:.85rem;font-weight:700;white-space:nowrap}.split-section{display:grid;grid-template-columns:1fr .85fr;gap:12vw;align-items:center}.split-section h2{max-width:570px}.split-section p{font-size:1.05rem;line-height:1.8}.steps{border-top:1px solid #c3c7c4}.steps>div{display:flex;align-items:center;gap:33px;padding:24px 2px;border-bottom:1px solid #c3c7c4}.steps b{color:var(--terra);font-size:.78rem}.steps span{font-family:var(--serif);font-size:1.5rem}.info-panel{background:#e9e4da;padding:45px}.info-panel h3{font-family:var(--serif);font-size:2rem}.info-panel a{font-weight:700;font-size:.88rem}
.areas-bar{background:#d8e0dc;padding:70px clamp(24px,6vw,90px);display:flex;align-items:end;gap:5vw}.areas-bar div{flex:1}.areas-bar h2{max-width:580px;margin:0}.areas-bar p{max-width:260px;margin-bottom:10px}.areas-bar a{font-size:.84rem;font-weight:700;white-space:nowrap;margin-bottom:12px}.cta-band{background:var(--navy);color:#fff;padding:74px clamp(24px,6vw,100px);display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-band .eyebrow{color:#d5a186}.cta-band h2{max-width:730px;margin-bottom:12px}.cta-band p{color:#d5dedf;max-width:560px;margin:0}.cta-band a{white-space:nowrap}
.page-title{max-width:1100px;margin:auto;padding:95px 28px 58px;text-align:center}.page-title h1{font-size:clamp(3rem,5.4vw,5.5rem);margin-bottom:20px}.page-title p{max-width:670px;margin:0 auto;font-size:1.1rem}.page-hero{min-height:600px;display:grid;grid-template-columns:1fr 1fr;background:#e8e5db}.page-hero>div{padding:clamp(55px,7vw,110px);align-self:center}.page-hero h1{font-size:clamp(3rem,4.5vw,5rem)}.page-hero p{font-size:1.11rem;line-height:1.8;max-width:570px}.page-hero img{width:100%;height:100%;max-height:720px;object-fit:cover}.page-hero.compact{min-height:520px}.service-hero{background:#e7e8e2}.simple-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.simple-grid>*{background:#fff;padding:28px;border:1px solid #e3ddd4}.simple-grid h3{font-family:var(--serif);font-size:1.7rem}.simple-grid span{font-size:.84rem;font-weight:700}.narrow{max-width:1040px}.large{font-size:1.25rem}.area-directory>div{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-bottom:55px}.city-card{min-height:180px;background:#fff;padding:25px;display:flex;flex-direction:column;justify-content:space-between}.city-card small{color:var(--terra);text-transform:uppercase;font-size:.7rem;letter-spacing:.12em}.city-card strong{font-family:var(--serif);font-size:1.8rem;font-weight:400}.city-card span{font-size:.75rem;font-weight:700}.inspiration-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px}.inspiration-grid img{width:100%;height:300px;object-fit:cover}.gallery-section{padding-top:40px}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding-top:35px}.article-grid article{background:#fff;padding:37px;min-height:350px;display:flex;flex-direction:column}.article-grid small{color:var(--terra);text-transform:uppercase;letter-spacing:.13em}.article-grid h2{font-size:2.15rem;margin:16px 0}.article-grid a:last-child{margin-top:auto;font-size:.83rem;font-weight:700}.article-page{max-width:820px;margin:75px auto 100px;padding:0 26px}.article-page>a{display:block;font-size:.85rem;margin-bottom:65px}.article-page h1{font-size:clamp(3rem,5vw,5.5rem)}.article-page .lead{font-size:1.35rem;color:var(--slate);margin-bottom:45px}.article-body{font-size:1.08rem;line-height:1.9}.article-body p{margin-bottom:25px}.article-end{margin-top:50px;padding-top:30px;border-top:1px solid var(--line)}.legal-page{max-width:850px;padding:80px 28px 110px;margin:auto}.legal-page h1{font-size:4rem}.legal-page h2{font-size:2rem;margin-top:45px}.legal-page p{font-size:1.05rem;line-height:1.8}
.estimate-layout{max-width:1220px;margin:0 auto 110px;padding:0 26px;display:grid;grid-template-columns:1.5fr .7fr;gap:55px;align-items:start}.estimate-card{background:#fff;padding:46px;box-shadow:0 20px 60px #2237470a}.form-progress{font-size:.75rem;letter-spacing:.17em;text-transform:uppercase;color:var(--terra);font-weight:700;margin-bottom:25px}.form-step{border:0;padding:0;margin:0}.form-step legend{font-family:var(--serif);font-size:2.45rem;line-height:1.2;margin-bottom:30px}.form-step[hidden]{display:none}.form-step label:not(.check){display:block;font-size:.86rem;font-weight:700;margin-bottom:20px}.form-step input:not([type=radio]):not([type=checkbox]),.form-step select,.form-step textarea{display:block;width:100%;border:1px solid #c6cac7;background:#fff;padding:13px;margin-top:7px;min-height:49px;border-radius:2px;color:var(--navy)}.form-step input:focus,.form-step textarea:focus{border-color:var(--terra)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 19px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.choice-grid label{margin:0!important}.choice-grid input{position:absolute;opacity:0}.choice-grid span{display:block;border:1px solid #cbd0cd;padding:24px 18px;height:110px;font-family:var(--serif);font-size:1.5rem}.choice-grid small{display:block;font:400 .75rem/1.5 var(--sans);color:var(--slate)}.choice-grid input:checked+span{border:2px solid var(--navy);background:#f2f3ee}.choice-grid input:focus-visible+span{outline:3px solid var(--terra)}.form-actions{display:flex;justify-content:space-between;gap:15px;margin-top:30px}.form-actions button:last-child{margin-left:auto}.form-message{min-height:20px;color:#963e30;font-weight:600}.honeypot{position:absolute;left:-9999px}.check{display:flex;gap:10px;margin:22px 0;font-size:.85rem;line-height:1.5}.check input{flex:none;margin-top:4px}.check a{text-decoration:underline}.attached-design{background:#e7efe8;padding:12px;margin:18px 0}.estimate-aside{padding-top:25px}.estimate-aside h2{font-size:2.8rem}.estimate-aside a{font-weight:700}.estimate-aside hr{border:0;border-top:1px solid var(--line);margin:30px 0}.phone-link{font-family:var(--serif);font-size:2rem}.estimate-aside small{display:block;margin-top:15px;color:var(--slate)}
.studio-title{padding-bottom:46px}.studio-app{max-width:1540px;margin:0 auto 100px;padding:0 26px}.studio-top{background:#e3e9e5;display:flex;justify-content:space-between;align-items:center;padding:13px 18px}.studio-top button{border:0;background:transparent;padding:11px 17px;font-size:.82rem;font-weight:700}.studio-top button.active{background:#fff;color:var(--navy);box-shadow:0 2px 8px #0001}.studio-top>span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}.studio-layout{display:grid;grid-template-columns:340px minmax(0,1fr);background:#fff;min-height:670px;border:1px solid var(--line)}.studio-sidebar{padding:26px 22px;border-right:1px solid var(--line);max-height:760px;overflow-y:auto}.studio-sidebar h2{font:400 1.4rem var(--serif);margin-bottom:15px}.studio-sidebar hr{border:0;border-top:1px solid var(--line);margin:25px 0}.studio-filters,.tool-row{display:flex;gap:7px;margin:0 0 15px}.studio-filters button,.tool-row button,.studio-controls button:not(.button){border:1px solid #cbd1ce;background:#fff;padding:8px 10px;font-size:.78rem;font-weight:700}.studio-filters button.selected,.tool-row button.active{background:var(--navy);color:#fff}.sample-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:243px;overflow-y:auto}.sample-grid button{padding:0;border:2px solid transparent;background:#f4f2ed;text-align:left;font-size:.67rem;line-height:1.25}.sample-grid button.active{border-color:var(--terra)}.sample-grid img{width:100%;height:69px;object-fit:cover}.sample-grid span{display:block;padding:6px}.surface-list{display:flex;flex-wrap:wrap;gap:7px}.surface-list button{border:1px solid #cbd1ce;background:#fff;padding:8px 10px;font-size:.78rem}.surface-list button.active{background:#e1e9e5;border-color:#3d605a}.small-label{display:block;font-size:.8rem;font-weight:700;margin:17px 0 10px}.small-label input[type=range]{width:100%}.small-label input[type=color]{display:block;width:80px;height:40px;padding:2px;border:1px solid var(--line);margin-top:7px}.microcopy{font-size:.76rem!important;color:#637478!important;line-height:1.5!important}.studio-sidebar select{width:100%;padding:9px;border:1px solid var(--line);background:#fff}.color-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:16px}.color-swatches button{height:44px;border:2px solid #fff;box-shadow:0 0 0 1px #c8c8c2;position:relative}.color-swatches button.active{box-shadow:0 0 0 3px var(--navy)}.color-swatches button span{position:absolute;left:-10000px}.text-button{border:0;background:none;color:var(--terra);font-weight:700;padding:6px 0}.upload-target{display:block;background:#eef1ee;border:1px dashed #9aaba7;padding:25px 16px;text-align:center;font-weight:700;font-size:.9rem}.upload-target input{display:block;margin:13px auto 0;max-width:100%;font-size:.77rem}.studio-main{padding:25px 25px 10px;min-width:0}.canvas-wrap{width:100%;aspect-ratio:16/9;background:#f1f2ef;display:grid;place-items:center;position:relative;overflow:hidden;touch-action:none}.canvas-wrap canvas{max-width:100%;max-height:100%;object-fit:contain;touch-action:none}.canvas-placeholder{position:absolute;text-align:center;color:var(--slate)}.studio-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px}.studio-controls>div{display:flex;flex-wrap:wrap;gap:7px}.studio-controls button:not(.button){border:0;border-bottom:1px solid #cbd1ce}.button-small{padding:10px 14px;font-size:.77rem}.preview-disclaimer{font-size:.74rem;color:#6b7776;margin:18px 0 4px}.studio-main #studio-message{font-size:.82rem;font-weight:700;color:#42635a}.studio-main #studio-message:empty{display:none}
.footer{background:#172e3a;color:#fff;padding:75px clamp(24px,6vw,90px) 24px}.footer p,.footer a{color:#c4d0d0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:55px;max-width:1450px;margin:auto}.footer-grid>div:not(:first-child) a{display:block;margin:9px 0;font-size:.87rem}.footer h3{font:400 1.42rem var(--serif);margin:0 0 22px}.footer-brand{font-size:1.45rem;letter-spacing:.14em;font-weight:700;margin-bottom:25px}.footer-brand span{display:block;font:italic 1rem var(--serif);letter-spacing:0;color:#d5a994;margin-top:4px}.footer-grid p{font-size:.88rem}.footer-contact{font-family:var(--serif);font-size:1.65rem!important;color:white!important}.footer-bottom{display:flex;justify-content:space-between;max-width:1450px;margin:70px auto 0;border-top:1px solid #44606a;padding-top:23px;color:#a7b7ba;font-size:.75rem}.cookie-panel{position:fixed;z-index:100;right:20px;bottom:20px;width:min(420px,calc(100vw - 40px));background:white;box-shadow:0 12px 40px #0003;padding:24px;border:1px solid var(--line)}.cookie-panel[hidden]{display:none}.cookie-panel p{font-size:.85rem}.cookie-panel button{border:1px solid var(--navy);background:var(--navy);color:#fff;padding:8px 12px;margin-right:8px;font-size:.78rem}.cookie-panel button:last-child{background:#fff;color:var(--navy)}
.admin-body{max-width:1200px;margin:35px auto 90px;padding:0 24px}.admin-nav{background:#182e3b;color:white;padding:15px 25px;display:flex;gap:22px;align-items:center;flex-wrap:wrap}.admin-nav a{font-size:.85rem;color:white}.admin-nav a:first-child{font-weight:700;margin-right:auto}.admin-card{background:#fff;padding:30px;margin:25px 0}.admin-card h1{font-size:2.8rem}.admin-card table{width:100%;border-collapse:collapse;font-size:.86rem}.admin-card th,.admin-card td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}.admin-card input,.admin-card textarea,.admin-card select{width:100%;padding:10px;border:1px solid #bec7c5;margin:5px 0 15px}.admin-card label{display:block}.admin-card input[type=checkbox]{width:auto}.admin-card button{border:0;background:var(--navy);color:white;padding:10px 15px}.admin-card .danger{background:#8d4236}.admin-card .row{display:flex;gap:15px}.admin-card .row>*{flex:1}.admin-card pre{white-space:pre-wrap;overflow-wrap:anywhere}.admin-card img{max-height:220px}
@media(max-width:1050px){.header{gap:15px}.nav{gap:14px}.nav>a{font-size:.75rem}.brand{font-size:1rem}.brand-mark{width:38px;height:38px}.studio-layout{grid-template-columns:290px 1fr}.studio-controls{align-items:flex-start;flex-direction:column}.area-directory>div{grid-template-columns:repeat(3,1fr)}.footer-grid{gap:25px}}
@media(max-width:760px){h1{font-size:3.5rem}.announcement{font-size:.65rem}.header{height:72px;padding:0 18px}.nav-toggle{display:block;margin-left:auto;background:none;border:0;color:var(--navy);font-weight:700}.nav-toggle span{margin-left:5px}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:20px 24px;flex-direction:column;align-items:stretch;box-shadow:0 10px 20px #0002}.nav.open{display:flex}.nav>a{font-size:.94rem;padding:8px}.locale{border:0;padding-left:8px}.hero{height:680px;min-height:0;align-items:end}.hero-image img{object-position:54% center}.hero-shade{background:linear-gradient(0deg,rgba(14,33,44,.94),rgba(14,33,44,.6) 50%,rgba(14,33,44,.08))}.hero-content{margin:0 24px;padding:25px 0 80px}.hero h1{font-size:clamp(3rem,10vw,4.8rem)}.hero p{font-size:.98rem}.hero-caption{font-size:.51rem;right:8px;bottom:6px}.hero-actions{flex-wrap:wrap;gap:16px}.trust-strip{grid-template-columns:1fr 1fr;gap:0;padding:15px}.trust-strip span{border:0!important;padding:10px;font-size:.66rem}.section{padding:65px 23px}.intro-section,.split-section,.studio-feature,.page-hero,.estimate-layout{grid-template-columns:1fr;gap:30px}.intro-section{padding-top:70px}.section-head{margin-bottom:25px}.service-grid,.project-grid,.simple-grid,.article-grid{grid-template-columns:1fr}.service-card>img,.service-photo img{height:250px}.service-copy p{min-height:0}.studio-feature-image{height:360px}.studio-feature-copy{padding:42px 25px 60px}.areas-bar{display:block;padding:60px 24px}.areas-bar p{margin:20px 0}.cta-band{display:block;padding:60px 24px}.cta-band a{margin-top:25px}.page-hero>div{padding:65px 25px 25px}.page-hero img{height:320px}.page-title{padding:70px 25px 35px}.page-title h1{font-size:3.4rem}.estimate-layout{padding:0 16px;margin-bottom:70px}.estimate-card{padding:27px 21px}.estimate-aside{padding:20px}.choice-grid{grid-template-columns:1fr}.choice-grid span{height:auto;padding:13px}.field-grid{grid-template-columns:1fr}.area-directory>div{grid-template-columns:1fr 1fr}.city-card{min-height:150px}.inspiration-grid{grid-template-columns:1fr}.inspiration-grid img{height:250px}.empty-gallery{display:block}.empty-gallery a{display:block;margin:15px 0 0}.studio-app{padding:0 10px;margin-bottom:60px}.studio-top{display:block}.studio-top>span{display:none}.studio-layout{display:flex;flex-direction:column}.studio-main{order:0;padding:13px}.studio-sidebar{order:1;max-height:none;border:0;border-top:1px solid var(--line)}.canvas-wrap{aspect-ratio:4/3}.studio-controls{gap:12px}.studio-controls>div{justify-content:flex-start}.sample-grid{grid-template-columns:repeat(3,1fr);max-height:230px}.footer{padding:55px 24px 25px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{margin-top:35px}.admin-card{overflow-x:auto}}
@media(max-width:420px){.brand{font-size:.85rem}.brand-mark{width:34px;height:34px;font-size:1.7rem}.brand small{font-size:.4rem}.hero-actions .button{width:100%}.hero h1{font-size:3rem}.area-directory>div{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.sample-grid{grid-template-columns:1fr 1fr}.studio-controls button:not(.button){font-size:.7rem;padding:7px}.announcement{gap:7px;letter-spacing:.04em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.studio-sidebar .tool-row{flex-wrap:wrap}
.studio-sidebar #color-search{display:block;width:100%;margin-top:9px;padding:9px;border:1px solid var(--line);background:#fff}
.color-comparison{display:flex;gap:7px;margin:12px 0;font-size:.66rem;color:var(--slate)}
.color-comparison span{display:flex;align-items:center;gap:5px}
.color-comparison i{display:inline-block;width:18px;height:18px;border:1px solid #aaa}
.favorite-colors{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px}
.favorite-colors button{width:28px;height:28px;border:1px solid #9caba8}
.faq-section details{border-top:1px solid var(--line);padding:20px 0;max-width:900px}
.faq-section details:last-child{border-bottom:1px solid var(--line)}
.faq-section summary{font-family:var(--serif);font-size:1.45rem;cursor:pointer}
.faq-section details p{margin:15px 0 0;max-width:700px}
.before-after{height:270px;position:relative;overflow:hidden}
.before-after>img,.before-after .after-image,.before-after .after-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.before-after input{position:absolute;z-index:2;left:5%;bottom:15px;width:90%;accent-color:#fff}
.before-after span,.before-after b{position:absolute;z-index:1;top:12px;background:#213a47dd;color:#fff;padding:3px 8px;font-size:.65rem;letter-spacing:.1em}
.studio-preview #studio-message{margin:10px 0 0;min-height:1.3em}
@media(max-width:760px){
  .studio-main{display:contents}
  .studio-preview{order:0;position:sticky;top:0;z-index:10;background:#fff;padding:8px 10px;border-bottom:1px solid var(--line);box-shadow:0 5px 14px #1d34441a}
  .studio-preview .canvas-wrap{aspect-ratio:16/9;max-height:min(30vh,210px)}
  .studio-preview #studio-message{font-size:.72rem;line-height:1.3;max-height:3.9em;overflow:hidden;margin:6px 3px 0}
  .studio-sidebar{order:1}
  .studio-controls{order:2;margin:0;padding:14px}
  .preview-disclaimer{order:3;margin:0;padding:0 14px 18px}
}
.before-after span{left:12px}.before-after b{right:12px}
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.gallery-filters button{border:1px solid #c9c5bb;background:#fff;padding:11px 20px;cursor:pointer;font:inherit}.gallery-filters button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.gallery-section .project-card[hidden]{display:none}.gallery-view{display:block}.gallery-dialog{width:min(94vw,1000px);max-height:94vh;padding:20px;border:0;background:#f7f4ed;box-shadow:0 20px 80px #0008}.gallery-dialog::backdrop{background:#102633df}.gallery-dialog img{max-height:80vh;width:100%;object-fit:contain}.gallery-dialog button{position:absolute;border:0;background:#fff;color:#172d38;cursor:pointer;font-size:2rem;width:44px;height:44px}.gallery-dialog .gallery-close{top:8px;right:8px}.gallery-dialog .gallery-prev{top:50%;left:8px}.gallery-dialog .gallery-next{top:50%;right:8px}
.inspiration-card{background:#fff;overflow:hidden}.inspiration-card[hidden]{display:none}.inspiration-card .gallery-view{overflow:hidden}.inspiration-grid .inspiration-card img{display:block;height:270px;transition:transform .25s ease}.inspiration-card .gallery-view:hover img{transform:scale(1.025)}.inspiration-caption{padding:20px 22px 24px}.inspiration-caption span{font-size:.69rem;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);font-weight:700}.inspiration-caption h3{font-family:var(--serif);font-size:1.65rem;line-height:1.1;margin:9px 0 4px}.inspiration-caption p{font-size:.84rem;margin:0;color:var(--slate)}@media(prefers-reduced-motion:reduce){.inspiration-card .gallery-view img{transition:none}.inspiration-card .gallery-view:hover img{transform:none}}
.brand{gap:14px;font-weight:400;letter-spacing:normal}.brand:hover{color:var(--navy)}.brand-icon{width:54px;height:54px;flex:none;border-radius:13px;box-shadow:0 4px 10px #192f3c14}.brand-type{display:block}.brand-name{display:block;font:400 1.78rem/1 var(--serif);letter-spacing:-.035em}.brand-name b{font:700 1.04rem/1 var(--sans);letter-spacing:-.015em;color:var(--terra);vertical-align:middle;margin-left:3px}.brand-type small{display:block;margin-top:8px;color:#637178;font:700 .57rem/1.15 var(--sans);letter-spacing:.13em}.footer-logo{display:flex;align-items:center;gap:14px;margin:0 0 25px}.footer-logo img{width:52px;height:52px;border:1px solid #4b6470;border-radius:13px}.footer-logo strong{display:block;font:400 1.65rem/1.1 var(--serif);letter-spacing:-.025em;color:#fff}.footer-logo strong b{font:700 .96rem var(--sans);letter-spacing:0;color:#e2a489;margin-left:4px}.footer-logo span{display:block;color:#d7b09d;font:italic .95rem var(--serif);margin-top:3px}.hero-content{max-width:750px}.hero h1{font-size:clamp(3.65rem,5.45vw,5.75rem);line-height:1.055}.hero .eyebrow::before{content:"";display:inline-block;width:25px;height:1px;background:currentColor;vertical-align:middle;margin-right:12px}.hero p{font-size:1.08rem}
@media(max-width:1050px){.brand-icon{width:47px;height:47px}.brand-name{font-size:1.52rem}.brand-type small{font-size:.47rem}.header{gap:20px}}
@media(max-width:760px){.brand-icon{width:45px;height:45px}.brand-name{font-size:1.49rem}.brand-name b{font-size:.9rem}.brand-type small{font-size:.48rem;letter-spacing:.14em}.hero h1{font-size:clamp(2.9rem,8.8vw,4.25rem)}}
@media(max-width:420px){.brand{gap:9px}.brand-icon{width:40px;height:40px}.brand-name{font-size:1.3rem}.brand-name b{font-size:.78rem;margin-left:2px}.brand-type small{display:none}.nav-toggle{font-size:0}.nav-toggle span{font-size:1.25rem}.hero h1{font-size:clamp(2.65rem,11vw,3.2rem)}}
