:root{--charcoal:#182831;--charcoal-deep:#101d24;--steel:#25404d;--blue:#0a729d;--blue-dark:#075a7d;--ice:#86dceb;--ink:#172c36;--muted:#5b6e77;--line:#d4e0e5;--soft:#edf4f5;--white:#fff;--radius:22px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font:16px/1.6 "Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #20b7d8;outline-offset:4px}
.container{width:min(1300px,calc(100% - 56px));margin-inline:auto}
.section-pad{padding-block:100px}
.skip-link{position:absolute;left:16px;top:-80px;z-index:100;background:#fff;color:var(--ink);padding:10px 16px}
.skip-link:focus{top:12px}
h1,h2,h3,p,figure{margin-top:0}
h1,h2,h3{line-height:1.1;letter-spacing:-.035em}
h2{font-size:clamp(34px,3.6vw,52px);margin-bottom:0}
h3{font-size:24px}
.eyebrow{margin:0 0 17px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.eyebrow-light{color:var(--ice)}
.eyebrow-light:before{content:"";display:inline-block;width:7px;height:7px;margin-right:10px;border-radius:50%;background:var(--ice);box-shadow:0 0 0 5px rgba(134,220,235,.14);vertical-align:2px;animation:beacon 3s ease-in-out infinite}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:20px;min-height:54px;padding:14px 21px;border:1px solid transparent;border-radius:14px;font-size:14px;font-weight:800;line-height:1.2;transition:transform .2s ease,background .2s ease,border-color .2s ease}
.button:hover{transform:translateY(-3px)}
.button-primary{background:#0b83af;color:#fff}
.button-primary:hover{background:#07668f}
.button-ghost{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.55);color:#fff}
.button-ghost:hover{background:rgba(255,255,255,.18)}
.button-dark{background:var(--charcoal);color:#fff}
.button-light{background:var(--blue);color:#fff}
.text-link{display:inline-flex;align-items:center;gap:14px;padding-bottom:5px;border-bottom:2px solid currentColor;color:var(--blue);font-weight:800}
.text-link:hover{color:var(--blue-dark)}
.topbar{background:var(--charcoal-deep);color:#d4e5e9;font-size:12px;font-weight:600}
.topbar-inner{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar a{color:#fff}
.site-header{position:relative;z-index:30;background:#fff;border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:26px;min-height:91px}
.brand{display:block;flex:none}
.brand img{width:325px;height:auto}
.desktop-nav{display:flex;align-items:center;gap:29px;margin-left:auto}
.desktop-nav a{position:relative;padding-block:13px;font-size:14px;font-weight:800;color:#29434f;white-space:nowrap}
.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{color:var(--blue)}
.desktop-nav a[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:3px;border-radius:3px;background:var(--ice)}
.header-cta,.mobile-cta{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:44px;padding:10px 17px;border-radius:12px;background:var(--charcoal);color:#fff;font-size:13px;font-weight:800;white-space:nowrap}
.header-cta:hover,.mobile-cta:hover{background:var(--blue)}
.menu-toggle{display:none;flex:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:46px;height:46px;margin-left:auto;border:1px solid var(--line);border-radius:13px;background:#fff}
.menu-toggle span{display:block;width:20px;height:2px;background:var(--charcoal);transition:transform .2s ease,opacity .2s ease}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none}
.home-hero{position:relative;display:flex;align-items:flex-end;min-height:690px;background:var(--charcoal-deep);color:#fff;overflow:clip}
.home-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%;animation:heroZoom 16s ease-out both}
.home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,26,34,.98) 0%,rgba(10,26,34,.84) 36%,rgba(10,26,34,.23) 75%,rgba(10,26,34,.08) 100%),linear-gradient(0deg,rgba(10,26,34,.46),transparent 40%)}
.home-hero-inner{position:relative;z-index:2;padding-block:115px 112px}
.home-hero h1{max-width:820px;margin:0 0 27px;font-size:clamp(51px,5.7vw,86px);font-weight:850;line-height:1.01;letter-spacing:-.055em}
.home-hero h1 span{color:var(--ice)}
.home-hero-inner>p:not(.eyebrow){max-width:590px;margin:0 0 30px;color:#e6f0f3;font-size:18px;line-height:1.65}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-index{position:absolute;z-index:3;right:max(28px,calc((100vw - 1300px)/2));bottom:30px;display:flex;flex-direction:column;gap:3px;color:#eaf8fa;text-align:right;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.hero-index span:first-child{color:var(--ice);font-size:18px}
.ticker-shell{overflow:hidden;background:#dff3f6;border-block:1px solid #b9dce3}
.ticker-track{display:flex;width:max-content;animation:tickerMove 42s linear infinite}
.ticker-shell:hover .ticker-track,.ticker-shell:focus-within .ticker-track{animation-play-state:paused}
.ticker-group{display:flex;flex:none}
.ticker-group a{display:inline-flex;align-items:center;gap:15px;padding:17px 27px;border-right:1px solid #b9dce3;color:#164252;font-size:13px;font-weight:800;white-space:nowrap}
.ticker-group a:hover{background:#c9eaf0}
.ticker-group a span{color:var(--blue);font-size:17px}
.company-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:95px}
.company-intro-text h2{max-width:590px}
.company-intro-text>p:not(.eyebrow){max-width:570px;margin:25px 0 28px;color:var(--muted);font-size:17px}
.company-intro-photo{margin:0;overflow:hidden;border-radius:34px 9px 34px 9px;box-shadow:0 22px 50px rgba(10,36,46,.12)}
.company-intro-photo img{width:100%;height:460px;object-fit:cover}
.home-services{background:var(--soft)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:36px}
.section-heading h2{max-width:760px}
.section-heading .text-link{white-space:nowrap;margin-bottom:7px}
.home-service-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr);gap:65px;align-items:stretch}
.home-service-list{border-top:1px solid #bfd0d6}
.home-service-list a{display:grid;grid-template-columns:40px minmax(0,1fr) 22px;gap:18px;align-items:center;padding:25px 14px;border-bottom:1px solid #bfd0d6;transition:background .2s ease,transform .2s ease}
.home-service-list a:hover{background:#fff;transform:translateX(5px)}
.home-service-no{color:var(--blue);font-size:12px;font-weight:900}
.home-service-list strong,.home-service-list small{display:block}
.home-service-list strong{font-size:21px;line-height:1.2}
.home-service-list small{margin-top:6px;color:var(--muted);font-size:14px}
.home-service-list b{color:var(--blue);font-size:21px}
.home-service-photo{position:relative;margin:0;overflow:hidden;min-height:590px;border-radius:30px 8px 30px 8px}
.home-service-photo img{width:100%;height:100%;object-fit:cover}
.home-service-photo figcaption{position:absolute;left:19px;bottom:19px;padding:9px 15px;border-radius:10px;background:#fff;color:var(--charcoal);font-size:13px;font-weight:800}
.scroll-story{position:relative;height:190vh;background:var(--charcoal-deep);color:#fff}
.story-backdrop{position:sticky;top:0;height:100vh;background-image:linear-gradient(90deg,rgba(7,23,31,.66),rgba(7,23,31,.2)),url('../img/trabajos/camara-fria-1600.webp');background-size:cover;background-position:center}
.story-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-around;min-height:190vh;margin-top:-100vh;padding-block:16vh}
.story-copy{width:min(600px,100%);padding:32px 36px;border:1px solid rgba(191,237,245,.24);border-radius:28px;background:rgba(10,29,38,.78);backdrop-filter:blur(6px)}
.story-copy-right{align-self:flex-end}
.story-copy h2{color:#fff;font-size:clamp(34px,3.8vw,56px)}
.story-copy p:not(.eyebrow){max-width:500px;margin:18px 0 0;color:#e0eff1}
.story-copy .button{margin-top:22px}
.story-small,.story-small .story-content{height:150vh;min-height:150vh}
.home-work-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:16px}
.home-work-grid figure{position:relative;height:390px;margin:0;overflow:hidden;border-radius:25px}
.home-work-grid img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.home-work-grid figure:hover img{transform:scale(1.04)}
.home-work-grid figure:after,.gallery-grid figure:after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(9,26,34,.8));pointer-events:none}
.home-work-grid figcaption,.gallery-grid figcaption{position:absolute;z-index:1;left:22px;bottom:20px;color:#fff;font-size:18px;font-weight:800}
.contact-section{background:linear-gradient(125deg,#172c36,#234e5d);color:#fff;padding-block:84px}
.contact-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.65fr);gap:clamp(28px,6vw,90px);align-items:center}
.contact-inner h2{max-width:760px;color:#fff}
.contact-inner p:not(.eyebrow){max-width:620px;margin:22px 0 0;color:#dcebf0}
.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:17px}
.contact-actions .button{min-width:0;width:100%}
.contact-phone{display:flex;flex-direction:column;gap:2px}
.contact-phone span{color:#b9d4dd;font-size:13px}
.contact-phone strong{font-size:26px;line-height:1.2;color:#fff}
.contact-phone:hover strong{text-decoration:underline}
.contact-more{color:var(--ice);font-weight:800;border-bottom:1px solid currentColor}
.page-hero{position:relative;display:flex;align-items:center;min-height:365px;background-color:var(--charcoal);background-size:cover;background-position:center;color:#fff}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,29,37,.94),rgba(11,29,37,.7) 58%,rgba(11,29,37,.27))}
.company-hero{background-image:url('../img/trabajos/equipo-trabajo-976.webp')}
.services-hero{background-image:url('../img/trabajos/camara-fria-1600.webp')}
.work-hero{background-image:url('../img/trabajos/mantenimiento-equipo-978.webp')}
.contact-hero{background-image:url('../img/trabajos/aire-acondicionado-1280.webp')}
.page-hero-inner{position:relative;z-index:1;padding-block:75px}
.page-hero h1{max-width:900px;margin:0 0 14px;font-size:clamp(43px,4.9vw,72px)}
.page-hero p:not(.eyebrow){max-width:690px;margin:0;color:#e0edf0;font-size:18px}
.interior-grid{display:grid;grid-template-columns:285px minmax(0,1fr);gap:68px;align-items:start;padding-block:82px}
.interior-grid>*{min-width:0}
.service-sidebar{position:sticky;top:22px;max-height:calc(100vh - 44px);overflow-y:auto;padding:22px;background:#eef5f6;border:1px solid #d7e6e9;border-radius:22px;scrollbar-color:#8ab7c1 transparent;scrollbar-width:thin}
.sidebar-kicker{color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.sidebar-head h2{margin:4px 0 5px;font-size:28px}
.sidebar-head p{margin:0 0 22px;color:var(--muted);font-size:13px;line-height:1.45}
.sidebar-group{margin-bottom:21px}
.sidebar-group-title{margin:0 0 7px;color:#607983;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.sidebar-link{display:flex;justify-content:space-between;gap:8px;padding:9px 10px;margin-inline:-10px;border-bottom:1px solid #d6e4e8;border-radius:9px;color:#2b4652;font-size:13px;font-weight:700;line-height:1.35;transition:background .2s ease,transform .2s ease}
.sidebar-link:hover{background:#deedf0;transform:translateX(3px)}
.sidebar-link.is-current,.sidebar-link[aria-current="page"]{background:#d4edf2;color:#045f82;font-weight:900}
.sidebar-link span:last-child{color:var(--blue)}
.sidebar-cta{padding:16px;background:var(--charcoal);border-radius:14px;color:#fff}
.sidebar-cta span{display:block;margin-bottom:7px;font-size:12px;color:#cde5e9}
.sidebar-cta a{color:#fff;font-size:13px;font-weight:800}
.interior-content{min-width:0}
.content-section{margin-bottom:78px}
.content-section h2{max-width:840px}
.content-section p:not(.eyebrow){max-width:790px;margin:21px 0 0;color:var(--muted);font-size:17px}
.content-section p+p{margin-top:15px!important}
.purpose-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:82px}
.purpose-panel{min-height:305px;padding:35px;border-radius:27px 7px 27px 7px;background:var(--charcoal);color:#fff}
.purpose-panel-vision{background:#dff1f4;color:var(--ink)}
.purpose-no{display:block;margin-bottom:45px;color:var(--ice);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.purpose-panel-vision .purpose-no{color:var(--blue)}
.purpose-panel h2{font-size:37px;color:inherit}
.purpose-panel p{margin:16px 0 0;line-height:1.58}
.approach-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.approach-list>div{padding:20px 0;border-top:2px solid var(--blue)}
.approach-list span{display:block;margin-bottom:32px;color:var(--blue);font-size:12px;font-weight:900}
.approach-list h3{margin:0 0 8px}
.approach-list p{margin:0!important;color:var(--muted);font-size:14px!important}
.image-copy{display:grid;grid-template-columns:.95fr 1fr;align-items:center;gap:36px;padding-block:18px}
.image-copy img{width:100%;height:410px;object-fit:cover;border-radius:30px 8px 30px 8px}
.image-copy h2{font-size:clamp(30px,3vw,44px)}
.image-copy p:not(.eyebrow){color:var(--muted);margin:20px 0}
.directory-intro{margin-bottom:38px}
.directory-group{margin-bottom:65px}
.directory-group-head{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-top:2px solid var(--charcoal);border-bottom:1px solid var(--line);color:var(--charcoal);font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.directory-entry{display:grid;grid-template-columns:minmax(0,1fr) 38%;gap:35px;align-items:center;padding:40px 0;border-bottom:1px solid var(--line);scroll-margin-top:20px}
.directory-entry:nth-of-type(even) img{order:-1}
.directory-entry-copy{min-width:0}
.directory-count{color:var(--blue);font-size:12px;font-weight:900}
.directory-entry h3{margin:12px 0;font-size:clamp(27px,2.8vw,38px)}
.directory-entry p{margin:0 0 17px;color:var(--muted)}
.directory-entry ul{margin:0 0 18px;padding-left:20px;color:#2e4a55;font-size:14px}
.directory-entry li{margin-bottom:6px}
.directory-entry img{width:100%;height:260px;object-fit:cover;border-radius:24px 7px 24px 7px}
.service-page-hero{background:linear-gradient(125deg,#172a34,#254b59);color:#fff;padding-block:70px}
.breadcrumb{display:flex;align-items:center;gap:12px;margin:0 0 40px;color:#c3dbe2;font-size:12px;font-weight:800}
.breadcrumb a{text-decoration:underline}
.service-page-hero-inner{display:flex;justify-content:space-between;align-items:end;gap:40px}
.service-page-hero h1{max-width:850px;margin:0 0 16px;font-size:clamp(43px,5.4vw,75px)}
.service-page-hero-inner p:not(.eyebrow){max-width:700px;margin:0;color:#e1edf0;font-size:20px}
.service-page-hero .button{flex:none;margin-bottom:5px}
.service-intro h2{font-size:clamp(30px,3.1vw,46px)}
.service-sticky-layout{display:grid;grid-template-columns:39% minmax(0,1fr);align-items:start;gap:34px;margin-bottom:80px}
.service-sticky-media{position:sticky;top:25px;margin:0;overflow:hidden;border-radius:26px 8px 26px 8px}
.service-sticky-media img{width:100%;height:420px;object-fit:cover}
.service-sticky-text>section{min-height:315px;padding-block:15px 45px}
.service-sticky-text h2{font-size:clamp(28px,2.7vw,39px);margin-bottom:24px}
.numbered-points,.signal-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.numbered-points li{display:flex;gap:17px;padding:16px 0;border-bottom:1px solid var(--line);font-weight:700}
.numbered-points span{color:var(--blue);font-size:12px;font-weight:900}
.signal-list li{padding:14px 0 14px 25px;border-bottom:1px solid var(--line);position:relative}
.signal-list li:before{content:"+";position:absolute;left:0;color:var(--blue);font-weight:900}
.prepare-panel{padding:38px;border-radius:28px;background:#eaf3f5;margin-bottom:75px}
.prepare-panel h2{font-size:clamp(29px,3vw,42px)}
.prepare-panel ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 22px;margin:27px 0 18px;padding-left:20px}
.prepare-panel p:not(.eyebrow){color:var(--muted)}
.prepare-panel .button{margin-top:8px}
.related-services h2{font-size:clamp(28px,3vw,41px);margin-bottom:22px}
.related-services>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.related-services a{display:flex;align-items:end;justify-content:space-between;gap:10px;min-height:122px;padding:18px;background:#f0f5f6;border:1px solid var(--line);border-radius:16px;font-weight:800;line-height:1.3}
.related-services a:hover{background:#dff0f3}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.gallery-grid figure{position:relative;margin:0;height:315px;overflow:hidden;border-radius:25px}
.gallery-grid .gallery-large{grid-row:span 2;height:auto;min-height:647px}
.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.gallery-grid figure:hover img{transform:scale(1.035)}
.contact-methods{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}
.contact-methods a{position:relative;display:flex;flex-direction:column;min-height:210px;padding:27px;background:var(--charcoal);border-radius:24px 8px 24px 8px;color:#fff;transition:transform .2s ease}
.contact-methods a:nth-child(2){background:#dff1f4;color:var(--ink)}
.contact-methods a:hover{transform:translateY(-4px)}
.contact-methods span{font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--ice)}
.contact-methods a:nth-child(2) span{color:var(--blue)}
.contact-methods strong{margin-top:auto;font-size:30px}
.contact-methods em{font-style:normal;font-size:17px}
.contact-methods b{position:absolute;right:25px;top:25px;font-size:23px}
.contact-prep>div{border-top-color:var(--ice)}
.faq-list{margin-top:30px;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{display:flex;justify-content:space-between;gap:20px;list-style:none;padding:18px 0;color:var(--ink);font-weight:800;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{font-size:23px;color:var(--blue);line-height:1}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{margin:0 0 20px;color:var(--muted)}
.not-found{padding-block:100px;min-height:55vh}
.not-found h1{font-size:clamp(40px,5vw,65px)}
.not-found p:not(.eyebrow){color:var(--muted)}
.result-page{min-height:55vh;padding:75px 24px;background:var(--soft)}
.result-card{max-width:700px;margin:auto;background:#fff;border:1px solid var(--line);padding:45px;border-radius:22px}
.result-card h1{font-size:clamp(32px,4vw,48px)}
.result-card .text-link{margin-left:20px}
.site-footer{background:#f9fbfb;color:var(--ink)}
.footer-main{display:grid;grid-template-columns:1.5fr .65fr 1fr .9fr;gap:45px;padding-block:62px}
.footer-brand img{width:320px}
.footer-main p{max-width:370px;margin:9px 0 0;color:var(--muted);font-size:14px}
.footer-main h2{margin:8px 0 17px;font-size:15px;letter-spacing:0}
.footer-main>div:not(:first-child) a{display:block;margin-bottom:10px;color:#34505b;font-size:14px}
.footer-main a:hover{color:var(--blue)}
.footer-bottom{background:var(--charcoal-deep);color:#bed1d7;font-size:12px}
.footer-bottom .container{display:flex;justify-content:space-between;gap:20px;padding-block:15px}
.reveal.is-visible{animation:riseIn .7s ease both}
@keyframes riseIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes beacon{50%{box-shadow:0 0 0 11px rgba(134,220,235,0)}}
@keyframes tickerMove{to{transform:translateX(-50%)}}
@keyframes heroZoom{from{opacity:.72}to{opacity:1}}
@media(max-width:1170px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex}.mobile-nav{display:flex;flex-direction:column;padding:10px max(28px,calc((100vw - 1300px)/2)) 24px;border-top:1px solid var(--line)}.mobile-nav a{padding:11px 0;border-bottom:1px solid var(--line);font-weight:800}.mobile-nav .mobile-cta{align-self:flex-start;margin-top:12px;padding:10px 17px;border:0;color:#fff}.header-inner{justify-content:space-between}}
@media(max-width:1000px){.section-pad{padding-block:78px}.company-intro-grid{gap:44px}.home-service-grid{gap:35px}.home-service-photo{min-height:520px}.interior-grid{grid-template-columns:245px minmax(0,1fr);gap:35px}.sidebar-head p{font-size:12px}.service-page-hero-inner{align-items:start;flex-direction:column}.service-page-hero .button{margin-top:4px}.related-services>div{grid-template-columns:1fr 1fr}.gallery-grid .gallery-large{min-height:500px}}
@media(max-width:760px){.container{width:calc(100% - 34px)}.section-pad{padding-block:64px}.topbar-inner{justify-content:center}.topbar-inner span{display:none}.header-inner{min-height:75px}.brand img{width:min(74vw,270px)}.home-hero{min-height:690px}.home-hero-photo{object-position:58% center}.home-hero:after{background:linear-gradient(90deg,rgba(10,26,34,.94),rgba(10,26,34,.65) 65%,rgba(10,26,34,.36))}.home-hero-inner{padding-block:94px 80px}.home-hero h1{font-size:clamp(43px,9vw,62px);max-width:610px}.home-hero-inner>p:not(.eyebrow){font-size:16px}.hero-index{right:18px;bottom:18px}.company-intro-grid,.home-service-grid,.contact-inner,.interior-grid,.image-copy,.service-sticky-layout{grid-template-columns:1fr;gap:30px}.company-intro-photo img{height:320px}.home-service-photo{min-height:0;height:370px}.section-heading{align-items:start;flex-direction:column;gap:20px}.home-work-grid{grid-template-columns:1fr 1fr}.home-work-grid figure{height:295px}.home-work-grid figure:first-child{grid-column:1/-1;height:340px}.scroll-story,.story-small{height:auto;min-height:0}.story-backdrop{position:absolute;inset:0;height:100%}.story-content,.story-small .story-content{min-height:0;height:auto;margin-top:0;gap:35px;padding-block:80px}.story-copy{padding:25px}.story-copy-right{align-self:auto}.page-hero{min-height:320px}.page-hero-inner{padding-block:65px}.page-hero h1{font-size:clamp(41px,7.5vw,57px)}.interior-grid{padding-block:55px}.service-sidebar{position:static;top:auto;max-height:none;overflow:visible;padding:18px}.sidebar-head p{margin-bottom:10px}.sidebar-nav{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:10px}.sidebar-group{flex:none;width:255px;margin-bottom:0;scroll-snap-align:start}.sidebar-cta{margin-top:12px}.content-section{margin-bottom:58px}.purpose-grid{margin-bottom:60px}.service-sticky-media{position:relative;top:auto}.service-sticky-media img{height:340px}.service-sticky-text>section{min-height:0;padding-block:0 45px}.directory-entry{gap:20px}.contact-section{padding-block:64px}.contact-inner{gap:29px}.footer-main{grid-template-columns:1fr 1fr;gap:26px;padding-block:48px}.footer-brand-block{grid-column:1/-1}}
@media(max-width:520px){.container{width:calc(100% - 28px)}.brand img{width:min(72vw,250px)}.home-hero{min-height:660px}.home-hero-inner{padding-block:85px 80px}.home-hero h1{font-size:clamp(39px,10vw,49px)}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.hero-index{display:none}.ticker-group a{padding:15px 22px}.company-intro-photo img{height:280px}.home-service-list a{grid-template-columns:28px minmax(0,1fr) 18px;gap:10px;padding:21px 4px}.home-service-list strong{font-size:18px}.home-service-list small{font-size:13px}.home-service-photo{height:310px}.home-work-grid{grid-template-columns:1fr}.home-work-grid figure,.home-work-grid figure:first-child{grid-column:auto;height:280px}.story-copy h2{font-size:34px}.page-hero h1{font-size:clamp(37px,10vw,48px)}.page-hero p:not(.eyebrow){font-size:16px}.content-section h2,h2{font-size:clamp(30px,8vw,39px)}.purpose-grid,.approach-list,.contact-methods,.prepare-panel ul,.related-services>div,.gallery-grid{grid-template-columns:1fr}.purpose-panel{min-height:0;padding:27px}.purpose-no{margin-bottom:27px}.approach-list{gap:4px}.approach-list span{margin-bottom:13px}.image-copy img{height:285px}.directory-entry{grid-template-columns:1fr;padding:30px 0}.directory-entry:nth-of-type(even) img{order:0}.directory-entry img{height:240px}.service-page-hero{padding-block:51px}.breadcrumb{margin-bottom:28px}.service-page-hero h1{font-size:clamp(40px,10vw,52px)}.service-page-hero-inner p:not(.eyebrow){font-size:17px}.service-sticky-media img{height:260px}.prepare-panel{padding:25px}.gallery-grid figure,.gallery-grid .gallery-large{height:270px;min-height:0;grid-row:auto}.contact-actions .button{width:100%;min-width:0}.footer-main{grid-template-columns:1fr}.footer-brand-block{grid-column:auto}.footer-bottom .container{flex-direction:column;gap:4px}.result-card{padding:28px}.result-card .text-link{margin:18px 0 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.home-hero-photo,.ticker-track,.eyebrow-light:before,.reveal.is-visible{animation:none!important}.ticker-shell{overflow-x:auto}.ticker-duplicate{display:none}*,*:before,*:after{transition-duration:.01ms!important}}

