:root{
  --paper:#f5f3ef;
  --paper-2:#ece9e3;
  --surface:#ffffff;
  --ink:#111417;
  --deep:#1d272c;
  --muted:#697378;
  --line:rgba(17,20,23,.13);
  --line-light:rgba(255,255,255,.16);
  --accent:#c7b49a;
  --accent-soft:#e8ded0;
  --radius:22px;
  --radius-sm:14px;
  --shadow:0 18px 50px rgba(18,25,28,.10);
  --page:min(1320px,calc(100% - 48px));
  --header-h:86px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 18px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
body.menu-open,body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
img{display:block;max-width:100%;height:auto}
.page-container{width:var(--page);margin-inline:auto}
.section{padding:108px 0}
.section-muted{background:var(--paper-2)}
.section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:42px}
.section-heading h2{margin:0;font-size:clamp(36px,4vw,60px);line-height:1.04;letter-spacing:-.045em;font-weight:760}
.section-intro{max-width:690px;margin:4px 0 0;color:var(--muted);font-size:18px}

.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 23px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:transparent;color:#fff;font-weight:700;transition:.22s ease;cursor:pointer}
.button:hover{transform:translateY(-2px)}
.button-primary{background:#fff;color:var(--ink);border-color:#fff}
.button-primary:hover{background:#eeeae4}
.button-secondary:hover{background:rgba(255,255,255,.1)}
.button-dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.button-dark:hover{background:#2a3033}

/* Header */
.site-header{position:sticky;top:0;z-index:120;background:rgba(249,248,245,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
.header-shell{height:var(--header-h);width:min(1480px,calc(100% - 32px));margin:auto;display:grid;grid-template-columns:auto minmax(380px,1fr) auto;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;min-width:max-content}
.brand-logo{width:38px;height:38px;}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-copy strong{font-size:18px;letter-spacing:.12em;font-weight:800}
.brand-copy small{margin-top:5px;color:#71797d;letter-spacing:.08em;text-transform:uppercase}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0}
.nav-link{border:0;background:none;padding:12px 13px;border-radius:12px;font-size:15px;font-weight:650;white-space:nowrap;cursor:pointer;transition:.18s ease}
.nav-link:hover,.nav-link:focus-visible{background:#ebe8e2;outline:none}
.nav-dropdown{position:relative}
.nav-dropdown-toggle{display:flex;align-items:center;gap:7px}
.chevron{width:7px;height:7px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:.2s}
.nav-dropdown.is-open .chevron{transform:rotate(225deg) translate(-1px,-1px)}
.nav-dropdown-menu{position:absolute;left:0;top:calc(100% + 10px);width:260px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease}
.nav-dropdown.is-open .nav-dropdown-menu{opacity:1;visibility:visible;transform:none}
.nav-dropdown-menu a{display:block;padding:11px 12px;border-radius:10px;font-size:14px;font-weight:620}
.nav-dropdown-menu a:hover{background:#f0ede8}
.header-actions{display:flex;align-items:center;gap:12px;min-width:max-content}
.header-socials{display:flex;gap:7px;align-items:center}
.social-head{position:relative;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;transition:.2s ease}
.social-head img{width:20px;height:20px}
.social-head:hover{transform:translateY(-2px);border-color:rgba(17,20,23,.32)}
.social-head-label{position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%,-4px);padding:5px 8px;border-radius:7px;background:#111417;color:#fff;font-size:11px;font-weight:650;white-space:nowrap;opacity:0;visibility:hidden;transition:.15s;pointer-events:none}
.social-head:hover .social-head-label,.social-head:focus-visible .social-head-label{opacity:1;visibility:visible;transform:translate(-50%,0)}
.call-button{height:42px;padding:0 14px;border-radius:999px;background:var(--ink);color:#fff;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:720}
.call-button img{width:16px;height:16px;filter:invert(1)}
.header-phone{font-size:17px;font-weight:780;white-space:nowrap;letter-spacing:-.02em}
.header-phone:hover{text-decoration:underline;text-underline-offset:4px}
.mobile-menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;position:relative;cursor:pointer}
.mobile-menu-toggle span{position:absolute;left:11px;width:20px;height:1.5px;background:var(--ink);transition:.2s}
.mobile-menu-toggle span:first-child{top:17px}.mobile-menu-toggle span:last-child{top:24px}
.mobile-menu-toggle[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.mobile-menu-toggle[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}
.mobile-menu{display:none}

/* Main hero */
.hero{position:relative;min-height:690px;display:flex;align-items:flex-end;overflow:hidden;background:#293236}
.hero-background{position:absolute;inset:0;background-position:center 42%;background-size:cover;background-repeat:no-repeat;transform:scale(1.015)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,14,17,.82) 0%,rgba(9,14,17,.54) 48%,rgba(9,14,17,.16) 75%),linear-gradient(0deg,rgba(9,14,17,.54),transparent 48%)}
.hero-content{position:relative;z-index:1;padding:120px 0 88px;color:#fff}
.hero-copy{max-width:800px}
.hero h1{margin:0;font-size:clamp(52px,7.4vw,104px);line-height:.92;letter-spacing:-.06em;font-weight:780}
.hero-description{max-width:720px;margin:27px 0 0;color:rgba(255,255,255,.84);font-size:clamp(18px,2vw,23px);line-height:1.48}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}

/* Service cards */

.service-card{position:relative;min-height:390px;border-radius:var(--radius);overflow:hidden;background:#303638;color:#fff;box-shadow:0 1px 0 rgba(17,20,23,.08);isolation:isolate}
.service-card:nth-child(-n/**/+3){grid-column:span 2}.service-card:nth-child(n/**/+4){grid-column:span 3;min-height:360px}
.service-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.service-gradient{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,10,.02) 22%,rgba(5,8,10,.24) 53%,rgba(5,8,10,.94) 100%);z-index:1;transition:.3s}
.service-content{position:absolute;inset:0;z-index:2;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;gap:13px;text-shadow:0 2px 16px rgba(0,0,0,.34)}

.service-content h3{margin:0;font-size:clamp(23px,2vw,31px);line-height:1.05;letter-spacing:-.035em}
.service-content p{margin:10px 0 0;max-width:520px;color:rgba(255,255,255,.9);font-size:15px;line-height:1.45}
.service-link{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:760;color:#fff}
.service-link span{transition:.2s}
.service-card:hover .service-image{transform:scale(1.045)}
.service-card:hover .service-gradient{background:linear-gradient(180deg,rgba(5,8,10,.04) 18%,rgba(5,8,10,.32) 50%,rgba(5,8,10,.96) 100%)}
.service-card:hover .service-link span{transform:translate(3px,-2px)}

/* Generic process */

/* Home works */
.portfolio-heading{display:grid;grid-template-columns:1fr minmax(280px,560px);align-items:end;gap:30px}
.home-works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.home-work-card{position:relative;aspect-ratio:4/3;border:0;padding:0;border-radius:18px;overflow:hidden;background:#d7d3cc;cursor:zoom-in}
.home-work-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .3s ease}
.home-work-card::after{content:"Открыть";position:absolute;right:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(17,20,23,.74);color:#fff;font-size:11px;font-weight:700;opacity:0;transform:translateY(5px);transition:.2s}
.home-work-card:hover img{transform:scale(1.025);filter:brightness(.92)}
.home-work-card:hover::after{opacity:1;transform:none}
.works-more{display:flex;justify-content:center;margin-top:32px}
.works-more .button{border-color:var(--ink);color:var(--ink)}
.works-more .button:hover{background:var(--ink);color:#fff}

/* Contact */
.contact{background:#1c252a;color:#fff}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,.86fr);gap:80px;align-items:start}
.contact-copy h2{margin:12px 0 20px;font-size:clamp(38px,5vw,68px);line-height:1.02;letter-spacing:-.05em}
.contact-copy>p:not(.eyebrow):not(.service-area){max-width:590px;color:rgba(255,255,255,.68);font-size:17px}
.service-area{display:flex;gap:11px;margin:30px 0 18px;color:rgba(255,255,255,.78)}
.service-area img{width:19px;height:19px;filter:invert(1);opacity:.86;margin-top:3px}
.contact-phone{display:inline-flex;align-items:center;gap:11px;font-size:clamp(23px,3vw,34px);font-weight:760;letter-spacing:-.03em;margin:3px 0 24px}
.contact-phone img{filter:invert(1)}

.contact-social{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--line-light);border-radius:999px;font-size:13px;font-weight:680;background:rgba(255,255,255,.04)}
.contact-social img{width:18px;height:18px;filter:invert(1)}
.contact-social:hover{background:rgba(255,255,255,.1)}
.contact-form{background:#fff;color:var(--ink);padding:28px;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.18)}
.contact-form label{display:block;margin-bottom:16px}
.contact-form label>span:first-child{display:block;margin-bottom:7px;font-size:12px;font-weight:720;color:#5b6468}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.contact-form input[type="text"],.contact-form input[type="tel"],.contact-form textarea{width:100%;border:1px solid #d9d6d0;border-radius:12px;background:#f9f8f5;padding:13px 14px;color:var(--ink);outline:none;transition:.18s}
.contact-form textarea{min-height:126px;resize:vertical;max-height:360px}
.contact-form input:focus,.contact-form textarea:focus{border-color:#8d8b87;background:#fff;box-shadow:0 0 0 3px rgba(29,39,44,.07)}

.form-submit{width:100%;justify-content:space-between;border-radius:12px;margin-top:4px}
.form-status{min-height:20px;margin:12px 0 0;font-size:13px}.form-status.success{color:#287148}.form-status.error{color:#a44242}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.service-select{position:relative}.native-service-select{width:100%;height:50px;border:1px solid #d9d6d0;border-radius:12px;background:#f9f8f5;padding:0 14px;color:var(--ink)}
.service-select-trigger{width:100%;height:50px;border:1px solid #d9d6d0;border-radius:12px;background:#f9f8f5;display:flex;align-items:center;justify-content:space-between;padding:0 14px;text-align:left;color:#737a7d;cursor:pointer}
.service-select-trigger.has-value{color:var(--ink)}
.service-select-chevron{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:.18s}
.service-select.is-open .service-select-chevron{transform:rotate(225deg)}
.service-select-menu{position:absolute;z-index:25;left:0;right:0;top:calc(100% + 7px);padding:7px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-5px);transition:.16s}
.service-select.is-open .service-select-menu{opacity:1;visibility:visible;transform:none}
.service-select-option{display:block;width:100%;border:0;background:none;padding:10px 11px;border-radius:8px;text-align:left;cursor:pointer;font-size:14px}.service-select-option:hover{background:#f1efeb}

/* Footer */
.site-footer{background:#111719;color:#fff}
.footer-main{width:var(--page);margin:auto;padding:72px 0 56px;display:grid;grid-template-columns:1.25fr .72fr 1fr 1.15fr;gap:56px}
.footer-brand{display:flex;align-items:center;gap:11px}.footer-brand img{width:46px;height:46px;filter:invert(1) grayscale(1) brightness(3)}
.footer-brand-copy{display:flex;flex-direction:column;line-height:1}.footer-brand-copy strong{font-size:23px;letter-spacing:.12em}.footer-brand-copy small{margin-top:5px;color:rgba(255,255,255,.55);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.footer-brand-column p,.footer-column p{color:rgba(255,255,255,.58);font-size:13px;max-width:320px}
.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-column h3{margin:0 0 9px;font-size:13px;color:rgba(255,255,255,.5);letter-spacing:.12em;text-transform:uppercase}.footer-column>a{font-size:14px;color:rgba(255,255,255,.82)}.footer-column>a:hover{color:#fff}
.footer-phone{display:flex!important;align-items:center;gap:9px;font-size:20px!important;font-weight:760}.footer-phone img{width:19px;height:19px;filter:invert(1)}
.footer-socials{display:flex;gap:8px}.footer-social{width:38px;height:38px;border-radius:50%;background:#fff;display:grid;place-items:center}.footer-social img{width:18px;height:18px}
.footer-area{margin-top:8px}.footer-bottom{min-height:72px;width:var(--page);margin:auto;border-top:1px solid rgba(255,255,255,.11);display:flex;align-items:center;justify-content:space-between;gap:20px;color:rgba(255,255,255,.48);font-size:12px}.footer-meta{display:flex;gap:20px;align-items:center}.footer-meta a:hover{color:#fff}

/* Inner generic service pages */

.service-home-link{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:690;margin-bottom:52px}

/* Ceiling page */
.ceiling-hero{position:relative;min-height:650px;display:flex;align-items:flex-end;background:#192126;color:#fff;overflow:hidden}
.ceiling-hero-bg{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;transform:scale(1.02)}
.ceiling-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,16,.88),rgba(10,14,16,.5) 56%,rgba(10,14,16,.18)),linear-gradient(0deg,rgba(10,14,16,.54),transparent 55%)}
.ceiling-hero-inner{position:relative;z-index:1;padding:62px 0 78px}.ceiling-hero .service-home-link{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);margin-bottom:48px}
.ceiling-hero h1{max-width:760px;margin:0;font-size:clamp(58px,8vw,106px);line-height:.9;letter-spacing:-.06em}.service-hero-lead{max-width:740px;margin:27px 0 0;color:rgba(255,255,255,.8);font-size:19px}.service-hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:30px}

.ceiling-catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ceiling-card{position:relative;border:0;padding:0;border-radius:19px;overflow:hidden;text-align:left;background:#d9d5cf;color:#fff;cursor:pointer;box-shadow:0 1px 0 rgba(0,0,0,.06);transition:transform .25s ease,box-shadow .25s ease}.ceiling-card[hidden]{display:none}.ceiling-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.ceiling-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 37%,rgba(8,11,13,.22) 58%,rgba(8,11,13,.92) 100%);transition:.25s}.ceiling-card-copy{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;gap:14px}.ceiling-card-copy strong{font-size:21px;line-height:1.08;letter-spacing:-.025em;text-shadow:0 2px 12px rgba(0,0,0,.35)}.ceiling-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(18,25,28,.15)}.ceiling-card:hover img{transform:scale(1.045)}.ceiling-card:hover::after{background:linear-gradient(180deg,transparent 30%,rgba(8,11,13,.28) 56%,rgba(8,11,13,.95) 100%)}

.ceiling-works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.ceiling-work{border:0;padding:0;aspect-ratio:4/3;border-radius:17px;overflow:hidden;background:#d9d5ce;cursor:zoom-in}.ceiling-work img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.ceiling-work:hover img{transform:scale(1.025)}

.before-install{max-width:950px}.before-row{display:grid;grid-template-columns:62px minmax(160px,290px) 1fr;gap:22px;padding:24px 0;border-top:1px solid var(--line)}.before-row:last-child{border-bottom:1px solid var(--line)}.before-row b{font-size:12px;letter-spacing:.1em;color:#808589}.before-row h3{margin:0;font-size:20px}.before-row p{margin:0;color:var(--muted)}
.faq-list{max-width:980px;border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;border:0;background:none;padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;text-align:left;font-size:18px;font-weight:700;cursor:pointer}.faq-plus{font-size:25px;font-weight:300;transition:transform .22s}.faq-item.is-open .faq-plus{transform:rotate(45deg)}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.faq-answer>div{overflow:hidden}.faq-answer p{max-width:830px;margin:0;padding:0 0 22px;color:var(--muted)}.faq-item.is-open .faq-answer{grid-template-rows:1fr}

/* Ceiling detail modal */
.ceiling-detail{position:fixed;inset:0;z-index:260;display:grid;place-items:center;padding:24px;background:rgba(8,11,13,.77);backdrop-filter:blur(9px);opacity:0;visibility:hidden;transition:opacity .2s}.ceiling-detail.is-open{opacity:1;visibility:visible}.ceiling-detail-panel{position:relative;width:min(980px,100%);max-height:min(720px,calc(100vh - 48px));overflow:auto;background:#fff;border-radius:22px;display:grid;grid-template-columns:1.1fr .9fr;box-shadow:0 34px 100px rgba(0,0,0,.28)}.ceiling-detail-media{min-height:430px;background:#ddd}.ceiling-detail-media img{width:100%;height:100%;object-fit:cover}.ceiling-detail-copy{padding:42px;display:flex;flex-direction:column;justify-content:center}.ceiling-detail-copy small{color:#7e8588;font-size:11px;font-weight:760;letter-spacing:.13em;text-transform:uppercase}.ceiling-detail-copy h2{margin:10px 0 16px;font-size:38px;line-height:1.03;letter-spacing:-.045em}.ceiling-detail-copy p{margin:0;color:var(--muted);font-size:16px}.ceiling-detail-close{position:absolute;z-index:2;right:14px;top:14px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(17,20,23,.78);color:#fff;font-size:24px;cursor:pointer}

/* Gallery page */
.gallery-hero{padding:70px 0 46px;background:#f7f5f1}.gallery-hero .service-home-link{margin-bottom:42px}.gallery-hero h1{margin:0;font-size:clamp(54px,8vw,104px);line-height:.92;letter-spacing:-.06em}.gallery-hero p{max-width:720px;color:var(--muted);font-size:18px}.gallery-page{padding:16px 0 100px;background:#f7f5f1}.gallery-columns{column-count:5;column-gap:10px}.gallery-item{width:100%;display:block;border:0;padding:0;margin:0 0 10px;border-radius:12px;overflow:hidden;background:#ddd;break-inside:avoid;cursor:zoom-in}.gallery-item img{width:100%;height:auto;transition:transform .35s ease,filter .25s}.gallery-item:hover img{transform:scale(1.018);filter:brightness(.94)}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(5,7,8,.94);display:grid;place-items:center;padding:46px 76px;opacity:0;visibility:hidden;transition:opacity .18s}.lightbox.is-open{opacity:1;visibility:visible}.lightbox-content{margin:0;max-width:min(1400px,calc(100vw - 150px));max-height:calc(100vh - 92px);display:flex;align-items:center;justify-content:center}.lightbox-content img{max-width:100%;max-height:calc(100vh - 92px);object-fit:contain;border-radius:5px}.lightbox-close{position:absolute;right:22px;top:18px;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:27px;cursor:pointer}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:25px;cursor:pointer}.lightbox-prev{left:18px}.lightbox-next{right:18px}.lightbox-counter{position:absolute;left:50%;bottom:15px;transform:translateX(-50%);color:rgba(255,255,255,.72);font-size:12px;font-weight:650;letter-spacing:.08em}

/* Focus */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #9e8566;outline-offset:3px}

@media (max-width:1280px){
  :root{--page:min(1180px,calc(100% - 40px))}
  .header-shell{grid-template-columns:auto 1fr auto;gap:14px}
  .nav-link{padding:11px 9px;font-size:14px}.header-actions{gap:8px}.header-phone{font-size:15px}.call-button{padding:0 11px}.social-head{width:40px;height:40px}
  
  .gallery-columns{column-count:4}
}
@media (max-width:1120px){
  :root{--header-h:76px}
  .header-shell{grid-template-columns:auto 1fr auto}.desktop-nav,.header-actions{display:none}.mobile-menu-toggle{display:block;justify-self:end}.mobile-menu{left:0;top:var(--header-h);max-height:calc(100vh - var(--header-h));border-bottom:1px solid var(--line);padding:18px max(20px,calc((100vw - 980px)/2));transform:translateY(-8px);transition:.18s}.mobile-menu.open{transform:none}.mobile-menu a{display:flex;align-items:center;min-height:46px;padding:8px 4px;border-bottom:1px solid rgba(17,20,23,.08);font-weight:650}.mobile-menu .mobile-sub{padding-left:18px;color:#646d71;font-size:14px}.mobile-call{gap:10px!important;border-bottom:0!important;margin-top:7px}.mobile-call img{width:18px;height:18px}
  .contact-grid{grid-template-columns:1fr;gap:44px}.contact-form{max-width:720px}
  .footer-main{grid-template-columns:1.2fr 1fr 1fr;gap:40px}.footer-brand-column{grid-column:1/-1}
  .ceiling-catalog{grid-template-columns:repeat(2,1fr)}
  .gallery-columns{column-count:3}
}
@media (max-width:820px){
  :root{--page:calc(100% - 30px)}
  .section{padding:78px 0}.section-heading{margin-bottom:30px}.section-intro{font-size:16px}
  .hero{min-height:620px}.hero-content{padding:100px 0 62px}.hero h1{font-size:clamp(48px,13vw,76px)}
  .service-card,.service-card:nth-child(-n/**/+3),.service-card:nth-child(n/**/+4){grid-column:span 1;min-height:330px}.service-card:last-child{grid-column:1/-1}
  
  .portfolio-heading{grid-template-columns:1fr}.home-works-grid{grid-template-columns:1fr 1fr}
  .footer-main{grid-template-columns:1fr 1fr}.footer-brand-column{grid-column:1/-1}.footer-contact{grid-column:1/-1}.footer-bottom{padding:18px 0;flex-direction:column;align-items:flex-start}.footer-meta{flex-wrap:wrap}
  .service-home-link{margin-bottom:38px}
  .ceiling-hero{min-height:600px}.ceiling-hero-inner{padding:42px 0 60px}.ceiling-hero .service-home-link{margin-bottom:35px}
  .ceiling-catalog{grid-template-columns:1fr 1fr}.ceiling-works-grid{grid-template-columns:1fr 1fr}
  
  .before-row{grid-template-columns:48px 1fr}.ceiling-detail-panel{grid-template-columns:1fr;max-width:660px}.ceiling-detail-media{min-height:300px;max-height:43vh}.ceiling-detail-copy{padding:30px}.ceiling-detail-copy h2{font-size:32px}
  .gallery-columns{column-count:2}
  .lightbox{padding:54px 12px}.lightbox-content{max-height:calc(100vh - 110px)}.lightbox-content img{max-height:calc(100vh - 110px)}.lightbox-nav{top:auto;bottom:14px;transform:none;width:42px;height:42px}.lightbox-prev{left:16px}.lightbox-next{right:16px}.lightbox-counter{bottom:26px}
}
@media (max-width:560px){
  :root{--page:calc(100% - 24px)}
  .section{padding:64px 0}.brand-logo{width:34px;height:34px}.brand-copy strong{font-size:16px}
  .hero{min-height:590px}.hero-overlay{background:linear-gradient(0deg,rgba(8,12,14,.78),rgba(8,12,14,.22)),linear-gradient(90deg,rgba(8,12,14,.48),transparent)}.hero h1{font-size:clamp(45px,14vw,66px)}.hero-description{font-size:17px}.hero-actions .button{flex:1;min-width:135px}
  .service-card,.service-card:last-child{grid-column:1;min-height:350px}.service-content{padding:20px}.service-content h3{font-size:26px}
  .home-works-grid{grid-template-columns:1fr 1fr;gap:8px}.home-work-card{border-radius:11px}.home-work-card::after{display:none}
  .form-row{grid-template-columns:1fr}.contact-form{padding:20px}.contact-copy h2{font-size:42px}.contact-phone{font-size:25px}
  .footer-main{grid-template-columns:1fr;gap:34px;padding-top:54px}.footer-brand-column,.footer-contact{grid-column:auto}.footer-meta{gap:12px}
  .ceiling-hero h1{font-size:clamp(50px,16vw,72px)}.service-hero-lead{font-size:17px}.ceiling-card{aspect-ratio:1.18/1}.ceiling-card-copy strong{font-size:22px}.ceiling-work{border-radius:11px}.before-row{gap:10px}
  .gallery-hero{padding-top:48px}.gallery-columns{column-count:2;column-gap:7px}.gallery-item{margin-bottom:7px;border-radius:8px}
  .ceiling-detail{padding:10px}.ceiling-detail-panel{max-height:calc(100vh - 20px)}.ceiling-detail-media{min-height:235px}.ceiling-detail-copy{padding:25px 20px}.ceiling-detail-copy h2{font-size:29px}
}

/* ===== Core visual refinements ===== */
*{-webkit-tap-highlight-color:transparent}
.button-outline-dark{border-color:rgba(17,20,23,.25);background:#fff}
.button-outline-dark:hover{background:#ece8e1;border-color:rgba(17,20,23,.42)}

/* Larger, clearer brand */
.brand{gap:12px}
.brand-logo{width:50px;height:50px}
.brand-copy strong{font-size:20px;}

.footer-brand img{width:56px;height:56px}

/* Main hero + new service imagery */

.hero h1{max-width:960px}
.service-image-ceiling{object-position:center 43%}
.service-image-drilling{object-position:center}
.service-image-wallpaper{object-position:center}
.service-image-modular{object-position:center}

.service-gradient{background:linear-gradient(180deg,rgba(5,8,10,.02) 14%,rgba(5,8,10,.18) 42%,rgba(5,8,10,.72) 72%,rgba(5,8,10,.96) 100%)}
.service-content{gap:14px}
.service-link.card-cta,.card-cta{width:max-content;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.94);color:#111417;font-size:12px;font-weight:780;text-shadow:none;box-shadow:0 6px 20px rgba(0,0,0,.14);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.service-card:hover .service-link.card-cta,.ceiling-card:hover .card-cta,.perimeter-sample:hover .card-cta,.cornice-option:hover .card-cta{background:#fff;transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,0,0,.2)}
.service-card:hover .service-link span{transform:translateX(2px)}

/* How we work — clear timeline visual */
.process{overflow:hidden}
.process .section-heading{gap:8px}

/* Contacts/form */
.service-area{align-items:flex-start}
.service-area img{width:24px;height:24px;margin-top:0;flex:0 0 24px}
.contact-phone img{width:24px;height:24px;flex:0 0 24px}
.contact-form textarea{min-height:132px;resize:none;max-height:none}
.contact-form input,.contact-form textarea,.service-select-trigger{font-size:16px}

/* Ceiling hero */
.ceiling-hero-bg{background-image:url("assets/images/ceilings/hero.webp");background-image:image-set(url("assets/images/ceilings/hero.avif") type("image/avif"),url("assets/images/ceilings/hero.webp") type("image/webp"));background-position:center 44%}

/* Main ceiling catalogue */
.ceiling-catalog-section{background:#f7f5f1}
.ceiling-catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ceiling-card{aspect-ratio:4/3;border-radius:20px}
.ceiling-card-copy{align-items:flex-end}
.ceiling-card .card-cta{flex:0 0 auto}

/* Perimeter: visual samples, not boxed cards */
.perimeter-section{overflow:hidden}
.perimeter-showcase{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.perimeter-sample{position:relative;border:0;padding:0;background:transparent;text-align:left;cursor:pointer;color:var(--ink)}
.perimeter-sample>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;transition:transform .38s ease,filter .3s ease;box-shadow:0 1px 0 rgba(17,20,23,.08)}
.perimeter-sample .ceiling-card-copy{position:static;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 2px 0;color:var(--ink)}
.perimeter-sample .ceiling-card-copy strong{font-size:18px;line-height:1.15;text-shadow:none}
.perimeter-sample .card-cta{background:#fff;border:1px solid var(--line);box-shadow:none;font-size:11px;min-height:33px;padding:0 12px}
.perimeter-sample:hover>img{transform:translateY(-3px);filter:brightness(.97)}

/* Cornices: larger 2x2 editorial layout */
.cornice-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
.cornice-option{position:relative;border:0;padding:0;background:transparent;text-align:left;cursor:pointer;color:var(--ink)}
.cornice-option>img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:20px;transition:transform .4s ease,filter .3s ease}
.cornice-option:nth-child(4)>img{object-position:center 30%}
.cornice-option .ceiling-card-copy{position:static;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 2px 0;color:var(--ink)}
.cornice-option .ceiling-card-copy strong{font-size:22px;text-shadow:none;line-height:1.12}
.cornice-option .card-cta{background:#fff;border:1px solid var(--line);box-shadow:none}
.cornice-option:hover>img{transform:translateY(-3px);filter:brightness(.97)}

/* Textures: samples instead of standard cards */
.texture-showcase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.texture-sample{min-width:0}
.texture-image{overflow:hidden;border-radius:20px;background:#ddd;aspect-ratio:5/3}
.texture-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.texture-sample:hover .texture-image img{transform:scale(1.025)}
.texture-sample h3{margin:18px 0 8px;font-size:25px;letter-spacing:-.025em}
.texture-sample p{margin:0;color:var(--muted);font-size:15px;max-width:390px}

/* Materials: comparison, no large photos */
.materials-compare{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fff}
.material-panel{display:grid;grid-template-columns:112px 1fr;gap:26px;padding:38px;min-height:320px}
.material-panel+ .material-panel{border-left:1px solid var(--line)}
.material-swatch{width:112px;height:170px;border-radius:18px;border:1px solid rgba(17,20,23,.09);box-shadow:inset 0 0 32px rgba(0,0,0,.025),0 10px 30px rgba(18,25,28,.06)}
.material-swatch-pvc{background:linear-gradient(145deg,#fff 0%,#f7f7f6 46%,#e9e9e7 100%)}
.material-swatch-fabric{background-color:#f1f0ec;background-image:repeating-linear-gradient(0deg,rgba(72,68,60,.055) 0,rgba(72,68,60,.055) 1px,transparent 1px,transparent 4px),repeating-linear-gradient(90deg,rgba(72,68,60,.04) 0,rgba(72,68,60,.04) 1px,transparent 1px,transparent 5px)}
.material-copy>span{display:block;color:#8b9092;font-size:11px;font-weight:760;letter-spacing:.13em}
.material-copy h3{margin:10px 0 12px;font-size:28px;line-height:1.05;letter-spacing:-.03em}
.material-copy p{margin:0;color:var(--muted);font-size:15px}
.material-copy ul{margin:20px 0 0;padding:0;list-style:none;display:grid;gap:8px}
.material-copy li{position:relative;padding-left:18px;font-size:14px;font-weight:650}
.material-copy li::before{content:"";position:absolute;left:0;top:.68em;width:7px;height:1px;background:#807565}

/* Ceiling works now sits before FAQ */
.ceiling-works-section{background:#f8f7f4}
.works-more{margin-top:26px}

/* Detail modal */
.ceiling-detail-close,.lightbox-close,.lightbox-nav{display:grid;place-items:center}
.ceiling-detail-close svg,.lightbox-close svg,.lightbox-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Gallery/lightbox refinements */
.gallery-hero{padding-bottom:30px}
.lightbox{padding:34px 88px;background:rgba(5,7,8,.96);touch-action:none}
.lightbox-content{max-width:min(1500px,calc(100vw - 176px));max-height:calc(100vh - 68px)}
.lightbox-content img{max-height:calc(100vh - 68px);border-radius:8px;transition:transform .18s ease,opacity .18s ease}

.lightbox-close{right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));width:46px;height:46px;border:1px solid rgba(255,255,255,.22);background:rgba(18,20,22,.72);backdrop-filter:blur(10px)}
.lightbox-nav{width:52px;height:52px;border:1px solid rgba(255,255,255,.22);background:rgba(18,20,22,.62);backdrop-filter:blur(10px);transition:background .18s ease,transform .18s ease}
.lightbox-nav:hover{background:rgba(255,255,255,.16)}
.lightbox-prev{left:20px}.lightbox-next{right:20px}
.lightbox-counter{bottom:max(18px,env(safe-area-inset-bottom));padding:7px 11px;border-radius:999px;background:rgba(18,20,22,.65);backdrop-filter:blur(10px);color:#fff;letter-spacing:.04em}

/* Simple reveal animations (also work on mobile) */
.reveal-target{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
.reveal-target.is-revealed{opacity:1;transform:none}

@media (max-width:1120px){
  .brand-logo{width:46px;height:46px}.brand-copy strong{font-size:19px}
  .perimeter-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}
  .materials-compare{grid-template-columns:1fr}
  .material-panel+ .material-panel{border-left:0;border-top:1px solid var(--line)}
}

@media (max-width:820px){
  .brand-logo{width:44px;height:44px}.brand-copy strong{font-size:18px}

  .ceiling-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cornice-showcase{grid-template-columns:1fr;gap:28px}
  .texture-showcase{grid-template-columns:1fr;gap:38px}.texture-image{aspect-ratio:16/9}
  .material-panel{grid-template-columns:92px 1fr;padding:28px;gap:20px}.material-swatch{width:92px;height:140px}
  .lightbox{padding:64px 10px 54px}
  .lightbox-content{max-width:100%;max-height:calc(100dvh - 118px)}
  .lightbox-content img{max-height:calc(100dvh - 118px);max-width:100%}
  .lightbox-nav{display:none}
  .lightbox-close{width:44px;height:44px;right:12px;top:max(12px,env(safe-area-inset-top))}
  .lightbox-counter{bottom:max(12px,env(safe-area-inset-bottom))}
}

@media (max-width:700px){
  
  .service-card,.service-card:nth-child(-n/**/+3),.service-card:nth-child(n/**/+4),.service-card:last-child{grid-column:1;min-height:350px}
}

@media (max-width:560px){
  .brand-logo{width:42px;height:42px}
  .hero-background{background-position:62% center}
  .hero h1{font-size:clamp(46px,14vw,64px);line-height:.96}
  .service-content h3{font-size:25px}.service-content p{font-size:14px}.service-link.card-cta{min-height:38px;padding:0 15px}
  .ceiling-catalog{grid-template-columns:1fr}.ceiling-card{aspect-ratio:1.2/1}
  .ceiling-card-copy{left:16px;right:16px;bottom:16px;gap:10px}.ceiling-card-copy strong{font-size:21px}
  .perimeter-showcase{grid-template-columns:1fr 1fr;gap:22px 10px}
  .perimeter-sample>img{border-radius:14px;aspect-ratio:1/1}
  .perimeter-sample .ceiling-card-copy{display:block;padding-top:10px}.perimeter-sample .ceiling-card-copy strong{display:block;font-size:16px}.perimeter-sample .card-cta{margin-top:9px}
  .cornice-option>img{border-radius:15px}.cornice-option .ceiling-card-copy strong{font-size:20px}.cornice-option .ceiling-card-copy{align-items:flex-start}
  .texture-image{border-radius:15px}.texture-sample h3{font-size:23px}.texture-sample p{font-size:14px}
  .material-panel{grid-template-columns:1fr;padding:24px;min-height:0}.material-swatch{width:100%;height:64px;border-radius:14px}.material-copy h3{font-size:25px}
  .before-row{grid-template-columns:44px 1fr;gap:12px}.before-row p{grid-column:2}.before-row h3{font-size:18px}
  .ceiling-works-grid{grid-template-columns:1fr 1fr;gap:8px}
  .faq-question{padding:20px 0;font-size:16px}
}

.portfolio-heading{display:block}

/* ===== Brand and layout refinements ===== */

/* Brand is intentionally more prominent. */
.brand{gap:13px}
.brand-logo{width:62px;height:62px}
.brand-copy strong{font-size:22px;letter-spacing:.13em}
.brand-copy small{font-size:11px;margin-top:6px}

/* Final main hero image; move copy slightly upward without changing the layout structure. */

.hero-copy{transform:translateY(-34px)}

/* Keep the important lower-right area of the existing ceiling hero visible. */
.ceiling-hero-bg{background-position:78% 76%}

/* CTA labels should never collapse into an unattractive two-line pill. */
.button,.card-cta,.service-link.card-cta{white-space:nowrap}

/* Phone action is deliberately distinct from social contact pills. */
.contact-social.contact-call-highlight{background:#fff;color:var(--ink);border-color:#fff;font-weight:780;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.contact-social.contact-call-highlight img{filter:none}
.contact-social.contact-call-highlight:hover{background:#eeeae4}

/* Privacy consent */

/* Before installation: compact numbered markers, visually distinct from timelines/step counters. */
.before-install{max-width:1020px}
.before-row{grid-template-columns:48px minmax(180px,300px) 1fr;gap:24px;align-items:start;padding:27px 0}
.before-marker{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#ddd2c3;border:1px solid rgba(17,20,23,.09);color:#2b3032;font-size:13px;font-weight:800;box-shadow:0 5px 16px rgba(18,25,28,.05)}

/* Category labels were removed from ceiling detail dialogs. */
.ceiling-detail-copy h2{margin-top:0}

/* Privacy page */
.legal-hero{padding:72px 0 58px;background:#f7f5f1;border-bottom:1px solid var(--line)}
.legal-hero .service-home-link{margin-bottom:44px}
.legal-hero h1{max-width:900px;margin:12px 0 18px;font-size:clamp(48px,7vw,88px);line-height:.95;letter-spacing:-.055em}
.legal-hero> .page-container>p:last-child{max-width:740px;margin:0;color:var(--muted);font-size:18px}
.legal-content{max-width:900px;margin-left:auto;margin-right:auto}

.legal-content h2{margin:42px 0 12px;font-size:25px;letter-spacing:-.025em}
.legal-content p{margin:0;color:#505a5f;font-size:16px;line-height:1.75}
.legal-content a{text-decoration:underline;text-underline-offset:3px;font-weight:700;color:var(--ink)}

/* Mobile menu contact controls. */
.mobile-contact-actions{display:flex;align-items:stretch;gap:10px;padding:16px 0 4px}
.mobile-call-action{flex:1!important;min-height:52px!important;padding:7px 16px!important;border:0!important;border-radius:999px!important;background:var(--ink)!important;color:#fff!important;gap:11px!important;box-shadow:0 8px 24px rgba(17,20,23,.14)}
.mobile-call-action img{width:19px;height:19px;filter:invert(1);flex:0 0 19px}
.mobile-call-copy{flex-direction:column;line-height:1.12}
.mobile-call-copy strong{font-size:14px}
.mobile-call-copy small{margin-top:3px;font-size:10px;font-weight:600;color:rgba(255,255,255,.68);letter-spacing:.01em}
.mobile-social-rounds{display:flex;gap:8px;align-items:center}
.mobile-social-round{width:52px;height:52px;min-height:52px!important;padding:0!important;border:1px solid var(--line)!important;border-radius:50%!important;background:#fff;display:grid!important;place-items:center!important;flex:0 0 52px}
.mobile-social-round img{width:21px;height:21px}

/* Gallery mobile arrows: faint by default, visible for a moment after touch. */
.lightbox-nav{transition:background .18s ease,transform .18s ease,opacity .28s ease}

@media (max-width:1120px){
  .brand-logo{width:56px;height:56px}.brand-copy strong{font-size:20px}
  .mobile-menu{display:block;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .24s ease,transform .28s cubic-bezier(.2,.75,.2,1),visibility .24s}
  .mobile-menu.open{display:block;opacity:1;visibility:visible;transform:translateY(0)}
}

@media (max-width:820px){
  .brand-logo{width:52px;height:52px}.brand-copy strong{font-size:19px}.brand-copy small{font-size:10px}
  .hero-copy{transform:translateY(-22px)}
  .ceiling-hero-bg{background-position:84% 72%}
  .lightbox-nav{display:grid;top:50%;bottom:auto;transform:translateY(-50%);width:44px;height:44px;opacity:.18;background:rgba(18,20,22,.5);border-color:rgba(255,255,255,.18)}
  .lightbox-prev{left:8px}.lightbox-next{right:8px}
  .lightbox.controls-visible .lightbox-nav{opacity:.82}
  .before-row{grid-template-columns:44px 1fr;gap:12px 16px}.before-row p{grid-column:2}.before-marker{width:32px;height:32px;border-radius:10px}
}

@media (max-width:560px){
  .brand-logo{width:50px;height:50px}.brand-copy strong{font-size:18px}.brand-copy small{font-size:9px}
  .hero-copy{transform:translateY(-18px)}
  .ceiling-hero-bg{background-position:86% 70%}
  .mobile-contact-actions{gap:8px}.mobile-social-round{width:48px;height:48px;min-height:48px!important;flex-basis:48px}.mobile-call-action{min-height:48px!important;padding-inline:14px!important}.mobile-call-copy small{display:none}
  .legal-hero{padding:52px 0 42px}.legal-hero .service-home-link{margin-bottom:34px}.legal-hero h1{font-size:clamp(43px,13vw,62px)}.legal-hero> .page-container>p:last-child{font-size:16px}
}

@media (max-width:390px){
  .button{padding-left:14px;padding-right:14px;font-size:14px}
  .hero-actions{display:grid;grid-template-columns:1fr;width:100%;gap:9px}.hero-actions .button{width:100%;min-width:0;flex:none}
  .service-hero-actions{display:grid;grid-template-columns:1fr;width:100%}.service-hero-actions .button{width:100%;min-width:0}
  .mobile-social-round{width:46px;height:46px;min-height:46px!important;flex-basis:46px}
  .mobile-call-action{min-width:0}.mobile-call-copy strong{font-size:13px}
}

@media (prefers-reduced-motion:reduce){
  .mobile-menu{transition:none!important}
}

/* ===== Diamond drilling and interface polish ===== */

/* The logo image itself is larger, not only the surrounding brand copy. */
:root{--header-h:94px}
.brand-logo{width:76px;height:76px;flex:0 0 76px}
.footer-brand img{width:66px;height:66px}

/* Latest main hero selected by the client. */

/* Mobile menu mirrors the desktop contact hierarchy: call action, social circles, number. */
.mobile-call-copy{display:flex;align-items:center;line-height:1}
.mobile-menu-phone-number{display:block!important;margin:9px 0 2px!important;padding:0!important;border:0!important;background:transparent!important;color:var(--ink)!important;font-size:18px!important;font-weight:800!important;letter-spacing:-.02em;text-align:left}
.mobile-menu-phone-number:hover{text-decoration:underline;text-underline-offset:4px}

/* Phone CTA in contact blocks is spatially separated from messengers. */

/* Privacy page: long title stays readable on narrow phones and content is intentionally fuller. */

/* Diamond drilling hero */
.drilling-hero{position:relative;min-height:660px;display:flex;align-items:flex-end;overflow:hidden;background:#262a2b;color:#fff}
.drilling-hero-bg{position:absolute;inset:0;background-image:url("assets/images/drilling/hero.webp");background-image:image-set(url("assets/images/drilling/hero.avif") type("image/avif"),url("assets/images/drilling/hero.webp") type("image/webp"));background-position:72% center;background-size:cover;background-repeat:no-repeat;transform:scale(1.012)}
.drilling-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,15,16,.88) 0%,rgba(12,15,16,.66) 36%,rgba(12,15,16,.22) 68%,rgba(12,15,16,.08) 100%),linear-gradient(0deg,rgba(10,12,13,.5),transparent 50%)}
.drilling-hero-inner{position:relative;z-index:1;padding:62px 0 78px}
.drilling-hero .service-home-link{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.24);margin-bottom:48px}
.drilling-hero h1{max-width:850px;margin:0;font-size:clamp(58px,8vw,106px);line-height:.9;letter-spacing:-.06em}
.drilling-hero .service-hero-lead{max-width:800px}

/* Drilling page: editorial rows instead of a wall of cards. */
.drill-editorial-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);gap:64px;align-items:end;margin-bottom:42px}
.drill-editorial-head h2,.drilling-cost-copy h2{margin:8px 0 0;font-size:clamp(38px,4.5vw,64px);line-height:1.02;letter-spacing:-.045em}
.drill-editorial-head>p,.drilling-cost-copy>p:last-child{margin:0;color:var(--muted);font-size:17px;line-height:1.65}
.drill-use-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.drill-use-row{display:grid;grid-template-columns:minmax(170px,.75fr) 1.25fr;gap:26px;padding:24px 0;border-bottom:1px solid var(--line)}
.drill-use-row:nth-child(odd){padding-right:34px}
.drill-use-row:nth-child(even){padding-left:34px;border-left:1px solid var(--line)}
.drill-use-row-wide{grid-column:1/-1;padding-left:0!important;padding-right:0!important;border-left:0!important;grid-template-columns:minmax(170px,.36fr) 1fr}
.drill-use-row span{font-weight:800;font-size:17px;line-height:1.25}
.drill-use-row p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.drill-vent-note{margin-top:38px;padding:30px 32px;border-radius:22px;background:var(--deep);color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.drill-vent-note span{display:block;color:rgba(255,255,255,.55);font-size:11px;font-weight:760;letter-spacing:.13em;text-transform:uppercase}
.drill-vent-note h3{margin:8px 0 0;font-size:27px;line-height:1.12;letter-spacing:-.025em}
.drill-vent-note p{margin:0;color:rgba(255,255,255,.72);font-size:15px;line-height:1.65}

.drill-prep-item{padding:30px 0;display:grid;grid-template-columns:180px 1fr;gap:26px}
.drill-prep-item+ .drill-prep-item{padding-left:36px;border-left:1px solid var(--line)}
.drill-prep-item span{font-size:15px;font-weight:800}
.drill-prep-item p{margin:0;color:var(--muted);line-height:1.65}

.drilling-cost-section{background:#182126;color:#fff}
.drilling-cost-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:84px}

.drilling-cost-copy>p:last-child{margin-top:22px;color:rgba(255,255,255,.65);max-width:520px}
.drill-cost-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.16)}
.cost-factor{padding:24px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.cost-factor:nth-child(odd){padding-right:30px}
.cost-factor:nth-child(even){padding-left:30px;border-left:1px solid rgba(255,255,255,.16)}
.cost-factor span{display:block;font-size:16px;font-weight:800}
.cost-factor p{margin:7px 0 0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.6}

.drilling-faq{background:#f7f5f1}

@media (max-width:1120px){
  :root{--header-h:86px}
  .brand-logo{width:68px;height:68px;flex-basis:68px}
  .drilling-cost-grid{gap:54px}
}
@media (max-width:820px){
  :root{--header-h:82px}
  .brand-logo{width:64px;height:64px;flex-basis:64px}
  .drilling-hero{min-height:620px}.drilling-hero-bg{background-position:70% center}.drilling-hero-inner{padding:54px 0 66px}.drilling-hero h1{font-size:clamp(52px,13vw,78px)}
  .drill-editorial-head,.drilling-cost-grid{grid-template-columns:1fr;gap:30px}
  
  .drill-use-grid{grid-template-columns:1fr}.drill-use-row,.drill-use-row-wide{grid-column:auto;grid-template-columns:180px 1fr;padding:22px 0!important;border-left:0!important}.drill-use-row-wide{grid-column:auto}
  .drill-vent-note{grid-template-columns:1fr;gap:18px;padding:26px}
  .drill-prep-item,.drill-prep-item+ .drill-prep-item{padding:24px 0;border-left:0}.drill-prep-item+ .drill-prep-item{border-top:1px solid var(--line)}
  
}
@media (max-width:560px){
  :root{--header-h:78px}
  .brand-logo{width:60px;height:60px;flex-basis:60px}
  .brand{gap:8px}.brand-copy strong{font-size:17px}.brand-copy small{font-size:8px}
  .mobile-menu-phone-number{font-size:17px!important}
  .legal-hero h1{font-size:clamp(31px,10.6vw,46px);line-height:1.02;letter-spacing:-.045em;overflow-wrap:anywhere}
  .legal-content h2{font-size:22px}.legal-content p{font-size:15px}
  .drilling-hero{min-height:600px}.drilling-hero-bg{background-position:66% center}.drilling-hero-overlay{background:linear-gradient(0deg,rgba(10,12,13,.82),rgba(10,12,13,.18)),linear-gradient(90deg,rgba(10,12,13,.62),rgba(10,12,13,.18))}.drilling-hero h1{font-size:clamp(47px,15vw,68px)}
  .drill-editorial-head{margin-bottom:28px}.drill-editorial-head h2,.drilling-cost-copy h2{font-size:36px}
  .drill-use-row,.drill-use-row-wide{grid-template-columns:1fr;gap:7px}.drill-use-row span{font-size:16px}
  .drill-vent-note{margin-top:28px;padding:22px;border-radius:18px}.drill-vent-note h3{font-size:22px}
  
  .drill-prep-item,.drill-prep-item+ .drill-prep-item{grid-template-columns:1fr;gap:8px}
  .drill-cost-list{grid-template-columns:1fr}.cost-factor,.cost-factor:nth-child(odd),.cost-factor:nth-child(even){padding:20px 0;border-left:0}.cost-factor:nth-child(even){border-bottom:1px solid rgba(255,255,255,.16)}

}
@media (max-width:390px){
  .brand-logo{width:56px;height:56px;flex-basis:56px}
  .legal-hero h1{font-size:30px}
  .drilling-hero h1{font-size:46px}
}

/* ===== Privacy, drilling and photo-wallpaper refinements ===== */
.form-privacy-note{margin:10px 0 0;color:#747c80;}

/* Actual SVG mark is now tightly cropped by viewBox, so it reads larger at the same header height. */
.brand-logo{object-fit:contain}

/* Drilling application icons */
.drill-editorial-head{grid-template-columns:1fr;margin-bottom:34px}
.drill-use-row{grid-template-columns:54px 1fr;gap:18px;align-items:start}
.drill-use-row-wide{grid-template-columns:54px 1fr}
.drill-use-icon{width:46px;height:46px;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;justify-content:center;background:#faf9f6;color:#283236}
.drill-use-icon img{width:27px;height:27px;display:block}
.drill-use-copy strong{display:block;font-size:17px;line-height:1.25}
.drill-use-copy p{margin:6px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
.drilling-cost-copy{align-self:start}

/* Photo wallpaper page */
.wallpaper-hero{position:relative;min-height:690px;display:flex;align-items:flex-end;overflow:hidden;background:#d7d0c5;color:#fff}
.wallpaper-hero-bg{position:absolute;inset:0;background-image:url("assets/images/wallpaper/hero.webp");background-image:image-set(url("assets/images/wallpaper/hero.avif") type("image/avif"),url("assets/images/wallpaper/hero.webp") type("image/webp"));background-position:center;background-size:cover;background-repeat:no-repeat;transform:scale(1.01)}
.wallpaper-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,18,17,.88) 0%,rgba(17,18,17,.62) 39%,rgba(17,18,17,.18) 70%,rgba(17,18,17,.05) 100%),linear-gradient(0deg,rgba(13,14,13,.42),transparent 52%)}
.wallpaper-hero-inner{position:relative;z-index:1;padding:58px 0 74px}
.wallpaper-hero .service-home-link{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.26);margin-bottom:42px}
.wallpaper-hero h1{max-width:850px;margin:0;font-size:clamp(54px,7.2vw,98px);line-height:.92;letter-spacing:-.055em}
.wallpaper-hero .service-hero-lead{max-width:760px;margin-top:22px}

.wallpaper-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:64px;align-items:center}
.wallpaper-visual img,.wallpaper-material-image img{width:100%;display:block;object-fit:cover;border-radius:26px}
.wallpaper-visual img{aspect-ratio:1.7/1}
.wallpaper-copy h2,.wallpaper-material-copy h2,.wallpaper-before-copy h2{margin:8px 0 18px;font-size:clamp(38px,4.6vw,64px);line-height:1.02;letter-spacing:-.045em}
.wallpaper-copy>p:last-of-type,.wallpaper-material-copy>p,.wallpaper-before-copy>p:last-child{color:var(--muted);font-size:17px;line-height:1.68}
.wallpaper-tags{gap:9px;margin-top:28px}.wallpaper-tags span{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;}
.wallpaper-material-grid{display:grid;grid-template-columns:1fr minmax(320px,.82fr);gap:70px;align-items:center}
.wallpaper-material-image img{aspect-ratio:1.65/1}
.wallpaper-material-points{margin-top:28px;}
.wallpaper-material-points span{padding:16px 12px 16px 0;font-size:13px;font-weight:760}.wallpaper-material-points span+span{padding-left:16px;border-left:1px solid var(--line)}
.wallpaper-space-grid{grid-template-columns:repeat(5,1fr);gap:12px;}.wallpaper-space-grid div{min-height:125px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#faf9f6;display:flex;align-items:flex-end}.wallpaper-space-grid span{font-weight:800;font-size:16px}

.wallpaper-before-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.wallpaper-faq{background:#fff}

@media(max-width:900px){
.wallpaper-hero{min-height:640px}.wallpaper-hero-bg{background-position:63% center}.wallpaper-split,.wallpaper-material-grid,.wallpaper-before-grid{grid-template-columns:1fr;gap:34px}.wallpaper-material-image{order:-1}.wallpaper-space-grid{grid-template-columns:repeat(2,1fr)}.wallpaper-space-grid div:last-child{grid-column:1/-1}
}
@media(max-width:560px){
.wallpaper-hero{min-height:620px}.wallpaper-hero-bg{background-position:70% center}.wallpaper-hero-overlay{background:linear-gradient(0deg,rgba(14,15,14,.84),rgba(14,15,14,.23)),linear-gradient(90deg,rgba(14,15,14,.68),rgba(14,15,14,.1))}.wallpaper-hero h1{font-size:clamp(45px,14vw,64px)}.wallpaper-hero-inner{padding:48px 0 58px}.wallpaper-copy h2,.wallpaper-material-copy h2,.wallpaper-before-copy h2{font-size:36px}.wallpaper-material-points{grid-template-columns:1fr}.wallpaper-material-points span+span{padding-left:0;border-left:0;border-top:1px solid var(--line)}.wallpaper-space-grid{grid-template-columns:1fr 1fr}.wallpaper-space-grid div{min-height:105px;padding:17px}.wallpaper-space-grid span{font-size:14px}.drill-use-row,.drill-use-row-wide{grid-template-columns:46px 1fr;gap:14px}.drill-use-icon{width:42px;height:42px}.drill-use-icon img{width:24px;height:24px}
}

/* ===== Unified contact actions, service hero CTAs and wallpaper spaces ===== */
.contact-action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}
.contact-action-row .contact-social{min-height:46px;padding:0 18px}
.contact-action-row .contact-call-highlight{background:#fff;color:var(--ink);border-color:#fff;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.contact-action-row .contact-call-highlight img{filter:none}
.contact-action-row .contact-call-highlight:hover{background:#eeeae4}
.hero-phone-button img{width:17px;height:17px}
.drilling-hero .hero-phone-button img,.wallpaper-hero .hero-phone-button img{filter:none}

.button-outline-dark{border-color:rgba(17,20,23,.28);color:var(--ink);background:transparent}
.button-outline-dark:hover{background:#e9e5de;border-color:#b7b0a6}
.wallpaper-space-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:34px}
.wallpaper-space-card{position:relative;min-height:260px;border-radius:20px;overflow:hidden;background:#ddd;box-shadow:0 10px 26px rgba(18,25,28,.08)}
.wallpaper-space-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .42s ease}
.wallpaper-space-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(10,12,13,.74) 100%)}
.wallpaper-space-card:hover img{transform:scale(1.035)}
.wallpaper-space-label{position:absolute;z-index:1;left:16px;right:16px;bottom:15px;color:#fff;font-size:16px;font-weight:800;line-height:1.15;text-shadow:0 2px 12px rgba(0,0,0,.34)}
@media (max-width:1100px){.wallpaper-space-grid{grid-template-columns:repeat(3,1fr)}.wallpaper-space-card{min-height:240px}.wallpaper-space-card:nth-child(4),.wallpaper-space-card:nth-child(5){min-height:220px}}
@media (max-width:700px){.contact-action-row{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:9px}.contact-action-row .contact-social{width:100%;justify-content:center;padding-inline:12px}.wallpaper-space-grid{grid-template-columns:1fr 1fr;gap:10px}.wallpaper-space-card{min-height:180px;border-radius:16px}.wallpaper-space-card:last-child{grid-column:1/-1;min-height:220px}.wallpaper-space-label{font-size:14px;left:13px;right:13px;bottom:12px}.hero-phone-button img{width:16px;height:16px}}
@media (max-width:430px){.wallpaper-space-card{min-height:190px}.contact-action-row{grid-template-columns:1fr 1fr}}

/* ===== Wallpaper, drilling method and modular page ===== */
/* Wallpaper */
.wallpaper-hero-inner{padding-bottom:118px}
.wallpaper-tags{display:flex;flex-wrap:wrap;gap:0;margin-top:27px;color:#596064}
.wallpaper-tags span{position:relative;padding:0 14px 0 0;margin-right:14px;border:0;border-radius:0;background:transparent;font-size:13px;font-weight:700;letter-spacing:.01em}
.wallpaper-tags span:not(:last-child)::after{content:"·";position:absolute;right:0;top:0;color:#a19a90}
.wallpaper-material-points{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.wallpaper-material-point{display:flex;align-items:center;gap:11px;min-height:72px;padding:12px 14px 12px 0}
.wallpaper-material-point+.wallpaper-material-point{padding-left:16px;border-left:1px solid var(--line)}
.wallpaper-material-point strong{font-size:13px;line-height:1.3}
.wallpaper-point-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:#fff;border:1px solid var(--line);color:#2f383b}
.wallpaper-point-icon img{width:23px;height:23px}
.wallpaper-material-image img{aspect-ratio:1.5/1;object-position:center}
.wallpaper-space-card{isolation:isolate}
.wallpaper-space-card img{object-position:center}
.wallpaper-space-card:nth-child(2) img{object-position:center 48%}
.wallpaper-space-card:nth-child(3) img{object-position:center}
.wallpaper-space-card:nth-child(4) img{object-position:center}
.wallpaper-space-card:nth-child(5) img{object-position:center}

.wallpaper-before-grid{grid-template-columns:minmax(320px,.9fr) 1fr}
.wallpaper-before-graphic{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px;border-radius:26px;background:#ece8e1;border:1px solid #ddd7ce;min-height:300px;align-items:stretch}
.wallpaper-prep-item{display:flex;flex-direction:column;justify-content:space-between;gap:30px;padding:26px;border-radius:20px;background:#f8f6f2;border:1px solid #ddd7ce}
.wallpaper-prep-item>span{display:flex;width:58px;height:58px;align-items:center;justify-content:center;border-radius:17px;background:#fff;color:#263034;border:1px solid var(--line)}
.wallpaper-prep-item>span img{width:34px;height:34px}
.wallpaper-prep-item strong{display:block;font-size:18px;line-height:1.2}
.wallpaper-prep-item p{margin:7px 0 0;color:var(--muted);font-size:14px;line-height:1.55}

/* Drilling method */

/* Modular constructions */
.modular-hero{position:relative;min-height:690px;display:flex;align-items:flex-end;overflow:hidden;background:#b9b4aa;color:#fff}
.modular-hero-bg{position:absolute;inset:0;background-image:url("assets/images/modular/hero.webp");background-image:image-set(url("assets/images/modular/hero.avif") type("image/avif"),url("assets/images/modular/hero.webp") type("image/webp"));background-position:center;background-size:cover;background-repeat:no-repeat;transform:scale(1.015)}
.modular-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,18,18,.9) 0%,rgba(16,18,18,.68) 42%,rgba(16,18,18,.19) 74%,rgba(16,18,18,.06) 100%),linear-gradient(0deg,rgba(12,13,13,.38),transparent 52%)}
.modular-hero-inner{position:relative;z-index:1;padding:58px 0 86px}
.modular-hero .service-home-link{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.26);margin-bottom:42px}
.modular-hero h1{max-width:900px;margin:0;font-size:clamp(58px,7.5vw,104px);line-height:.9;letter-spacing:-.06em}
.modular-hero .service-hero-lead{max-width:820px}
.modular-hero .hero-phone-button img{filter:none}
.modular-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}
.modular-type-grid article{min-height:168px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#faf9f6;display:flex;flex-direction:column;justify-content:space-between}
.modular-type-grid article>span{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;border:1px solid var(--line);color:#263034}
.modular-type-grid article img{width:28px;height:28px}
.modular-type-grid h3{margin:26px 0 0;font-size:18px;line-height:1.2}
.modular-structure-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:68px;align-items:center}
.modular-structure-copy h2,.modular-mobility h2{margin:8px 0 18px;font-size:clamp(38px,4.6vw,64px);line-height:1.02;letter-spacing:-.045em}
.modular-structure-copy>p{color:var(--muted);font-size:17px;line-height:1.68}
.sandwich-panel-visual{padding:16px;border-radius:28px;background:#f5f3ef;border:1px solid var(--line)}
.sandwich-panel-visual img{display:block;width:100%;height:auto;border-radius:20px}
.sandwich-legend{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:28px}
.sandwich-legend>div{display:flex;align-items:center;gap:9px;font-size:13px}
.legend-swatch{width:26px;height:9px;border-radius:999px;border:1px solid #8e9597;background:#d6dbdd}
.legend-swatch.insulation{background:#cab895;border-color:#a3916e}
.modular-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.modular-feature-grid article{padding:28px;border-radius:22px;border:1px solid var(--line);background:#fff}
.modular-feature-grid article>span{font-size:12px;font-weight:800;color:#8e8578}
.modular-feature-grid h3{font-size:22px}
.modular-feature-grid p{margin:0;color:var(--muted);font-size:14px;line-height:1.6}

.modular-faq{background:#fff}

@media (max-width:1100px){
  .wallpaper-hero-inner{padding-bottom:88px}
  
  .wallpaper-before-graphic{min-height:0}
  
  .modular-type-grid{grid-template-columns:repeat(2,1fr)}
  .modular-feature-grid{grid-template-columns:repeat(2,1fr)}

}
@media (max-width:700px){
  .wallpaper-hero-inner{padding-bottom:78px}
  .wallpaper-material-points{grid-template-columns:1fr}
  .wallpaper-material-point+.wallpaper-material-point{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .wallpaper-before-graphic{grid-template-columns:1fr}
  .wallpaper-prep-item{min-height:180px}

  .modular-hero{min-height:620px}
  .modular-hero-bg{background-position:62% center}
  .modular-hero-overlay{background:linear-gradient(0deg,rgba(13,15,15,.88),rgba(13,15,15,.28)),linear-gradient(90deg,rgba(13,15,15,.68),rgba(13,15,15,.08))}
  .modular-hero-inner{padding:48px 0 58px}
  .modular-hero h1{font-size:clamp(46px,13vw,66px)}
  .modular-type-grid,.modular-feature-grid{gap:10px}
  .modular-type-grid article{min-height:145px;padding:18px}
  .modular-feature-grid article{padding:20px}

}
@media (max-width:430px){
  .modular-type-grid,.modular-feature-grid{grid-template-columns:1fr}
  .wallpaper-tags{gap:8px 0}
}
.wallpaper-space-grid > .wallpaper-space-card{min-height:260px;padding:0;border:0;border-radius:20px;background:#ddd;display:block;align-items:initial}
.wallpaper-space-grid .wallpaper-space-label{min-height:0;padding:0;border:0;border-radius:0;background:transparent;display:block}
.wallpaper-material-points .wallpaper-point-icon{padding:0!important}
@media (max-width:1100px){.wallpaper-space-grid > .wallpaper-space-card{min-height:240px}.wallpaper-space-grid > .wallpaper-space-card:nth-child(4),.wallpaper-space-grid > .wallpaper-space-card:nth-child(5){min-height:220px}}
@media (max-width:700px){.wallpaper-space-grid > .wallpaper-space-card{min-height:180px;padding:0}.wallpaper-space-grid > .wallpaper-space-card:last-child{min-height:220px}.wallpaper-space-grid .wallpaper-space-label{min-height:0;padding:0}}

/* ===== Service and digital-solutions refinements ===== */

/* Shared progressive process for internal service pages. */

/* Dark version used by modular constructions. */

/* Wallpaper refinements. */
.wallpaper-hero-inner{padding-bottom:138px}
.wallpaper-before-grid{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);align-items:stretch}
.wallpaper-before-copy{align-self:center}
.wallpaper-before-copy h2{margin:8px 0 18px}
.wallpaper-before-copy>p:last-child{max-width:600px;color:var(--muted);font-size:16px;line-height:1.68}
.wallpaper-before-graphic{min-height:0}
.wallpaper-prep-item>span img{width:36px;height:36px}
.wallpaper-prep-item strong{font-size:19px}

/* Drilling: compact three-principle block, no repeated large illustration. */
.drill-method-simple{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  
  margin-top:34px;
}
.drill-method-simple article{

  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.drill-method-icon{

  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  
  background:#f5f2ed;
}

.drill-method-simple h3{margin:30px 0 0;line-height:1.2}
.drill-prep-item{grid-template-columns:58px 1fr;align-items:start}

.drill-prep-item strong{display:block;margin:1px 0 7px;font-size:16px}

/* Ceiling materials no longer use step numbering. */
.material-copy>span{display:none}

/* Modular page refinements. */
.modular-hero-inner{padding-bottom:126px}
.modular-type-grid article>span{
  width:54px;
  height:54px;
  border-radius:16px;
  background:#fff;
}
.modular-type-grid article img{width:31px;height:31px}
.modular-feature-grid article{
  display:flex;
  flex-direction:column;
  min-height:220px;
}
.modular-feature-icon{
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:15px;
  background:#f6f3ee;
}
.modular-feature-icon img{width:30px;height:30px}
.modular-feature-grid h3{margin:28px 0 9px}
.sandwich-panel-visual{background:#f7f5f1}
.sandwich-panel-visual img{aspect-ratio:1.5/1;object-fit:contain;background:#f7f5f1}
.legend-swatch.metal{background:#343a40;border-color:#343a40}
.legend-swatch.insulation{background:#f0d778;border-color:#d1b64d}

/* Design & visualization */
.design-hero{
  position:relative;
  min-height:690px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#77736e;
  color:#fff;
}
.design-hero-bg{
  position:absolute;
  inset:0;
  background-position:center 46%;
  background-size:cover;
  background-repeat:no-repeat;
  transform:scale(1.012);
}
.design-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(15,17,18,.9) 0%,rgba(15,17,18,.66) 40%,rgba(15,17,18,.2) 72%,rgba(15,17,18,.04) 100%),
    linear-gradient(0deg,rgba(10,12,13,.4),transparent 55%);
}
.design-hero-inner{position:relative;z-index:1;padding:58px 0 98px}
.design-hero .service-home-link{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.26);margin-bottom:42px}
.design-hero h1{max-width:960px;margin:0;font-size:clamp(58px,7.2vw,102px);line-height:.91;letter-spacing:-.058em}
.design-hero .service-hero-lead{max-width:780px}
.design-hero .hero-phone-button img{filter:none}

.design-direction-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:34px;
}
.design-direction-card{
  min-height:250px;
  padding:30px;
  display:grid;
  grid-template-columns:64px 1fr;
  gap:24px;
  align-items:start;
  border:1px solid var(--line);
  border-radius:24px;
  background:#faf9f6;
}
.design-direction-icon{
  width:60px;
  height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
}
.design-direction-icon img{width:34px;height:34px}
.design-direction-card h3{margin:4px 0 11px;font-size:25px;line-height:1.08}
.design-direction-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.65}

.design-project-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:270px;
  gap:12px;
  margin-top:36px;
}
.design-project{
  position:relative;
  padding:0;
  border:0;
  border-radius:22px;
  overflow:hidden;
  background:#d8d4cd;
  cursor:zoom-in;
  text-align:left;
  color:#fff;
}

.design-project img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.design-project::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 44%,rgba(10,12,13,.76) 100%);
}
.design-project:hover img{transform:scale(1.025)}
.design-project>span{
  position:absolute;
  z-index:2;
  left:20px;
  right:20px;
  bottom:18px;
}
.design-project b{display:block;font-size:19px;line-height:1.15}
.design-project small{display:block;margin-top:4px;color:rgba(255,255,255,.72);font-size:12px}
.design-faq{background:#f7f5f1}

/* Footer stays informational and compact. */
.footer-contact .footer-socials{margin-top:14px}

@media (max-width:1100px){
  
  .wallpaper-before-grid{grid-template-columns:1fr;gap:30px}
  .modular-hero-inner{padding-bottom:112px}
  .design-project-grid{grid-template-columns:1fr 1fr}
  
}
@media (max-width:820px){

  .drill-method-simple{grid-template-columns:repeat(3,1fr);gap:10px}
  .drill-method-simple article{min-height:165px;padding:20px}
  .modular-type-grid{grid-template-columns:repeat(2,1fr)}
  .modular-feature-grid{grid-template-columns:repeat(2,1fr)}
  .design-direction-grid{grid-template-columns:1fr}
  .design-direction-card{min-height:0}
}
@media (max-width:700px){
  .wallpaper-hero-inner{padding-bottom:94px}
  .drill-method-simple{grid-template-columns:1fr 1fr}
  .drill-method-simple article:last-child{grid-column:1/-1}
  .drill-prep-item,.drill-prep-item + .drill-prep-item{grid-template-columns:52px 1fr}
  .modular-hero-inner{padding:46px 0 82px}
  .modular-type-grid,.modular-feature-grid{grid-template-columns:1fr 1fr}
  .modular-type-grid article{min-height:138px}
  .design-hero{min-height:620px}
  .design-hero-bg{background-position:61% center}
  .design-hero-overlay{background:linear-gradient(0deg,rgba(12,14,15,.88),rgba(12,14,15,.25)),linear-gradient(90deg,rgba(12,14,15,.65),rgba(12,14,15,.08))}
  .design-hero-inner{padding:46px 0 66px}
  .design-hero h1{font-size:clamp(44px,13vw,64px)}
  .design-project-grid{grid-template-columns:1fr 1fr;grid-auto-rows:210px;gap:9px}
  
}
@media (max-width:430px){
  /* Keep useful modular grids at two columns even on narrow phones. */
  .modular-type-grid,.modular-feature-grid{grid-template-columns:1fr 1fr;gap:8px}
  .modular-type-grid article{min-height:130px;padding:15px}
  .modular-type-grid h3{font-size:15px;margin-top:18px}
  .modular-type-grid article>span{width:46px;height:46px}
  .modular-type-grid article img{width:27px;height:27px}
  .modular-feature-grid article{min-height:185px;padding:16px}
  .modular-feature-grid h3{font-size:18px;margin-top:20px}
  .modular-feature-grid p{font-size:12px}
  .modular-feature-icon{width:46px;height:46px}
  .modular-feature-icon img{width:27px;height:27px}

  .design-direction-card{grid-template-columns:54px 1fr;padding:20px;gap:15px}
  .design-direction-icon{width:52px;height:52px}
  .design-direction-card h3{font-size:21px}
  .design-project-grid{grid-template-columns:1fr;grid-auto-rows:230px}
  
}

/* ===== Portfolio and service refinements ===== */

/* Digital Solutions: own 3D work becomes both the homepage card and page hero. */
.design-hero-inner{padding-bottom:142px}

/* Digital portfolio: 3D imagery stays visually clean; graphic work remains legible. */
.design-project-group{margin-top:42px}
.design-project-group + .design-project-group{margin-top:64px;padding-top:48px;border-top:1px solid var(--line)}
.design-project-subhead{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:22px}
.design-project-subhead h3{margin:0;font-size:clamp(28px,3vw,42px);line-height:1.05;letter-spacing:-.035em}
.design-project-subhead p{max-width:560px;margin:0;color:var(--muted);font-size:14px;line-height:1.55;text-align:right}
.design-project-grid-3d{margin-top:0;grid-auto-rows:255px}
.design-project-visual::after{background:linear-gradient(180deg,rgba(12,14,15,0),rgba(12,14,15,.08))}
.design-project-visual:focus-visible{outline:3px solid rgba(39,58,69,.3);outline-offset:3px}
.design-graphic-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.design-graphic-project{min-height:360px;background:#eeece7;border:1px solid var(--line)}
.design-graphic-project img{object-fit:contain;background:#fff;padding:16px}
.design-graphic-project::after{background:linear-gradient(180deg,transparent 60%,rgba(11,14,15,.78) 100%)}
.design-graphic-project>span{left:18px;right:18px;bottom:16px}

/* Static perimeter options: image + title only, no affordance implying a modal. */
.perimeter-static{cursor:default}
.perimeter-static:hover{transform:none}
.perimeter-static:hover>img{transform:none;filter:none}
.perimeter-title{padding:14px 3px 2px}
.perimeter-title strong{display:block;font-size:18px;line-height:1.18}

/* Progress tracks end at the centre of the first and last marker. */

/* Diamond drilling: more editorial and less like three plain white cards. */
.drill-method-simple{gap:16px}
.drill-method-simple article{
  min-height:238px;
  
  border-color:#d9d4cb;
  background:linear-gradient(145deg,#fff 0%,#f5f2ed 100%);
  box-shadow:0 16px 42px rgba(29,39,44,.045);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.drill-method-simple article:hover{transform:translateY(-3px);border-color:#c8c0b5;box-shadow:0 22px 48px rgba(29,39,44,.075)}
.drill-method-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.drill-method-icon{width:64px;height:64px;border-radius:19px;background:#fff}
.drill-method-icon img{width:36px;height:36px}

.drill-method-simple h3{margin:34px 0 8px;font-size:22px}
.drill-method-simple p{color:var(--muted);line-height:1.62}
.drill-before-list{margin-top:4px}

/* Contact symbols share the same optical size and weight. */
.service-area img,.contact-phone img{width:24px;height:24px;object-fit:contain;flex:0 0 24px}
.service-area img{margin-top:1px;opacity:1}

/* Modular mobility: crane is part of the card composition rather than a floating illustration. */
.modular-mobility{overflow:hidden}

/* Consent is a real required choice and must remain comfortably clickable. */

/* Expanded policy needs breathing room between paragraphs. */
.legal-content p + p{margin-top:10px}

@media (max-width:1100px){
  .design-project-grid-3d{grid-auto-rows:235px}

}
@media (max-width:820px){
  
  .drill-method-simple article{min-height:205px}
  .design-project-subhead{display:block}
  .design-project-subhead p{margin-top:9px;text-align:left}
}
@media (max-width:700px){
  .design-hero-bg{background-position:52% center}
  .design-hero-inner{padding-bottom:96px}
  .design-project-group{margin-top:32px}
  .design-project-group + .design-project-group{margin-top:44px;padding-top:36px}
  .design-project-grid-3d{grid-auto-rows:205px}
  .design-graphic-grid{grid-template-columns:1fr}
  .design-graphic-project{min-height:315px}

}
@media (max-width:430px){
  .perimeter-title strong{font-size:16px}
  .drill-method-simple article{min-height:0;padding:23px}
  .drill-method-simple h3{margin-top:28px}
  .design-project-grid-3d{grid-auto-rows:220px}
  .design-graphic-project{min-height:280px}
}

/* ===== Homepage and UI refinements ===== */

/* Home hero is the complete first screen. */
.home-page .site-header{
  position:fixed;
  inset:0 0 auto 0;
  background:linear-gradient(180deg,rgba(10,14,16,.42),rgba(10,14,16,0));
  border-bottom-color:transparent;
  color:#fff;
  backdrop-filter:none;
  transition:background .24s ease,border-color .24s ease,color .24s ease,backdrop-filter .24s ease;
}
.home-page .site-header:not(.is-scrolled) .brand-logo{filter:brightness(0) invert(1);filter:brightness(0) invert(1) drop-shadow(0 1px 8px rgba(0,0,0,.22))}
.home-page .site-header:not(.is-scrolled) .brand-copy small{color:rgba(255,255,255,.68)}
.home-page .site-header:not(.is-scrolled) .nav-link{color:#fff}
.home-page .site-header:not(.is-scrolled) .nav-link:hover,
.home-page .site-header:not(.is-scrolled) .nav-link:focus-visible{background:rgba(255,255,255,.12)}
.home-page .site-header:not(.is-scrolled) .social-head{background:rgba(10,14,16,.28);border-color:rgba(255,255,255,.22)}
.home-page .site-header:not(.is-scrolled) .social-head img{filter:brightness(0) invert(1)}
.home-page .site-header:not(.is-scrolled) .call-button{background:#ead7b8;color:#111417}
.home-page .site-header:not(.is-scrolled) .call-button img{filter:none}
.home-page .site-header:not(.is-scrolled) .header-phone{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.28)}
.home-page .site-header:not(.is-scrolled) .mobile-menu-toggle{background:rgba(10,14,16,.25);border-color:rgba(255,255,255,.25)}
.home-page .site-header:not(.is-scrolled) .mobile-menu-toggle span{background:#fff}
.home-page .site-header.is-scrolled{
  background:rgba(249,248,245,.96);
  border-bottom-color:var(--line);
  color:var(--ink);
  backdrop-filter:blur(18px);
}
.home-page.menu-open .site-header .mobile-menu-toggle{background:#fff;border-color:var(--line)}
.home-page.menu-open .site-header .mobile-menu-toggle span{background:var(--ink)}

.home-hero{
  min-height:100svh;
  display:block;
  background:#182126;
  padding:0;
}
.home-hero .hero-background{
  background-image:url("assets/images/home/hero.webp");
  background-image:image-set(url("assets/images/home/hero.avif") type("image/avif"),url("assets/images/home/hero.webp") type("image/webp"));
  background-position:center center;
  transform:scale(1.004);
}
.home-hero .hero-overlay{
  background:
    linear-gradient(90deg,rgba(8,12,14,.78) 0%,rgba(8,12,14,.52) 34%,rgba(8,12,14,.16) 62%,rgba(8,12,14,.08) 100%),
    linear-gradient(0deg,rgba(8,12,14,.68) 0%,rgba(8,12,14,.14) 46%,rgba(8,12,14,.10) 100%);
}
.home-hero .hero-content{
  min-height:100svh;
  
  flex-direction:column;
  justify-content:space-between;
  padding:clamp(132px,17vh,172px) 0 28px;
}
.home-hero .hero-copy{max-width:670px}
.home-hero h1{max-width:650px;font-size:clamp(46px,5.25vw,78px);line-height:.98;letter-spacing:-.052em;text-wrap:balance}
.home-hero .hero-description{max-width:610px;margin-top:20px;font-size:clamp(16px,1.4vw,20px);line-height:1.5;color:rgba(255,255,255,.88)}
.home-hero .hero-actions{margin-top:27px}
.home-hero .button{min-height:52px;padding-inline:24px}

.hero-services{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:34px;
}
.hero-service-card,
.hero-service-card:nth-child(-n/**/+3),
.hero-service-card:nth-child(n/**/+4),
.hero-service-card:last-child{
  grid-column:auto;
  min-height:190px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 14px 34px rgba(0,0,0,.17);
}
.hero-service-card .service-gradient{background:linear-gradient(180deg,rgba(8,11,12,.02) 14%,rgba(8,11,12,.16) 42%,rgba(8,11,12,.88) 100%)}
.hero-service-card .service-content{padding:18px;gap:11px;justify-content:flex-end;align-items:flex-start}
.hero-service-card .service-content h3{font-size:clamp(18px,1.55vw,24px);line-height:1.02;text-wrap:balance}
.hero-service-card .service-link.card-cta{
  min-height:34px;
  padding:0 13px;
  color:#fff;
  background:rgba(12,15,16,.24);
  border:1px solid rgba(255,255,255,.62);
  box-shadow:none;
  backdrop-filter:blur(8px);
}
.hero-service-card:hover .service-link.card-cta{background:rgba(255,255,255,.96);color:#111417;box-shadow:none}
.service-image-design{object-position:center center}
.design-hero-bg{background-image:url("assets/images/digital/hero.webp");background-image:image-set(url("assets/images/digital/hero.avif") type("image/avif"),url("assets/images/digital/hero.webp") type("image/webp"));background-position:center 51%}

/* Removed small overline labels: headings stand on their own. */
.section-heading{gap:8px}

/* Process lines: compact markers without decorative numbering. */

/* Diamond drilling */
.drilling-hero-bg{background-position:57% center;transform:scale(1.065)}
.drilling-method-section .section-heading{margin-bottom:26px}
.drill-method-simple{margin-top:0;gap:18px}
.drill-method-simple article{
  min-height:218px;
  padding:28px;
  background:linear-gradient(145deg,#fff 0%,#f4f0e9 100%);
  border-color:#d8d1c7;
}
.drill-method-top{justify-content:flex-start}
.drill-method-icon{width:62px;height:62px;border-radius:18px;background:#fbfaf8}
.drill-method-icon img{width:37px;height:37px}
.drill-method-simple h3{margin:28px 0 8px}

/* Digital portfolio: balanced bento layout, no orphaned image below the grid. */
.design-project-grid-3d{
  
  grid-template-columns:repeat(6,minmax(0,1fr));
  grid-auto-rows:220px;
  
}
.design-project-grid-3d .design-project{grid-column:span 2;min-height:0}
.design-project-grid-3d .design-project:nth-child(4),
.design-project-grid-3d .design-project:nth-child(6),
.design-project-grid-3d .design-project:nth-child(9),
.design-project-grid-3d .design-project:nth-child(10){grid-column:span 3}
.design-project-grid-3d .design-project img{background:transparent}
.design-project-grid-3d .design-project:nth-child(6) img{object-position:center center}
.design-project-grid-3d .design-project:nth-child(9) img{object-position:center 42%}
.design-project-grid-3d .design-project::after{display:none}

/* Cleaner privacy notice under forms. */
.form-privacy-note{margin:0 0 15px;color:#727b80;font-size:12px;line-height:1.45}
.legal-hero h1{max-width:840px;font-size:clamp(38px,5.2vw,64px);line-height:1;letter-spacing:-.045em}

/* Modular mobility: cleaner crane-manipulator illustration integrated into the card. */

/* Side drawer mobile menu. */
@media (max-width:1120px){
  body.menu-open::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:121;
    background:rgba(9,13,15,.46);
    backdrop-filter:blur(2px);
  }
  .mobile-menu-toggle{position:relative;z-index:145}
  .mobile-menu{
    display:flex;
    flex-direction:column;
    position:fixed;
    z-index:140;
    top:0;
    right:0;
    left:auto;
    bottom:0;
    width:min(86vw,390px);
    max-height:none;
    padding:calc(var(--header-h) + 18px) 24px 26px;
    background:#f8f6f2;
    border-left:1px solid var(--line);
    border-bottom:0;
    box-shadow:-20px 0 48px rgba(12,17,19,.18);
    overflow:auto;
    opacity:1;
    visibility:visible;
    pointer-events:none;
    transform:translateX(102%);
    transition:transform .3s cubic-bezier(.22,.76,.2,1);
  }
  .mobile-menu.open{display:flex;pointer-events:auto;transform:translateX(0)}
  .mobile-menu a{min-height:44px;padding:7px 4px}
  .mobile-menu .mobile-sub{padding-left:16px}
  
}

@media (max-width:900px){
  .home-hero .hero-content{padding-top:126px;padding-bottom:22px}
  .home-hero h1{font-size:clamp(43px,8vw,64px)}
  .hero-services{grid-template-columns:repeat(5,220px);overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 10px;margin-right:calc((100vw - var(--page))/ -2);padding-right:24px;scrollbar-width:none}
  .hero-services::-webkit-scrollbar{display:none}
  .hero-service-card{scroll-snap-align:start;min-height:174px}
  .design-project-grid-3d{grid-auto-rows:210px}
  .design-project-grid-3d .design-project,
  .design-project-grid-3d .design-project:nth-child(4),
  .design-project-grid-3d .design-project:nth-child(6),
  .design-project-grid-3d .design-project:nth-child(9),
  .design-project-grid-3d .design-project:nth-child(10){grid-column:auto}

}

@media (max-width:700px){
  .home-hero .hero-background{background-position:68% center}
  .home-hero .hero-overlay{background:linear-gradient(0deg,rgba(8,12,14,.72),rgba(8,12,14,.18) 55%),linear-gradient(90deg,rgba(8,12,14,.72),rgba(8,12,14,.13))}
  .home-hero .hero-content{padding-top:118px;padding-bottom:18px}
  .home-hero .hero-copy{max-width:94%}
  .home-hero h1{font-size:clamp(40px,12vw,55px)}
  .home-hero .hero-description{font-size:15px;max-width:520px}
  .home-hero .hero-actions{margin-top:20px}
  .home-hero .button{min-height:46px;padding-inline:18px;font-size:13px}
  .hero-services{grid-template-columns:repeat(5,190px);gap:9px;margin-top:22px}
  .hero-service-card{min-height:150px;border-radius:15px}
  .hero-service-card .service-content{padding:14px}
  .hero-service-card .service-content h3{font-size:18px}
  .hero-service-card .service-link.card-cta{min-height:31px;padding:0 11px;font-size:11px}

  .drilling-hero-bg{background-position:48% center;transform:scale(1.095)}
  .design-hero-bg{background-position:63% center}
  .design-project-grid-3d{grid-template-columns:1fr;grid-auto-rows:auto;gap:10px}
  .design-project-grid-3d .design-project{aspect-ratio:16/10;height:auto}

  .legal-hero h1{font-size:clamp(31px,9vw,43px)}
}

@media (max-width:430px){
  .home-hero .hero-content{padding-top:108px}
  .hero-services{grid-template-columns:repeat(5,172px)}
  .hero-service-card{min-height:140px}
  .drill-method-simple{grid-template-columns:1fr}
  .drill-method-simple article:last-child{grid-column:auto}
  .design-project-grid-3d .design-project{aspect-ratio:4/3}
}

/* Finishing alignment fixes */

@media (max-width:820px){
  
  body.menu-open::after{z-index:110}
}

/* ===== Responsive polish and unified hero headers ===== */

/* Dropdowns must stay readable over transparent/dark hero headers. */
.nav-dropdown-menu,
.nav-dropdown-menu a{color:var(--ink)!important;text-shadow:none!important}
.nav-dropdown-menu a:hover{color:var(--ink)!important}

/* Filled handset only on call buttons. */
.call-button img,.mobile-call-action img,.hero-phone-button img,.contact-call-highlight img{object-fit:contain}

/* Header visually belongs to the hero on every page that starts with a hero. */
.dark-hero-header-page .site-header,
.light-hero-header-page .site-header{
  position:fixed;
  top:0;left:0;right:0;
  width:100%;
  z-index:120;
  border-bottom-color:transparent;
  background:transparent;
  backdrop-filter:none;
  transition:background .22s ease,border-color .22s ease,backdrop-filter .22s ease,box-shadow .22s ease;
}
.dark-hero-header-page .site-header:not(.is-scrolled) .brand-logo{filter:brightness(0) invert(1) drop-shadow(0 1px 8px rgba(0,0,0,.22))}
.dark-hero-header-page .site-header:not(.is-scrolled) .brand-copy strong,
.dark-hero-header-page .site-header:not(.is-scrolled) .nav-link,
.dark-hero-header-page .site-header:not(.is-scrolled) .header-phone{color:#fff}
.dark-hero-header-page .site-header:not(.is-scrolled) .brand-copy small{color:rgba(255,255,255,.68)}
.dark-hero-header-page .site-header:not(.is-scrolled) .nav-link:hover,
.dark-hero-header-page .site-header:not(.is-scrolled) .nav-link:focus-visible{background:rgba(255,255,255,.12)}
.dark-hero-header-page .site-header:not(.is-scrolled) .social-head{background:rgba(10,14,16,.26);border-color:rgba(255,255,255,.24)}
.dark-hero-header-page .site-header:not(.is-scrolled) .social-head img{filter:brightness(0) invert(1)}
.dark-hero-header-page .site-header:not(.is-scrolled) .call-button{background:#ead7b8;color:#111417}
.dark-hero-header-page .site-header:not(.is-scrolled) .call-button img{filter:none}
.dark-hero-header-page .site-header:not(.is-scrolled) .mobile-menu-toggle{background:rgba(10,14,16,.24);border-color:rgba(255,255,255,.28)}
.dark-hero-header-page .site-header:not(.is-scrolled) .mobile-menu-toggle span{background:#fff}
.dark-hero-header-page .site-header.is-scrolled,
.light-hero-header-page .site-header.is-scrolled{
  background:rgba(249,248,245,.94);
  border-bottom-color:var(--line);
  backdrop-filter:blur(18px);
  box-shadow:0 8px 24px rgba(18,23,25,.04);
}
.light-hero-header-page .gallery-hero,
.light-hero-header-page .legal-hero{padding-top:calc(var(--header-h) + 48px)}

/* Home CTA switches to the shorter label on phones. */

/* Main process: robust connectors between markers instead of one fragile global line. */

/* Service progress: outlined dots on light backgrounds, matching the light outline treatment on dark sections. */

/* Drilling: stronger hero crop on the subject, and horizontal icon/copy cards. */
.drilling-hero-bg{background-position:70% center;transform:scale(1.08)}
.drill-method-simple article{
  min-height:190px;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  
  column-gap:20px;
  align-content:center;
  padding:26px 28px;
}
.drill-method-top{grid-row:1 / span 2;align-self:start}
.drill-method-simple h3{grid-row:1;margin:4px 0 8px;align-self:end}
.drill-method-simple p{grid-row:2;margin:0;align-self:start}
.drill-method-icon{width:58px;height:58px;border-radius:17px}
.drill-method-icon img{width:34px;height:34px}

/* Digital work examples: regular, deliberate grid instead of a bento arrangement. */
.design-project-grid-3d{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  grid-auto-rows:auto;
  gap:12px;
}
.design-project-grid-3d .design-project,
.design-project-grid-3d .design-project:nth-child(4),
.design-project-grid-3d .design-project:nth-child(6),
.design-project-grid-3d .design-project:nth-child(9),
.design-project-grid-3d .design-project:nth-child(10){grid-column:auto;aspect-ratio:4/3;min-height:0}
.design-project-grid-3d .design-project img{padding:0}

/* Manipulator illustration: transparent PNG integrated in the mobility card. */

@media (max-width:1120px){
  /* Menu does not exist visually until explicitly opened. This also fixes zoom-out leakage. */
  .mobile-menu{
    display:none!important;
    
    z-index:140!important;
    
    width:min(82vw,360px)!important;
    
    padding:calc(var(--header-h) + 14px) 20px 24px!important;

    border-left:1px solid var(--line)!important;
    border-bottom:0!important;
    box-shadow:-18px 0 46px rgba(12,17,19,.18)!important;
    
    transform:none!important;
  }
  .mobile-menu.open{display:flex!important;flex-direction:column!important;animation:aetexDrawerIn .24s cubic-bezier(.22,.76,.2,1)}
  @keyframes aetexDrawerIn{from{transform:translateX(100%);opacity:.6}to{transform:translateX(0);opacity:1}}
  .mobile-menu a,.mobile-menu .mobile-sub,.mobile-menu-phone-number{color:var(--ink)!important;text-shadow:none!important}
  .mobile-menu .mobile-sub{color:#5f696d!important}
  .mobile-contact-actions{margin-top:auto;display:flex!important;justify-content:flex-start;gap:9px!important}
  .mobile-call-action{flex:0 0 auto!important;min-width:126px!important;min-height:46px!important;padding:6px 14px!important}
  .mobile-social-rounds{flex:0 0 auto}
  .mobile-social-round{width:46px!important;height:46px!important;min-height:46px!important;flex-basis:46px!important}
  .mobile-menu-phone-number{margin:11px 0 0!important}
}

@media (max-width:900px){
  /* Phone keeps the older stacked feel, but the service cards stay inside the hero. */
  .home-hero{min-height:0;height:auto}
  .home-hero .hero-content{min-height:100svh;justify-content:flex-start;padding-top:112px;padding-bottom:18px}
  
  .home-hero .hero-services,
  .hero-services{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    margin:14px 0 0;
    padding:0;
    overflow:visible;
    scroll-snap-type:none;
  }
  .hero-service-card,
  .hero-service-card:nth-child(-n/**/+3),
  .hero-service-card:nth-child(n/**/+4){grid-column:auto;min-height:132px}
  .hero-service-card:last-child{grid-column:1/-1;min-height:120px}
  .hero-service-card .service-content{padding:12px;gap:8px}
  .hero-service-card .service-content h3{font-size:16px;line-height:1.05}
  .hero-service-card .service-link.card-cta{min-height:29px;padding:0 10px;font-size:10.5px}
  
  .home-hero .hero-actions{margin-top:17px}

  .design-project-grid-3d{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .design-project-grid-3d .design-project{aspect-ratio:4/3}

  /* Stacked mobile process with connectors only between actual markers. */

}

@media (max-width:820px){
  /* Service-progress connectors stop at the next marker and never escape the circles. */

  /* Equal vertical rhythm for first two mobile form fields. */
  .form-row{grid-template-columns:1fr;gap:0!important}
  .form-row label{margin-bottom:16px!important}
}

@media (max-width:700px){
  .home-hero .hero-background{background-position:69% center}
  .home-hero .hero-content{padding-top:102px;padding-bottom:16px}
  .home-hero h1{font-size:clamp(38px,11.4vw,52px);line-height:.99}
  .home-hero .hero-description{margin-top:13px;font-size:14px;line-height:1.42}
  .home-hero .button{min-height:43px;padding-inline:16px}
  .hero-services{margin-top:12px;gap:8px}
  .hero-service-card{min-height:122px!important;border-radius:14px}
  .hero-service-card:last-child{min-height:104px!important}

  /* Mobile drilling hero: zoom in and bias strongly to the right side of the source image. */
  .drilling-hero-bg{background-position:82% center!important;transform:scale(1.16)!important}

  /* Horizontal drilling cards remain compact on phones. */
  .drill-method-simple{grid-template-columns:1fr;gap:10px}
  .drill-method-simple article{grid-template-columns:54px 1fr;column-gap:14px;min-height:0;padding:20px}
  .drill-method-icon{width:50px;height:50px;border-radius:15px}
  .drill-method-icon img{width:29px;height:29px}
  .drill-method-simple h3{font-size:18px;margin:2px 0 5px}
  .drill-method-simple p{font-size:13px;line-height:1.5}

  /* Keep the side drawer compact on very small screens. */
  .mobile-menu{width:min(88vw,340px)!important;padding-inline:18px!important}
  .mobile-call-action{min-width:116px!important;padding-inline:12px!important}
}

@media (max-width:430px){
  .home-hero .hero-content{padding-top:96px}
  .hero-service-card .service-content h3{font-size:15px}
  .hero-service-card .service-link.card-cta{font-size:10px}
  .design-project-grid-3d{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
}

/* ===== Responsive refinement pass ===== */

/* Home: hero stands on its own; services are the next section, not part of the hero. */
.home-hero{min-height:clamp(620px,76vh,820px);height:auto!important}
.home-hero .hero-content{min-height:inherit;display:flex;align-items:center;padding-top:calc(var(--header-h) + 42px)!important;padding-bottom:54px!important}
.home-hero .hero-copy{max-width:650px}
.home-hero .hero-actions{margin-top:25px}
.home-page .site-header:not(.is-scrolled){border-bottom-color:transparent!important;}
.home-services-section{position:relative;background:#f4f1ec;padding:22px 0 66px}
.home-services-section .hero-services{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px!important;margin:0!important;padding:0!important;overflow:visible!important;width:100%!important}
.home-services-section .hero-service-card{min-height:238px!important;border-radius:18px;border:1px solid rgba(27,35,39,.13);box-shadow:0 14px 36px rgba(25,31,34,.08)}
.home-services-section .service-gradient{background:linear-gradient(180deg,rgba(5,8,10,.03) 17%,rgba(5,8,10,.15) 42%,rgba(5,8,10,.74) 72%,rgba(5,8,10,.96) 100%)!important}
.home-services-section .service-content{left:17px;right:17px;bottom:16px;gap:12px}
.home-services-section .service-content h3{text-shadow:0 2px 10px rgba(0,0,0,.42);font-size:clamp(18px,1.45vw,23px)}
.home-services-section .service-link.card-cta{background:rgba(17,20,23,.68)!important;border:1px solid rgba(255,255,255,.68);box-shadow:none;backdrop-filter:blur(8px)}
.home-services-section .service-card:hover .service-link.card-cta{color:#111417!important}

/* One shared process line on home + service pages. Compact markers, correct endpoints. */

/* Drilling method cards: icon and copy on one line, no decorative numbers. */
.drill-method-simple{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.drill-method-simple article{display:grid!important;grid-template-columns:62px 1fr!important;grid-template-rows:auto auto;column-gap:16px;align-items:start;min-height:174px!important;padding:24px!important}
.drill-method-top{grid-column:1;grid-row:1/3;display:block!important}
.drill-method-icon{width:56px!important;height:56px!important;border-radius:16px}
.drill-method-icon img{width:32px!important;height:32px!important}
.drill-method-simple h3{grid-column:2;margin:3px 0 7px!important;font-size:21px}
.drill-method-simple p{grid-column:2;margin:0!important;font-size:14px;line-height:1.58}

/* All service heroes begin on the same vertical system; the home link is aligned. */
.ceiling-hero,.drilling-hero,.wallpaper-hero,.modular-hero,.design-hero{min-height:670px!important;align-items:stretch!important}
.ceiling-hero-inner,.drilling-hero-inner,.wallpaper-hero-inner,.modular-hero-inner,.design-hero-inner{display:flex;flex-direction:column;justify-content:flex-start;box-sizing:border-box;padding-top:calc(var(--header-h) + 58px)!important;padding-bottom:72px!important}
.ceiling-hero .service-home-link,.drilling-hero .service-home-link,.wallpaper-hero .service-home-link,.modular-hero .service-home-link,.design-hero .service-home-link{margin-bottom:40px!important;align-self:flex-start}
.service-hero-actions{margin-top:28px!important}

/* Only the three requested hero headers get extra phone contrast on desktop. */
@media (min-width:1121px){
  .drilling-page .site-header:not(.is-scrolled) .header-phone,
  .wallpaper-page .site-header:not(.is-scrolled) .header-phone,
  .modular-page .site-header:not(.is-scrolled) .header-phone{
    padding:8px 11px;border-radius:999px;background:rgba(8,12,14,.34);box-shadow:0 6px 18px rgba(0,0,0,.12);text-shadow:0 1px 7px rgba(0,0,0,.5);backdrop-filter:blur(10px)
  }
}

/* Digital portfolio: deliberate 5 x 2 desktop grid; no random spans. */
.design-project-grid-3d{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:12px!important}
.design-project-grid-3d .design-project,
.design-project-grid-3d .design-project:nth-child(n){grid-column:auto!important;grid-row:auto!important;aspect-ratio:4/3!important;min-height:0!important}
.design-project-grid-3d .design-project img{width:100%;height:100%;object-fit:cover;object-position:center}

/* Manipulator: keep the approved PNG, but integrate it more cleanly. */

/* Drawer lives above the whole page, while a blurred backdrop covers header + logo too. */
@media (max-width:1120px){
  body.menu-open{overflow:hidden!important}
  body.menu-open::before{content:"";position:fixed;inset:0;z-index:999;background:rgba(12,16,18,.36);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:aetexBackdropIn .22s ease both}
  @keyframes aetexBackdropIn{from{opacity:0}to{opacity:1}}
  .mobile-menu{border-radius:24px 0 0 24px;box-shadow:-26px 0 70px rgba(8,12,14,.24)!important;opacity:0!important;visibility:hidden!important;transform:translateX(104%)!important;transition:transform .34s cubic-bezier(.22,.76,.2,1),opacity .22s ease,visibility 0s linear .34s!important}
  .mobile-menu.open{opacity:1!important;visibility:visible!important;transform:translateX(0)!important;transition-delay:0s!important;animation:none!important}
  .mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:2px 0 14px;margin-bottom:8px;border-bottom:1px solid var(--line)}
  .mobile-menu-head strong{font-size:22px;letter-spacing:-.025em}
  .mobile-menu-close{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font-size:28px;line-height:1;cursor:pointer}
  .mobile-menu-section-label{display:block;margin:14px 0 4px;color:#8a8f91;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
  .mobile-menu>a{display:flex!important;align-items:center;min-height:44px!important;padding:9px 10px!important;border-radius:11px;color:var(--ink)!important;font-weight:720;text-shadow:none!important}
  .mobile-menu>a:hover,.mobile-menu>a:focus-visible{background:#ede9e3}
  .mobile-menu .mobile-sub{padding-left:18px!important;color:#596267!important;font-weight:620}
  .mobile-contact-actions{margin-top:auto!important;padding-top:20px!important;border-top:1px solid var(--line);display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:10px!important}
  .mobile-call-action{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;width:auto!important;min-width:116px!important;min-height:44px!important;padding:8px 13px!important;border:0!important;border-radius:999px!important;background:#1d272c!important;color:#fff!important}
  .mobile-call-action strong{color:#fff!important;font-size:13px}
  .mobile-call-action img{width:17px!important;height:17px!important;filter:invert(1) brightness(2)!important}
  .mobile-social-rounds{display:flex;gap:8px!important;justify-content:flex-end}
  .mobile-social-round{width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;border:1px solid var(--line)!important;background:#fff!important}
  .mobile-menu-phone-number{display:block!important;margin:10px 0 0!important;padding:8px 10px!important;min-height:0!important;color:var(--ink)!important;font-size:17px!important;font-weight:820!important}
}

@media (max-width:900px){
  /* Home returns to a calm mobile layout: hero first, service cards below in one column. */
  .home-hero{min-height:560px!important}
  .home-hero .hero-content{min-height:560px!important;align-items:flex-end!important;padding-top:calc(var(--header-h) + 34px)!important;padding-bottom:48px!important}
  .home-hero .hero-copy{max-width:100%}
  .home-hero .hero-actions{margin-top:19px!important}
  .home-services-section{padding:14px 0 46px}
  .home-services-section .hero-services{gap:10px!important}
  .home-services-section .hero-service-card{min-height:205px!important;aspect-ratio:auto!important}
  .home-services-section .service-content{left:18px;right:18px;bottom:16px}
  .home-services-section .service-content h3{font-size:22px!important}

  /* Stable equal marker rhythm on every process block. */

  .drill-method-simple{grid-template-columns:1fr!important}
  .drill-method-simple article{grid-template-columns:56px 1fr!important;min-height:0!important;padding:20px!important}
  .drill-method-icon{width:50px!important;height:50px!important}
  .drill-method-icon img{width:29px!important;height:29px!important}

  .ceiling-hero,.drilling-hero,.wallpaper-hero,.modular-hero,.design-hero{min-height:610px!important}
  .ceiling-hero-inner,.drilling-hero-inner,.wallpaper-hero-inner,.modular-hero-inner,.design-hero-inner{padding-top:calc(var(--header-h) + 30px)!important;}
  .ceiling-hero .service-home-link,.drilling-hero .service-home-link,.wallpaper-hero .service-home-link,.modular-hero .service-home-link,.design-hero .service-home-link{margin-bottom:32px!important}

  .drilling-hero-bg{background-position:84% center!important;transform:scale(1.17)!important}

  .design-project-grid-3d{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}

}

@media (max-width:430px){
  .home-hero{min-height:530px!important}
  .home-hero .hero-content{min-height:530px!important;padding-bottom:40px!important}
  .home-services-section .hero-service-card{min-height:190px!important}

}

/* ===== Layout, process and mobile menu refinement ===== */

/* Home hero: keep desktop copy anchored to the left, never centered horizontally. */
.home-hero .hero-content{
  align-items:flex-start!important;
  justify-content:center!important;
}
.home-page .site-header:not(.is-scrolled){
  border-bottom:0!important;
  box-shadow:none!important;
}

/* Services are a separate section with a clear heading. */
.home-services-section{padding-top:34px!important}
.home-services-heading{display:flex;align-items:end;justify-content:space-between;margin:0 0 20px}
.home-services-heading h2{margin:0;font-size:clamp(34px,4vw,54px);line-height:1;letter-spacing:-.045em}
.home-services-section .service-gradient{
  background:linear-gradient(180deg,rgba(5,8,10,.02) 8%,rgba(5,8,10,.10) 38%,rgba(5,8,10,.58) 68%,rgba(5,8,10,.96) 100%)!important;
}
.home-services-section .service-content h3{
  color:#fff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.62)!important;
}
.home-services-section .service-link.card-cta{
  min-height:40px!important;
  padding:0 8px 0 15px!important;
  gap:10px!important;
  background:rgba(255,255,255,.94)!important;
  color:#15191b!important;
  border:1px solid rgba(255,255,255,.78)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.18)!important;
  
}
.home-services-section .service-link.card-cta>span{
  width:27px;height:27px;display:grid;place-items:center;border-radius:50%;
  background:#e5d1b0;color:#15191b;line-height:1;transition:transform .2s ease;
}
.home-services-section .service-card:hover .service-link.card-cta{background:#fff!important;color:#15191b!important;transform:translateY(-1px)}
.home-services-section .service-card:hover .service-link.card-cta>span{transform:translateX(2px)}

/* Canonical progress component: same geometry as the approved wallpaper version. */

/* Modular type cards: icon and title sit on one line on desktop. */
@media (min-width:901px){
  .modular-type-grid article{
    min-height:104px!important;
    padding:20px!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:15px!important;
  }
  .modular-type-grid article>span{flex:0 0 48px!important}
  .modular-type-grid h3{margin:0!important;font-size:17px!important;line-height:1.22!important}
}

/* New manipulator artwork is wide, so let it breathe. */

/* Mobile drawer backdrop: darkening only, no blur. */
@media (max-width:1120px){
  body.menu-open::before{
    background:rgba(7,10,12,.62)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}

@media (max-width:900px){
  /* Home hero: more breathing room and centered vertical rhythm, without crowding the top. */
  .home-hero{min-height:640px!important}
  .home-hero .hero-content{
    min-height:640px!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding-top:calc(var(--header-h) + 46px)!important;
    padding-bottom:50px!important;
  }
  .home-hero .hero-copy{width:100%!important;max-width:100%!important}
  .home-hero .hero-description{margin-top:18px!important;line-height:1.5!important}

  /* Every hero uses one button per row on phones. */

  .home-services-section{padding-top:28px!important}
  .home-services-heading{margin-bottom:16px!important}
  .home-services-heading h2{font-size:36px!important}
  .home-services-section .hero-services{grid-template-columns:1fr!important;gap:11px!important}
  .home-services-section .hero-service-card{min-height:210px!important}
  .home-services-section .service-content h3{font-size:23px!important}
  .home-services-section .service-link.card-cta{min-height:39px!important;font-size:12px!important}

  /* The approved desktop process becomes the same line vertically on phone. */

  /* Keep service hero content aligned to a common rhythm. */
  .ceiling-hero-inner,.drilling-hero-inner,.wallpaper-hero-inner,.modular-hero-inner,.design-hero-inner{
    padding-top:calc(var(--header-h) + 38px)!important;
    padding-bottom:58px!important;
  }

}

@media (max-width:430px){
  .home-hero{min-height:620px!important}
  .home-hero .hero-content{min-height:620px!important;padding-top:calc(var(--header-h) + 38px)!important;padding-bottom:44px!important}
  .home-services-heading h2{font-size:32px!important}
}
@media (max-width:1120px){body.menu-open::after{display:none!important;content:none!important}}

/* ===== Unified process and mobile performance ===== */

/* Cleaner, lighter CTA inside the home service cards. */
.home-services-section .service-link.card-cta{
  min-height:38px!important;
  padding:0 13px!important;
  gap:9px!important;
  border:1px solid rgba(255,255,255,.48)!important;
  border-radius:999px!important;
  background:rgba(15,20,22,.62)!important;
  color:#fff!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  font-size:12px!important;
  font-weight:720!important;
}
.home-services-section .service-card:hover .service-link.card-cta{
  background:rgba(15,20,22,.78)!important;
  color:#fff!important;
  transform:none!important;
  box-shadow:none!important;
}
.card-cta-arrow{
  width:19px!important;
  height:19px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:0!important;
  background:transparent!important;
  color:currentColor!important;
}
.card-cta-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.home-services-section .service-card:hover .card-cta-arrow{transform:translateX(2px)}

/* Header phone contrast must never change the layout size. */
@media (min-width:1121px){
  .drilling-page .header-phone,
  .wallpaper-page .header-phone,
  .modular-page .header-phone{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:148px!important;
    min-height:38px!important;
    padding:8px 11px!important;
    border:1px solid transparent!important;
    border-radius:999px!important;
    box-sizing:border-box!important;
    transition:background-color .18s ease,color .18s ease,box-shadow .18s ease,text-shadow .18s ease!important;
  }
  .drilling-page .site-header:not(.is-scrolled) .header-phone,
  .wallpaper-page .site-header:not(.is-scrolled) .header-phone,
  .modular-page .site-header:not(.is-scrolled) .header-phone{
    background:rgba(8,12,14,.34)!important;
    box-shadow:0 6px 18px rgba(0,0,0,.12)!important;
    text-shadow:0 1px 7px rgba(0,0,0,.5)!important;
    backdrop-filter:none!important;
  }
  .drilling-page .site-header.is-scrolled .header-phone,
  .wallpaper-page .site-header.is-scrolled .header-phone,
  .modular-page .site-header.is-scrolled .header-phone{
    background:transparent!important;
    box-shadow:none!important;
    text-shadow:none!important;
  }
}

/* Modular features: icon and copy share a single horizontal row. */
.modular-feature-grid article{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:16px!important;
  align-content:center!important;
  min-height:158px!important;
  padding:23px!important;
}
.modular-feature-icon{
  grid-column:1!important;
  grid-row:1 / span 2!important;
  align-self:start!important;
  margin:0!important;
}
.modular-feature-grid h3{
  grid-column:2!important;
  grid-row:1!important;
  margin:2px 0 7px!important;
  font-size:20px!important;
  line-height:1.15!important;
}
.modular-feature-grid p{
  grid-column:2!important;
  grid-row:2!important;
  margin:0!important;
}

/* Digital solution cards: keep the desktop 2x2 layout, but remove the unused vertical air. */
@media (min-width:901px){
  .design-direction-card{
    min-height:178px!important;
    padding:23px 24px!important;
    grid-template-columns:54px minmax(0,1fr)!important;
    gap:17px!important;
    align-items:start!important;
  }
  .design-direction-icon{width:52px!important;height:52px!important;border-radius:15px!important}
  .design-direction-icon img{width:30px!important;height:30px!important}
  .design-direction-card h3{margin:1px 0 8px!important;font-size:22px!important}
  .design-direction-card p{font-size:14px!important;line-height:1.52!important}
}

/* Submit action: paper-plane icon + stable touch state. */
.form-submit{
  -webkit-tap-highlight-color:transparent!important;
  touch-action:manipulation;
}
.submit-plane{width:22px;height:22px;display:grid;place-items:center;flex:0 0 22px}
.submit-plane svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.form-submit:active{transform:none!important}
.form-submit:disabled{
  opacity:1!important;
  background:var(--ink)!important;
  border-color:var(--ink)!important;
  color:#fff!important;
  
  cursor:wait;
}
.form-submit:focus:not(:focus-visible){outline:none!important;box-shadow:none!important}
@media (hover:none){
  .form-submit:hover{background:var(--ink)!important;color:#fff!important;transform:none!important}
}

/* Modular hero: zoom toward the useful right/lower part of the source image. */
.modular-hero-bg{
  background-position:76% 69%!important;
  transform:scale(1.09)!important;
  transform-origin:78% 72%!important;
}

/* Mobile drawer: GPU-only slide, lightweight backdrop, no expensive blur. */
.mobile-menu-backdrop{display:none}
@media (max-width:1120px){
  body.menu-open::before,
  body.menu-open::after{content:none!important;display:none!important}
  .mobile-menu-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:999;
    background:rgba(7,10,12,.64);
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
    
  }
  body.menu-open .mobile-menu-backdrop{opacity:1;pointer-events:auto}
  .mobile-menu{
    display:flex!important;
    flex-direction:column!important;
    position:fixed!important;
    z-index:1001!important;
    top:0!important;right:0!important;bottom:0!important;left:auto!important;
    width:min(86vw,360px)!important;
    max-height:none!important;
    padding:18px 20px 22px!important;
    background:#f8f6f2!important;
    color:var(--ink)!important;
    border:0!important;
    border-left:1px solid rgba(29,39,44,.1)!important;
    border-radius:22px 0 0 22px!important;
    box-shadow:-12px 0 30px rgba(8,12,14,.18)!important;
    overflow:auto!important;
    overscroll-behavior:contain;

    pointer-events:none!important;
    
    transition:transform .28s cubic-bezier(.22,.76,.2,1)!important;

    contain:layout paint;
  }
  .mobile-menu.open{
    pointer-events:auto!important;
    
  }
  /* Mobile header changes colour without any backdrop blur. */
  .site-header,
  .home-page .site-header.is-scrolled,
  .dark-hero-header-page .site-header.is-scrolled,
  .light-hero-header-page .site-header.is-scrolled{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease!important;
  }
}

/* Mobile hero system: same scale/rhythm across all service pages. */
@media (max-width:900px){
  .ceiling-hero,.drilling-hero,.wallpaper-hero,.modular-hero,.design-hero{min-height:640px!important}
  .ceiling-hero-inner,.drilling-hero-inner,.wallpaper-hero-inner,.modular-hero-inner,.design-hero-inner{
    min-height:640px!important;
    padding-top:calc(var(--header-h) + 42px)!important;
    padding-bottom:56px!important;
  }
  .ceiling-hero .service-home-link,.drilling-hero .service-home-link,.wallpaper-hero .service-home-link,.modular-hero .service-home-link,.design-hero .service-home-link{
    min-height:40px!important;
    margin-bottom:34px!important;
    padding:9px 13px!important;
    font-size:13px!important;
  }
  .ceiling-hero h1,.drilling-hero h1,.wallpaper-hero h1,.modular-hero h1,.design-hero h1{
    max-width:100%!important;
    font-size:clamp(43px,11.8vw,57px)!important;
    line-height:.96!important;
    letter-spacing:-.048em!important;
  }
  .service-hero-lead{
    max-width:100%!important;
    margin-top:20px!important;
    font-size:16px!important;
    line-height:1.48!important;
  }
  .service-hero-actions{margin-top:25px!important;width:min(100%,340px)!important}
  .service-hero-actions .button{min-height:48px!important;font-size:14px!important;padding-inline:18px!important}

  .modular-hero-bg{
    background-position:80% 72%!important;
    transform:scale(1.14)!important;
    transform-origin:82% 76%!important;
  }

  .modular-feature-grid article{
    min-height:150px!important;
    padding:19px!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    column-gap:13px!important;
  }
  .modular-feature-icon{width:46px!important;height:46px!important}
  .modular-feature-icon img{width:27px!important;height:27px!important}
  .modular-feature-grid h3{font-size:18px!important}
  .modular-feature-grid p{font-size:12px!important;line-height:1.5!important}
}

@media (max-width:430px){
  .ceiling-hero,.drilling-hero,.wallpaper-hero,.modular-hero,.design-hero{min-height:620px!important}
  .ceiling-hero-inner,.drilling-hero-inner,.wallpaper-hero-inner,.modular-hero-inner,.design-hero-inner{min-height:620px!important;padding-top:calc(var(--header-h) + 36px)!important;padding-bottom:48px!important}
  .ceiling-hero h1,.drilling-hero h1,.wallpaper-hero h1,.modular-hero h1,.design-hero h1{font-size:clamp(40px,11.4vw,52px)!important}
  .service-hero-lead{font-size:15px!important}
  
}

/* ===== Approved progress component and performance refinements ===== */

/* No backdrop blur anywhere. */
*,*::before,*::after{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.site-header,
.home-page .site-header.is-scrolled,
.dark-hero-header-page .site-header.is-scrolled,
.light-hero-header-page .site-header.is-scrolled{
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease!important;
}
.home-page .site-header.is-scrolled,
.dark-hero-header-page .site-header.is-scrolled,
.light-hero-header-page .site-header.is-scrolled{
  background:rgba(249,248,245,.96)!important;
}

/* Drawer: transform only; backdrop: opacity only. */
@media (max-width:1120px){
  .mobile-menu-backdrop{
    background:rgba(7,10,12,.62)!important;
    transition:opacity .20s ease!important;
    will-change:opacity;
  }
  .mobile-menu{
    opacity:1!important;
    visibility:visible!important;
    transform:translate3d(101%,0,0)!important;
    transition:transform .26s cubic-bezier(.22,.76,.2,1)!important;
    will-change:transform;
    backface-visibility:hidden;
  }
  .mobile-menu.open{transform:translate3d(0,0,0)!important}
}

/* Home hero matches service hero scale on mobile. */
@media (max-width:900px){
  .home-hero h1{
    font-size:clamp(43px,11.8vw,57px)!important;
    line-height:.96!important;
    letter-spacing:-.048em!important;
  }
  .home-hero .hero-description{
    margin-top:20px!important;
    font-size:16px!important;
    line-height:1.48!important;
  }

}
@media (max-width:430px){
  .home-hero h1{font-size:clamp(40px,11.4vw,52px)!important}
  .home-hero .hero-description{font-size:15px!important}
}

/* Geography separated from intro text. */
.contact-copy>p:not(.eyebrow):not(.service-area){margin-bottom:0!important}
.service-area{
  width:min(100%,560px);
  
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.82)!important;
}
.service-area b{color:#fff}

/* Submit gets short tactile feedback, never a stuck state. */
.form-submit{
  transition:background-color .16s ease,color .16s ease,transform .12s ease,box-shadow .16s ease!important;
}
.form-submit.is-pressing,
.form-submit:not(:disabled):active{
  transform:scale(.985)!important;
  background:#30383c!important;
  color:#fff!important;
  box-shadow:inset 0 2px 5px rgba(0,0,0,.14)!important;
}
.form-submit:disabled{transform:none!important}

/* Wallpaper preparation: icon left, copy right. */
.wallpaper-prep-item{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  align-items:start!important;
  justify-content:stretch!important;
  gap:16px!important;
  padding:22px!important;
}
.wallpaper-prep-item>span{grid-column:1!important;grid-row:1!important;margin:0!important}
.wallpaper-prep-item>div{grid-column:2!important;grid-row:1!important;}

/* Modular inside: icon left on desktop. */
@media (min-width:901px){
  .modular-feature-grid article{
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:14px!important;
    align-items:start!important;
    min-height:150px!important;
    padding:20px!important;
  }
  .modular-feature-icon{
    grid-column:1!important;
    grid-row:1/span 2!important;
    width:48px!important;
    height:48px!important;
    margin:0!important;
  }
  .modular-feature-grid h3{grid-column:2!important;grid-row:1!important;margin:3px 0 7px!important}
  .modular-feature-grid p{grid-column:2!important;grid-row:2!important;margin:0!important}
  .design-direction-card{min-height:0!important;padding:21px!important;gap:15px!important}
}

/* Modular inside: icon above on phone, as before. */
@media (max-width:900px){
  .modular-feature-grid article{display:block!important;min-height:185px!important;padding:18px!important}
  .modular-feature-icon{display:flex!important;width:48px!important;height:48px!important;margin:0 0 17px!important}
  .modular-feature-grid h3{margin:0 0 8px!important}
  .modular-feature-grid p{margin:0!important}
}

/* Realistic manipulator photo. */

/* ===== Header, social, footer and contact polish ===== */
.site-header{
  background:rgba(249,248,245,.985)!important;
  border-bottom:1px solid rgba(17,20,23,.11)!important;
  box-shadow:0 1px 0 rgba(17,20,23,.03);
}
.home-page .site-header.is-scrolled,
.dark-hero-header-page .site-header.is-scrolled,
.light-hero-header-page .site-header.is-scrolled{
  background:rgba(249,248,245,.992)!important;
}

.hero-button-arrow{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}
.hero-button-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.button:hover .hero-button-arrow svg{transform:translateX(2px)}

.social-head,
.mobile-social-round,
.footer-social,
.contact-social{transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease}
.footer-social{border:1px solid transparent}
.footer-social:hover,.footer-social:focus-visible,
.social-head:hover,.social-head:focus-visible,
.mobile-social-round:hover,.mobile-social-round:focus-visible{transform:translateY(-2px)}

.social-viber:hover,.social-viber:focus-visible,
.footer-social-viber:hover,.footer-social-viber:focus-visible,
.contact-social-viber:hover,.contact-social-viber:focus-visible{
  background:#7360f2!important;
  border-color:#7360f2!important;
}
.social-whatsapp:hover,.social-whatsapp:focus-visible,
.footer-social-whatsapp:hover,.footer-social-whatsapp:focus-visible,
.contact-social-whatsapp:hover,.contact-social-whatsapp:focus-visible{
  background:#25d366!important;
  border-color:#25d366!important;
}
.social-tiktok:hover,.social-tiktok:focus-visible,
.footer-social-tiktok:hover,.footer-social-tiktok:focus-visible{
  background:#111417!important;
  border-color:#111417!important;
}
.social-viber:hover img,.social-viber:focus-visible img,
.social-whatsapp:hover img,.social-whatsapp:focus-visible img,
.social-tiktok:hover img,.social-tiktok:focus-visible img,
.footer-social:hover img,.footer-social:focus-visible img,
.mobile-social-round:hover img,.mobile-social-round:focus-visible img,
.contact-social-viber:hover img,.contact-social-viber:focus-visible img,
.contact-social-whatsapp:hover img,.contact-social-whatsapp:focus-visible img{
  filter:brightness(0) invert(1)!important;
}

.service-area{
  width:min(100%,620px)!important;
  margin:28px 0 20px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  color:#fff!important;
  font-size:17px!important;
  font-weight:780!important;
}
.service-area span,.service-area b{font-weight:780!important;color:#fff!important}

.contact-action-row{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
}
.contact-actions-divider{
  width:1px;
  height:32px;
  background:rgba(255,255,255,.16);
  flex:0 0 1px;
}
.contact-messenger-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.contact-messenger-group .contact-social{min-height:46px;padding:0 18px}

.footer-contact-link{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:14px;
  color:rgba(255,255,255,.82);
}
.footer-contact-link img{width:19px;height:19px;filter:invert(1)}
.footer-contact-link:hover{color:#fff}
.footer-contact-divider{width:100%;height:1px;margin:14px 0 12px;background:rgba(255,255,255,.12)}
.footer-socials{margin-top:0!important;flex-wrap:wrap}

.wallpaper-prep-item{align-items:center!important}
.wallpaper-prep-item>span{align-self:center!important}
.wallpaper-prep-item>div{align-self:center!important}

@media (max-width:700px){
  .contact-action-row{display:block!important;}
  .contact-action-row>.contact-social{width:100%!important;justify-content:center!important}
  .contact-actions-divider{display:none}
  .contact-messenger-group{display:grid!important;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}
  .contact-messenger-group .contact-social{width:100%;justify-content:center}
}
@media (max-width:430px){
  .contact-messenger-group{grid-template-columns:1fr}
}

/* ===== Approved process component and module-transfer card ===== */

/* Hero headers are fully transparent until the page is scrolled. */
.home-page .site-header:not(.is-scrolled),
.dark-hero-header-page .site-header:not(.is-scrolled),
.light-hero-header-page .site-header:not(.is-scrolled){
  background:transparent!important;
  border-bottom-color:transparent!important;
  box-shadow:none!important;
}
.home-page .site-header.is-scrolled,
.dark-hero-header-page .site-header.is-scrolled,
.light-hero-header-page .site-header.is-scrolled{
  background:rgba(249,248,245,.985)!important;
  border-bottom-color:rgba(17,20,23,.11)!important;
  box-shadow:0 1px 0 rgba(17,20,23,.03)!important;
}

/* Approved AETEX progress block: ported from aetex-all-progress-lines-demo.html. */
.aetex-process-section{
  --process-bg:#182126;
  --process-bg-2:#111b20;
  --process-text:#fff;
  --process-muted:rgba(255,255,255,.56);
  --process-track:rgba(255,255,255,.14);
  --process-dot-ring:#f5f1eb;
  --process-dot-off:#5d686e;
  --process-dot-on:#cbb394;
  background:
    radial-gradient(900px 420px at 5% -10%,rgba(51,75,88,.28),transparent 62%),
    linear-gradient(90deg,var(--process-bg),var(--process-bg-2));
  color:var(--process-text);
  padding:64px 0 58px;
  overflow:hidden;
}
.aetex-process-wrap{
  width:min(1460px,calc(100% - 64px));
  margin:auto;
}
.aetex-process-title{
  margin:0 0 56px;
  font-size:clamp(42px,4.6vw,70px);
  line-height:1;
  font-weight:800;
  letter-spacing:-.045em;
}
.aetex-timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(var(--steps),minmax(0,1fr));
  gap:0;
}
.aetex-process-track,
.aetex-process-fill{
  position:absolute;
  top:14px;
  left:var(--edge);
  height:2px;
  border-radius:999px;
  pointer-events:none;
}
.aetex-process-track{
  right:var(--edge);
  z-index:0;
  background:var(--process-track);
}
.aetex-process-fill{
  z-index:1;
  width:0;
  background:linear-gradient(90deg,#1d272c 0%,#273136 8%,#514d45 20%,#8f7d65 42%,#bea689 70%,#d7c5ad 100%);
  box-shadow:0 0 10px rgba(215,197,173,.10);
}
.aetex-timeline.is-playing .aetex-process-fill{
  animation:aetexFillDesktop var(--duration) cubic-bezier(.22,.75,.2,1) forwards;
}
@keyframes aetexFillDesktop{from{width:0}to{width:var(--span)}}
.aetex-process-step{
  position:relative;
  z-index:2;
  min-width:0;
  padding:0 18px;
  text-align:center;
}
.aetex-process-dot{
  position:relative;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  margin:0 auto 22px;
  border-radius:50%;
  background:var(--process-dot-ring);
  box-shadow:0 2px 8px rgba(0,0,0,.16);
  transform:scale(.92);
}
.aetex-process-dot::after{
  content:"";
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--process-dot-off);
}
.aetex-timeline.is-playing .aetex-process-dot{
  animation:aetexProcessDotPulse .24s var(--delay) both;
}
.aetex-timeline.is-playing .aetex-process-dot::after{
  animation:aetexProcessDotColor .14s var(--delay) forwards;
}
@keyframes aetexProcessDotPulse{
  0%{transform:scale(.92)}
  58%{transform:scale(1.10);box-shadow:0 0 0 5px rgba(215,197,173,.075),0 4px 14px rgba(0,0,0,.17)}
  100%{transform:scale(1)}
}
@keyframes aetexProcessDotColor{from{background:var(--process-dot-off)}to{background:var(--process-dot-on)}}
.aetex-process-step h3{
  margin:0 0 10px;
  font-size:clamp(21px,1.55vw,27px);
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.018em;
}
.aetex-process-step p{
  max-width:300px;
  margin:0 auto;
  color:var(--process-muted);
  font-size:15px;
  line-height:1.55;
}

/* Approved module-transfer card. */
.module-transfer{
  position:relative;
  min-height:540px;
  border:1px solid rgba(17,20,23,.10);
  border-radius:28px;
  overflow:hidden;
  background:#e9e6e1;
  box-shadow:0 8px 28px rgba(17,20,23,.05);
}
.module-transfer__photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:63% 58%;
}
.module-transfer::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(247,245,241,1) 0%,rgba(247,245,241,1) 27%,rgba(247,245,241,.98) 36%,rgba(247,245,241,.92) 44%,rgba(247,245,241,.76) 51%,rgba(247,245,241,.52) 58%,rgba(247,245,241,.25) 65%,rgba(247,245,241,.08) 72%,rgba(247,245,241,0) 79%);
}
.module-transfer__content{
  position:relative;
  z-index:2;
  width:min(760px,52%);
  min-height:540px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:62px 0 62px 54px;
}
.module-transfer h2{
  margin:0;
  max-width:680px;
  font-size:clamp(50px,4.8vw,76px);
  line-height:.99;
  letter-spacing:-.055em;
  font-weight:800;
}
.module-transfer p{
  margin:28px 0 0;
  max-width:610px;
  font-size:clamp(17px,1.35vw,22px);
  line-height:1.5;
  color:var(--muted);
}

/* Footer contact icons: same optical footprint. */
.footer-phone img,
.footer-mail img{
  width:19px!important;
  height:19px!important;
  flex:0 0 19px;
  object-fit:contain;
}
.footer-mail img{filter:invert(1)!important}

/* The supplied sewer icon is slightly reduced inside its existing holder. */
.drilling-page .drill-use-icon img[src$="sewer-new.png"]{
  width:21px!important;
  height:21px!important;
  object-fit:contain;
}

@media(max-width:1100px){
  .module-transfer__content{width:min(700px,58%);padding-left:42px}
  .module-transfer::before{
    background:linear-gradient(90deg,rgba(247,245,241,1) 0%,rgba(247,245,241,1) 31%,rgba(247,245,241,.96) 43%,rgba(247,245,241,.78) 53%,rgba(247,245,241,.45) 63%,rgba(247,245,241,.14) 73%,rgba(247,245,241,0) 82%);
  }
}

@media(max-width:820px){
  .aetex-process-wrap{width:min(calc(100% - 32px),680px)}
  .aetex-process-section{padding:52px 0 46px}
  .aetex-process-title{margin-bottom:40px;font-size:clamp(36px,10vw,50px)}
  .aetex-timeline{display:grid;grid-template-columns:1fr;grid-auto-rows:128px}
  .aetex-process-track,
  .aetex-process-fill{top:15px;left:14px;right:auto;width:2px;border-radius:999px}
  .aetex-process-track{height:calc(100% - 128px)}
  .aetex-process-fill{height:0}
  .aetex-timeline.is-playing .aetex-process-fill{animation:aetexFillMobile var(--duration) cubic-bezier(.22,.75,.2,1) forwards}
  @keyframes aetexFillMobile{from{height:0}to{height:calc(100% - 128px)}}
  .aetex-process-step{display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:18px;align-items:start;min-height:128px;padding:0;text-align:left}
  .aetex-process-dot{width:30px;height:30px;margin:0}
  .aetex-process-step h3{margin:1px 0 7px;font-size:21px}
  .aetex-process-step p{max-width:none;margin:0;font-size:14px;line-height:1.48}
}

@media(max-width:900px){
  .module-transfer{min-height:0;background:#f7f5f1;border-radius:22px}
  .module-transfer::before{display:none}
  .module-transfer__photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:center 60%;border-radius:0 0 21px 21px}
  .module-transfer__content{width:100%;min-height:0;padding:32px 28px 26px}
  .module-transfer h2{max-width:680px;font-size:clamp(36px,8.2vw,52px);line-height:1}
  .module-transfer p{margin-top:17px;max-width:660px;font-size:16px;line-height:1.5}
}

@media(max-width:700px){
  /* Contact actions stay compact: each pill is only as wide as its content. */
  .contact-action-row{

    align-items:center!important;
    
    flex-wrap:wrap!important;
    gap:9px!important;
  }
  .contact-actions-divider{display:none!important}
  .contact-messenger-group{display:contents!important}
  .contact-action-row .contact-social{
    width:auto!important;
    min-width:0!important;
    flex:0 0 auto!important;
    justify-content:center!important;
    min-height:44px!important;
    padding:0 14px!important;
  }
  .contact-action-row .contact-social img{width:17px;height:17px}
}

@media(max-width:520px){
  .module-transfer__content{padding:25px 20px 21px}
  .module-transfer h2{font-size:clamp(32px,10vw,43px)}
  .module-transfer p{font-size:15px}
  .module-transfer__photo{aspect-ratio:1.34/1}
}

@media(prefers-reduced-motion:reduce){
  .aetex-timeline.is-playing .aetex-process-fill,
  .aetex-timeline.is-playing .aetex-process-dot,
  .aetex-timeline.is-playing .aetex-process-dot::after{
    animation-duration:.01ms!important;
    animation-delay:0ms!important;
  }
}

/* ===== Mobile consistency, accessibility and 404 ===== */

/* Modular feature cards stay optically symmetric in the two-column mobile layout. */
@media (min-width:431px) and (max-width:900px){
  .modular-feature-grid{align-items:stretch!important}
  .modular-feature-grid article{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:48px minmax(46px,auto) 1fr!important;
    align-content:start!important;
    height:100%!important;
    min-height:218px!important;
    padding:18px!important;
  }
  .modular-feature-icon{
    grid-column:1!important;
    grid-row:1!important;
    align-self:start!important;
    width:48px!important;
    height:48px!important;
    margin:0!important;
  }
  .modular-feature-grid h3{
    grid-column:1!important;
    grid-row:2!important;
    align-self:end!important;
    margin:14px 0 8px!important;
    min-height:42px!important;
    display:flex!important;
    align-items:flex-end!important;
  }
  .modular-feature-grid p{
    grid-column:1!important;
    grid-row:3!important;
    margin:0!important;
    align-self:start!important;
  }
}

/* Clear keyboard focus for interactive controls without changing mouse/touch styling. */
:where(a,button,input,textarea,select):focus-visible{
  outline:3px solid rgba(203,179,148,.88);
  outline-offset:3px;
}

/* 404 page. */
.error-page{min-height:100svh;background:#182126;color:#fff}
.error-page-main{
  width:min(760px,calc(100% - 40px));
  min-height:100svh;
  margin:auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:64px 0;
}
.error-brand{display:flex;align-items:center;gap:11px;margin-bottom:54px}
.error-brand img{width:48px;height:48px;filter:invert(1) grayscale(1) brightness(3)}
.error-code{font-size:14px;font-weight:800;letter-spacing:.18em;margin-bottom:14px}
.error-page h1{margin:0;font-size:clamp(48px,8vw,88px);line-height:.95;letter-spacing:-.055em}
.error-page p{max-width:620px;margin:24px 0 0;color:rgba(255,255,255,.68);font-size:18px;line-height:1.65}
.error-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.error-page .button-secondary{border-color:rgba(255,255,255,.30)}
@media(max-width:520px){
  .error-page-main{width:min(100% - 32px,760px);padding:40px 0}
  .error-brand{margin-bottom:42px}
  .error-page p{font-size:16px}
  .error-actions{width:100%}
  .error-actions .button{flex:1 1 auto}
}

/* ===== Current responsive and interface refinements ===== */

/* The feedback actions adapt to actual phone width: one row when there is room,
   otherwise the call action sits above the messengers with a horizontal divider. */
@media (max-width:700px){
  .contact-action-row{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    width:100%!important;
    gap:10px!important;
  }
  .contact-action-row>.contact-call-highlight,
  .contact-messenger-group .contact-social{
    width:max-content!important;
    min-width:0!important;
    flex:0 0 auto!important;
    justify-content:center!important;
    min-height:44px!important;
    padding-inline:13px!important;
  }
  .contact-messenger-group{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:8px!important;
    margin:0!important;
  }
  .contact-actions-divider{
    display:block!important;
    width:min(100%,340px)!important;
    height:1px!important;
    flex:0 0 1px!important;
    margin:1px 0!important;
    background:rgba(255,255,255,.18)!important;
  }
}
@media (min-width:380px) and (max-width:700px){
  .contact-action-row{
    flex-direction:row!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:9px!important;
  }
  .contact-actions-divider{
    width:1px!important;
    height:30px!important;
    flex:0 0 1px!important;
    margin:0 1px!important;
  }
  .contact-messenger-group{flex-wrap:nowrap!important;gap:8px!important}
  .contact-action-row>.contact-call-highlight,
  .contact-messenger-group .contact-social{padding-inline:11px!important}
}

/* Hero actions on phones: one compact button per row, never full-width. */
@media (max-width:700px){
  .hero-actions,
  .service-hero-actions{

    gap:9px!important;
  }
  
}

/* Ceiling perimeter/cornice media keep their intended card proportions even with
   intrinsic width/height hints in the HTML. Tablet layouts avoid oversized cards. */
.perimeter-sample>img,
.cornice-option>img{height:auto!important}
@media (min-width:821px) and (max-width:1120px){
  .perimeter-showcase{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:621px) and (max-width:820px){
  .cornice-showcase{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .cornice-option>img{aspect-ratio:16/10}
}

/* Wallpaper editorial images stay intentionally sized instead of expanding to
   their intrinsic pixel dimensions. */
.wallpaper-visual,
.wallpaper-material-image{min-width:0}
.wallpaper-visual img,
.wallpaper-material-image img{height:auto!important}
.wallpaper-visual{width:100%;max-width:620px}
.wallpaper-material-image{width:100%;max-width:560px;justify-self:end}
@media (max-width:900px){
  .wallpaper-visual,
  .wallpaper-material-image{max-width:680px;justify-self:center}
}

/* Sandwich-panel block switches to one column before its image/text minimums collide. */
@media (max-width:1020px){
  .modular-structure-grid{
    grid-template-columns:1fr!important;
    gap:34px!important;
  }
  .sandwich-panel-visual{
    width:min(100%,720px);
    justify-self:center;
  }
}
@media (max-width:560px){
  .modular-structure-grid{gap:26px!important}
  .sandwich-panel-visual{padding:10px;border-radius:20px}
  .sandwich-panel-visual img{border-radius:14px}
  .sandwich-legend{gap:10px 16px}
  .sandwich-legend>div{font-size:12px}
}

/* 404: the error code is the main visual element; only the return action remains. */
.error-page-main{width:min(900px,calc(100% - 40px))}
.error-brand{margin-bottom:34px}
.error-code{
  margin:0 0 24px;
  color:#cbb394;
  font-size:clamp(112px,20vw,230px);
  line-height:.72;
  font-weight:850;
  letter-spacing:-.075em;
}
.error-page h1{font-size:clamp(44px,6.6vw,76px);line-height:.98}
.error-page p{max-width:600px;margin-top:20px}
.error-actions{margin-top:30px}
@media(max-width:520px){
  .error-page-main{width:min(100% - 32px,900px)}
  .error-brand{margin-bottom:34px}
  .error-code{font-size:clamp(104px,37vw,165px);margin-bottom:22px}
  .error-actions{width:auto}
  .error-actions .button{flex:0 0 auto;width:max-content}
}

/* ===== Network & narrow-screen refinements ===== */
/* Inline SVG icons arrive with the HTML, eliminating dozens of tiny late requests. */
.inline-icon{display:block;flex:0 0 auto}
.social-head .inline-icon{width:20px;height:20px}
.call-button .inline-icon{width:16px;height:16px}
.mobile-call-action .inline-icon{width:19px;height:19px;flex-basis:19px}
.mobile-social-round .inline-icon{width:21px;height:21px}
.contact-social .inline-icon{width:18px;height:18px}
.service-area .inline-icon,.contact-phone .inline-icon{width:24px;height:24px;flex:0 0 24px}
.service-area .inline-icon{margin-top:1px}
.footer-phone .inline-icon,.footer-contact-link .inline-icon{width:19px;height:19px}
.footer-social .inline-icon{width:18px;height:18px}
.hero-phone-button .inline-icon{width:17px;height:17px}
.drill-use-icon .inline-icon{width:27px;height:27px}
.drill-method-icon .inline-icon{width:32px;height:32px}
.wallpaper-point-icon .inline-icon{width:23px;height:23px}
.modular-feature-icon .inline-icon{width:30px;height:30px}
.modular-type-grid article .inline-icon{width:31px;height:31px}
.design-direction-icon .inline-icon{width:34px;height:34px}

/* Match the previous image-icon color/filter behavior exactly. */
.call-button .inline-icon,.mobile-call-action .inline-icon,.contact-social .inline-icon,
.service-area .inline-icon,.contact-phone .inline-icon,.footer-phone .inline-icon,
.footer-contact-link .inline-icon{filter:invert(1)}
.home-page .site-header:not(.is-scrolled) .call-button .inline-icon,
.dark-hero-header-page .site-header:not(.is-scrolled) .call-button .inline-icon,
.hero-phone-button .inline-icon,.contact-call-highlight .inline-icon{filter:none}
.social-viber:hover .inline-icon,.social-viber:focus-visible .inline-icon,
.social-whatsapp:hover .inline-icon,.social-whatsapp:focus-visible .inline-icon,
.social-tiktok:hover .inline-icon,.social-tiktok:focus-visible .inline-icon,
.footer-social:hover .inline-icon,.footer-social:focus-visible .inline-icon,
.mobile-social-round:hover .inline-icon,.mobile-social-round:focus-visible .inline-icon,
.contact-social-viber:hover .inline-icon,.contact-social-viber:focus-visible .inline-icon,
.contact-social-whatsapp:hover .inline-icon,.contact-social-whatsapp:focus-visible .inline-icon{
  filter:brightness(0) invert(1)!important;
}

.modular-feature-grid{grid-auto-rows:1fr}

/* Every card in the two-column modular layout uses the same vertical rhythm.
   Once two columns become cramped, switch cleanly to one column instead of squeezing. */
@media (min-width:521px) and (max-width:1100px){
  .modular-feature-grid{grid-auto-rows:1fr;align-items:stretch!important}
  .modular-feature-grid article{
    display:grid!important;
    grid-template-rows:50px 58px minmax(72px,1fr)!important;
    min-height:246px!important;
    height:100%!important;
    padding:20px!important;
  }
  .modular-feature-icon{width:50px!important;height:50px!important;align-self:start!important}
  .modular-feature-grid h3{
    min-height:0!important;
    margin:14px 0 9px!important;
    align-self:end!important;
    display:flex!important;
    align-items:flex-end!important;
    font-size:20px!important;
    line-height:1.08!important;
  }
  .modular-feature-grid p{align-self:start!important;margin:0!important}
}
@media (max-width:520px){
  .modular-feature-grid{grid-template-columns:1fr!important;gap:10px!important}
  .modular-feature-grid article{
    
    grid-template-columns:54px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:16px!important;
    row-gap:6px!important;
    
    padding:18px!important;
  }
  .modular-feature-icon{grid-row:1/3!important;width:50px!important;height:50px!important;}
  .modular-feature-grid h3{grid-column:2!important;grid-row:1!important;align-self:end!important;font-size:19px!important;}
  .modular-feature-grid p{grid-column:2!important;grid-row:2!important;}
}

/* Small-screen hero actions remain compact, one action per row. */
@media (max-width:700px){
  .hero-actions,.service-hero-actions{display:flex!important;flex-direction:column!important;align-items:flex-start!important;width:auto!important;max-width:100%!important}
  .hero-actions .button,.service-hero-actions .button{width:max-content!important;max-width:100%!important;min-width:0!important;flex:0 0 auto!important}
  .hero-phone-button .inline-icon{width:16px;height:16px}
  .contact-action-row .contact-social .inline-icon{width:17px;height:17px}
}

/* Browser rendering work for far-below-the-fold sections can be postponed safely.
   The intrinsic estimate prevents layout collapse while the section is skipped. */
@supports (content-visibility:auto){
  .aetex-process-section,.section-muted:not(.hero),.ceiling-works-section,.modular-faq,.site-footer{
    content-visibility:auto;
    contain-intrinsic-size:auto 720px;
  }
}
/* Inline-icon parity with the former external <img> rules. */
.home-page .site-header:not(.is-scrolled) .social-head .inline-icon,
.dark-hero-header-page .site-header:not(.is-scrolled) .social-head .inline-icon{
  filter:brightness(0) invert(1);
}
.wallpaper-prep-item>span .inline-icon{width:36px;height:36px}
@media(max-width:700px){
  .drill-method-icon .inline-icon{width:29px;height:29px}
  .modular-type-grid article .inline-icon{width:27px;height:27px}
  .modular-feature-icon .inline-icon{width:27px;height:27px}
}
@media(max-width:560px){
  .drill-use-icon .inline-icon{width:24px;height:24px}
}

/* ===== Production refinements ===== */
/* Strict-CSP replacements for timeline custom properties. */
.aetex-timeline[data-timeline-kind="five"]{--steps:5;--edge:10%;--span:80%;--duration:1.95s}
.aetex-timeline[data-timeline-kind="four"]{--steps:4;--edge:12.5%;--span:75%;--duration:1.85s}
[data-timeline-kind="five"] [data-delay-index="0"]{--delay:0s}
[data-timeline-kind="five"] [data-delay-index="1"]{--delay:.43s}
[data-timeline-kind="five"] [data-delay-index="2"]{--delay:.86s}
[data-timeline-kind="five"] [data-delay-index="3"]{--delay:1.29s}
[data-timeline-kind="five"] [data-delay-index="4"]{--delay:1.72s}
[data-timeline-kind="four"] [data-delay-index="0"]{--delay:0s}
[data-timeline-kind="four"] [data-delay-index="1"]{--delay:.58s}
[data-timeline-kind="four"] [data-delay-index="2"]{--delay:1.16s}
[data-timeline-kind="four"] [data-delay-index="3"]{--delay:1.74s}

/* Reusable reveal delays avoid JS-created style attributes. */
.reveal-delay-0{transition-delay:0ms!important}
.reveal-delay-1{transition-delay:45ms!important}
.reveal-delay-2{transition-delay:90ms!important}
.reveal-delay-3{transition-delay:135ms!important}
.lightbox-content img.is-changing{opacity:.45}

/* Inline SVG sprite is intentionally zero-sized and stays in the HTML document. */
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}

/* Serve genuinely smaller background files on narrow connections/screens. */
@media (max-width:520px){
  .home-hero .hero-background{background-image:url("assets/images/home/hero-480.webp");background-image:image-set(url("assets/images/home/hero-480.avif") type("image/avif"),url("assets/images/home/hero-480.webp") type("image/webp"))}
  .ceiling-hero-bg{background-image:url("assets/images/ceilings/hero-480.webp");background-image:image-set(url("assets/images/ceilings/hero-480.avif") type("image/avif"),url("assets/images/ceilings/hero-480.webp") type("image/webp"))}
  .drilling-hero-bg{background-image:url("assets/images/drilling/hero-480.webp");background-image:image-set(url("assets/images/drilling/hero-480.avif") type("image/avif"),url("assets/images/drilling/hero-480.webp") type("image/webp"))}
  .wallpaper-hero-bg{background-image:url("assets/images/wallpaper/hero-480.webp");background-image:image-set(url("assets/images/wallpaper/hero-480.avif") type("image/avif"),url("assets/images/wallpaper/hero-480.webp") type("image/webp"))}
  .modular-hero-bg{background-image:url("assets/images/modular/hero-480.webp");background-image:image-set(url("assets/images/modular/hero-480.avif") type("image/avif"),url("assets/images/modular/hero-480.webp") type("image/webp"))}
  .design-hero-bg{background-image:url("assets/images/digital/hero-480.webp");background-image:image-set(url("assets/images/digital/hero-480.avif") type("image/avif"),url("assets/images/digital/hero-480.webp") type("image/webp"))}
}
@media (min-width:521px) and (max-width:900px){
  .home-hero .hero-background{background-image:url("assets/images/home/hero-800.webp");background-image:image-set(url("assets/images/home/hero-800.avif") type("image/avif"),url("assets/images/home/hero-800.webp") type("image/webp"))}
  .ceiling-hero-bg{background-image:url("assets/images/ceilings/hero-800.webp");background-image:image-set(url("assets/images/ceilings/hero-800.avif") type("image/avif"),url("assets/images/ceilings/hero-800.webp") type("image/webp"))}
  .drilling-hero-bg{background-image:url("assets/images/drilling/hero-800.webp");background-image:image-set(url("assets/images/drilling/hero-800.avif") type("image/avif"),url("assets/images/drilling/hero-800.webp") type("image/webp"))}
  .wallpaper-hero-bg{background-image:url("assets/images/wallpaper/hero-800.webp");background-image:image-set(url("assets/images/wallpaper/hero-800.avif") type("image/avif"),url("assets/images/wallpaper/hero-800.webp") type("image/webp"))}
  .modular-hero-bg{background-image:url("assets/images/modular/hero-800.webp");background-image:image-set(url("assets/images/modular/hero-800.avif") type("image/avif"),url("assets/images/modular/hero-800.webp") type("image/webp"))}
  .design-hero-bg{background-image:url("assets/images/digital/hero-800.webp");background-image:image-set(url("assets/images/digital/hero-800.avif") type("image/avif"),url("assets/images/digital/hero-800.webp") type("image/webp"))}
}

@media (min-width:901px) and (max-width:1440px){
  .home-hero .hero-background{background-image:url("assets/images/home/hero-1280.webp");background-image:image-set(url("assets/images/home/hero-1280.avif") type("image/avif"),url("assets/images/home/hero-1280.webp") type("image/webp"))}
  .ceiling-hero-bg{background-image:url("assets/images/ceilings/hero-1280.webp");background-image:image-set(url("assets/images/ceilings/hero-1280.avif") type("image/avif"),url("assets/images/ceilings/hero-1280.webp") type("image/webp"))}
  .drilling-hero-bg{background-image:url("assets/images/drilling/hero-1280.webp");background-image:image-set(url("assets/images/drilling/hero-1280.avif") type("image/avif"),url("assets/images/drilling/hero-1280.webp") type("image/webp"))}
  .wallpaper-hero-bg{background-image:url("assets/images/wallpaper/hero-1280.webp");background-image:image-set(url("assets/images/wallpaper/hero-1280.avif") type("image/avif"),url("assets/images/wallpaper/hero-1280.webp") type("image/webp"))}
  .modular-hero-bg{background-image:url("assets/images/modular/hero-1280.webp");background-image:image-set(url("assets/images/modular/hero-1280.avif") type("image/avif"),url("assets/images/modular/hero-1280.webp") type("image/webp"))}
  .design-hero-bg{background-image:url("assets/images/digital/hero-1280.webp");background-image:image-set(url("assets/images/digital/hero-1280.avif") type("image/avif"),url("assets/images/digital/hero-1280.webp") type("image/webp"))}
}

/* Home and service hero CTAs use one consistent phone size. */
@media (max-width:700px){
  .home-hero .hero-actions .button,
  .service-hero-actions .button{
    min-height:48px!important;
    padding-inline:18px!important;
    font-size:14px!important;
    line-height:1.15!important;
  }
}

/* Modular feature cards: compact, equal-height 2 x 3 grid on phones. */
.modular-feature-icon{color:#263034!important}
.modular-feature-icon svg{stroke:#263034!important;color:#263034!important}
@media (max-width:520px){
  .modular-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:1fr!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .modular-feature-grid article{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:46px 44px auto!important;
    row-gap:7px!important;
    height:auto!important;
    min-height:0!important;
    padding:13px 12px 14px!important;
    align-content:start!important;
    overflow:visible!important;
  }
  .modular-feature-icon{
    grid-column:1!important;
    grid-row:1!important;
    width:44px!important;
    height:44px!important;
    margin:0!important;
    align-self:start!important;
  }
  .modular-feature-icon .inline-icon,.modular-feature-icon img{width:25px!important;height:25px!important}
  .modular-feature-grid h3{
    grid-column:1!important;
    grid-row:2!important;
    display:flex!important;
    align-items:flex-start!important;
    min-height:0!important;
    margin:0!important;
    font-size:17px!important;
    line-height:1.08!important;
    overflow-wrap:anywhere;
  }
  .modular-feature-grid p{
    grid-column:1!important;
    grid-row:3!important;
    margin:0!important;
    align-self:start!important;
    font-size:12px!important;
    line-height:1.46!important;
    overflow-wrap:anywhere;
  }
}
@media (max-width:350px){
  .modular-feature-grid{gap:7px!important}
  .modular-feature-grid article{grid-template-rows:43px 42px auto!important;padding:12px 10px 13px!important;row-gap:6px!important}
  .modular-feature-icon{width:42px!important;height:42px!important}
  .modular-feature-icon .inline-icon,.modular-feature-icon img{width:24px!important;height:24px!important}
  .modular-feature-grid h3{font-size:16px!important}
  .modular-feature-grid p{font-size:11.5px!important;line-height:1.44!important}
}
/* Compact equal modular feature cards on larger phones and small tablets too. */
@media (min-width:521px) and (max-width:900px){
  .modular-feature-grid{grid-auto-rows:1fr!important;align-items:stretch!important}
  .modular-feature-grid article{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:48px 46px auto!important;
    row-gap:8px!important;
    height:auto!important;
    min-height:0!important;
    padding:17px!important;
    align-content:start!important;
  }
  .modular-feature-icon{grid-column:1!important;grid-row:1!important;width:46px!important;height:46px!important;margin:0!important}
  .modular-feature-icon .inline-icon,.modular-feature-icon img{width:27px!important;height:27px!important}
  .modular-feature-grid h3{grid-column:1!important;grid-row:2!important;min-height:0!important;margin:0!important;display:flex!important;align-items:flex-start!important;font-size:18px!important;line-height:1.1!important}
  .modular-feature-grid p{grid-column:1!important;grid-row:3!important;margin:0!important;align-self:start!important;font-size:13px!important;line-height:1.5!important}
}

/* Accessible progressive enhancement and keyboard navigation. */
[hidden]{display:none!important}
.skip-link{position:fixed;top:12px;left:12px;z-index:2000;padding:12px 18px;border-radius:12px;background:#fff;color:#111417;transform:translateY(-180%)}
.skip-link:focus{transform:none}
.service-field{margin-bottom:16px}
.contact-form .service-field-label{display:block;margin:0 0 7px;font-size:12px;font-weight:720;color:#5b6468}

/* Allow narrow grid tracks to shrink to the available space. */
@media(max-width:900px){
  .design-direction-grid{grid-template-columns:minmax(0,1fr)}
  .design-direction-card{grid-template-columns:64px minmax(0,1fr);min-width:0}
  .design-direction-card>div{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:350px){
  .modular-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .modular-type-grid article{min-width:0}
  .modular-type-grid h3{overflow-wrap:anywhere}
}

/* Final reduced-motion guard follows all component transitions. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal-target{opacity:1!important;transform:none!important}
  .aetex-process-fill{width:var(--span)}
  .aetex-process-dot{transform:scale(1)}
  .aetex-process-dot::after{background:var(--process-dot-on)}
}
@media(prefers-reduced-motion:reduce) and (max-width:820px){
  .aetex-process-fill{width:2px;height:calc(100% - 128px)}
}

/* Keep long headings inside their narrow content tracks. */
@media(max-width:900px){
  .wallpaper-before-grid{grid-template-columns:minmax(0,1fr)}
  .wallpaper-before-grid>div{min-width:0}
  .wallpaper-before-copy h2{overflow-wrap:anywhere}
}
@media(max-width:350px){
  .modular-feature-grid article{grid-template-rows:43px 52px auto!important}
}

/* Text contrast corrections on the measured backgrounds. */
.texture-sample p, .before-row p, .faq-answer p, .section-intro, .wallpaper-material-copy>p, .wallpaper-before-copy>p:last-child, .modular-structure-copy>p, .design-project-subhead>p{color:#606a6f}
.drill-use-copy p, .wallpaper-copy>p:last-of-type{color:#667075}
.wallpaper-prep-item p{color:#687277}
.module-transfer__content>p{color:#677176}
.service-select-trigger:not(.has-value){color:#6b7275}
.form-privacy-note{color:#6e777c}
body.light-hero-header-page .brand-copy small{color:#697175}

/* Match component specificity when honoring reduced motion. */
@media(prefers-reduced-motion:reduce){
*,
*::before,
*::after,
.mobile-menu,
.mobile-menu.open,
.drilling-page .header-phone,
.wallpaper-page .header-phone,
.modular-page .header-phone,
.site-header,
.home-page .site-header.is-scrolled,
.dark-hero-header-page .site-header.is-scrolled,
.light-hero-header-page .site-header.is-scrolled,
.mobile-menu-backdrop,
.form-submit,
.aetex-timeline.is-playing .aetex-process-fill,
.aetex-timeline.is-playing .aetex-process-dot,
.aetex-timeline.is-playing .aetex-process-dot::after,
.reveal-delay-0,
.reveal-delay-1,
.reveal-delay-2,
.reveal-delay-3{animation:none!important;transition:none!important}
}

/* Cap high-density phone heroes at the existing 800px asset. */
@media(max-width:520px) and (min-resolution:1.5dppx){
.home-hero .hero-background{background-image:url("assets/images/home/hero-800.webp");background-image:image-set(url("assets/images/home/hero-800.avif") type("image/avif"),url("assets/images/home/hero-800.webp") type("image/webp"))}
.ceiling-hero-bg{background-image:url("assets/images/ceilings/hero-800.webp");background-image:image-set(url("assets/images/ceilings/hero-800.avif") type("image/avif"),url("assets/images/ceilings/hero-800.webp") type("image/webp"))}
.drilling-hero-bg{background-image:url("assets/images/drilling/hero-800.webp");background-image:image-set(url("assets/images/drilling/hero-800.avif") type("image/avif"),url("assets/images/drilling/hero-800.webp") type("image/webp"))}
.wallpaper-hero-bg{background-image:url("assets/images/wallpaper/hero-800.webp");background-image:image-set(url("assets/images/wallpaper/hero-800.avif") type("image/avif"),url("assets/images/wallpaper/hero-800.webp") type("image/webp"))}
.modular-hero-bg{background-image:url("assets/images/modular/hero-800.webp");background-image:image-set(url("assets/images/modular/hero-800.avif") type("image/avif"),url("assets/images/modular/hero-800.webp") type("image/webp"))}
.design-hero-bg{background-image:url("assets/images/digital/hero-800.webp");background-image:image-set(url("assets/images/digital/hero-800.avif") type("image/avif"),url("assets/images/digital/hero-800.webp") type("image/webp"))}
}


@media(max-width:430px){.design-direction-card{grid-template-columns:54px minmax(0,1fr)}}

@media(min-width:901px) and (max-width:970px){
  .wallpaper-material-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.82fr)}
  .wallpaper-material-copy{min-width:0;overflow-wrap:anywhere}
}
.mobile-menu-section-label{color:#6c7173}
.site-header.is-scrolled .brand-copy small{color:#697175}
