/* Aufvanta — industrial precision, orange brand accents on charcoal surfaces.
   Original project attribution is retained in LICENSE. */
:root{--navy:#090909;--deep:#050505;--ivory:#141414;--paper:#fff;--ink:#f3f3f3;--muted:#bdbdbd;--accent:#FF751F;--accent-bright:#FF751F;--line:#FF751F40;--font:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.7 var(--font);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--display);line-height:1.15;letter-spacing:-.04em}h2{font-size:clamp(32px,3.4vw,52px);font-weight:600}em{font-style:normal;color:var(--accent)}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}p+p{margin-top:20px}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #FF751F;outline-offset:5px}::selection{background:var(--accent-bright);color:var(--navy)}section{padding:100px max(6%,calc((100vw - 1280px)/2));scroll-margin-top:20px}.eyebrow{font-size:11px;line-height:1.6;letter-spacing:.15em;font-weight:700;color:var(--accent);margin-bottom:24px}.header{height:88px;position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 max(6%,calc((100vw - 1280px)/2));background:var(--navy);color:white;border-bottom:1px solid #ffffff16}.logo{display:flex;align-items:center;font:700 28px/1 var(--display);letter-spacing:-1.2px}.logo img{width:36px;height:36px;object-fit:contain;margin-right:10px}.logo span,.wordmark span{color:var(--accent-bright)}.navbar{display:flex;align-items:center;gap:30px}.navbar a{font-size:13px;color:#e0e0e0}.navbar a:hover,.navbar a.active-section{color:var(--accent-bright)}.navbar .nav-cta{padding:12px 19px;border:1px solid #FF751F66;border-radius:3px;color:white}.nav-cta span{margin-left:16px}#menu-icon{display:none;background:transparent;border:1px solid #FF751F66;color:white;border-radius:3px;padding:5px 12px;font-size:25px;cursor:pointer}.skip-link{position:fixed;top:-80px;left:20px;z-index:200;background:#0c0c0c;padding:12px 20px;color:var(--ink)}.skip-link:focus{top:12px}.home{position:relative;background:var(--navy);color:white;min-height:650px;padding-top:80px;padding-bottom:84px;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 38%;background:linear-gradient(90deg,#090909 0%,#09090940 47%,#09090930 100%),linear-gradient(0deg,#09090990,transparent 60%),url('images/home.jpg') center/cover}.home-content{position:relative;z-index:1;max-width:690px}.home .eyebrow{color:var(--accent-bright)}.home h1{font-size:clamp(42px,4.5vw,68px);font-weight:500;line-height:1.1;letter-spacing:-.055em}.home h1 em{color:var(--accent-bright)}.hero-description,.home-content>p:not(.eyebrow){color:#cecece;font-size:17px;line-height:1.8;max-width:540px;margin-top:28px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:15px 23px;background:var(--accent);color:white;font-size:13px;font-weight:600;line-height:1.5;border-radius:3px;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover,.btn:hover{background:#FF751F;transform:translateY(-2px)}.home .button,.edge-section .button{background:var(--accent-bright);color:var(--deep)}.home .button:hover,.edge-section .button:hover{background:#ff944f}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:13px;font-weight:600;border-bottom:1px solid currentColor;padding:8px 0}.text-link:hover{color:var(--accent)}.home .text-link:hover,.edge-section .text-link:hover{color:var(--accent-bright)}.hero-caption{margin-top:44px;display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.06em;color:#cecece}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-bright)}.photo-caption{position:absolute;right:4%;bottom:32px;color:#cecece;font-size:9px;letter-spacing:.12em}.credentials{display:grid;grid-template-columns:1fr 1.35fr 1fr;padding:30px max(6%,calc((100vw - 1280px)/2));gap:32px;background:#0c0c0c;border-bottom:1px solid var(--line)}.credentials>div{border-left:1px solid var(--line);padding-left:28px}.credentials>div:first-child{border-left:0;padding-left:0}.credentials strong{display:block;font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.03em}.credentials span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.intro-section{display:grid;grid-template-columns:1fr 1fr;gap:70px}.intro-copy p{color:var(--muted);font-size:15px}.intro-copy p.lead{font-size:22px;line-height:1.5;color:var(--ink);font-family:var(--display);letter-spacing:-.035em;margin-bottom:24px}.intro-copy .text-link{margin-top:24px}.solutions-section{background:#101010}.section-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:end;margin-bottom:46px}.section-intro>p{max-width:380px;color:var(--muted);font-size:15px}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.solution-card{padding:30px;background:var(--ivory);border:1px solid #FF751F33;transition:transform .2s,border-color .2s}.solution-card:hover{transform:translateY(-4px);border-color:var(--accent)}.card-top{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:700}.card-top>span:last-child{font-size:20px;line-height:1}.solution-card h3{font-size:29px;font-weight:600;margin:28px 0 18px}.solution-card h4{font-size:15px;font-weight:600;line-height:1.5;letter-spacing:-.015em;max-width:240px}.solution-card p{color:var(--muted);font-size:13px;line-height:1.8;margin-top:12px}.retrofit-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;background:#0c0c0c}.retrofit-image img{height:520px;width:100%;object-fit:cover;object-position:62% center}.retrofit-copy p:not(.eyebrow){margin-top:24px;color:var(--muted);font-size:15px}.retrofit-copy .text-link{margin-top:22px}.edge-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:var(--navy);color:white;align-items:center}.edge-section em,.edge-section .eyebrow{color:var(--accent-bright)}.edge-copy>p:not(.eyebrow){color:#cecece;margin-top:28px;font-size:15px}.feature-list{list-style:none;padding:0;margin:28px 0 32px}.feature-list li{font-size:13px;border-bottom:1px solid #ffffff1c;padding:11px 0;color:#e0e0e0}.feature-list li:before{content:'↗';margin-right:14px;color:var(--accent-bright)}.edge-copy>.text-link{display:table;margin-top:17px}.edge-visual{position:relative;min-height:540px;overflow:hidden;border:1px solid #FF751F66}.edge-visual>img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.48}.edge-visual:after{position:absolute;content:'';inset:0;background:linear-gradient(0deg,#050505 2%,#05050540 90%)}.edge-visual-caption{position:absolute;bottom:32px;left:32px;right:32px;z-index:1}.edge-visual-caption h3{font-size:35px;font-weight:500;margin:16px 0 24px}.edge-visual-caption p{font-size:12px;line-height:2;color:#cecece}.edge-visual-caption small{display:block;color:#bdbdbd;font-size:10px;margin-top:22px}.industries-section{background:var(--ivory)}.industry-list>div{display:grid;grid-template-columns:60px 1fr 1.3fr;align-items:center;gap:30px;padding:25px 0;border-top:1px solid var(--line)}.industry-list>div:last-child{border-bottom:1px solid var(--line)}.industry-list span{font-size:11px;color:var(--accent)}.industry-list h3{font-size:21px;font-weight:500}.industry-list p{font-size:13px;color:var(--muted)}.approach-section{background:#171717}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.approach-grid>div{border-top:1px solid #FF751F40;padding-top:22px}.approach-grid span{font-size:10px;letter-spacing:.12em;color:var(--accent)}.approach-grid h3{font-size:21px;margin:24px 0 16px;font-weight:600}.approach-grid p{color:var(--muted);font-size:14px}.contact{display:grid;grid-template-columns:1.15fr 1fr;gap:90px;background:#0c0c0c}.contact-copy>p:not(.eyebrow){max-width:440px;color:var(--muted);margin-top:26px;font-size:15px}.email-link{display:inline-flex;gap:30px;align-items:center;margin-top:32px;font:500 clamp(21px,2vw,29px)/1.5 var(--display);letter-spacing:-.025em;border-bottom:1px solid var(--accent);color:var(--accent)}.contact-copy p.contact-location{font-size:12px;line-height:1.9;margin-top:27px}.enquiry-card{background:var(--ivory);border:1px solid var(--line);padding:36px;align-self:start}.enquiry-card h3{font-size:23px;font-weight:600;margin-bottom:15px}.enquiry-card>p{font-size:13px;color:var(--muted)}.enquiry-card ol{list-style:none;padding:0;margin:22px 0 26px}.enquiry-card li{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.enquiry-card li span{margin-right:16px;color:var(--accent);font-size:10px}.enquiry-card .button{width:100%}.enquiry-card p.small-note{font-size:11px;margin-top:14px}.footer{background:var(--navy);color:#cecece;padding:35px max(6%,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px}.wordmark{font:600 29px var(--display);letter-spacing:-.06em;color:white}.footer p{font-size:11px;line-height:1.9}.footer>a:last-child{font-size:11px}
/* Shared service-page layouts */
.animate,.circle-spin,.home-imgHover,.home-sci,.bar,.active-nav{display:none!important}.service-page .home{background-size:cover;background-position:center;min-height:560px}.hero-plc,.hero-electrical{background-image:linear-gradient(90deg,#090909f5,#09090999),url('images/hero-plc.jpg')}.hero-scada{background-image:linear-gradient(90deg,#090909f5,#090909aa),url('images/hero-scada.jpg')}.hero-iot{background-image:linear-gradient(90deg,#090909f5,#09090999),url('images/hero-iot.jpg')}.hero-robotics{background-image:linear-gradient(90deg,#090909f5,#09090999),url('images/home.jpg')}.service-page .home h1{font-size:clamp(40px,5vw,66px)}.text-animate h3{font-size:24px;line-height:1.4;color:var(--accent-bright);font-weight:500;margin-top:16px;letter-spacing:-.025em}.btn-box{display:flex;gap:16px;margin-top:30px;flex-wrap:wrap}.home .btn:first-child{background:var(--accent-bright);color:var(--navy)}.home .btn:nth-child(2){background:transparent;border-color:#FF751F;color:white}.service-page .about{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px 60px;background:#0c0c0c}.service-page .about>.heading{grid-column:1/-1;margin-bottom:8px}.heading{font-weight:600}.heading span{color:var(--accent)}.about-img img{width:100%;height:420px;object-fit:cover}.about-content h3{font-size:26px;font-weight:500;margin-bottom:24px}.about-content p{color:var(--muted);font-size:15px;line-height:1.85}.about-content .related{font-size:12px;margin-top:22px}.related a,.more{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.education{background:#101010}.education>.heading,.skills>.heading{margin-bottom:44px}.education-row{display:grid;grid-template-columns:1.1fr 1fr;gap:44px}.title{font-size:23px;font-weight:500;margin-bottom:24px}.education-content{margin-bottom:14px}.education-content .content{padding:25px;background:var(--ivory);border:1px solid var(--line)}.year{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}.education-content h3{font-size:19px;letter-spacing:-.025em;font-weight:600}.education-content p{font-size:14px;color:var(--muted);margin-top:13px}.more{display:inline-block;font-size:12px;margin-top:16px}.skills{background:var(--navy);color:white}.skills .heading span{color:var(--accent-bright)}.skills-row{display:grid;grid-template-columns:1fr 1fr;gap:60px}.progress{padding:17px 0;border-bottom:1px solid #ffffff25}.progress h3{display:flex;justify-content:space-between;font-family:var(--font);font-size:14px;font-weight:400;letter-spacing:0;gap:16px;line-height:1.5}.progress h3 span{color:var(--accent-bright)}.progress h3 span:after{content:'✓'}.progress h3 span i{display:none}
@media(min-width:1600px){.home{min-height:720px;padding-top:100px}.hero-photo{left:40%}}
@media(max-width:1100px){.navbar{gap:18px}.navbar a{font-size:12px}.intro-section,.section-intro,.retrofit-section,.edge-section,.contact{gap:40px}.solution-card{padding:24px}.solution-card h3{font-size:26px}.credentials{gap:20px}.credentials strong{font-size:17px}.edge-visual{min-height:520px}.photo-caption{display:none}}
@media(max-width:900px){section{padding:72px 6%}.header{height:76px}#menu-icon{display:block}.navbar{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);border-bottom:1px solid #FF751F66;padding:20px 6% 28px;flex-direction:column;align-items:stretch;gap:4px}.navbar.active{display:flex}.navbar a{padding:13px 0;font-size:15px}.navbar .nav-cta{margin-top:8px;padding:12px 16px;align-self:flex-start}.home{padding-top:70px;min-height:620px}.home h1{font-size:56px}.hero-photo{inset:0;opacity:.35;background-position:65% center}.home-content{max-width:670px}.solution-grid{grid-template-columns:repeat(2,1fr)}.credentials strong{font-size:15px}.credentials span{font-size:11px}.credentials>div{padding-left:15px}.intro-section{grid-template-columns:1fr 1fr;gap:34px}.section-intro{gap:30px}.retrofit-section,.edge-section{gap:35px}.retrofit-image img{height:460px}.edge-visual{min-height:500px}.edge-visual-caption{left:24px;right:24px}.edge-visual-caption h3{font-size:29px}.edge-section .button{gap:12px;padding:14px;font-size:12px}.industry-list>div{grid-template-columns:25px 1fr 1.1fr;gap:20px}.industry-list h3{font-size:18px}.approach-grid{gap:28px}.contact{gap:30px}.enquiry-card{padding:25px}.service-page .about{gap:30px}.education-row{gap:24px}.service-page .home{min-height:550px}.footer{flex-wrap:wrap}}
@media(max-width:640px){html{scroll-padding-top:76px}section{padding:58px 6%}h2{font-size:34px;line-height:1.16}.header{height:72px}.logo{font-size:25px}.logo img{width:31px;height:31px}.home{min-height:650px;padding-top:58px;padding-bottom:50px}.home h1{font-size:clamp(37px,8.8vw,53px);letter-spacing:-.05em}.home .eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:28px}.hero-description,.home-content>p:not(.eyebrow){font-size:15px;line-height:1.85;margin-top:24px}.hero-actions{align-items:flex-start;flex-direction:column;gap:13px;margin-top:28px}.hero-caption{margin-top:30px;font-size:10px}.credentials{grid-template-columns:1fr;padding-top:24px;padding-bottom:24px;gap:17px}.credentials>div,.credentials>div:first-child{padding:0 0 0 15px;border-left:2px solid #FF751F80}.credentials strong{font-size:16px}.credentials span{font-size:11px}.intro-section,.section-intro,.retrofit-section,.edge-section,.contact,.service-page .about{grid-template-columns:1fr;gap:30px}.intro-copy p.lead{font-size:21px}.solution-grid{grid-template-columns:1fr;gap:12px}.solution-card{padding:25px}.solution-card h3{font-size:30px;margin-top:23px}.solution-card h4{max-width:none;font-size:16px}.solution-card p{font-size:14px}.section-intro{margin-bottom:30px}.retrofit-image img{height:320px}.retrofit-copy p:not(.eyebrow){font-size:15px}.edge-visual{min-height:420px}.edge-section .button{padding:15px 22px;font-size:13px}.edge-visual-caption h3{font-size:34px}.industry-list>div{grid-template-columns:25px 1fr;gap:9px 15px;padding:22px 0}.industry-list h3{font-size:20px}.industry-list p{grid-column:2;font-size:13px}.approach-grid{grid-template-columns:1fr;gap:25px;margin-top:32px}.approach-grid h3{margin:16px 0 12px}.contact{gap:32px}.enquiry-card{padding:26px}.footer{padding-top:30px;padding-bottom:30px;display:grid;grid-template-columns:1fr auto;gap:18px}.footer p{grid-column:1/-1;grid-row:2}.footer>a:last-child{grid-column:2;grid-row:1}.service-page .home{min-height:570px}.service-page .home h1{font-size:44px;overflow-wrap:normal}.text-animate h3{font-size:22px}.service-page .home .eyebrow{max-width:260px}.service-page .about>.heading{grid-column:auto}.about-img img{height:290px}.education-row,.skills-row{grid-template-columns:1fr;gap:30px}.education>.heading,.skills>.heading{margin-bottom:30px}.title{font-size:22px}.about-content h3{font-size:24px}.btn-box{gap:12px}.btn{padding:13px 18px;font-size:13px}.skills .progress h3{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* EFORT application page and cross-links */
.efort-callout{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:35px max(6%,calc((100vw - 1280px)/2));background:#21150e;border-top:1px solid #FF751F40}.efort-callout .eyebrow{margin-bottom:10px}.efort-callout h3{font-size:24px;font-weight:600}.efort-callout p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:10px}.efort-callout .button{flex-shrink:0}.efort-hero{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:65px;background:var(--navy);color:white;padding-top:80px;padding-bottom:80px}.efort-hero h1{font-size:clamp(38px,4.4vw,64px);line-height:1.12;font-weight:500;letter-spacing:-.05em}.efort-hero em,.efort-hero .eyebrow{color:var(--accent-bright)}.efort-hero>div>p:not(.eyebrow){font-size:16px;color:#cecece;margin-top:27px;max-width:560px}.efort-hero .hero-actions{flex-wrap:wrap;gap:18px}.efort-hero .button{background:var(--accent-bright);color:var(--navy)}.robot-selection{padding:32px;border:1px solid #FF751F66;background:linear-gradient(125deg,#28180e,#101010)}.efort-name{font:800 65px/1 var(--display);letter-spacing:-.045em;color:#f4f4f4;border-bottom:1px solid #FF751F66;padding:12px 0 28px}.efort-name span{display:block;font:400 11px var(--font);letter-spacing:.16em;text-transform:uppercase;margin-top:12px;color:#cecece}.selection-row{display:grid;grid-template-columns:25px 1fr;gap:6px 14px;padding:16px 0;border-bottom:1px solid #FF751F40}.selection-row>span{font-size:10px;color:var(--accent-bright)}.selection-row strong{font-size:14px;font-weight:500}.selection-row p{grid-column:2;font-size:12px;color:#cecece}.selection-note{font-size:12px;color:#cecece;margin-top:22px}.source-note{font-size:11px;color:var(--muted);margin-top:26px;max-width:750px}.source-note a{text-decoration:underline;text-underline-offset:3px}.efort-page .approach-section>.text-link{margin-top:32px}.efort-page article.solution-card:hover{transform:none;border-color:var(--line)}
@media(max-width:1100px){.efort-hero{gap:35px}.efort-hero h1{font-size:46px}.robot-selection{padding:26px}}
@media(max-width:900px){.efort-hero{grid-template-columns:1fr;gap:40px}.robot-selection{max-width:650px}.efort-callout{align-items:flex-start;flex-direction:column;gap:22px}}
@media(max-width:640px){.efort-hero{padding-top:55px;padding-bottom:55px}.efort-hero h1{font-size:41px}.efort-hero .eyebrow{font-size:10px}.efort-name{font-size:57px}.efort-callout h3{font-size:22px}}


/* Entrance and scroll choreography, with static accessible fallbacks. */
@keyframes reveal-up {
  from { opacity: 0; translate: 0 26px; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes hero-settle {
  from { transform: scale(1.07); }
  to { transform: scale(1); }
}
@media (prefers-reduced-motion: no-preference) {
  .reveal-ready { opacity: 0; }
  .reveal-ready.is-revealed {
    animation: reveal-up 850ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) both;
  }
  .reveal-ready:focus-within { opacity: 1; animation: none; }
  .motion-enabled .hero-photo { animation: hero-settle 3s cubic-bezier(.22,1,.36,1) both; }
  .motion-enabled .navbar.active { animation: reveal-up 260ms ease both; }
  .button span, .text-link span, .card-top > span:last-child { transition: transform 220ms ease; }
  .button:hover span, .text-link:hover span, .solution-card:hover .card-top > span:last-child { transform: translate(3px,-3px); }
}
@media (prefers-reduced-motion: reduce) {
  .reveal-ready { opacity: 1; translate: none; }
}
@media print {
  .reveal-ready { opacity: 1 !important; animation: none !important; translate: none !important; }
}
.partnership-section { background: #171717; }
.partner-roles { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 36px; }
.partner-role { padding: 30px; background: var(--ivory); border: 1px solid #FF751F40; }
.partner-role .eyebrow { margin-bottom: 14px; }
.partner-role h3 { font-size: 25px; font-weight: 600; }
.partner-role > p:last-child { color: var(--muted); font-size: 15px; margin-top: 16px; }
@media (max-width:640px) { .partner-roles { grid-template-columns: 1fr; } .partner-role { padding: 24px; } }

/* Business address and responsive location map. */
.contact-location { margin-top: 27px; color: var(--muted); font-size: 13px; line-height: 1.9; }
.contact-location strong { color: var(--ink); font-weight: 600; }
.contact-location address { font-style: normal; margin-top: 8px; }
.contact-location p { margin-top: 14px; font-size: 12px; }
.location-map { grid-column: 1 / -1; min-width: 0; }
.map-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 22px; }
.map-heading .eyebrow { margin-bottom: 8px; }
.map-heading h3 { font-size: 27px; font-weight: 600; }
.location-map iframe { display: block; width: 100%; height: 360px; border: 1px solid var(--line); border-radius: 3px; background: var(--ivory); }
.map-note { font-size: 12px; color: var(--muted); margin-top: 12px; }
.map-note a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
@media(max-width:640px) { .map-heading { align-items: flex-start; flex-direction: column; gap: 12px; } .location-map iframe { height: 300px; } .map-heading h3 { font-size: 24px; } }

/* Black & orange: Aufvanta orange accents against layered charcoal. */
:root { --brand-gradient: linear-gradient(115deg,#ff751f 0%,#ffad76 45%,#FF751F 72%,#ffb07a 100%); }
.header { background: linear-gradient(110deg,#050505 0%,#211710 52%,#090909 100%); border-bottom: 1px solid #FF751F66; box-shadow: 0 6px 30px #0005; }
.header:after { content:''; position:absolute; bottom:-1px; left:0; width:100%; height:1px; background:linear-gradient(90deg,transparent,#FF751F,transparent); background-size:200% 100%; }
.navbar { background:linear-gradient(120deg,#ffffff04,#ff751f10); border-radius:5px; }
.navbar a { transition:color .25s,background .25s; }
.navbar .nav-cta,.button,.btn,.home .button,.edge-section .button,.efort-hero .button,.home .btn:first-child { background:var(--brand-gradient); color:#151515; border:1px solid #FF751F; box-shadow:0 5px 20px #0003,inset 0 1px #fff5; background-size:180% 100%; transition:background-position .5s,transform .3s,box-shadow .3s; }
.navbar .nav-cta:hover,.button:hover,.btn:hover,.home .button:hover,.edge-section .button:hover { color:#090909; background:var(--brand-gradient); background-size:180% 100%; background-position:100% 0; box-shadow:0 8px 26px #ff751f25; }
.home .btn:nth-child(2) { background:linear-gradient(120deg,#151515,#291b13); color:#ffad76; border-color:#FF751F80; }
.home,.efort-hero,.skills,.edge-section { background-color:#090909; }
.efort-hero,.skills,.edge-section { background-image:radial-gradient(ellipse at 90% 10%,#FF751F1c,transparent 65%),linear-gradient(135deg,#080808,#171717); }
.solution-card,.education-content .content,.enquiry-card,.partner-role { background:linear-gradient(140deg,#21150e,#121212 80%); border-color:#FF751F33; }
.solution-card:hover { border-color:#FF751F; box-shadow:0 12px 32px #0004; }
.robot-selection { background:linear-gradient(125deg,#302016,#111111); }
.edge-visual:after { background:linear-gradient(0deg,#050505 2%,#05050540 90%); }
.skip-link { color:#f3f3f3; }
.footer { background:linear-gradient(110deg,#050505,#211710); border-top:1px solid #FF751F40; }
.home h1 em,.efort-hero h1 em { color:#FF751F; }
@keyframes brand-flow { from { background-position:100% 50%; } to { background-position:-100% 50%; } }
@media(prefers-reduced-motion:no-preference) {
 .motion-enabled .header:after { animation:brand-flow 6s linear infinite; }
 .motion-enabled .home h1 em,.motion-enabled .efort-hero h1 em,.motion-enabled .sensor-hero h1 em,.motion-enabled .text-animate h3 {
   background:linear-gradient(110deg,#ff751f 10%,#ffbf94 35%,#FF751F 55%,#ffa567 75%,#ff751f 95%);
   background-size:200% auto; background-clip:text; -webkit-background-clip:text; color:transparent; animation:brand-flow 7s linear infinite;
 }
 .reveal-ready.is-revealed { animation-duration:1100ms; }
}
@media(max-width:900px) { .navbar { background:linear-gradient(120deg,#0c0c0c,#291b13); border-radius:0; } }

/* Technology partnerships: original brand assets, balanced presentation. */
.partner-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.partner-card { padding:28px; border:1px solid var(--line); background:linear-gradient(135deg,#201812,#111); }
.partner-logo { background:#fff; border-radius:3px; padding:22px; height:110px; display:flex; align-items:center; justify-content:center; margin-bottom:24px; }
.partner-logo img { max-height:68px; max-width:100%; width:auto; object-fit:contain; }
.partner-card h3 { font-size:22px; margin-bottom:14px; }
.partner-card p { font-size:14px; color:var(--muted); }
.partner-card .text-link { margin-top:16px; }
.sensor-hero { display:grid; grid-template-columns:1.3fr 1fr; gap:65px; align-items:center; background:radial-gradient(ellipse at 85% 40%,#ff751f15,transparent 60%),#090909; }
.sensor-hero h1 { font-size:clamp(40px,4.5vw,65px); font-weight:500; }
.sensor-hero .hero-description { max-width:570px; }
.sensor-product { margin:0; background:#fff; border:1px solid #FF751F40; padding:32px; border-radius:4px; }
.sensor-product .sensor-brand { width:260px; margin:0 auto 24px; }
.sensor-product .sensor-photo { width:100%; height:330px; object-fit:contain; }
.sensor-product figcaption { color:#414141; text-align:center; font-size:12px; margin-top:20px; }
.sensor-feature { display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:center; }
.sensor-feature p:not(.eyebrow) { color:var(--muted); margin-top:24px; }
.sensor-feature .button { margin-top:26px; }
.sensor-feature .sensor-product .sensor-photo { height:240px; }
.efort-name .official-efort { width:230px; padding:18px; background:white; }
.partner-role .partner-logo { max-width:340px; }
@media(max-width:1100px){ .navbar{gap:17px}.navbar a{font-size:12px}.sensor-hero{gap:35px} }
@media(max-width:900px){ .partner-grid{grid-template-columns:1fr}.sensor-hero,.sensor-feature{grid-template-columns:1fr;gap:35px}.sensor-product{max-width:520px;width:100%;justify-self:center} }
@media(max-width:640px){.sensor-hero h1{font-size:42px}.sensor-product{padding:24px}.sensor-product .sensor-photo{height:270px}.partner-card{padding:24px} }

/* EdgeSCADA product hero. */
.edgescada-page .hero-scada{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center;background-image:linear-gradient(90deg,#090909f5,#090909cf),url('images/hero-scada.jpg')}
.edgescada-page .home-content{min-width:0}
.edgescada-page .home h1{font-size:clamp(38px,4.1vw,60px);overflow-wrap:normal}
.edgescada-page .home-content>p:not(.eyebrow){font-size:16px}
.edgescada-benefits{padding:30px;border:1px solid #FF751F66;background:linear-gradient(135deg,#21150eef,#101010f5);border-radius:5px;position:relative;z-index:1}
.edgescada-benefits .eyebrow{margin-bottom:14px}
.edgescada-benefits h2{font-size:30px}
.edgescada-benefits ul{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;list-style:none;padding:0;margin:26px 0 0}
.edgescada-benefits li{border-top:1px solid #FF751F40;padding-top:14px}
.edgescada-benefits strong{display:block;font-size:15px;line-height:1.4;color:#FF751F}
.edgescada-benefits li span{display:block;font-size:12px;line-height:1.7;color:#cecece;margin-top:6px}
@media(max-width:1000px){.edgescada-page .hero-scada{grid-template-columns:1fr;gap:32px}.edgescada-benefits{max-width:690px}.edgescada-page .home h1{font-size:clamp(36px,6vw,60px)}}
@media(max-width:640px){.edgescada-benefits{padding:24px}.edgescada-benefits ul{gap:20px 16px}.edgescada-benefits h2{font-size:28px}.edgescada-page .home h1{font-size:clamp(32px,9vw,48px)}}

/* Demo access enquiry. */
.demo-request{display:grid;grid-template-columns:1fr 1fr;gap:64px;background:#0c0c0c}
.demo-request>div>p:not(.eyebrow){color:var(--muted);margin-top:24px;max-width:480px}
.demo-request .demo-privacy{font-size:12px}
.demo-access-form{padding:30px;border:1px solid #FF751F40;background:linear-gradient(140deg,#21150e,#121212 80%);border-radius:4px}
.demo-access-form label,.contact-form label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.demo-access-form label span,.contact-form label span{font-weight:400;color:var(--muted);font-size:11px}
.demo-access-form input,.demo-access-form textarea,.contact-form input,.contact-form textarea{display:block;width:100%;font:inherit;font-size:14px;color:#f3f3f3;background:#0c0c0c;border:1px solid #666;border-radius:3px;padding:12px;margin-bottom:20px}
.demo-access-form textarea,.contact-form textarea{resize:vertical;min-height:120px}
.demo-access-form input:focus-visible,.demo-access-form textarea:focus-visible,.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid #FF751F;outline-offset:3px}
.demo-access-form .button,.contact-form .button{width:100%;cursor:pointer}
.demo-access-form .button:disabled,.contact-form .button:disabled{opacity:.65;cursor:not-allowed}
.demo-form-status,.contact-form .form-status{color:var(--muted);font-size:12px;margin-top:16px}
.demo-form-status a,.contact-form .form-status a{color:#FF751F;text-decoration:underline}
.contact-form{margin-top:24px}
.enquiry-card p+.contact-form{margin-top:22px}
@media(max-width:900px){.demo-request{grid-template-columns:1fr;gap:30px}}
@media(max-width:640px){.demo-access-form{padding:22px}}

.contact-page h1{font-size:clamp(42px,5vw,66px);font-weight:500;letter-spacing:-.05em}
.navbar .nav-cta.active-section{color:#151515}

/* Nav dropdowns (About / Solutions) on pages without those sections of their own. */
.nav-dropdown{position:relative}
.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;font:inherit;font-size:13px;color:#e0e0e0;cursor:pointer;transition:color .25s}
.nav-dropdown-toggle:hover,.nav-dropdown.is-open .nav-dropdown-toggle{color:var(--accent-bright)}
.nav-dropdown-toggle .chevron{font-size:10px;transition:transform .2s}
.nav-dropdown.is-open .nav-dropdown-toggle .chevron{transform:rotate(180deg)}
.nav-dropdown-menu{position:absolute;top:100%;left:0;margin-top:16px;min-width:230px;padding:8px;background:linear-gradient(140deg,#1c1c1c,#111);border:1px solid #FF751F40;border-radius:6px;box-shadow:0 16px 36px #0008;display:none;flex-direction:column;gap:1px;z-index:60}
.nav-dropdown.is-open .nav-dropdown-menu{display:flex}
.nav-dropdown-menu a{display:block;padding:10px 12px;font-size:13px;color:#e0e0e0;border-radius:4px;white-space:nowrap}
.nav-dropdown-menu a:hover{background:#FF751F1f;color:#fff}
@media(max-width:900px){
  .nav-dropdown-toggle{width:100%;justify-content:space-between;padding:13px 0;font-size:15px}
  .nav-dropdown-menu{position:static;margin:0 0 8px 12px;padding:0;background:none;border:none;border-left:1px solid #FF751F40;border-radius:0;box-shadow:none}
  .nav-dropdown-menu a{padding:10px 0 10px 14px;font-size:14px}
}

/* Form submission toast (AJAX success/error feedback, see enquiry-form.js). */
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;pointer-events:none;max-width:420px;padding:16px 20px;background:linear-gradient(140deg,#1a1a1a,#111);border:1px solid #FF751F66;border-radius:6px;box-shadow:0 12px 32px #0007;color:#f3f3f3;font-size:14px;line-height:1.5;z-index:1000;transition:opacity .3s ease,transform .3s ease}
.toast.is-visible{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast strong{display:block;color:#FF751F;font-weight:600;margin-bottom:2px}
.toast.toast-error{border-color:#ff4d4d99}
.toast.toast-error strong{color:#ff6b6b}
@media(max-width:640px){.toast{left:16px;right:16px;max-width:none;transform:translateY(20px)}.toast.is-visible{transform:translateY(0)}}

/* Personal digital business-card pages (QR-code only, not linked from nav). */
.profile-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;background:var(--navy);color:#fff}
.profile-hero h1{font-size:clamp(38px,4.6vw,64px);font-weight:500;line-height:1.1;letter-spacing:-.045em;margin-top:10px}
.profile-hero .hero-description{color:#cecece}
.profile-photo{border:1px solid #FF751F66;border-radius:4px;overflow:hidden;background:#111}
.profile-photo img{width:100%;height:560px;object-fit:cover;display:block}
@media(max-width:900px){.profile-hero{grid-template-columns:1fr;gap:32px}.profile-photo img{height:420px}}
@media(max-width:640px){.profile-photo img{height:340px}.profile-hero .hero-actions{flex-direction:column;align-items:flex-start;gap:14px}}
