/*
Theme Name: Msmart Circuit
Description: Responsive industrial company theme with interactive service carousel, particle and circuit background, native editable content blocks and Customizer settings.
Version: 1.0.0
Author: Msmart Website Project
Requires at least: 6.3
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: msmart-circuit
Tags: custom-logo, custom-menu, featured-images, block-patterns, wide-blocks
*/
:root{--navy:#020b14;--ink:#101d2a;--blue:#0b3d91;--cyan:#00aeef;--gold:#d4af37;--muted:#6b7280;--paper:#f5f7f8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65;background:white}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;height:auto;display:block}p{color:#64707c;margin:0 0 24px}h1,h2,h3{line-height:1.08;font-weight:500;letter-spacing:-.045em;margin:0 0 24px}h1{font-size:clamp(44px,6.8vw,100px)}h2{font-size:clamp(35px,4.1vw,60px)}h3{font-size:25px}small,.caption{font-size:12px;line-height:1.7;color:#66727d}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.hero:focus-visible{outline:3px solid #00aeef;outline-offset:5px}header{height:94px;background:var(--navy);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 5%;border-bottom:1px solid #ffffff21;position:relative;z-index:20}.brand{display:inline-flex;width:242px;height:53px;overflow:hidden;flex-shrink:0}.brand-crop{display:block;width:242px;height:53px;background-image:url('assets/brand-reference.png');background-size:1382.4px 921.6px;background-position:-56px -15px;background-repeat:no-repeat}nav{display:flex;align-items:center;gap:34px;font-size:13px}nav>a:not(.button){padding:18px 0}nav>a:hover{color:#72d7fc}.button{display:inline-flex;gap:36px;align-items:center;justify-content:center;min-height:48px;border-radius:50px;padding:12px 25px;border:1px solid transparent;font-size:13px;font-weight:600;line-height:1.5;white-space:nowrap;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:20px}.outline{border-color:#ffffff80}.pale{color:#061727;background:#d0edfa;box-shadow:0 0 25px #00aeef26}.dark{background:var(--blue);color:white}.menu-toggle{display:none}.eyebrow{font-size:10px;letter-spacing:.24em;font-weight:600;display:block;margin-bottom:24px}.blue{color:var(--blue)}.hero{height:min(850px,calc(100svh - 94px));min-height:680px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#062335 0%,var(--navy) 65%);color:white;touch-action:pan-y}.hero-copy{position:relative;z-index:5;text-align:center;padding:43px 20px 0;pointer-events:none}.hero-copy a{pointer-events:auto}.hero-copy .eyebrow{letter-spacing:.42em;font-size:11px;margin-bottom:18px}.hero-copy h1{font-size:clamp(40px,6.4vw,93px);font-weight:500;letter-spacing:-.035em;margin-bottom:18px;line-height:1}.accent{width:65px;height:3px;background:#00c7ef;margin:0 auto 18px}.hero-copy p{color:#c4d3df;font-size:16px;margin-bottom:20px}.orbit{position:absolute;inset:0;perspective:1100px;z-index:1;pointer-events:none}.subject{position:absolute;border:0;padding:0;background:none;width:min(1000px,82vw);height:auto;left:50%;top:35%;transform:translateX(-50%);transition:transform .75s cubic-bezier(.2,.7,.2,1),opacity .75s,filter .75s;pointer-events:auto;mix-blend-mode:screen}.subject img{width:100%;mask-image:radial-gradient(ellipse 54% 49%,#000 55%,transparent 98%);pointer-events:none}.subject.active{transform:translateX(-50%) translateY(0) translateZ(0) scale(1.13);z-index:3;opacity:1;cursor:default}.subject.left{transform:translateX(-111%) translateY(-13%) translateZ(-400px) rotateY(24deg) scale(.65);z-index:1;opacity:.65;filter:brightness(.7)}.subject.right{transform:translateX(11%) translateY(-13%) translateZ(-400px) rotateY(-24deg) scale(.65);z-index:1;opacity:.65;filter:brightness(.7)}.orbit-control{position:absolute;z-index:7;top:47%;display:flex;align-items:center;flex-direction:column;gap:18px}.orbit-control span{text-transform:uppercase;font-size:10px;letter-spacing:.22em}.orbit-control button{border:1px solid #ffffff90;background:#03111ba8;color:white;border-radius:50%;width:52px;height:52px;font-size:28px;font-weight:300}.orbit-control button:hover{background:#d0edfa;color:var(--navy)}.previous{left:8%}.next{right:8%}.hero-bottom{position:absolute;bottom:26px;left:5%;right:5%;z-index:8;display:flex;align-items:center;justify-content:space-between;color:#c2d0dd;font-size:10px;letter-spacing:.15em}.hero-bottom>a{display:flex;gap:20px;align-items:center;padding:10px 0}.hero-bottom>a span{font-size:23px}.hero-note{letter-spacing:.04em;font-size:9px}.position{display:flex;align-items:center;gap:20px;font-size:12px}.position-line{height:1px;background:#d4af37;width:55px}.section{padding:100px 7%;}.intro{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:start}.intro h2{margin-bottom:0}.lead{font-size:23px;color:var(--ink);line-height:1.45;letter-spacing:-.025em}.text-link{display:inline-flex;align-items:center;gap:32px;color:var(--blue);font-size:13px;font-weight:600;border-bottom:1px solid #bacada;padding:10px 0;min-height:44px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:44px}.section-heading h2{margin-bottom:0}.services-section{background:var(--paper)}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card{background:white;display:block;border-bottom:1px solid #dce2e7}.card-image{background:var(--navy);overflow:hidden;aspect-ratio:1.3}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.service-card:hover img{transform:scale(1.06)}.card-copy{padding:25px 24px 12px}.card-copy .eyebrow{color:#778591;font-size:9px;margin-bottom:16px}.card-copy h3{font-size:24px;display:flex;justify-content:space-between;gap:8px}.card-copy h3 span{font-size:22px;color:var(--blue)}.card-copy p{font-size:13px}.onsite{display:grid;grid-template-columns:1.15fr 1fr;background:var(--navy);color:white}.onsite-image{position:relative;overflow:hidden;min-height:600px;display:flex;align-items:center}.onsite-image img{width:115%;max-width:none;height:100%;object-fit:cover;mix-blend-mode:screen}.image-note{position:absolute;left:25px;bottom:20px;font-size:10px;color:#a6b5c3;letter-spacing:.05em}.onsite-copy{padding:85px 16% 70px 8%}.onsite-copy p{color:#a7b7c6;font-size:14px}.detail-row{display:flex;gap:24px;padding:24px 0;border-top:1px solid #ffffff24}.detail-row>span{font-size:11px;color:var(--gold)}.detail-row h3{font-size:19px;margin-bottom:10px}.detail-row p{margin:0;font-size:13px}.light{color:#d0edfa}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:45px}.detail-grid img{width:100%;aspect-ratio:1.8;object-fit:cover;margin-bottom:25px;background:var(--navy)}.detail-grid h3{margin-bottom:15px}.detail-grid p{font-size:14px}.workmanship>.caption{margin-top:20px}.process{background:#edf2f5}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:55px}.steps article{border-top:1px solid #b8c4ce;padding-top:25px}.steps b{color:#0b3d91;font-size:12px;font-weight:400}.steps h3{font-size:20px;margin-top:28px;margin-bottom:15px}.steps p{font-size:13px}.faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%}.faq-list details{border-bottom:1px solid #d9e0e5;padding:20px 0}.faq-list details:first-child{border-top:1px solid #d9e0e5}.faq-list summary{font-size:15px;cursor:pointer;list-style:none;padding-right:30px;position:relative}.faq-list summary:after{content:'+';position:absolute;right:5px;font-size:21px;color:var(--blue);top:-6px}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:14px;margin:20px 35px 5px 0}.cta{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:75px 7%;background:#0b3d91;color:white}.cta h2{margin:0}.cta .eyebrow{color:#aacdec;font-size:9px}footer{background:var(--navy);color:#bac7d1;padding:70px 5% 25px}.footer-top{display:grid;grid-template-columns:1.4fr .7fr .9fr 1fr;gap:35px;padding-bottom:65px}.footer-top .eyebrow{color:#6d899d;font-size:9px}.footer-top a:not(.brand){display:block;font-size:12px;margin:12px 0}.footer-top p{font-size:14px;margin-top:20px;color:#8297a8}.footer-top small{display:block;color:#8297a8}.footer-bottom{border-top:1px solid #ffffff25;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#8195a6}.page-heading{background:var(--navy);color:white;padding:90px 7% 80px}.page-heading .eyebrow{color:#a5cce3}.page-heading h1{font-size:clamp(42px,6.5vw,90px)}.page-heading p{color:#a7bbcb;max-width:600px;margin:0}.service-hero{background:var(--navy);color:white;display:grid;grid-template-columns:.9fr 1.1fr;position:relative;align-items:center;overflow:hidden;min-height:580px;padding:50px 5% 60px 7%}.service-hero>div{position:relative;z-index:2}.service-hero h1{font-size:clamp(48px,6vw,80px);margin-top:30px}.service-hero p{color:#a7bbcb}.service-hero img{mix-blend-mode:screen;transform:scale(1.2)}.breadcrumb{font-size:11px;color:#9fb9cb}.narrow{max-width:950px;margin:auto}.prose h2{font-size:26px;letter-spacing:-.025em;margin-top:35px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.notice{padding:24px;border-left:2px solid var(--gold);background:var(--paper);margin:30px 0;font-size:14px}.notice p{margin:10px 0 0;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{font-size:13px;display:block}.form-grid label>span{color:#0b3d91}.full{grid-column:1/-1}input,textarea,select{width:100%;border:1px solid #cbd5dd;background:#f9fbfc;border-radius:2px;padding:13px;color:#14293b;margin:8px 0 0;min-height:48px;font-size:16px}textarea{resize:vertical}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:#b02929}.field-error{display:block;color:#9e2222;font-size:12px;min-height:2px}.contact-grid form>.caption{margin-top:15px}.caption a{text-decoration:underline}.honeypot{display:none!important}#form-status{font-size:14px;margin-top:20px} .skip{position:absolute;top:-100px;z-index:100;background:white;color:black;padding:12px}.skip:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1600px){.hero{height:850px}.subject{top:32%}.section{padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}}
@media(max-width:1050px){header{height:80px}.brand{transform:scale(.85);transform-origin:left center;width:215px}nav{gap:20px;font-size:12px}.button{padding:12px 20px;gap:20px}.hero{height:750px;min-height:650px}.hero-copy{padding-top:50px}.subject{top:40%;width:90vw}.section{padding:75px 6%}.onsite-copy{padding:60px 10% 50px 5%}.onsite-image{min-height:540px}.services-grid{gap:15px}.card-copy{padding:22px 18px}.card-copy h3{font-size:22px}.footer-top{grid-template-columns:1.2fr 1fr 1fr}.footer-top>div:last-child{grid-column:1/-1}.service-hero{min-height:480px}.steps{gap:18px}.hero-note{display:none}}
@media(max-width:800px){header{padding:0 5%;height:76px}.menu-toggle{display:flex;gap:15px;align-items:center;border:0;background:none;color:white;min-width:70px;min-height:44px;font-size:12px;padding:10px}.menu-toggle span{font-size:22px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:#061421;padding:24px 6% 32px;box-shadow:0 20px 35px #0005;flex-direction:column;align-items:stretch;gap:2px}nav.open{display:flex}nav a{padding:12px 0!important}nav .button{margin-top:10px}.hero{min-height:660px;height:720px}.hero-copy h1{font-size:58px}.hero-copy .eyebrow{font-size:9px;letter-spacing:.28em}.subject{top:42%;width:110vw}.subject.left{transform:translateX(-105%) translateY(0) translateZ(-300px) scale(.6)}.subject.right{transform:translateX(5%) translateY(0) translateZ(-300px) scale(.6)}.orbit-control{top:47%}.previous{left:5%}.next{right:5%}.orbit-control span{font-size:8px;max-width:100px;text-align:center}.intro{gap:7%}.lead{font-size:20px}.onsite{grid-template-columns:1fr}.onsite-image{min-height:0;height:400px}.onsite-image img{width:100%;object-fit:contain}.onsite-copy{padding:50px 7%}.services-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:1fr 1fr}.card-image{aspect-ratio:1.4}.card-copy{padding:28px}.steps{grid-template-columns:1fr 1fr}.faq-section{gap:7%;grid-template-columns:.8fr 1.2fr}.contact-grid{gap:6%}.service-hero{grid-template-columns:1fr 1fr}.service-hero h1{font-size:54px}.footer-bottom{flex-wrap:wrap}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:last-child{grid-column:auto}}
@media(max-width:550px){header .brand{transform:scale(.72);width:190px}header{height:70px}nav{top:70px}.hero{height:690px;min-height:0}.hero-copy{padding:37px 16px 0}.hero-copy .eyebrow{font-size:8px;letter-spacing:.22em;margin-bottom:20px}.hero-copy h1{font-size:clamp(31px,9.3vw,51px);white-space:nowrap;margin-bottom:19px}.hero-copy p{font-size:13px;max-width:290px;margin:0 auto 20px;line-height:1.6}.accent{margin-bottom:17px;width:42px;height:2px}.hero-copy .button{min-height:46px;padding:10px 22px;font-size:12px}.subject{top:44%;width:155vw}.subject.active{transform:translateX(-50%) scale(1.05)}.subject.left{transform:translateX(-100%) translateY(5%) translateZ(-400px) scale(.5);opacity:.35}.subject.right{transform:translateX(0%) translateY(5%) translateZ(-400px) scale(.5);opacity:.35}.orbit-control{top:auto;bottom:80px;gap:10px}.orbit-control span{font-size:8px}.orbit-control button{width:46px;height:46px;font-size:24px}.previous{left:7%}.next{right:7%}.hero-bottom{bottom:22px;font-size:8px}.position{font-size:10px;gap:12px}.position-line{width:30px}.section{padding:58px 6%}.intro,.faq-section,.contact-grid{grid-template-columns:1fr;gap:28px}.intro h2{margin-bottom:10px}.eyebrow{font-size:9px;margin-bottom:20px}h2{font-size:38px}.lead{font-size:21px}.section-heading{display:block;margin-bottom:30px}.section-heading .text-link{margin-top:20px}.service-card{display:block}.card-image{aspect-ratio:1.5}.card-copy{padding:25px}.services-grid{gap:28px}.card-copy h3{font-size:26px}.onsite-image{height:290px}.onsite-copy{padding:45px 7% 55px}.detail-grid{grid-template-columns:1fr;gap:26px;margin-top:30px}.detail-grid img{aspect-ratio:1.5}.steps{gap:28px 18px;margin-top:35px}.steps h3{font-size:20px}.steps p{font-size:12px}.process .section-heading>.caption{margin-top:25px}.cta{padding:55px 7%;display:block}.cta .button{margin-top:28px}.cta .eyebrow{font-size:8px}.footer-top{gap:30px 20px;padding-bottom:35px}.footer-top>div:first-child{grid-column:1/-1}.footer-top>div:last-child{grid-column:1/-1}.footer-bottom{display:block;font-size:9px}.footer-bottom>*{display:block;margin:10px 0}footer{padding:45px 6% 20px}.page-heading{padding:55px 7%}.page-heading h1{font-size:44px}.page-heading p{font-size:14px}.service-hero{display:flex;flex-direction:column;align-items:stretch;padding:42px 7% 35px;min-height:0}.service-hero h1{font-size:48px;max-width:300px}.service-hero p{font-size:14px}.service-hero img{transform:none;width:100%;margin-top:25px}.service-hero .image-note{bottom:16px;font-size:8px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.contact-grid h2{font-size:38px}.narrow{padding-top:40px;padding-bottom:60px}}
@media(max-width:360px){.hero{height:650px}.hero-copy h1{font-size:30px}.subject{top:46%}.hero-bottom>a{letter-spacing:.05em}.brand{width:170px!important}.menu-toggle{gap:8px;padding:8px}.steps{grid-template-columns:1fr}}
@media(max-height:550px) and (orientation:landscape){.hero{height:650px}.subject{top:35%;width:90vw}.hero-copy{padding-top:30px}.hero-copy h1{font-size:54px}.orbit-control{top:45%;bottom:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover{transform:none}}
.brand-crop{flex:none}
@media(max-width:1050px){.brand{transform:none;width:206px}.brand-crop{transform:scale(.85);transform-origin:left center}}
@media(max-width:550px){header .brand{transform:none;width:175px}.brand-crop{transform:scale(.72);transform-origin:left center}}
@media(max-width:360px){header .brand{width:170px!important}.brand-crop{transform:scale(.7)}}
.hero-bottom{padding-bottom:env(safe-area-inset-bottom,0)}
.subject.active{pointer-events:none}
/* Circuit edition: light-touch canvas sits behind live content. */
.hero-fx{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.85}.fx-toggle{position:absolute;right:5%;top:16px;z-index:9;background:#06152399;border:1px solid #8bb4c333;color:#a5b8c8;border-radius:20px;font-size:10px;padding:7px 13px;min-height:44px;min-width:94px;letter-spacing:.03em}.fx-toggle:hover{border-color:#00aeef;color:white}.hero-copy{padding-top:62px}.hero-note{display:none}.hero-bottom>a{min-height:44px}.subject.active{pointer-events:none}nav a[aria-current=page]{color:#55d1fa}.motion-note{font-size:10px;color:#66859b}.brand-crop{background-color:#020b14}.hero-bottom{bottom:max(18px,env(safe-area-inset-bottom))}
@media(max-width:550px){.hero-copy{padding-top:62px}.hero{height:720px}.subject{top:46%}.fx-toggle{top:6px;right:5%;font-size:9px;min-height:40px}.hero-fx{opacity:.7}.hero-copy h1{font-size:clamp(29px,8.8vw,48px)}}
@media(prefers-reduced-motion:reduce){.hero-fx{opacity:.5}}

.primary-links{display:flex;list-style:none;gap:30px;padding:0;margin:0}.custom-logo-link{display:flex;max-width:245px;align-items:center}.custom-logo{max-height:58px;width:auto;max-width:100%;object-fit:contain}header .custom-logo-link{flex-shrink:0}footer .custom-logo-link{max-width:240px}.wp-block-msmart-section{margin:0}.prose .wp-block-image img{height:auto}.msmart-contact-form label{display:block;font-size:13px}.msmart-contact-form input[type=submit]{border:0;border-radius:28px;background:#0b3d91;color:white;cursor:pointer}.msmart-contact-form .wpcf7-not-valid-tip{color:#a02020;font-size:12px}.msmart-contact-form .wpcf7-response-output{padding:15px}.msmart-contact-form input[type=checkbox]{width:auto;min-height:0}.alignwide{max-width:1280px}.alignfull{max-width:none}.wp-block-image{margin:25px 0}@media(max-width:800px){.primary-links{display:flex;flex-direction:column;gap:8px}.custom-logo-link{max-width:190px}.custom-logo{max-height:45px}}@media(max-width:550px){header .custom-logo-link{max-width:175px}}
