:root{--bg:#06121b;--panel:#0c1e2b;--panel2:#112a39;--light:#edf4f8;--muted:#9ab1bf;--line:rgba(116,184,216,.19);--blue:#0B5ED7;--cyan:#00B4FF;--white:#f3f8fa;--max:1220px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--white);font:16px/1.55 Inter,Segoe UI,Arial,sans-serif;background:var(--bg);overflow-x:hidden}body:before{content:"";pointer-events:none;position:fixed;inset:0;z-index:-1;background-image:linear-gradient(rgba(74,208,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(74,208,255,.035) 1px,transparent 1px);background-size:44px 44px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.wrap{width:min(var(--max),calc(100% - 32px));margin:auto}.topbar{position:sticky;top:0;z-index:50;backdrop-filter:blur(18px);background:rgba(5,14,23,.94);border-bottom:1px solid var(--line)}.nav{min-height:79px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:17px;line-height:1;font-weight:950;letter-spacing:-.04em}.brand-mark{width:46px;height:46px;background:linear-gradient(135deg,#32566e,#10202c);border:1px solid var(--cyan);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);display:grid;place-items:center;font-size:23px;text-shadow:0 0 14px var(--cyan)}.brand-mark span{color:var(--cyan)}.brand-text em,.foot-brand b{font-style:normal;color:var(--cyan)}.brand-text small{display:block;font-size:8px;color:#a6b9c4;letter-spacing:.16em;padding-top:7px}.nav nav{display:flex;align-items:center;gap:20px;font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}.nav nav a:hover{color:var(--cyan)}.cart-link{border:1px solid #2773a0;border-radius:30px;padding:10px 15px}.cart-link span{background:var(--cyan);color:#06121b;border-radius:50%;padding:3px 7px;margin-left:6px}.menu{display:none;background:none;color:white;border:1px solid var(--line);border-radius:9px;padding:6px 12px}.demo-banner{padding:8px 0;background:#112639;color:#67d6ff;font-size:10px;letter-spacing:.09em;font-weight:800;text-align:center}.demo-banner span{color:#a5bbca;font-weight:500}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(52px,7.3vw,104px);line-height:.93;letter-spacing:-.06em;margin-bottom:24px}h2{font-size:clamp(35px,5vw,65px);letter-spacing:-.045em;line-height:1.03;margin-bottom:25px}h3{font-size:23px;letter-spacing:-.025em}p{color:var(--muted)}.kicker{font:800 11px/1.2 ui-monospace,monospace;color:var(--cyan);letter-spacing:.19em;text-transform:uppercase;margin-bottom:17px}.cyan{color:var(--cyan)}.lead{font-size:clamp(17px,2vw,21px);max-width:670px;color:#c5d6de}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #366784;background:rgba(255,255,255,.03);padding:14px 20px;border-radius:100px;color:white;font-weight:800;font-size:13px;transition:.2s}.btn:hover{transform:translateY(-2px);border-color:var(--cyan)}.btn.primary{background:var(--cyan);color:#06131e;border-color:var(--cyan)}.btn.secondary{background:#1266c7;border-color:#1266c7}.btn.block{width:100%}.btn.small{padding:10px 14px;font-size:12px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}section{padding:88px 0}.hero{min-height:710px;padding:0;position:relative;overflow:hidden;display:flex;align-items:center;background:radial-gradient(circle at 80% 35%,rgba(18,112,164,.23),transparent 42%),linear-gradient(130deg,#081520,#030b12)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06121b 0%,rgba(6,18,27,.92) 46%,rgba(6,18,27,.18) 100%);pointer-events:none}.hero .wrap{position:relative;z-index:2}.hero-copy{max-width:770px;padding:100px 0}.steel-stage{position:absolute;right:-6%;top:12%;width:51%;height:78%;border:1px solid rgba(67,186,248,.24);transform:skewY(-9deg);background:linear-gradient(130deg,rgba(18,126,184,.1),rgba(0,0,0,.58)),url('assets/stm-industrial-hero.jpg') center/cover;box-shadow:0 45px 130px rgba(0,0,0,.6)}.stage-line{position:absolute;inset:10%;border:1px dashed rgba(75,211,255,.44)}.stage-line:after{content:"GA / 001 • THIRD ANGLE";position:absolute;bottom:10px;right:12px;font:11px monospace;color:#89dfff}.proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#091923}.proof .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.proof-item{padding:22px 18px;border-right:1px solid var(--line)}.proof-item:last-child{border-right:none}.proof-item strong{display:block}.proof-item small{color:var(--muted)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:36px}.section-head p{max-width:440px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));border:1px solid var(--line);border-radius:18px;padding:27px;min-height:250px}.card:hover{border-color:rgba(74,208,255,.47)}.card .number{font:800 11px monospace;color:var(--cyan);letter-spacing:.2em}.card h3{margin-top:45px;margin-bottom:12px}.card p{font-size:14px}.card .minor{font:800 11px monospace;color:var(--cyan)}.light-section{background:var(--light);color:#0b1b28}.light-section p{color:#596f7d}.light-section .kicker{color:#056eb3}.light-section .card{background:white;border-color:#d4e2e9}.feature{min-height:390px;border:1px solid var(--line);border-radius:18px;overflow:hidden;position:relative;display:flex;align-items:end;background:linear-gradient(135deg,#223b4a,#07111b)}.feature:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 80px,rgba(94,191,235,.07) 81px 82px);transform:scale(1.3)}.feature:nth-child(2){background:linear-gradient(135deg,#1b4354,#07111b)}.feature:nth-child(3){background:linear-gradient(135deg,#184063,#07111b)}.feature-content{position:relative;z-index:1;padding:27px;width:100%;background:linear-gradient(transparent,rgba(3,11,18,.96))}.feature-content p{font-size:13px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.step{border-right:1px solid var(--line);padding:25px}.step:last-child{border-right:0}.step b{display:block;font:900 35px monospace;color:#266080;margin-bottom:28px}.step p{font-size:13px}.cta{background:linear-gradient(120deg,#123b5a,#084a92);padding:65px 0}.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}.cta h2{margin-bottom:0}.page-head{padding:95px 0 40px;min-height:275px;background:radial-gradient(circle at 80% 0%,rgba(22,123,193,.18),transparent 30%)}.page-head h1{font-size:clamp(45px,6vw,76px);margin:0 0 18px}.page-head p{max-width:760px}.filterbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.filterbar button{color:white;background:#102735;border:1px solid var(--line);padding:10px 14px;border-radius:30px}.filterbar button.active{background:var(--cyan);color:#07131d}.product-card{border:1px solid var(--line);border-radius:17px;background:#0c1b27;overflow:hidden}.product-art{height:200px;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle,#20475e,#0a1722);color:#b1dcea;font-size:68px}.product-art:after{content:"SKETCH TECH / CONCEPT CATALOGUE";position:absolute;bottom:12px;right:14px;font:9px monospace;color:#7398ac}.product-body{padding:20px}.product-body h3{font-size:18px;margin:10px 0}.price{font-size:22px;font-weight:850;color:white}.product-body p{font-size:13px;min-height:43px}.tag{display:inline-block;color:var(--cyan);font:800 10px monospace;letter-spacing:.12em;text-transform:uppercase}.product-actions{display:flex;gap:9px;margin-top:16px}.product-actions button{flex:1}.detail{display:grid;grid-template-columns:1fr 1fr;gap:40px}.detail-art{height:420px;font-size:116px;border-radius:20px}.spec{border-top:1px solid var(--line);padding:13px 0;color:#b1c4d0;font-size:14px}.spec strong{color:white}.cart-table{width:100%;border-collapse:collapse}.cart-table th,.cart-table td{padding:16px 10px;text-align:left;border-bottom:1px solid var(--line)}.cart-table th{font-size:11px;color:#83a3b6;letter-spacing:.1em;text-transform:uppercase}.qty{display:flex;gap:10px;align-items:center}.qty button{border:1px solid var(--line);background:#183244;color:white;border-radius:6px;padding:5px 10px}.summary{border:1px solid var(--line);padding:25px;border-radius:18px;background:#102330}.summary-row{display:flex;justify-content:space-between;gap:20px;margin:12px 0}.note{font-size:12px;color:#84a0b0}.layout-split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:25px}.form{display:grid;gap:15px}.form label{display:grid;gap:6px;font-size:13px;font-weight:700}.form input,.form textarea,.form select{background:#0c1f2c;color:#f5fbff;border:1px solid #315269;border-radius:9px;padding:13px;width:100%}.form textarea{min-height:120px;resize:vertical}.form input:focus,.form textarea:focus{outline:2px solid var(--cyan)}.empty{padding:45px;border:1px dashed #315a73;border-radius:17px;text-align:center}.pill{display:inline-block;border:1px solid var(--line);border-radius:50px;padding:8px 12px;font-size:11px;color:#b9d8e9;margin:5px}.back{display:inline-block;color:var(--cyan);margin-bottom:24px;font-size:13px}footer{background:#030b12;border-top:1px solid var(--line);padding:50px 0 20px}.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}.foot>div{display:flex;flex-direction:column;align-items:start}.foot a:not(.foot-brand){color:#9fb6c3;font-size:13px;padding:3px 0}.foot b{color:var(--cyan);font-size:13px}.foot-brand{font-weight:950;font-size:22px}.foot p{font-size:13px;margin:16px 0 6px}.foot small{color:#6c8290}.legal{border-top:1px solid var(--line);margin-top:38px;padding-top:15px;font-size:11px;color:#718c9b}#toast{position:fixed;bottom:20px;right:20px;background:#1577a7;padding:14px 21px;z-index:100;border-radius:10px;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}#app{min-height:70vh}@media(max-width:1050px){.nav nav{gap:12px;font-size:11px}.grid.four{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.menu{display:block}.nav nav{display:none;position:absolute;top:79px;left:0;right:0;background:#081924;padding:20px;flex-direction:column;align-items:stretch;gap:16px}.nav nav.open{display:flex}.hero,.hero .wrap{min-height:610px}.hero-copy{padding:70px 0}.steel-stage{opacity:.38;width:90%;right:-45%}.hero:after{background:linear-gradient(90deg,#06121b 0%,rgba(6,18,27,.86) 80%,rgba(6,18,27,.5))}.proof .wrap{grid-template-columns:1fr 1fr}.proof-item:nth-child(2){border-right:0}.section-head,.cta .wrap{display:block}.cta .btn{margin-top:22px}.grid.three,.grid.two,.grid.four,.detail,.layout-split,.foot{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.page-head{padding:65px 0 32px}.cart-table th:nth-child(2),.cart-table td:nth-child(2){display:none}.product-art{height:180px}}@media(max-width:420px){.brand{font-size:13px}.brand-mark{width:39px;height:39px}.brand-text small{font-size:6px}.hero h1{font-size:49px}.process-grid{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--line)}.proof-item{padding:17px 8px}.cart-table th,.cart-table td{padding:12px 4px;font-size:12px}}

/* Official brand integration: exact SVG identity, steel hero, angular design language */
.brand{flex:0 0 auto;max-width:260px}.official-logo{display:block;width:255px;max-width:100%;height:68px;object-fit:contain;object-position:left center}.footer-logo{width:290px;height:auto;max-width:100%;display:block}.foot-brand{display:block}.topbar{background:rgba(7,17,26,.96)}
.hero{background:linear-gradient(90deg,rgba(7,17,26,.98) 0%,rgba(7,17,26,.9) 39%,rgba(7,17,26,.48) 77%),url('assets/stm-industrial-hero.jpg') center center/cover no-repeat;min-height:735px}
.hero:after{background:linear-gradient(90deg,#07111a 0%,rgba(7,17,26,.90) 39%,rgba(7,17,26,.1) 83%)}
.steel-stage{right:0;top:0;width:55%;height:100%;transform:none;border:0;box-shadow:none;background:linear-gradient(90deg,rgba(7,17,26,.45),rgba(7,17,26,.03)),url('assets/stm-industrial-hero.jpg') center/cover no-repeat;clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}
.stage-line{border:1px solid rgba(0,180,255,.18);inset:12%;background:repeating-linear-gradient(0deg,transparent 0 39px,rgba(0,180,255,.04) 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(0,180,255,.04) 40px)}
.hero h1{font-family:Montserrat,Inter,Arial,sans-serif;max-width:840px}.hero h1 .cyan{color:#4dabff}.btn.primary{background:#0B5ED7;color:white;border-color:#00B4FF}.btn.secondary{background:#0B5ED7}.card{border-radius:8px}.feature{border-radius:8px}.product-card{border-radius:8px}.page-head{background:linear-gradient(90deg,#07111a 0%,rgba(7,17,26,.88) 60%,rgba(7,17,26,.38)),url('assets/stm-industrial-hero.jpg') center/cover}.demo-banner{background:#0b2742}
@media(max-width:760px){.official-logo{height:57px;width:205px}.brand{max-width:210px}.hero{background-position:center right}.steel-stage{width:100%;opacity:.40;clip-path:none}.hero:after{background:linear-gradient(90deg,rgba(7,17,26,.95),rgba(7,17,26,.72))}.hero h1{font-size:clamp(40px,11vw,62px)}}

/* V5: approved brand artwork replaces the earlier approximate SVG. */
.official-logo,.footer-logo{object-fit:contain;object-position:left center}
.official-logo{width:285px;height:auto;max-height:76px}
.footer-logo{width:345px;max-width:100%;height:auto}
@media(max-width:760px){.official-logo{width:215px;max-height:62px}}

.wix-product-image {width:100%;height:100%;object-fit:cover;display:block;}
.wix-project-image {width:100%;max-height:190px;object-fit:cover;border-radius:6px;display:block;margin-bottom:20px;}

/* V8 project gallery */
.project-card-link{display:block;color:inherit;text-decoration:none;height:100%}
.project-hero{width:100%;max-height:680px;object-fit:cover;border:1px solid var(--line);margin:28px 0 36px}
.project-copy{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:40px;align-items:start;margin-bottom:42px}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.project-gallery img{width:100%;height:360px;object-fit:cover;border:1px solid var(--line);background:#0d1720}
@media (max-width:800px){.project-copy{grid-template-columns:1fr}.project-gallery{grid-template-columns:1fr}.project-gallery img{height:auto}}

/* V10 CMS image support */
.cms-image-section{position:relative;overflow:hidden}.cms-image-section:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(5,16,24,.88),rgba(5,16,24,.88)),var(--cms-image);background-size:cover;background-position:center;opacity:.28;pointer-events:none}.cms-image-section>.wrap{position:relative;z-index:1}.light-section.cms-image-section:before{background-image:linear-gradient(rgba(237,244,248,.88),rgba(237,244,248,.88)),var(--cms-image);opacity:.6}


/* Version 13: show more of the approved industrial hero image on the homepage */
.hero{min-height:560px;background:linear-gradient(90deg,rgba(7,17,26,.88) 0%,rgba(7,17,26,.62) 34%,rgba(7,17,26,.22) 68%,rgba(7,17,26,.08) 100%),url('assets/stm-industrial-hero.jpg') center center/cover no-repeat}
.hero:after{background:linear-gradient(90deg,rgba(7,17,26,.78) 0%,rgba(7,17,26,.40) 42%,rgba(7,17,26,.06) 78%,rgba(7,17,26,0) 100%)}
.hero .wrap{display:flex;align-items:center;min-height:560px}
.hero-copy{max-width:640px;padding:42px 38px;background:linear-gradient(135deg,rgba(5,15,23,.82),rgba(8,26,40,.56));border:1px solid rgba(103,214,255,.16);border-radius:18px;backdrop-filter:blur(3px);box-shadow:0 18px 55px rgba(0,0,0,.35)}
.hero .lead{max-width:560px}
.steel-stage{right:0;top:0;width:50%;height:100%;background:linear-gradient(90deg,rgba(7,17,26,.18),rgba(7,17,26,.01)),url('assets/stm-industrial-hero.jpg') 78% center/cover no-repeat;opacity:.95;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%)}
.stage-line{inset:8%;opacity:.55}
@media(max-width:760px){
  .hero{min-height:640px;background-position:66% center}
  .hero .wrap{min-height:640px}
  .hero-copy{padding:28px 22px;max-width:none;background:linear-gradient(135deg,rgba(5,15,23,.86),rgba(8,26,40,.60))}
  .steel-stage{width:100%;opacity:.32;clip-path:none;background-position:72% center}
}

/* Version 14: calibrated homepage hero scale for the 2170x725 panoramic artwork */
.hero{
  min-height:clamp(500px,33vw,570px);
  background-color:#07111a;
  background-image:linear-gradient(90deg,rgba(7,17,26,.84) 0%,rgba(7,17,26,.58) 31%,rgba(7,17,26,.16) 63%,rgba(7,17,26,.03) 100%),url('assets/stm-industrial-hero.jpg');
  background-size:auto 100%;
  background-position:center center;
  background-repeat:no-repeat;
}
.hero:after{
  background:linear-gradient(90deg,rgba(7,17,26,.62) 0%,rgba(7,17,26,.28) 40%,rgba(7,17,26,.03) 76%,transparent 100%);
}
.hero .wrap{min-height:clamp(500px,33vw,570px)}
.hero-copy{
  max-width:590px;
  padding:30px 32px;
  background:linear-gradient(135deg,rgba(5,15,23,.78),rgba(8,26,40,.42));
}
.hero h1{font-size:clamp(46px,5.4vw,78px);margin-bottom:18px}
.hero .lead{font-size:clamp(16px,1.4vw,19px);max-width:530px}
.hero .actions{margin-top:24px}
/* Prevent the previous second copy of the artwork from changing the apparent scale. */
.steel-stage{
  right:0;top:0;width:49%;height:100%;
  background:none;
  opacity:1;
  clip-path:none;
  pointer-events:none;
}
.stage-line{inset:7%;border-color:rgba(75,211,255,.32)}
@media (min-width:1700px){
  .hero{background-size:100% auto;min-height:565px}
  .hero .wrap{min-height:565px}
}
@media(max-width:900px){
  .hero{
    min-height:610px;
    background-size:auto 100%;
    background-position:62% center;
  }
  .hero .wrap{min-height:610px}
  .hero-copy{max-width:560px}
}
@media(max-width:760px){
  .hero{
    min-height:650px;
    background-size:auto 100%;
    background-position:66% center;
  }
  .hero .wrap{min-height:650px;align-items:flex-end;padding-bottom:30px}
  .hero-copy{padding:24px 20px;background:linear-gradient(135deg,rgba(5,15,23,.88),rgba(8,26,40,.64))}
  .steel-stage{display:none}
  .hero:after{background:linear-gradient(180deg,rgba(7,17,26,.18) 0%,rgba(7,17,26,.38) 42%,rgba(7,17,26,.88) 100%)}
}


/* Version 15: approved clean artwork used site-wide */
.hero{
  background-image:linear-gradient(90deg,rgba(7,17,26,.82) 0%,rgba(7,17,26,.56) 32%,rgba(7,17,26,.14) 66%,rgba(7,17,26,.02) 100%),url('assets/stm-industrial-hero.jpg');
  background-size:cover;
  background-position:center center;
}
.page-head{
  background-image:linear-gradient(90deg,rgba(7,17,26,.92) 0%,rgba(7,17,26,.72) 48%,rgba(7,17,26,.28) 78%,rgba(7,17,26,.08) 100%),url('assets/stm-industrial-hero.jpg');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
@media(min-width:1400px){.hero{background-position:center 48%}}
@media(max-width:900px){.hero{background-position:58% center}.page-head{background-position:60% center}}
@media(max-width:760px){.hero{background-position:56% center}.page-head{background-position:62% center}}

/* Version 16: homepage, project gallery and live enquiry polish */
.hero-copy{max-width:560px;padding:28px 30px;background:linear-gradient(135deg,rgba(5,15,23,.75),rgba(8,26,40,.36));border-color:rgba(103,214,255,.13);box-shadow:0 20px 65px rgba(0,0,0,.28)}
.hero h1{font-size:clamp(44px,5vw,74px)}
.hero{background-position:center 49%}
.stage-line{opacity:.28}
.stage-line:after{opacity:.55}
.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));gap:24px;align-items:stretch}
.project-card{overflow:hidden;border:1px solid var(--line);background:linear-gradient(145deg,#0d2130,#08141e);min-height:100%;transition:transform .2s,border-color .2s,box-shadow .2s}
.project-card:hover{transform:translateY(-4px);border-color:rgba(0,180,255,.48);box-shadow:0 18px 45px rgba(0,0,0,.28)}
.project-card-link{display:flex;flex-direction:column;height:100%}
.project-card-media{aspect-ratio:16/9;overflow:hidden;background:#08141e;border-bottom:1px solid var(--line)}
.wix-project-image{width:100%;height:100%;max-height:none;object-fit:cover;border-radius:0;margin:0;transition:transform .35s}
.project-card:hover .wix-project-image{transform:scale(1.025)}
.project-card-body{padding:25px 26px 27px;display:flex;flex-direction:column;flex:1}
.project-card-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.project-index{font:800 11px ui-monospace,monospace;color:#5c859d;letter-spacing:.14em}
.project-card h3{font-size:clamp(24px,2vw,31px);margin:0 0 10px}.project-card p{font-size:14px;margin-bottom:24px;max-width:620px}
.project-link-text{margin-top:auto;color:var(--cyan);font:800 11px ui-monospace,monospace;letter-spacing:.14em}.project-link-text b{font-size:15px;margin-left:6px}
.contact-panel{padding:32px}.contact-aside{padding:32px;background:linear-gradient(155deg,#0d2738,#0a1721)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-status{min-height:24px;color:#9fe0ff;font-size:13px;font-weight:700}
.contact-points{display:grid;gap:0;margin:25px 0;border-top:1px solid var(--line)}.contact-points span{padding:12px 0;border-bottom:1px solid var(--line);font:800 11px ui-monospace,monospace;letter-spacing:.1em;color:#a6c7d9}
@media(max-width:760px){.hero-copy{max-width:none;padding:23px 20px}.form-row{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}}


/* =======================================================================
   V18 — premium industrial/editorial refinement
   Keeps Wix data, cart, checkout and CMS wiring unchanged.
   ======================================================================= */
:root{--bg:#071019;--panel:#0a1823;--panel2:#0e2331;--light:#eef3f6;--muted:#9aacb7;--line:rgba(155,198,219,.16);--cyan:#42bfff;--blue:#0B5ED7;--white:#f5f8fa;--max:1280px}
body{background:#071019;letter-spacing:.005em}body:before{opacity:.55;background-size:64px 64px}.wrap{width:min(var(--max),calc(100% - 48px))}section{padding:110px 0}h1,h2,h3{font-family:Inter,"Arial Narrow",Arial,sans-serif}h2{font-size:clamp(42px,5vw,72px);line-height:.96;letter-spacing:-.055em}h3{letter-spacing:-.035em}.kicker{font-size:10px;letter-spacing:.23em;color:#69cbff}.lead{line-height:1.55}.text-link{font:850 11px/1 ui-monospace,monospace;letter-spacing:.13em;color:#b8d7e8;border-bottom:1px solid rgba(66,191,255,.45);padding-bottom:8px}.text-link b{color:var(--cyan);font-size:14px;margin-left:6px}
.topbar{background:rgba(5,13,20,.90);border-bottom:1px solid rgba(255,255,255,.07)}.nav{min-height:88px}.official-logo{height:58px;width:auto;object-fit:contain}.nav nav{gap:24px;font-size:10px;letter-spacing:.13em}.nav nav a{opacity:.78;transition:.2s}.nav nav a:hover{opacity:1}.cart-link{border-radius:4px;border-color:rgba(66,191,255,.30);padding:10px 13px}.demo-banner{padding:7px 0;background:#0a2030;color:#69cbff;border-bottom:1px solid rgba(66,191,255,.12)}
.hero{min-height:690px;background-image:linear-gradient(90deg,rgba(5,13,20,.96) 0%,rgba(5,13,20,.84) 31%,rgba(5,13,20,.35) 57%,rgba(5,13,20,.05) 80%),url('assets/stm-industrial-hero.jpg');background-size:cover;background-position:center center}.hero .wrap{min-height:690px;align-items:center}.hero:after{background:linear-gradient(180deg,transparent 55%,rgba(5,13,20,.46) 100%)}.hero-copy{position:relative;max-width:660px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}.hero-rail{display:flex;gap:24px;align-items:center;margin-bottom:34px;color:#839aa7;font:750 9px/1 ui-monospace,monospace;letter-spacing:.17em}.hero-rail span:first-child{color:#dce9ef}.hero-rail:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(66,191,255,.5),transparent)}.hero h1{font-size:clamp(58px,6.3vw,94px);line-height:.88;margin-bottom:28px;max-width:720px}.hero .lead{font-size:18px;max-width:610px;color:#c0d0d8}.hero .actions{margin-top:34px}.hero .btn{border-radius:4px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;padding:14px 19px}.hero .btn.primary{box-shadow:0 10px 30px rgba(11,94,215,.18)}.hero-caption{position:absolute;right:5.5%;bottom:44px;z-index:3;text-align:right;font:800 11px/1.7 ui-monospace,monospace;letter-spacing:.19em;color:#9db4c0}.hero-caption span,.hero-caption b{display:block}.hero-caption b{color:#e7f4fa;font-weight:900}.steel-stage{display:none}
.proof{background:#07131d;border-color:rgba(255,255,255,.08)}.proof .wrap{grid-template-columns:repeat(4,1fr)}.proof-item{padding:28px 24px 26px;border-right:1px solid rgba(255,255,255,.08)}.proof-item strong{font-size:12px;letter-spacing:.08em}.proof-item small{font-size:11px;margin-top:4px;display:block}
.section-head{align-items:flex-end;margin-bottom:54px}.section-head p{max-width:470px;font-size:16px}.section-head h2{margin-bottom:0}
.capability-grid{gap:0;border-top:1px solid rgba(255,255,255,.10)}.capability-card{min-height:320px;border:0;border-right:1px solid rgba(255,255,255,.09);border-radius:0;background:transparent;padding:30px 28px 34px;position:relative}.capability-card:first-child{border-left:1px solid rgba(255,255,255,.09)}.capability-card:hover{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.12);transform:none}.capability-card .number{font-size:10px;color:#648398}.cap-line{width:32px;height:2px;background:var(--cyan);margin:38px 0 55px}.capability-card h3{margin:0 0 15px;font-size:25px}.capability-card p{font-size:13px;line-height:1.65}.capability-card .minor{position:absolute;left:28px;bottom:28px;font-size:9px}
.home-approach{background:#eef3f6;padding:120px 0}.approach-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:90px;align-items:start}.approach-heading h2{font-size:clamp(54px,6vw,86px);color:#091621;margin:0}.approach-copy>.lead{font-size:21px;color:#334d5c;margin-bottom:48px}.approach-points{border-top:1px solid #bdcdd6}.approach-points>div{display:grid;grid-template-columns:55px 1fr;column-gap:22px;padding:24px 0;border-bottom:1px solid #cbd8df}.approach-points span{font:850 10px ui-monospace,monospace;color:#287aa7;padding-top:6px}.approach-points h3{font-size:21px;margin:0 0 5px;color:#10212c}.approach-points p{grid-column:2;font-size:13px;margin:0;color:#607581}
.home-projects{background:#061019}.home-projects .feature{min-height:430px;border-radius:0;border-color:rgba(255,255,255,.10)}.home-projects .feature-content{padding:32px;background:linear-gradient(transparent 15%,rgba(3,10,15,.92) 100%)}.home-projects .feature h3{font-size:29px}.project-grid{grid-template-columns:1fr;gap:36px;max-width:1120px}.project-card{border-radius:0;background:#091722;border-color:rgba(255,255,255,.10)}.project-card-link{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr)}.project-card-media{aspect-ratio:16/8;border-bottom:0;border-right:1px solid rgba(255,255,255,.08)}.project-card-body{padding:42px 40px}.project-card h3{font-size:clamp(30px,3vw,44px)}.project-card p{font-size:15px;line-height:1.65}.project-card:hover{transform:none;box-shadow:0 24px 80px rgba(0,0,0,.26)}.project-link-text{padding-top:22px;border-top:1px solid rgba(255,255,255,.10)}
#process{background:#eef3f6;color:#0c1a24}#process h2{color:#0c1a24}.process-grid{border-top:1px solid #bdcbd3}.step{padding:32px 30px 40px;border-color:#c7d3da}.step b{font-size:17px;margin-bottom:55px;color:#6b8fa2}.step h3{font-size:24px;color:#12232e}.step p{color:#607682}
.services-editorial{padding-top:72px}.service-list{border-top:1px solid rgba(255,255,255,.12)}.service-row{display:grid;grid-template-columns:90px minmax(0,1fr) 250px;gap:32px;align-items:center;padding:36px 0;border-bottom:1px solid rgba(255,255,255,.10)}.service-no{font:800 11px ui-monospace,monospace;color:#66879b}.service-main h3{font-size:clamp(27px,3vw,40px);margin:0 0 9px}.service-main p{margin:0;max-width:680px}.service-action{text-align:right}
.about-editorial{padding:120px 0}.about-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.65fr);gap:100px;align-items:start}.about-grid h2{font-size:clamp(45px,5.3vw,78px)}.about-manifesto{border-top:1px solid rgba(255,255,255,.12)}.about-manifesto span{display:block;color:#6bcaff;font:850 10px ui-monospace,monospace;letter-spacing:.13em;padding-top:20px}.about-manifesto p{padding:7px 0 22px;margin:0;border-bottom:1px solid rgba(255,255,255,.10);color:#b4c5cf}
.page-head{min-height:390px;padding:120px 0 58px;background-image:linear-gradient(90deg,rgba(5,13,20,.97) 0%,rgba(5,13,20,.82) 48%,rgba(5,13,20,.28) 76%,rgba(5,13,20,.12) 100%),url('assets/stm-industrial-hero.jpg');background-position:center 48%}.page-head h1{font-size:clamp(55px,6.2vw,88px);line-height:.93;max-width:900px}.page-head p{font-size:17px;color:#bdccd4}
.contact-layout{gap:32px}.contact-panel,.contact-aside{border-radius:0;border-color:rgba(255,255,255,.10);background:#0a1823}.contact-panel{padding:42px}.contact-aside{padding:42px;background:#091722}.form input,.form textarea,.form select{border-radius:3px;background:#07131c;border-color:#294558}.form label{font-size:11px;letter-spacing:.04em}.contact-points span{letter-spacing:.14em}
.cta{padding:82px 0;background:linear-gradient(90deg,rgba(5,22,36,.95),rgba(8,67,118,.86)),url('assets/stm-industrial-hero.jpg') center/cover}.cta h2{font-size:clamp(40px,5vw,67px)}.cta .btn{border-radius:4px}
footer{padding-top:65px;background:#040b10}.footer-logo{max-width:245px;height:auto}.foot{grid-template-columns:1.6fr .7fr .9fr}.btn{border-radius:4px;text-transform:uppercase;letter-spacing:.06em;font-size:11px}
@media(max-width:1000px){.approach-layout{grid-template-columns:1fr;gap:45px}.project-card-link{grid-template-columns:1fr}.project-card-media{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.service-row{grid-template-columns:60px 1fr}.service-action{grid-column:2;text-align:left}.about-grid{grid-template-columns:1fr;gap:60px}}
@media(max-width:760px){.wrap{width:min(var(--max),calc(100% - 28px))}section{padding:76px 0}.nav{min-height:76px}.official-logo{height:50px}.hero{min-height:690px;background-position:61% center}.hero .wrap{min-height:690px;align-items:flex-end;padding-bottom:52px}.hero-copy{padding:0}.hero h1{font-size:clamp(48px,13vw,68px)}.hero .lead{font-size:16px}.hero-rail{display:none}.hero-caption{display:none}.hero:after{background:linear-gradient(180deg,rgba(5,13,20,.08) 0%,rgba(5,13,20,.42) 43%,rgba(5,13,20,.94) 100%)}.proof .wrap{grid-template-columns:1fr 1fr}.proof-item{padding:20px 12px}.capability-grid{grid-template-columns:1fr}.capability-card,.capability-card:first-child{border-left:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09)}.capability-card{min-height:260px}.cap-line{margin:28px 0 40px}.home-approach{padding:82px 0}.approach-heading h2{font-size:48px}.project-card-body{padding:28px 24px}.project-card-media{aspect-ratio:16/10}.process-grid{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid #c7d3da}.step b{margin-bottom:22px}.service-row{grid-template-columns:45px 1fr;gap:15px;padding:28px 0}.page-head{min-height:310px;padding:85px 0 42px;background-position:62% center}.contact-panel,.contact-aside{padding:26px 22px}}


/* =======================================================================
   V21 — exact original S emblem + centred brand text
   ======================================================================= */
.stm-brand-lockup{
  display:flex;
  align-items:center;
  gap:14px;
  max-width:none;
  min-width:355px;
}
.stm-brand-icon{
  width:62px;
  height:66px;
  object-fit:cover;
  object-position:center;
  flex:0 0 auto;
  display:block;
}
.stm-brand-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  line-height:1;
  min-width:235px;
}
.stm-brand-copy strong{
  color:#f4f7f9;
  font-size:25px;
  font-weight:950;
  letter-spacing:.045em;
  white-space:nowrap;
}
.stm-brand-company{
  color:#aebbc5;
  font-size:12px;
  font-weight:700;
  letter-spacing:.31em;
  margin-top:7px;
  padding-left:.31em;
  white-space:nowrap;
}
.stm-brand-services{
  color:#d2dce2;
  font-size:7px;
  font-weight:700;
  letter-spacing:.15em;
  margin-top:8px;
  white-space:nowrap;
}
.stm-brand-services i,
.stm-footer-copy i{
  color:#00b4ff;
  font-style:normal;
  padding:0 4px;
}
.nav{
  min-height:92px;
}
.nav nav{
  margin-left:auto;
}

.stm-footer-lockup{
  display:flex;
  align-items:center;
  gap:18px;
  width:max-content;
  max-width:100%;
}
.stm-footer-icon{
  width:88px;
  height:94px;
  object-fit:cover;
  display:block;
  flex:0 0 auto;
}
.stm-footer-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  line-height:1;
}
.stm-footer-copy strong{
  color:#f4f7f9;
  font-size:31px;
  font-weight:950;
  letter-spacing:.045em;
  white-space:nowrap;
}
.stm-footer-copy>span{
  color:#aebbc5;
  font-size:14px;
  font-weight:700;
  letter-spacing:.32em;
  padding-left:.32em;
  margin-top:8px;
  white-space:nowrap;
}
.stm-footer-copy small{
  color:#d2dce2;
  font-size:8px;
  font-weight:700;
  letter-spacing:.16em;
  margin-top:10px;
  white-space:nowrap;
}

@media(max-width:1080px){
  .stm-brand-lockup{min-width:300px;gap:10px}
  .stm-brand-icon{width:52px;height:56px}
  .stm-brand-copy{min-width:205px}
  .stm-brand-copy strong{font-size:21px}
  .stm-brand-company{font-size:10px}
  .stm-brand-services{font-size:6px;letter-spacing:.11em}
  .nav nav{gap:12px}
}
@media(max-width:760px){
  .stm-brand-lockup{min-width:0;gap:9px}
  .stm-brand-icon{width:47px;height:50px}
  .stm-brand-copy{min-width:175px}
  .stm-brand-copy strong{font-size:18px}
  .stm-brand-company{font-size:8px;letter-spacing:.27em;margin-top:5px}
  .stm-brand-services{font-size:5.6px;letter-spacing:.08em;margin-top:6px}
  .nav{min-height:76px}
  .nav nav{top:76px}
  .stm-footer-lockup{gap:12px}
  .stm-footer-icon{width:68px;height:73px}
  .stm-footer-copy strong{font-size:23px}
  .stm-footer-copy>span{font-size:10px}
  .stm-footer-copy small{font-size:6.2px}
}
@media(max-width:420px){
  .stm-brand-copy strong{font-size:16px}
  .stm-brand-company{font-size:7px}
  .stm-brand-services{display:none}
}


/* V24 — new imagery is used on the Projects page only.
   Homepage layout and imagery remain unchanged from V22. */
.project-image-card{
  min-height:430px;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  position:relative;
  overflow:hidden;
}
.project-image-card .feature-content{
  position:absolute;
  inset:auto 0 0 0;
  z-index:2;
  padding:34px 30px;
  background:linear-gradient(180deg,transparent,rgba(2,9,14,.96));
}
.project-image-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 55px rgba(0,0,0,.32);
}
@media(max-width:760px){
  .project-image-card{min-height:360px}
}


/* =======================================================================
   V26 — Projects use the same cinematic hero treatment as the homepage.
   Homepage itself is unchanged.
   ======================================================================= */

.project-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:34px;
  max-width:1180px;
}

.project-hero-card{
  position:relative;
  min-height:520px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background-color:#08141e;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.project-hero-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(3,10,15,.18) 48%,rgba(3,10,15,.45) 100%);
  pointer-events:none;
}

.project-hero-link{
  position:relative;
  z-index:2;
  min-height:520px;
  display:flex;
  align-items:flex-end;
  padding:52px;
}

.project-hero-copy{
  max-width:620px;
}

.project-hero-rail{
  display:flex;
  gap:18px;
  align-items:center;
  margin-bottom:22px;
  color:#8fa7b4;
  font:800 10px/1 ui-monospace,monospace;
  letter-spacing:.16em;
}

.project-hero-rail:after{
  content:"";
  width:72px;
  height:1px;
  background:linear-gradient(90deg,rgba(66,191,255,.70),transparent);
}

.project-hero-copy h3{
  margin:0 0 18px;
  font-size:clamp(42px,5.2vw,72px);
  line-height:.94;
  letter-spacing:-.055em;
  max-width:760px;
}

.project-hero-copy p{
  max-width:560px;
  margin:0 0 28px;
  color:#c6d6de;
  font-size:16px;
  line-height:1.6;
}

.project-hero-action{
  display:inline-block;
  padding-bottom:8px;
  border-bottom:1px solid rgba(66,191,255,.50);
  color:#e7f4fa;
  font:850 10px/1 ui-monospace,monospace;
  letter-spacing:.14em;
}

.project-hero-action b{color:#42bfff}

.project-hero-card:hover{
  border-color:rgba(66,191,255,.32);
  box-shadow:0 24px 70px rgba(0,0,0,.30);
}

.project-detail-hero{
  min-height:690px;
  padding:0;
  position:relative;
  background-color:#071019;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.project-detail-hero:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(4,13,20,.03),rgba(4,13,20,.18) 48%,rgba(4,13,20,.62) 100%);
  pointer-events:none;
}

.project-detail-hero-inner{
  position:relative;
  z-index:2;
  min-height:690px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding-top:46px;
  padding-bottom:64px;
}

.project-back{
  align-self:flex-start;
  color:#b9ccd5;
}

.project-detail-copy{
  max-width:760px;
}

.project-detail-copy .tag{
  display:inline-block;
  margin:18px 0 18px;
}

.project-detail-copy h1{
  margin:0 0 24px;
  font-size:clamp(58px,7vw,98px);
  line-height:.88;
  letter-spacing:-.06em;
  max-width:900px;
}

.project-detail-copy .lead{
  max-width:650px;
  color:#d1e0e7;
  font-size:19px;
}

.project-detail-body{
  padding-top:100px;
}

.project-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:56px;
}

.project-gallery img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  display:block;
  border:1px solid rgba(255,255,255,.10);
}

@media(max-width:760px){
  .project-hero-card,
  .project-hero-link{
    min-height:440px;
  }
  .project-hero-link{
    padding:30px 24px;
  }
  .project-hero-copy h3{
    font-size:44px;
  }
  .project-detail-hero,
  .project-detail-hero-inner{
    min-height:600px;
  }
  .project-detail-hero-inner{
    padding-top:32px;
    padding-bottom:42px;
  }
  .project-detail-copy h1{
    font-size:52px;
  }
  .project-detail-copy .lead{
    font-size:16px;
  }
  .project-gallery{
    grid-template-columns:1fr;
  }
}

/* =======================================================================
   V28 — internal page heroes use the approved image treatment.
   Homepage, Shop, Contact and Account remain unchanged.
   ======================================================================= */
.page-head.page-head-services,
.page-head.page-head-projects,
.page-head.page-head-about{
  min-height:620px;
  padding:0;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center;
}
.page-head.page-head-services{
  background-image:url('assets/stm-services-hero.jpg');
  background-position:center center;
}
.page-head.page-head-projects{
  background-image:url('assets/stm-projects-hero.jpg');
  background-position:center center;
}
.page-head.page-head-about{
  background-image:url('assets/stm-about-hero.jpg');
  background-position:center center;
}
.page-head.page-head-services::after,
.page-head.page-head-projects::after,
.page-head.page-head-about::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(2,11,18,.20) 0%,rgba(2,11,18,.06) 58%,rgba(2,11,18,.12) 100%);
  pointer-events:none;
}
.page-head.page-head-services .wrap,
.page-head.page-head-projects .wrap,
.page-head.page-head-about .wrap{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  min-height:620px;
}
.page-head.page-head-services .page-head-copy,
.page-head.page-head-projects .page-head-copy,
.page-head.page-head-about .page-head-copy{
  width:min(720px,63vw);
  padding:44px 42px 46px;
  border:1px solid rgba(119,198,235,.30);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(3,15,24,.91),rgba(5,23,35,.72));
  box-shadow:0 22px 70px rgba(0,0,0,.28);
  backdrop-filter:blur(8px);
}
.page-head.page-head-services .kicker,
.page-head.page-head-projects .kicker,
.page-head.page-head-about .kicker{
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:26px;
  font-size:12px;
}
.page-head.page-head-services .kicker::after,
.page-head.page-head-projects .kicker::after,
.page-head.page-head-about .kicker::after{
  content:"";
  width:150px;
  height:1px;
  background:linear-gradient(90deg,var(--cyan),transparent);
}
.page-head.page-head-services h1,
.page-head.page-head-projects h1,
.page-head.page-head-about h1{
  max-width:680px;
  margin:0 0 24px;
  font-size:clamp(54px,5.9vw,86px);
  line-height:.91;
  letter-spacing:-.055em;
  text-shadow:0 7px 30px rgba(0,0,0,.46);
}
.page-head.page-head-services p,
.page-head.page-head-projects p,
.page-head.page-head-about p{
  max-width:620px;
  margin:0;
  color:#d6e2e8;
  font-size:18px;
  line-height:1.55;
  text-shadow:0 3px 18px rgba(0,0,0,.5);
}
@media(max-width:900px){
  .page-head.page-head-services,
  .page-head.page-head-projects,
  .page-head.page-head-about,
  .page-head.page-head-services .wrap,
  .page-head.page-head-projects .wrap,
  .page-head.page-head-about .wrap{min-height:560px}
  .page-head.page-head-services .page-head-copy,
  .page-head.page-head-projects .page-head-copy,
  .page-head.page-head-about .page-head-copy{width:min(680px,78vw)}
}
@media(max-width:760px){
  .page-head.page-head-services,
  .page-head.page-head-projects,
  .page-head.page-head-about,
  .page-head.page-head-services .wrap,
  .page-head.page-head-projects .wrap,
  .page-head.page-head-about .wrap{min-height:520px}
  .page-head.page-head-services,
  .page-head.page-head-projects,
  .page-head.page-head-about{background-position:61% center}
  .page-head.page-head-services::after,
  .page-head.page-head-projects::after,
  .page-head.page-head-about::after{background:linear-gradient(180deg,rgba(2,11,18,.10),rgba(2,11,18,.34) 45%,rgba(2,11,18,.65))}
  .page-head.page-head-services .wrap,
  .page-head.page-head-projects .wrap,
  .page-head.page-head-about .wrap{align-items:flex-end;padding-bottom:28px}
  .page-head.page-head-services .page-head-copy,
  .page-head.page-head-projects .page-head-copy,
  .page-head.page-head-about .page-head-copy{
    width:100%;
    padding:28px 24px 30px;
    border-radius:12px;
    background:linear-gradient(135deg,rgba(3,15,24,.92),rgba(5,23,35,.80));
  }
  .page-head.page-head-services h1,
  .page-head.page-head-projects h1,
  .page-head.page-head-about h1{font-size:clamp(43px,11.5vw,60px)}
  .page-head.page-head-services p,
  .page-head.page-head-projects p,
  .page-head.page-head-about p{font-size:16px}
}


/* =======================================================================
   V30 — Shop, Contact and Account hero imagery.
   Homepage, Services, Projects and About remain unchanged.
   ======================================================================= */
.page-head.page-head-shop,
.page-head.page-head-contact,
.page-head.page-head-account,
.page-head.page-head-cart,
.page-head.page-head-checkout{
  min-height:620px;
  padding:0;
  position:relative;
  display:flex;
  align-items:center;
  overflow:hidden;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center;
}
.page-head.page-head-shop{
  background-image:url('assets/stm-shop-hero.jpg');
  background-position:center center;
}
.page-head.page-head-contact{
  background-image:url('assets/stm-contact-hero.jpg');
  background-position:center center;
}
.page-head.page-head-account,
.page-head.page-head-cart,
.page-head.page-head-checkout{
  background-image:url('assets/stm-account-hero.jpg');
  background-position:center center;
}
.page-head.page-head-shop::after,
.page-head.page-head-contact::after,
.page-head.page-head-account::after,
.page-head.page-head-cart::after,
.page-head.page-head-checkout::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(2,11,18,.20) 0%,rgba(2,11,18,.06) 58%,rgba(2,11,18,.12) 100%);
  pointer-events:none;
}
.page-head.page-head-shop .wrap,
.page-head.page-head-contact .wrap,
.page-head.page-head-account .wrap,
.page-head.page-head-cart .wrap,
.page-head.page-head-checkout .wrap{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  min-height:620px;
}
.page-head.page-head-shop .page-head-copy,
.page-head.page-head-contact .page-head-copy,
.page-head.page-head-account .page-head-copy,
.page-head.page-head-cart .page-head-copy,
.page-head.page-head-checkout .page-head-copy{
  width:min(720px,63vw);
  padding:44px 42px 46px;
  border:1px solid rgba(119,198,235,.30);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(3,15,24,.91),rgba(5,23,35,.72));
  box-shadow:0 22px 70px rgba(0,0,0,.28);
  backdrop-filter:blur(8px);
}
.page-head.page-head-shop .kicker,
.page-head.page-head-contact .kicker,
.page-head.page-head-account .kicker,
.page-head.page-head-cart .kicker,
.page-head.page-head-checkout .kicker{
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:26px;
  font-size:12px;
}
.page-head.page-head-shop .kicker::after,
.page-head.page-head-contact .kicker::after,
.page-head.page-head-account .kicker::after,
.page-head.page-head-cart .kicker::after,
.page-head.page-head-checkout .kicker::after{
  content:"";
  width:150px;
  height:1px;
  background:linear-gradient(90deg,var(--cyan),transparent);
}
.page-head.page-head-shop h1,
.page-head.page-head-contact h1,
.page-head.page-head-account h1,
.page-head.page-head-cart h1,
.page-head.page-head-checkout h1{
  max-width:680px;
  margin:0 0 24px;
  font-size:clamp(54px,5.9vw,86px);
  line-height:.91;
  letter-spacing:-.055em;
  text-shadow:0 7px 30px rgba(0,0,0,.46);
}
.page-head.page-head-shop p,
.page-head.page-head-contact p,
.page-head.page-head-account p,
.page-head.page-head-cart p,
.page-head.page-head-checkout p{
  max-width:620px;
  margin:0;
  color:#d6e2e8;
  font-size:18px;
  line-height:1.55;
  text-shadow:0 3px 18px rgba(0,0,0,.5);
}
@media(max-width:900px){
  .page-head.page-head-shop,
  .page-head.page-head-contact,
  .page-head.page-head-account,
  .page-head.page-head-cart,
  .page-head.page-head-checkout,
  .page-head.page-head-shop .wrap,
  .page-head.page-head-contact .wrap,
  .page-head.page-head-account .wrap,
.page-head.page-head-cart .wrap,
.page-head.page-head-checkout .wrap{min-height:560px}
  .page-head.page-head-shop .page-head-copy,
  .page-head.page-head-contact .page-head-copy,
  .page-head.page-head-account .page-head-copy,
.page-head.page-head-cart .page-head-copy,
.page-head.page-head-checkout .page-head-copy{width:min(680px,78vw)}
}
@media(max-width:760px){
  .page-head.page-head-shop,
  .page-head.page-head-contact,
  .page-head.page-head-account,
  .page-head.page-head-cart,
  .page-head.page-head-checkout,
  .page-head.page-head-shop .wrap,
  .page-head.page-head-contact .wrap,
  .page-head.page-head-account .wrap,
.page-head.page-head-cart .wrap,
.page-head.page-head-checkout .wrap{min-height:520px}
  .page-head.page-head-shop,
  .page-head.page-head-contact,
  .page-head.page-head-account,
.page-head.page-head-cart,
.page-head.page-head-checkout{background-position:61% center}
  .page-head.page-head-shop::after,
  .page-head.page-head-contact::after,
  .page-head.page-head-account::after,
.page-head.page-head-cart::after,
.page-head.page-head-checkout::after{background:linear-gradient(180deg,rgba(2,11,18,.10),rgba(2,11,18,.34) 45%,rgba(2,11,18,.65))}
  .page-head.page-head-shop .wrap,
  .page-head.page-head-contact .wrap,
  .page-head.page-head-account .wrap,
.page-head.page-head-cart .wrap,
.page-head.page-head-checkout .wrap{align-items:flex-end;padding-bottom:28px}
  .page-head.page-head-shop .page-head-copy,
  .page-head.page-head-contact .page-head-copy,
  .page-head.page-head-account .page-head-copy,
.page-head.page-head-cart .page-head-copy,
.page-head.page-head-checkout .page-head-copy{
    width:100%;
    padding:28px 24px 30px;
    border-radius:12px;
    background:linear-gradient(135deg,rgba(3,15,24,.92),rgba(5,23,35,.80));
  }
  .page-head.page-head-shop h1,
  .page-head.page-head-contact h1,
  .page-head.page-head-account h1,
.page-head.page-head-cart h1,
.page-head.page-head-checkout h1{font-size:clamp(43px,11.5vw,60px)}
  .page-head.page-head-shop p,
  .page-head.page-head-contact p,
  .page-head.page-head-account p,
.page-head.page-head-cart p,
.page-head.page-head-checkout p{font-size:16px}
}


/* V31 — CMS-controlled hero support for Cart/Checkout.
   An inline CMS image overrides this fallback automatically. */
.page-head.page-head-cart,
.page-head.page-head-checkout{
  background-color:#07131d;
  background-image:linear-gradient(135deg,#07131d,#0b2638);
}


/* V41 — production shop image treatment.
   Each product card uses the main image from Wix Stores automatically. */
.product-card{
  background:linear-gradient(180deg,#0b1823 0%,#08131c 100%);
  border:1px solid rgba(108,172,205,.20);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.product-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,180,255,.42);
  box-shadow:0 16px 38px rgba(0,0,0,.24);
}
.product-card .product-art{
  height:250px;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(4,16,27,.94),rgba(12,45,66,.72)),
    repeating-linear-gradient(0deg,transparent 0 39px,rgba(79,160,205,.08) 40px),
    repeating-linear-gradient(90deg,transparent 0 39px,rgba(79,160,205,.08) 40px),
    #081723;
}
.product-card .product-art:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 16% 24%,transparent 0 34px,rgba(93,181,229,.11) 35px 36px,transparent 37px),
    linear-gradient(90deg,rgba(0,0,0,.14),transparent 35%,transparent 70%,rgba(0,0,0,.12));
}
.product-card .product-art:after{
  content:"SKETCH TECH / DIGITAL DESIGN";
  z-index:3;
  left:14px;
  right:auto;
  bottom:12px;
  color:rgba(180,224,246,.66);
  letter-spacing:.12em;
}
.product-card .wix-product-image{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:15px;
  filter:drop-shadow(0 12px 16px rgba(0,0,0,.35));
  transition:transform .25s ease;
}
.product-card:hover .wix-product-image{transform:scale(1.025)}
@media (max-width:800px){
  .product-card .product-art{height:220px}
}


/* V42 — display the actual Wix Store product imagery */
.product-card .product-art{
  display:block;
  position:relative;
  height:250px;
  overflow:hidden;
  background:#0a1721;
}
.product-card .wix-product-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  padding:0;
  filter:none;
}
.product-card .product-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  font-size:54px;
  color:#b9dfef;
  background:
    radial-gradient(circle at 16% 22%,transparent 0 34px,rgba(93,181,229,.12) 35px 36px,transparent 37px),
    linear-gradient(135deg,#0b1c29,#0b2638);
}


/* V43 — shop images are now CMS-backed through STM Shop Images.
   Override Image wins; Store Image URL is the automatic fallback. */
.product-card .wix-product-image{
  background:#08131c;
  object-fit:cover;
}


/* V44 — clickable Wix-style product detail experience */
.product-card-link{display:block;text-decoration:none}
.product-title-link{color:inherit;text-decoration:none}
.product-title-link:hover{color:var(--cyan)}
.product-detail-section{padding-top:44px}
.product-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:52px;
  align-items:start;
}
.product-main-image{
  min-height:520px;
  border:1px solid var(--line);
  background:#091722;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.product-main-image img{width:100%;height:100%;max-height:620px;object-fit:contain}
.product-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}
.product-thumbs button{
  background:#091722;border:1px solid var(--line);padding:0;cursor:pointer;aspect-ratio:1.35/1;overflow:hidden
}
.product-thumbs button.active{border-color:var(--cyan)}
.product-thumbs img{width:100%;height:100%;object-fit:cover}
.product-detail-copy h2{font-size:clamp(34px,4vw,62px);margin:.4rem 0 1rem}
.product-detail-price{font-size:34px;font-weight:800;margin:14px 0}
.stock-line{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--cyan);margin-bottom:24px}
.product-description{font-size:17px;line-height:1.75;color:var(--muted);border-top:1px solid var(--line);padding-top:24px}
.product-description p{margin:.7em 0}
.download-panel,.product-options{
  margin-top:28px;padding:22px;border:1px solid var(--line);background:rgba(8,24,35,.72)
}
.download-panel h3{margin:.4rem 0 .6rem}
.download-file{display:flex;justify-content:space-between;gap:18px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.download-file span{color:var(--muted)}
.option-block{margin-top:14px}
.option-values{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.option-values span{padding:7px 10px;border:1px solid var(--line);font-size:12px}
.product-info-section{border-top:1px solid var(--line);padding:16px 0}
.product-info-section summary{cursor:pointer;font-weight:700}
.product-detail-actions{margin-top:30px;flex-wrap:wrap}
@media(max-width:900px){
 .product-detail-grid{grid-template-columns:1fr;gap:28px}
 .product-main-image{min-height:360px}
 .product-thumbs{grid-template-columns:repeat(4,1fr)}
}


/* V45 — Wix-style product media gallery */
.product-main-image{position:relative}
.gallery-main-button{
  width:100%;height:100%;min-height:520px;padding:0;border:0;background:transparent;cursor:zoom-in;display:grid;place-items:center
}
.gallery-main-button img{width:100%;height:100%;max-height:620px;object-fit:contain}
.wix-style-thumbs{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:12px 2px 4px;
  scrollbar-width:thin;
}
.wix-style-thumbs button{
  flex:0 0 82px;
  width:82px;
  height:64px;
  aspect-ratio:auto;
  border:1px solid rgba(128,177,202,.28);
  background:#091722;
  opacity:.72;
}
.wix-style-thumbs button.active{
  opacity:1;
  border-color:var(--cyan);
  box-shadow:0 0 0 1px rgba(0,180,255,.22);
}
.wix-style-thumbs img{width:100%;height:100%;object-fit:cover}
.gallery-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  z-index:4;width:42px;height:54px;border:1px solid rgba(181,220,239,.3);
  background:rgba(4,15,23,.72);color:#fff;font-size:34px;line-height:1;
  cursor:pointer;backdrop-filter:blur(5px)
}
.gallery-arrow:hover{border-color:var(--cyan);background:rgba(7,28,41,.9)}
.gallery-arrow.prev{left:12px}.gallery-arrow.next{right:12px}
.gallery-count{
  position:absolute;right:14px;bottom:14px;z-index:4;
  padding:6px 10px;background:rgba(4,15,23,.72);border:1px solid rgba(181,220,239,.22);
  color:#d8edf7;font-family:var(--mono);font-size:11px;letter-spacing:.08em
}
.product-lightbox{
  position:fixed;inset:0;z-index:9999;background:rgba(2,8,12,.94);
  display:grid;place-items:center;padding:38px;cursor:zoom-out
}
.product-lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}
.lightbox-close{
  position:absolute;right:22px;top:18px;width:48px;height:48px;border:1px solid rgba(255,255,255,.28);
  background:rgba(0,0,0,.38);color:#fff;font-size:32px;cursor:pointer
}
@media(max-width:900px){
  .gallery-main-button{min-height:360px}
  .wix-style-thumbs button{flex-basis:70px;width:70px;height:54px}
  .product-lightbox{padding:18px}
}


/* V46 — preview thumbnails sourced from STM Shop Gallery CMS */
.wix-style-thumbs{margin-top:10px}

/* V47 — public-facing copy cleaned of platform/vendor references. */


/* V50 — more breathing room for the lower CTA and footer */
.cta{
  min-height:390px;
  padding:105px 0 120px;
  display:flex;
  align-items:center;
  background-position:center 58%;
}
.cta .wrap{
  min-height:210px;
  align-items:center;
}
.cta h2{
  max-width:760px;
  line-height:1.02;
}
.cta .cms-cta-body{
  max-width:720px;
  line-height:1.7;
}

footer{
  min-height:360px;
  padding:88px 0 38px;
}
.foot{
  gap:64px;
  align-items:start;
}
.foot p{
  line-height:1.65;
}
#footer-standard-note{
  display:block;
  max-width:390px;
  line-height:1.7;
  margin-top:10px;
}
#footer-location{
  margin-top:4px;
}
.legal{
  margin-top:58px;
  padding-top:18px;
}
@media(max-width:760px){
  .cta{
    min-height:430px;
    padding:82px 0 100px;
  }
  footer{
    min-height:auto;
    padding:68px 0 30px;
  }
  .foot{gap:38px}
  .legal{margin-top:42px}
}
/* V51 — compact engineering file labels, shared by cards and delivery panels. */
.download-package{margin:18px 0 20px}
.download-package .download-package-label{margin:0 0 9px;color:var(--muted);font-size:12px;line-height:1.5}
.file-badges{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.file-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(66,191,255,.35);background:rgba(66,191,255,.06);color:var(--white);font:700 11px/1.2 ui-monospace,monospace;letter-spacing:.08em;border-radius:2px}
.file-badge svg{width:14px;height:17px;fill:none;stroke:var(--cyan);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.download-panel .download-package{margin:16px 0}
/* V52 — catalogue discovery and readable mobile product information. */
.shop-filter-form{display:grid;grid-template-columns:minmax(180px,2fr) minmax(150px,1fr) minmax(120px,1fr) auto auto;gap:14px;align-items:end;margin-bottom:18px;padding:22px;border:1px solid var(--line);background:var(--panel)}
.shop-filter-form label{display:grid;gap:7px;font-size:12px;color:var(--muted)}
.shop-filter-form input,.shop-filter-form select{width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:2px;background:var(--bg);color:var(--white);font:inherit;font-size:14px}
.shop-filter-form .btn{min-height:46px}
.youtube-link{
  background:#0B5ED7;color:#fff;border-color:#00B4FF;text-decoration:none
}
.youtube-link:hover{background:#084298;border-color:#7ad4ff;color:#fff}
.youtube-link:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.youtube-icon{width:16px;height:16px;flex:0 0 16px}
.product-actions{flex-wrap:wrap}
.product-actions .youtube-link{flex:1 0 100%}
.shop-filter-form :focus-visible,.gallery-main-button:focus-visible,.youtube-link:focus-visible,.product-info-section summary:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.gallery-preview-hint{font-size:12px;margin:12px 0;color:var(--muted)}
.product-usage-rights{margin-top:28px;padding:22px;border:1px solid var(--line);background:rgba(8,24,35,.72)}
.product-usage-rights h3{margin-bottom:12px}
.plans-notice{font-size:14px;line-height:1.7;padding-top:16px}
.package-summary{font-size:14px;line-height:1.6}
.package-summary h4{margin:0 0 10px}
.download-file strong,.product-detail-copy,.product-body{min-width:0;overflow-wrap:anywhere}
@media(max-width:1000px){.shop-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-filter-form label:first-child{grid-column:1/-1}}
@media(max-width:520px){.shop-filter-form{grid-template-columns:1fr;padding:16px}.shop-filter-form label:first-child{grid-column:auto}.download-file{flex-wrap:wrap}.product-detail-actions .btn{width:100%;min-height:46px}.product-actions .youtube-link{min-height:46px}.product-main-image{min-height:260px}.product-thumbs button{min-height:44px}.gallery-arrow{min-width:44px;min-height:44px}}
/* V54 — accessible purchase confirmation, styled to match the V52 shop. */
.cart-added-dialog{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:36px;border:1px solid rgba(66,191,255,.35);background:var(--panel);color:var(--white);box-shadow:0 24px 80px rgba(0,0,0,.55)}
.cart-added-dialog::backdrop{background:rgba(2,9,15,.78)}
.cart-added-dialog h2{font-size:clamp(30px,5vw,42px);margin:18px 0 14px}
.cart-added-dialog p{line-height:1.65;margin-bottom:24px}
.cart-feedback-check{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--cyan);color:var(--cyan);font-size:24px}
.cart-feedback-close{position:absolute;top:10px;right:10px;width:44px;height:44px;background:transparent;border:0;color:var(--white);font-size:28px}
.cart-feedback-actions{display:flex;gap:12px;flex-wrap:wrap}
.cart-feedback-actions .btn{min-height:46px;flex:1}
.cart-added-dialog :focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
#cart-added-description{overflow-wrap:anywhere}
@media(max-width:520px){.cart-added-dialog{padding:28px 22px}.cart-feedback-actions{flex-direction:column}.cart-feedback-actions .btn{width:100%}}
/* V55 — phone layout corrections found during the mobile check. */
@media(max-width:760px){
 .foot{grid-template-columns:minmax(0,1fr)}
 .foot>div{min-width:0;overflow-wrap:anywhere}
 .cart-table th:nth-child(2),.cart-table td:nth-child(2){display:table-cell}
 .cart-table{table-layout:fixed;width:100%}
 .cart-table th:first-child{width:55%}
 .cart-table th:nth-child(2){width:15%}
 .cart-table th:last-child{width:30%}
 .cart-table td{overflow-wrap:anywhere}
}
.home-project-image{position:relative;overflow:hidden;isolation:isolate}
.home-project-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.home-project-image:has(.home-project-cover)::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,10,15,.08),rgba(3,10,15,.3) 35%,rgba(3,10,15,.95) 100%);z-index:-1;pointer-events:none}
.home-project-image .feature-content{position:relative;z-index:1}

/* V59 — Wix Members customer portal */
.account-card,.account-panel,.account-aside{padding:32px}
.account-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.account-tabs button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:10px 14px;font:700 10px/1 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;border-radius:2px}
.account-tabs button.active,.account-tabs button:hover{border-color:rgba(66,191,255,.45);color:var(--white)}
.account-form{margin-top:8px}
.account-message{margin:0 0 18px;color:#9edcff}
.account-layout{align-items:start}
.account-order{margin-bottom:18px}
.account-order-head{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:14px}
.account-order-meta{display:grid;gap:6px;text-align:right;color:var(--muted);font-size:12px}
.account-order-lines{margin:0;padding-left:18px;display:grid;gap:10px}
.account-order-lines li{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.account-actions{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px}
.account-empty{padding:12px 0}
@media(max-width:900px){.account-order-meta{text-align:left}}
