
:root{--black:#080a0e;--black-2:#11151c;--paper:#f3f2ef;--white:#fff;--red:#d51b23;--red-dark:#a70f16;--text:#101319;--muted:#626b77;--line:#d9dde2;--max:1240px;--header:86px;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:-100px;z-index:1000;background:#fff;color:#000;padding:12px 16px}.skip-link:focus{top:16px}.eyebrow{display:block;font:700 10px/1.2 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--red)}.eyebrow.light{color:#d5dae2}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:0 23px;border:1px solid transparent;font:700 11px Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;transition:.25s var(--ease);cursor:pointer}.button.primary{background:var(--red);color:#fff}.button.primary:hover{background:var(--red-dark);transform:translateY(-2px)}.button.dark{background:var(--black);color:#fff}.button.dark:hover{background:var(--red)}.button.outline{border-color:#b8bec7;background:transparent}.button.outline:hover{border-color:var(--black);background:var(--black);color:#fff}.text-link{display:inline-flex;gap:11px;align-items:center;padding-bottom:6px;border-bottom:1px solid currentColor;font:700 11px Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase}.text-link span{color:var(--red);transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}
.site-header{height:var(--header);position:sticky;top:0;z-index:100;background:rgba(8,10,14,.97);color:#fff;border-bottom:1px solid rgba(255,255,255,.09);backdrop-filter:blur(18px)}.home .site-header{position:fixed;left:0;right:0;background:linear-gradient(rgba(0,0,0,.38),transparent);border:0}.home .site-header.scrolled{background:rgba(8,10,14,.96);border-bottom:1px solid rgba(255,255,255,.09)}.nav-row{height:100%;display:flex;align-items:center;gap:30px}.wordmark{display:flex;flex-direction:column;line-height:.88;min-width:225px}.wordmark strong{font:800 26px Manrope,sans-serif;letter-spacing:-.045em}.wordmark small{margin-top:9px;font:700 8px Manrope,sans-serif;letter-spacing:.25em}.main-nav{margin-left:auto;display:flex;align-items:center;gap:27px}.main-nav>a,.nav-parent>button{border:0;background:transparent;color:#d7dce4;padding:12px 0;font:600 12px Inter,sans-serif;cursor:pointer}.main-nav>a:hover,.main-nav>a.active,.nav-parent>button:hover{color:#fff}.nav-parent{position:relative}.nav-parent>button:after{content:'+';margin-left:7px;color:var(--red)}.nav-drop{position:absolute;top:44px;left:-24px;width:285px;padding:12px;background:#fff;color:#111;box-shadow:0 24px 70px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.nav-parent:hover .nav-drop,.nav-parent:focus-within .nav-drop{opacity:1;visibility:visible;transform:none}.nav-drop a{display:block;padding:12px;border-bottom:1px solid #eceef1;font-size:13px}.nav-drop a:last-child{border:0}.nav-drop a:hover{color:var(--red);padding-left:16px}.nav-cta{border:1px solid rgba(255,255,255,.35)!important;padding:11px 16px!important}.nav-cta:hover,.nav-cta.active{background:var(--red);border-color:var(--red)!important}.menu-toggle{display:none;margin-left:auto;width:42px;height:42px;border:0;background:transparent;padding:8px}.menu-toggle span{display:block;height:2px;background:#fff;margin:6px 0;transition:.25s}
.brand-opening{height:100svh;min-height:650px;background:#fff;position:relative;overflow:hidden}.brand-opening picture,.brand-opening img{width:100%;height:100%}.brand-opening img{object-fit:cover;object-position:center}.brand-opening:after{content:'';position:absolute;inset:auto 0 0;height:140px;background:linear-gradient(transparent,rgba(0,0,0,.08));pointer-events:none}.scroll-cue{position:absolute;left:50%;bottom:24px;z-index:2;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:#111;font:700 8px Manrope;letter-spacing:.23em}.scroll-cue i{width:1px;height:44px;background:linear-gradient(#111,transparent);animation:pulse 1.8s infinite}@keyframes pulse{0%{transform:scaleY(.2);transform-origin:top;opacity:.3}50%{transform:scaleY(1);opacity:1}100%{transform:scaleY(.2);transform-origin:bottom;opacity:.3}}
.manifesto{padding:155px 0 170px}.manifesto-grid{display:grid;grid-template-columns:.8fr 2.7fr;gap:80px}.manifesto h1,.manifesto p{font:500 clamp(38px,4.6vw,70px)/1.1 Manrope,sans-serif;letter-spacing:-.052em;margin:0}.manifesto p{margin-top:16px;color:var(--red)}.section{padding:135px 0}.section.paper{background:var(--paper)}.section.dark{background:radial-gradient(circle at top right, rgba(37,99,235,.12), transparent 40%),radial-gradient(circle at bottom left, rgba(213,27,35,.08), transparent 35%),var(--black);color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;gap:11vw}.display-title{font:600 clamp(46px,6vw,88px)/.98 Manrope,sans-serif;letter-spacing:-.06em;margin:26px 0 0}.display-title em{font-style:normal;color:var(--red)}.lead-copy{padding-top:50px}.lead-copy p{font-size:18px;line-height:1.9;color:#545d69;margin:0 0 25px}.dark .lead-copy p{color:#aeb5c0}.editorial-head{display:grid;grid-template-columns:.75fr 2fr;gap:65px;margin-bottom:75px}.editorial-head h2{font:600 clamp(40px,5vw,72px)/1.07 Manrope;letter-spacing:-.052em;margin:0}.discipline-list{border-top:1px solid var(--line)}.discipline{display:grid;grid-template-columns:65px 1.15fr 1fr 35px;gap:36px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);transition:.28s var(--ease)}.discipline>span{color:var(--red);font:700 10px Manrope}.discipline h3{font:600 28px Manrope;margin:0;letter-spacing:-.035em}.discipline p{font-size:14px;color:var(--muted);margin:0}.discipline b{font-size:20px;font-weight:400}.discipline:hover{padding-inline:18px;background:#f7f7f7}.method-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:10vw}.method-grid h2{font:600 clamp(42px,5vw,72px)/1.07 Manrope;letter-spacing:-.052em;margin:28px 0}.method-grid h2 em{font-style:normal;color:var(--red)}.steps{list-style:none;padding:0;margin:0;border-top:1px solid rgba(255,255,255,.18)}.steps li{display:grid;grid-template-columns:58px 1fr;gap:22px;padding:27px 0;border-bottom:1px solid rgba(255,255,255,.18)}.steps li>span{font:700 10px Manrope;color:var(--red)}.steps h3{font:600 24px Manrope;margin:0 0 8px}.steps p{margin:0;color:#aeb5c0;font-size:14px}.work-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:28px}.project-visual{height:500px;position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#e5e7ea,#f8f8f7)}.project-card.small .project-visual{height:390px}.project-visual:before,.project-visual:after{content:'';position:absolute;background:#cfd4da}.project-visual:before{width:150%;height:1px;transform:rotate(35deg)}.project-visual:after{height:150%;width:1px;transform:rotate(35deg)}.project-visual span{font:700 9px Manrope;letter-spacing:.22em;color:#8c949e}.project-card small{display:block;margin-top:22px;color:var(--red);font:700 9px Manrope;letter-spacing:.17em}.project-card h3{font:600 25px/1.3 Manrope;margin:10px 0 0;letter-spacing:-.03em}.tech-strip{padding:75px 0 82px;background:var(--black-2);color:#fff}.tech-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:40px}.tech-brand{min-height:74px;display:flex;align-items:center;gap:13px;padding:14px 16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035)}.tech-brand img{width:40px;height:40px;object-fit:contain;flex:0 0 40px}.tech-brand b{font:700 14px Manrope;letter-spacing:.045em;color:#eef1f5;white-space:nowrap}.final-cta{padding:145px 0;background:var(--paper)}.final-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:12vw;align-items:end}.final-grid h2{font:600 clamp(48px,6vw,86px)/1 Manrope;letter-spacing:-.06em;margin:24px 0 0}.final-grid p{font-size:17px;color:#58616d;margin:0 0 30px}
.inner-hero{padding:105px 0 95px;background:var(--black);color:#fff;position:relative;overflow:hidden}.inner-hero:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 10%,rgba(213,27,35,.22),transparent 28%);pointer-events:none}.inner-hero .container{position:relative;z-index:1}.breadcrumbs{display:flex;gap:10px;font-size:11px;color:#929aa6;margin-bottom:45px}.breadcrumbs a:hover{color:#fff}.inner-hero h1{font:600 clamp(48px,7vw,92px)/.98 Manrope;letter-spacing:-.06em;margin:0;max-width:1050px}.inner-hero p{max-width:700px;font-size:18px;color:#b6bdc7;margin:28px 0 0}.page-intro{display:grid;grid-template-columns:.7fr 1.7fr;gap:80px}.page-intro h2{font:600 clamp(38px,4.7vw,66px)/1.08 Manrope;letter-spacing:-.05em;margin:0}.page-intro p{font-size:17px;color:var(--muted);margin:0 0 20px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.feature{padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:250px}.feature span{font:700 10px Manrope;color:var(--red)}.feature h3{font:600 22px Manrope;margin:50px 0 12px}.feature p{font-size:14px;color:var(--muted);margin:0}.spec-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}.spec{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:28px 0;border-bottom:1px solid var(--line)}.spec:nth-child(odd){padding-right:40px;border-right:1px solid var(--line)}.spec:nth-child(even){padding-left:40px}.spec b{font:700 10px Manrope;color:var(--red)}.spec h3{font:600 20px Manrope;margin:0 0 8px}.spec p{margin:0;color:var(--muted);font-size:14px}.quote-block{padding:105px 0;background:var(--red);color:#fff}.quote-block blockquote{margin:0;max-width:950px;font:500 clamp(34px,4vw,58px)/1.15 Manrope;letter-spacing:-.045em}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px}.portfolio-item .project-visual{height:360px}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:45px}.filter-bar button{border:1px solid var(--line);background:#fff;padding:10px 15px;font-size:12px;cursor:pointer}.filter-bar button.active,.filter-bar button:hover{background:var(--black);color:#fff;border-color:var(--black)}.portfolio-item.hidden{display:none}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.value{padding:35px;background:#fff;border-top:3px solid var(--red)}.value h3{font:600 23px Manrope;margin:18px 0 10px}.value p{font-size:14px;color:var(--muted);margin:0}.timeline{border-top:1px solid var(--line)}.timeline-row{display:grid;grid-template-columns:150px 1fr;gap:45px;padding:30px 0;border-bottom:1px solid var(--line)}.timeline-row strong{font:700 11px Manrope;color:var(--red)}.timeline-row h3{font:600 23px Manrope;margin:0 0 8px}.timeline-row p{margin:0;color:var(--muted)}.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.cert{min-height:260px;padding:35px;border:1px solid var(--line);display:flex;flex-direction:column}.cert .seal{width:52px;height:52px;border:1px solid var(--red);display:grid;place-items:center;color:var(--red);font-weight:800}.cert h3{font:600 21px Manrope;margin:auto 0 10px}.cert p{font-size:14px;color:var(--muted);margin:0}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.support-card{padding:35px;background:#fff;border-bottom:3px solid var(--red)}.support-card h3{font:600 22px Manrope}.support-card p{color:var(--muted);font-size:14px}.contact-grid{display:grid;grid-template-columns:.85fr 1.25fr;gap:9vw}.contact-details h2{font:600 42px Manrope;letter-spacing:-.045em}.contact-line{padding:20px 0;border-bottom:1px solid var(--line)}.contact-line small{display:block;color:var(--red);font:700 9px Manrope;letter-spacing:.18em;margin-bottom:6px}.contact-form{padding:42px;background:var(--paper)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid #ccd1d8;background:#fff;padding:14px;color:#111}.field textarea{min-height:145px;resize:vertical}.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--muted)}.check input{margin-top:4px}.honeypot{position:absolute!important;left:-9999px!important}.form-status{min-height:24px;font-size:13px;margin-top:15px}.map{min-height:400px;background:#e7e9ec;display:grid;place-items:center;text-align:center}.map strong{font:600 22px Manrope}.legal{max-width:850px}.legal h2{font:600 25px Manrope;margin-top:45px}.legal p,.legal li{color:var(--muted)}.legal-note{padding:20px;background:var(--paper);border-left:3px solid var(--red);margin-top:45px;font-size:13px}
.site-footer{padding-top:75px;background:var(--black);color:#fff}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:80px;padding-bottom:65px}.footer-grid>div{display:flex;flex-direction:column;gap:10px}.footer-grid>div>strong{font:700 10px Manrope;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px;color:#9da5b1}.footer-grid a,.footer-grid span,.footer-grid p{font-size:13px;color:#c1c7d0;margin:0}.footer-grid a:hover{color:#fff}.footer-brand p{margin-top:20px}.footer-bottom{padding:22px 0;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:25px;font-size:11px;color:#8e97a4}.footer-bottom div{display:flex;gap:20px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(max-width:1024px){.main-nav{position:fixed;inset:var(--header) 0 auto 0;background:#080a0e;display:none;flex-direction:column;align-items:stretch;padding:25px 28px;max-height:calc(100svh - var(--header));overflow:auto}.main-nav.open{display:flex}.main-nav>a,.nav-parent>button{text-align:left;padding:12px}.nav-parent>button{width:100%}.nav-drop{position:static;width:auto;opacity:1;visibility:visible;transform:none;display:none;margin:5px 0;background:#131820;color:#fff;box-shadow:none}.nav-parent.open .nav-drop{display:block}.nav-parent:hover .nav-drop{display:none}.nav-parent.open:hover .nav-drop{display:block}.menu-toggle{display:block}.split,.method-grid,.final-grid,.page-intro,.contact-grid{grid-template-columns:1fr;gap:55px}.editorial-head{grid-template-columns:1fr;gap:25px}.discipline{grid-template-columns:50px 1fr 30px}.discipline p{display:none}.work-grid{grid-template-columns:1fr}.feature-grid,.values-grid,.cert-grid,.support-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.5fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.brand-opening img{object-fit:cover}.manifesto-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:640px){:root{--header:74px}.container{width:min(var(--max),calc(100% - 28px))}.wordmark{min-width:180px}.wordmark strong{font-size:21px}.wordmark small{font-size:7px}.brand-opening{min-height:520px}.brand-opening img{object-fit:contain;background:#fff}.manifesto,.section,.final-cta{padding:90px 0}.manifesto h1,.manifesto p{font-size:36px}.lead-copy{padding-top:0}.lead-copy p{font-size:16px}.discipline{padding:27px 0;gap:14px}.discipline h3{font-size:21px}.project-visual,.project-card.small .project-visual,.portfolio-item .project-visual{height:280px}.feature-grid,.values-grid,.cert-grid,.support-grid,.spec-list{grid-template-columns:1fr}.feature{min-height:220px}.spec:nth-child(odd),.spec:nth-child(even){padding:25px 0;border-right:0}.form-grid{grid-template-columns:1fr}.contact-form{padding:26px}.footer-grid{grid-template-columns:1fr;gap:38px}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.timeline-row{grid-template-columns:1fr;gap:8px}.tech-list{justify-content:flex-start}.inner-hero{padding:75px 0}.inner-hero h1{font-size:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-cue i{animation:none}}


/* Refined contact footer + brand opening motion */
.brand-opening picture{display:block;height:100%;overflow:hidden}
.brand-opening img{opacity:0;transform:scale(1.035);filter:blur(7px);transition:opacity 1.15s ease,transform 1.8s cubic-bezier(.16,1,.3,1),filter 1.15s ease}
.brand-opening:before{content:'';position:absolute;inset:0;z-index:1;background:#fff;transform-origin:right;transform:scaleX(1);transition:transform 1.15s cubic-bezier(.76,0,.24,1) .12s;pointer-events:none}
.page-ready .brand-opening img{opacity:1;transform:scale(1);filter:blur(0)}
.page-ready .brand-opening:before{transform:scaleX(0)}
.brand-opening .scroll-cue{opacity:0;transform:translate(-50%,10px);transition:opacity .65s ease 1.35s,transform .65s ease 1.35s}
.page-ready .brand-opening .scroll-cue{opacity:1;transform:translate(-50%,0)}

.site-footer{padding-top:0}
.footer-contact-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);min-height:610px;border-left:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1)}
.footer-map{min-height:610px;background:#111;overflow:hidden}
.footer-map iframe{display:block;width:100%;height:100%;min-height:610px;border:0;filter:grayscale(1) contrast(1.08) brightness(.78);transition:filter .45s ease,transform .7s var(--ease)}
.footer-map:hover iframe{filter:grayscale(.15) contrast(1.02) brightness(.9);transform:scale(1.01)}
.footer-contact-copy{padding:76px 64px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#0b0e13,#11151c)}
.footer-contact-copy h2{font:700 clamp(35px,4vw,58px)/1.03 Manrope,sans-serif;letter-spacing:-.055em;margin:16px 0 38px;color:#fff}
.footer-contact-links{border-top:1px solid rgba(255,255,255,.12)}
.footer-contact-link{display:grid;grid-template-columns:95px 1fr 24px;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;transition:padding .25s ease,color .25s ease}
.footer-contact-link small{font:700 9px Manrope,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#7f8998}
.footer-contact-link strong{font:600 14px/1.45 Inter,sans-serif;color:#e7ebf0}
.footer-contact-link>span{font-size:18px;color:var(--red);transition:transform .25s ease}
.footer-contact-link:hover{padding-left:8px}
.footer-contact-link:hover strong{color:#fff}
.footer-contact-link:hover>span{transform:translate(3px,-3px)}
.footer-grid{padding-top:70px}

@media(max-width:1024px){
  .footer-contact-panel{grid-template-columns:1fr;min-height:0}
  .footer-map,.footer-map iframe{min-height:440px}
  .footer-contact-copy{padding:62px 48px}
}
@media(max-width:640px){
  .footer-contact-panel{width:100%;border:0}
  .footer-map,.footer-map iframe{min-height:330px}
  .footer-contact-copy{padding:52px 24px}
  .footer-contact-copy h2{font-size:38px;margin-bottom:30px}
  .footer-contact-link{grid-template-columns:74px 1fr 20px;gap:10px;padding:17px 0}
  .footer-contact-link strong{font-size:13px}
  .footer-grid{padding-top:56px}
  .brand-opening:before{transition-duration:.8s}
  .brand-opening img{transition-duration:1.1s}
}
@media(prefers-reduced-motion:reduce){
  .brand-opening img,.brand-opening:before,.brand-opening .scroll-cue{transition:none;opacity:1;transform:none;filter:none}
}


/* D-Tech Brand Release — Engineering Security */
.brand-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#080a0e;color:#fff;transition:opacity .55s ease,visibility .55s ease}
.brand-loader-mark{display:flex;flex-direction:column;align-items:center;line-height:.88;transform:translateY(8px);opacity:0;animation:brandIntro .8s cubic-bezier(.16,1,.3,1) forwards}
.brand-loader-mark strong{font:800 clamp(34px,5vw,66px) Manrope,sans-serif;letter-spacing:-.055em}
.brand-loader-mark small{margin-top:14px;font:700 9px Manrope,sans-serif;letter-spacing:.34em}
.brand-loader-mark i{display:block;width:0;height:2px;margin-top:22px;background:var(--red);animation:brandLine .72s cubic-bezier(.16,1,.3,1) .12s forwards}
.page-ready .brand-loader{opacity:0;visibility:hidden;pointer-events:none;transition-delay:.9s}
@keyframes brandIntro{to{opacity:1;transform:none}}
@keyframes brandLine{to{width:92px}}

/* Visible transparent navigation on the white brand artwork */
.home .site-header:not(.scrolled){background:rgba(255,255,255,.54);color:#0c0f14;border-bottom:1px solid rgba(10,12,16,.08);backdrop-filter:blur(16px) saturate(1.2)}
.home .site-header:not(.scrolled) .main-nav>a,
.home .site-header:not(.scrolled) .nav-parent>button{color:#282d35}
.home .site-header:not(.scrolled) .main-nav>a:hover,
.home .site-header:not(.scrolled) .main-nav>a.active,
.home .site-header:not(.scrolled) .nav-parent>button:hover{color:#05070a}
.home .site-header:not(.scrolled) .nav-cta{border-color:rgba(10,12,16,.32)!important}
.home .site-header:not(.scrolled) .menu-toggle span{background:#0c0f14}
.home .site-header:not(.scrolled) .wordmark small{color:#575e69}

.brand-opening{padding-top:var(--header);background:#fff}
.brand-opening picture{height:calc(100% - var(--header))}
.brand-opening img{object-fit:contain;object-position:center center;background:#fff}
.brand-opening:after{background:linear-gradient(transparent,rgba(8,10,14,.035))}
.brand-opening .scroll-cue{bottom:20px}

/* Precision polish */
.wordmark strong{position:relative}
.wordmark strong:after{content:'';display:inline-block;width:9px;height:9px;margin-left:4px;background:var(--red);vertical-align:.08em}
.main-nav>a,.nav-parent>button{letter-spacing:.015em}
.discipline{will-change:transform}
.discipline:hover{transform:translateX(4px)}
.footer-brand .wordmark strong:after{width:8px;height:8px}

@media(max-width:1024px){
  .home .site-header:not(.scrolled) .main-nav{background:rgba(8,10,14,.98)}
  .home .site-header:not(.scrolled) .main-nav>a,
  .home .site-header:not(.scrolled) .nav-parent>button{color:#d7dce4}
  .brand-opening{padding-top:var(--header)}
}
@media(max-width:640px){
  .brand-opening{height:auto;min-height:100svh;display:flex;align-items:center}
  .brand-opening picture{height:auto;width:100%}
  .brand-opening img{width:100%;height:auto;max-height:calc(100svh - var(--header));object-fit:contain}
  .brand-loader-mark small{font-size:7px;letter-spacing:.27em}
}
@media(prefers-reduced-motion:reduce){
  .brand-loader{display:none}
  .brand-loader-mark,.brand-loader-mark i{animation:none}
}

/* D-Tech logo system — header, loader and footer only */
.brand-logo{display:block;min-width:0;width:220px;height:56px;position:relative;flex:0 0 auto}
.brand-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center;transition:opacity .22s ease}
.brand-logo .brand-logo-dark{opacity:0}
.brand-logo .brand-logo-light{opacity:1}
.home .site-header:not(.scrolled) .brand-logo .brand-logo-dark{opacity:1}
.home .site-header:not(.scrolled) .brand-logo .brand-logo-light{opacity:0}
.footer-logo{display:block;width:230px;min-width:0;height:auto}
.footer-logo img{display:block;width:100%;height:auto;object-fit:contain;object-position:left center}
.brand-loader-mark{width:min(420px,78vw);transform:translateY(8px);opacity:0;animation:brandIntro .8s cubic-bezier(.16,1,.3,1) forwards}
.brand-loader-mark img{display:block;width:100%;height:auto;max-height:48vh;object-fit:contain}
.brand-loader-mark i{margin-left:auto;margin-right:auto}
.wordmark strong:after,.footer-brand .wordmark strong:after{display:none!important}
@media(max-width:1024px){.brand-logo{width:190px;height:52px}}
@media(max-width:640px){.brand-logo{width:158px;height:46px}.footer-logo{width:205px}.brand-loader-mark{width:min(330px,82vw)}}

/* Logo system correction v3 — preserve original proportions and remove raster scaling artifacts */
.brand-logo{width:156px;height:64px;overflow:visible}
.brand-logo img{object-fit:contain;object-position:left center;image-rendering:auto;transform:none}
.footer-logo{width:190px;height:auto;overflow:visible}
.footer-logo img{image-rendering:auto;transform:none}
.brand-loader-mark{width:min(500px,82vw);transform:translateY(10px);opacity:0;animation:logoRevealClean .72s cubic-bezier(.22,1,.36,1) forwards}
.brand-loader-mark img{width:100%;height:auto;max-height:58vh;object-fit:contain;image-rendering:auto;transform:none;filter:none}
@keyframes logoRevealClean{0%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:translateY(0)}}
@media(max-width:1024px){.brand-logo{width:146px;height:58px}}
@media(max-width:640px){.brand-logo{width:136px;height:54px}.footer-logo{width:176px}.brand-loader-mark{width:min(420px,86vw)}}

/* V3.1 targeted fixes: loader progress bar + correct header logo contrast */
/* Dark header: white logo text. */
.brand-logo .brand-logo-dark{opacity:1}
.brand-logo .brand-logo-light{opacity:0}
/* Light home header before scroll: black logo text. */
.home .site-header:not(.scrolled) .brand-logo .brand-logo-dark{opacity:0}
.home .site-header:not(.scrolled) .brand-logo .brand-logo-light{opacity:1}

/* Visible, smooth loading progress bar without scaling the raster logo. */
.brand-loader-mark i{
  position:relative;
  display:block;
  width:min(280px,62vw);
  height:3px;
  margin-top:24px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  animation:none;
}
.brand-loader-mark i::after{
  content:"";
  position:absolute;
  inset:0;
  width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,#b90f1b,#e31b2b);
  box-shadow:0 0 16px rgba(227,27,43,.38);
  animation:dtechLoaderProgress 1.05s cubic-bezier(.22,1,.36,1) .08s forwards;
}
@keyframes dtechLoaderProgress{
  0%{width:0}
  70%{width:78%}
  100%{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .brand-loader-mark i::after{animation:none;width:100%}
}


/* V4 brand polish: motion, navigation, footer and bilingual UI */
.lang-switch{display:flex;align-items:center;gap:7px;margin-left:18px;font:700 10px/1 Manrope,sans-serif;letter-spacing:.14em;white-space:nowrap}
.lang-switch a{color:inherit;opacity:.5;transition:opacity .25s ease,color .25s ease,transform .25s ease}
.lang-switch a:hover,.lang-switch a.active{opacity:1;color:var(--red);transform:translateY(-1px)}
.lang-switch span{opacity:.25}
.site-header{transition:height .45s cubic-bezier(.22,1,.36,1),background .35s ease,box-shadow .35s ease,border-color .35s ease,backdrop-filter .35s ease}
.site-header.scrolled{background:rgba(8,10,14,.84);backdrop-filter:blur(22px) saturate(1.25);box-shadow:0 12px 36px rgba(0,0,0,.14)}
.site-header.scrolled .nav-row{min-height:68px}
.nav-row{transition:min-height .45s cubic-bezier(.22,1,.36,1)}
.brand-logo{transition:width .45s cubic-bezier(.22,1,.36,1),height .45s cubic-bezier(.22,1,.36,1)}
.site-header.scrolled .brand-logo{width:142px;height:54px}

/* Cinematic brand opening — image remains unchanged, only reveal timing is enhanced. */
.home:not(.page-ready) .brand-opening img{opacity:0;transform:scale(1.025);filter:blur(5px)}
.home.page-ready .brand-opening img{animation:dtechHeroReveal 1.35s cubic-bezier(.16,1,.3,1) .62s both}
.home.page-ready .brand-opening .scroll-cue{animation:dtechCueReveal .7s ease 1.55s both}
@keyframes dtechHeroReveal{0%{opacity:0;transform:scale(1.025);filter:blur(5px)}100%{opacity:1;transform:scale(1);filter:blur(0)}}
@keyframes dtechCueReveal{0%{opacity:0;transform:translateY(12px)}100%{opacity:1;transform:none}}

/* Premium micro-interactions */
.button,.text-link,.discipline,.project-card,.footer-contact-link{transition-timing-function:cubic-bezier(.22,1,.36,1)}
.button{position:relative;overflow:hidden;isolation:isolate}
.button:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.16) 48%,transparent 82%);transform:translateX(-125%);transition:transform .65s cubic-bezier(.22,1,.36,1)}
.button:hover:before{transform:translateX(125%)}
.discipline:hover{transform:translateX(8px)}
.project-card .project-visual{overflow:hidden}
.project-card .project-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 30%,rgba(255,255,255,.09),transparent 70%);transform:translateX(-120%);transition:transform .8s cubic-bezier(.22,1,.36,1)}
.project-card:hover .project-visual:after{transform:translateX(120%)}

/* Stronger ending without changing footer content. */
.site-footer{position:relative;overflow:hidden}
.site-footer:before{content:"D-TECH";position:absolute;left:50%;bottom:-.18em;transform:translateX(-50%);font:800 clamp(120px,20vw,360px)/.8 Manrope,sans-serif;letter-spacing:-.08em;color:rgba(255,255,255,.018);pointer-events:none;white-space:nowrap}
.footer-contact-panel,.footer-grid,.footer-bottom{position:relative;z-index:1}
.footer-language{margin-left:auto;color:inherit;opacity:.64;transition:opacity .25s ease,color .25s ease}
.footer-language:hover{opacity:1;color:var(--red)}

@media(max-width:1024px){
 .lang-switch{order:3;margin-left:auto;margin-right:54px}
 .site-header.scrolled .brand-logo{width:136px;height:52px}
}
@media(max-width:640px){
 .lang-switch{margin-right:46px;gap:5px;font-size:9px}
 .site-header.scrolled .nav-row{min-height:62px}
 .footer-language{margin-left:0}
}
@media(prefers-reduced-motion:reduce){
 .home.page-ready .brand-opening img,.home.page-ready .brand-opening .scroll-cue{animation:none;opacity:1;transform:none;filter:none}
}

.brand-opening picture{transform:translate(var(--hero-x,0),var(--hero-y,0));transition:transform .7s cubic-bezier(.22,1,.36,1)}
.reveal{transition-delay:var(--reveal-delay,0ms)}

.project-link{display:block;position:relative}.project-photo:before,.project-photo:after{display:none}.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}.portfolio-item:hover .project-photo img{transform:scale(1.035)}.portfolio-item p{font-size:14px;line-height:1.7;color:var(--muted);max-width:90%;margin:12px 0 0}.project-arrow{position:absolute;right:4px;bottom:0;font-size:22px;color:var(--red);transition:transform .25s}.portfolio-item:hover .project-arrow{transform:translate(4px,-4px)}.project-loading,.project-error{grid-column:1/-1;padding:42px 0;color:var(--muted)}.project-case-grid{display:grid;grid-template-columns:.65fr 1fr 1fr;gap:7vw;padding-bottom:75px;border-bottom:1px solid var(--line)}.project-case-grid h3{font:600 24px Manrope;margin:15px 0}.project-case-grid p{font-size:17px;line-height:1.8;color:var(--muted);margin:15px 0 0}.project-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:70px}.project-gallery figure{margin:0;min-height:360px;background:var(--paper);overflow:hidden}.project-gallery figure:first-child{grid-column:1/-1;min-height:620px}.project-gallery img{width:100%;height:100%;object-fit:cover}.project-tech{margin-top:65px;padding-top:35px;border-top:1px solid var(--line)}.project-tech>div{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.project-tech>div span{padding:10px 14px;border:1px solid var(--line);font-size:12px}.dtech-signature{opacity:.58;font-size:10px;letter-spacing:.08em;text-transform:uppercase}@media(max-width:850px){.project-case-grid{grid-template-columns:1fr;gap:30px}.project-gallery{grid-template-columns:1fr}.project-gallery figure:first-child{grid-column:auto;min-height:420px}}@media(max-width:640px){.project-gallery figure,.project-gallery figure:first-child{min-height:280px}.dtech-signature{width:100%}}
/* Privacy, uploads and request platform */
.file-field input[type=file]{width:100%;padding:14px;border:1px dashed var(--line);background:var(--paper);color:var(--ink)}
.file-field small{display:block;margin-top:8px;color:var(--muted);font-size:12px}
.form-status{margin-top:14px;line-height:1.5;min-height:22px}
.cookie-banner{position:fixed;z-index:9998;left:50%;bottom:22px;width:min(1120px,calc(100% - 32px));display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 18px 18px 20px;background:linear-gradient(135deg,rgba(58,62,69,.97),rgba(43,47,53,.98));backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);border:1px solid rgba(255,255,255,.13);border-radius:18px;color:#fff;box-shadow:0 24px 75px rgba(0,0,0,.36),-24px -18px 70px rgba(20,104,255,.09),28px 20px 75px rgba(226,39,52,.09);opacity:0;transform:translate(-50%,calc(100% + 40px));transition:opacity .38s ease,transform .5s cubic-bezier(.22,1,.36,1);overflow:hidden}
.cookie-banner:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 0 0,rgba(25,112,255,.12),transparent 34%),radial-gradient(circle at 100% 100%,rgba(223,38,51,.12),transparent 36%)}
.cookie-banner.is-visible{opacity:1;transform:translate(-50%,0)}.cookie-banner.is-leaving{opacity:0;transform:translate(-50%,calc(100% + 40px))}
.cookie-banner-icon,.cookie-shield{position:relative;display:grid;place-items:center;flex:0 0 auto;width:44px;height:48px;border-radius:15px 15px 18px 18px;background:linear-gradient(145deg,rgba(255,255,255,.11),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.cookie-banner-icon:before,.cookie-shield:before{content:"";width:18px;height:22px;border:2px solid rgba(255,255,255,.86);border-radius:8px 8px 10px 10px;clip-path:polygon(50% 0,100% 16%,92% 72%,50% 100%,8% 72%,0 16%)}
.cookie-banner-icon span,.cookie-shield span{position:absolute;width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,#347dff,#ef3340);box-shadow:0 0 12px rgba(52,125,255,.55)}
.cookie-banner-copy{position:relative;z-index:1;min-width:0}.cookie-banner strong{display:block;font:700 16px Manrope,sans-serif;letter-spacing:-.02em}.cookie-banner p{margin:5px 0 0;color:rgba(255,255,255,.68);max-width:720px;line-height:1.55;font-size:12.5px}
.cookie-actions{position:relative;z-index:1;display:flex;align-items:center;gap:9px;flex-shrink:0}.cookie-actions button,.cookie-dialog-actions a,.cookie-dialog-actions button{min-height:42px;border-radius:11px;padding:0 16px;font:700 12px Manrope,sans-serif;letter-spacing:.01em;cursor:pointer;transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}
.cookie-details{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.035);color:#fff}.cookie-details:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.3)}
.cookie-accept,.cookie-save{border:1px solid rgba(255,255,255,.14);background:linear-gradient(105deg,#256df0 0%,#5657bc 48%,#d82c3b 100%);color:#fff;box-shadow:0 10px 28px rgba(20,40,100,.22)}.cookie-accept:hover,.cookie-save:hover{transform:translateY(-1px);box-shadow:0 13px 32px rgba(20,40,100,.3)}
.cookie-modal{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;padding:20px;background:rgba(8,10,13,.72);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:0;transition:opacity .25s ease}.cookie-modal.is-visible{opacity:1}
.cookie-dialog{position:relative;width:min(570px,100%);padding:34px;border-radius:22px;background:linear-gradient(145deg,#3c4047,#2c3036);border:1px solid rgba(255,255,255,.13);color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.48),-35px -20px 90px rgba(21,101,245,.1),35px 25px 90px rgba(220,39,53,.09);transform:translateY(16px) scale(.985);transition:transform .32s cubic-bezier(.22,1,.36,1);overflow:hidden}.cookie-modal.is-visible .cookie-dialog{transform:translateY(0) scale(1)}
.cookie-dialog:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 0 0,rgba(30,108,255,.1),transparent 35%),radial-gradient(circle at 100% 100%,rgba(224,42,55,.1),transparent 38%)}
.cookie-dialog>*{position:relative;z-index:1}.cookie-shield{width:48px;height:52px;margin-bottom:20px}.cookie-eyebrow{display:block;color:rgba(255,255,255,.55);font:700 10px Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase}.cookie-dialog h2{font:700 clamp(25px,4vw,32px) Manrope,sans-serif;letter-spacing:-.04em;margin:9px 38px 12px 0}.cookie-dialog>p{color:rgba(255,255,255,.67);line-height:1.7;margin:0 0 24px;font-size:14px}.cookie-close{position:absolute;right:17px;top:14px;border:0;background:transparent;color:rgba(255,255,255,.72);font-size:29px;line-height:1;cursor:pointer;padding:5px}.cookie-close:hover{color:#fff}
.cookie-option{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:18px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.cookie-option div{display:grid;gap:5px}.cookie-option strong{font:700 14px Manrope,sans-serif}.cookie-option small{color:rgba(255,255,255,.56);line-height:1.5;font-size:12px}.cookie-option>span{flex:0 0 auto;padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.72);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.cookie-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:22px}.cookie-dialog-actions a{display:inline-flex;align-items:center;text-decoration:none;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.035);color:#fff}.cookie-dialog-actions a:hover{background:rgba(255,255,255,.08)}.cookie-save{min-width:120px}
@media(max-width:800px){.cookie-banner{bottom:12px;width:calc(100% - 24px);grid-template-columns:auto 1fr;padding:17px;border-radius:17px}.cookie-banner-icon{width:40px;height:44px}.cookie-actions{grid-column:1/-1;width:100%;display:grid;grid-template-columns:1fr 1fr}.cookie-actions button{width:100%}.cookie-banner p{font-size:12px}.cookie-dialog{padding:28px 22px}.cookie-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-dialog-actions a,.cookie-dialog-actions button{justify-content:center;width:100%}}
@media(max-width:480px){.cookie-banner{grid-template-columns:1fr}.cookie-banner-icon{display:none}.cookie-actions{grid-column:auto}.cookie-dialog-actions{grid-template-columns:1fr}.cookie-option{align-items:flex-start;flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){.cookie-banner,.cookie-modal,.cookie-dialog{transition:none}}

.upload-field input[type="file"],.file-field input[type="file"]{width:100%;padding:14px;border:1px dashed rgba(113,120,132,.5);background:rgba(255,255,255,.02);color:inherit;cursor:pointer}.upload-field input[type="file"],.file-field input[type="file"]::file-selector-button{border:0;background:#151922;color:#fff;padding:10px 14px;margin-right:12px;font-weight:700;cursor:pointer}.field-help{display:block;margin-top:8px;color:#747b86;font-size:.78rem}.form-status{min-height:1.4em;margin-top:14px;font-size:.9rem}.form-status.success{color:#218a4b}.form-status.error{color:#c92028}.contact-form button[disabled]{opacity:.55;cursor:wait}

/* Final contact section separation */
.final-cta{
  position:relative;
  border-top:14px solid var(--black);
  background:linear-gradient(180deg,#eceef1 0%,var(--paper) 34%,var(--paper) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.final-cta:before{
  content:"";
  position:absolute;
  top:-14px;
  left:max(28px,calc((100% - var(--max))/2));
  width:92px;
  height:14px;
  background:var(--red);
}
@media(max-width:640px){
  .final-cta{border-top-width:10px}
  .final-cta:before{top:-10px;height:10px;left:14px;width:68px}
}

/* Modern map/contact presentation — requested refinement */
.site-footer{
  padding-top:44px;
}
.footer-contact-panel{
  gap:22px;
  min-height:610px;
  border-left:0;
  border-right:0;
}
.footer-contact-copy{
  position:relative;
  align-self:stretch;
  margin:20px 0;
  padding:70px 58px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  border-radius:32px 8px 32px 8px;
  background:
    radial-gradient(circle at 100% 0,rgba(213,27,35,.13),transparent 34%),
    linear-gradient(145deg,#0b0e13 0%,#121720 100%);
  box-shadow:0 24px 70px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.04);
}
.footer-contact-copy:before{
  content:"";
  position:absolute;
  top:0;
  left:42px;
  width:82px;
  height:4px;
  border-radius:0 0 5px 5px;
  background:var(--red);
}
.footer-contact-copy:after{
  content:"";
  position:absolute;
  right:-72px;
  bottom:-72px;
  width:190px;
  height:190px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:50%;
  pointer-events:none;
}

@media(max-width:1024px){
  .site-footer{padding-top:34px}
  .footer-contact-panel{gap:18px}
  .footer-contact-copy{margin:0 0 18px;padding:58px 46px;border-radius:26px 7px 26px 7px}
}
@media(max-width:640px){
  .site-footer{padding-top:24px}
  .footer-contact-panel{gap:14px}
  .footer-contact-copy{margin:0 14px 14px;padding:50px 24px;border-radius:22px 6px 22px 6px}
  .footer-contact-copy:before{left:24px;width:64px}
}

/* Match the map frame to the contact card shape — no extra effects */
.footer-map{
  align-self:stretch;
  margin:20px 0;
  min-height:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  border-radius:32px 8px 32px 8px;
}
.footer-map iframe{
  width:100%;
  height:100%;
  min-height:100%;
  border:0;
  border-radius:inherit;
}
@media(max-width:1024px){
  .footer-map{
    margin:0;
    min-height:440px;
    border-radius:26px 7px 26px 7px;
  }
  .footer-map iframe{min-height:440px}
}
@media(max-width:640px){
  .footer-map{
    margin:0 14px;
    min-height:330px;
    border-radius:22px 6px 22px 6px;
  }
  .footer-map iframe{min-height:330px}
}


/* Loader label and percentage */
.brand-loader-status{
  margin-top:14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  font-family:Manrope,sans-serif;
  line-height:1;
}
.brand-loader-status span{
  color:#fff;
  font-size:10px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.brand-loader-status strong{
  color:var(--red);
  font-size:18px;
  font-weight:800;
  letter-spacing:.04em;
}

@media(max-width:980px){.tech-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.tech-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tech-brand{min-height:66px;padding:11px 12px;gap:10px}.tech-brand img{width:34px;height:34px;flex-basis:34px}.tech-brand b{font-size:12px}}
@media(max-width:390px){.tech-list{grid-template-columns:1fr}}


/* D-Tech technology partners — clean logo wall */
.tech-strip{padding:86px 0 92px;background:var(--black-2);color:#fff}
.tech-list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:54px;
  row-gap:56px;
  margin-top:48px;
  align-items:center;
}
.tech-logo{
  min-width:0;
  height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 10px;
}
.tech-logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:72px;
  object-fit:contain;
}
.tech-logo:nth-child(4n+1){justify-content:flex-start}
.tech-logo:nth-child(4n){justify-content:flex-end}
@media(max-width:980px){
  .tech-list{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:38px;row-gap:46px}
  .tech-logo:nth-child(n){justify-content:center}
}
@media(max-width:700px){
  .tech-strip{padding:70px 0 76px}
  .tech-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:38px;margin-top:40px}
  .tech-logo{height:70px;padding:0 6px}
  .tech-logo img{max-height:60px}
}
@media(max-width:390px){
  .tech-list{grid-template-columns:1fr;row-gap:34px}
  .tech-logo{height:64px}
  .tech-logo img{max-height:56px;max-width:78%}
}


/* Final optical balancing for corrected partner logos */
.tech-logo:nth-child(1) img{max-height:68px;max-width:92%}
.tech-logo:nth-child(5) img{max-height:74px;max-width:88%}
.tech-logo:nth-child(8) img{max-height:50px;max-width:90%}
.tech-logo:nth-child(10) img{max-height:62px;max-width:92%}
@media(max-width:700px){
  .tech-logo:nth-child(1) img{max-height:56px}
  .tech-logo:nth-child(5) img{max-height:62px}
  .tech-logo:nth-child(8) img{max-height:42px}
  .tech-logo:nth-child(10) img{max-height:52px}
}


/* =========================
   D-Tech V2 Beta additions
   ========================= */
.impact-stats{position:relative;overflow:hidden;background:#080a0e;color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.impact-stats:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 15%,rgba(201,32,40,.15),transparent 32%),linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.035) 50%,transparent 50.1%);background-size:auto,120px 100%;pointer-events:none}
.stats-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr)}
.stat-item{min-height:265px;padding:54px 44px 45px;border-right:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;justify-content:flex-end}
.stat-item:last-child{border-right:0}.stat-item strong{font:700 clamp(64px,7.5vw,116px)/.82 Manrope,sans-serif;letter-spacing:-.075em;white-space:nowrap}.stat-item sup{font-size:.3em;color:var(--red);vertical-align:top;margin-left:5px;letter-spacing:0}.stat-item p{font:600 18px Manrope;margin:27px 0 5px}.stat-item small{color:#8f98a6;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.field-stories{position:relative;overflow:hidden;background:#0b0e13;color:#fff;padding:135px 0}
.field-stories:before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at 78% 20%,rgba(201,32,40,.14),transparent 26%),radial-gradient(circle at 15% 85%,rgba(38,92,160,.12),transparent 28%);pointer-events:none}
.field-stories .container{position:relative}.field-stories-head{display:grid;grid-template-columns:1.45fr .75fr;align-items:end;gap:9vw;margin-bottom:65px}.field-stories h2{font:600 clamp(46px,6vw,88px)/.98 Manrope;letter-spacing:-.06em;margin:25px 0 0}.field-stories h2 em{font-style:normal;color:var(--red)}.field-stories-head>p{color:#aab2bd;font-size:16px;line-height:1.85;margin:0 0 8px}
.reels-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.reel-card{position:relative;min-width:0}.reel-link{display:block}.reel-media{position:relative;aspect-ratio:9/13;overflow:hidden;background:linear-gradient(145deg,#1c222b,#0b0d11);border:1px solid rgba(255,255,255,.12)}.reel-media:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.86)),repeating-linear-gradient(90deg,transparent 0 47px,rgba(255,255,255,.025) 48px);z-index:1}.reel-media video,.reel-media img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease)}.reel-link:hover .reel-media video,.reel-link:hover .reel-media img{transform:scale(1.035)}.reel-placeholder{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:30px;color:#78818e;font:700 10px Manrope;letter-spacing:.2em;text-transform:uppercase}.reel-placeholder:before{content:"";position:absolute;width:62%;aspect-ratio:1;border:1px solid rgba(255,255,255,.07);border-radius:50%;box-shadow:0 0 80px rgba(201,32,40,.08)}.reel-play{position:absolute;z-index:2;right:22px;bottom:22px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#090b0f;box-shadow:0 12px 35px rgba(0,0,0,.35);transition:.28s var(--ease)}.reel-play svg{width:17px;fill:currentColor;margin-left:3px}.reel-link:hover .reel-play{transform:scale(1.08);background:var(--red);color:#fff}.reel-meta{padding:20px 2px 0}.reel-meta small{color:var(--red);font:700 9px Manrope;letter-spacing:.18em}.reel-meta h3{font:600 22px/1.25 Manrope;letter-spacing:-.035em;margin:9px 0 0;color:#fff}.reel-meta p{color:#929ba8;font-size:13px;line-height:1.65;margin:9px 0 0}.social-follow{margin-top:58px;padding-top:27px;border-top:1px solid rgba(255,255,255,.13);display:flex;align-items:center;justify-content:space-between;gap:25px}.social-follow>span{font:600 13px Manrope;letter-spacing:.12em;text-transform:uppercase;color:#bbc2cc}.social-icons{display:flex;gap:11px}.social-icon{width:49px;height:49px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;color:#fff;transition:.3s var(--ease)}.social-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65}.social-icon[aria-label="Facebook"] svg{fill:currentColor;stroke:none}.social-icon:hover{transform:translateY(-4px);background:var(--red);border-color:var(--red);box-shadow:0 12px 30px rgba(201,32,40,.24)}.social-icon.is-disabled{opacity:1;pointer-events:auto}
@media(max-width:900px){.stats-grid{grid-template-columns:1fr}.stat-item{min-height:185px;border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:38px 28px}.stat-item:last-child{border-bottom:0}.field-stories-head{grid-template-columns:1fr;gap:25px}.reels-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reel-card:last-child{display:none}}
@media(max-width:640px){.impact-stats:before{background-size:auto,70px 100%}.stat-item{min-height:160px}.stat-item strong{font-size:72px}.field-stories{padding:90px 0}.reels-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px;margin-right:-14px}.reel-card{flex:0 0 82%;scroll-snap-align:start}.reel-card:last-child{display:block}.social-follow{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.count-up{transition:none}.reel-media video,.reel-media img,.social-icon,.reel-play{transition:none!important}}


/* =========================================================
   V2 BASE + V4 PRELOADER / OPENING ONLY
   Everything after the first homepage section remains V2.
   ========================================================= */
body.v4-opening-only .brand-loader{background:#fff;color:#10141a;overflow:hidden}
body.v4-opening-only .brand-loader:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(26,116,178,.08),transparent 42%),linear-gradient(rgba(18,31,43,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(18,31,43,.025) 1px,transparent 1px);
  background-size:auto,48px 48px,48px 48px;
}
body.v4-opening-only .brand-loader-mark{width:min(980px,92vw);max-width:none}
body.v4-opening-only .brand-loader-mark img{display:block;width:100%;height:auto;max-height:76vh;object-fit:contain;filter:none}
body.v4-opening-only .brand-loader-copy{display:none}
body.v4-opening-only .brand-loader-mark>i{display:block;width:min(340px,46vw);height:1px;margin:18px auto 0;background:rgba(12,19,27,.14);position:relative;overflow:hidden}
body.v4-opening-only .brand-loader-mark>i:after{content:"";position:absolute;inset:0 auto 0 0;width:36%;background:linear-gradient(90deg,transparent,#247fb8,#d51f2b,transparent);animation:v4OpeningLoaderLine 1s ease-in-out infinite}
@keyframes v4OpeningLoaderLine{from{transform:translateX(-120%)}to{transform:translateX(380%)}}
body.v4-opening-only .brand-loader-status{display:flex;justify-content:space-between;width:min(340px,46vw);margin-top:15px;color:#5c6670}
body.v4-opening-only .brand-loader-status span{color:#5c6670;font:700 8px Manrope,sans-serif;letter-spacing:.16em}
body.v4-opening-only .brand-loader-status strong{color:#10141a;font:700 10px Manrope,sans-serif}

body.home.v4-opening-only .site-header:not(.scrolled){background:rgba(255,255,255,.88);border-bottom:1px solid rgba(10,20,30,.07);backdrop-filter:blur(16px)}
body.home.v4-opening-only .site-header:not(.scrolled) .brand-logo-dark{opacity:0}
body.home.v4-opening-only .site-header:not(.scrolled) .brand-logo-light{opacity:1}
body.home.v4-opening-only .site-header:not(.scrolled) .main-nav>a,
body.home.v4-opening-only .site-header:not(.scrolled) .nav-parent>button,
body.home.v4-opening-only .site-header:not(.scrolled) .lang-switch a{color:#171b20}

body.home.v4-opening-only .brand-opening.v4-hero{height:100svh;min-height:650px;padding-top:var(--header);position:relative;background:#fff;overflow:hidden;isolation:isolate}
body.home.v4-opening-only .brand-opening.v4-hero:before{content:"";position:absolute;inset:var(--header) 0 0;z-index:0;pointer-events:none;transform:none;background:radial-gradient(circle at 76% 46%,rgba(31,133,208,.075),transparent 28%),linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 48%,rgba(255,255,255,.76) 70%,rgba(255,255,255,.38) 100%)}
body.home.v4-opening-only .brand-opening.v4-hero:after{content:"";position:absolute;inset:auto 0 0;height:140px;background:linear-gradient(transparent,rgba(9,18,27,.035));pointer-events:none}
body.home.v4-opening-only .hero-circuit-focus{display:none}
body.home.v4-opening-only .v4-logo-stage{position:absolute;inset:var(--header) 0 0;z-index:1;display:grid;place-items:center;width:auto;height:auto;overflow:visible;opacity:0;transform:translateX(0) scale(1.02);transition:opacity .55s ease .72s,transform 1.45s cubic-bezier(.16,1,.3,1) 1.12s}
body.home.v4-opening-only.page-ready .v4-logo-stage{opacity:1;transform:translateX(25vw) scale(.70)}
body.home.v4-opening-only .v4-logo-stage img.v4-hero-logo{display:block;width:min(980px,78vw);height:auto;max-height:76vh;object-fit:contain;opacity:1!important;transform:none!important;filter:none!important;background:transparent!important;transition:none!important}
body.home.v4-opening-only .v4-hero-copy{position:absolute;left:max(6vw,calc((100vw - 1280px)/2));top:50%;z-index:3;width:min(600px,43vw);transform:translateY(-46%);opacity:0;color:#10141a;transition:opacity .7s ease 1.72s,transform .9s cubic-bezier(.16,1,.3,1) 1.72s}
body.home.v4-opening-only.page-ready .v4-hero-copy{opacity:1;transform:translateY(-50%)}
body.home.v4-opening-only .hero-kicker{display:inline-flex;align-items:center;gap:10px;color:#66727d;font:700 10px Manrope,sans-serif;letter-spacing:.21em}
body.home.v4-opening-only .hero-kicker:before{content:"";width:38px;height:1px;background:#d51f2b;box-shadow:0 0 12px rgba(213,31,43,.45)}
body.home.v4-opening-only .v4-hero-copy h1{font:650 clamp(54px,7.2vw,112px)/.9 Manrope,sans-serif;margin:28px 0 24px;letter-spacing:-.072em;color:#10141a;text-shadow:none}
body.home.v4-opening-only .v4-hero-copy h1 em{font-style:normal;color:#bd1f2b;text-shadow:none}
body.home.v4-opening-only .v4-hero-copy p{max-width:660px;margin:0;color:#4d5863;font-size:clamp(15px,1.5vw,19px);line-height:1.75}
body.home.v4-opening-only .hero-actions{display:flex;align-items:center;gap:30px;margin-top:36px}
body.home.v4-opening-only .hero-secondary{color:#171b20;border-bottom:1px solid rgba(17,27,38,.2);font:700 11px Manrope,sans-serif;letter-spacing:.08em;padding-bottom:6px}
body.home.v4-opening-only .hero-telemetry{position:absolute;right:34px;bottom:28px;z-index:4;display:flex;align-items:center;gap:10px;padding:10px 14px;color:#1c2730;background:rgba(255,255,255,.78);border:1px solid rgba(15,28,39,.12);backdrop-filter:blur(10px);font:700 8px Manrope,sans-serif;letter-spacing:.14em}
body.home.v4-opening-only .hero-telemetry span{color:#6b747d}
body.home.v4-opening-only .hero-telemetry b{color:#1d7c51}
body.home.v4-opening-only .hero-telemetry i{width:6px;height:6px;border-radius:50%;background:#23a567;box-shadow:0 0 10px rgba(35,165,103,.7)}
body.home.v4-opening-only .brand-opening .scroll-cue{z-index:5;color:#111820}
body.home.v4-opening-only .brand-opening .scroll-cue i{background:linear-gradient(#111820,transparent)}

@media(max-width:900px){
  body.home.v4-opening-only .v4-logo-stage,body.home.v4-opening-only.page-ready .v4-logo-stage{transform:translateY(-18vh) scale(.72);opacity:1;transition:none}
  body.home.v4-opening-only .v4-hero-copy{top:58%;width:82vw}
  body.home.v4-opening-only .hero-telemetry{display:none}
}
@media(max-width:640px){
  body.v4-opening-only .brand-loader-mark{width:96vw}
  body.home.v4-opening-only .brand-opening.v4-hero{min-height:800px;height:100svh}
  body.home.v4-opening-only .v4-logo-stage img.v4-hero-logo{width:112vw;max-width:none}
  body.home.v4-opening-only .v4-logo-stage,body.home.v4-opening-only.page-ready .v4-logo-stage{transform:translateY(-18vh) scale(.72);opacity:1;transition:none}
  body.home.v4-opening-only .v4-hero-copy{left:7vw;top:69%;width:86vw}
  body.home.v4-opening-only .v4-hero-copy h1{font-size:clamp(42px,13vw,56px)}
  body.home.v4-opening-only .hero-actions{align-items:flex-start;flex-direction:column;gap:20px}
}
@media(prefers-reduced-motion:reduce){
  body.v4-opening-only .brand-loader{display:none}
  body.home.v4-opening-only .v4-logo-stage{opacity:.28;transform:translateX(24vw) scale(.7);transition:none}
  body.home.v4-opening-only .v4-hero-copy{opacity:1;transform:translateY(-50%);transition:none}
}

/* =========================================
   D-Tech partner brands — continuous slider
   ========================================= */
.tech-strip{overflow:hidden}
.tech-strip .container{overflow:visible}
.tech-list.is-marquee{
  --brand-gap:54px;
  display:flex;
  grid-template-columns:none;
  gap:var(--brand-gap);
  width:max-content;
  max-width:none;
  margin-top:48px;
  align-items:center;
  will-change:transform;
  animation:dtech-brand-marquee 34s linear infinite;
}
.tech-list.is-marquee:hover{animation-play-state:paused}
.tech-list.is-marquee .tech-logo{
  flex:0 0 clamp(150px,14vw,215px);
  width:clamp(150px,14vw,215px);
  height:82px;
  justify-content:center!important;
  padding:0 10px;
}
.tech-strip .container{position:relative}
.tech-strip .container:after,
.tech-strip .container:before{
  content:"";
  position:absolute;
  z-index:2;
  top:38px;
  bottom:-8px;
  width:clamp(34px,7vw,110px);
  pointer-events:none;
}
.tech-strip .container:before{
  left:calc((100vw - 100%)/-2);
  background:linear-gradient(90deg,var(--black-2) 20%,transparent)
}
.tech-strip .container:after{
  right:calc((100vw - 100%)/-2);
  background:linear-gradient(270deg,var(--black-2) 20%,transparent)
}
@keyframes dtech-brand-marquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-50% - (var(--brand-gap)/2)),0,0)}
}
/* Preserve the optical sizing of the corrected logo files in both copies. */
.tech-list.is-marquee img[src*="impro"]{max-height:68px;max-width:92%}
.tech-list.is-marquee img[src*="tecnoalarm"]{max-height:74px;max-width:88%}
.tech-list.is-marquee img[src*="dsc"]{max-height:50px;max-width:90%}
.tech-list.is-marquee img[src*="grandstream"]{max-height:62px;max-width:92%}
@media(max-width:700px){
  .tech-list.is-marquee{--brand-gap:28px;margin-top:40px;animation-duration:27s}
  .tech-list.is-marquee .tech-logo{flex-basis:142px;width:142px;height:70px;padding:0 6px}
  .tech-list.is-marquee img[src*="impro"]{max-height:56px}
  .tech-list.is-marquee img[src*="tecnoalarm"]{max-height:62px}
  .tech-list.is-marquee img[src*="dsc"]{max-height:42px}
  .tech-list.is-marquee img[src*="grandstream"]{max-height:52px}
}
@media(prefers-reduced-motion:reduce){
  .tech-list.is-marquee{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    animation:none;
    scrollbar-width:thin;
    padding-bottom:10px;
  }
  .tech-list.is-marquee [aria-hidden="true"]{display:none}
}


/* =========================================
   D-Tech premium technology rail — redesign
   ========================================= */
.tech-strip{
  position:relative;
  overflow:hidden;
  padding:104px 0 112px;
  background:
    radial-gradient(circle at 12% 22%,rgba(38,139,205,.16),transparent 28%),
    radial-gradient(circle at 88% 78%,rgba(207,35,51,.11),transparent 30%),
    linear-gradient(145deg,#080b10 0%,#101720 55%,#080b10 100%);
  isolation:isolate;
}
.tech-strip:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.25;
  background-image:
    linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);
}
.tech-strip:after{
  content:"";
  position:absolute;
  z-index:0;
  width:34vw;
  height:180%;
  top:-40%;
  left:-42vw;
  transform:rotate(14deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);
  animation:dtech-brand-light-sweep 9s ease-in-out infinite;
  pointer-events:none;
}
.tech-strip .container{position:relative;z-index:1;overflow:visible}
.tech-strip .eyebrow{display:flex;align-items:center;gap:14px;letter-spacing:.2em}
.tech-strip .eyebrow:after{content:"";height:1px;width:74px;background:linear-gradient(90deg,#2b8fd0,transparent)}
.premium-brand-stage{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-top:50px;
  display:grid;
  gap:18px;
  overflow:hidden;
}
.premium-brand-stage:before,
.premium-brand-stage:after{
  content:"";
  position:absolute;
  z-index:5;
  top:0;
  bottom:0;
  width:clamp(46px,9vw,150px);
  pointer-events:none;
}
.premium-brand-stage:before{left:0;background:linear-gradient(90deg,#090d12 8%,transparent)}
.premium-brand-stage:after{right:0;background:linear-gradient(270deg,#090d12 8%,transparent)}
.brand-rail{overflow:hidden;padding:5px 0}
.brand-rail-track{
  --rail-gap:18px;
  display:flex;
  width:max-content;
  gap:var(--rail-gap);
  will-change:transform;
  animation:dtech-premium-rail-left 38s linear infinite;
}
.brand-rail-2 .brand-rail-track{animation-name:dtech-premium-rail-right;animation-duration:44s}
.premium-brand-stage:hover .brand-rail-track{animation-play-state:paused}
.brand-card{
  position:relative;
  flex:0 0 clamp(210px,18vw,280px);
  height:116px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px 30px 32px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 45px rgba(0,0,0,.18);
  backdrop-filter:blur(12px);
  overflow:hidden;
  transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .35s ease,background .35s ease,box-shadow .35s ease;
}
.brand-card:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  background:radial-gradient(circle at 50% 100%,rgba(38,145,214,.2),transparent 62%);
  transition:opacity .35s ease;
}
.brand-card:after{
  content:"";
  position:absolute;
  left:14%;right:14%;bottom:0;height:2px;
  transform:scaleX(.15);
  opacity:.35;
  background:linear-gradient(90deg,transparent,#2a91d3,#d52634,transparent);
  transition:transform .35s ease,opacity .35s ease;
}
.brand-card img{
  position:relative;
  z-index:1;
  display:block;
  width:auto;
  max-width:88%;
  max-height:56px;
  object-fit:contain;
  filter:grayscale(1) brightness(1.45) contrast(.82);
  opacity:.72;
  transition:filter .35s ease,opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1);
}
.brand-card-meta{
  position:absolute;
  z-index:1;
  left:0;right:0;bottom:12px;
  text-align:center;
  color:rgba(255,255,255,.38);
  font:700 8px/1 Manrope,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:color .35s ease;
}
.brand-card:hover{
  transform:translateY(-5px) scale(1.025);
  border-color:rgba(55,155,220,.48);
  background:linear-gradient(145deg,rgba(34,117,170,.16),rgba(255,255,255,.045));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 22px 60px rgba(0,0,0,.3),0 0 30px rgba(38,145,214,.1);
}
.brand-card:hover:before{opacity:1}
.brand-card:hover:after{transform:scaleX(1);opacity:1}
.brand-card:hover img{filter:none;opacity:1;transform:scale(1.045)}
.brand-card:hover .brand-card-meta{color:rgba(255,255,255,.68)}
.brand-card img[src*="impro"]{max-height:66px}
.brand-card img[src*="tecnoalarm"]{max-height:68px}
.brand-card img[src*="dsc"]{max-height:48px}
.brand-card img[src*="grandstream"]{max-height:58px}
@keyframes dtech-premium-rail-left{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-50% - 9px),0,0)}}
@keyframes dtech-premium-rail-right{from{transform:translate3d(calc(-50% - 9px),0,0)}to{transform:translate3d(0,0,0)}}
@keyframes dtech-brand-light-sweep{0%,58%{left:-42vw}82%,100%{left:120vw}}
@media(max-width:700px){
  .tech-strip{padding:78px 0 84px}
  .premium-brand-stage{margin-top:38px;gap:12px}
  .brand-rail-track{--rail-gap:12px;animation-duration:30s}
  .brand-rail-2 .brand-rail-track{animation-duration:35s}
  .brand-card{flex-basis:176px;height:94px;border-radius:15px;padding:17px 20px 27px}
  .brand-card img{max-height:44px;max-width:86%}
  .brand-card-meta{font-size:7px;bottom:10px}
  .brand-card img[src*="impro"],.brand-card img[src*="tecnoalarm"]{max-height:51px}
  .brand-card img[src*="dsc"]{max-height:38px}
  .brand-card img[src*="grandstream"]{max-height:45px}
}
@media(prefers-reduced-motion:reduce){
  .tech-strip:after{display:none}
  .brand-rail{overflow-x:auto;scrollbar-width:thin}
  .brand-rail-track{animation:none!important}
  .brand-card[aria-hidden="true"]{display:none}
}

/* =========================================================
   Footer colour refresh only — original V2 structure retained
   ========================================================= */
.site-footer{
  background:
    radial-gradient(circle at 18% 0%,rgba(42,112,184,.10),transparent 34%),
    radial-gradient(circle at 86% 18%,rgba(201,32,40,.075),transparent 30%),
    linear-gradient(180deg,#14171c 0%,#101318 55%,#0d1014 100%);
  border-top:3px solid var(--red);
}
.site-footer:before{
  color:rgba(255,255,255,.022);
}
.footer-contact-copy{
  background:
    radial-gradient(circle at 100% 0%,rgba(42,112,184,.08),transparent 36%),
    linear-gradient(145deg,#11161d,#171c24);
}
.footer-grid>div>strong{
  color:#b8c0cb;
}
.footer-grid a,
.footer-grid span,
.footer-grid p{
  color:#cbd1da;
}
.footer-brand p{
  color:#cbd1da;
}
.footer-contact-link small{
  color:#929cab;
}
.footer-contact-link strong{
  color:#eef2f6;
}
.footer-grid a,
.footer-contact-link,
.footer-bottom a{
  transition:color .22s ease,text-shadow .22s ease;
}
.footer-grid a:hover,
.footer-contact-link:hover strong,
.footer-bottom a:hover{
  color:#66a7e8;
  text-shadow:0 0 14px rgba(72,144,214,.26);
}
.footer-bottom{
  color:#9aa4b1;
  border-top-color:rgba(255,255,255,.12);
}
.site-footer .social-icon:hover{
  background:rgba(45,121,255,.13);
  border-color:#4d91ff;
  color:#fff;
  box-shadow:0 0 0 1px rgba(77,145,255,.12),0 0 22px rgba(77,145,255,.3);
}


/* Mobile corrections — 2026-07 */
.mobile-hero-kicker{display:none}
@media(max-width:640px){
  /* Keep the requested line above the background logo, mobile only. */
  body.home.v4-opening-only .v4-hero-copy>.hero-kicker{display:none}
  body.home.v4-opening-only .mobile-hero-kicker{
    display:inline-flex;position:absolute;z-index:4;
    top:calc(var(--header) + 44px);left:7vw;right:5vw;
    align-items:center;gap:10px;white-space:nowrap;
    color:#66727d;font:700 clamp(7.2px,2.25vw,9px)/1.2 Manrope,sans-serif;
    letter-spacing:.16em;
  }
  body.home.v4-opening-only .mobile-hero-kicker:before{
    content:"";flex:0 0 36px;height:1px;background:#d51f2b;
    box-shadow:0 0 12px rgba(213,31,43,.45)
  }
  /* Ensure the opened mobile navigation has visible panel, text and borders. */
  .home .site-header:not(.scrolled) .main-nav.open,
  .main-nav.open{
    background:linear-gradient(145deg,#0b0f16 0%,#111824 58%,#0a0d13 100%);
    color:#fff;border-top:1px solid rgba(255,255,255,.12);
    box-shadow:0 24px 60px rgba(0,0,0,.42)
  }
  .home .site-header:not(.scrolled) .main-nav.open>a,
  .home .site-header:not(.scrolled) .main-nav.open .nav-parent>button,
  .main-nav.open>a,.main-nav.open .nav-parent>button{
    color:#f5f7fa!important;border-bottom:1px solid rgba(255,255,255,.10)
  }
  .main-nav.open .nav-cta{border:1px solid rgba(213,31,43,.8)!important;margin-top:8px}
  .main-nav.open .nav-drop{background:#151c27!important;color:#fff!important;border:1px solid rgba(255,255,255,.10)}
  .main-nav.open .nav-drop a{color:#edf1f6!important;border-bottom-color:rgba(255,255,255,.09)!important}
}

/* Brand artwork update only: Tecnoalarm and Impro replaced, Tecnofire added. */
.brand-card img[src*="tecnofire"]{max-height:68px}
@media(max-width:700px){
  .brand-card img[src*="tecnofire"]{max-height:51px}
}

/* Contact form CAPTCHA */
.captcha-row{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(120px,1fr);gap:12px;align-items:center}.captcha-question{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;border:1px solid #ccd1d8;background:#f3f4f6;font:700 17px Manrope;letter-spacing:.04em;color:#151922}.captcha-field input{min-height:48px}@media(max-width:640px){.captcha-row{grid-template-columns:1fr}}

/* Homepage project images — targeted interaction fix only */
.project-card .project-photo{
  overflow:hidden;
}

.project-card .project-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1);
  transition:transform .7s cubic-bezier(.22,1,.36,1);
  will-change:transform;
}

.project-card:hover .project-photo img,
.project-card:focus-within .project-photo img{
  transform:scale(1.07);
}

@media (hover:none){
  .project-card:hover .project-photo img{
    transform:scale(1);
  }
}

@media (prefers-reduced-motion:reduce){
  .project-card .project-photo img{
    transition:none;
  }
}


/* =========================================================
   Global dark colour system — desktop and mobile consistency
   Added 2026-07: visual-only override, no layout changes
   ========================================================= */
:root{
  --dark-fade-base:#080b10;
  --dark-fade-mid:#0d121a;
  --dark-fade-blue:rgba(37,112,184,.16);
  --dark-fade-red:rgba(213,27,35,.12);
  --dark-fade-blue-mobile:rgba(37,112,184,.18);
  --dark-fade-red-mobile:rgba(213,27,35,.14);
}

/* One shared red/blue fading treatment for every principal dark surface. */
.section.dark,
.tech-strip,
.impact-stats,
.field-stories,
.site-footer{
  background-color:var(--dark-fade-base);
  background-image:
    radial-gradient(circle at 88% 8%,var(--dark-fade-blue),transparent 38%),
    radial-gradient(circle at 8% 92%,var(--dark-fade-red),transparent 36%),
    linear-gradient(145deg,var(--dark-fade-base) 0%,var(--dark-fade-mid) 54%,var(--dark-fade-base) 100%);
  background-repeat:no-repeat;
  background-size:100% 100%;
}

/* Inner page headers use the same palette while retaining their overlay layer. */
.inner-hero{
  background-color:var(--dark-fade-base);
  background-image:
    radial-gradient(circle at 88% 5%,var(--dark-fade-blue),transparent 40%),
    radial-gradient(circle at 6% 95%,var(--dark-fade-red),transparent 38%),
    linear-gradient(145deg,var(--dark-fade-base),var(--dark-fade-mid) 55%,var(--dark-fade-base));
  background-repeat:no-repeat;
  background-size:100% 100%;
}
.inner-hero:after{
  background:
    radial-gradient(circle at 86% 12%,rgba(37,112,184,.12),transparent 30%),
    radial-gradient(circle at 12% 88%,rgba(213,27,35,.10),transparent 32%);
}

/* Contact card follows the same colour language. */
.footer-contact-copy{
  background-image:
    radial-gradient(circle at 100% 0%,rgba(37,112,184,.13),transparent 38%),
    radial-gradient(circle at 0% 100%,rgba(213,27,35,.09),transparent 34%),
    linear-gradient(145deg,#0b0f16 0%,#111824 58%,#090c12 100%);
}

/* The opened navigation must match the pages on tablets and phones. */
@media(max-width:1024px){
  .main-nav.open,
  .home .site-header:not(.scrolled) .main-nav.open{
    background-color:var(--dark-fade-base)!important;
    background-image:
      radial-gradient(circle at 92% 4%,var(--dark-fade-blue-mobile),transparent 42%),
      radial-gradient(circle at 4% 96%,var(--dark-fade-red-mobile),transparent 40%),
      linear-gradient(145deg,var(--dark-fade-base),var(--dark-fade-mid) 56%,var(--dark-fade-base))!important;
    background-repeat:no-repeat!important;
    background-size:100% 100%!important;
  }
}

@media(max-width:640px){
  /* Slightly stronger fades compensate for the smaller visible surface. */
  .section.dark,
  .tech-strip,
  .impact-stats,
  .field-stories,
  .site-footer,
  .inner-hero{
    background-image:
      radial-gradient(circle at 92% 4%,var(--dark-fade-blue-mobile),transparent 44%),
      radial-gradient(circle at 3% 96%,var(--dark-fade-red-mobile),transparent 42%),
      linear-gradient(150deg,var(--dark-fade-base) 0%,var(--dark-fade-mid) 56%,var(--dark-fade-base) 100%);
    background-position:center;
    background-size:100% 100%;
  }
}


/* D-TECH HERO ENERGY OVERLAY — isolated addition */
body.home.v4-opening-only .v4-logo-stage{grid-template-areas:"hero"}
body.home.v4-opening-only .v4-logo-stage .v4-hero-logo,
body.home.v4-opening-only .v4-logo-stage .v4-hero-energy{grid-area:hero}
body.home.v4-opening-only .v4-logo-stage .v4-hero-energy{
  display:block;
  width:min(980px,78vw);
  aspect-ratio:959/634;
  height:auto;
  max-height:76vh;
  z-index:2;
  pointer-events:none;
  border:0;
  background:transparent;
  opacity:1;
}
@media(max-width:640px){
  body.home.v4-opening-only .v4-logo-stage .v4-hero-energy{width:112vw;max-width:none}
}


/* FINAL MOBILE HERO FIX — logo never fades or shrinks */
@media (max-width:900px){
  body.home.v4-opening-only .v4-logo-stage,
  body.home.v4-opening-only.page-ready .v4-logo-stage{
    opacity:1!important;
    transform:translateY(-18vh) scale(.72)!important;
    transition:none!important;
    animation:none!important;
    visibility:visible!important;
  }
  body.home.v4-opening-only .v4-logo-stage .v4-hero-logo,
  body.home.v4-opening-only .v4-logo-stage .v4-hero-energy{
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
  }
}
@media (max-width:640px){
  body.home.v4-opening-only .v4-hero-copy{top:69%!important;}
}

/* FINAL MOBILE POSITIONING — slogan restored, logo lifted */
@media (max-width:640px){
  body.home.v4-opening-only .mobile-hero-kicker{
    display:inline-flex!important;
    top:calc(var(--header) + 24px)!important;
    left:7vw!important;
    right:5vw!important;
    z-index:6!important;
    opacity:1!important;
    visibility:visible!important;
  }
  body.home.v4-opening-only .v4-logo-stage,
  body.home.v4-opening-only.page-ready .v4-logo-stage{
    transform:translateY(calc(-18vh - 42px)) scale(.72)!important;
  }
}

@media (max-width:900px){body.home.v4-opening-only .mobile-hero-kicker{display:block!important;position:absolute!important;top:calc(var(--header) + 18px)!important;left:5vw!important;right:5vw!important;z-index:6!important;text-align:center!important;opacity:1!important;visibility:visible!important;transform:none!important}body.home.v4-opening-only .v4-logo-stage,body.home.v4-opening-only.page-ready .v4-logo-stage{transform:translateY(calc(-18vh - 54px)) scale(.72)!important;opacity:1!important}body.home.v4-opening-only .v4-hero-copy,body.home.v4-opening-only.page-ready .v4-hero-copy{top:38%!important;transform:none!important;opacity:1!important}}


/* === V4 Compact Overrides === */
:root{
 --section-space:56px;
}
section,.section{padding-top:56px!important;padding-bottom:56px!important}
.hero,.hero-section,.inner-hero{min-height:68vh!important;padding-top:70px!important;padding-bottom:50px!important}
h1,.hero h1,.manifesto h1{font-size:clamp(2rem,3.8vw,3.8rem)!important;line-height:1.08!important}
h2{font-size:clamp(1.6rem,2.8vw,2.8rem)!important;line-height:1.12!important}
h3{font-size:clamp(1.2rem,1.8vw,1.6rem)!important}
p.lead,.lead{font-size:1.05rem!important}
.grid,.cards,.features,.services-grid{gap:20px!important}
.card,.feature,.service-card,.project-card{padding:22px!important}
.projects img,.project-card img{max-height:260px!important;object-fit:cover}
.brands,.brand-strip{padding-top:32px!important;padding-bottom:32px!important}
footer{padding-top:36px!important;padding-bottom:24px!important}
.editorial-head,.manifesto,.cta{margin-bottom:24px!important}

/* === Compact impact statistics — final override === */
.impact-stats{
  padding-top:0!important;
  padding-bottom:0!important;
}
.impact-stats .stat-item{
  min-height:138px!important;
  padding:18px 26px 17px!important;
}
.impact-stats .stat-item strong{
  font-size:clamp(44px,4.6vw,68px)!important;
  line-height:.88!important;
}
.impact-stats .stat-item p{
  margin:11px 0 3px!important;
  font-size:15px!important;
}
.impact-stats .stat-item small{
  font-size:9px!important;
}
@media(max-width:900px){
  .impact-stats .stat-item{
    min-height:112px!important;
    padding:17px 22px!important;
  }
}
@media(max-width:640px){
  .impact-stats .stat-item{
    min-height:102px!important;
    padding:15px 20px!important;
  }
  .impact-stats .stat-item strong{
    font-size:48px!important;
  }
}


/* D-TECH LOGO EFFECT — loader overlay only; hero styling remains unchanged */
body.v4-opening-only .brand-loader-mark{position:relative}
body.v4-opening-only .brand-loader-mark>img,
body.v4-opening-only .brand-loader-mark>.brand-loader-energy{grid-area:loader-logo}
body.v4-opening-only .brand-loader-mark>.brand-loader-energy{position:absolute;left:0;top:0;width:100%;height:auto;aspect-ratio:959/634;z-index:2;pointer-events:none;border:0;background:transparent}
body.v4-opening-only .brand-loader-mark>img{position:relative;z-index:1}
body.v4-opening-only .brand-loader-mark>i,
body.v4-opening-only .brand-loader-mark>.brand-loader-status{position:relative;z-index:3}


/* Premium technology partners — authentic brand artwork */
.premium-partners{background:#fff;color:#101318;padding:92px 0 88px;border-top:1px solid #eceef1;border-bottom:1px solid #eceef1;overflow:hidden}
.premium-partners-copy{max-width:820px;margin-bottom:50px}
.premium-partners .eyebrow{color:#737b86}
.premium-partners-copy h2{font:600 clamp(34px,4.2vw,58px)/1.05 Manrope,sans-serif;letter-spacing:-.048em;margin:18px 0 18px;color:#101318}
.premium-partners-copy p{max-width:760px;margin:0;color:#626b76;font-size:17px;line-height:1.75}
.premium-brand-viewport{width:100%;overflow-x:auto;overflow-y:hidden;padding:25px 0 18px;border-top:1px solid #dfe3e8;border-bottom:1px solid #dfe3e8;scrollbar-width:none;overscroll-behavior-inline:contain}
.premium-brand-viewport::-webkit-scrollbar{display:none}
.premium-brand-row{display:flex;align-items:center;gap:34px;width:max-content;min-width:100%}
.premium-brand-logo{width:112px;height:66px;flex:0 0 112px;display:flex;align-items:center;justify-content:center;padding:5px 6px;transition:transform .24s var(--ease),opacity .24s ease}
.premium-brand-logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:none;opacity:.96}
.premium-brand-logo:hover{transform:translateY(-3px) scale(1.025)}
.premium-brand-logo:hover img{opacity:1}
@media(min-width:1500px){.premium-brand-row{justify-content:space-between;gap:28px}.premium-brand-logo{width:108px;flex-basis:108px}}
@media(max-width:1024px){.premium-partners{padding:78px 0 74px}.premium-brand-row{gap:26px}.premium-brand-logo{width:108px;flex-basis:108px}}
@media(max-width:640px){.premium-partners{padding:66px 0 62px}.premium-partners-copy{margin-bottom:36px}.premium-partners-copy h2{font-size:36px}.premium-partners-copy p{font-size:15px;line-height:1.7}.premium-brand-viewport{margin-right:-14px;padding:20px 0 15px}.premium-brand-row{gap:18px;padding-right:20px}.premium-brand-logo{width:104px;height:58px;flex-basis:104px}}

/* Premium partners v2 — continuous, optically balanced marquee */
.premium-brand-viewport{
  position:relative;
  overflow:hidden;
  touch-action:pan-y;
  cursor:grab;
}
.premium-brand-viewport:active{cursor:grabbing}
.premium-brand-row{
  display:flex;
  align-items:center;
  width:max-content;
  min-width:0;
  gap:0;
  animation:premiumBrandMarquee 44s linear infinite;
  will-change:transform;
}
.premium-brand-group{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  gap:34px;
  padding-right:34px;
}
.premium-brand-logo{
  width:150px;
  height:76px;
  flex:0 0 150px;
  padding:2px;
}
.premium-brand-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.premium-brand-viewport:hover .premium-brand-row,
.premium-brand-viewport.is-paused .premium-brand-row,
.premium-brand-viewport:focus-within .premium-brand-row{
  animation-play-state:paused;
}
@keyframes premiumBrandMarquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

/* Center-focused brand treatment — no slider indicators */
.premium-brand-logo{
  position:relative;
  opacity:.68;
  transform:translateY(0) scale(.94);
  transition:transform .42s cubic-bezier(.22,1,.36,1), opacity .35s ease, filter .35s ease;
  filter:saturate(.86);
}
.premium-brand-logo::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-9px;
  width:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(26,105,255,0),rgba(26,105,255,.95),rgba(26,105,255,0));
  box-shadow:0 0 10px rgba(26,105,255,.38);
  transform:translateX(-50%);
  opacity:0;
  transition:width .42s cubic-bezier(.22,1,.36,1),opacity .3s ease;
}
.premium-brand-logo.is-active{
  opacity:1;
  transform:translateY(-4px) scale(1.075);
  filter:saturate(1.05) drop-shadow(0 8px 14px rgba(22,78,168,.14));
  z-index:2;
}
.premium-brand-logo.is-active::after{
  width:44px;
  opacity:1;
}
.premium-brand-viewport:hover .premium-brand-logo:not(.is-active),
.premium-brand-viewport.is-paused .premium-brand-logo:not(.is-active){opacity:.76}
@media(max-width:640px){
  .premium-brand-logo.is-active{transform:translateY(-3px) scale(1.06)}
  .premium-brand-logo.is-active::after{width:38px;bottom:-7px}
}
@media(prefers-reduced-motion:reduce){
  .premium-brand-row{animation-play-state:paused}
}
.premium-brand-row{padding-right:0}


/* === Homepage manifesto: exact rendered size of Design / Integration / Support === */
body.home .manifesto h1,
body.home .manifesto p{
  font-family:Manrope,sans-serif!important;
  font-size:clamp(1.6rem,2.8vw,2.8rem)!important;
  font-weight:600!important;
  line-height:1.12!important;
  letter-spacing:-.045em!important;
}
body.home .manifesto p{margin-top:12px!important}

/* Clean breathing space between the two dark homepage sections */
@media(max-width:640px){
  
}


/* === DTECH HERO RESPONSIVE MASTER FIX 2026-07-21 ===
   Single source of truth for desktop, tablet and mobile hero layout. */

/* Desktop / large laptop */
@media (min-width:1025px){
  body.home.v4-opening-only .brand-opening.v4-hero{
    height:100svh!important;
    min-height:650px!important;
  }
  body.home.v4-opening-only .mobile-hero-kicker{display:none!important}
  body.home.v4-opening-only .v4-logo-stage{
    inset:var(--header) 0 0!important;
    opacity:0!important;
    transform:translateX(0) scale(1.02)!important;
    transition:opacity .55s ease .72s,transform 1.45s cubic-bezier(.16,1,.3,1) 1.12s!important;
  }
  body.home.v4-opening-only.page-ready .v4-logo-stage{
    opacity:1!important;
    transform:translateX(25vw) scale(.70)!important;
  }
  body.home.v4-opening-only .v4-logo-stage img.v4-hero-logo,
  body.home.v4-opening-only .v4-logo-stage .v4-hero-energy{
    width:min(980px,78vw)!important;
    max-width:980px!important;
  }
  body.home.v4-opening-only .v4-hero-copy{
    left:max(6vw,calc((100vw - 1280px)/2))!important;
    top:50%!important;
    width:min(600px,43vw)!important;
    transform:translateY(-46%)!important;
    opacity:0!important;
    transition:opacity .7s ease 1.72s,transform .9s cubic-bezier(.16,1,.3,1) 1.72s!important;
  }
  body.home.v4-opening-only.page-ready .v4-hero-copy{
    opacity:1!important;
    transform:translateY(-50%)!important;
  }
}

/* Tablet: dedicated balanced composition, no vh-based jumps */
@media (min-width:641px) and (max-width:1024px){
  body.home.v4-opening-only .brand-opening.v4-hero{
    height:auto!important;
    min-height:820px!important;
    padding-top:var(--header)!important;
  }
  body.home.v4-opening-only .mobile-hero-kicker{
    display:block!important;
    position:absolute!important;
    top:calc(var(--header) + 24px)!important;
    left:7vw!important;
    right:7vw!important;
    z-index:6!important;
    text-align:center!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  body.home.v4-opening-only .v4-logo-stage,
  body.home.v4-opening-only.page-ready .v4-logo-stage{
    inset:calc(var(--header) + 58px) 0 auto!important;
    height:330px!important;
    display:grid!important;
    place-items:center!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }
  body.home.v4-opening-only .v4-logo-stage img.v4-hero-logo,
  body.home.v4-opening-only .v4-logo-stage .v4-hero-energy{
    width:min(700px,82vw)!important;
    max-width:82vw!important;
    max-height:330px!important;
    opacity:1!important;
    visibility:visible!important;
  }
  body.home.v4-opening-only .v4-hero-copy,
  body.home.v4-opening-only.page-ready .v4-hero-copy{
    left:8vw!important;
    right:8vw!important;
    top:430px!important;
    width:auto!important;
    transform:none!important;
    opacity:1!important;
    transition:none!important;
  }
  body.home.v4-opening-only .v4-hero-copy>.hero-kicker{display:none!important}
  body.home.v4-opening-only .v4-hero-copy h1{
    font-size:clamp(46px,7.2vw,72px)!important;
    line-height:.94!important;
    margin:22px 0 20px!important;
  }
  body.home.v4-opening-only .v4-hero-copy p{
    max-width:680px!important;
    font-size:17px!important;
    line-height:1.65!important;
  }
  body.home.v4-opening-only .hero-actions{margin-top:28px!important}
  body.home.v4-opening-only .hero-telemetry{display:none!important}
}

/* Mobile */
@media (max-width:640px){
  body.home.v4-opening-only .brand-opening.v4-hero{
    height:auto!important;
    min-height:760px!important;
    padding-top:var(--header)!important;
  }
  body.home.v4-opening-only .mobile-hero-kicker{
    display:block!important;
    position:absolute!important;
    top:calc(var(--header) + 18px)!important;
    left:6vw!important;
    right:6vw!important;
    z-index:6!important;
    text-align:center!important;
    font-size:8px!important;
    line-height:1.45!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  body.home.v4-opening-only .v4-logo-stage,
  body.home.v4-opening-only.page-ready .v4-logo-stage{
    inset:calc(var(--header) + 52px) 0 auto!important;
    height:230px!important;
    display:grid!important;
    place-items:center!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }
  body.home.v4-opening-only .v4-logo-stage img.v4-hero-logo,
  body.home.v4-opening-only .v4-logo-stage .v4-hero-energy{
    width:94vw!important;
    max-width:94vw!important;
    max-height:230px!important;
    opacity:1!important;
    visibility:visible!important;
  }
  body.home.v4-opening-only .v4-hero-copy,
  body.home.v4-opening-only.page-ready .v4-hero-copy{
    left:7vw!important;
    right:7vw!important;
    top:345px!important;
    width:auto!important;
    transform:none!important;
    opacity:1!important;
    transition:none!important;
  }
  body.home.v4-opening-only .v4-hero-copy>.hero-kicker{display:none!important}
  body.home.v4-opening-only .v4-hero-copy h1{
    font-size:clamp(40px,12vw,54px)!important;
    line-height:.94!important;
    margin:20px 0 18px!important;
  }
  body.home.v4-opening-only .v4-hero-copy p{
    font-size:15px!important;
    line-height:1.6!important;
  }
  body.home.v4-opening-only .hero-actions{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:18px!important;
    margin-top:26px!important;
  }
  body.home.v4-opening-only .hero-telemetry{display:none!important}
  body.home.v4-opening-only .brand-opening .scroll-cue{display:none!important}
}

@media (prefers-reduced-motion:reduce){
  body.home.v4-opening-only .v4-logo-stage,
  body.home.v4-opening-only.page-ready .v4-logo-stage,
  body.home.v4-opening-only .v4-hero-copy,
  body.home.v4-opening-only.page-ready .v4-hero-copy{
    opacity:1!important;
    transition:none!important;
    animation:none!important;
  }
}


/* Product portfolio slideshow — individual solution pages */
.product-range-section{overflow:hidden;background:#0a0d12;color:#fff}
.product-range-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:34px}
.product-range-head .eyebrow{color:#8ea6c7}
.product-range-head p{max-width:620px;margin:0;color:rgba(255,255,255,.68);line-height:1.7}
.product-brand-marquee{position:relative;overflow:hidden;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);padding:26px 0}
.product-brand-marquee::before,.product-brand-marquee::after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:110px;pointer-events:none}
.product-brand-marquee::before{left:0;background:linear-gradient(90deg,#0a0d12,transparent)}
.product-brand-marquee::after{right:0;background:linear-gradient(270deg,#0a0d12,transparent)}
.product-brand-track{display:flex;align-items:center;width:max-content;animation:productBrandFlow 24s linear infinite;will-change:transform}
.product-brand-marquee:hover .product-brand-track{animation-play-state:paused}
.product-brand-item{width:190px;height:84px;display:flex;align-items:center;justify-content:center;padding:16px 28px;flex:0 0 auto}
.product-brand-item img{display:block;max-width:100%;max-height:48px;object-fit:contain;filter:grayscale(1) brightness(1.65);opacity:.72;transition:filter .25s ease,opacity .25s ease,transform .25s ease}
.product-brand-item:hover img{filter:none;opacity:1;transform:scale(1.05)}
@keyframes productBrandFlow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:760px){.product-range-head{display:block}.product-range-head p{margin-top:14px}.product-brand-item{width:150px;height:72px;padding:12px 20px}.product-brand-item img{max-height:40px}.product-brand-marquee::before,.product-brand-marquee::after{width:55px}}
@media (prefers-reduced-motion:reduce){.product-brand-track{animation:none;flex-wrap:wrap;width:100%;justify-content:center}.product-brand-track .product-brand-item:nth-child(n+7){display:none}}

/* Individual solution pages use the same premium brand carousel as the homepage. */
.solution-brand-carousel .premium-partners-copy{max-width:760px}

/* Final logo background match — preserve the original logo image pixel-for-pixel */
body.v4-opening-only .brand-loader{
  background:#fff;
}
body.v4-opening-only .brand-loader::before{
  display:none;
}
body.home.v4-opening-only .brand-opening.v4-hero,
body.home.v4-opening-only .brand-opening.v4-hero::before{
  background:#fff;
}
body.home.v4-opening-only .brand-opening.v4-hero::after{
  background:transparent;
}

/* Tablet home navigation fix: keep the opened drawer readable without changing other layouts */
@media (max-width:1024px){
  body.home.menu-open .site-header,
  body.home.v4-opening-only.menu-open .site-header:not(.scrolled){
    background:#080a0e;
    border-bottom:1px solid rgba(255,255,255,.09);
    backdrop-filter:blur(18px);
  }
  body.home.v4-opening-only.menu-open .site-header:not(.scrolled) .main-nav>a,
  body.home.v4-opening-only.menu-open .site-header:not(.scrolled) .nav-parent>button{
    color:#d7dce4;
  }
  body.home.v4-opening-only.menu-open .site-header:not(.scrolled) .main-nav>a:hover,
  body.home.v4-opening-only.menu-open .site-header:not(.scrolled) .main-nav>a.active,
  body.home.v4-opening-only.menu-open .site-header:not(.scrolled) .nav-parent>button:hover{
    color:#fff;
  }
  body.home.v4-opening-only.menu-open .site-header:not(.scrolled) .brand-logo-dark{opacity:1}
  body.home.v4-opening-only.menu-open .site-header:not(.scrolled) .brand-logo-light{opacity:0}
  body.home.v4-opening-only.menu-open .site-header:not(.scrolled) .menu-toggle span{background:#fff}
  body.home.v4-opening-only.menu-open .site-header:not(.scrolled) .lang-switch a{color:#fff}
}

/* ================================================================
   GRAPHITE BACKGROUND UPDATE — 2026-08-03
   Changes only formerly black/dark background surfaces.
   Shared by all Greek and English pages.
   ================================================================ */
:root{
  --black:#34373c;
  --black-2:#3b3f45;
}

.site-header,
.home .site-header.scrolled,
.inner-hero,
.section.dark,
.tech-strip,
.impact-stats,
.field-stories,
.product-range-section,
.site-footer{
  background-color:#34373c;
}

.section.dark{
  background:#34373c;
}

.inner-hero{
  background:#34373c;
}

.tech-strip,
.impact-stats,
.field-stories,
.product-range-section{
  background:#3b3f45;
}

.product-brand-marquee::before{
  background:linear-gradient(90deg,#3b3f45,transparent);
}
.product-brand-marquee::after{
  background:linear-gradient(270deg,#3b3f45,transparent);
}

.premium-brand-stage:before{
  background:linear-gradient(90deg,#3b3f45 8%,transparent);
}
.premium-brand-stage:after{
  background:linear-gradient(270deg,#3b3f45 8%,transparent);
}

.reel-media{
  background:#34373c;
}

@media (max-width:1024px){
  body.home.menu-open .site-header,
  body.home.v4-opening-only.menu-open .site-header:not(.scrolled),
  .main-nav.open{
    background:#34373c!important;
  }
  body.home.v4-opening-only.menu-open .site-header:not(.scrolled) .nav-drop,
  .main-nav.open .nav-drop{
    background:#3b3f45!important;
  }
}

/* ================================================================
   GRAPHITE AMBIENT FINISH — 2026-08-03
   Background-only refinement. No layout, content or functionality changes.
   ================================================================ */
:root{
  --graphite-main:#34373c;
  --graphite-alt:#3b3f45;
  --ambient-blue:rgba(36,119,210,.18);
  --ambient-red:rgba(220,31,43,.15);
}

/* Shared blue/red ambient light across every graphite surface. */
.site-header,
.home .site-header.scrolled,
.inner-hero,
.section.dark,
.tech-strip,
.impact-stats,
.field-stories,
.product-range-section,
.site-footer{
  background-color:var(--graphite-main);
  background-image:
    radial-gradient(ellipse 72% 62% at 8% 4%,var(--ambient-blue) 0%,rgba(36,119,210,.07) 34%,transparent 68%),
    radial-gradient(ellipse 72% 62% at 94% 96%,var(--ambient-red) 0%,rgba(220,31,43,.055) 34%,transparent 68%),
    linear-gradient(135deg,var(--graphite-main) 0%,var(--graphite-alt) 52%,var(--graphite-main) 100%);
  background-repeat:no-repeat;
  background-size:100% 100%;
}

/* Alternate graphite sections retain their small tonal difference. */
.tech-strip,
.impact-stats,
.field-stories,
.product-range-section{
  background-color:var(--graphite-alt);
  background-image:
    radial-gradient(ellipse 70% 58% at 5% 2%,rgba(36,119,210,.20) 0%,rgba(36,119,210,.065) 36%,transparent 69%),
    radial-gradient(ellipse 70% 58% at 96% 98%,rgba(220,31,43,.17) 0%,rgba(220,31,43,.05) 36%,transparent 69%),
    linear-gradient(135deg,var(--graphite-alt) 0%,#34383e 52%,var(--graphite-alt) 100%);
}

/* Footer now uses exactly the same graphite language as the rest of the site. */
.site-footer{
  background-color:var(--graphite-main);
  background-image:
    radial-gradient(ellipse 76% 64% at 8% 2%,rgba(36,119,210,.20) 0%,rgba(36,119,210,.065) 35%,transparent 70%),
    radial-gradient(ellipse 76% 64% at 94% 98%,rgba(220,31,43,.17) 0%,rgba(220,31,43,.05) 35%,transparent 70%),
    linear-gradient(135deg,var(--graphite-main) 0%,var(--graphite-alt) 54%,var(--graphite-main) 100%);
  border-top-color:rgba(255,255,255,.11);
}

/* Large D-TECH footer signature: subtle metallic blue/red watermark. */
.site-footer::before{
  color:transparent;
  background:
    linear-gradient(100deg,
      rgba(64,151,241,.23) 0%,
      rgba(255,255,255,.07) 47%,
      rgba(235,55,65,.22) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  opacity:.72;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.035)) drop-shadow(0 -1px 0 rgba(0,0,0,.18));
}

/* Contact half of footer follows the same graphite colour instead of looking separate. */
.footer-contact-copy{
  background-color:var(--graphite-alt);
  background-image:
    radial-gradient(ellipse 82% 70% at 4% 0%,rgba(36,119,210,.16),transparent 66%),
    radial-gradient(ellipse 82% 70% at 100% 100%,rgba(220,31,43,.13),transparent 66%),
    linear-gradient(135deg,var(--graphite-alt),var(--graphite-main));
}

.footer-map{
  background:var(--graphite-alt);
}

/* Keep fading masks consistent with the new graphite backgrounds. */
.product-brand-marquee::before{
  background:linear-gradient(90deg,var(--graphite-alt),transparent);
}
.product-brand-marquee::after{
  background:linear-gradient(270deg,var(--graphite-alt),transparent);
}
.premium-brand-stage::before{
  background:linear-gradient(90deg,var(--graphite-alt) 8%,transparent);
}
.premium-brand-stage::after{
  background:linear-gradient(270deg,var(--graphite-alt) 8%,transparent);
}

@media(max-width:1024px){
  body.home.menu-open .site-header,
  body.home.v4-opening-only.menu-open .site-header:not(.scrolled),
  .main-nav.open{
    background-color:var(--graphite-main)!important;
    background-image:
      radial-gradient(ellipse 90% 70% at 4% 0%,rgba(36,119,210,.21),transparent 68%),
      radial-gradient(ellipse 90% 70% at 100% 100%,rgba(220,31,43,.17),transparent 68%),
      linear-gradient(135deg,var(--graphite-main),var(--graphite-alt))!important;
  }
}

@media(max-width:640px){
  .site-footer::before{
    opacity:.62;
  }
}


/* ==========================================================================
   D-TECH FULL CANVAS CIRCUIT SYSTEM
   Circuits cover every layer from edge to edge, behind all content.
   Light layers use graphite traces; dark layers use luminous traces.
   ========================================================================== */
:root{
  --dt-silver:#eceff1;
  --dt-silver-hi:#f5f6f6;
  --dt-graphite:#0a0c0f;
  --dt-circuit-light:url("assets/circuit-full-light.svg");
  --dt-circuit-dark:url("assets/circuit-full-dark.svg");
}

/* Silver-gray light surfaces for brightness/elegance. */
body{background:var(--dt-silver)}
.section.paper,
.premium-partners,
.final-cta,
body:not(.home) main > section:not(.dark):not(.inner-hero){
  background-color:var(--dt-silver)!important;
}

/* Each section is its own layer. */
main > section,
.site-footer{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

/* The dedicated circuit plane fills the ENTIRE layer. */
.dtech-circuit-canvas{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background-image:var(--dt-circuit-light);
  background-size:860px 545px;
  background-repeat:repeat;
  background-position:center top;
  opacity:.60;
}

/* Dark layers switch to luminous circuit automatically. */
.section.dark > .dtech-circuit-canvas,
.manifesto > .dtech-circuit-canvas,
.field-stories > .dtech-circuit-canvas,
.inner-hero > .dtech-circuit-canvas,
.site-footer > .dtech-circuit-canvas,
section[class*="dark"] > .dtech-circuit-canvas{
  background-image:var(--dt-circuit-dark);
  opacity:.82;
  filter:brightness(1.16) saturate(1.08);
}

/* Content, cards and images are always above the circuit plane. */
main > section > :not(.dtech-circuit-canvas),
.site-footer > :not(.dtech-circuit-canvas){
  position:relative;
  z-index:2;
}

/* TEXT SHIELDS:
   Circuits remain behind photographs/cards, but fade away beneath reading areas. */
.manifesto-grid > div,
.section.paper .split > div,
.editorial-head,
.lead-copy,
.page-intro,
.inner-hero .container,
.quote-block,
.field-help,
.field-stories-head,
.final-grid > div,
.footer-contact-copy,
.footer-brand,
.footer-grid > div,
.legal,
.support-card > div,
.timeline-row > div{
  position:relative;
}

/* Light text areas get a soft silver halo that erases traces behind words,
   without looking like a rectangular panel. */
.section.paper .split > div,
main > section:not(.dark):not(.manifesto):not(.field-stories) .editorial-head,
main > section:not(.dark):not(.manifesto):not(.field-stories) .page-intro,
main > section:not(.dark):not(.manifesto):not(.field-stories) .lead-copy,
main > section:not(.dark):not(.manifesto):not(.field-stories) .quote-block,
main > section:not(.dark):not(.manifesto):not(.field-stories) .final-grid > div{
  background:rgba(236,239,241,.90);
  box-shadow:0 0 32px 22px rgba(236,239,241,.90);
}

/* Dark text areas get the matching graphite halo. */
.manifesto-grid > div,
.section.dark .editorial-head,
.section.dark .page-intro,
.section.dark .lead-copy,
.field-stories-head,
.inner-hero .container,
.site-footer .footer-contact-copy,
.site-footer .footer-brand,
.site-footer .footer-grid > div{
  background:rgba(10,12,15,.88);
  box-shadow:0 0 34px 24px rgba(10,12,15,.88);
}

/* Keep visual/media modules transparent so circuit is genuinely behind them. */
img,
picture,
video,
iframe,
.project-card,
.reel-card,
.reel-item,
.discipline,
.stat-item,
.process-list,
.premium-brand-viewport,
.footer-map{
  position:relative;
  z-index:3;
}

/* No extra veils or side-only masks. */
main > section::before,
main > section::after{
  pointer-events:none;
}

/* Footer D-Tech logo is explicitly preserved and kept on top. */
.site-footer .footer-logo,
.site-footer .footer-logo img,
.site-footer .footer-brand{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:5!important;
}
.site-footer .footer-logo img{
  width:auto;
  max-width:100%;
  height:auto;
}

/* Graphite sections stay truly dark so the luminous circuit reads. */
.manifesto,
.section.dark,
.field-stories,
.site-footer,
.inner-hero{
  background-color:var(--dt-graphite)!important;
}

/* Mobile/tablet: same full-canvas principle, simply calmer. */
@media(max-width:900px){
  .dtech-circuit-canvas{
    background-size:720px 456px;
    opacity:.42;
  }
  .section.dark > .dtech-circuit-canvas,
  .manifesto > .dtech-circuit-canvas,
  .field-stories > .dtech-circuit-canvas,
  .inner-hero > .dtech-circuit-canvas,
  .site-footer > .dtech-circuit-canvas{
    opacity:.62;
  }
  .section.paper .split > div,
  main > section:not(.dark):not(.manifesto):not(.field-stories) .editorial-head,
  main > section:not(.dark):not(.manifesto):not(.field-stories) .page-intro,
  main > section:not(.dark):not(.manifesto):not(.field-stories) .lead-copy{
    box-shadow:0 0 22px 15px rgba(236,239,241,.92);
  }
}
@media(max-width:620px){
  .dtech-circuit-canvas{
    background-size:620px 393px;
    opacity:.32;
  }
  .section.dark > .dtech-circuit-canvas,
  .manifesto > .dtech-circuit-canvas,
  .field-stories > .dtech-circuit-canvas,
  .inner-hero > .dtech-circuit-canvas,
  .site-footer > .dtech-circuit-canvas{
    opacity:.50;
  }
}

/* D-TECH NATURAL TEXT — remove artificial text boxes/halos */
.manifesto-grid > div,
.section.paper .split > div,
.editorial-head,.lead-copy,.page-intro,.inner-hero .container,
.quote-block,.field-help,.field-stories-head,.final-grid > div,
.footer-contact-copy,.footer-brand,.footer-grid > div,.legal,
.support-card > div,.timeline-row > div,
main > section:not(.dark):not(.manifesto):not(.field-stories) .editorial-head,
main > section:not(.dark):not(.manifesto):not(.field-stories) .page-intro,
main > section:not(.dark):not(.manifesto):not(.field-stories) .lead-copy,
main > section:not(.dark):not(.manifesto):not(.field-stories) .quote-block,
main > section:not(.dark):not(.manifesto):not(.field-stories) .final-grid > div,
.section.dark .editorial-head,.section.dark .page-intro,.section.dark .lead-copy,
.site-footer .footer-contact-copy,.site-footer .footer-brand,.site-footer .footer-grid > div{
 background:transparent!important;
 background-color:transparent!important;
 box-shadow:none!important;
 filter:none!important;
 backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important;
}
.dtech-circuit-canvas{opacity:.46}
.section.dark>.dtech-circuit-canvas,.manifesto>.dtech-circuit-canvas,
.field-stories>.dtech-circuit-canvas,.inner-hero>.dtech-circuit-canvas,
.site-footer>.dtech-circuit-canvas,section[class*="dark"]>.dtech-circuit-canvas{opacity:.66}


/* ==========================================================================
   D-TECH MICRO RETOUCH V3
   Circuit refinement + manifesto readability + unified footer.
   ========================================================================== */

/* CIRCUIT: slightly finer, less repetitive, more elegant. */
.dtech-circuit-canvas{
  background-size:940px 595px!important;
  opacity:.40!important;
  filter:saturate(.92);
}
.section.dark>.dtech-circuit-canvas,
.manifesto>.dtech-circuit-canvas,
.field-stories>.dtech-circuit-canvas,
.inner-hero>.dtech-circuit-canvas,
.site-footer>.dtech-circuit-canvas,
section[class*="dark"]>.dtech-circuit-canvas{
  opacity:.58!important;
  filter:brightness(1.08) saturate(.96)!important;
}

/* Give consecutive layers a tiny phase shift, without the old left/right treatment. */
main>section:nth-of-type(3n+1)>.dtech-circuit-canvas{background-position:0 0}
main>section:nth-of-type(3n+2)>.dtech-circuit-canvas{background-position:-170px -70px}
main>section:nth-of-type(3n)>.dtech-circuit-canvas{background-position:-330px -150px}

/* MANIFESTO: the key statement must read clearly in both EL / EN. */
.manifesto .manifesto-grid{
  position:relative;
  z-index:4;
}
.manifesto .manifesto-grid h1,
.manifesto .manifesto-grid h2{
  color:#fff!important;
  opacity:1!important;
  text-shadow:0 2px 18px rgba(0,0,0,.34);
}
.manifesto .manifesto-grid p{
  color:rgba(255,255,255,.76)!important;
  opacity:1!important;
}
.manifesto .eyebrow{
  color:rgba(255,255,255,.72)!important;
}

/* Local circuit reduction directly behind manifesto copy, with no visible box. */
.manifesto .manifesto-grid::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:20%;
  right:-4%;
  top:-32px;
  bottom:-34px;
  pointer-events:none;
  background:radial-gradient(ellipse at 58% 50%,
    rgba(10,12,15,.64) 0%,
    rgba(10,12,15,.38) 42%,
    rgba(10,12,15,.10) 68%,
    transparent 82%);
}

/* FOOTER: turn map + details into one solid premium graphite module. */
.site-footer{
  background-color:#090b0e!important;
  padding-top:64px!important;
}
.site-footer>.dtech-circuit-canvas{
  opacity:.50!important;
}
.footer-contact-panel{
  background:rgba(18,21,26,.94)!important;
  border:1px solid rgba(255,255,255,.115)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.24)!important;
  min-height:570px!important;
  overflow:hidden;
}
.footer-map{
  background:#111419;
}
.footer-map iframe{
  opacity:.88;
  filter:saturate(.78) contrast(1.03);
}
.footer-contact-copy{
  background:#111419!important;
  padding-left:clamp(38px,4vw,64px)!important;
  padding-right:clamp(38px,4vw,64px)!important;
}
.footer-contact-copy h2{
  color:#fff!important;
  text-shadow:none!important;
}
.footer-contact-copy .eyebrow{color:rgba(255,255,255,.62)!important}
.footer-contact-links{
  border-top-color:rgba(255,255,255,.11)!important;
}
.footer-contact-link{
  border-bottom-color:rgba(255,255,255,.095)!important;
}
.footer-contact-link small{color:rgba(255,255,255,.46)!important}
.footer-contact-link strong{color:rgba(255,255,255,.92)!important}

/* Visually connect the lower footer to the contact module. */
.footer-grid{
  margin-top:0!important;
  padding-top:58px!important;
  border-top:0!important;
}
.footer-grid,
.footer-bottom{
  position:relative;
  z-index:3;
}
.footer-grid::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:1px;
  background:linear-gradient(90deg,
    rgba(229,29,42,.38),
    rgba(255,255,255,.12) 25%,
    rgba(255,255,255,.12) 75%,
    rgba(22,143,255,.38));
}
.footer-brand p,
.footer-grid a{color:rgba(255,255,255,.58)}
.footer-grid>div>strong{color:rgba(255,255,255,.90)}
.footer-bottom{
  color:rgba(255,255,255,.42)!important;
  border-top-color:rgba(255,255,255,.085)!important;
}

/* Footer brand explicitly preserved. */
.footer-logo,
.footer-logo img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.footer-logo img{
  max-height:72px;
  width:auto;
}

@media(max-width:900px){
  .dtech-circuit-canvas{background-size:760px 481px!important;opacity:.32!important}
  .section.dark>.dtech-circuit-canvas,
  .manifesto>.dtech-circuit-canvas,
  .field-stories>.dtech-circuit-canvas,
  .inner-hero>.dtech-circuit-canvas,
  .site-footer>.dtech-circuit-canvas{opacity:.46!important}
  .manifesto .manifesto-grid::after{left:-5%;right:-5%}
  .footer-contact-panel{min-height:auto!important}
  .footer-contact-copy{padding:42px 30px!important}
}


/* ==========================================================================
   D-TECH FOOTER REFINEMENT V4
   1. Map + contact details become ONE unified asymmetric graphite module.
   2. Lower footer becomes a distinct white/silver information zone.
   ========================================================================== */

/* Unified upper footer module — exact content footprint, no oversized black frame. */
.footer-contact-panel{
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)!important;
  gap:0!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  background:#111419!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:34px 8px 34px 8px!important;
  box-shadow:0 24px 64px rgba(0,0,0,.22)!important;
  overflow:hidden!important;
  align-items:stretch!important;
}

/* Remove the two separate shapes: they now belong to the single outer silhouette. */
.footer-map,
.footer-contact-copy{
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  min-height:520px!important;
}
.footer-map{
  align-self:stretch!important;
  background:#111419!important;
}
.footer-map iframe{
  display:block;
  width:100%!important;
  height:100%!important;
  min-height:520px!important;
  border:0!important;
}
.footer-contact-copy{
  align-self:stretch!important;
  justify-content:center!important;
  padding:58px clamp(38px,4vw,64px)!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(22,143,255,.07),transparent 38%),
    radial-gradient(circle at 0% 100%,rgba(229,29,42,.055),transparent 38%),
    #111419!important;
  border-left:1px solid rgba(255,255,255,.10)!important;
}

/* LOWER FOOTER — deliberate light zone directly below the map/contact module. */
.site-footer{
  padding-bottom:0!important;
}
.footer-grid,
.footer-bottom{
  color:#151a1f!important;
}
.footer-grid{
  max-width:none!important;
  width:100%!important;
  margin-top:64px!important;
  padding:
    60px max(24px,calc((100vw - 1280px)/2))
    52px!important;
  grid-template-columns:minmax(280px,2fr) 1fr 1.2fr!important;
  background:
    linear-gradient(115deg,rgba(255,255,255,.90),rgba(237,240,242,.96)),
    #f4f5f5!important;
  border-top:1px solid rgba(25,32,38,.10)!important;
  border-bottom:1px solid rgba(25,32,38,.10)!important;
}
.footer-grid::before{
  top:0!important;
  left:max(24px,calc((100vw - 1280px)/2))!important;
  right:max(24px,calc((100vw - 1280px)/2))!important;
  background:linear-gradient(90deg,
    rgba(229,29,42,.52),
    rgba(34,42,49,.14) 24%,
    rgba(34,42,49,.14) 76%,
    rgba(22,143,255,.52))!important;
}
.footer-grid>div>strong{
  color:#151a1f!important;
}
.footer-grid a{
  color:#596168!important;
}
.footer-grid a:hover{
  color:#11161a!important;
}
.footer-brand p{
  color:#697178!important;
}
.footer-grid .footer-logo{
  /* footer artwork was made for dark background; give it only its own compact
     brand plate instead of turning the whole lower footer dark again. */
  display:inline-flex!important;
  width:max-content!important;
  padding:12px 16px!important;
  margin-bottom:18px!important;
  background:#0c0f13!important;
  border-radius:16px 4px 16px 4px!important;
  box-shadow:none!important;
}
.footer-grid .footer-logo img{
  max-height:64px!important;
}

/* Bottom legal strip continues the same light language, slightly quieter. */
.footer-bottom{
  max-width:none!important;
  width:100%!important;
  padding:
    22px max(24px,calc((100vw - 1280px)/2))!important;
  background:#e7eaec!important;
  border-top:0!important;
  color:#6a7279!important;
}
.footer-bottom a{
  color:#4f585f!important;
}
.footer-bottom a:hover{color:#11161a!important}
.footer-language{color:#4f585f!important}

/* Circuit remains in the graphite upper footer, not across the new white information zone. */
.site-footer>.dtech-circuit-canvas{
  height:calc(100% - 250px);
  bottom:auto!important;
}

/* Responsive shape remains unified. */
@media(max-width:900px){
  .footer-contact-panel{
    grid-template-columns:1fr!important;
    border-radius:28px 7px 28px 7px!important;
  }
  .footer-map,
  .footer-map iframe{
    min-height:390px!important;
  }
  .footer-contact-copy{
    min-height:auto!important;
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    padding:46px 30px!important;
  }
  .footer-grid{
    margin-top:48px!important;
    padding:48px 30px!important;
    grid-template-columns:1fr 1fr!important;
  }
  .footer-brand{grid-column:1/-1}
  .footer-bottom{
    padding:22px 30px!important;
  }
}
@media(max-width:620px){
  .footer-contact-panel{
    border-radius:22px 6px 22px 6px!important;
  }
  .footer-map,
  .footer-map iframe{min-height:320px!important}
  .footer-grid{grid-template-columns:1fr!important;padding:42px 24px!important}
  .footer-brand{grid-column:auto}
  .footer-bottom{padding:20px 24px!important}
}


/* ==========================================================================
   D-TECH FOOTER V5 — restore circuit + large D-TECH + clean logo
   ========================================================================== */

/* The white/silver lower footer is now its own circuit layer. */
.footer-grid{
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  background:
    linear-gradient(115deg,rgba(255,255,255,.84),rgba(237,240,242,.94)),
    var(--dt-circuit-light)!important;
  background-size:auto,900px 570px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,right -120px top -40px!important;
}

/* Add the large D-TECH watermark behind the lower footer content. */
.footer-grid::after{
  content:"D-TECH";
  position:absolute;
  z-index:0;
  right:max(24px,calc((100vw - 1280px)/2));
  bottom:-24px;
  font-family:inherit;
  font-size:clamp(92px,14vw,220px);
  line-height:.78;
  font-weight:900;
  letter-spacing:-.075em;
  color:rgba(18,24,30,.052);
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}

/* Keep footer contents over both circuit and watermark. */
.footer-grid > *{
  position:relative;
  z-index:2;
}

/* Footer logo behaves like the header logo: no box, no plate, no artificial background. */
.footer-grid .footer-logo{
  display:inline-block!important;
  width:auto!important;
  padding:0!important;
  margin:0 0 20px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  filter:none!important;
}
.footer-grid .footer-logo img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-height:58px!important;
  max-width:min(300px,100%)!important;
  opacity:1!important;
  filter:none!important;
}

/* Bottom strip also retains a subtle circuit trace so the visual language continues to the end. */
.footer-bottom{
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  background:
    linear-gradient(rgba(231,234,236,.90),rgba(231,234,236,.90)),
    var(--dt-circuit-light)!important;
  background-size:auto,760px 480px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,left -160px center!important;
}
.footer-bottom > *{
  position:relative;
  z-index:2;
}

/* Make the circuit a touch more visible in the light lower footer without affecting text. */
.footer-grid,
.footer-bottom{
  background-blend-mode:normal,multiply!important;
}

/* Do not crop the upper footer circuit before the light section anymore. */
.site-footer>.dtech-circuit-canvas{
  height:100%!important;
  bottom:0!important;
  opacity:.36!important;
}

/* But visually isolate its dark circuit from the light lower zone using the light sections above it. */
.footer-grid,
.footer-bottom{
  z-index:3!important;
}

/* Responsive D-TECH watermark. */
@media(max-width:900px){
  .footer-grid::after{
    right:22px;
    bottom:8px;
    font-size:clamp(82px,18vw,150px);
    opacity:.82;
  }
  .footer-grid{
    background-size:auto,760px 480px!important;
    background-position:center,right -330px top!important;
  }
}
@media(max-width:620px){
  .footer-grid::after{
    font-size:76px;
    bottom:16px;
    right:18px;
  }
  .footer-grid .footer-logo img{
    max-height:50px!important;
    max-width:250px!important;
  }
}


/* ==========================================================================
   D-TECH FOOTER V6 — natural watermark + visible circuit + corrected light logo
   ========================================================================== */

/* White/silver segment: the circuit must be visibly present across the WHOLE area. */
.footer-grid{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background-color:#f2f4f5!important;
  background-image:
    linear-gradient(rgba(244,246,247,.70),rgba(238,241,243,.76)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,820px 520px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center top!important;
  background-blend-mode:normal,multiply!important;
  box-shadow:
    inset 0 1px 0 rgba(22,28,34,.11),
    inset 0 -1px 0 rgba(22,28,34,.08)!important;
}

/* Recreate the Canvas Natural Text watermark faithfully:
   huge centered D-TECH, subtle metallic blue/red tint. */
.footer-grid::after{
  content:"D-TECH"!important;
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  bottom:-.18em!important;
  transform:translateX(-50%)!important;
  z-index:0!important;
  font:800 clamp(120px,20vw,360px)/.8 Manrope,sans-serif!important;
  letter-spacing:-.08em!important;
  white-space:nowrap!important;
  pointer-events:none!important;
  user-select:none!important;
  color:transparent!important;
  background:
    linear-gradient(100deg,
      rgba(22,143,255,.17) 0%,
      rgba(24,31,38,.045) 47%,
      rgba(229,29,42,.17) 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  opacity:.82!important;
  filter:
    drop-shadow(0 1px 0 rgba(255,255,255,.35))
    drop-shadow(0 -1px 0 rgba(18,24,30,.05))!important;
}

/* The prior pseudo-line stays subtle; circuit + watermark are now the visual structure. */
.footer-grid::before{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  left:max(24px,calc((100vw - 1280px)/2))!important;
  right:max(24px,calc((100vw - 1280px)/2))!important;
  top:0!important;
  height:1px!important;
  background:linear-gradient(90deg,
    rgba(229,29,42,.40),
    rgba(34,42,49,.12) 26%,
    rgba(34,42,49,.12) 74%,
    rgba(22,143,255,.40))!important;
}

/* Content remains naturally above the circuit and large watermark. */
.footer-grid > *{
  position:relative!important;
  z-index:3!important;
}

/* Footer logo: same clean behavior as the header — NO box, NO plate.
   Asset itself now has graphite lettering suitable for the light background. */
.footer-grid .footer-logo{
  display:inline-block!important;
  width:auto!important;
  padding:0!important;
  margin:0 0 20px!important;
  background:none!important;
  background-color:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
  filter:none!important;
}
.footer-grid .footer-logo img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-height:62px!important;
  max-width:min(310px,100%)!important;
  opacity:1!important;
  filter:none!important;
}

/* Bottom strip also keeps a visible but calmer circuit texture. */
.footer-bottom{
  background-color:#e7eaec!important;
  background-image:
    linear-gradient(rgba(231,234,236,.76),rgba(231,234,236,.80)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,760px 480px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center!important;
  background-blend-mode:normal,multiply!important;
}

/* Prevent the dark footer circuit canvas from washing over the light footer segment. */
.site-footer>.dtech-circuit-canvas{
  z-index:0!important;
}
.footer-grid,
.footer-bottom{
  z-index:4!important;
}

/* Responsive watermark stays centered, exactly like the original signature idea. */
@media(max-width:900px){
  .footer-grid{
    background-size:100% 100%,720px 456px!important;
  }
  .footer-grid::after{
    left:50%!important;
    bottom:-.12em!important;
    font-size:clamp(96px,22vw,190px)!important;
    opacity:.72!important;
  }
}
@media(max-width:620px){
  .footer-grid::after{
    font-size:92px!important;
    bottom:-.05em!important;
  }
  .footer-grid .footer-logo img{
    max-height:52px!important;
    max-width:260px!important;
  }
}


/* ==========================================================================
   D-TECH V7 — three requested changes only
   1) Stats section -> silver gray
   2) Final footer segment -> silver gray
   3) Header logo always readable on dark background
   ========================================================================== */

/* 1. 24 years / 950 projects / 1000 clients: SILVER GRAY */
.impact-stats{
  background-color:#e3e6e8!important;
  background-image:
    linear-gradient(118deg,rgba(255,255,255,.62),rgba(218,222,225,.28)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,900px 570px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center!important;
  background-blend-mode:normal,multiply!important;
  color:#151a1f!important;
  border-top:1px solid rgba(24,31,37,.10)!important;
  border-bottom:1px solid rgba(24,31,37,.10)!important;
}
.impact-stats::before{
  opacity:.30!important;
}
.impact-stats .stat-item{
  border-right-color:rgba(24,31,37,.12)!important;
}
.impact-stats .stat-item strong{
  color:#11161b!important;
}
.impact-stats .stat-item sup{
  color:var(--red)!important;
}
.impact-stats .stat-item p{
  color:#343b41!important;
}
.impact-stats .stat-item small{
  color:#6b737a!important;
}

/* 2. Lower/footer final segment: SILVER GRAY instead of white. */
.footer-grid{
  background-color:#dfe3e5!important;
  background-image:
    linear-gradient(118deg,rgba(246,247,248,.64),rgba(207,213,217,.38)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,820px 520px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center top!important;
  background-blend-mode:normal,multiply!important;
}
.footer-bottom{
  background-color:#d4d9dc!important;
  background-image:
    linear-gradient(rgba(218,223,226,.76),rgba(211,216,219,.82)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,760px 480px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center!important;
  background-blend-mode:normal,multiply!important;
}

/* Keep Natural Text style centered watermark, adjusted for silver. */
.footer-grid::after{
  background:
    linear-gradient(100deg,
      rgba(22,143,255,.20) 0%,
      rgba(22,28,34,.065) 48%,
      rgba(229,29,42,.20) 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  opacity:.78!important;
}

/* 3. Header logo: dark header MUST use the light-letter artwork.
      Light header uses graphite-letter artwork. */
.site-header .brand-logo-dark{
  opacity:1!important;
}
.site-header .brand-logo-light{
  opacity:0!important;
}

/* Home transparent/dark opening header */
body.home .site-header:not(.scrolled) .brand-logo-dark,
body.home.v4-opening-only .site-header:not(.scrolled) .brand-logo-dark{
  opacity:0!important;
}
body.home .site-header:not(.scrolled) .brand-logo-light,
body.home.v4-opening-only .site-header:not(.scrolled) .brand-logo-light{
  opacity:1!important;
}

/* Scrolled header is graphite in this design, so keep white-letter logo visible. */
.site-header.scrolled .brand-logo-dark{
  opacity:0!important;
}
.site-header.scrolled .brand-logo-light{
  opacity:1!important;
}

/* Inner pages use a dark/graphite header at the top as well. */
body:not(.home) .site-header .brand-logo-dark{
  opacity:0!important;
}
body:not(.home) .site-header .brand-logo-light{
  opacity:1!important;
}

/* Mobile menu on graphite also keeps the light logo. */
body.menu-open .site-header .brand-logo-dark{
  opacity:0!important;
}
body.menu-open .site-header .brand-logo-light{
  opacity:1!important;
}


/* ==========================================================================
   D-TECH V8 — authoritative gunmetal gray + corrected header logo mapping
   ========================================================================== */
:root{
  --dt-authority-gray:#b8bec3;
  --dt-authority-gray-deep:#aeb5ba;
  --dt-authority-ink:#14191e;
}

/* A cooler, more authoritative architectural gray — neither white nor dull mid-gray. */
.impact-stats{
  background-color:var(--dt-authority-gray)!important;
  background-image:
    linear-gradient(118deg,rgba(255,255,255,.23),rgba(94,104,113,.08)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,900px 570px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center!important;
  background-blend-mode:normal,multiply!important;
  color:var(--dt-authority-ink)!important;
}
.impact-stats .stat-item{
  border-right-color:rgba(20,25,30,.15)!important;
}
.impact-stats .stat-item strong{color:#10151a!important}
.impact-stats .stat-item p{color:#293138!important}
.impact-stats .stat-item small{color:#505a62!important}

/* Exactly the same gray family in the lower watermark segment. */
.footer-grid{
  background-color:var(--dt-authority-gray)!important;
  background-image:
    linear-gradient(118deg,rgba(255,255,255,.23),rgba(94,104,113,.08)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,820px 520px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center top!important;
  background-blend-mode:normal,multiply!important;
}
.footer-bottom{
  background-color:var(--dt-authority-gray-deep)!important;
  background-image:
    linear-gradient(rgba(255,255,255,.08),rgba(74,83,91,.05)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,760px 480px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center!important;
  background-blend-mode:normal,multiply!important;
}
.footer-grid>div>strong{color:#161b20!important}
.footer-grid a{color:#404a52!important}
.footer-grid a:hover{color:#0e1216!important}
.footer-brand p{color:#515c64!important}
.footer-bottom,.footer-bottom a,.footer-language{color:#39434a!important}

/* Watermark tuned for gunmetal rather than white. */
.footer-grid::after{
  background:
    linear-gradient(100deg,
      rgba(10,100,205,.24) 0%,
      rgba(18,23,28,.08) 48%,
      rgba(190,24,36,.24) 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  opacity:.78!important;
}

/* Header logo visibility: use the corrected artwork mapping explicitly. */
.brand-logo{
  position:relative!important;
}
.brand-logo .brand-logo-dark,
.brand-logo .brand-logo-light{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:left center!important;
  transition:opacity .2s ease!important;
}

/* Default/light header -> graphite-letter logo. */
.site-header .brand-logo-dark{opacity:1!important}
.site-header .brand-logo-light{opacity:0!important}

/* ANY dark header state -> actual white-letter artwork. */
body.home .site-header:not(.scrolled) .brand-logo-dark,
body.home.v4-opening-only .site-header:not(.scrolled) .brand-logo-dark,
.site-header.scrolled .brand-logo-dark,
body:not(.home) .site-header .brand-logo-dark,
body.menu-open .site-header .brand-logo-dark{
  opacity:0!important;
}
body.home .site-header:not(.scrolled) .brand-logo-light,
body.home.v4-opening-only .site-header:not(.scrolled) .brand-logo-light,
.site-header.scrolled .brand-logo-light,
body:not(.home) .site-header .brand-logo-light,
body.menu-open .site-header .brand-logo-light{
  opacity:1!important;
}

/* Ensure header artwork itself is not faded by parent rules. */
.site-header .brand-logo,
.site-header .brand-logo img{
  visibility:visible!important;
  filter:none!important;
}


/* ==========================================================================
   D-TECH V9 — unified bars / unified footer / connected stats
   ========================================================================== */
:root{
  --dt-bar-gray:#aeb5ba;
  --dt-bar-gray-deep:#a4acb2;
  --dt-separator-red:rgba(229,29,42,.56);
  --dt-separator-blue:rgba(22,143,255,.56);
}

/* 1) TOP BAR = SAME FAMILY AS BOTTOM LEGAL BAR */
.site-header,
.site-header.scrolled{
  background-color:var(--dt-bar-gray-deep)!important;
  background-image:
    linear-gradient(115deg,rgba(255,255,255,.10),rgba(70,78,85,.05)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,760px 480px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center!important;
  background-blend-mode:normal,multiply!important;
  border-bottom:1px solid rgba(20,26,31,.12)!important;
}
.footer-bottom{
  background-color:var(--dt-bar-gray-deep)!important;
  background-image:
    linear-gradient(115deg,rgba(255,255,255,.10),rgba(70,78,85,.05)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,760px 480px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center!important;
  background-blend-mode:normal,multiply!important;
}

/* Since header is now light/gunmetal, use graphite-letter logo there. */
.site-header .brand-logo-dark{opacity:1!important}
.site-header .brand-logo-light{opacity:0!important}
body.menu-open .site-header .brand-logo-dark{opacity:1!important}
body.menu-open .site-header .brand-logo-light{opacity:0!important}

/* Header text/buttons adapt to the lighter bar. */
.site-header .main-nav > a,
.site-header .nav-parent > button,
.site-header .lang-switch a{
  color:#1b2228!important;
}
.site-header .menu-toggle span{
  background:#1b2228!important;
}

/* 2) MAP + CONTACT MODULE = SAME GUNMETAL AS WATERMARK SEGMENT */
.footer-contact-panel{
  background-color:var(--dt-authority-gray)!important;
  background-image:
    linear-gradient(118deg,rgba(255,255,255,.20),rgba(94,104,113,.08)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,820px 520px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center!important;
  background-blend-mode:normal,multiply!important;
  border-color:rgba(20,26,31,.14)!important;
  box-shadow:0 20px 54px rgba(20,26,31,.12)!important;
}
.footer-map{
  background:#aeb5ba!important;
}
.footer-contact-copy{
  background:transparent!important;
  color:#161b20!important;
  border-left-color:rgba(20,26,31,.13)!important;
}
.footer-contact-copy h2{color:#151a1f!important}
.footer-contact-copy .eyebrow{color:#505a62!important}
.footer-contact-link{
  border-bottom-color:rgba(20,26,31,.12)!important;
}
.footer-contact-link small{color:#657078!important}
.footer-contact-link strong{color:#20272d!important}
.footer-contact-link span{color:#2f3941!important}

/* Elegant red→neutral→blue separator between upper contact module and watermark segment. */
.footer-contact-panel{
  position:relative!important;
  margin-bottom:0!important;
}
.footer-contact-panel::after{
  content:"";
  position:absolute;
  left:4%;
  right:4%;
  bottom:-1px;
  height:2px;
  z-index:6;
  background:linear-gradient(90deg,
    transparent,
    var(--dt-separator-red) 10%,
    rgba(32,40,47,.16) 42%,
    rgba(32,40,47,.16) 58%,
    var(--dt-separator-blue) 90%,
    transparent);
  box-shadow:
    0 0 10px rgba(229,29,42,.10),
    0 0 10px rgba(22,143,255,.10);
}
.footer-grid{
  margin-top:0!important;
  padding-top:62px!important;
}

/* 3) CONNECT STATS DIRECTLY TO THE PREVIOUS SEGMENT */
.impact-stats{
  margin-top:0!important;
  padding-top:0!important;
  position:relative!important;
}
.manifesto + .impact-stats,
main > section + .impact-stats{
  margin-top:0!important;
}
.impact-stats::after{
  content:"";
  position:absolute;
  left:4%;
  right:4%;
  top:0;
  height:2px;
  z-index:6;
  background:linear-gradient(90deg,
    transparent,
    var(--dt-separator-red) 10%,
    rgba(32,40,47,.16) 42%,
    rgba(32,40,47,.16) 58%,
    var(--dt-separator-blue) 90%,
    transparent);
  box-shadow:
    0 0 10px rgba(229,29,42,.10),
    0 0 10px rgba(22,143,255,.10);
}

/* Remove any visual gap coming from neighboring section padding/borders. */
.manifesto{
  margin-bottom:0!important;
  padding-bottom:0!important;
}
.manifesto .manifesto-grid{
  padding-bottom:clamp(74px,8vw,118px)!important;
}
.impact-stats{
  border-top:0!important;
}

/* Mobile: keep separators elegant and full width. */
@media(max-width:900px){
  .footer-contact-panel::after,
  .impact-stats::after{
    left:20px;
    right:20px;
  }
  .footer-contact-copy{
    border-left:0!important;
    border-top:1px solid rgba(20,26,31,.13)!important;
  }
}


/* ==========================================================================
   D-TECH V10 — footer segment correction ONLY
   Keep V9 intact. Fix map/contact section structure:
   - whole segment background = gunmetal gray
   - contact details panel = black/graphite again
   - separator line sits under the entire segment
   ========================================================================== */

/* Whole footer upper segment: gunmetal gray canvas behind map + contact block */
.site-footer{
  position:relative!important;
}
.footer-contact-panel{
  background-color:var(--dt-authority-gray)!important;
  background-image:
    linear-gradient(118deg,rgba(255,255,255,.18),rgba(94,104,113,.07)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,820px 520px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center!important;
  background-blend-mode:normal,multiply!important;
  border-color:rgba(20,26,31,.14)!important;
  box-shadow:0 20px 54px rgba(20,26,31,.12)!important;
  overflow:hidden!important;
}

/* Map stays exactly as a map surface; do not recolor the map itself */
.footer-map{
  background:#111419!important;
}

/* Contact details go BACK to black/graphite */
.footer-contact-copy{
  background:
    radial-gradient(circle at 100% 0%,rgba(22,143,255,.07),transparent 38%),
    radial-gradient(circle at 0% 100%,rgba(229,29,42,.055),transparent 38%),
    #111419!important;
  color:#fff!important;
  border-left:1px solid rgba(255,255,255,.10)!important;
}
.footer-contact-copy h2{
  color:#fff!important;
}
.footer-contact-copy .eyebrow{
  color:rgba(255,255,255,.62)!important;
}
.footer-contact-link{
  border-bottom-color:rgba(255,255,255,.095)!important;
}
.footer-contact-link small{
  color:rgba(255,255,255,.46)!important;
}
.footer-contact-link strong{
  color:rgba(255,255,255,.92)!important;
}
.footer-contact-link span{
  color:rgba(255,255,255,.72)!important;
}

/* Remove the old separator attached to the inner panel */
.footer-contact-panel::after{
  display:none!important;
}

/* New separator: exactly under the whole map/contact segment */
.footer-contact-panel{
  margin-bottom:0!important;
}
.footer-grid{
  position:relative!important;
  margin-top:0!important;
  padding-top:64px!important;
}
.footer-grid::before{
  content:""!important;
  position:absolute!important;
  left:max(24px,calc((100vw - 1280px)/2))!important;
  right:max(24px,calc((100vw - 1280px)/2))!important;
  top:0!important;
  height:2px!important;
  z-index:6!important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(229,29,42,.56) 10%,
    rgba(32,40,47,.16) 42%,
    rgba(32,40,47,.16) 58%,
    rgba(22,143,255,.56) 90%,
    transparent 100%)!important;
  box-shadow:
    0 0 10px rgba(229,29,42,.10),
    0 0 10px rgba(22,143,255,.10)!important;
}

/* Mobile: contact remains black; separator still spans the section cleanly */
@media(max-width:900px){
  .footer-contact-copy{
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
  }
  .footer-grid::before{
    left:20px!important;
    right:20px!important;
  }
}


/* ==========================================================================
   D-TECH V11 — exact footer colors / specificity fix
   ========================================================================== */

/* OUTER map+contact segment = gunmetal gray, visibly surrounding both panels */
.site-footer .footer-contact-panel{
  background:#aeb5ba!important;
  background-image:
    linear-gradient(118deg,rgba(255,255,255,.18),rgba(94,104,113,.07)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,820px 520px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center!important;
  background-blend-mode:normal,multiply!important;

  padding:12px!important;
  gap:12px!important;
  border:1px solid rgba(20,26,31,.15)!important;
  box-shadow:0 20px 54px rgba(20,26,31,.12)!important;
}

/* MAP SIDE: no black surround. The gray outer segment is visible behind it. */
.site-footer .footer-map{
  margin:0!important;
  background:#aeb5ba!important;
  border:0!important;
  border-radius:26px 7px 26px 7px!important;
  overflow:hidden!important;
}
.site-footer .footer-map iframe{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:520px!important;
  border:0!important;
}

/* CONTACT SIDE: force BLACK / GRAPHITE, overriding all old gray/transparent rules */
.site-footer .footer-contact-copy{
  margin:0!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(22,143,255,.08),transparent 38%),
    radial-gradient(circle at 0% 100%,rgba(229,29,42,.06),transparent 38%),
    #0d1014!important;
  background-color:#0d1014!important;
  color:#fff!important;
  border:0!important;
  border-radius:26px 7px 26px 7px!important;
  box-shadow:none!important;
  padding:58px clamp(38px,4vw,64px)!important;
}

/* Force all contact typography back to light colors */
.site-footer .footer-contact-copy h2{
  color:#fff!important;
}
.site-footer .footer-contact-copy .eyebrow{
  color:rgba(255,255,255,.62)!important;
}
.site-footer .footer-contact-link{
  border-bottom-color:rgba(255,255,255,.10)!important;
}
.site-footer .footer-contact-link small{
  color:rgba(255,255,255,.48)!important;
}
.site-footer .footer-contact-link strong{
  color:rgba(255,255,255,.94)!important;
}
.site-footer .footer-contact-link span{
  color:rgba(255,255,255,.72)!important;
}

/* Separator stays BELOW the whole map/contact segment */
.site-footer .footer-contact-panel::after{
  display:none!important;
}
.site-footer .footer-grid{
  margin-top:0!important;
  padding-top:64px!important;
}
.site-footer .footer-grid::before{
  content:""!important;
  position:absolute!important;
  left:max(24px,calc((100vw - 1280px)/2))!important;
  right:max(24px,calc((100vw - 1280px)/2))!important;
  top:0!important;
  height:2px!important;
  z-index:6!important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(229,29,42,.56) 10%,
    rgba(32,40,47,.16) 42%,
    rgba(32,40,47,.16) 58%,
    rgba(22,143,255,.56) 90%,
    transparent 100%)!important;
  box-shadow:
    0 0 10px rgba(229,29,42,.10),
    0 0 10px rgba(22,143,255,.10)!important;
}

@media(max-width:900px){
  .site-footer .footer-contact-panel{
    padding:10px!important;
    gap:10px!important;
  }
  .site-footer .footer-map iframe{
    min-height:390px!important;
  }
  .site-footer .footer-contact-copy{
    padding:46px 30px!important;
  }
}


/* ==========================================================================
   D-TECH V12 — screenshot-based footer correction
   The WHOLE map/contact SECTION is gunmetal, not just the inner frame.
   Contact card remains graphite. Separator sits at the true section boundary.
   ========================================================================== */

/* The screenshot showed the real problem:
   .site-footer itself was still dark behind the contact module.
   Make the complete upper footer area gunmetal, including all space around it. */
.site-footer{
  background-color:var(--dt-authority-gray)!important;
  background-image:
    linear-gradient(118deg,rgba(255,255,255,.18),rgba(94,104,113,.07)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,900px 570px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center top!important;
  background-blend-mode:normal,multiply!important;
}

/* Disable the old dark full-footer circuit canvas that was visibly creating
   the large graphite field around the map/contact block. */
.site-footer > .dtech-circuit-canvas{
  display:none!important;
}

/* The map/contact frame now belongs naturally to the gray section:
   remove the thick gray 'tray' look from V11. */
.site-footer .footer-contact-panel{
  background:transparent!important;
  background-image:none!important;
  padding:0!important;
  gap:12px!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}

/* Map itself remains untouched; only its container sits directly on gunmetal. */
.site-footer .footer-map{
  background:transparent!important;
  border-radius:34px 8px 34px 8px!important;
  overflow:hidden!important;
  box-shadow:0 18px 44px rgba(20,26,31,.12)!important;
}

/* Contact card: unequivocally graphite/black. */
.site-footer .footer-contact-copy{
  background:
    radial-gradient(circle at 100% 0%,rgba(22,143,255,.075),transparent 38%),
    radial-gradient(circle at 0% 100%,rgba(229,29,42,.055),transparent 38%),
    #0b0e12!important;
  background-color:#0b0e12!important;
  border-radius:8px 34px 8px 34px!important;
  box-shadow:0 18px 44px rgba(20,26,31,.14)!important;
}

/* Contact typography stays light. */
.site-footer .footer-contact-copy h2{color:#fff!important}
.site-footer .footer-contact-copy .eyebrow{color:rgba(255,255,255,.62)!important}
.site-footer .footer-contact-link{border-bottom-color:rgba(255,255,255,.10)!important}
.site-footer .footer-contact-link small{color:rgba(255,255,255,.48)!important}
.site-footer .footer-contact-link strong{color:rgba(255,255,255,.94)!important}
.site-footer .footer-contact-link span{color:rgba(255,255,255,.72)!important}

/* The lower watermark zone already uses the same gunmetal family.
   Remove any visual gap and put the red/blue separator exactly at the join. */
.site-footer .footer-grid{
  margin-top:64px!important;
  border-top:0!important;
}
.site-footer .footer-grid::before{
  content:""!important;
  position:absolute!important;
  left:max(24px,calc((100vw - 1280px)/2))!important;
  right:max(24px,calc((100vw - 1280px)/2))!important;
  top:0!important;
  height:2px!important;
  z-index:6!important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(229,29,42,.62) 11%,
    rgba(32,40,47,.16) 43%,
    rgba(32,40,47,.16) 57%,
    rgba(22,143,255,.62) 89%,
    transparent 100%)!important;
  box-shadow:
    0 0 9px rgba(229,29,42,.10),
    0 0 9px rgba(22,143,255,.10)!important;
}

@media(max-width:900px){
  .site-footer .footer-contact-panel{
    gap:10px!important;
  }
  .site-footer .footer-contact-copy{
    border-radius:8px 8px 28px 8px!important;
  }
  .site-footer .footer-map{
    border-radius:28px 8px 8px 8px!important;
  }
}


/* ==========================================================================
   D-TECH V13 — FINAL FOOTER MERGE + GLOBAL CONTRAST PASS
   ========================================================================== */
:root{
  --dt-final-gray:#aeb5ba;
  --dt-final-gray-ink:#171c21;
  --dt-final-muted:#424c54;
}

/* --------------------------------------------------------------------------
   1) MAP/CONTACT + WATERMARK = ONE CONTINUOUS GUNMETAL SEGMENT
   Keep only the red→blue line as a visual seam.
   -------------------------------------------------------------------------- */
.site-footer{
  background-color:var(--dt-final-gray)!important;
  background-image:
    linear-gradient(118deg,rgba(255,255,255,.17),rgba(91,101,110,.065)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,900px 570px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center top!important;
  background-blend-mode:normal,multiply!important;
}

/* Upper map/contact block has no separate outer 'panel' color anymore. */
.site-footer .footer-contact-panel{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  margin-bottom:0!important;
}

/* Lower watermark area uses EXACTLY the same canvas color as the upper area. */
.site-footer .footer-grid{
  background-color:transparent!important;
  background-image:var(--dt-circuit-light)!important;
  background-size:820px 520px!important;
  background-repeat:repeat!important;
  background-position:center top!important;
  background-blend-mode:multiply!important;
  margin-top:0!important;
  border-top:0!important;
  box-shadow:none!important;
}

/* Legal strip stays the same family, just fractionally darker for closure. */
.site-footer .footer-bottom{
  background-color:#a6aeb4!important;
  background-image:
    linear-gradient(rgba(255,255,255,.035),rgba(55,65,73,.025)),
    var(--dt-circuit-light)!important;
  background-size:100% 100%,760px 480px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center!important;
  background-blend-mode:normal,multiply!important;
}

/* The seam remains elegant, but no color jump exists across it. */
.site-footer .footer-grid::before{
  content:""!important;
  position:absolute!important;
  left:max(24px,calc((100vw - 1280px)/2))!important;
  right:max(24px,calc((100vw - 1280px)/2))!important;
  top:0!important;
  height:2px!important;
  z-index:6!important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(229,29,42,.64) 10%,
    rgba(30,38,45,.14) 42%,
    rgba(30,38,45,.14) 58%,
    rgba(22,143,255,.64) 90%,
    transparent 100%)!important;
  box-shadow:
    0 0 9px rgba(229,29,42,.10),
    0 0 9px rgba(22,143,255,.10)!important;
}

/* --------------------------------------------------------------------------
   2) FOOTER TYPOGRAPHY — slightly bolder and more legible
   -------------------------------------------------------------------------- */
.site-footer .footer-grid{
  color:var(--dt-final-gray-ink)!important;
}
.site-footer .footer-grid>div>strong{
  color:#11161a!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}
.site-footer .footer-grid a{
  color:#333c43!important;
  font-weight:600!important;
}
.site-footer .footer-brand p{
  color:#3b454d!important;
  font-weight:600!important;
}
.site-footer .footer-bottom{
  color:#303941!important;
  font-weight:600!important;
}
.site-footer .footer-bottom a,
.site-footer .footer-language{
  color:#2d363d!important;
  font-weight:650!important;
}

/* Contact panel on graphite: improve contrast without changing its design. */
.site-footer .footer-contact-copy h2{
  color:#fff!important;
  font-weight:700!important;
}
.site-footer .footer-contact-copy .eyebrow{
  color:rgba(255,255,255,.74)!important;
  font-weight:700!important;
}
.site-footer .footer-contact-link small{
  color:rgba(255,255,255,.62)!important;
  font-weight:700!important;
}
.site-footer .footer-contact-link strong{
  color:#fff!important;
  font-weight:700!important;
}
.site-footer .footer-contact-link span{
  color:rgba(255,255,255,.86)!important;
}

/* --------------------------------------------------------------------------
   3) GLOBAL CONTRAST PASS
   Correct text that becomes too faint when background and typography converge.
   No layout changes.
   -------------------------------------------------------------------------- */

/* DARK / GRAPHITE SURFACES */
.manifesto,
.section.dark,
.field-stories,
.inner-hero,
section[class*="dark"]{
  color:#fff;
}
.manifesto h1,.manifesto h2,.manifesto h3,
.section.dark h1,.section.dark h2,.section.dark h3,
.field-stories h1,.field-stories h2,.field-stories h3,
.inner-hero h1,.inner-hero h2,.inner-hero h3,
section[class*="dark"] h1,section[class*="dark"] h2,section[class*="dark"] h3{
  color:#fff!important;
  opacity:1!important;
}
.manifesto p,.section.dark p,.field-stories p,.inner-hero p,
section[class*="dark"] p{
  color:rgba(255,255,255,.78)!important;
}
.manifesto .eyebrow,.section.dark .eyebrow,.field-stories .eyebrow,.inner-hero .eyebrow,
section[class*="dark"] .eyebrow{
  color:rgba(255,255,255,.72)!important;
}
.section.dark small,.field-stories small,.inner-hero small,
section[class*="dark"] small{
  color:rgba(255,255,255,.66)!important;
}

/* LIGHT / SILVER / GUNMETAL SURFACES */
.section.paper,
.premium-partners,
.final-cta,
.impact-stats,
.site-footer .footer-grid,
.site-footer .footer-bottom{
  color:var(--dt-final-gray-ink)!important;
}
.section.paper h1,.section.paper h2,.section.paper h3,
.premium-partners h1,.premium-partners h2,.premium-partners h3,
.final-cta h1,.final-cta h2,.final-cta h3,
.impact-stats h1,.impact-stats h2,.impact-stats h3{
  color:#11161a!important;
  opacity:1!important;
}
.section.paper p,
.premium-partners p,
.final-cta p,
.impact-stats p{
  color:#364048!important;
}
.section.paper small,
.premium-partners small,
.final-cta small,
.impact-stats small{
  color:#505b63!important;
}
.section.paper .eyebrow,
.premium-partners .eyebrow,
.final-cta .eyebrow,
.impact-stats .eyebrow{
  color:#424d55!important;
}

/* Stats specifically: make the labels read confidently on gunmetal. */
.impact-stats .stat-item strong{
  color:#101519!important;
  font-weight:800!important;
}
.impact-stats .stat-item p{
  color:#293137!important;
  font-weight:700!important;
}
.impact-stats .stat-item small{
  color:#4c565e!important;
  font-weight:600!important;
}

/* Avoid accidental inherited opacity making readable text faint. */
main h1,main h2,main h3,
main p,main small,
.site-footer h2,.site-footer p,.site-footer a,.site-footer small,.site-footer strong{
  text-rendering:optimizeLegibility;
}

/* Mobile: preserve the same merged footer feeling. */
@media(max-width:900px){
  .site-footer .footer-grid::before{
    left:20px!important;
    right:20px!important;
  }
}


/* ==========================================================================
   D-TECH V14 — two final touches
   1) Remove duplicate footer watermark; keep only the large foreground one.
   2) Give Instagram/video cards the same asymmetric geometry as map modules.
   ========================================================================== */

/* 1. Duplicate watermark cleanup.
   The retained large watermark is .footer-grid::after.
   Remove any older footer-level D-TECH pseudo watermark behind it. */
.site-footer::before{
  content:none!important;
  display:none!important;
  background:none!important;
  opacity:0!important;
}

/* Keep the chosen large watermark untouched and visible. */
.site-footer .footer-grid::after{
  display:block!important;
}

/* 2. Instagram / field videos — same asymmetric map language. */
.field-stories .reel-card,
.field-stories .reel-item,
.reels-grid .reel-card,
.reels-grid .reel-item{
  border-radius:28px 7px 28px 7px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:
    0 18px 46px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.035)!important;
}

/* Ensure embedded media follows the same silhouette exactly. */
.field-stories .reel-card video,
.field-stories .reel-card iframe,
.field-stories .reel-card img,
.field-stories .reel-item video,
.field-stories .reel-item iframe,
.field-stories .reel-item img,
.reels-grid .reel-card video,
.reels-grid .reel-card iframe,
.reels-grid .reel-card img,
.reels-grid .reel-item video,
.reels-grid .reel-item iframe,
.reels-grid .reel-item img{
  border-radius:inherit!important;
  overflow:hidden!important;
}

/* Subtle alternating variation keeps them crafted, not copied rectangles. */
.reels-grid > :nth-child(even){
  border-radius:7px 28px 7px 28px!important;
}

/* Hover remains elegant, no square clipping during motion. */
.field-stories .reel-card:hover,
.field-stories .reel-item:hover,
.reels-grid .reel-card:hover,
.reels-grid .reel-item:hover{
  transform:translateY(-3px);
}

/* Mobile: slightly tighter radii while preserving asymmetry. */
@media(max-width:700px){
  .field-stories .reel-card,
  .field-stories .reel-item,
  .reels-grid .reel-card,
  .reels-grid .reel-item{
    border-radius:22px 6px 22px 6px!important;
  }
  .reels-grid > :nth-child(even){
    border-radius:6px 22px 6px 22px!important;
  }
}


/* ==========================================================================
   D-TECH V15 — solution pages text contrast + graphite contact panel
   ========================================================================== */

/* 1) SOLUTION PAGES:
   Text below the trusted-technologies slideshow must be dark on gray/silver. */
body:not(.home) .section.paper,
body:not(.home) main > section:not(.dark):not(.inner-hero),
body:not(.home) .premium-partners + section,
body:not(.home) .solution-content,
body:not(.home) .page-intro,
body:not(.home) .spec-list,
body:not(.home) .feature,
body:not(.home) .quote-block{
  color:#171c21!important;
}

body:not(.home) .section.paper h1,
body:not(.home) .section.paper h2,
body:not(.home) .section.paper h3,
body:not(.home) main > section:not(.dark):not(.inner-hero) h1,
body:not(.home) main > section:not(.dark):not(.inner-hero) h2,
body:not(.home) main > section:not(.dark):not(.inner-hero) h3,
body:not(.home) .premium-partners + section h1,
body:not(.home) .premium-partners + section h2,
body:not(.home) .premium-partners + section h3{
  color:#11161a!important;
  opacity:1!important;
}

body:not(.home) .section.paper p,
body:not(.home) main > section:not(.dark):not(.inner-hero) p,
body:not(.home) .premium-partners + section p,
body:not(.home) .spec-list p,
body:not(.home) .feature p,
body:not(.home) .quote-block p{
  color:#374148!important;
  opacity:1!important;
}

body:not(.home) .section.paper li,
body:not(.home) main > section:not(.dark):not(.inner-hero) li,
body:not(.home) .premium-partners + section li,
body:not(.home) .spec,
body:not(.home) .feature{
  color:#2f383f!important;
}

body:not(.home) .section.paper small,
body:not(.home) main > section:not(.dark):not(.inner-hero) small,
body:not(.home) .premium-partners + section small{
  color:#58636b!important;
}

body:not(.home) .section.paper .eyebrow,
body:not(.home) main > section:not(.dark):not(.inner-hero) .eyebrow,
body:not(.home) .premium-partners + section .eyebrow{
  color:#424d55!important;
}

/* 2) FOOTER CONTACT PANEL:
   move from pure black to the same graphite language as the site. */
.site-footer .footer-contact-copy{
  background:
    radial-gradient(circle at 100% 0%,rgba(22,143,255,.085),transparent 38%),
    radial-gradient(circle at 0% 100%,rgba(229,29,42,.060),transparent 38%),
    linear-gradient(145deg,#171b21 0%,#20262d 52%,#15191f 100%)!important;
  background-color:#1a1f25!important;
  border:1px solid rgba(255,255,255,.085)!important;
  box-shadow:
    0 18px 44px rgba(20,26,31,.14),
    inset 0 1px 0 rgba(255,255,255,.025)!important;
}

.site-footer .footer-contact-copy h2{
  color:#fff!important;
}
.site-footer .footer-contact-copy .eyebrow{
  color:rgba(255,255,255,.70)!important;
}
.site-footer .footer-contact-link{
  border-bottom-color:rgba(255,255,255,.10)!important;
}
.site-footer .footer-contact-link small{
  color:rgba(255,255,255,.56)!important;
}
.site-footer .footer-contact-link strong{
  color:rgba(255,255,255,.94)!important;
}
.site-footer .footer-contact-link span{
  color:rgba(255,255,255,.78)!important;
}


/* ==========================================================================
   D-TECH V18 — MOBILE DROPDOWN CONTRAST FIX ONLY
   Fixes black-on-black submenu text in mobile navigation.
   ========================================================================== */
@media(max-width:1024px){

  /* Mobile menu keeps the graphite identity. */
  .main-nav.open,
  body.menu-open .main-nav{
    color:#fff!important;
  }

  /* Main menu items readable on dark overlay. */
  .main-nav.open > a,
  .main-nav.open .nav-parent > button,
  body.menu-open .main-nav > a,
  body.menu-open .main-nav .nav-parent > button{
    color:rgba(255,255,255,.88)!important;
  }

  /* Dropdown itself: dark graphite panel, never black text. */
  .main-nav.open .nav-drop,
  body.menu-open .main-nav .nav-drop{
    background:
      linear-gradient(145deg,rgba(20,24,30,.98),rgba(28,33,40,.98))!important;
    border-color:rgba(255,255,255,.10)!important;
    box-shadow:none!important;
  }

  .main-nav.open .nav-drop a,
  body.menu-open .main-nav .nav-drop a{
    color:rgba(255,255,255,.82)!important;
    background:transparent!important;
    border-color:rgba(255,255,255,.07)!important;
  }

  .main-nav.open .nav-drop a:hover,
  .main-nav.open .nav-drop a:focus-visible,
  body.menu-open .main-nav .nav-drop a:hover,
  body.menu-open .main-nav .nav-drop a:focus-visible{
    color:#fff!important;
    background:rgba(255,255,255,.055)!important;
  }

  /* Active/current submenu item gets the D-Tech accent without losing readability. */
  .main-nav.open .nav-drop a.active,
  body.menu-open .main-nav .nav-drop a.active{
    color:#fff!important;
    background:
      linear-gradient(90deg,rgba(229,29,42,.10),rgba(22,143,255,.08))!important;
  }

  /* Dropdown trigger and + indicator remain visible. */
  .main-nav.open .nav-parent > button::after,
  body.menu-open .main-nav .nav-parent > button::after{
    color:var(--red)!important;
  }
}


/* ==========================================================================
   D-TECH V19 — UNIFIED MOBILE MENU SYSTEM
   One menu language across ALL pages/subpages, GR + EN.
   Desktop remains untouched.
   ========================================================================== */
@media (max-width:1024px){

  /* HEADER BAR */
  .site-header,
  .site-header.scrolled,
  body.home .site-header,
  body:not(.home) .site-header,
  body.menu-open .site-header{
    background:#a4acb2!important;
    background-image:
      linear-gradient(115deg,rgba(255,255,255,.10),rgba(70,78,85,.05)),
      var(--dt-circuit-light)!important;
    background-size:100% 100%,760px 480px!important;
    background-repeat:no-repeat,repeat!important;
    background-position:center!important;
    background-blend-mode:normal,multiply!important;
    border-bottom:1px solid rgba(20,26,31,.12)!important;
  }

  /* LOGO ON MOBILE HEADER */
  .site-header .brand-logo-dark{
    opacity:1!important;
  }
  .site-header .brand-logo-light{
    opacity:0!important;
  }

  /* HAMBURGER */
  .site-header .menu-toggle span{
    background:#1b2228!important;
  }

  /* FULL MOBILE MENU PANEL */
  .main-nav,
  .main-nav.open,
  body.menu-open .main-nav,
  body.home .main-nav.open,
  body:not(.home) .main-nav.open{
    background:
      radial-gradient(circle at 92% 4%,rgba(22,143,255,.10),transparent 40%),
      radial-gradient(circle at 4% 96%,rgba(229,29,42,.08),transparent 38%),
      linear-gradient(145deg,#161b21 0%,#20262d 58%,#15191f 100%)!important;
    color:#fff!important;
    border:0!important;
    box-shadow:none!important;
  }

  /* TOP LEVEL LINKS — same everywhere */
  .main-nav > a,
  .main-nav .nav-parent > button,
  .main-nav.open > a,
  .main-nav.open .nav-parent > button,
  body.menu-open .main-nav > a,
  body.menu-open .main-nav .nav-parent > button{
    color:rgba(255,255,255,.88)!important;
    background:transparent!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
    font-weight:600!important;
  }

  .main-nav > a:hover,
  .main-nav > a:focus-visible,
  .main-nav .nav-parent > button:hover,
  .main-nav .nav-parent > button:focus-visible{
    color:#fff!important;
    background:rgba(255,255,255,.035)!important;
  }

  /* ACTIVE TOP LEVEL */
  .main-nav > a.active,
  .main-nav .nav-parent.active > button,
  .main-nav .nav-parent > button[aria-expanded="true"]{
    color:#fff!important;
    font-weight:700!important;
  }

  /* DROPDOWN CONTAINER */
  .main-nav .nav-drop,
  .main-nav.open .nav-drop,
  body.menu-open .main-nav .nav-drop,
  body.home .main-nav .nav-drop,
  body:not(.home) .main-nav .nav-drop{
    background:#1b2128!important;
    background-image:
      linear-gradient(145deg,rgba(255,255,255,.025),rgba(0,0,0,.04))!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.09)!important;
    box-shadow:none!important;
    border-radius:0!important;
    margin:6px 0 10px!important;
    padding:0!important;
  }

  /* DROPDOWN LINKS */
  .main-nav .nav-drop a,
  .main-nav.open .nav-drop a,
  body.menu-open .main-nav .nav-drop a,
  body.home .main-nav .nav-drop a,
  body:not(.home) .main-nav .nav-drop a{
    color:rgba(255,255,255,.78)!important;
    background:transparent!important;
    border-bottom:1px solid rgba(255,255,255,.065)!important;
    font-weight:500!important;
  }

  .main-nav .nav-drop a:last-child{
    border-bottom:0!important;
  }

  .main-nav .nav-drop a:hover,
  .main-nav .nav-drop a:focus-visible,
  .main-nav.open .nav-drop a:hover,
  .main-nav.open .nav-drop a:focus-visible{
    color:#fff!important;
    background:rgba(255,255,255,.045)!important;
  }

  /* ACTIVE SUBMENU ITEM */
  .main-nav .nav-drop a.active,
  .main-nav.open .nav-drop a.active,
  body.menu-open .main-nav .nav-drop a.active{
    color:#fff!important;
    font-weight:700!important;
    background:
      linear-gradient(90deg,rgba(229,29,42,.09),rgba(22,143,255,.07))!important;
  }

  /* PLUS / CHEVRON */
  .main-nav .nav-parent > button::after,
  .main-nav.open .nav-parent > button::after{
    color:#e51d2a!important;
  }

  /* CTA */
  .main-nav .nav-cta,
  .main-nav.open .nav-cta{
    color:#fff!important;
    border:1px solid rgba(229,29,42,.72)!important;
    background:rgba(229,29,42,.04)!important;
  }

  /* LANGUAGE SWITCH */
  .site-header .lang-switch,
  .site-header .lang-switch a{
    color:#1b2228!important;
  }

  /* MAKE SURE PAGE-SPECIFIC MOBILE OVERRIDES CANNOT REINTRODUCE DARK TEXT */
  body.home .main-nav.open a,
  body.home .main-nav.open button,
  body:not(.home) .main-nav.open a,
  body:not(.home) .main-nav.open button{
    text-shadow:none!important;
  }
}

/* Smaller phones: same system, only spacing changes */
@media (max-width:640px){
  .main-nav .nav-drop,
  .main-nav.open .nav-drop{
    margin:4px 0 8px!important;
  }
}


/* ==========================================================================
   D-TECH V20 — MOBILE MENU LOCKED / IDENTICAL ON EVERY PAGE
   Home and inner pages now use exactly the same colors/states.
   ========================================================================== */
@media (max-width:1024px){

  /* One single gunmetal mobile header/menu canvas everywhere. */
  html body .site-header,
  html body .site-header.scrolled,
  html body.menu-open .site-header,
  html body.home .site-header,
  html body.home.menu-open .site-header,
  html body:not(.home) .site-header,
  html body:not(.home).menu-open .site-header{
    background-color:#a4acb2!important;
    background-image:
      linear-gradient(115deg,rgba(255,255,255,.10),rgba(70,78,85,.05)),
      var(--dt-circuit-light)!important;
    background-size:100% 100%,760px 480px!important;
    background-repeat:no-repeat,repeat!important;
    background-position:center!important;
    background-blend-mode:normal,multiply!important;
    border-bottom:1px solid rgba(20,26,31,.12)!important;
  }

  /* Opening the menu or a dropdown NEVER changes the menu canvas color. */
  html body .main-nav,
  html body .main-nav.open,
  html body.menu-open .main-nav,
  html body.home .main-nav,
  html body.home .main-nav.open,
  html body.home.menu-open .main-nav,
  html body:not(.home) .main-nav,
  html body:not(.home) .main-nav.open,
  html body:not(.home).menu-open .main-nav{
    background-color:#a4acb2!important;
    background-image:
      linear-gradient(115deg,rgba(255,255,255,.08),rgba(70,78,85,.045)),
      var(--dt-circuit-light)!important;
    background-size:100% 100%,760px 480px!important;
    background-repeat:no-repeat,repeat!important;
    background-position:center!important;
    background-blend-mode:normal,multiply!important;
    color:#182027!important;
    box-shadow:none!important;
  }

  /* Top-level mobile navigation always dark graphite text on gunmetal. */
  html body .main-nav > a,
  html body .main-nav .nav-parent > button,
  html body .main-nav.open > a,
  html body .main-nav.open .nav-parent > button,
  html body.menu-open .main-nav > a,
  html body.menu-open .main-nav .nav-parent > button{
    color:#20272d!important;
    background:transparent!important;
    border-bottom:1px solid rgba(23,29,35,.13)!important;
    font-weight:650!important;
  }

  html body .main-nav > a:hover,
  html body .main-nav > a:focus-visible,
  html body .main-nav .nav-parent > button:hover,
  html body .main-nav .nav-parent > button:focus-visible,
  html body .main-nav .nav-parent > button[aria-expanded="true"]{
    color:#0d1115!important;
    background:rgba(255,255,255,.10)!important;
  }

  /* Dropdown is the ONLY dark area. Identical on home + all subpages. */
  html body .main-nav .nav-drop,
  html body .main-nav.open .nav-drop,
  html body.menu-open .main-nav .nav-drop,
  html body.home .main-nav .nav-drop,
  html body.home .main-nav.open .nav-drop,
  html body:not(.home) .main-nav .nav-drop,
  html body:not(.home) .main-nav.open .nav-drop{
    background:#222830!important;
    background-image:
      linear-gradient(145deg,rgba(255,255,255,.025),rgba(0,0,0,.035))!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.08)!important;
    box-shadow:none!important;
  }

  html body .main-nav .nav-drop a,
  html body .main-nav.open .nav-drop a,
  html body.menu-open .main-nav .nav-drop a,
  html body.home .main-nav .nav-drop a,
  html body:not(.home) .main-nav .nav-drop a{
    color:rgba(255,255,255,.86)!important;
    background:transparent!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
    font-weight:550!important;
  }

  html body .main-nav .nav-drop a:hover,
  html body .main-nav .nav-drop a:focus-visible{
    color:#fff!important;
    background:rgba(255,255,255,.055)!important;
  }

  html body .main-nav .nav-drop a.active{
    color:#fff!important;
    background:
      linear-gradient(90deg,rgba(229,29,42,.10),rgba(22,143,255,.08))!important;
    font-weight:700!important;
  }

  /* Keep + indicator visible on gunmetal. */
  html body .main-nav .nav-parent > button::after{
    color:#d71920!important;
  }

  /* Mobile CTA adapts to gunmetal */
  html body .main-nav .nav-cta{
    color:#182027!important;
    border:1px solid rgba(215,25,32,.65)!important;
    background:rgba(255,255,255,.08)!important;
  }
}


/* ==========================================================================
   D-TECH V21 — HOME MOBILE HEADER STATE HARD LOCK
   Exact override for the legacy v4 home/menu-open selector.
   The top bar NEVER changes color when the mobile menu/dropdown opens.
   ========================================================================== */
@media (max-width:1024px){

  html body.home.v4-opening-only.menu-open .site-header:not(.scrolled),
  html body.home.menu-open .site-header:not(.scrolled),
  html body.home.v4-opening-only .site-header:not(.scrolled),
  html body.home .site-header:not(.scrolled),
  html body:not(.home).menu-open .site-header,
  html body:not(.home) .site-header{
    background-color:#a4acb2!important;
    background-image:
      linear-gradient(115deg,rgba(255,255,255,.10),rgba(70,78,85,.05)),
      var(--dt-circuit-light)!important;
    background-size:100% 100%,760px 480px!important;
    background-repeat:no-repeat,repeat!important;
    background-position:center!important;
    background-blend-mode:normal,multiply!important;
    border-bottom:1px solid rgba(20,26,31,.12)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    color:#1b2228!important;
  }

  /* The bar is light/gunmetal in every state, so lock the dark-letter logo. */
  html body.home.v4-opening-only.menu-open .site-header:not(.scrolled) .brand-logo-dark,
  html body.home.menu-open .site-header:not(.scrolled) .brand-logo-dark,
  html body.home.v4-opening-only .site-header:not(.scrolled) .brand-logo-dark,
  html body.home .site-header:not(.scrolled) .brand-logo-dark,
  html body:not(.home) .site-header .brand-logo-dark{
    opacity:1!important;
  }

  html body.home.v4-opening-only.menu-open .site-header:not(.scrolled) .brand-logo-light,
  html body.home.menu-open .site-header:not(.scrolled) .brand-logo-light,
  html body.home.v4-opening-only .site-header:not(.scrolled) .brand-logo-light,
  html body.home .site-header:not(.scrolled) .brand-logo-light,
  html body:not(.home) .site-header .brand-logo-light{
    opacity:0!important;
  }

  /* Hamburger and language remain dark on the gunmetal bar. */
  html body.home.v4-opening-only.menu-open .site-header:not(.scrolled) .menu-toggle span,
  html body.home.menu-open .site-header:not(.scrolled) .menu-toggle span,
  html body.home .site-header:not(.scrolled) .menu-toggle span,
  html body:not(.home) .site-header .menu-toggle span{
    background:#1b2228!important;
  }

  html body.home.v4-opening-only.menu-open .site-header:not(.scrolled) .lang-switch a,
  html body.home.menu-open .site-header:not(.scrolled) .lang-switch a,
  html body.home .site-header:not(.scrolled) .lang-switch a,
  html body:not(.home) .site-header .lang-switch a{
    color:#1b2228!important;
  }
}


/* ==========================================================================
   D-TECH V22 — ONE MOBILE/TABLET MENU FOR EVERY HTML
   Every page now carries body.unified-mobile-nav.
   This layer deliberately ignores home/inner-page differences.
   ========================================================================== */
@media (max-width:1100px){

  /* TOP BAR — identical on every page and in every state */
  html body.unified-mobile-nav .site-header,
  html body.unified-mobile-nav .site-header.scrolled,
  html body.unified-mobile-nav.menu-open .site-header,
  html body.unified-mobile-nav.home .site-header,
  html body.unified-mobile-nav.home.menu-open .site-header,
  html body.unified-mobile-nav.home.v4-opening-only .site-header:not(.scrolled),
  html body.unified-mobile-nav.home.v4-opening-only.menu-open .site-header:not(.scrolled){
    background-color:#a4acb2!important;
    background-image:
      linear-gradient(115deg,rgba(255,255,255,.10),rgba(70,78,85,.05)),
      var(--dt-circuit-light)!important;
    background-size:100% 100%,760px 480px!important;
    background-repeat:no-repeat,repeat!important;
    background-position:center!important;
    background-blend-mode:normal,multiply!important;
    border-bottom:1px solid rgba(20,26,31,.12)!important;
    color:#1b2228!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  /* Logo / hamburger / language — identical */
  html body.unified-mobile-nav .site-header .brand-logo-dark,
  html body.unified-mobile-nav.menu-open .site-header .brand-logo-dark,
  html body.unified-mobile-nav.home.v4-opening-only.menu-open .site-header:not(.scrolled) .brand-logo-dark{
    opacity:1!important;
  }
  html body.unified-mobile-nav .site-header .brand-logo-light,
  html body.unified-mobile-nav.menu-open .site-header .brand-logo-light,
  html body.unified-mobile-nav.home.v4-opening-only.menu-open .site-header:not(.scrolled) .brand-logo-light{
    opacity:0!important;
  }
  html body.unified-mobile-nav .site-header .menu-toggle span,
  html body.unified-mobile-nav.menu-open .site-header .menu-toggle span{
    background:#1b2228!important;
  }
  html body.unified-mobile-nav .site-header .lang-switch a,
  html body.unified-mobile-nav.menu-open .site-header .lang-switch a{
    color:#1b2228!important;
  }

  /* OPEN MOBILE/TABLET MENU CANVAS — same gunmetal as the top bar */
  html body.unified-mobile-nav .main-nav,
  html body.unified-mobile-nav .main-nav.open,
  html body.unified-mobile-nav.menu-open .main-nav,
  html body.unified-mobile-nav.home .main-nav.open,
  html body.unified-mobile-nav.home.v4-opening-only .main-nav.open{
    background-color:#a4acb2!important;
    background-image:
      linear-gradient(115deg,rgba(255,255,255,.08),rgba(70,78,85,.045)),
      var(--dt-circuit-light)!important;
    background-size:100% 100%,760px 480px!important;
    background-repeat:no-repeat,repeat!important;
    background-position:center!important;
    background-blend-mode:normal,multiply!important;
    color:#20272d!important;
    border-top:1px solid rgba(20,26,31,.10)!important;
    box-shadow:none!important;
  }

  /* TOP LEVEL LINKS */
  html body.unified-mobile-nav .main-nav > a,
  html body.unified-mobile-nav .main-nav .nav-parent > button,
  html body.unified-mobile-nav .main-nav.open > a,
  html body.unified-mobile-nav .main-nav.open .nav-parent > button{
    color:#20272d!important;
    background:transparent!important;
    border-bottom:1px solid rgba(23,29,35,.13)!important;
    font-weight:650!important;
  }
  html body.unified-mobile-nav .main-nav > a:hover,
  html body.unified-mobile-nav .main-nav > a:focus-visible,
  html body.unified-mobile-nav .main-nav .nav-parent > button:hover,
  html body.unified-mobile-nav .main-nav .nav-parent > button:focus-visible,
  html body.unified-mobile-nav .main-nav .nav-parent > button[aria-expanded="true"]{
    color:#0d1115!important;
    background:rgba(255,255,255,.11)!important;
  }

  /* DROPDOWN — the only dark surface, same on every page */
  html body.unified-mobile-nav .main-nav .nav-drop,
  html body.unified-mobile-nav .main-nav.open .nav-drop,
  html body.unified-mobile-nav.menu-open .main-nav .nav-drop,
  html body.unified-mobile-nav.home .main-nav .nav-drop,
  html body.unified-mobile-nav.home.v4-opening-only .main-nav .nav-drop{
    background:#242b33!important;
    background-image:
      linear-gradient(145deg,rgba(255,255,255,.025),rgba(0,0,0,.035))!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.09)!important;
    box-shadow:none!important;
    margin:6px 0 10px!important;
  }

  html body.unified-mobile-nav .main-nav .nav-drop a,
  html body.unified-mobile-nav .main-nav.open .nav-drop a{
    color:rgba(255,255,255,.88)!important;
    background:transparent!important;
    border-bottom:1px solid rgba(255,255,255,.07)!important;
    font-weight:550!important;
  }
  html body.unified-mobile-nav .main-nav .nav-drop a:hover,
  html body.unified-mobile-nav .main-nav .nav-drop a:focus-visible{
    color:#fff!important;
    background:rgba(255,255,255,.055)!important;
  }
  html body.unified-mobile-nav .main-nav .nav-drop a.active{
    color:#fff!important;
    font-weight:700!important;
    background:
      linear-gradient(90deg,rgba(229,29,42,.10),rgba(22,143,255,.08))!important;
  }

  html body.unified-mobile-nav .main-nav .nav-parent > button::after{
    color:#d71920!important;
  }

  html body.unified-mobile-nav .main-nav .nav-cta{
    color:#182027!important;
    border:1px solid rgba(215,25,32,.65)!important;
    background:rgba(255,255,255,.08)!important;
  }
}




/* ==========================================================================
   D-TECH FINAL V33 — PROVEN ANIMATION STACKING ONLY
   Geometry/timing are the original working implementation.
   Only the stacking collision from later global media rules is corrected.
   ========================================================================== */
body.home.v4-opening-only .v4-logo-stage img.v4-hero-logo{
  z-index:1!important;
}
body.home.v4-opening-only .v4-logo-stage img.v4-hero-energy{
  z-index:2!important;
}


/* ==========================================================================
   D-TECH FINAL V34 — TABLET HERO COPY SPACING ONLY
   Adds breathing room below the proven logo/effect composition.
   Animation, logo position and mobile/desktop are untouched.
   ========================================================================== */
@media (min-width:641px) and (max-width:1024px){
  body.home.v4-opening-only .v4-hero-copy,
  body.home.v4-opening-only.page-ready .v4-hero-copy{
    top:462px!important;
  }
}


/* ========================================================================== 
   D-TECH FINAL V4 — approved compact layout pass
   Scope: desktop inner heroes, homepage desktop CTA position, softer footer
   watermark / red-blue ambience. Tablet and mobile inner-hero sizing untouched.
   ========================================================================== */

/* Softer red / blue ambience site-wide without changing brand button/logo colours. */
:root{
  --dark-fade-blue:rgba(37,112,184,.08);
  --dark-fade-red:rgba(213,27,35,.06);
  --dark-fade-blue-mobile:rgba(37,112,184,.10);
  --dark-fade-red-mobile:rgba(213,27,35,.08);
  --dt-separator-red:rgba(229,29,42,.28);
  --dt-separator-blue:rgba(22,143,255,.28);
}

/* Footer watermark: same artwork/position, deliberately quieter. */
.site-footer .footer-grid::after{
  background:linear-gradient(100deg,
    rgba(10,100,205,.11) 0%,
    rgba(18,23,28,.035) 48%,
    rgba(190,24,36,.11) 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  opacity:.42!important;
}

/* Desktop only: reduce the oversized first paragraph/hero on internal pages. */
@media (min-width:1025px){
  body:not(.home) .inner-hero{
    min-height:50vh!important;
    padding-top:52px!important;
    padding-bottom:38px!important;
  }

  /* Homepage desktop CTA clone: anchored lower-right without touching tablet/mobile flow. */
  body.home.v4-opening-only .v4-hero-copy > .hero-actions{display:none!important;}
  body.home.v4-opening-only .brand-opening.v4-hero > .desktop-hero-actions{
    position:absolute!important;
    right:max(6vw,calc((100vw - 1280px)/2))!important;
    bottom:46px!important;
    z-index:7!important;
    display:flex!important;
    align-items:center!important;
    gap:24px!important;
    margin:0!important;
  }
}

/* Tablet/mobile: original CTA remains exactly in its proven location. */
@media (max-width:1024px){
  body.home.v4-opening-only .brand-opening.v4-hero > .desktop-hero-actions{display:none!important;}
}


/* ==========================================================================
   D-TECH FINAL MASTER — three approved finishing corrections
   1) Desktop ONLINE telemetry separated from CTA, same baseline.
   2) Remove footer red/blue separator only where contact/map panel is absent.
   3) Compact internal-page hero on tablet only; mobile and desktop preserved.
   ========================================================================== */

/* Desktop homepage: CTA remains lower-right; ONLINE moves to the opposite
   lower side on the exact same baseline. */
@media (min-width:1025px){
  body.home.v4-opening-only .hero-telemetry{
    left:max(6vw,calc((100vw - 1280px)/2))!important;
    right:auto!important;
    bottom:46px!important;
  }
}

/* Pages from which the map/contact panel was removed must not retain its seam. */
body.no-footer-contact .site-footer .footer-grid::before{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
}

/* Tablet only: compact the oversized first hero. Desktop V4 and mobile stay intact. */
@media (min-width:641px) and (max-width:1024px){
  body:not(.home) .inner-hero{
    min-height:54vh!important;
    padding-top:56px!important;
    padding-bottom:42px!important;
  }
}


/* ==========================================================================
   D-TECH FINAL MASTER V6 — solution seam + calmer footer circuit only
   ========================================================================== */

/* Solution pages: visually weld the trusted-technologies carousel to the
   final consultation CTA. No black seam / empty strip between the two. */
.solution-brand-carousel{
  margin-bottom:0!important;
  border-bottom:0!important;
}
.solution-brand-carousel + .final-cta{
  margin-top:0!important;
  border-top:0!important;
}
/* Remove the decorative top strip that was reading as a black gap at this join. */
.solution-brand-carousel + .final-cta::before{
  display:none!important;
  content:none!important;
}

/* Footer only: calmer circuit field. Keep the same artwork, but enlarge its
   repeat tile and reduce contrast so there are fewer visible traces per view. */
.site-footer .footer-grid,
.site-footer .footer-bottom{
  background-size:100% 100%,1280px 810px!important;
}
.site-footer .footer-grid{
  background-blend-mode:normal,multiply!important;
}
/* The footer's circuit presence is intentionally quieter than the rest of site. */
.site-footer .footer-grid::before{
  filter:saturate(.72) brightness(.96);
}
@media(max-width:900px){
  .site-footer .footer-grid,
  .site-footer .footer-bottom{
    background-size:100% 100%,1040px 658px!important;
  }
}
@media(max-width:620px){
  .site-footer .footer-grid,
  .site-footer .footer-bottom{
    background-size:100% 100%,920px 582px!important;
  }
}


/* ==========================================================================
   D-TECH FINAL MASTER V7 — subtle solution divider + much calmer footer
   ========================================================================== */

/* Thin red/blue signature line between the solution technology carousel
   and the final consultation section. */
.solution-brand-carousel + .final-cta{
  position:relative!important;
  border-top:0!important;
}
.solution-brand-carousel + .final-cta::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(520px,52vw)!important;
  height:2px!important;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(35,112,184,.58) 22%,
    rgba(35,112,184,.72) 42%,
    rgba(213,27,35,.72) 58%,
    rgba(213,27,35,.58) 78%,
    transparent 100%)!important;
  box-shadow:none!important;
}

/* Footer only: substantially reduce circuit density and visual noise.
   The circuit remains as a very sparse background signature. */
.site-footer .footer-grid,
.site-footer .footer-bottom{
  background-size:100% 100%,1900px 1200px!important;
}
.site-footer .footer-grid{
  background-blend-mode:normal,multiply!important;
}
@media(max-width:900px){
  .site-footer .footer-grid,
  .site-footer .footer-bottom{
    background-size:100% 100%,1600px 1010px!important;
  }
}
@media(max-width:620px){
  .site-footer .footer-grid,
  .site-footer .footer-bottom{
    background-size:100% 100%,1400px 885px!important;
  }
}


/* ==========================================================================
   D-TECH FINAL MASTER V8 — responsive solution signature divider
   ========================================================================== */
.solution-brand-carousel + .final-cta::before{
  width:min(820px,68vw)!important; /* desktop */
}
@media (min-width:641px) and (max-width:1024px){
  .solution-brand-carousel + .final-cta::before{
    width:min(560px,64vw)!important; /* tablet */
  }
}
@media (max-width:640px){
  .solution-brand-carousel + .final-cta::before{
    width:68vw!important; /* mobile */
  }
}


/* ==========================================================================
   D-TECH FINAL MASTER V9 — premium section signature dividers
   Same V8 red/blue language, applied only between major content sections.
   ========================================================================== */

/* Major content sections get a centered signature line at their upper edge.
   Hero sections are intentionally excluded; the solution carousel/final CTA
   keeps its dedicated V8 divider. */
main > section.section:not(:first-child),
main > section.section.paper:not(:first-child),
main > section.section.dark:not(:first-child),
main > section.manifesto:not(:first-child),
main > section.impact-stats:not(:first-child),
main > section.premium-partners:not(.solution-brand-carousel):not(:first-child),
main > section.field-stories:not(:first-child){
  position:relative;
}

main > section.section:not(:first-child)::before,
main > section.section.paper:not(:first-child)::before,
main > section.section.dark:not(:first-child)::before,
main > section.manifesto:not(:first-child)::before,
main > section.impact-stats:not(:first-child)::before,
main > section.premium-partners:not(.solution-brand-carousel):not(:first-child)::before,
main > section.field-stories:not(:first-child)::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:min(820px,68vw);
  height:2px;
  background:linear-gradient(90deg,
    transparent 0%,
    rgba(35,112,184,.58) 22%,
    rgba(35,112,184,.72) 42%,
    rgba(213,27,35,.72) 58%,
    rgba(213,27,35,.58) 78%,
    transparent 100%);
  box-shadow:none;
  pointer-events:none;
  z-index:3;
}

/* Do not duplicate the already approved V8 solution divider. */
main > .solution-brand-carousel::before{
  content:none!important;
}

@media (min-width:641px) and (max-width:1024px){
  main > section.section:not(:first-child)::before,
  main > section.section.paper:not(:first-child)::before,
  main > section.section.dark:not(:first-child)::before,
  main > section.manifesto:not(:first-child)::before,
  main > section.impact-stats:not(:first-child)::before,
  main > section.premium-partners:not(.solution-brand-carousel):not(:first-child)::before,
  main > section.field-stories:not(:first-child)::before{
    width:min(560px,64vw);
  }
}
@media (max-width:640px){
  main > section.section:not(:first-child)::before,
  main > section.section.paper:not(:first-child)::before,
  main > section.section.dark:not(:first-child)::before,
  main > section.manifesto:not(:first-child)::before,
  main > section.impact-stats:not(:first-child)::before,
  main > section.premium-partners:not(.solution-brand-carousel):not(:first-child)::before,
  main > section.field-stories:not(:first-child)::before{
    width:68vw;
  }
}


/* ==========================================================================
   D-TECH FINAL MASTER V11 TEST — white circuit solution-brand carousel only
   ========================================================================== */

/* Only the brand slideshow on the six solution pages changes surface.
   Homepage partner carousel and every other section remain untouched. */
main > .solution-brand-carousel{
  background:#ffffff!important;
  color:#11161a!important;
  position:relative!important;
  overflow:hidden!important;
}

/* Use the site's existing LIGHT circuit artwork, very softly, on white. */
main > .solution-brand-carousel > .dtech-circuit-canvas{
  display:block!important;
  background-image:var(--dt-circuit-light)!important;
  background-color:transparent!important;
  background-size:940px 595px!important;
  background-repeat:repeat!important;
  background-position:center top!important;
  opacity:.22!important;
  filter:grayscale(.15) contrast(.92)!important;
  z-index:0!important;
}

/* Keep carousel content crisp above the circuit. */
main > .solution-brand-carousel > .container{
  position:relative!important;
  z-index:2!important;
}

main > .solution-brand-carousel .premium-partners-copy h2{
  color:#101318!important;
}
main > .solution-brand-carousel .premium-partners-copy p{
  color:#626b76!important;
}
main > .solution-brand-carousel .eyebrow{
  color:#6d7680!important;
}

/* The logos' own white canvases now disappear naturally into the section. */
main > .solution-brand-carousel .premium-brand-viewport{
  background:rgba(255,255,255,.58)!important;
  border-top-color:rgba(30,40,48,.12)!important;
  border-bottom-color:rgba(30,40,48,.12)!important;
}

/* Keep the V8/V9 red-blue divider exactly as approved. */


/* ==========================================================================
   D-TECH FINAL MASTER V12 — homepage brand carousel matches solution carousel
   ========================================================================== */

/* Homepage "trusted brands" carousel: same approved white/circuit treatment. */
body.home main > .premium-partners:not(.solution-brand-carousel){
  background:#ffffff!important;
  color:#11161a!important;
  position:relative!important;
  overflow:hidden!important;
}
body.home main > .premium-partners:not(.solution-brand-carousel) > .dtech-circuit-canvas{
  display:block!important;
  background-image:var(--dt-circuit-light)!important;
  background-color:transparent!important;
  background-size:940px 595px!important;
  background-repeat:repeat!important;
  background-position:center top!important;
  opacity:.22!important;
  filter:grayscale(.15) contrast(.92)!important;
  z-index:0!important;
}
body.home main > .premium-partners:not(.solution-brand-carousel) > .container{
  position:relative!important;
  z-index:2!important;
}
body.home main > .premium-partners:not(.solution-brand-carousel) .premium-partners-copy h2{
  color:#101318!important;
}
body.home main > .premium-partners:not(.solution-brand-carousel) .premium-partners-copy p{
  color:#626b76!important;
}
body.home main > .premium-partners:not(.solution-brand-carousel) .eyebrow{
  color:#6d7680!important;
}
body.home main > .premium-partners:not(.solution-brand-carousel) .premium-brand-viewport{
  background:rgba(255,255,255,.58)!important;
  border-top-color:rgba(30,40,48,.12)!important;
  border-bottom-color:rgba(30,40,48,.12)!important;
}


/* ==========================================================================
   D-TECH FINAL MASTER V15 — CORRECT footer circuit source
   The visible circuit in the gray phone/email/address zone is painted by
   .site-footer itself. Dedicated SVG = 27.3% fewer neutral circuit paths.
   ========================================================================== */
.site-footer{
  background-image:
    linear-gradient(118deg,rgba(255,255,255,.17),rgba(91,101,110,.065)),
    url("assets/circuit-footer-sparse-light.svg")!important;
  background-size:100% 100%,900px 570px!important;
  background-repeat:no-repeat,repeat!important;
  background-position:center,center top!important;
  background-blend-mode:normal,multiply!important;
}
