@charset "UTF-8";
:root{--black:#080909;--panel:#111314;--panel2:#17191a;--white:#f5f4f0;--muted:#b6b7b6;--line:#323435;--line2:#252728;--accent:#d9d8d2;--max:1240px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--black);color:var(--white);font:400 16px/1.65 "Inter","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}svg{width:20px;height:20px;flex:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.055em}h1,h2{font-weight:750}p{color:var(--muted)}.container{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:20px;top:-90px;z-index:999;padding:12px 18px;background:#fff;color:#000}.skip-link:focus{top:18px}:focus-visible{outline:2px solid #f8f8f8;outline-offset:5px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.23em;color:#bcbdbb;font-weight:750}.eyebrow:before{content:"";display:inline-block;width:26px;height:1px;background:#aaa;vertical-align:middle;margin-right:11px}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:750;border-bottom:1px solid #696969;padding-bottom:5px;transition:border .2s}.text-link:hover{border-color:#fff}.text-link svg{width:16px;height:16px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:13px;min-height:52px;padding:14px 23px;border:1px solid var(--white);border-radius:2px;color:#0b0c0c;background:var(--white);font-size:12px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;transition:background .2s,color .2s,transform .2s;border-color .2s}.btn svg{width:17px;height:17px}.btn:hover{transform:translateY(-2px);background:#dededb;border-color:#dededb}.btn--outline{color:var(--white);background:transparent;border-color:#777}.btn--outline:hover{color:#090909;background:#f5f4f0}.btn--small{min-height:42px;padding:10px 17px;font-size:11px}.btn--dark{background:#111;color:#fff;border-color:#111}.btn--dark:hover{background:#222;border-color:#222;color:#fff}.topbar{border-bottom:1px solid #242627;background:#090a0a;color:#b5b6b4;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.topbar .container{display:flex;justify-content:space-between;align-items:center;min-height:34px;gap:12px}.topbar a{color:#e2e2e0}.nav{position:sticky;top:0;z-index:60;background:#0b0c0cef;border-bottom:1px solid #292b2c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav-inner{height:80px;display:flex;align-items:center;gap:24px;justify-content:space-between}.brand{width:155px;flex:none;display:inline-flex;align-items:center}.brand img{width:148px;height:auto;max-height:55px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:25px}.nav-links>a:not(.btn):not(.ig){font-size:11px;text-transform:uppercase;letter-spacing:.085em;font-weight:720;color:#c9c9c7;transition:color .2s}.nav-links>a:hover{color:#fff}.ig{width:39px;height:39px;border:1px solid #505353;border-radius:50%;display:grid;place-items:center;transition:background .2s,border-color .2s}.ig:hover{background:#fff;color:#101010;border-color:#fff}.ig svg{width:17px;height:17px}.menu-button{display:none;color:#fff;background:none;border:1px solid #454747;padding:11px 13px;border-radius:2px;letter-spacing:.13em;font-size:11px;font-weight:750}.mobile-actions{display:none}.hero{min-height:690px;position:relative;isolation:isolate;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid #202222}.hero-media{position:absolute;inset:0;z-index:-2}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:65% 53%;filter:brightness(.87) saturate(.8)}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,6,6,.98) 0%,rgba(6,7,7,.90) 28%,rgba(6,7,7,.48) 62%,rgba(6,7,7,.17) 100%),linear-gradient(0deg,#080909 0%,transparent 28%)}.hero-main{padding:90px 0 105px}.hero h1{font-size:clamp(54px,6.4vw,95px);line-height:1.03;max-width:880px;margin:27px 0 23px;text-wrap:balance}.hero h1 span{color:#bfc1bd}.hero-copy{max-width:550px;font-size:17px;line-height:1.75;color:#dededb}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:33px}.hero-foot{display:flex;align-items:center;gap:26px;margin-top:68px;color:#d1d2d0;letter-spacing:.08em;text-transform:uppercase;font-size:10px}.hero-foot span{display:flex;align-items:center;gap:9px}.hero-foot span+span{padding-left:26px;border-left:1px solid #5b5d5e}.hero-foot svg{width:16px;height:16px}.trustline{border-bottom:1px solid #292b2c;background:#111313}.trustline .container{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 0}.trustcell{display:flex;align-items:center;gap:12px;color:#dfdfdb;font-size:12px;font-weight:600;letter-spacing:.01em}.trustcell svg{width:20px;height:20px;color:#d8d8d3}.trustcell strong{font-size:24px;color:#fff;font-weight:740;letter-spacing:-.04em}.section{padding:110px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:42px}.section-head h2{font-size:clamp(35px,4.7vw,66px);max-width:760px;margin-top:15px}.section-head p{max-width:345px;font-size:15px;line-height:1.8}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-card{border:1px solid #2e3031;background:#131515;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .3s var(--ease),border-color .3s}.service-card:hover{transform:translateY(-4px);border-color:#777}.service-card .pic{aspect-ratio:1.62;overflow:hidden;display:block;background:#1c1e1e}.service-card .pic img{width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:brightness(.85) saturate(.8);transition:transform .7s var(--ease),filter .35s}.service-card:hover .pic img{transform:scale(1.045);filter:brightness(.98) saturate(.85)}.service-card-content{padding:29px 27px 27px;display:flex;flex:1;flex-direction:column}.service-index{color:#999;letter-spacing:.16em;font-size:10px;text-transform:uppercase;font-weight:750}.service-card h3{font-size:23px;line-height:1.24;margin:17px 0 10px;letter-spacing:-.03em}.service-card p{font-size:13px;line-height:1.8;flex:1}.service-card .text-link{align-self:flex-start;margin-top:27px}.difference{background:#eae9e5;color:#111;padding:85px 0}.difference .eyebrow{color:#666}.difference .eyebrow:before{background:#888}.difference h2{font-size:clamp(35px,4vw,56px);margin-top:14px}.difference .intro{max-width:710px;color:#555;margin-top:15px}.difference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#b8bab8;border:1px solid #b8bab8;margin-top:40px}.difference-item{padding:32px 29px;background:#f4f3ef}.difference-item .no{font-size:11px;letter-spacing:.2em;color:#777}.difference-item h3{font-size:25px;margin:20px 0 12px}.difference-item p{font-size:14px;color:#4a4b4a;line-height:1.75}.section--gallery{padding-top:110px;background:#0b0c0c}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-card{padding:0;border:1px solid #323435;background:#151617;display:flex;flex-direction:column;text-align:left;color:#fff;min-width:0;overflow:hidden;transition:border-color .25s,transform .35s var(--ease)}.gallery-card:hover{border-color:#888;transform:translateY(-4px)}.gallery-pic{display:block;aspect-ratio:4/4.35;overflow:hidden;position:relative;background:#1a1b1b}.gallery-pic img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .3s;filter:brightness(.85)}.gallery-card:hover .gallery-pic img{transform:scale(1.035);filter:brightness(1)}.gallery-zoom{position:absolute;right:16px;top:16px;width:40px;height:40px;border:1px solid #ffffff66;background:#0808087d;display:grid;place-items:center;border-radius:50%;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.gallery-zoom svg{width:17px;height:17px}.gallery-meta{min-height:86px;padding:17px 19px 19px;display:flex;align-items:center;justify-content:space-between;gap:16px}.gallery-meta small{display:block;color:#a6a6a3;font-size:10px;letter-spacing:.17em;text-transform:uppercase;margin-bottom:4px}.gallery-meta strong{font-size:16px;font-weight:700;line-height:1.2;letter-spacing:-.02em}.gallery-meta>svg{opacity:.55;width:15px;height:15px}.gallery-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #323435;margin-top:29px;padding-top:26px;gap:20px;font-size:13px;color:#bdbebb}.gallery-bottom a{font-weight:700;text-decoration:underline;text-underline-offset:5px}.quote-band{background:#eae9e5;color:#0a0b0b;padding:95px 0}.quote-band .eyebrow{color:#777}.quote-band .eyebrow:before{background:#777}.quote-band h2{font-size:clamp(39px,5.2vw,72px);max-width:1020px;margin-top:19px}.quote-band .btn{margin-top:26px}.reviews{background:#111313}.review-top{display:flex;align-items:center;gap:13px;padding:17px 22px;background:#191b1c;border:1px solid #373939;width:max-content;margin-top:26px;max-width:100%}.review-top strong{font-size:33px;line-height:1;letter-spacing:-.045em}.review-stars{color:#e0ded5;display:flex;gap:4px}.review-stars svg{width:16px;height:16px}.review-top small{display:block;font-size:11px;line-height:1.5;color:#aeb0ac}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.review-card{background:#191b1b;border:1px solid #383a3b;padding:27px 25px;min-height:200px;display:flex;flex-direction:column}.review-card .starrow{letter-spacing:.2em;font-size:13px;color:#deddd8}.review-card blockquote{margin:20px 0 20px;font-size:19px;line-height:1.5;letter-spacing:-.02em;font-weight:630;flex:1}.review-card small{font-size:11px;color:#aaa;letter-spacing:.06em}.review-note{font-size:12px;color:#999;line-height:1.75;margin-top:22px}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.how-card{border-top:1px solid #5b5d5d;padding-top:24px}.how-card strong{font-size:11px;color:#a9aaa6;letter-spacing:.17em}.how-card h3{font-size:24px;margin-top:18px}.how-card p{margin-top:12px;line-height:1.8;font-size:14px}.faq-list{border-top:1px solid #444;max-width:900px}.faq-list details{border-bottom:1px solid #3a3b3c;padding:22px 0}.faq-list summary{cursor:pointer;list-style:none;font-size:17px;font-weight:650;line-height:1.5;display:flex;justify-content:space-between;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';font-size:25px;color:#c7c7c3;font-weight:350;line-height:1}.faq-list details[open] summary::after{content:'−'}.faq-list details p{font-size:14px;line-height:1.9;margin-top:14px;max-width:760px}.contact{background:#151717;padding-bottom:95px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact h2{font-size:clamp(42px,5vw,69px);margin-top:18px}.contact-intro{font-size:15px;line-height:1.8;margin-top:18px;max-width:500px}.contact-info{margin-top:35px;border-top:1px solid #393b3b}.contact-info>div{display:flex;justify-content:space-between;align-items:start;gap:22px;border-bottom:1px solid #393b3b;padding:18px 0;font-size:14px}.contact-info dt{color:#aaa;min-width:100px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.contact-info dd{margin:0;text-align:right;max-width:300px;color:#e0e0dc}.contact-info a{text-decoration:underline;text-underline-offset:4px}.quote-form{background:#1e2020;border:1px solid #3e4141;padding:30px}.quote-form h3{font-size:27px;margin-bottom:9px}.quote-form .formintro{font-size:13px;line-height:1.7;margin-bottom:23px}.quote-form label{font-size:12px;display:grid;gap:9px;color:#d2d2d0;font-weight:650;margin-bottom:15px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #515454;background:#111313;color:#f5f5f3;padding:13px 14px;min-height:49px;border-radius:2px;outline:none;font-size:15px}.quote-form :is(input,select,textarea):focus{border-color:#fff;box-shadow:0 0 0 1px #fff}.quote-form textarea{min-height:100px;resize:vertical}.quote-form .btn{width:100%;margin-top:8px}.form-foot{font-size:11px;line-height:1.6;color:#a7a8a5;margin-top:14px}.mapbox{margin-top:65px;border:1px solid #404242;background:#101212;display:grid;grid-template-columns:1fr 1.4fr;min-height:340px}.map-description{padding:35px 32px;display:flex;flex-direction:column;justify-content:center}.map-description h3{font-size:29px;margin:16px 0}.map-description p{font-size:14px;margin-bottom:25px}.map-description .btn{align-self:start}.map-frame-wrap{position:relative;overflow:hidden;min-height:330px;background:radial-gradient(circle at center,#26292a,#151717)}.map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;padding:25px}.map-placeholder svg{width:38px;height:38px}.map-placeholder p{max-width:270px;font-size:12px}.map-placeholder button{background:transparent;color:#fff;border:1px solid #9d9f9d;padding:12px 22px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:760}.map-frame-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.footer{border-top:1px solid #2e3031;background:#090a0a;padding:46px 0 30px}.footer-main{display:flex;justify-content:space-between;gap:34px;flex-wrap:wrap;align-items:start}.footer-logo img{width:175px;height:auto}.footer-links{display:flex;gap:32px;flex-wrap:wrap}.footer-links a{font-size:12px;color:#d4d4d0}.footer-links a:hover{text-decoration:underline}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:33px;padding-top:25px;border-top:1px solid #292b2b;color:#9b9c98;font-size:11px;flex-wrap:wrap}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}.modal{display:none;position:fixed;inset:0;z-index:200;background:rgba(3,4,4,.975);padding:65px 90px 75px;align-items:center;justify-content:center;flex-direction:column}.modal.open{display:flex}.modal-close{position:absolute;right:32px;top:25px;border:1px solid #555;background:#111;color:#fff;width:44px;height:44px;font-size:26px}.modal img{max-width:100%;max-height:calc(100vh - 170px);width:auto;height:auto;object-fit:contain}.modal-caption{color:#f8f8f5;font-size:16px;margin-top:15px;font-weight:650}.modal-count{color:#a8a8a5;font-size:11px;letter-spacing:.15em;margin-top:5px}.modal-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:58px;color:#fff;background:#161818aa;border:1px solid #666;font-size:35px}.modal-arrow.prev{left:25px}.modal-arrow.next{right:25px}.service-hero{min-height:610px;display:flex;align-items:center;position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid #282929}.service-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:-2;filter:brightness(.72)}.service-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#070808ed 0%,#070808b5 40%,#07080838 85%),linear-gradient(0deg,#080909 0%,transparent 32%);z-index:-1}.service-hero .container{padding:70px 0}.breadcrumbs{font-size:12px;color:#d7d7d4;margin-bottom:50px}.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}.service-hero h1{font-size:clamp(48px,6vw,83px);max-width:830px;margin:22px 0}.service-hero .lead{max-width:600px;font-size:17px;color:#e0e0dd;line-height:1.75}.service-hero .hero-actions{margin-top:30px}.intro-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:70px;align-items:start}.intro-grid h2{font-size:clamp(37px,4vw,58px);margin:17px 0}.intro-grid p{font-size:16px;line-height:1.9}.check-list{list-style:none;padding:0;margin:0}.check-list li{display:flex;gap:15px;padding:16px 0;border-bottom:1px solid #353637;font-size:16px;line-height:1.6}.check-list svg{color:#ededeb;margin-top:4px;width:19px;height:19px}.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.scope-card{padding:33px;border:1px solid #383a3b;background:#151718;min-height:240px}.scope-card small{color:#999;letter-spacing:.15em;font-size:11px}.scope-card h3{font-size:24px;margin:25px 0 13px}.scope-card p{font-size:14px;line-height:1.75}.service-facts{border-top:1px solid #383a3a;border-bottom:1px solid #383a3a;display:flex;justify-content:space-between;gap:15px;padding:22px 0;color:#c5c6c2;font-size:13px}.service-facts strong{color:#fff}.service-photo-row{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}.service-photo-row img{width:100%;height:430px;object-fit:cover;filter:brightness(.88)}.back-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.back-links a{padding:12px 16px;border:1px solid #5a5c5d;font-size:12px}.back-links a:hover{background:#fff;color:#101010}.subtle-label{font-size:12px;color:#9a9b98;letter-spacing:.08em}.contact-prompt{background:#eae9e5;padding:78px 0;color:#121313}.contact-prompt .eyebrow{color:#666}.contact-prompt h2{font-size:clamp(36px,4.5vw,60px);margin:18px 0}.contact-prompt p{max-width:620px;color:#494a48;margin-bottom:25px}.legal{max-width:820px;margin:0 auto}.legal h1{font-size:53px;margin:18px 0 25px}.legal h2{font-size:28px;margin:30px 0 12px}.legal p,.legal li{font-size:15px;line-height:1.9}.legal a{text-decoration:underline}.mobile-actions{display:none}
@media(max-width:1100px){.nav-links{gap:15px}.nav-links>a:not(.btn):not(.ig){font-size:10px}.brand{width:135px}.brand img{width:135px}.contact-grid{gap:35px}}
@media(max-width:850px){.container{width:min(var(--max),calc(100% - 38px))}.topbar .container{justify-content:center}.topbar .topbar-right{display:none}.nav-inner{height:72px}.menu-button{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:72px;background:#101212;z-index:62;padding:23px 23px 28px;flex-direction:column;align-items:stretch;gap:19px;border-bottom:1px solid #414343;box-shadow:0 25px 50px #000b}.nav-links.open{display:flex}.nav-links>a:not(.btn):not(.ig){font-size:13px}.ig{border:0;width:auto;height:auto;display:flex;justify-content:flex-start;gap:9px}.ig:after{content:"Instagram";font-size:13px;text-transform:uppercase;letter-spacing:.08em}.services-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr)}.difference-grid{grid-template-columns:1fr}.section-head{align-items:start;display:block}.section-head p{margin-top:18px;max-width:660px}.contact-grid{grid-template-columns:1fr}.mapbox{grid-template-columns:1fr 1fr}.scope-grid{grid-template-columns:1fr}.intro-grid{grid-template-columns:1fr;gap:28px}.hero{min-height:640px}.hero h1{font-size:clamp(51px,8vw,76px)}.review-grid{grid-template-columns:1fr 1fr}.how-grid{grid-template-columns:1fr}.service-photo-row{grid-template-columns:1fr}.service-photo-row img{height:320px}}
@media(max-width:560px){html{scroll-padding-top:80px}.container{width:calc(100% - 34px)}.topbar{font-size:9px}.brand img{width:135px}.nav-inner{height:69px}.nav-links{top:69px}.hero{min-height:650px;align-items:end}.hero-media img{object-position:60% center}.hero:after{background:linear-gradient(0deg,#080909 1%,#080909dc 23%,#08090966 82%),linear-gradient(90deg,#090909bb,transparent)}.hero-main{padding:75px 0 45px}.hero h1{font-size:clamp(45px,11.3vw,63px);margin:18px 0}.hero-copy{font-size:15px}.hero-actions{gap:9px}.hero-actions .btn{flex:1;min-width:150px;padding:11px;font-size:10px}.hero-foot{margin-top:39px;display:block}.hero-foot span{margin-bottom:11px}.hero-foot span+span{padding:0;border:0}.trustline .container{display:grid;grid-template-columns:1fr;gap:15px}.trustcell strong{font-size:21px}.section{padding:75px 0}.section-head{margin-bottom:27px}.section-head h2{font-size:clamp(34px,9vw,47px)}.services-grid,.gallery-grid{grid-template-columns:1fr;gap:12px}.service-card .pic{aspect-ratio:1.8}.service-card-content{padding:25px 23px}.gallery-pic{aspect-ratio:4/3.85}.gallery-meta{min-height:80px}.gallery-meta strong{font-size:16px}.difference,.quote-band{padding:65px 0}.difference-item{padding:25px}.review-grid{grid-template-columns:1fr}.review-card{min-height:165px}.section--gallery{padding-top:75px}.gallery-bottom{flex-direction:column;align-items:start}.quote-band h2{font-size:42px}.contact-grid{gap:26px}.contact h2{font-size:45px}.contact-info>div{display:block}.contact-info dd{text-align:left;margin-top:7px}.quote-form{padding:20px}.mapbox{grid-template-columns:1fr}.map-description{padding:26px}.map-frame-wrap{min-height:290px}.footer{padding-bottom:110px}.footer-main{gap:22px}.footer-links{gap:13px 23px}.footer-bottom{margin-top:25px}.mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:90;gap:9px;padding:11px 14px calc(11px + env(safe-area-inset-bottom));background:#090a0af6;border-top:1px solid #4a4b4c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-actions a{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:1;min-height:46px;background:#f3f3f0;color:#111;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.mobile-actions a+ a{background:#212323;color:#fff;border:1px solid #606263}.mobile-actions svg{width:17px;height:17px}.modal{padding:78px 10px 95px}.modal img{max-height:calc(100vh - 260px)}.modal-close{top:18px;right:15px}.modal-arrow{width:36px;height:43px;font-size:28px;top:auto;bottom:25px}.modal-arrow.prev{left:calc(50% - 89px)}.modal-arrow.next{right:calc(50% - 89px)}.service-hero{min-height:590px;align-items:end}.service-hero:after{background:linear-gradient(0deg,#080909 0%,#080909ed 23%,#08090944 92%)}.service-hero .container{padding:75px 0 45px}.service-hero h1{font-size:clamp(43px,10vw,60px)}.service-hero .lead{font-size:15px}.breadcrumbs{margin-bottom:35px}.service-facts{flex-direction:column}.legal h1{font-size:39px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* NOIR MOTION / PREMIUM MICRO-INTERACTIONS — no frameworks or network requests */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-soft:cubic-bezier(.2,.8,.2,1)}
/* Finely drawn reading/progress accent. No layout shift. */
.nav{transition:background-color .35s ease,border-color .35s ease,box-shadow .35s ease}
.nav.is-scrolled{background:rgba(8,9,9,.97);border-bottom-color:#424442;box-shadow:0 16px 35px rgba(0,0,0,.24)}
.nav::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,#a5a7a3,#f3f2ed);transform:scaleX(var(--scroll-progress,0));transform-origin:0 50%;pointer-events:none;opacity:.82}
.nav-links>a:not(.btn):not(.ig){position:relative;padding-top:12px;padding-bottom:12px}
.nav-links>a:not(.btn):not(.ig)::after{content:"";position:absolute;left:0;bottom:5px;width:100%;height:1px;background:#eee;transform:scaleX(0);transform-origin:left;transition:transform .36s var(--motion-ease)}
.nav-links>a:not(.btn):not(.ig):hover::after,.nav-links>a[aria-current="location"]::after{transform:scaleX(1)}
.nav-links>a[aria-current="location"]{color:#fff!important}
/* Deliberately restrained entrance sequence; text remains visible if JavaScript is off. */
.motion-ready .hero-main > .eyebrow,.motion-ready .hero-main > h1,.motion-ready .hero-main > .hero-copy,.motion-ready .hero-main > .hero-actions,.motion-ready .hero-main > .hero-foot,
.motion-ready .service-hero .breadcrumbs,.motion-ready .service-hero .eyebrow,.motion-ready .service-hero h1,.motion-ready .service-hero .lead,.motion-ready .service-hero .hero-actions{
 animation:noir-entrance .95s var(--motion-ease) both}
.motion-ready .hero-main > h1,.motion-ready .service-hero h1{animation-delay:.09s}
.motion-ready .hero-main > .hero-copy,.motion-ready .service-hero .lead{animation-delay:.18s}
.motion-ready .hero-main > .hero-actions,.motion-ready .service-hero .hero-actions{animation-delay:.28s}
.motion-ready .hero-main > .hero-foot{animation-delay:.38s}
@keyframes noir-entrance{from{opacity:0;transform:translate3d(0,23px,0);filter:blur(4px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
/* The hero image settles in gently once, never follows the pointer. */
.motion-ready .hero-media img,.motion-ready .service-hero>img{animation:noir-photo-settle 1.7s var(--motion-ease) both}
@keyframes noir-photo-settle{from{transform:scale(1.035);opacity:.86}to{transform:scale(1);opacity:1}}
/* Reveals: visible by default, hidden only after IO is installed successfully. */
.motion-ready [data-reveal]{transition:opacity .8s var(--motion-ease),translate .8s var(--motion-ease);transition-delay:var(--reveal-delay,0ms);opacity:1;translate:0 0}
.motion-ready [data-reveal]:not(.is-visible){opacity:0;translate:0 22px}
.motion-ready .gallery-card[data-reveal]:not(.is-visible),.motion-ready .service-card[data-reveal]:not(.is-visible){translate:0 15px}
/* High-quality touch/hover response: small and purposeful. */
@media(hover:hover) and (pointer:fine){
 .gallery-card,.service-card,.scope-card,.review-card,.difference-item{transition-property:transform,border-color,background-color,box-shadow;transition-duration:.45s;transition-timing-function:var(--motion-ease)}
 .gallery-card:hover{transform:translateY(-5px);border-color:#aaa;box-shadow:0 24px 36px rgba(0,0,0,.2)}
 .service-card:hover{transform:translateY(-5px);border-color:#858784;box-shadow:0 20px 35px rgba(0,0,0,.17)}
 .review-card:hover,.scope-card:hover{transform:translateY(-3px);border-color:#777}
 .gallery-card .gallery-pic img{transition:transform .95s var(--motion-ease),filter .6s ease}
 .gallery-card:hover .gallery-pic img{transform:scale(1.055);filter:brightness(1.025)}
 .gallery-zoom{transition:background-color .35s,transform .45s var(--motion-ease),border-color .35s}
 .gallery-card:hover .gallery-zoom{background:rgba(244,244,240,.92);border-color:#fff;color:#111;transform:rotate(8deg)}
 .btn{transition:transform .42s var(--motion-ease),background-color .3s,color .3s,border-color .3s,box-shadow .42s}
 .btn:hover{transform:translateY(-2px);box-shadow:0 9px 20px rgba(0,0,0,.16)}
 .btn svg,.text-link svg{transition:transform .38s var(--motion-ease)}
 .btn:hover svg,.text-link:hover svg{transform:translate(3px,-2px)}
 .ig:hover{transform:translateY(-2px)}
}
.faq-list details[open] > :not(summary){animation:noir-faq-in .32s ease both}
@keyframes noir-faq-in{from{opacity:.4;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
/* Lightbox fades smoothly and does not flash between shots. */
.modal{display:flex;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease}
.modal.open{opacity:1;visibility:visible;pointer-events:auto}
.modal img{transition:opacity .25s ease,transform .45s var(--motion-ease)}
.modal.open img{animation:noir-lightbox-in .45s var(--motion-ease) both}
@keyframes noir-lightbox-in{from{opacity:.2;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
/* Exit animation for long pages; accessible button with a useful action. */
.back-to-top{position:fixed;right:23px;bottom:24px;z-index:65;width:46px;height:46px;display:grid;place-items:center;color:#fff;background:rgba(22,24,24,.94);border:1px solid #747675;border-radius:2px;cursor:pointer;box-shadow:0 9px 22px #0006;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity .3s ease,visibility .3s ease,transform .4s var(--motion-ease),background .25s}
.back-to-top svg{width:19px;height:19px}
.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.back-to-top:hover{background:#eaeae6;color:#090a0a}
/* Mobile: no hover dependence or lateral motion; CTA never obstructed. */
@media(max-width:850px){.nav-links.open{animation:noir-menu-in .26s var(--motion-ease) both}.nav-links>a:not(.btn):not(.ig)::after{bottom:1px;width:35px}.nav-links>a:not(.btn):not(.ig){width:max-content;max-width:100%}}
@keyframes noir-menu-in{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:560px){.back-to-top{right:14px;bottom:99px;width:42px;height:42px}.gallery-card:active{border-color:#d0d0cc}.motion-ready [data-reveal]:not(.is-visible){translate:0 12px}.motion-ready .hero-main>.hero-foot{animation-delay:.24s}}
/* Accessibility: no opacity/blur or motion when OS asks to reduce it. */
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .motion-ready [data-reveal],.motion-ready [data-reveal]:not(.is-visible){opacity:1!important;translate:0 0!important;transition:none!important}
 .motion-ready .hero-main > *, .motion-ready .service-hero .breadcrumbs,.motion-ready .service-hero .eyebrow,.motion-ready .service-hero h1,.motion-ready .service-hero .lead,.motion-ready .service-hero .hero-actions,
 .motion-ready .hero-media img,.motion-ready .service-hero>img,.modal.open img,.faq-list details[open]>:not(summary),.nav-links.open{animation:none!important;transform:none!important;filter:none!important}
 .modal,.back-to-top,.btn,.gallery-card,.service-card,.gallery-pic img{transition:none!important}
}
