/*
Theme Name: Bauen Child
Description: Child theme of Bauen
Author: webRedox WordPress Team
Template: bauen
Version: 1.0
Text Domain: bauen-child
*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{--ink:#070a0d;--panel:#0e1318;--panel2:#141b22;--line:rgba(255,255,255,.10);--line2:rgba(255,255,255,.20);--txt:#c3cdd8;--dim:#8b97a4;--gold:#c9962f;--gold2:#e3b969;--r:14px;--rl:20px;--max:1480px;}

html,body{overflow-x:hidden;max-width:100%;}
body.ace-page{background:var(--ink);}
body.ace-page,body.ace-page p,body.ace-page li,body.ace-page span,body.ace-page a,body.ace-page div,body.ace-page input,body.ace-page select,body.ace-page textarea,body.ace-page button{font-family:'Inter',-apple-system,'Segoe UI',sans-serif !important;}
body.ace-page h1,body.ace-page h2,body.ace-page h3,body.ace-page .ace-h1,body.ace-page .ace-h2,body.ace-page .ace-h3,body.ace-page .ace-hero h1{font-family:'Inter',sans-serif !important;font-weight:800 !important;letter-spacing:-.032em !important;text-transform:none !important;}

body.ace-page nav.navbar,body.ace-page .navbar.bn-classic-main,body.ace-page .logo-wrapper,body.ace-page .left-panel,body.ace-page .left-panel-page-static,body.ace-page .left-of-to-classic,body.ace-page .section-default-banner-header{display:none !important;}
body.ace-page .container{max-width:100% !important;width:100% !important;padding:0 !important;}
body.ace-page .row{margin:0 !important;}
body.ace-page .col-md-12,body.ace-page .page-content{padding:0 !important;width:100% !important;max-width:100% !important;}
body.ace-page .default-page.section-padding2{padding:0 !important;}
body.ace-page .content-wrapper,body.ace-page .page-content,body.ace-page .container,body.ace-page .row,body.ace-page .col-md-12{overflow:visible !important;}
body.ace-page p:empty{display:none !important;margin:0 !important;}

.ace-wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(18px,4vw,56px);width:100%;}
.ace-section{padding:clamp(60px,7.5vw,120px) 0;background:var(--ink);position:relative;}
.ace-section--panel{background:var(--panel);}
.ace-head{max-width:820px;margin-bottom:clamp(32px,4.4vw,58px);}

.ace-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.73rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2);font-weight:700;margin-bottom:16px;}
.ace-eyebrow:before{content:"";width:30px;height:1px;background:var(--gold);}
.ace-h1{font-size:clamp(2.3rem,5.2vw,4.4rem);line-height:1.04;color:#fff;margin:0 0 22px;}
.ace-h2{font-size:clamp(1.75rem,3.4vw,3rem);line-height:1.1;color:#fff;margin:0 0 18px;}
.ace-h3{font-size:1.2rem;line-height:1.3;color:#fff;margin:0 0 10px;font-weight:700;}
.ace-lead{font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.66;color:var(--txt);margin:0 0 24px;}
.ace-p{font-size:1.03rem;line-height:1.85;color:var(--txt);margin:0 0 18px;}
.ace-em{color:var(--gold2);font-style:italic;}
.ace-answer{border-left:3px solid var(--gold);background:linear-gradient(95deg,rgba(201,150,47,.12),transparent);padding:24px 28px;border-radius:0 var(--r) var(--r) 0;margin:0 0 32px;}
.ace-answer p{margin:0;font-size:1.1rem;line-height:1.7;color:#fff !important;font-weight:500;}

.ace-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--gold);color:#0b0e12 !important;padding:16px 32px;border-radius:999px;font-weight:700 !important;font-size:.97rem;text-decoration:none !important;transition:.22s;border:1.5px solid var(--gold);cursor:pointer;line-height:1;}
.ace-btn:hover{background:var(--gold2);border-color:var(--gold2);transform:translateY(-2px);color:#0b0e12 !important;}
.ace-btn--ghost{background:transparent;color:#fff !important;border-color:var(--line2);}
.ace-btn--ghost:hover{background:#fff;color:#0b0e12 !important;border-color:#fff;}
.ace-btns{display:flex;flex-wrap:wrap;gap:13px;margin-top:10px;}

.ace-hdr{position:fixed;top:0;left:0;right:0;z-index:9990;background:transparent;transition:background .35s,padding .3s;padding:18px 0;}
body.ace-page header.ace-hdr.ace-hdr--solid{background:#05070a !important;box-shadow:0 1px 0 rgba(255,255,255,.1),0 10px 30px rgba(0,0,0,.5);padding:11px 0;}
body.admin-bar .ace-hdr{top:32px;}
.ace-hdr-in{max-width:var(--max);margin:0 auto;padding:0 clamp(18px,4vw,56px);display:flex;align-items:center;justify-content:space-between;gap:24px;}
.ace-brand{display:flex;flex-direction:column;line-height:1;text-decoration:none !important;}
.ace-brand b{color:#fff;font-size:1.38rem;font-weight:800;letter-spacing:.24em;}
.ace-brand span{color:var(--gold2);font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;margin-top:6px;font-weight:600;}
.ace-menu{display:flex;align-items:center;gap:clamp(16px,2vw,32px);list-style:none !important;margin:0 !important;padding:0 !important;}
.ace-menu li{margin:0 !important;padding:0 !important;list-style:none !important;}
.ace-menu a{color:#e4eaf0 !important;text-decoration:none !important;font-size:.83rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:.2s;white-space:nowrap;}
.ace-menu a:hover{color:var(--gold2) !important;}
.ace-hdr .ace-btn{padding:12px 24px;font-size:.85rem;}
.ace-burger{display:none;width:44px;height:44px;border:1px solid var(--line2);border-radius:10px;background:transparent;cursor:pointer;position:relative;}
.ace-burger i{position:absolute;left:12px;right:12px;height:2px;background:#fff;transition:.25s;}
.ace-burger i:nth-child(1){top:14px}.ace-burger i:nth-child(2){top:21px}.ace-burger i:nth-child(3){top:28px}
.ace-hdr--open .ace-burger i:nth-child(1){top:21px;transform:rotate(45deg)}
.ace-hdr--open .ace-burger i:nth-child(2){opacity:0}
.ace-hdr--open .ace-burger i:nth-child(3){top:21px;transform:rotate(-45deg)}
@media (min-width:1041px){.ace-nav-wrap{display:flex;align-items:center;gap:clamp(16px,2.4vw,36px);}}
@media (max-width:1040px){
 .ace-burger{display:block;}
 body.ace-page header.ace-hdr{background:#05070a !important;}
 .ace-nav-wrap{position:fixed;left:0;right:0;top:76px;background:#05070a;border-top:1px solid var(--line);padding:22px 24px 30px;display:none;max-height:calc(100vh - 76px);overflow-y:auto;}
 .ace-hdr--open .ace-nav-wrap{display:block;}
 .ace-menu{flex-direction:column;align-items:flex-start;gap:0;}
 .ace-menu li{width:100%;}
 .ace-menu a{display:block;padding:15px 0;border-bottom:1px solid var(--line);font-size:.95rem;}
 .ace-hdr .ace-btn{width:100%;margin-top:18px;}
}

.ace-hero{position:relative;min-height:clamp(620px,94vh,980px);display:flex;align-items:center;overflow:hidden;background:#05070a;background-size:cover;background-position:center 45%;}
.ace-hero-slide{position:absolute;inset:0;opacity:0;animation:aceFade 35s infinite;}
.ace-hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block;}
.ace-hero-slide:nth-child(1){animation-delay:0s}
.ace-hero-slide:nth-child(2){animation-delay:7s}
.ace-hero-slide:nth-child(3){animation-delay:14s}
.ace-hero-slide:nth-child(4){animation-delay:21s}
.ace-hero-slide:nth-child(5){animation-delay:28s}
@keyframes aceFade{0%{opacity:0}2%{opacity:1}20%{opacity:1}24%{opacity:0}100%{opacity:0}}
.ace-hero-veil{position:absolute;inset:0;background:linear-gradient(95deg,rgba(5,7,10,.88) 0%,rgba(5,7,10,.62) 36%,rgba(5,7,10,.24) 68%,rgba(5,7,10,.1) 100%),linear-gradient(to top,rgba(5,7,10,.6),transparent 42%);}
.ace-hero-inner{position:relative;z-index:3;width:100%;max-width:var(--max);margin:0 auto;padding:clamp(130px,12vw,170px) clamp(18px,4vw,56px) clamp(60px,7vw,90px);}
.ace-hero h1{font-size:clamp(2.4rem,5.6vw,4.6rem);line-height:1.02;color:#fff;margin:0 0 24px;max-width:17ch;}
.ace-hero p{color:#cbd5e0;font-size:clamp(1.06rem,1.7vw,1.32rem);line-height:1.66;max-width:56ch;margin:0 0 32px;}
.ace-hero-bar{display:flex;flex-wrap:wrap;gap:clamp(22px,4.5vw,72px);border-top:1px solid var(--line);margin-top:clamp(38px,5vw,58px);padding-top:28px;}
.ace-hero-bar b{display:block;color:#fff;font-size:clamp(1.8rem,3.2vw,2.7rem);line-height:1;margin-bottom:8px;font-weight:800;}
.ace-hero-bar span{color:var(--dim);font-size:.86rem;}

.ace-trust{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.ace-trust-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px;padding:26px 0;}
.ace-trust-item{display:flex;align-items:center;gap:13px;color:var(--txt);font-size:.95rem;}
.ace-trust-item b{color:#fff;font-size:1.28rem;font-weight:700;}

.ace-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,72px);align-items:center;}
.ace-split--rev .ace-split-media{order:2;}
@media (max-width:920px){.ace-split{grid-template-columns:1fr;}.ace-split--rev .ace-split-media{order:0;}}
.ace-split-media{position:relative;border-radius:var(--rl);overflow:hidden;background:#0d1218;}
.ace-split-media img{width:100%;height:100%;min-height:340px;object-fit:cover;display:block;}
.ace-split-media--tall img{min-height:520px;}
.ace-badge{position:absolute;left:22px;bottom:22px;background:rgba(7,10,13,.88);border:1px solid var(--line2);border-radius:12px;padding:14px 20px;}
.ace-badge b{display:block;color:var(--gold2);font-size:1.4rem;line-height:1;margin-bottom:4px;}
.ace-badge span{color:var(--txt);font-size:.82rem;}

.ace-grid{display:grid;gap:clamp(16px,2vw,26px);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.ace-grid--2{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));}
.ace-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:30px;transition:.3s;}
.ace-card:hover{border-color:var(--line2);transform:translateY(-4px);background:var(--panel2);}
.ace-card p{margin:0;font-size:.97rem;line-height:1.72;color:var(--txt);}
.ace-card-link{text-decoration:none !important;color:inherit;display:block;height:100%;}
.ace-card--img{padding:0;overflow:hidden;display:flex;flex-direction:column;height:100%;}
.ace-frame{overflow:hidden;background:#0d1218;}
.ace-shot{aspect-ratio:16/11;width:100%;object-fit:cover;display:block;transition:transform .65s;}
.ace-card--img:hover .ace-shot{transform:scale(1.07);}
.ace-body{padding:26px 28px 30px;}
.ace-more{display:inline-block;margin-top:14px;color:var(--gold2) !important;font-weight:700;font-size:.9rem;}

.ace-carousel{position:relative;}
.ace-viewport{overflow:hidden;}
.ace-track{display:flex !important;gap:clamp(16px,1.7vw,22px);transition:transform .55s cubic-bezier(.4,0,.2,1);padding:4px 0;}
.ace-track > *{min-width:clamp(268px,23vw,330px);width:clamp(268px,23vw,330px);flex:0 0 auto;}
.ace-nav{display:block;margin:0;}
.ace-nav button{position:absolute;top:36%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:1px solid var(--line2);background:rgba(10,14,18,.92);color:#fff;font-size:1.25rem;cursor:pointer;display:grid;place-items:center;transition:.22s;z-index:5;box-shadow:0 8px 24px rgba(0,0,0,.5);}
.ace-nav button[data-ace-prev]{left:-16px;}
.ace-nav button[data-ace-next]{right:-16px;}
.ace-nav button:hover{background:var(--gold);border-color:var(--gold);color:#0b0e12;}
.ace-nav button:disabled{opacity:.25;cursor:default;}
@media (max-width:820px){.ace-nav button[data-ace-prev]{left:2px;}.ace-nav button[data-ace-next]{right:2px;}}

.ace-masonry{column-count:3;column-gap:clamp(16px,1.6vw,22px);}
@media (max-width:1040px){.ace-masonry{column-count:2;}}
@media (max-width:640px){.ace-masonry{column-count:1;}}
.ace-tile{position:relative;display:block;break-inside:avoid;margin:0 0 clamp(16px,1.6vw,22px);border-radius:12px;overflow:hidden;background:#0d1218;text-decoration:none !important;box-shadow:0 6px 24px rgba(0,0,0,.35);}
.ace-tile img{width:100%;height:auto;display:block;transition:transform .7s;}
.ace-tile:hover img{transform:scale(1.07);}
.ace-tile-cap{position:absolute;left:0;right:0;bottom:0;padding:70px 22px 20px;background:linear-gradient(to top,rgba(5,7,10,.94),rgba(5,7,10,.5) 54%,transparent);}
.ace-tile-cap b{display:block;color:#fff;font-size:1.12rem;line-height:1.26;margin-bottom:6px;font-weight:700;}
.ace-tile-cap span{color:var(--gold2);font-size:.84rem;}

.ace-list{list-style:none !important;padding:0 !important;margin:0 0 22px !important;}
.ace-list li{position:relative;padding:0 0 0 40px !important;margin:0 0 18px !important;line-height:1.78;color:var(--txt);list-style:none !important;font-size:1.02rem;}
.ace-list li:before{content:"";position:absolute;left:0;top:.36em;width:22px;height:22px;border-radius:50%;background:rgba(201,150,47,.16);border:1px solid rgba(201,150,47,.4);}
.ace-list li:after{content:"";position:absolute;left:8px;top:calc(.36em + 8px);width:7px;height:7px;border-radius:50%;background:var(--gold2);}
.ace-list li strong{color:#fff;}

.ace-steps{display:grid;gap:clamp(15px,1.9vw,24px);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.ace-step{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.3s;display:flex;flex-direction:column;}
.ace-step:hover{border-color:var(--line2);transform:translateY(-4px);}
.ace-step img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;}
.ace-step-body{padding:26px 26px 30px;}
.ace-num{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--gold);color:#0b0e12;font-weight:700;margin-bottom:15px;}
.ace-step h3{font-size:1.08rem;color:#fff;margin:0 0 8px;}
.ace-step p{margin:0;font-size:.94rem;line-height:1.7;color:var(--txt);}

.ace-quote{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:32px;display:flex;flex-direction:column;transition:.3s;}
.ace-quote:hover{border-color:var(--line2);transform:translateY(-4px);}
.ace-stars{color:var(--gold2);letter-spacing:4px;font-size:1.04rem;margin-bottom:16px;}
.ace-quote blockquote{margin:0 0 24px !important;padding:0 !important;border:0 !important;background:none !important;color:var(--txt) !important;font-size:1.01rem;line-height:1.8;font-style:normal;}
.ace-by{display:flex;align-items:center;gap:14px;margin-top:auto;padding-top:20px;border-top:1px solid var(--line);}
.ace-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold2));color:#0b0e12;display:grid;place-items:center;font-weight:700;flex:0 0 48px;}
.ace-by b{display:block;color:#fff !important;font-size:.97rem;}
.ace-by span{color:var(--dim) !important;font-size:.85rem;}

.ace-formwrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,64px);align-items:center;}
@media (max-width:940px){.ace-formwrap{grid-template-columns:1fr;}}
.ace-form-panel{background:var(--panel);border:1px solid var(--line2);border-radius:var(--rl);padding:clamp(28px,3.6vw,48px);}
.ace-form-panel h3{color:#fff;font-size:1.35rem;margin:0 0 8px;}
.ace-form-panel > p{color:var(--txt);font-size:.97rem;margin:0 0 24px;}
.ace-form-panel label{display:block;font-size:.78rem;font-weight:700;color:var(--dim);margin-bottom:8px;letter-spacing:.09em;text-transform:uppercase;}
.ace-form-panel input[type=text],.ace-form-panel input[type=email],.ace-form-panel input[type=tel],.ace-form-panel select,.ace-form-panel textarea{width:100%;padding:15px 17px;border:1.5px solid var(--line);border-radius:11px;font-size:.99rem;color:#fff;background:rgba(255,255,255,.04);}
.ace-form-panel input::placeholder,.ace-form-panel textarea::placeholder{color:#6d7a87;}
.ace-form-panel input:focus,.ace-form-panel select:focus,.ace-form-panel textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,150,47,.15);}
.ace-form-panel select option{background:#12181f;color:#fff;}
.ace-form-panel textarea{min-height:120px;resize:vertical;}
.ace-form-panel .wpcf7-form p{margin:0 0 17px;}
.ace-form-panel .wpcf7-submit,.ace-form-panel input[type=submit]{background:var(--gold) !important;color:#0b0e12 !important;border:0 !important;padding:18px 40px !important;border-radius:999px !important;font-weight:700 !important;font-size:1rem !important;width:100% !important;cursor:pointer;text-transform:none !important;letter-spacing:0 !important;}
.ace-form-panel .wpcf7-submit:hover{background:var(--gold2) !important;}
.ace-form-panel .wpcf7-spinner{display:none;}
.ace-form-note{font-size:.85rem;color:var(--dim);margin-top:16px;text-align:center;}

.ace-map{border-radius:var(--rl);overflow:hidden;min-height:440px;border:1px solid var(--line2);}
.ace-map iframe{width:100%;height:100%;min-height:440px;border:0;display:block;}
.ace-nap{list-style:none !important;padding:0 !important;margin:0 !important;background:var(--panel);border:1px solid var(--line);border-radius:var(--rl);overflow:hidden;}
.ace-nap li{padding:22px 26px !important;border-bottom:1px solid var(--line);color:var(--txt) !important;list-style:none !important;margin:0 !important;}
.ace-nap li:last-child{border-bottom:0;}
.ace-nap li b{color:var(--dim) !important;display:block;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:7px;}
.ace-nap a{color:var(--gold2) !important;text-decoration:none !important;font-weight:700;}

.ace-faq{border-top:1px solid var(--line);max-width:960px;}
.ace-faq details{border-bottom:1px solid var(--line);padding:22px 0;}
.ace-faq summary{cursor:pointer;font-weight:700;color:#fff;font-size:1.1rem;list-style:none;position:relative;padding-right:44px;}
.ace-faq summary::-webkit-details-marker{display:none;}
.ace-faq summary:after{content:"+";position:absolute;right:8px;top:-5px;font-size:1.7rem;color:var(--gold2);font-weight:300;}
.ace-faq details[open] summary:after{content:"\2212";}
.ace-faq details p{margin:15px 0 0;color:var(--txt);line-height:1.82;}

.ace-cta{border-radius:var(--rl);padding:clamp(44px,6.5vw,88px) clamp(26px,5vw,64px);text-align:center;background:linear-gradient(120deg,#0d1218,#18212a);border:1px solid var(--line2);}
.ace-cta p{color:var(--txt);max-width:60ch;margin:0 auto 30px;line-height:1.72;font-size:1.06rem;}
.ace-cta .ace-btns{justify-content:center;}

.ace-tags{display:flex;flex-wrap:wrap;gap:10px;}
.ace-tags span{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:10px 20px;font-size:.9rem;color:var(--txt);}
.ace-tags span:hover{border-color:var(--gold);color:var(--gold2);}

.ace-dock{position:fixed;right:22px;bottom:22px;z-index:9995;display:flex;flex-direction:column;gap:12px;}
.ace-dock a{width:54px;height:54px;padding:0 !important;border-radius:50% !important;display:grid !important;place-items:center;font-size:0 !important;color:transparent !important;border:0 !important;box-shadow:0 8px 26px rgba(0,0,0,.5);transition:transform .2s;overflow:hidden;}
.ace-dock a:before{content:"";width:54px;height:54px;border-radius:50%;display:block;background-size:24px 24px;background-repeat:no-repeat;background-position:center;}
.ace-dock-wa:before{background-color:#25d366;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12.04 2C6.58 2 2.13 6.45 2.13 11.91c0 1.75.46 3.45 1.32 4.95L2 22l5.25-1.38a9.9 9.9 0 004.79 1.22h.01c5.46 0 9.91-4.45 9.91-9.91C21.96 6.45 17.5 2 12.04 2zm5.8 14.02c-.24.68-1.2 1.26-1.97 1.42-.52.11-1.2.2-3.5-.75-2.94-1.22-4.83-4.2-4.98-4.4-.14-.2-1.18-1.57-1.18-3s.75-2.13 1.02-2.42c.27-.29.58-.36.78-.36.19 0 .39 0 .56.01.18.01.42-.07.66.5.24.58.83 2.01.9 2.15.07.15.12.32.02.51-.09.2-.14.32-.28.49-.14.17-.29.38-.42.51-.14.14-.28.29-.12.57.16.29.71 1.17 1.53 1.9 1.05.94 1.94 1.23 2.22 1.37.27.14.43.12.59-.07.16-.19.68-.79.86-1.06.18-.27.36-.23.61-.14.25.09 1.6.75 1.87.89.27.14.46.21.53.32.07.12.07.68-.17 1.36z'/%3E%3C/svg%3E");}
.ace-dock-call:before{background-color:#c9962f;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230b0e12'%3E%3Cpath d='M6.62 10.79a15.05 15.05 0 006.59 6.59l2.2-2.2a1 1 0 011.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 011 1V20a1 1 0 01-1 1A17 17 0 013 4a1 1 0 011-1h3.5a1 1 0 011 1c0 1.24.2 2.45.57 3.57a1 1 0 01-.24 1.02l-2.21 2.2z'/%3E%3C/svg%3E");}
.ace-dock a:hover{transform:scale(1.07);}
@media (max-width:640px){.ace-dock{right:14px;bottom:14px;}.ace-dock a,.ace-dock a:before{width:50px;height:50px;}}

@media (max-width:640px){
 .ace-section{padding:52px 0;}
 .ace-card{padding:24px;}
 .ace-body{padding:22px 24px 26px;}
 .ace-btn{width:100%;}
 .ace-btns{flex-direction:column;}
 .ace-hero{min-height:auto;}
 .ace-hero-inner{padding:120px 18px 90px;}
 .ace-hero-bar{gap:20px;}
 .ace-hero-bar div{flex:1 1 42%;}
 .ace-split-media img{min-height:260px;}
}
@media (prefers-reduced-motion:reduce){
 .ace-hero-slide{animation:none;opacity:1;}
 .ace-hero-slide:nth-child(n+2){display:none;}
}


/* ===== FIXES ROUND ===== */
/* 1. brand must not move on hover */
.ace-brand,.ace-brand:hover,.ace-brand *,.ace-brand:hover *{transform:none !important;transition:none !important;text-decoration:none !important;}
.ace-brand:hover b{color:#fff !important;}
.ace-brand:hover span{color:var(--gold2) !important;}

/* 3. trust strip — even 5-up, no ugly wrap */
.ace-trust{background:linear-gradient(180deg,#0b1116,#0e1318);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.ace-trust-in{display:grid !important;grid-template-columns:repeat(5,1fr);gap:0 !important;padding:0 !important;}
.ace-trust-item{display:flex !important;flex-direction:column;align-items:flex-start;gap:6px !important;padding:30px 26px !important;border-right:1px solid var(--line);}
.ace-trust-item:last-child{border-right:0;}
.ace-trust-item b{color:var(--gold2) !important;font-size:1.34rem !important;font-weight:800 !important;line-height:1;}
.ace-trust-item span{color:var(--dim);font-size:.83rem;line-height:1.45;}
@media (max-width:1100px){.ace-trust-in{grid-template-columns:repeat(3,1fr);} .ace-trust-item:nth-child(3n){border-right:0;} .ace-trust-item{border-bottom:1px solid var(--line);}}
@media (max-width:640px){.ace-trust-in{grid-template-columns:repeat(2,1fr);} .ace-trust-item:nth-child(3n){border-right:1px solid var(--line);} .ace-trust-item:nth-child(2n){border-right:0;} .ace-trust-item{padding:20px 18px !important;}}

/* 5+7. centred section buttons */
.ace-btns--center{justify-content:center;margin-top:clamp(26px,3vw,42px);}
.ace-btns--center .ace-btn{min-width:230px;}

/* 5. carousel polish */
.ace-carousel{padding:0 clamp(0px,3vw,64px);}
.ace-track{padding-right:2px;}
.ace-nav button{width:52px;height:52px;background:rgba(255,255,255,.06);border:1px solid var(--line2);backdrop-filter:blur(8px);font-size:0;}
.ace-nav button:before{content:"";width:12px;height:12px;border-top:2px solid #fff;border-right:2px solid #fff;display:block;transition:.2s;}
.ace-nav button[data-ace-prev]:before{transform:rotate(-135deg);margin-left:4px;}
.ace-nav button[data-ace-next]:before{transform:rotate(45deg);margin-right:4px;}
.ace-nav button:hover{background:var(--gold);border-color:var(--gold);}
.ace-nav button:hover:before{border-color:#0b0e12;}
.ace-nav button[data-ace-prev]{left:0;}
.ace-nav button[data-ace-next]{right:0;}
@media (max-width:820px){.ace-carousel{padding:0;} .ace-nav button[data-ace-prev]{left:2px;} .ace-nav button[data-ace-next]{right:2px;}}

/* 6. projects — structured bento grid, no ragged masonry */
.ace-masonry{column-count:unset !important;display:grid !important;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:clamp(12px,1.2vw,18px);}
.ace-masonry .ace-tile{margin:0 !important;height:100%;}
.ace-masonry .ace-tile img{height:100%;width:100%;object-fit:cover;}
.ace-masonry .ace-tile:nth-child(1){grid-column:span 2;grid-row:span 2;}
.ace-masonry .ace-tile:nth-child(6){grid-column:span 2;grid-row:span 2;}
.ace-masonry .ace-tile:nth-child(9){grid-column:span 2;}
@media (max-width:1040px){.ace-masonry{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px;} .ace-masonry .ace-tile:nth-child(1),.ace-masonry .ace-tile:nth-child(6){grid-column:span 2;grid-row:span 1;} .ace-masonry .ace-tile:nth-child(9){grid-column:span 2;}}
@media (max-width:620px){.ace-masonry{grid-template-columns:1fr;grid-auto-rows:200px;} .ace-masonry .ace-tile:nth-child(n){grid-column:span 1;grid-row:span 1;}}

/* 8. CF7 submit — kill theme inner styling */
.ace-form-panel .wpcf7-submit,.ace-form-panel input[type=submit]{background:var(--gold) !important;color:#0b0e12 !important;border:0 !important;outline:0 !important;padding:19px 40px !important;border-radius:999px !important;font-weight:800 !important;font-size:1rem !important;line-height:1 !important;letter-spacing:.01em !important;text-transform:none !important;width:100% !important;box-shadow:none !important;text-shadow:none !important;min-height:0 !important;height:auto !important;}
.ace-form-panel .wpcf7-submit:hover{background:var(--gold2) !important;color:#0b0e12 !important;}
.ace-form-panel form .wpcf7-spinner{display:none !important;}

/* 10. map full width */
.ace-mapfull{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;border-radius:0 !important;border-left:0 !important;border-right:0 !important;min-height:520px;}
.ace-mapfull iframe{min-height:520px;}

/* 11. own footer, theme footer hidden */
body.ace-page footer.footer-area,body.ace-page .footer-area,body.ace-page footer.site-footer,body.ace-page .bn-footer,body.ace-page .copyright-area{display:none !important;}
.ace-foot{background:#05070a;border-top:1px solid var(--line);padding:clamp(52px,6vw,86px) 0 0;}
.ace-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:clamp(26px,3.4vw,54px);}
@media (max-width:900px){.ace-foot-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.ace-foot-grid{grid-template-columns:1fr;}}
.ace-foot h4{color:#fff;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px;font-weight:700;}
.ace-foot p{color:var(--txt);font-size:.95rem;line-height:1.8;margin:0 0 14px;}
.ace-foot ul{list-style:none !important;padding:0 !important;margin:0 !important;}
.ace-foot li{margin:0 0 12px !important;padding:0 !important;list-style:none !important;}
.ace-foot a{color:var(--txt) !important;text-decoration:none !important;font-size:.95rem;transition:.2s;}
.ace-foot a:hover{color:var(--gold2) !important;}
.ace-foot-brand b{display:block;color:#fff;font-size:1.5rem;font-weight:800;letter-spacing:.24em;margin-bottom:8px;}
.ace-foot-brand span{color:var(--gold2);font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;}
.ace-foot-social{display:flex;gap:10px;margin-top:20px;}
.ace-foot-social a{width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;color:var(--txt) !important;font-size:.85rem;font-weight:700;}
.ace-foot-social a:hover{background:var(--gold);border-color:var(--gold);color:#0b0e12 !important;}
.ace-foot-bar{margin-top:clamp(38px,4.5vw,60px);border-top:1px solid var(--line);padding:24px 0 30px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;}
.ace-foot-bar p{margin:0;color:var(--dim);font-size:.87rem;}
.ace-foot-bar nav{display:flex;gap:22px;}


/* ===== ROUND 2 FIXES ===== */
/* 1. brand hover: nothing at all */
.ace-brand,.ace-brand:hover,.ace-brand:focus{background:none !important;background-image:none !important;transform:none !important;box-shadow:none !important;text-decoration:none !important;}
.ace-brand:before,.ace-brand:after,.ace-brand:hover:before,.ace-brand:hover:after{display:none !important;content:none !important;background:none !important;}
.ace-hdr a:hover:before,.ace-hdr a:hover:after{display:none !important;content:none !important;}

/* 3. service cards equal height + clamped copy */
.ace-track{align-items:stretch;}
.ace-track > .ace-card{display:flex;flex-direction:column;}
.ace-track > .ace-card .ace-card-link{display:flex;flex-direction:column;height:100%;}
.ace-track .ace-body{display:flex;flex-direction:column;flex:1 1 auto;}
.ace-track .ace-body p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.9em;}
.ace-track .ace-more{margin-top:auto;padding-top:14px;}

/* 3. gold accent arrows */
.ace-nav button{background:rgba(201,150,47,.12) !important;border:1.5px solid var(--gold) !important;width:56px;height:56px;}
.ace-nav button:before{border-top:2px solid var(--gold2) !important;border-right:2px solid var(--gold2) !important;}
.ace-nav button:hover{background:var(--gold) !important;border-color:var(--gold) !important;}
.ace-nav button:hover:before{border-color:#0b0e12 !important;}

/* 4. projects: seamless uniform mosaic, no holes, no gaps */
.ace-masonry{display:grid !important;grid-template-columns:repeat(3,1fr) !important;grid-auto-rows:auto !important;gap:0 !important;column-count:unset !important;border-radius:14px;overflow:hidden;}
.ace-masonry .ace-tile{margin:0 !important;border-radius:0 !important;box-shadow:none !important;aspect-ratio:4/3;grid-column:auto !important;grid-row:auto !important;}
.ace-masonry .ace-tile img{width:100%;height:100%;object-fit:cover;}
@media (max-width:1040px){.ace-masonry{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:620px){.ace-masonry{grid-template-columns:1fr !important;}}

/* 5. submit: wrapper transparent, real button gold + centred */
.ace-form-panel .wpcf7-submit,.ace-form-panel div.wpcf7-submit{background:transparent !important;padding:0 !important;border-radius:0 !important;box-shadow:none !important;width:100% !important;display:block !important;}
.ace-form-panel input[type=submit],.ace-form-panel button[type=submit],.ace-form-panel .wpcf7-submit input{background:var(--gold) !important;background-image:none !important;color:#0b0e12 !important;border:0 !important;outline:0 !important;padding:19px 30px !important;border-radius:999px !important;font-weight:800 !important;font-size:1rem !important;line-height:1 !important;letter-spacing:.02em !important;text-align:center !important;text-transform:uppercase !important;width:100% !important;display:block !important;margin:0 auto !important;box-shadow:none !important;text-shadow:none !important;height:auto !important;min-height:0 !important;cursor:pointer;}
.ace-form-panel input[type=submit]:hover{background:var(--gold2) !important;}

/* 6. map band centred */
.ace-mapband{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;display:grid;grid-template-columns:1.6fr .9fr;align-items:stretch;gap:0;}
@media (max-width:980px){.ace-mapband{grid-template-columns:1fr;}}
.ace-mapband .ace-map{border-radius:0 !important;border:0 !important;min-height:560px;margin:0 !important;width:auto !important;}
.ace-mapband .ace-map iframe{min-height:560px;}
.ace-mapband .ace-nap{border-radius:0 !important;border:0 !important;border-left:1px solid var(--line) !important;display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,3vw,44px) !important;background:var(--panel) !important;}
.ace-mapband .ace-nap li{padding:18px 0 !important;}

/* 7. footer as one unit */
body.ace-page footer.main-footer,body.ace-page .main-footer{display:none !important;}
.ace-foot{background:linear-gradient(180deg,#080b0f,#05070a);border-top:1px solid var(--line);}
.ace-foot-grid{padding-bottom:clamp(30px,3.6vw,48px);}
.ace-foot-bar{margin-top:0;}


/* submit is a themed <button class="butn-dark"> */
.ace-form-panel .wpcf7-submit button,.ace-form-panel button.butn-dark,.ace-form-panel form button[type=submit],.ace-form-panel button{
 background:var(--gold) !important;background-image:none !important;color:#0b0e12 !important;border:0 !important;outline:0 !important;
 padding:19px 30px !important;border-radius:999px !important;font-weight:800 !important;font-size:1rem !important;line-height:1 !important;
 letter-spacing:.06em !important;text-align:center !important;text-transform:uppercase !important;width:100% !important;max-width:none !important;
 display:block !important;margin:0 !important;box-shadow:none !important;text-shadow:none !important;height:auto !important;min-height:0 !important;cursor:pointer;transition:background .2s;}
.ace-form-panel .wpcf7-submit button:hover,.ace-form-panel button.butn-dark:hover,.ace-form-panel button:hover{background:var(--gold2) !important;color:#0b0e12 !important;}
.ace-form-panel .wpcf7-submit button span,.ace-form-panel button span{color:#0b0e12 !important;background:none !important;}
.ace-form-panel .wpcf7-submit button:before,.ace-form-panel .wpcf7-submit button:after,.ace-form-panel button.butn-dark:before,.ace-form-panel button.butn-dark:after{display:none !important;content:none !important;}
.ace-form-panel div.wpcf7-submit{display:block !important;width:100% !important;text-align:center !important;}


/* ===== ROUND 3 ===== */
/* 1. brand: absolutely no movement, children included */
body.ace-page .ace-brand,body.ace-page .ace-brand *,body.ace-page .ace-brand:hover,body.ace-page .ace-brand:hover *,body.ace-page .ace-brand:focus,body.ace-page .ace-brand:focus *{transform:none !important;transition:none !important;background:none !important;text-decoration:none !important;position:static !important;}
body.ace-page .ace-brand b{letter-spacing:.24em !important;}
body.ace-page .ace-brand span{letter-spacing:.26em !important;margin-top:6px !important;}

/* 2. sticky bar matches site colour */
body.ace-page header.ace-hdr.ace-hdr--solid{background:var(--ink) !important;}
@media (max-width:1040px){ body.ace-page header.ace-hdr{background:var(--ink) !important;} }

/* 4. arrows vertically centred on the card block */
.ace-nav button{top:50% !important;}

/* 5. bento restored, holes auto-filled */
.ace-masonry{display:grid !important;grid-template-columns:repeat(4,1fr) !important;grid-auto-rows:220px !important;grid-auto-flow:dense !important;gap:clamp(10px,1vw,16px) !important;border-radius:0;overflow:visible;}
.ace-masonry .ace-tile{border-radius:12px !important;aspect-ratio:auto !important;overflow:hidden;}
.ace-masonry .ace-tile:nth-child(1){grid-column:span 2 !important;grid-row:span 2 !important;}
.ace-masonry .ace-tile:nth-child(6){grid-column:span 2 !important;grid-row:span 2 !important;}
.ace-masonry .ace-tile:nth-child(4){grid-column:span 2 !important;}
.ace-masonry .ace-tile:nth-child(9){grid-column:span 2 !important;}
@media (max-width:1040px){.ace-masonry{grid-template-columns:repeat(2,1fr) !important;grid-auto-rows:200px !important;}
 .ace-masonry .ace-tile:nth-child(n){grid-column:span 1 !important;grid-row:span 1 !important;}
 .ace-masonry .ace-tile:nth-child(1){grid-column:span 2 !important;}}
@media (max-width:620px){.ace-masonry{grid-template-columns:1fr !important;} .ace-masonry .ace-tile:nth-child(n){grid-column:span 1 !important;}}

/* 6. submit button — beat the theme */
body.ace-page .ace-form-panel form div.wpcf7-submit{background:transparent !important;background-image:none !important;padding:0 !important;border-radius:0 !important;box-shadow:none !important;}
body.ace-page .ace-form-panel form button,body.ace-page .ace-form-panel form button.butn-dark,body.ace-page .ace-form-panel form .wpcf7-submit button{
 background:var(--gold) !important;background-color:var(--gold) !important;background-image:none !important;color:#0b0e12 !important;
 border:0 !important;border-radius:999px !important;padding:19px 30px !important;width:100% !important;max-width:none !important;
 font-weight:800 !important;font-size:1rem !important;letter-spacing:.06em !important;text-transform:uppercase !important;text-align:center !important;
 display:block !important;margin:0 !important;box-shadow:none !important;height:auto !important;line-height:1 !important;}
body.ace-page .ace-form-panel form button:hover{background:var(--gold2) !important;background-color:var(--gold2) !important;}

/* 7. map: no side borders */
.ace-mapband .ace-map,.ace-mapband .ace-nap{border:0 !important;border-left:0 !important;border-right:0 !important;box-shadow:none !important;}
.ace-mapband .ace-nap{border-left:1px solid var(--line) !important;}
@media (max-width:980px){.ace-mapband .ace-nap{border-left:0 !important;border-top:1px solid var(--line) !important;}}


/* ===== ROUND 4: header background as its own layer ===== */
body.ace-page header.ace-hdr{position:fixed;isolation:isolate;}
body.ace-page header.ace-hdr:before{content:"" !important;display:block !important;position:absolute;inset:0;background:#070a0d !important;opacity:0;transition:opacity .35s ease;z-index:0;pointer-events:none;}
body.ace-page header.ace-hdr.ace-hdr--solid:before{opacity:1 !important;}
body.ace-page header.ace-hdr.ace-hdr--solid{box-shadow:0 1px 0 rgba(255,255,255,.08),0 10px 30px rgba(0,0,0,.5) !important;}
body.ace-page header.ace-hdr .ace-hdr-in{position:relative;z-index:2;}
@media (max-width:1040px){ body.ace-page header.ace-hdr:before{opacity:1 !important;} }


/* ===== ROUND 5 ===== */
/* 1. brand: fixed spacing, never changes on hover */
body.ace-page .ace-brand b,body.ace-page .ace-brand:hover b{letter-spacing:.24em !important;font-size:1.38rem !important;color:#fff !important;margin:0 !important;padding:0 !important;}
body.ace-page .ace-brand span,body.ace-page .ace-brand:hover span{letter-spacing:.26em !important;font-size:.56rem !important;color:var(--gold2) !important;margin:6px 0 0 !important;padding:0 !important;}

/* 2. carousel arrows: chevron dead-centre */
.ace-nav button{display:flex !important;align-items:center !important;justify-content:center !important;padding:0 !important;line-height:0 !important;}
.ace-nav button:before{margin:0 !important;width:11px !important;height:11px !important;position:relative !important;}
.ace-nav button[data-ace-prev]:before{transform:rotate(-135deg) !important;left:3px !important;}
.ace-nav button[data-ace-next]:before{transform:rotate(45deg) !important;right:3px !important;}

/* 3. projects: zero gap */
.ace-masonry{gap:0 !important;}
.ace-masonry .ace-tile{border-radius:0 !important;}
.ace-masonry{border-radius:14px;overflow:hidden;}

/* 4. submit: kill the theme <a> nested inside the button */
body.ace-page .ace-form-panel form button a,body.ace-page .ace-form-panel form button a:hover,body.ace-page .ace-form-panel .wpcf7-submit button a{
 background:none !important;background-color:transparent !important;background-image:none !important;color:#0b0e12 !important;
 border:0 !important;border-radius:0 !important;padding:0 !important;margin:0 !important;width:auto !important;height:auto !important;
 display:inline !important;box-shadow:none !important;text-decoration:none !important;font-weight:800 !important;letter-spacing:.06em !important;}
body.ace-page .ace-form-panel form button a span,body.ace-page .ace-form-panel form button span{background:none !important;color:#0b0e12 !important;}
body.ace-page .ace-form-panel form button a:before,body.ace-page .ace-form-panel form button a:after{display:none !important;content:none !important;}
body.ace-page .ace-form-panel form button{height:auto !important;min-height:0 !important;padding:18px 30px !important;}

/* 5. map band back inside the page gutters */
.ace-mapband{margin-left:auto !important;margin-right:auto !important;width:100% !important;max-width:var(--max) !important;padding:0 clamp(18px,4vw,56px) !important;border-radius:0;}
.ace-mapband .ace-map{border-radius:16px 0 0 16px !important;overflow:hidden;}
.ace-mapband .ace-nap{border-radius:0 16px 16px 0 !important;border-left:1px solid var(--line) !important;}
@media (max-width:980px){.ace-mapband .ace-map{border-radius:16px 16px 0 0 !important;} .ace-mapband .ace-nap{border-radius:0 0 16px 16px !important;border-left:0 !important;border-top:1px solid var(--line) !important;}}


/* ===== ROUND 6 ===== */
/* 1. theme has a:hover{display:inline-block} which reflows the brand */
body.ace-page .ace-brand,body.ace-page .ace-brand:hover,body.ace-page .ace-brand:focus,body.ace-page .ace-brand:active{
 display:flex !important;flex-direction:column !important;align-items:flex-start !important;line-height:1 !important;
 width:auto !important;height:auto !important;vertical-align:baseline !important;float:none !important;}
body.ace-page .ace-brand b,body.ace-page .ace-brand:hover b,body.ace-page .ace-brand span,body.ace-page .ace-brand:hover span{
 display:block !important;float:none !important;vertical-align:baseline !important;width:auto !important;}

/* 2. arrows straddle the card edge, half in half out */
.ace-carousel{padding:0 !important;}
.ace-nav button{position:absolute;top:34% !important;}
.ace-nav button[data-ace-prev]{left:0 !important;transform:translate(-50%,-50%) !important;}
.ace-nav button[data-ace-next]{right:0 !important;transform:translate(50%,-50%) !important;}
@media (max-width:820px){
 .ace-nav button[data-ace-prev]{left:8px !important;transform:translate(0,-50%) !important;}
 .ace-nav button[data-ace-next]{right:8px !important;transform:translate(0,-50%) !important;}
}

/* 3. projects: uniform 3x3, zero gaps, no holes possible */
.ace-masonry{display:grid !important;grid-template-columns:repeat(3,1fr) !important;grid-auto-rows:auto !important;grid-auto-flow:row !important;gap:0 !important;border-radius:16px;overflow:hidden;}
.ace-masonry .ace-tile{grid-column:auto !important;grid-row:auto !important;margin:0 !important;border-radius:0 !important;aspect-ratio:4/3 !important;}
.ace-masonry .ace-tile img{width:100% !important;height:100% !important;object-fit:cover !important;}
@media (max-width:1040px){.ace-masonry{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:620px){.ace-masonry{grid-template-columns:1fr !important;}}

/* 4. map: both ends rounded, clipped by the band */
.ace-mapband{padding:0 !important;max-width:calc(var(--max) - 2 * clamp(18px,4vw,56px)) !important;width:calc(100% - 2 * clamp(18px,4vw,56px)) !important;margin:0 auto !important;border-radius:16px !important;overflow:hidden !important;}
.ace-mapband .ace-map{border-radius:0 !important;}
.ace-mapband .ace-nap{border-radius:0 !important;}


/* ===== ROUND 7 ===== */
/* wpautop injects <br> between tiles -> they become grid items */
.ace-masonry br,.ace-grid br,.ace-track br,.ace-steps br,.ace-tags br{display:none !important;}
.ace-masonry > br{display:none !important;}

/* beat the earlier nth-child bento spans */
.ace-masonry .ace-tile:nth-child(1),.ace-masonry .ace-tile:nth-child(2),.ace-masonry .ace-tile:nth-child(3),
.ace-masonry .ace-tile:nth-child(4),.ace-masonry .ace-tile:nth-child(5),.ace-masonry .ace-tile:nth-child(6),
.ace-masonry .ace-tile:nth-child(7),.ace-masonry .ace-tile:nth-child(8),.ace-masonry .ace-tile:nth-child(9),
.ace-masonry .ace-tile:nth-child(n){grid-column:auto !important;grid-row:auto !important;aspect-ratio:4/3 !important;margin:0 !important;border-radius:0 !important;}
@media (max-width:1040px){.ace-masonry .ace-tile:nth-child(n){grid-column:auto !important;grid-row:auto !important;}}
@media (max-width:620px){.ace-masonry .ace-tile:nth-child(n){grid-column:auto !important;}}


/* ===== ROUND 8 ===== */
/* 1. arrows dead-centre against the card, not the section */
.ace-carousel{position:relative !important;}
.ace-viewport{position:static !important;}
.ace-nav{position:static !important;}
.ace-nav button{top:50% !important;}
.ace-nav button[data-ace-prev]{transform:translate(-50%,-50%) !important;}
.ace-nav button[data-ace-next]{transform:translate(50%,-50%) !important;}
@media (max-width:820px){
 .ace-nav button[data-ace-prev]{transform:translate(0,-50%) !important;}
 .ace-nav button[data-ace-next]{transform:translate(0,-50%) !important;}
}

/* 2. map band: visible rounded shape on BOTH sides */
.ace-mapband{border:1px solid var(--line) !important;border-radius:18px !important;overflow:hidden !important;background:var(--panel) !important;}
.ace-mapband .ace-nap{background:#111a22 !important;}
.ace-mapband .ace-map{border-radius:0 !important;border:0 !important;}


/* ===== ROUND 9: residential/commercial cards perfectly matched ===== */
.ace-grid--2{align-items:stretch !important;}
.ace-grid--2 > .ace-card{display:flex !important;flex-direction:column !important;height:100% !important;}
.ace-grid--2 > .ace-card .ace-card-link{display:flex !important;flex-direction:column !important;height:100% !important;}
.ace-grid--2 .ace-frame{flex:0 0 auto;}
.ace-grid--2 .ace-body{display:flex !important;flex-direction:column !important;flex:1 1 auto !important;}
.ace-grid--2 .ace-body p{min-height:5.6em !important;margin:0 !important;}
.ace-grid--2 .ace-more{margin-top:auto !important;padding-top:16px !important;}
@media (max-width:640px){.ace-grid--2 .ace-body p{min-height:0 !important;}}


/* ===== LEAD POPUP ===== */
.ace-pop{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:clamp(12px,3vw,32px);background:rgba(4,6,9,.86);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s ease;}
.ace-pop.is-open{display:flex;opacity:1;}
.ace-pop-box{position:relative;width:100%;max-width:1040px;max-height:92vh;overflow:auto;display:grid;grid-template-columns:.92fr 1.08fr;background:#0c1116;border:1px solid var(--line2);border-radius:20px;box-shadow:0 40px 90px rgba(0,0,0,.7);transform:translateY(14px) scale(.985);transition:transform .35s cubic-bezier(.2,.8,.3,1);}
.ace-pop.is-open .ace-pop-box{transform:none;}
@media (max-width:860px){.ace-pop-box{grid-template-columns:1fr;max-height:94vh;}}
.ace-pop-media{position:relative;overflow:hidden;border-radius:20px 0 0 20px;min-height:100%;}
@media (max-width:860px){.ace-pop-media{border-radius:20px 20px 0 0;max-height:190px;}}
.ace-pop-media img{width:100%;height:100%;object-fit:cover;display:block;}
.ace-pop-media:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,7,10,.94),rgba(5,7,10,.25) 55%,rgba(5,7,10,.35));}
.ace-pop-badge{position:absolute;top:20px;left:20px;z-index:3;background:var(--gold);color:#0b0e12;font-weight:800;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:11px 20px;border-radius:999px;}
.ace-pop-cap{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:26px 24px;}
.ace-pop-cap h4{color:#fff;font-size:1.12rem;line-height:1.32;margin:0 0 16px;font-weight:800;}
.ace-pop-stats{display:flex;gap:0;}
.ace-pop-stats div{flex:1;padding-left:14px;border-left:2px solid var(--gold);}
.ace-pop-stats div+div{margin-left:14px;}
.ace-pop-stats b{display:block;color:var(--gold2);font-size:1.18rem;line-height:1;font-weight:800;}
.ace-pop-stats span{color:#aab5c0;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;}
@media (max-width:860px){.ace-pop-cap{padding:16px 18px;}.ace-pop-cap h4{font-size:.98rem;margin-bottom:10px;}}
.ace-pop-body{padding:clamp(26px,3.4vw,44px);}
.ace-pop-body .ace-eyebrow{margin-bottom:12px;}
.ace-pop-body h3{color:#fff;font-size:clamp(1.5rem,2.6vw,2.05rem);line-height:1.14;margin:0 0 14px;font-weight:800;letter-spacing:-.025em;}
.ace-pop-body h3 em{color:var(--gold2);font-style:normal;}
.ace-pop-body > p{color:var(--txt);font-size:.98rem;line-height:1.68;margin:0 0 24px;}
.ace-pop-close{position:absolute;top:16px;right:16px;z-index:6;width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:rgba(10,14,18,.85);color:#fff;font-size:1.3rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:.2s;}
.ace-pop-close:hover{background:var(--gold);border-color:var(--gold);color:#0b0e12;}
.ace-pop-note{font-size:.78rem;color:var(--dim);text-align:center;margin:14px 0 0;line-height:1.55;}
.ace-pop-talk{text-align:center;margin:16px 0 0;color:var(--txt);font-size:.92rem;}
.ace-pop-talk a{color:var(--gold2) !important;font-weight:700;text-decoration:none !important;}
/* form inside popup inherits panel styling */
.ace-pop-body .wpcf7-form p{margin:0 0 14px;}
.ace-pop-body label{display:block;font-size:.72rem;font-weight:700;color:var(--dim);margin-bottom:7px;letter-spacing:.1em;text-transform:uppercase;}
.ace-pop-body input[type=text],.ace-pop-body input[type=email],.ace-pop-body input[type=tel],.ace-pop-body select,.ace-pop-body textarea{width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:11px;font-size:.97rem;color:#fff;background:rgba(255,255,255,.04);}
.ace-pop-body input::placeholder,.ace-pop-body textarea::placeholder{color:#6d7a87;}
.ace-pop-body input:focus,.ace-pop-body select:focus,.ace-pop-body textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,150,47,.15);}
.ace-pop-body select option{background:#12181f;color:#fff;}
.ace-pop-body textarea{min-height:88px;resize:vertical;}
.ace-pop-body div.wpcf7-submit{background:transparent !important;padding:0 !important;}
.ace-pop-body form button{background:var(--gold) !important;background-image:none !important;color:#0b0e12 !important;border:0 !important;border-radius:999px !important;padding:18px 28px !important;width:100% !important;font-weight:800 !important;font-size:.98rem !important;letter-spacing:.06em !important;text-transform:uppercase !important;display:block !important;margin:0 !important;height:auto !important;line-height:1 !important;cursor:pointer;}
.ace-pop-body form button a{background:none !important;color:#0b0e12 !important;padding:0 !important;width:auto !important;display:inline !important;text-decoration:none !important;font-weight:800 !important;}
.ace-pop-body form button:hover{background:var(--gold2) !important;}
.ace-pop-body .wpcf7-spinner{display:none !important;}

/* ACE-M10-START */
/* ROUND 10 - mobile + popup polish */
html,body{overflow-x:hidden;}
body.ace-page .ace-wrap{width:100% !important;max-width:var(--max) !important;margin-left:auto !important;margin-right:auto !important;padding-left:clamp(16px,4vw,48px) !important;padding-right:clamp(16px,4vw,48px) !important;box-sizing:border-box !important;}
body.ace-page section.ace-section,body.ace-page section.ace-trust{width:100% !important;max-width:100% !important;}

/* equal-height service cards everywhere */
body.ace-page .ace-track{align-items:stretch !important;}
body.ace-page .ace-track > .ace-card{align-self:stretch !important;}
body.ace-page .ace-card .ace-card-link{display:flex !important;flex-direction:column !important;height:100% !important;width:100% !important;}
body.ace-page .ace-card .ace-body{flex:1 1 auto !important;display:flex !important;flex-direction:column !important;}
body.ace-page .ace-track .ace-card .ace-body > p:not(:last-of-type){display:-webkit-box !important;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
body.ace-page .ace-card br{display:none !important;}
body.ace-page .ace-track .ace-card > .ace-card-link{flex:1 1 auto !important;}
body.ace-page .ace-track .ace-card > p:empty{display:none !important;}
body.ace-page .ace-card .ace-h3{min-height:2.5em !important;}
body.ace-page .ace-card .ace-body > p:last-of-type{margin-top:auto !important;margin-bottom:0 !important;}

/* popup - never taller than the screen, no cropped photo on phones */
body.ace-page .ace-pop-media img{object-position:50% 45% !important;}
body.ace-page .ace-pop-box{max-height:min(90svh,90vh) !important;}
@media (max-width:860px){
  body.ace-page .ace-pop{padding:12px 12px calc(12px + env(safe-area-inset-bottom)) !important;align-items:center !important;}
  body.ace-page .ace-pop-box{grid-template-columns:1fr !important;max-height:min(85svh,85vh) !important;overflow:auto !important;-webkit-overflow-scrolling:touch;}
  body.ace-page .ace-pop-media{display:none !important;}
  body.ace-page .ace-pop-box:before{content:'' !important;display:block !important;height:4px !important;background:linear-gradient(90deg,var(--gold),var(--gold2)) !important;border-radius:20px 20px 0 0 !important;}
  body.ace-page .ace-pop-body{padding:22px 18px 24px !important;}
  body.ace-page .ace-pop-body h3{font-size:1.32rem !important;line-height:1.2 !important;}
  body.ace-page .ace-pop-body > p{font-size:.9rem !important;line-height:1.5 !important;}
  body.ace-page .ace-pop-note{font-size:.72rem !important;}
  body.ace-page .ace-pop-close{top:8px !important;right:8px !important;}
}

@media (max-width:860px){
  body.ace-page .ace-grid,body.ace-page .ace-grid--2,body.ace-page .ace-grid--3{grid-template-columns:1fr !important;gap:18px !important;}
  body.ace-page .ace-grid > *{width:100% !important;max-width:100% !important;margin-left:0 !important;margin-right:0 !important;}
  body.ace-page .ace-h2{font-size:clamp(1.55rem,6.6vw,2.2rem) !important;line-height:1.16 !important;overflow-wrap:break-word !important;}
  body.ace-page .ace-card--img .ace-frame{aspect-ratio:16/10 !important;}
}

@media (max-width:640px){
  body.ace-page .ace-trust-in{grid-template-columns:repeat(2,1fr) !important;}
  body.ace-page .ace-trust-item{border-right:1px solid var(--line) !important;border-bottom:1px solid var(--line) !important;padding:18px 16px !important;}
  body.ace-page .ace-trust-item:nth-child(2n){border-right:0 !important;}
  body.ace-page .ace-trust-item:nth-child(5){grid-column:1 / -1 !important;border-right:0 !important;border-bottom:0 !important;}
  body.ace-page .ace-trust-item b{font-size:1.14rem !important;}

  body.ace-page .ace-carousel{padding:0 !important;}
  body.ace-page .ace-track > .ace-card{flex:0 0 82vw !important;width:82vw !important;}
  body.ace-page .ace-nav button{width:40px !important;height:40px !important;top:calc(25.6vw - 6px) !important;transform:none !important;}
  body.ace-page .ace-nav button[data-ace-prev]{left:8px !important;right:auto !important;}
  body.ace-page .ace-nav button[data-ace-next]{right:8px !important;left:auto !important;}
  body.ace-page .ace-nav button:before{width:9px !important;height:9px !important;border-width:2px !important;}
}

/* ---- lead form ---- */
body.ace-page .ace-f{display:block !important;margin:0 0 15px !important;}
body.ace-page .ace-f label{display:block !important;font-size:.71rem !important;letter-spacing:.14em !important;text-transform:uppercase !important;color:#94a2b0 !important;margin:0 0 7px !important;font-weight:600 !important;}
body.ace-page .ace-f label b{color:var(--gold2) !important;font-weight:700 !important;}
body.ace-page .ace-f input[type=text],body.ace-page .ace-f input[type=tel],body.ace-page .ace-f input[type=email],body.ace-page .ace-f select,body.ace-page .ace-f textarea{width:100% !important;background:rgba(255,255,255,.045) !important;border:1px solid var(--line2) !important;border-radius:12px !important;color:#fff !important;padding:12px 14px !important;font-size:.95rem !important;height:auto !important;min-height:0 !important;box-shadow:none !important;margin:0 !important;}
body.ace-page .ace-f select{appearance:none !important;-webkit-appearance:none !important;background-image:linear-gradient(45deg,transparent 50%,#c9962f 50%),linear-gradient(135deg,#c9962f 50%,transparent 50%) !important;background-position:calc(100% - 20px) 55%,calc(100% - 15px) 55% !important;background-size:6px 6px,6px 6px !important;background-repeat:no-repeat !important;padding-right:38px !important;}
body.ace-page .ace-f select option{background:#0c1116 !important;color:#fff !important;}
body.ace-page .ace-f textarea{min-height:86px !important;resize:vertical !important;}
body.ace-page .ace-f input:focus,body.ace-page .ace-f select:focus,body.ace-page .ace-f textarea:focus{border-color:var(--gold) !important;outline:none !important;}
body.ace-page .ace-f .wpcf7-not-valid-tip{color:#ff9a8a !important;font-size:.75rem !important;margin-top:5px !important;}
body.ace-page form div.wpcf7-response-output{grid-column:1 / -1 !important;border-radius:10px !important;border-color:var(--line2) !important;color:#dbe3ea !important;font-size:.85rem !important;}
body.ace-page form > div{grid-column:1 / -1 !important;}
body.ace-page form div.wpcf7-submit{background:transparent !important;padding:0 !important;border:0 !important;}
body.ace-page form button.butn-dark{background:var(--gold) !important;border:0 !important;border-radius:999px !important;width:100% !important;text-align:center !important;padding:15px 22px !important;color:#0b0e12 !important;font-weight:700 !important;}
body.ace-page form button.butn-dark a,body.ace-page form button.butn-dark a:hover{background:none !important;color:#0b0e12 !important;padding:0 !important;width:auto !important;display:inline !important;font-weight:700 !important;}
body.ace-page form input.wpcf7-submit{background:var(--gold) !important;color:#0b0e12 !important;border:0 !important;border-radius:999px !important;width:100% !important;padding:15px 22px !important;font-weight:700 !important;}
@media (min-width:861px){
  body.ace-page .ace-form-panel form,body.ace-page .ace-pop-body form{display:grid !important;grid-template-columns:1fr 1fr !important;gap:0 16px !important;}
  body.ace-page .ace-f--full{grid-column:1 / -1 !important;}
}
body.ace-page .ace-pop .ace-f--budget,body.ace-page .ace-pop .ace-f--msg{display:none !important;}


body.ace-page .ace-f:empty{display:none !important;}
@media (max-width:860px){
  body.ace-page .ace-pop-body > p{font-size:.86rem !important;line-height:1.45 !important;margin-bottom:14px !important;}
  body.ace-page .ace-pop .ace-f{margin:0 0 11px !important;}
  body.ace-page .ace-pop .ace-f label{font-size:.66rem !important;margin-bottom:5px !important;}
  body.ace-page .ace-pop .ace-f input,body.ace-page .ace-pop .ace-f select{padding:10px 13px !important;font-size:.9rem !important;border-radius:10px !important;}
  body.ace-page .ace-pop form button.butn-dark{padding:13px 18px !important;}
}

@media (max-width:860px){
  body.ace-page .ace-pop-body > p:not(.ace-pop-note):not(.ace-pop-talk){display:none !important;}
  body.ace-page .ace-pop .ace-f--email{display:none !important;}
  body.ace-page .ace-pop-body h3{margin-bottom:18px !important;}
}

/* ---- inner page kit ---- */
body.ace-page .ace-phero{position:relative;min-height:clamp(320px,46vh,520px);display:flex;align-items:flex-end;overflow:hidden;background:#070a0d;}
body.ace-page .ace-phero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78;}
body.ace-page .ace-phero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,10,13,.42) 0%,rgba(7,10,13,.18) 34%,rgba(7,10,13,.72) 72%,rgba(7,10,13,.97) 100%);}
body.ace-page .ace-phero .ace-wrap{position:relative;z-index:2;padding-top:clamp(96px,14vh,150px);padding-bottom:clamp(34px,5vw,64px);}
body.ace-page .ace-crumbs{font-size:.78rem;color:#93a1ad;margin:0 0 14px;}
body.ace-page .ace-crumbs a{color:#93a1ad;}
body.ace-page .ace-crumbs a:hover{color:var(--gold2);}
body.ace-page .ace-h1{font-size:clamp(2rem,5.4vw,3.9rem);line-height:1.05;letter-spacing:-.02em;color:#fff;margin:0 0 14px;font-weight:800;}
body.ace-page .ace-sub{font-size:clamp(1rem,1.5vw,1.16rem);color:#c3ccd5;max-width:760px;margin:0 0 22px;line-height:1.55;}
body.ace-page .ace-cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media (max-width:980px){body.ace-page .ace-cols3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){body.ace-page .ace-cols3{grid-template-columns:1fr !important;}}
body.ace-page .ace-mini{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 20px 18px;transition:.25s;}
body.ace-page .ace-mini:hover{border-color:var(--gold);transform:translateY(-3px);}
body.ace-page .ace-mini h3{font-size:1.02rem;color:#fff;margin:0 0 8px;font-weight:700;}
body.ace-page .ace-mini p{font-size:.88rem;color:#9fabb6;margin:0 0 10px;line-height:1.55;}
body.ace-page .ace-mini a{color:var(--gold2);font-size:.83rem;font-weight:600;}
body.ace-page .ace-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px;}
body.ace-page .ace-chips a{display:inline-block;padding:8px 15px;border:1px solid var(--line2);border-radius:999px;font-size:.82rem;color:#c3ccd5;transition:.2s;}
body.ace-page .ace-chips a:hover{border-color:var(--gold);color:var(--gold2);}
body.ace-page .ace-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--panel);}
body.ace-page .ace-table{width:100%;border-collapse:collapse;font-size:.92rem;margin:0;}
body.ace-page .ace-table th,body.ace-page .ace-table td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);color:#c3ccd5;}
body.ace-page .ace-table th{color:var(--gold2);font-weight:700;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;}
body.ace-page .ace-table tr:last-child td{border-bottom:0;}

/* 3-up service card grid */
body.ace-page .ace-grid--3{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:18px !important;align-items:stretch !important;}
body.ace-page .ace-card > .ace-card-link{flex:1 1 auto !important;}
body.ace-page .ace-grid--3 .ace-card .ace-body > p:not(:last-of-type){display:-webkit-box !important;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
@media (max-width:980px) and (min-width:641px){body.ace-page .ace-grid--3{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:640px){body.ace-page .ace-grid--3{grid-template-columns:1fr !important;}}

/* ---- project gallery ---- */
body.ace-page .ace-gal{display:grid !important;grid-template-columns:repeat(4,1fr) !important;gap:10px !important;margin-top:8px;}
body.ace-page .ace-gal figure{position:relative;margin:0 !important;overflow:hidden;border-radius:12px;aspect-ratio:4/3;background:var(--panel);}
body.ace-page .ace-gal img{width:100% !important;height:100% !important;object-fit:cover !important;display:block;transition:transform .5s cubic-bezier(.2,.8,.3,1);}
body.ace-page .ace-gal figure:hover img{transform:scale(1.06);}
body.ace-page .ace-gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;font-size:.74rem;line-height:1.3;color:#e8eef4;background:linear-gradient(180deg,transparent,rgba(5,8,11,.88));opacity:0;transition:opacity .25s;}
body.ace-page .ace-gal figure:hover figcaption{opacity:1;}
body.ace-page .ace-gal br{display:none !important;}
body.ace-page .ace-gal p{display:none !important;}
@media (max-width:980px){body.ace-page .ace-gal{grid-template-columns:repeat(3,1fr) !important;}}
@media (max-width:640px){body.ace-page .ace-gal{grid-template-columns:repeat(2,1fr) !important;gap:7px !important;}}
body.ace-page .ace-gal--wide figure{aspect-ratio:3/2;}

/* ---- inline figures woven through copy ---- */
body.ace-page .ace-fig,body.ace-page .ace-duo,body.ace-page .ace-trio{margin:clamp(22px,3vw,38px) 0 !important;}
body.ace-page .ace-duo{display:grid !important;grid-template-columns:1fr 1fr !important;gap:14px !important;}
body.ace-page .ace-trio{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:14px !important;}
body.ace-page .ace-fig figure,body.ace-page .ace-duo figure,body.ace-page .ace-trio figure{margin:0 !important;position:relative;overflow:hidden;border-radius:16px;background:var(--panel);border:1px solid var(--line);}
body.ace-page .ace-fig figure{aspect-ratio:21/9;}
body.ace-page .ace-duo figure{aspect-ratio:4/3;}
body.ace-page .ace-trio figure{aspect-ratio:1/1;}
body.ace-page .ace-fig img,body.ace-page .ace-duo img,body.ace-page .ace-trio img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;transition:transform .6s cubic-bezier(.2,.8,.3,1);}
body.ace-page .ace-fig figure:hover img,body.ace-page .ace-duo figure:hover img,body.ace-page .ace-trio figure:hover img{transform:scale(1.05);}
body.ace-page .ace-fig figcaption,body.ace-page .ace-duo figcaption,body.ace-page .ace-trio figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;font-size:.78rem;line-height:1.35;color:#e8eef4;background:linear-gradient(180deg,transparent,rgba(5,8,11,.9));}
body.ace-page .ace-trio figcaption{font-size:.72rem;padding:28px 11px 10px;}
body.ace-page .ace-fig br,body.ace-page .ace-duo br,body.ace-page .ace-trio br{display:none !important;}
body.ace-page .ace-fig > p,body.ace-page .ace-duo > p,body.ace-page .ace-trio > p{display:none !important;}
@media (max-width:820px){body.ace-page .ace-trio{grid-template-columns:1fr 1fr !important;} body.ace-page .ace-trio figure:last-child{grid-column:1 / -1;aspect-ratio:2/1;}}
@media (max-width:560px){body.ace-page .ace-duo,body.ace-page .ace-trio{grid-template-columns:1fr !important;gap:10px !important;} body.ace-page .ace-trio figure:last-child{aspect-ratio:4/3;} body.ace-page .ace-fig figure{aspect-ratio:16/10;}}

/* captions off — images carry alt text only */
body.ace-page .ace-fig figcaption,body.ace-page .ace-duo figcaption,body.ace-page .ace-trio figcaption{display:none !important;}
/* ACE-M10-END */
