@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-2.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/font-4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/font-5.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#111213;--paper:#f3f4f4;--red:#df2c20;--line:#d4d5d5;--muted:#626467;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'DM Sans',Arial,sans-serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--body)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #2478d4;outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:700;line-height:.94}h2{font-size:clamp(2.8rem,5.2vw,5rem);letter-spacing:-.015em}h3{font-size:2.6rem;line-height:1}p{max-width:58ch}.skip{position:fixed;top:10px;left:10px;transform:translateY(-160%);background:white;padding:12px;z-index:100}.skip:focus{transform:none}.location-bar{height:35px;padding:0 5vw;background:var(--ink);color:#c4c6c7;display:flex;align-items:center;justify-content:space-between;font-size:.75rem;letter-spacing:.08em}.location-bar a{letter-spacing:0}.header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5}.brand{display:inline-flex;align-items:center;gap:13px}.brand-mark{font:800 3.75rem/.9 var(--display);font-style:italic;letter-spacing:-.07em}.brand-mark>span{color:var(--red)}.brand-name{font-size:.76rem;line-height:1.25;font-weight:700;letter-spacing:.025em}.header nav{display:flex;gap:36px;font-size:.875rem;font-weight:600}.header nav a:hover,.text-link:hover{color:var(--red)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:14px 26px;border:1px solid transparent;font-size:.875rem;font-weight:700;letter-spacing:.01em;transition:background .2s,color .2s;cursor:pointer}.button-red{background:var(--red);color:white}.button-red:hover{background:#bc2117}.header-call{min-height:44px;padding:10px 23px}.hero{display:grid;grid-template-columns:46% 54%;max-width:1800px;margin:auto;min-height:700px}.hero-copy{padding:51px 4vw 44px 5vw}.eyebrow{font-size:.75rem;letter-spacing:.13em;font-weight:700;line-height:1.5;display:flex;align-items:center;gap:12px}.red-line{width:28px;height:2px;background:var(--red)}h1{font-size:clamp(4.75rem,7.1vw,8.5rem);letter-spacing:-.018em;line-height:.87;margin:27px 0}h1>span{color:var(--red)}.hero-description{font-size:1rem;line-height:1.65;max-width:350px;color:#525557}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:27px}.text-link{font-size:.875rem;font-weight:700;border-bottom:1px solid #858585;line-height:1.9}.hero-phone{display:flex;gap:16px;align-items:center;margin-top:26px;font-size:.875rem;font-weight:700}.hero-phone span{font-size:.69rem;letter-spacing:.08em;color:var(--muted)}.hero-visual{background:#202526;position:relative;margin:28px 28px 28px 0;isolation:isolate;overflow:hidden}.hero-visual>img{width:100%;height:100%;position:absolute;object-position:48% 50%;filter:brightness(.81)}.hero-visual:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#000a);z-index:-0;pointer-events:none}.photo-label{position:absolute;z-index:1;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;color:white;font-size:.66rem;letter-spacing:.07em;font-weight:700}.vertical-label{position:absolute;right:15px;top:40%;writing-mode:vertical-rl;color:white;font-size:.68rem;letter-spacing:.18em;z-index:1}.hero-photo-link{position:absolute;bottom:25px;left:26px;right:26px;z-index:1;display:flex;justify-content:space-between;color:white;font-size:.875rem;border-top:1px solid #ffffff70;padding-top:17px}.hero-photo-link>span{font-size:.75rem}.service-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--red);color:white;padding:20px 5vw;font:600 clamp(1.2rem,2.4vw,2rem)/1 var(--display);letter-spacing:.025em}.service-strip span:nth-child(even){font-family:Arial;font-size:1.5rem}.visit{padding:88px 5vw;display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--ink);color:white}.visit .eyebrow{color:#b2b4b5;margin-bottom:21px}.visit p:not(.eyebrow){margin:26px 0;color:#c9cbcc}.visit-contact{align-self:center;border-left:1px solid #4c4d4e;padding-left:55px}.large-phone{font:600 clamp(2rem,4vw,3.8rem)/1 var(--display)}footer{display:flex;align-items:center;justify-content:space-between;padding:36px 5vw;gap:20px}footer>p,footer>span{font-size:.8rem;color:var(--muted)}footer .brand-mark{font-size:3rem}footer .brand-name{font-size:.65rem}@media(min-width:1650px){.hero-copy{padding-left:70px}.hero{min-height:850px}}@media(max-width:1000px){.header nav{gap:20px}.hero{min-height:680px;grid-template-columns:48% 52%}.hero-copy{padding-right:2vw}.hero-visual{margin-right:18px}.hero-actions{gap:15px}.button{padding:13px 19px}.photo-label span:last-child{display:none}.visit{gap:25px}.visit-contact{padding-left:30px}}@media(max-width:700px){html{scroll-padding-top:25px}.location-bar{font-size:.625rem;padding:0 6vw}.header{height:82px;padding:0 6vw}.header nav{display:none}.brand-mark{font-size:3.3rem}.brand-name{font-size:.66rem}.header-call{font-size:.8125rem;min-height:42px;padding:9px 17px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:35px 6vw 34px}h1{font-size:clamp(4.8rem,17vw,7rem);line-height:.9;margin:24px 0}h1 br:nth-of-type(1),h1 br:nth-of-type(3){display:none}h1>span{white-space:nowrap}.hero h1>span:last-child:before{content:' '}.hero h1{max-width:600px}.hero-visual{margin:0 5vw 24px;min-height:350px}.hero-visual>img{object-fit:cover}.hero-description{max-width:36ch}.hero-phone{margin-top:22px}.service-strip{padding:18px 6vw;flex-wrap:wrap;justify-content:center;font-size:1.35rem;gap:14px}.service-strip span:nth-last-child(-n+2){display:none}.visit{padding:60px 6vw;grid-template-columns:1fr;gap:40px}.visit-contact{border-left:0;border-top:1px solid #4c4d4e;padding:30px 0 0}.large-phone{font-size:2.5rem}footer{flex-wrap:wrap;padding:28px 6vw}footer>p{display:none}footer>span{font-size:.75rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* AFTER HOURS / DB. The shop is the showroom. */
:root{--ink:#f0f0ed;--paper:#0c0d0f;--red:#f04030;--line:#2e3033;--muted:#aaaeb4;color-scheme:dark}body{background:#0c0d0f;color:#f0f0ed}.location-bar{background:#08090a;color:#b0b1b6;border-bottom:1px solid #282a2d;height:33px}.header{background:#0c0d0f;color:white;border-bottom:1px solid #292b2d;height:99px}.brand-mark{font-size:4.1rem}.brand-name{letter-spacing:.05em;color:#c1c3c7}.header nav{font-size:.8rem;letter-spacing:.04em}.header-call{background:transparent;border:1px solid #696a6c;color:white}.header-call:hover{background:var(--red);border-color:var(--red)}.hero{min-height:740px;grid-template-columns:43% 57%;position:relative;max-width:1800px;overflow:hidden}.hero-copy{padding:52px 0 52px 5vw;position:relative;z-index:2}.hero .eyebrow{font-size:.7rem;color:#b5b7bc}.red-line{height:3px;width:24px}.hero h1{font-size:clamp(6rem,8.45vw,10rem);line-height:.835;font-weight:800;letter-spacing:-.025em;margin:32px 0 25px}.hero h1>span{color:var(--red)}.hero h1>span:last-child{color:transparent;-webkit-text-stroke:1.4px var(--red)}.hero-description{color:#c0c3c7;max-width:29ch;font-size:.97rem}.hero-actions{margin-top:28px}.hero .text-link{color:#e0e1e2;border-color:#777;font-weight:500}.hero-phone{color:#e0e0e0;margin-top:25px}.hero-phone span{color:#9a9da2}.button-red{color:#fff;background:#ca3023}.button-red:hover{background:#e74735}.hero-visual{margin:0;background:radial-gradient(ellipse at 70% 20%,#303235 0%,#1b1d20 32%,#111316 65%,#0c0d0f 90%);min-width:0;overflow:hidden;position:relative}.hero-visual:after{display:none}.hero-monogram{position:absolute;font:800 clamp(20rem,41vw,48rem)/1 var(--display);letter-spacing:-.08em;right:4%;top:2%;color:transparent;-webkit-text-stroke:1px #53565a60;transform:skew(-8deg);pointer-events:none;user-select:none}.hero-image-frame{position:absolute;left:3%;right:0;top:22%;bottom:18%;clip-path:polygon(10% 0,100% 0,100% 100%,0 100%);border-bottom:4px solid var(--red);background:#25272a;box-shadow:0 15px 50px #0008}.hero-image-frame>img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;filter:saturate(.82) contrast(1.06)}.photo-label{top:44px;left:35px;right:5vw;color:#d9dade;font-size:.68rem;letter-spacing:.12em}.photo-label:before{content:'';position:absolute;top:28px;left:0;right:0;height:1px;background:linear-gradient(90deg,#6668,#6660)}.vertical-label{right:20px;top:42%;color:white;text-shadow:0 2px 8px #000;font-size:.65rem}.hero-caption{position:absolute;left:6%;right:5vw;bottom:7%;display:flex;align-items:center;justify-content:space-between;gap:16px}.hero-caption .eyebrow{color:#92959b;font-size:.64rem;margin-bottom:9px}.hero-caption p{font:600 2rem/1 var(--display)}.hero-next{background:transparent;color:#e2e2e2;border:0;display:flex;align-items:center;gap:13px;font-size:.65rem;letter-spacing:.08em;padding:10px 0}.hero-next>span:first-child{color:#8e9199}.next-symbol{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #67696d;border-radius:50%;font-size:1.4rem;transition:transform .25s,border-color .25s}.hero-next:hover .next-symbol{transform:rotate(90deg);border-color:var(--red)}.service-strip{background:#ec3b29;color:#08090a;min-height:76px;padding:21px 5vw;letter-spacing:.045em;transform:rotate(-1deg) scale(1.012);position:relative;z-index:2;margin:0 0 8px;font-weight:700;box-shadow:0 10px 35px #0003}.service-strip span:nth-child(even){font-size:1.3rem}.section{padding:105px 5vw;max-width:1800px;margin:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:48px}.section-heading .eyebrow,.project-intro>.eyebrow,.faq .eyebrow{color:var(--red);margin-bottom:23px}.section-heading>p{max-width:32ch;color:#a4a7ad;font-size:.94rem;line-height:1.65}.section h2{font-size:clamp(3.5rem,5.8vw,6rem);font-weight:700;line-height:.94}.service-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #35373b}.service-card{padding:36px 42px 42px;position:relative;overflow:hidden;background:linear-gradient(135deg,#1b1d20,#141619)}.service-card+.service-card{border-left:1px solid #35373b}.service-number{display:flex;align-items:center;gap:18px;color:var(--red);font:600 1.5rem/1 var(--display);margin-bottom:48px}.service-number span{font:.64rem/1.4 var(--body);letter-spacing:.12em;color:#a5a8ad}.service-card h3{font-size:clamp(2.75rem,4vw,4.5rem);margin-bottom:19px}.service-card p{color:#aeb1b7;font-size:.9375rem;max-width:40ch;position:relative;z-index:1}.service-card ul{list-style:none;padding:0;margin:25px 0 34px;position:relative;z-index:1}.service-card li{padding:8px 0;border-bottom:1px solid #34363a;font-size:.8125rem;max-width:36ch;color:#d3d5d7}.service-card li:before{content:'+';color:var(--red);margin-right:12px}.service-card .text-link{position:relative;z-index:1;color:#eee;font-size:.8125rem;border-bottom:1px solid #84878c}.audio-card{background:linear-gradient(135deg,#19191a,#211714)}.equalizer{display:flex;align-items:flex-end;height:100px;position:absolute;right:18px;bottom:0;gap:5px;opacity:.19;transform:skew(-12deg)}.equalizer i{width:9px;background:var(--red);height:36%}.equalizer i:nth-child(2n){height:58%}.equalizer i:nth-child(3n){height:75%}.equalizer i:nth-child(5n){height:95%}.equalizer i:nth-child(7n){height:26%}.work{padding-top:12px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #36383d;padding-bottom:21px;margin-bottom:26px}.gallery-filters{display:flex;gap:8px}.filter{border:1px solid #393b40;background:transparent;color:#b4b6bb;padding:10px 20px;font-size:.8125rem;transition:background .2s,color .2s}.filter.active{background:#ececea;color:#111;border-color:#ececea}.filter:hover{border-color:#eee;color:#eee}.filter.active:hover{color:#111}.gallery-toolbar>span{font-size:.75rem;letter-spacing:.06em;color:#8e939a}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.gallery-item{position:relative;padding:0;border:1px solid #33363a;background:#16181b;text-align:left;overflow:hidden;color:white;min-width:0}.gallery-item[hidden]{display:none}.gallery-item img{width:100%;height:auto;aspect-ratio:4/3;transition:transform .4s,filter .4s;filter:saturate(.8);object-fit:cover}.gallery-item:hover img{transform:scale(1.04);filter:saturate(1)}.gallery-item>span{display:block;position:relative;background:#17191c;padding:20px 20px 21px;border-top:2px solid transparent;transition:border-color .2s}.gallery-item:hover>span{border-color:var(--red)}.gallery-item b{font:600 1.6rem/1 var(--display);display:block;padding-right:20px}.gallery-item small{font-size:.62rem;letter-spacing:.14em;color:#9a9ea5;display:block;margin-top:10px}.gallery-item em{position:absolute;right:19px;top:20px;font-size:1.25rem;font-style:normal;color:var(--red)}.source-note{font-size:.75rem;color:#898e96;margin-top:20px}.source-note a{color:#aaaeb5;text-decoration:underline;text-underline-offset:3px}.review-band{display:grid;grid-template-columns:1fr 2fr;gap:35px;padding:58px 8vw;background:#202225;border-top:1px solid #3a3c3e;border-bottom:1px solid #3a3c3e;position:relative}.review-band .eyebrow{color:#abafb4;font-size:.69rem}.quote-mark{display:block;font:11rem/.9 Georgia,serif;color:var(--red);margin-top:16px;height:90px}.review-band blockquote{margin:0}.review-band blockquote p{font:500 clamp(2.1rem,3.5vw,3.7rem)/1.1 var(--display);max-width:28ch}.review-band cite{font-style:normal;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:18px;margin-top:27px;color:#f0f0ef}.review-band cite span{color:#aaaeb4;font-size:.75rem;font-weight:400}.review-band blockquote>a{font-size:.7rem;color:#aeb0b4;text-decoration:underline;margin-top:12px;display:inline-block}.project{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:radial-gradient(ellipse at 10% 50%,#2b15132e,transparent 60%)}.project-intro>p:not(.eyebrow){color:#aeb0b5;max-width:37ch;margin-top:25px;font-size:.9375rem}.steps{list-style:none;padding:0;margin:35px 0}.steps li{display:flex;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #313339;font-size:.875rem;max-width:370px;color:#d2d4d7}.steps span{font-family:var(--display);color:var(--red);font-size:1.25rem}.project-intro .text-link{color:#d2d4d7;font-size:.8125rem}.project-form{padding:37px;background:#1a1c1f;border-top:3px solid var(--red);align-self:start;box-shadow:0 24px 70px #0003}.project-form fieldset{padding:0;border:0;margin:0 0 27px}.project-form legend,.project-form>label{font-size:.875rem;font-weight:500;margin-bottom:12px;display:block}.service-choices{display:grid;grid-template-columns:1fr 1fr .75fr;gap:8px}.service-choices label{cursor:pointer;position:relative}.service-choices input{position:absolute;opacity:0;width:1px;height:1px}.service-choices span{display:flex;justify-content:center;padding:12px 5px;font-size:.8rem;border:1px solid #484b50;color:#a9acb2}.service-choices input:checked+span{background:#e6e7e4;border-color:#e6e7e4;color:#121315}.service-choices input:focus-visible+span{outline:3px solid #5ab0ff;outline-offset:3px}.project-form>input,.project-form>textarea{display:block;width:100%;border:1px solid #474a50;background:#111316;color:#f4f4f4;border-radius:0;padding:14px;font-size:.875rem;line-height:1.55;margin-bottom:24px;resize:vertical}.project-form ::placeholder{color:#8e939b;opacity:1}.project-form label>span{font-weight:400;color:#9499a2;font-size:.75rem}.project-form>.button{width:100%;font-size:.875rem}.form-note{font-size:.75rem;color:#969ba3;margin-top:15px;line-height:1.6}.message-preview{margin-top:27px;border-top:1px solid #484b50;padding-top:24px}.message-preview .eyebrow{font-size:.65rem;color:var(--red);margin-bottom:15px}#message-text{font-size:.875rem;color:#eceef0;white-space:pre-wrap;overflow-wrap:anywhere}.message-actions{display:flex;gap:15px;align-items:center;margin:20px 0 10px;flex-wrap:wrap}.button-dark{background:#e7e7e4;color:#161718;font-size:.8rem;padding:10px 17px;min-height:45px}.copy-button{background:none;border:0;border-bottom:1px solid #7a7d84;padding:3px 0;color:#e0e0e0;font-size:.8rem}.message-preview small,#copy-status{font-size:.75rem;color:#aeb2b8}#copy-status:empty{display:none}#copy-status:not(:empty){margin:12px 0}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:50px;padding-top:10px;padding-bottom:105px}.faq-list{border-top:1px solid #42454a}.faq details{border-bottom:1px solid #42454a;padding:22px 0}.faq summary{list-style:none;font-size:1rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font-size:1.5rem;color:var(--red);font-weight:400;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{color:#adb1b8;font-size:.875rem;line-height:1.8;margin-top:18px;max-width:62ch;padding-right:30px}.visit{background:#e63625;color:#08090a;border:0;gap:50px;padding:74px 6vw}.visit h2{font-size:clamp(3.2rem,5.6vw,5.7rem);font-weight:800}.visit .eyebrow{color:#2a1411}.visit p:not(.eyebrow){color:#261410;font-weight:500}.visit .button{background:#111315;color:#f5f5f3}.visit .button:hover{background:#292b2f}.visit-contact{border-left:1px solid #8a2018;padding-left:55px}.large-phone{font-weight:700}.hours{font-size:.875rem;padding-top:5px;margin-bottom:0}.hours>div{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #a6281d;padding:9px 0}.hours dd{margin:0}.visit .hours-note{font-size:.7rem;font-weight:400;margin-top:9px}.visit-contact>p:not(.eyebrow){margin:16px 0 25px;font-size:.875rem;max-width:40ch}footer{background:#0b0c0e;padding:36px 5vw}footer>p,footer>span{color:#9398a0}footer .brand-mark{color:#e6e7e8}footer .brand-name{color:#9398a0}.mobile-contact{display:none}.modal-open{overflow:hidden}dialog{border:1px solid #595c62;background:#111315;color:#efefef;padding:20px;max-width:min(90vw,960px);max-height:92dvh;overflow:auto;width:fit-content;box-shadow:0 40px 180px #000}dialog::backdrop{background:#000d;backdrop-filter:blur(8px)}.lightbox-header{display:flex;gap:20px;align-items:center;justify-content:space-between;margin-bottom:15px;font-size:.875rem}.close-photo{background:none;color:white;border:0;padding:8px;font-size:.8125rem}.close-photo>span{font-size:1.3rem;margin-left:8px}#large-photo{max-height:70dvh;width:auto;max-width:100%;object-fit:contain;margin:auto;min-width:min(60vw,700px)}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;margin-top:15px;font-size:.8rem;color:#b9bcc2}.lightbox-controls button{background:none;border:1px solid #575b62;color:white;padding:10px 19px;font-size:.8rem}.lightbox-controls button:hover{background:#32353a}[hidden]{display:none!important}@media(min-width:1600px){.hero{min-height:880px}.hero-copy{padding-left:75px}.hero h1{font-size:10.6rem}.hero-caption{bottom:9%}}@media(max-width:1100px){.hero{min-height:700px;grid-template-columns:46% 54%}.hero h1{font-size:8.8vw}.hero-copy{padding-right:0}.hero-image-frame{top:25%;bottom:24%}.hero-caption{bottom:11%;left:8%;right:4vw}.hero-caption p{font-size:1.6rem}.hero-next{gap:7px;font-size:.6rem}.hero-next>span:first-child{display:none}.service-card{padding:30px}.gallery{gap:15px}.gallery-item b{font-size:1.3rem}.project{gap:5vw}.project-form{padding:27px}.visit-contact{padding-left:30px}}@media(max-width:700px){.header{height:85px;padding:0 6vw}.header .brand-mark{font-size:3.6rem}.hero{display:block;min-height:0}.hero-copy{padding:37px 6vw 25px}.hero h1{font-size:clamp(5.7rem,20vw,8rem);line-height:.85;margin:26px 0 24px}.hero h1 br:nth-of-type(1),.hero h1 br:nth-of-type(3){display:block}.hero h1>span:last-child:before{content:none}.hero-description{font-size:.94rem;max-width:32ch}.hero-actions{gap:25px}.hero-visual{height:420px;margin:0;min-height:0}.hero-image-frame{top:18%;bottom:20%;left:0;right:0;clip-path:polygon(6% 0,100% 0,100% 100%,0 100%)}.hero-monogram{font-size:28rem;top:-16%;right:6%}.photo-label{top:23px;left:6vw;right:6vw;font-size:.6rem}.photo-label span:last-child{display:block}.vertical-label{font-size:.56rem;right:12px}.hero-caption{left:6vw;right:6vw;bottom:5%}.hero-caption .eyebrow{font-size:.58rem;margin-bottom:5px}.hero-caption p{font-size:1.45rem}.hero-next>span:first-child{display:block;font-size:.6rem}.hero-next{font-size:.6rem;gap:9px}.next-symbol{width:32px;height:32px}.service-strip{font-size:1.1rem;min-height:60px;gap:10px;padding:17px 4vw;flex-wrap:nowrap;white-space:nowrap;justify-content:center}.service-strip span:nth-last-child(-n+2){display:none}.service-strip span:nth-child(even){font-size:1rem}.section{padding:66px 6vw}.section h2{font-size:3.5rem}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;max-width:34ch;font-size:.875rem}.section-heading .eyebrow{margin-bottom:19px}.service-grid{grid-template-columns:1fr}.service-card+.service-card{border-left:0;border-top:1px solid #35373b}.service-card{padding:27px}.service-card h3{font-size:3.2rem}.service-number{margin-bottom:32px}.service-card ul{margin-bottom:27px}.work{padding-top:0}.gallery-toolbar{gap:10px}.gallery-filters{gap:5px}.filter{padding:9px 12px;font-size:.75rem}.gallery-toolbar>span{font-size:.625rem;white-space:nowrap}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-item>span{padding:14px 10px}.gallery-item b{font-size:1.25rem;padding-right:0;line-height:1.1}.gallery-item small{font-size:.55rem;letter-spacing:.07em;margin-top:6px}.gallery-item em{display:none}.source-note{font-size:.6875rem;line-height:1.7}.review-band{display:block;padding:40px 6vw}.review-band>div{display:flex;align-items:center;justify-content:space-between}.quote-mark{font-size:4.5rem;margin:0;height:45px}.review-band blockquote p{font-size:2.3rem;margin-top:20px}.review-band cite{display:block;margin-top:23px}.review-band cite span{display:block;margin-top:7px}.project{grid-template-columns:1fr;gap:35px}.project-form{padding:24px 20px}.project-intro>p:not(.eyebrow){max-width:42ch}.steps{margin:25px 0}.steps li{max-width:none}.service-choices span{font-size:.75rem;padding:12px 8px}.faq{grid-template-columns:1fr;gap:29px;padding-top:0}.faq h2 br{display:none}.faq h2 br:after{content:' '}.faq details{padding:21px 0}.faq summary{font-size:.9375rem}.faq details p{padding-right:0}.visit{padding:55px 6vw;grid-template-columns:1fr;gap:30px}.visit h2{font-size:3.7rem}.visit-contact{padding:30px 0 0;border-left:0;border-top:1px solid #942219}.large-phone{font-size:3rem}.hours{max-width:none}.mobile-contact{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1.25fr;background:#101113;border-top:1px solid #4b4d52;padding-bottom:env(safe-area-inset-bottom);z-index:6}.mobile-contact a{font-size:.8125rem;font-weight:600;text-align:center;padding:16px 10px;color:#eee}.mobile-contact a:last-child{background:#ca3023}.mobile-contact a:focus-visible{outline-offset:-5px}footer{padding-bottom:95px}dialog{max-width:95vw;padding:12px;max-height:90dvh}.lightbox-header{font-size:.75rem;gap:12px}.close-photo{font-size:.75rem}.lightbox-controls button{padding:10px 14px}#large-photo{min-width:0;width:100%}}@media(max-width:380px){.hero h1{font-size:20vw}.hero-phone{gap:9px;font-size:.8rem}.hero-actions{gap:18px}.hero-actions .button{padding:13px 18px}.service-strip{font-size:.93rem;gap:8px}.photo-label span:last-child{display:none}.gallery{grid-template-columns:1fr}.service-choices span{font-size:.72rem}}
/* Keep decorative angles within the viewport and core reading text comfortably sized. */
body{overflow-x:clip}.service-card p,.section-heading>p,.project-intro>p:not(.eyebrow),.faq details p,.visit-contact>p:not(.eyebrow){font-size:1rem}.filter,.hero-next,.copy-button,.mobile-contact a,.lightbox-controls button{font-size:.875rem}.hero-next>span:first-child{font-size:.75rem}.hero-next{letter-spacing:0}.faq h2 br{display:block}@media(max-width:700px){.hero-next{font-size:.75rem}.hero-next>span:first-child{font-size:.6875rem}.filter{font-size:.8125rem}.gallery-toolbar>span{font-size:.75rem}.faq h2{font-size:3.5rem}.project-form>input,.project-form>textarea{font-size:1rem}.service-choices span{font-size:.875rem}}

.service-strip{width:calc(100% - 24px);margin-left:12px;margin-right:12px;transform:rotate(-1deg)}
@media(max-width:700px){.hero h1{font-size:clamp(2.95rem,13.2vw,4.5rem);line-height:1.02;letter-spacing:-.01em;margin:24px 0 18px;white-space:nowrap}.hero h1 br:nth-of-type(1),.hero h1 br:nth-of-type(3){display:none}.hero-copy{padding:30px 6vw 26px}.hero .eyebrow{font-size:.625rem}.hero-description{font-size:1rem}.hero-actions{margin-top:22px}.hero-phone{margin-top:21px}.hero-visual{height:350px}.hero-monogram{font-size:23rem}.hero-image-frame{top:17%;bottom:21%}.service-strip{font-size:1rem;gap:8px}.photo-label{top:18px}}
@media(max-width:360px){.hero h1{font-size:12.6vw}.service-strip{font-size:.9rem}.hero-actions{gap:16px}.hero-actions .button{padding:12px 14px}}
@media(max-width:700px){.hero h1{white-space:normal}.header{height:auto;min-height:85px;padding-top:18px;padding-bottom:18px;flex-wrap:wrap;gap:12px}.header-call{margin-left:auto}.hero-phone,.hero-actions,.gallery-toolbar,.gallery-filters{flex-wrap:wrap}.service-strip{overflow:hidden}.project,.faq,.visit{grid-template-columns:minmax(0,1fr)}.project>*,.faq>*,.visit>*{min-width:0}.visit h2{font-size:clamp(3rem,12vw,3.7rem);overflow-wrap:normal}.large-phone{font-size:clamp(2.2rem,11.5vw,3rem)}.service-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.service-choices span{text-align:center}.hero-caption{flex-wrap:wrap}.hero-caption p{font-size:clamp(1.45rem,6vw,2rem)}}

/* NorthStar Digital creator credit. */
footer{flex-wrap:wrap}
.site-credit{flex:0 0 100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:12px;padding:25px 28px;background:linear-gradient(115deg,#201817,#151619 58%);border:1px solid #393333;border-left:3px solid var(--red);transition:background .2s,border-color .2s}
.site-credit:hover{background:linear-gradient(115deg,#2b1b19,#191a1e 58%);border-color:#8a453b;border-left-color:var(--red)}
.site-credit-brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.site-credit-mark{width:44px;height:44px;display:block;color:var(--red)}
.site-credit-mark svg{display:block;width:100%;height:100%}
.site-credit-label{display:block;color:#aeb1b7;font-size:.625rem;font-weight:600;letter-spacing:.16em;line-height:1.5;margin-bottom:4px}
.site-credit-brand strong{display:block;color:#f0f0ed;font:700 1.65rem/1.1 var(--display);letter-spacing:.035em}
.site-credit-copy{max-width:29ch;color:#b9bcc2;font-size:.875rem;line-height:1.5}
.site-credit-action{display:flex;align-items:center;gap:16px;color:#f0f0ed;font-size:.8125rem;font-weight:700;line-height:1.5;flex-shrink:0}
.site-credit-action>span{color:var(--red);font-size:1.5rem;line-height:1}
@media(max-width:900px){.site-credit{flex-wrap:wrap;gap:20px}.site-credit-copy{margin-left:auto}.site-credit-action{flex-basis:100%;justify-content:space-between;border-top:1px solid #393333;padding-top:16px}}
@media(max-width:700px){.site-credit{padding:22px 19px;gap:18px;margin-top:8px}.site-credit-brand{gap:12px;flex-shrink:1;min-width:0}.site-credit-mark{width:35px;height:35px;flex-shrink:0}.site-credit-brand strong{font-size:1.4rem}.site-credit-copy{flex-basis:100%;margin-left:0;max-width:32ch}.site-credit-action{font-size:.8125rem}}
