/* Focus, touch targets, contact and motion refinements. */
.service-detail-hero>img.service-specific-photo{object-position:center;object-fit:contain;background:#17191d;height:auto;aspect-ratio:3/2}.services-overview .service-image{height:auto;aspect-ratio:3/2}.services-overview .service-image img{object-position:center}
.compact-footer{flex-wrap:wrap;padding-block:22px}.compact-footer>div{flex:1 1 540px;min-width:0}.compact-footer>div>span:first-child{line-height:1.7;white-space:normal}@media(max-width:760px){.compact-footer>div{max-width:100%}}
a,button,input,select,textarea{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #ff7077;outline-offset:5px}
.gallery-photo{position:relative}.construction-badge{position:absolute;left:12px;bottom:12px;padding:7px 10px;background:#111318e8;border-left:2px solid #ee242e;color:#fff;font-size:12px;letter-spacing:.025em}
.gallery-item:hover .construction-badge{background:#17191f}
.mobile-contact{display:none}.privacy-link{font-size:12px!important}.company-strengths{padding-top:10px;padding-bottom:80px}.company-strengths h2{font-size:clamp(30px,4vw,48px);margin-top:25px}.company-strengths>.button{margin-top:35px}
.inquiry-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;padding-top:10px;padding-bottom:80px;scroll-margin-top:130px}.inquiry-intro h2{font-size:clamp(30px,3.2vw,44px);margin:24px 0}.inquiry-intro p:not(.eyebrow){color:#b7bcc5;margin-bottom:25px}.inquiry-intro .text-link{font-size:14px;word-break:break-word}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid label{display:flex;flex-direction:column;gap:9px;font-size:14px;color:#e0e3e8}.full-width{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{font:inherit;font-size:16px;width:100%;background:#191b20;color:#fff;border:1px solid #4d515a;border-radius:0;padding:13px 14px;min-height:48px}.form-grid textarea{resize:vertical;min-height:150px}.form-grid input:hover,.form-grid textarea:hover,.form-grid select:hover{border-color:#9298a2}.form-grid textarea::placeholder{color:#a7adb7}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-privacy{color:#b7bcc5;font-size:13px;line-height:1.8;margin:22px 0}.form-privacy a,.privacy-content a{text-decoration:underline;text-underline-offset:3px}.button:disabled{opacity:.55;cursor:not-allowed}#form-status{font-size:14px;line-height:1.6;margin-top:18px;color:#d1d5dc;min-height:45px}.privacy-content{max-width:900px}.privacy-content h2{font-size:26px;margin:32px 0 14px}.privacy-content p{color:#c1c6ce;line-height:1.85}.privacy-draft{border-left:2px solid #ec252f;padding-left:20px;margin-top:30px}
@media(max-width:900px){.inquiry-section{grid-template-columns:1fr;gap:32px}.compact-footer{flex-wrap:wrap}}
@media(max-width:760px){body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}.mobile-contact{display:grid;grid-template-columns:1fr 1.4fr;position:fixed;bottom:0;left:0;right:0;z-index:25;padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px;background:#111318f5;border-top:1px solid #454850;backdrop-filter:blur(12px)}.mobile-contact a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:10px 14px;font-size:13px;font-weight:600;background:#262930}.mobile-contact a:last-child{background:#ed2029}.modal-open .mobile-contact{visibility:hidden}.form-grid{grid-template-columns:1fr}.inquiry-section{scroll-margin-top:100px}.form-grid label{font-size:14px}.inquiry-section .button{width:100%;min-height:52px}.company-strengths{padding-bottom:60px}.gallery-caption{min-height:48px}.gallery-catalog .gallery-caption .image-open{min-width:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.contact-map{display:grid;grid-template-columns:1fr 1.35fr;gap:48px;padding-top:40px;padding-bottom:70px;align-items:center}.contact-map h2{font-size:clamp(30px,4vw,48px);line-height:1.15;margin:20px 0}.contact-map p{color:#b8bec8;line-height:1.75;margin:16px 0}.contact-map .button{margin-top:12px}.contact-map-content{min-height:380px;border:1px solid #363a43;background:linear-gradient(135deg,#1e2229,#111317);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;gap:12px}.contact-map-content p{max-width:430px;font-size:13px;margin:0}.contact-map-content>a{font-size:12px;text-decoration:underline}.contact-map-content iframe{width:100%;height:380px;border:0}.contact-map-content:has(iframe){padding:0}.map-pin{font-size:42px;color:#ed2029}#anti-spam{margin:20px 0;min-height:65px}@media(max-width:760px){.contact-map{grid-template-columns:1fr;gap:25px;padding-bottom:40px}.contact-map-content{padding:22px;min-height:320px}}
.contact-map>.form-privacy{grid-column:1/-1;margin-top:-24px}
.home-page .expertise-inner{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px 32px;text-align:center}.home-page .expertise-inner>span{border:0;padding:0;font-size:13px;line-height:1.5;cursor:default}
.home-page .expertise-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:16px;align-items:center}.home-page .expertise-row .expertise-inner{grid-column:2;min-width:0}.facebook-link{grid-column:3;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:#fff;border-radius:50%;transition:color .2s,background .2s}.facebook-link:hover{color:#fff;background:#1877f2}@media(max-width:760px){.home-page .expertise-row{grid-template-columns:minmax(0,1fr) 44px;gap:12px}.home-page .expertise-row .expertise-inner{grid-column:1;gap:14px 20px}.facebook-link{grid-column:2}}
.site-footer .designer-mail{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:3px;vertical-align:middle;border-radius:6px;color:inherit}.site-footer .designer-mail:hover{color:#ff7077;background:#ffffff08}.designer-mail svg{flex-shrink:0}
.site-header #navigation>a{text-transform:uppercase;letter-spacing:.025em}
.about .about-facts+.about-intro{margin-top:72px}@media(max-width:760px){.about .about-facts+.about-intro{margin-top:44px}}
.about-people figure{margin-top:26px}.about-people img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:1px solid #30343c}.about-people figcaption{font-size:11px;line-height:1.6;color:#aeb5bf;margin-top:9px}
.about .about-facts>div{align-items:center;text-align:center;padding:30px 24px}.about .about-facts>div+div{padding-left:24px}.about .about-people figure{margin-top:0}.about-people-photo{position:relative;isolation:isolate;overflow:hidden}.about-people-photo:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(8,10,14,.88));pointer-events:none}.about-people-photo h2{position:absolute;z-index:1;left:28px;right:24px;bottom:24px;color:#fff;font-size:clamp(30px,3.4vw,46px);line-height:1.08;text-shadow:0 2px 10px #0006}@media(max-width:760px){.about .about-facts>div{padding:22px 10px}.about .about-facts>div+div{padding-left:10px}.about-people-photo h2{left:20px;bottom:20px;font-size:32px}}
.about .about-people-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}.about-people-layout .about-people,.about-people-layout .about-copy{min-width:0}@media(max-width:760px){.about .about-people-layout{grid-template-columns:1fr;gap:28px}}
.services-introduction{margin-bottom:56px}.services-introduction .section-title-row{margin-bottom:0}.services-introduction .prep-grid{margin-top:30px;gap:28px}.services-introduction>.button{margin-top:28px}.services-introduction .prep-grid h3{font-size:21px}@media(max-width:760px){.services-introduction{margin-bottom:40px}.services-introduction .prep-grid{gap:24px;margin-top:24px}}
.services-overview .service-image img.lift-photo{object-fit:contain;background:#17191d}.service-detail-hero>img.lift-photo{aspect-ratio:843/569}
.contact-office{padding-bottom:48px}.office-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:start}.office-company{font-size:17px;color:#c3c7cf;margin-top:22px}.office-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:30px 0 18px;font-style:normal}.office-details p,.office-details a{font-size:18px;line-height:1.6;color:#fff;margin:8px 0 0;display:block}.office-details strong{font-size:24px;font-weight:600}.office-faq.service-faq{margin-top:0;max-width:none}.office-faq h2{font-size:clamp(28px,3vw,40px);margin:20px 0 22px}.office-map{padding-bottom:64px}.office-map .contact-map-content{padding:0;min-height:440px}.office-map iframe{height:440px;width:100%;display:block}.office-info>.text-link{color:#fff}@media(max-width:760px){.office-layout{grid-template-columns:1fr;gap:40px}.office-details{gap:24px 16px}.office-details p,.office-details a{font-size:16px;overflow-wrap:anywhere}.inner-page .contact-office{padding-bottom:32px}.office-map{padding-bottom:40px}.office-map .contact-map-content{min-height:320px}.office-map iframe{height:320px}}
.inquiry-section{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:48px}.inquiry-section>*{min-width:0}#inquiry-form{width:100%;max-width:560px;justify-self:end}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label,.form-grid input,.form-grid select,.form-grid textarea{min-width:0}.form-notes{margin:20px 0;padding-top:18px;border-top:1px solid #343840;max-width:100%;overflow-wrap:anywhere}.form-notes .form-privacy{margin:0;font-size:12px;line-height:1.65}.form-notes .form-privacy+.form-privacy{margin-top:10px}#inquiry-form #anti-spam:empty{display:none;min-height:0;margin:0}#inquiry-form #form-status{max-width:100%;overflow-wrap:anywhere;font-size:13px;margin-top:14px}@media(max-width:900px){.inquiry-section{grid-template-columns:1fr;gap:28px}#inquiry-form{justify-self:start;max-width:640px}}@media(max-width:760px){.form-grid{grid-template-columns:minmax(0,1fr)}#inquiry-form{max-width:100%}}
.about .about-facts.about-history{grid-template-columns:repeat(2,minmax(0,1fr))}
.about .brand-wall img{width:100%;height:auto;max-height:none;object-fit:cover}
.spam-check{margin:18px 0 22px;grid-template-columns:1fr}.spam-check input{max-width:140px}.spam-check label{font-size:13px}
.office-layout{gap:clamp(32px,5vw,64px)}.office-layout>*{min-width:0}.office-details>div{min-width:0}.office-details p,.office-details a{overflow-wrap:anywhere}.office-faq summary{align-items:center}.office-faq summary>span{flex-shrink:0}.office-faq h2{margin-top:20px}.office-map{clear:both;width:100%}@media(max-width:1050px){.office-layout{grid-template-columns:1fr;gap:40px}.office-faq.service-faq{width:100%;max-width:none}}@media(max-width:380px){.office-details{grid-template-columns:1fr}}
/* Horizontal company identity: symbol left, full company name right. */
.site-header .brand{width:310px;height:auto;overflow:visible;flex:0 0 auto}.site-header .brand img{display:block;width:100%;height:auto;max-height:none;transform:none}.site-header .header-inner{gap:24px}.site-header .header-inner nav{gap:20px}@media(min-width:761px) and (max-width:1100px){.site-header .brand{width:250px}.site-header .header-inner nav{gap:13px}.site-header .header-inner nav a{font-size:12px}.site-header .header-inner{gap:18px;padding-left:24px;padding-right:24px}}@media(max-width:760px){.site-header .brand{width:clamp(195px,58vw,280px)}.site-header .header-inner{gap:12px}.site-header .menu-toggle{font-size:12px;gap:8px}}
@media(min-width:761px) and (max-width:950px){.site-header .brand{width:220px}.site-header .header-inner nav{gap:10px}.site-header .header-inner nav a{font-size:11px}}
.home-page .expertise-row{display:block}.site-footer.compact-footer{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);gap:24px;align-items:center}.site-footer.compact-footer>.facebook-link{grid-column:2;justify-self:center}.site-footer.compact-footer>.privacy-link{grid-column:3;justify-self:end}.site-footer.compact-footer>div{min-width:0}@media(max-width:760px){.site-footer.compact-footer{grid-template-columns:minmax(0,1fr) 44px;gap:16px}.site-footer.compact-footer>div{grid-column:1/-1}.site-footer.compact-footer>.facebook-link{grid-column:1;grid-row:2;justify-self:start}.site-footer.compact-footer>.privacy-link{grid-column:2;grid-row:2;justify-self:end}}
.home-page .hero-bottom{justify-content:center;text-align:center;gap:0}.home-page .hero-bottom .hero-motto{display:block;position:relative;width:fit-content;max-width:100%;padding:12px 64px;color:#e5e7eb;font-size:clamp(11px,1.05vw,15px);line-height:1.8;letter-spacing:.16em;font-weight:400;text-shadow:0 2px 12px #0009}.hero-motto strong{color:#fff;font-weight:650;white-space:nowrap}.hero-motto .motto-dot{color:#e3262a}.hero-motto:before,.hero-motto:after{content:"";position:absolute;top:50%;width:36px;height:1px;background:linear-gradient(90deg,transparent,#e3262a)}.hero-motto:before{left:0}.hero-motto:after{right:0;transform:rotate(180deg)}@media(max-width:760px){.home-page .hero-bottom .hero-motto{padding:10px 30px;font-size:11px;letter-spacing:.09em;max-width:440px}.hero-motto:before,.hero-motto:after{width:18px}}
.equipment-photo{min-width:0}.equipment-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.equipment-photo figcaption{margin-top:10px;font-size:11px;line-height:1.6;color:#aeb5bf}
