@font-face{font-family:'Instrument Sans';src:url('assets/fonts/instrument-sans-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url('assets/fonts/instrument-sans-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url('assets/fonts/instrument-sans-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'DM Mono';src:url('assets/fonts/dm-mono-400.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--void:#0a0a0a;--bone:#eeeae2;--smoke:#8f8d88;--line:#343434}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--void);color:var(--bone);font-family:'Instrument Sans',sans-serif}a{color:inherit;text-decoration:none}
.tag,.label{font:10px 'DM Mono',monospace;letter-spacing:.05em;text-transform:uppercase}
.rail{position:fixed;z-index:60;inset:0 auto 0 0;width:52px;overflow:hidden;transition:width .35s ease;background:#fff;color:#000;mix-blend-mode:difference;backdrop-filter:none;-webkit-backdrop-filter:none}.rail.open{width:min(300px,86vw);background:transparent;color:var(--void);mix-blend-mode:normal;backdrop-filter:none;-webkit-backdrop-filter:none}.rail button,.rail-mark{position:absolute;z-index:2;color:#000;mix-blend-mode:normal}.rail button{top:20px;left:14px;width:25px;height:25px;border:0;background:transparent;padding:0;cursor:pointer}.rail button:focus-visible{outline:1px solid currentColor;outline-offset:4px}.rail i{position:absolute;left:0;width:22px;height:1px;background:currentColor;transition:.25s}.rail i:nth-child(1){top:7px}.rail i:nth-child(2){top:13px}.rail i:nth-child(3){top:19px}.rail.open .rail-mark,.rail.open button{color:var(--void);mix-blend-mode:normal}.rail.open button{background:transparent}.rail.open i:nth-child(1){top:13px;transform:rotate(45deg)}.rail.open i:nth-child(2){opacity:0}.rail.open i:nth-child(3){top:13px;transform:rotate(-45deg)}.rail-mark{top:92px;left:19px;writing-mode:vertical-rl;font:10px 'DM Mono',monospace;letter-spacing:.08em;white-space:nowrap}.rail-menu{position:absolute;z-index:2;left:82px;top:126px;opacity:0;transform:translateX(-12px);transition:.25s;pointer-events:none}.rail.open .rail-menu{opacity:1;transform:none;pointer-events:auto}.rail-menu a{display:block;width:max-content;color:var(--void);font-size:30px;letter-spacing:-.05em;margin-bottom:18px}.rail-menu a:last-child{margin-top:46px;margin-bottom:0;padding:15px 22px 15px 17px;background:var(--void);color:var(--bone);font:10px 'DM Mono',monospace;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--void);transition:transform .2s,background .2s}.rail-menu a:last-child:hover{background:#292929;transform:translateX(5px)}
.hero,.spread{min-height:100svh;position:relative;isolation:isolate;overflow:hidden}.hero video,.spread img,.spread video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero:after,.spread.dark:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#000c,transparent 70%)}.hero{display:flex;align-items:flex-end;padding:8vh 5vw}.hero .tag{position:absolute;top:30px;left:5vw}.hero h1{font-size:clamp(48px,7vw,105px);font-weight:400;letter-spacing:-.06em;line-height:.9;margin:0;max-width:620px}.hero p{position:absolute;right:5vw;bottom:8vh;margin:0;font-size:13px;white-space:nowrap}
.home-positioning{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:6vw;padding:8vh 5vw 9vh}.home-positioning-head h2{font-size:clamp(40px,5.5vw,78px);line-height:.9;letter-spacing:-.07em;font-weight:400;margin:18px 0 0}.home-positioning-copy{align-self:end;max-width:520px}.home-positioning-copy p{font-size:16px;line-height:1.5;max-width:500px;margin:0 0 18px}.home-positioning-copy .tag{display:block;margin-top:28px}.split{min-height:100svh;display:grid;grid-template-columns:62% 38%}.split.media-right{grid-template-columns:38% 62%}.split>img,.split>video{width:100%;height:100%;object-fit:cover;display:block}.split .copy{padding:5vw;display:flex;flex-direction:column;justify-content:flex-end}.bone{background:var(--bone);color:var(--void)}.void{background:var(--void);color:var(--bone)}.copy h2,.spread h2{font-size:clamp(36px,5vw,72px);font-weight:400;line-height:.95;letter-spacing:-.06em;margin:15px 0}.copy p,.spread p{font-size:15px;line-height:1.45;max-width:340px;margin:0}
.spread{display:flex;align-items:flex-end;padding:8vh 5vw}.spread .inside{position:relative;z-index:1;max-width:570px}.offset{min-height:100svh;background:var(--bone);color:var(--void);display:grid;grid-template-columns:30% 70%;padding-top:7vh}.offset .copy{padding:0 3vw 7vh 5vw;align-self:end}.offset img{width:100%;height:93svh;object-fit:cover}
.final-project .inside{padding-bottom:2vh}.project-cta{display:flex;align-items:center;justify-content:space-between;width:min(460px,90vw);margin-top:36px;padding:22px 24px;background:var(--bone);color:var(--void);font:13px 'DM Mono',monospace;letter-spacing:.06em;transition:transform .2s,background .2s,color .2s}.project-cta b{font:28px 'Instrument Sans';line-height:.5}.project-cta:hover{background:var(--void);color:var(--bone);transform:translateX(8px)}
.routes{min-height:70svh;display:grid;grid-template-columns:repeat(3,1fr);background:var(--void)}.routes a{padding:5vw;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;min-height:50svh}.routes b{font-size:clamp(34px,4vw,60px);font-weight:400;letter-spacing:-.06em;margin:15px 0}.routes em{font:10px 'DM Mono';font-style:normal}.footer{padding:24px 5vw;display:flex;gap:20px;justify-content:space-between;background:var(--void);border-top:1px solid var(--line);font:10px 'DM Mono';color:var(--smoke)}.footer-contact{display:grid;gap:7px;text-align:right}.footer-contact a{width:max-content;justify-self:end}
.gallery{display:grid;grid-template-columns:1fr 1fr}.gallery img,.gallery video{width:100%;height:75svh;object-fit:cover;display:block}.gallery .wide{grid-column:span 2;height:95svh}
.compact-cta{min-height:48svh;background:var(--bone);color:var(--void);padding:8vh 5vw;display:flex;flex-direction:column;justify-content:flex-end}.compact-cta h2{font-size:clamp(38px,5vw,70px);font-weight:400;letter-spacing:-.06em;line-height:.95;margin:12px 0}.compact-cta a{display:inline-flex;align-items:center;min-height:52px;width:max-content;padding:0 18px;background:var(--void);color:var(--bone);font:12px 'DM Mono';text-transform:uppercase;letter-spacing:.07em;margin-top:10px;transition:transform .2s,background .2s}.compact-cta a:hover{background:#333;transform:translateX(6px)}
.quote{min-height:100svh;background:var(--bone);color:var(--void);padding:12vh 15vw 8vh}.quote h1{font-size:clamp(50px,8vw,110px);line-height:.88;letter-spacing:-.07em;font-weight:400;margin:20px 0}.quote .note{max-width:500px;line-height:1.5}.form{max-width:540px;margin-top:45px}.form div{position:relative;padding:16px 0;border-bottom:1px solid #aaa}.form label{display:block;font:10px 'DM Mono';text-transform:uppercase;margin-bottom:12px;color:#555}.form input,.form textarea,.form select{width:100%;border:0;background:transparent;font:18px 'Instrument Sans';outline:none}.form input,.form textarea{padding:10px 0}.form textarea{border:1px solid #777;padding:12px}.form select{appearance:none;padding:12px 40px 12px 0;border-bottom:1px solid #777;background-image:linear-gradient(45deg,transparent 50%,#111 50%),linear-gradient(135deg,#111 50%,transparent 50%);background-position:calc(100% - 13px) 52%,calc(100% - 8px) 52%;background-size:5px 5px;background-repeat:no-repeat}.form>button{background:var(--void);color:var(--bone);border:0;padding:16px 18px;margin-top:20px;font:10px 'DM Mono';cursor:pointer}.toast{min-height:24px;margin-top:20px}.process{background:var(--void);color:var(--bone);padding:10vh 5vw}.process h2{font-size:clamp(36px,5vw,70px);font-weight:400;letter-spacing:-.06em}.step{display:grid;grid-template-columns:90px 1fr 360px;gap:20px;border-top:1px solid var(--line);padding:25px 0}.step b{font-size:22px;font-weight:400}.step p{margin:0;color:var(--smoke);line-height:1.5}
.about-intro{height:88svh;display:grid;grid-template-columns:55% 45%;grid-template-rows:minmax(0,1fr);overflow:hidden;background:var(--bone);color:var(--void)}.about-intro img{width:100%;height:100%;min-height:0;object-fit:cover}.about-intro .copy{min-height:0;padding:8vh 5vw 9vh;display:flex;flex-direction:column;justify-content:flex-end}.about-intro h1{font-size:clamp(48px,7vw,100px);line-height:.9;letter-spacing:-.07em;font-weight:400;margin:15px 0}.about-intro .copy p{max-width:330px;line-height:1.5}.about-copy{min-height:85svh;padding:12vh 16vw;background:var(--void);color:var(--bone);font-size:clamp(23px,3vw,42px);letter-spacing:-.04em;line-height:1.15}.about-copy p:last-child{font-size:16px;line-height:1.55;letter-spacing:0;color:var(--smoke);max-width:560px;margin-top:8vh}
.video-portfolio,.image-portfolio{background:var(--void)}
.video-opening{min-height:100svh;position:relative;display:flex;align-items:flex-end;padding:8vh 5vw;overflow:hidden;isolation:isolate}.video-opening:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#000d,transparent 72%)}.video-opening>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.video-opening-copy{max-width:650px}.video-opening h1{font-size:clamp(56px,9vw,140px);line-height:.86;letter-spacing:-.08em;font-weight:400;margin:18px 0}.video-opening p{font-size:14px;margin:30px 0 0}.scroll-note{position:absolute;right:5vw;bottom:8vh;font:10px 'DM Mono';text-transform:uppercase}.video-wayfinding{display:grid;grid-template-columns:minmax(0,28fr) minmax(0,42fr) minmax(0,30fr);gap:3vw;align-items:end;background:var(--bone);color:var(--void);padding:11vh 5vw}.video-wayfinding h2{font-size:clamp(42px,6vw,88px);font-weight:400;letter-spacing:-.07em;line-height:.88;margin:0}.video-wayfinding p{max-width:300px;line-height:1.5;margin:0}.video-chapter{height:100svh;min-height:0;display:grid;grid-template-columns:56% 44%;grid-template-rows:minmax(0,1fr);align-items:stretch;overflow:hidden}.video-chapter.chapter-reverse{grid-template-columns:44% 56%}.chapter-media{min-width:0;min-height:0;overflow:hidden}.chapter-media video{width:100%;height:100%;object-fit:cover;display:block}.chapter-copy{padding:6vw;display:flex;flex-direction:column;justify-content:flex-end}.chapter-copy h2{font-size:clamp(40px,5.5vw,82px);line-height:.9;letter-spacing:-.07em;font-weight:400;margin:18px 0}.chapter-copy p{max-width:290px;line-height:1.45;margin:0}.chapter-bone{background:var(--bone);color:var(--void)}.chapter-dark{background:var(--void);color:var(--bone)}.chapter-reverse .chapter-media{grid-column:2}.chapter-reverse .chapter-copy{grid-column:1;grid-row:1}
.image-opening{min-height:100svh;background:var(--bone);color:var(--void);display:grid;grid-template-columns:50% 50%;position:relative;overflow:hidden}.image-opening-copy{padding:10vh 4vw 12vh 8vw;display:flex;flex-direction:column;justify-content:flex-end}.image-opening h1{font-size:clamp(56px,8vw,125px);line-height:.84;letter-spacing:-.08em;font-weight:400;margin:18px 0}.image-opening p{max-width:240px;line-height:1.45;margin:0}.opening-image{padding:7vh 5vw 0 0}.opening-image img{width:100%;height:93svh;object-fit:cover;display:block}.image-opening .scroll-note{position:absolute;left:8vw;bottom:4vh;font:10px 'DM Mono';text-transform:uppercase}.image-statement{background:var(--void);color:var(--bone);padding:14vh 14vw;display:grid;grid-template-columns:minmax(0,28fr) minmax(0,42fr) minmax(0,30fr);gap:3vw;align-items:end}.image-statement h2{font-size:clamp(42px,6vw,88px);font-weight:400;letter-spacing:-.07em;line-height:.88;margin:0}.image-statement p{max-width:290px;line-height:1.5;margin:0}.image-plate{min-height:100svh;display:grid;grid-template-columns:62% 38%;align-items:stretch}.plate-image{overflow:hidden}.plate-image img{width:100%;height:100%;object-fit:cover;display:block}.plate-caption{padding:6vw;display:flex;flex-direction:column;justify-content:flex-end}.plate-caption h2{font-size:clamp(42px,5.5vw,82px);line-height:.9;letter-spacing:-.07em;font-weight:400;margin:18px 0}.plate-caption p{max-width:280px;line-height:1.45;margin:0}.plate-offset{grid-template-columns:38% 62%;background:var(--bone);color:var(--void)}.plate-tall{grid-template-columns:68% 32%;background:var(--bone);color:var(--void)}.image-pair{display:grid;grid-template-columns:1fr 1fr;background:var(--void);color:var(--bone);padding:10vw 5vw;gap:5vw}.image-pair figure{margin:0}.image-pair figure:nth-child(2){padding-top:15vw}.image-pair img{width:100%;height:72svh;object-fit:cover;display:block}.image-pair figcaption{padding-top:18px;display:flex;flex-direction:column;gap:12px}.image-pair b{font-size:26px;font-weight:400;letter-spacing:-.04em}.portfolio-close{min-height:55svh;padding:10vh 5vw;display:flex;flex-direction:column;justify-content:flex-end}.portfolio-close h2{font-size:clamp(42px,6vw,88px);line-height:.88;letter-spacing:-.07em;font-weight:400;margin:15px 0}.portfolio-close a{display:inline-flex;width:max-content;background:var(--void);color:var(--bone);padding:16px 18px;font:11px 'DM Mono';letter-spacing:.06em;margin-top:18px}.video-close{background:var(--bone);color:var(--void)}.video-close a{background:var(--void);color:var(--bone)}.image-close{background:var(--void);color:var(--bone)}
.video-chapter[data-ratio="portrait"]{grid-template-columns:45% 55%}.video-chapter.chapter-reverse[data-ratio="portrait"]{grid-template-columns:55% 45%}.video-chapter.chapter-reverse[data-ratio="landscape"]{grid-template-columns:56% 44%}.video-chapter[data-ratio="portrait"] .chapter-media{display:block;background:var(--void)}.video-chapter[data-ratio="portrait"] .chapter-media video{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.video-chapter[data-media-slot="video-chapter-02"] .chapter-media video{transform:scale(1.1);transform-origin:center}.video-chapter[data-ratio="square"] .chapter-media{display:flex;align-items:center;justify-content:center;background:#050505}.video-chapter[data-ratio="square"] .chapter-media video{width:min(100%,80svh);height:auto;aspect-ratio:1;object-fit:cover}.video-opening[data-ratio="portrait"]>video{width:min(100%,80svh);height:auto;aspect-ratio:4/5;left:auto;right:8vw;top:50%;transform:translateY(-50%);object-fit:cover}.video-opening[data-ratio="portrait"]:after{background:linear-gradient(90deg,#000d 0%,transparent 70%)}
@media(max-width:700px){.rail{width:48px}.rail-mark{display:none}.hero,.spread{padding-left:20px;padding-right:20px}.hero p{white-space:normal;left:20px;right:20px;bottom:30px}.home-positioning{display:block;padding:70px 20px}.home-positioning-copy{margin-top:35px}.split,.offset,.routes,.gallery,.about-intro{grid-template-columns:1fr}.split{grid-template-rows:60svh 40svh}.split.media-right .copy{grid-row:2}.split.media-right>img,.split.media-right>video{grid-row:1}.offset{grid-template-rows:42svh auto;padding:0}.offset img{height:100%;grid-row:1}.offset .copy{grid-row:2;padding:35px 20px}.gallery .wide{grid-column:auto}.gallery img,.gallery video,.gallery .wide{height:60svh}.routes a{min-height:33svh;padding:30px 20px}.quote{padding:100px 20px}.step{grid-template-columns:45px 1fr}.step p{grid-column:2}.about-intro{height:auto;min-height:0;grid-template-rows:52svh auto}.about-intro .copy{padding:45px 20px}.about-copy{padding:80px 20px}.footer{display:block;line-height:2}.footer span,.footer a{display:block}.video-wayfinding,.image-statement{display:block;padding:80px 20px}.video-wayfinding h2,.image-statement h2{margin:18px 0 28px}.video-opening,.image-opening{min-height:88svh}.video-opening{padding:30px 20px}.video-opening h1,.image-opening h1{font-size:clamp(56px,18vw,100px)}.video-opening .scroll-note,.image-opening .scroll-note{left:20px;right:auto;bottom:25px}.video-chapter,.video-chapter.chapter-reverse,.image-plate,.plate-offset,.plate-tall{display:grid;grid-template-columns:1fr;min-height:0}.chapter-media{min-height:62svh}.chapter-copy{min-height:42svh;padding:40px 20px}.chapter-reverse .chapter-media{grid-column:1;grid-row:1}.chapter-reverse .chapter-copy{grid-column:1;grid-row:2}.image-opening{display:flex;flex-direction:column}.image-opening-copy{min-height:42svh;padding:80px 20px 35px}.opening-image{padding:0 20px 20px}.opening-image img{height:58svh}.image-statement p{margin-top:30px}.plate-image{min-height:62svh}.plate-caption{min-height:42svh;padding:40px 20px}.image-pair{grid-template-columns:1fr;padding:70px 20px;gap:55px}.image-pair figure:nth-child(2){padding-top:0}.image-pair img{height:65svh}.portfolio-close{min-height:55svh;padding:70px 20px} }
@media(max-width:700px){.rail{inset:0 0 auto 0;width:100%;height:58px;overflow:visible;background:var(--void);color:var(--bone);backdrop-filter:none;-webkit-backdrop-filter:none}.rail.open{width:100%;height:100svh;background:var(--bone);color:var(--void)}.rail button{top:17px;left:auto;right:20px;color:var(--bone);mix-blend-mode:normal}.rail.open button{color:var(--void)}.rail-mark{display:block;top:21px;left:20px;writing-mode:horizontal-tb;color:var(--bone);font-size:10px;letter-spacing:.08em;mix-blend-mode:normal}.rail.open .rail-mark{color:var(--void)}.rail-menu{left:20px;top:92px}.rail.open .rail-menu{opacity:1;transform:none;pointer-events:auto}.rail-menu a{font-size:clamp(30px,10vw,48px);margin-bottom:15px}.rail-menu a:last-child{margin-top:38px}.hero{min-height:86svh;padding:30px 20px 32px}.hero .tag{top:77px;left:20px}.hero h1{font-size:17vw;line-height:.87;max-width:100%;letter-spacing:-.075em}.hero p{font-size:12px;line-height:1.35}.home-positioning{padding:52px 20px 58px}.home-positioning-head h2{font-size:clamp(42px,13vw,60px)}.home-positioning-copy{margin-top:30px}.home-positioning-copy p{font-size:14px;line-height:1.45;margin-bottom:14px}.split{grid-template-rows:48svh auto;min-height:0}.split .copy{min-height:32svh;padding:35px 20px}.spread{min-height:72svh;padding:40px 20px}.offset{grid-template-rows:38svh auto}.offset .copy{padding:35px 20px;min-height:32svh}.routes a{min-height:24svh;padding:28px 20px}.routes b{font-size:38px;margin:10px 0}.quote{padding:72px 20px 55px}.process{padding:60px 20px}.about-copy{padding:60px 20px;font-size:24px}.about-copy p:last-child{margin-top:45px}.video-opening,.image-opening{min-height:82svh}.video-opening{padding:30px 20px 32px}.video-opening h1,.image-opening h1{font-size:17vw}.video-wayfinding,.image-statement{padding:58px 20px}.video-chapter,.video-chapter.chapter-reverse,.image-plate,.plate-offset,.plate-tall{min-height:0}.chapter-media,.plate-image{min-height:48svh}.chapter-copy,.plate-caption{min-height:34svh;padding:35px 20px}.image-opening-copy{min-height:36svh;padding:72px 20px 30px}.opening-image img{height:52svh}.image-pair{padding:55px 20px;gap:42px}.image-pair img{height:58svh}.portfolio-close{min-height:48svh;padding:58px 20px}.project-cta{width:100%;margin-top:28px;padding:18px 18px}.footer{padding:20px}.step{gap:12px;padding:20px 0}.step b{font-size:18px}}
@media(max-width:700px){.hero{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}.hero h1{margin:0}.hero p{position:static;max-width:260px;margin:16px 0 0;white-space:normal}}
@media(max-width:700px){.split.media-right{grid-template-columns:1fr}.video-opening-copy{margin-bottom:32px}.video-chapter,.video-chapter.chapter-reverse,.video-chapter.chapter-reverse[data-ratio="landscape"],.video-chapter[data-ratio="portrait"],.video-chapter.chapter-reverse[data-ratio="portrait"]{grid-template-columns:1fr;height:auto;overflow:visible;grid-template-rows:auto auto}.video-chapter[data-ratio="portrait"] .chapter-media,.video-chapter.chapter-reverse[data-ratio="landscape"] .chapter-media{min-height:0;aspect-ratio:4/5}}

/* Selected instant-estimate CTA: media + side panel */
.estimate-dock{min-height:72svh;display:grid;grid-template-columns:62% 38%;position:relative;background:var(--void);color:var(--bone)}
.estimate-dock-media{position:relative;min-height:72svh;overflow:hidden;isolation:isolate}
.estimate-dock-media:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#000c 0%,transparent 68%)}
.estimate-dock-media>img,.estimate-dock-media>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.estimate-dock-media-copy{position:absolute;left:5vw;right:4vw;bottom:6vh;z-index:1}
.estimate-dock-media-copy h2{max-width:650px;font-size:clamp(48px,6.5vw,96px);font-weight:400;line-height:.84;letter-spacing:-.08em;margin:14px 0 0}
.estimate-dock-divider{position:absolute;z-index:3;top:0;bottom:0;left:calc(62% - 74px);width:74px;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none;background:rgba(255,255,255,.01);backdrop-filter:invert(1);-webkit-backdrop-filter:invert(1)}
.estimate-dock-divider span{writing-mode:vertical-rl;transform:rotate(180deg);color:#fff;mix-blend-mode:difference;font:10px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.estimate-dock-action{background:var(--bone);color:var(--void);padding:4.5vw 3.5vw;display:grid;grid-template-rows:auto 1fr auto}
.estimate-dock-action p{align-self:end;font-size:clamp(23px,2.25vw,34px);line-height:1.08;letter-spacing:-.035em;margin:0 0 28px;max-width:390px}
.estimate-dock-action a{display:flex;align-items:center;justify-content:space-between;gap:28px;width:100%;min-height:70px;padding:0 21px;background:var(--void);color:var(--bone);font:11px 'DM Mono',monospace;letter-spacing:.065em;text-transform:uppercase;transition:transform .2s,background .2s,color .2s}
.estimate-dock-action a b{font:29px 'Instrument Sans',sans-serif;font-weight:400;line-height:.5}
.estimate-dock-action a:hover{transform:translateX(7px);background:#242424}.estimate-dock-action a:focus-visible{outline:2px solid var(--void);outline-offset:4px}
.video-portfolio .estimate-dock{grid-template-columns:56% 44%}.video-portfolio .estimate-dock-divider{left:calc(56% - 74px)}
@media(max-width:700px){.estimate-dock{min-height:0;grid-template-columns:1fr}.video-portfolio .estimate-dock{grid-template-columns:1fr}.estimate-dock-media{min-height:54svh}.estimate-dock-media-copy{left:20px;right:20px;bottom:66px}.estimate-dock-media-copy h2{font-size:clamp(48px,15vw,72px)}.estimate-dock-divider{top:calc(54svh - 48px);right:0;bottom:auto;left:0;width:auto;height:48px;justify-content:space-between;padding:0 20px}.video-portfolio .estimate-dock-divider{left:0}.estimate-dock-divider span{writing-mode:horizontal-tb;transform:none}.estimate-dock-action{min-height:38svh;padding:34px 20px}.estimate-dock-action p{font-size:25px;margin:0 0 24px}.estimate-dock-action a{min-height:68px;font-size:10px}}

/* Mobile-only pacing refinement: quote-adjacent route rhythm */
@media(max-width:700px){.offset{min-height:0}.image-opening-copy{padding-top:104px}.estimate-dock-action{min-height:42svh;padding:42px 20px 46px}.estimate-dock-action p{margin-bottom:30px}}

/* Roomier navigation; the base rail keeps the original full-strip inversion. */
.rail.open{width:380px;max-width:92vw;background:transparent;color:var(--void);backdrop-filter:none;-webkit-backdrop-filter:none}
.rail-menu{left:86px;top:104px}
.rail-menu a{font-size:31px;margin-bottom:20px}
.rail-menu .estimate-link{display:flex;align-items:center;width:230px;min-height:58px;margin-top:44px;padding:0 22px;background:var(--void);color:var(--bone)}


/* About-page client notes */
.client-reviews{background:var(--bone);color:var(--void);padding:10vh 5vw 12vh}
.client-reviews header{display:grid;grid-template-columns:32% 68%;align-items:end;padding-bottom:5vh}
.client-reviews h2{font-size:clamp(48px,7vw,104px);font-weight:400;line-height:.86;letter-spacing:-.075em;margin:0}
.client-review-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aaa}
.client-review-grid blockquote{margin:0;padding:34px 30px 0 0;min-height:340px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid #aaa}
.client-review-grid blockquote+blockquote{padding-left:30px}
.client-review-grid blockquote:last-child{border-right:0}
.client-review-grid blockquote p{font-size:clamp(24px,2.4vw,36px);line-height:1.08;letter-spacing:-.045em;margin:0;max-width:420px}
.client-review-grid footer{display:flex;justify-content:space-between;gap:16px;padding-top:45px;font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.05em}
.client-review-grid cite{font-style:normal}.client-review-grid footer span{color:#666;text-align:right}
@media(max-width:700px){.rail{inset:0 0 auto;width:100%;height:58px;max-width:none;background:var(--void);color:var(--bone);backdrop-filter:none;-webkit-backdrop-filter:none}.rail.open{width:100%;max-width:none}.rail-menu{left:20px;top:86px}.rail-menu a{font-size:clamp(30px,9vw,44px);margin-bottom:13px}.rail-menu .estimate-link{width:min(270px,calc(100vw - 40px));min-height:58px;margin-top:30px}.client-reviews{padding:70px 20px 80px}.client-reviews header{display:block;padding-bottom:40px}.client-reviews h2{font-size:16vw;margin-top:16px}.client-review-grid{grid-template-columns:1fr}.client-review-grid blockquote,.client-review-grid blockquote+blockquote{min-height:290px;padding:30px 0;border-right:0;border-bottom:1px solid #aaa}.client-review-grid blockquote:last-child{border-bottom:0}.client-review-grid blockquote p{font-size:29px}.client-review-grid footer{padding-top:36px}}

/* Stable menu states and a slightly higher floor for the smallest Gallery media. */
.rail-menu{visibility:hidden}
.rail.open .rail-menu{visibility:visible}
@media(min-width:701px){
  .rail.open{width:380px;max-width:92vw;background:var(--bone);color:var(--void);mix-blend-mode:normal;backdrop-filter:none;-webkit-backdrop-filter:none}

  .rail-menu{left:86px;right:30px;top:104px;width:auto;display:grid;gap:15px}
  .rail-menu a{font-size:31px;line-height:.92;margin:0}
  .rail-menu .estimate-link{margin-top:24px}
}
@media(max-width:700px){
  html.nav-open,html.nav-open body{overflow:hidden}
  .rail{position:fixed;inset:0 0 auto;width:100%;height:58px;max-width:none;background:var(--void);color:var(--bone);mix-blend-mode:normal;overflow:hidden;transition:height .35s ease}

  .rail.open{width:100%;height:100dvh;max-width:none;background:var(--bone);color:var(--void);overflow-y:auto;overscroll-behavior:contain}
  .rail.open .rail-mark,.rail.open button{color:var(--void);mix-blend-mode:normal}
  .rail.open button i{background:currentColor}
  .rail-menu{position:absolute;left:20px;right:20px;top:90px;width:auto;display:grid;gap:10px;transform:none}
  .rail-menu a{font-size:clamp(40px,12vw,66px);line-height:.86;margin:0}
  .rail-menu .estimate-link{width:min(300px,calc(100vw - 40px));min-height:62px;margin-top:24px;font-size:11px;line-height:1}
}

/* Safari composites hardware video through its native backdrop path. */
@media(min-width:701px){
  .safari .rail:not(.open){background:rgba(255,255,255,.01);color:#fff;mix-blend-mode:normal;backdrop-filter:invert(1);-webkit-backdrop-filter:invert(1)}
  .safari .rail:not(.open) button,.safari .rail:not(.open) .rail-mark{color:#fff;mix-blend-mode:difference}
}

/* Keep narrow desktop type clear of both the rail and adjacent copy. */
@media(min-width:701px) and (max-width:1200px){
  .hero{flex-direction:column;align-items:flex-start;justify-content:flex-end;padding-left:82px}
  .hero .tag{left:82px}
  .hero h1{font-size:clamp(56px,7vw,82px);max-width:calc(100vw - 127px)}
  .hero p{position:static;max-width:460px;margin:24px 0 0;line-height:1.4;white-space:normal}
  .home-positioning,.video-wayfinding{padding-left:82px}
  .home-positioning-head h2{font-size:clamp(38px,4.8vw,56px)}
}
