/*
Theme Name: ChainOpti AI Logistics — Connected Edition
Theme URI: https://chainopti.com
Author: ChainOpti Team
Description: Preserves the original React/Three.js ChainOpti homepage and adds interactive WordPress platform, intelligence, industry, sustainability, case study, contact and support pages.
Version: 2.2.0
License: GNU General Public License v2 or later
Text Domain: chainopti
Requires at least: 5.8
Requires PHP: 7.4
*/

:root{--co-ink:#031b27;--co-deep:#02141c;--co-paper:#f5f7f4;--co-mist:#e5edeb;--co-text:#0a232b;--co-muted:#60777d;--co-cyan:#00f5d4;--co-lime:#c9f65c;--co-teal:#087f7a;--co-line:rgba(255,255,255,.13);--co-shell:1420px}
*{box-sizing:border-box}html{scroll-behavior:smooth}.co-native-page{margin:0;background:var(--co-deep);color:#fff;font-family:Inter,Arial,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}.co-native-page.menu-open{overflow:hidden}.co-native-page a{color:inherit;text-decoration:none}.co-native-page img,.co-native-page video{display:block;max-width:100%}.co-native-page button,.co-native-page input,.co-native-page textarea,.co-native-page select{font:inherit}.co-shell{width:min(calc(100% - 96px),var(--co-shell));margin-inline:auto}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.co-header{height:96px;background:rgba(2,20,28,.96);border-bottom:1px solid var(--co-line);position:relative;z-index:80}.co-header-inner{height:100%;display:flex;align-items:center;gap:34px}.co-brand{display:inline-flex;align-items:center;gap:14px;font-family:"Space Grotesk",sans-serif;font-size:28px;font-weight:700;letter-spacing:-.04em;white-space:nowrap}.co-brand-mark{position:relative;width:40px;height:40px;border:9px solid #fff;border-radius:50%}.co-brand-mark i{position:absolute;width:13px;height:13px;border-radius:50%;right:-10px;bottom:-7px;background:var(--co-lime)}.co-nav{margin-left:auto}.co-menu{display:flex;align-items:center;gap:27px;list-style:none;padding:0;margin:0}.co-menu a{font-size:14px;color:#d7e3e4;transition:.2s}.co-menu a:hover,.co-menu .current-menu-item>a{color:var(--co-cyan)}.co-header-actions{display:flex;align-items:center;gap:8px}.co-demo-link,.co-portal-menu>button{border:1px solid rgba(255,255,255,.3);padding:11px 14px;background:transparent;color:#fff;font-size:13px;cursor:pointer}.co-demo-link:hover{background:var(--co-cyan);border-color:var(--co-cyan);color:var(--co-deep)}.co-portal-menu{position:relative}.co-portal-menu>button span{margin-left:7px}.co-portal-panel{position:absolute;right:0;top:calc(100% + 12px);width:330px;background:#fff;color:var(--co-text);padding:10px;box-shadow:0 20px 60px rgba(0,0,0,.28);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s}.co-portal-menu.is-open .co-portal-panel{opacity:1;visibility:visible;transform:none}.co-portal-panel a{display:flex;flex-direction:column;padding:15px;border-bottom:1px solid #dce5e2}.co-portal-panel a:last-child{border:0}.co-portal-panel a:hover{background:#eff5f2}.co-portal-panel strong{font-family:"Space Grotesk",sans-serif}.co-portal-panel span{font-size:13px;color:var(--co-muted)}.co-menu-toggle{display:none;background:none;border:0;padding:8px}.co-menu-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px}
.co-hero{position:relative;overflow:hidden;display:flex;align-items:center;min-height:680px;background:radial-gradient(circle at 82% 80%,rgba(0,245,212,.1),transparent 33%),var(--co-deep)}.co-hero-content{position:relative;z-index:2;padding-block:90px}.co-hero h1,.co-portal-hero h1{font-family:"Space Grotesk",sans-serif;font-size:clamp(58px,7.3vw,112px);line-height:.93;letter-spacing:-.065em;max-width:1250px;margin:25px 0 35px}.co-hero-content>p:not(.co-eyebrow){max-width:850px;font-size:clamp(20px,2vw,28px);color:#a9bcc0;margin:0}.co-eyebrow{display:flex;align-items:center;gap:15px;text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:700;color:var(--co-cyan);margin:0 0 24px}.co-eyebrow:before{content:"";width:50px;height:2px;background:currentColor}.co-eyebrow.co-teal{color:var(--co-teal)}.co-orbit{position:absolute;right:-150px;bottom:-330px;width:820px;height:820px;border:1px solid rgba(0,245,212,.22);border-radius:50%;box-shadow:0 0 80px rgba(0,245,212,.05) inset}.co-orbit:before,.co-orbit:after{content:"";position:absolute;border:1px solid rgba(201,246,92,.13);border-radius:50%;inset:110px}.co-orbit:after{inset:260px;background:rgba(201,246,92,.08)}.co-button{display:inline-flex;align-items:center;justify-content:center;gap:32px;margin-top:38px;background:var(--co-cyan);color:var(--co-deep);min-height:56px;padding:14px 23px;border:0;font-weight:700;cursor:pointer;transition:.2s}.co-button:hover{background:var(--co-lime);transform:translateY(-2px)}.co-button-dark{background:var(--co-deep);color:#fff}.co-button-dark:hover{background:var(--co-teal);color:#fff}
.co-section{padding:135px 0}.co-light{background:var(--co-paper);color:var(--co-text)}.co-mist{background:var(--co-mist);color:var(--co-text)}.co-dark{background:var(--co-deep);color:#fff}.co-split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.65fr);gap:10vw;align-items:end}.co-split h2,.co-cta h2,.co-contact-info h2,.co-faq h2{font-family:"Space Grotesk",sans-serif;font-size:clamp(45px,5.8vw,88px);line-height:1;letter-spacing:-.055em;margin:0}.co-split>p,.co-split>div+div>p{font-size:20px;color:var(--co-muted);margin:0}.co-list{list-style:none;padding:0;margin:35px 0 0}.co-list li{padding:13px 0;border-top:1px solid rgba(10,35,43,.16)}.co-list li:before{content:"↗";color:var(--co-teal);margin-right:13px}
.co-tabs{background:#fff}.co-tab-list{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #ccd7d3}.co-tab-list button{border:0;border-right:1px solid #ccd7d3;background:#f8faf8;padding:24px;color:var(--co-muted);font-weight:600;cursor:pointer}.co-tab-list button:last-child{border-right:0}.co-tab-list button[aria-selected="true"]{background:var(--co-deep);color:var(--co-cyan)}.co-tab-panel{display:none;grid-template-columns:1.25fr .75fr;min-height:430px}.co-tab-panel.is-active{display:grid}.co-tab-panel>div{padding:60px}.co-tab-panel>div>span{color:var(--co-teal);font-family:"Space Grotesk",sans-serif}.co-tab-panel h3{font-family:"Space Grotesk",sans-serif;font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.05em;margin:70px 0 20px}.co-tab-panel p{font-size:20px;color:var(--co-muted);max-width:700px}.co-tab-panel ul{list-style:none;margin:0;padding:50px;background:var(--co-deep);color:#fff;display:flex;flex-direction:column;justify-content:center}.co-tab-panel li{padding:18px 0;border-top:1px solid var(--co-line)}.co-tab-panel li:before{content:"↗";color:var(--co-cyan);margin-right:12px}.co-cta{max-width:1100px}.co-cta h2{margin-bottom:10px}
.co-industry-grid{display:grid;gap:2px}.co-industry-card{position:relative;min-height:580px;background:var(--co-deep);overflow:hidden;color:#fff}.co-industry-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.42);transition:.6s}.co-industry-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,20,28,.98) 0%,rgba(2,20,28,.8) 44%,transparent)}.co-industry-card:hover video{transform:scale(1.035);filter:grayscale(.25) brightness(.55)}.co-industry-card>div{position:relative;z-index:2;width:55%;padding:70px}.co-industry-card h2{font-family:"Space Grotesk",sans-serif;font-size:clamp(42px,5vw,74px);line-height:1;letter-spacing:-.05em;margin:25px 0}.co-industry-card p:not(.co-eyebrow){color:#b3c1c4;font-size:19px}.co-industry-card a,.co-case a{display:inline-block;margin-top:24px;color:var(--co-cyan);font-weight:700}.co-case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}.co-case{background:#fff;padding:55px;min-height:460px}.co-case>strong{display:block;font-family:"Space Grotesk",sans-serif;font-size:100px;line-height:1;color:var(--co-teal);letter-spacing:-.07em}.co-case h2{font-family:"Space Grotesk",sans-serif;font-size:36px;line-height:1.05;margin:15px 0}.co-case p{color:var(--co-muted)}
.co-contact-hero{min-height:600px}.co-contact-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:9vw}.co-contact-info h2{font-size:62px;margin-bottom:30px}.co-contact-info>a{font-size:20px;color:var(--co-teal);font-weight:700}.co-office{display:flex;flex-direction:column;border-top:1px solid #cbd6d2;padding-top:18px;margin-top:30px}.co-office span{color:var(--co-muted)}.co-form{background:#fff;padding:48px;box-shadow:0 22px 60px rgba(10,35,43,.09)}.co-form label,.co-auth-box label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;margin-bottom:22px}.co-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.co-form input,.co-form textarea,.co-form select,.co-auth-box input{width:100%;padding:14px 15px;border:1px solid #c5d1cd;background:#f8faf8;color:var(--co-text)}.co-form input:focus,.co-form textarea:focus,.co-form select:focus,.co-auth-box input:focus{outline:2px solid var(--co-cyan);border-color:var(--co-teal)}.co-honeypot{position:absolute!important;left:-9999px!important}.co-alert{padding:13px 15px}.co-alert.success{background:#e5f3d3;color:#285329}.co-alert.error{background:#f5dfdb;color:#7a251e}.co-faq{margin-top:110px;max-width:960px}.co-faq h2{font-size:56px;margin-bottom:45px}.co-faq article{border-top:1px solid #c8d3cf}.co-faq article>button{display:flex;justify-content:space-between;width:100%;padding:23px 0;border:0;background:transparent;color:var(--co-text);font-weight:700;text-align:left;cursor:pointer}.co-faq article>div{display:none;padding:0 0 25px;color:var(--co-muted)}.co-faq article.is-open>div{display:block}
.co-auth-page{min-height:calc(100vh - 96px);display:grid;grid-template-columns:1fr 1fr;background:var(--co-paper);color:var(--co-text)}.co-auth-visual{display:flex;align-items:flex-end;padding:8vw;background:radial-gradient(circle at 75% 30%,rgba(0,245,212,.17),transparent 32%),linear-gradient(145deg,var(--co-deep),#063b4a);color:#fff}.co-auth-visual h1{font-family:"Space Grotesk",sans-serif;font-size:clamp(52px,6vw,90px);line-height:.95;letter-spacing:-.06em;margin:20px 0}.co-auth-visual p:not(.co-eyebrow){color:#b1c4c8;max-width:600px}.co-auth-panel{display:flex;align-items:center;justify-content:center;padding:70px}.co-auth-box{width:min(100%,520px)}.co-auth-box h2{font-family:"Space Grotesk",sans-serif;font-size:58px;line-height:1;margin:18px 0}.co-auth-box>p:not(.co-eyebrow,.co-alert){color:var(--co-muted)}.co-check{flex-direction:row!important;align-items:center}.co-check input{width:auto}.co-forgot{display:block;margin-top:20px;color:var(--co-teal)}
.co-portal-hero{padding:120px 0;background:var(--co-deep)}.co-portal-hero h1{font-size:80px}.co-portal-hero p:not(.co-eyebrow){color:#aec0c4;font-size:20px}.co-portal-hero a{color:var(--co-cyan)}.co-portal-grid,.co-support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.co-portal-grid a,.co-support-grid a{background:#fff;padding:40px;min-height:310px}.co-portal-grid a:hover,.co-support-grid a:hover{background:var(--co-deep);color:#fff}.co-portal-grid span,.co-support-grid span{color:var(--co-teal)}.co-portal-grid h2,.co-support-grid h2{font-family:"Space Grotesk",sans-serif;font-size:31px;line-height:1.05;margin:70px 0 14px}.co-portal-grid p,.co-support-grid p{color:var(--co-muted)}
.co-footer{padding:90px 0 30px;background:var(--co-deep);border-top:1px solid var(--co-line)}.co-footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:60px}.co-footer-intro p{color:#91a6aa;max-width:420px}.co-footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:8px}.co-footer h4{color:var(--co-cyan);text-transform:uppercase;letter-spacing:.15em;font-size:12px}.co-footer-grid a:not(.co-brand){font-size:14px;color:#bdccce}.co-footer-grid a:hover{color:#fff}.co-footer-bottom{display:flex;justify-content:space-between;margin-top:70px;padding-top:25px;border-top:1px solid var(--co-line);font-size:12px;color:#718b91}
.co-reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.co-reveal.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.co-shell{width:min(calc(100% - 48px),var(--co-shell))}.co-menu{gap:15px}.co-menu a{font-size:12px}.co-demo-link{display:none}.co-split{grid-template-columns:1fr;gap:35px}.co-tab-panel{grid-template-columns:1fr}.co-tab-panel ul{min-height:250px}.co-contact-layout{gap:5vw}.co-portal-grid,.co-support-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.co-header{height:78px;position:sticky;top:0}.co-brand{font-size:23px}.co-brand-mark{width:34px;height:34px;border-width:7px}.co-menu-toggle{display:block;margin-left:auto}.co-nav{position:fixed;inset:78px 0 0;background:var(--co-deep);padding:28px;opacity:0;visibility:hidden;transition:.2s}.menu-open .co-nav{opacity:1;visibility:visible}.co-menu{flex-direction:column;align-items:stretch;gap:0}.co-menu a{display:block;border-bottom:1px solid var(--co-line);font-size:27px;padding:12px 0}.co-header-actions{margin-left:0}.co-portal-menu>button{font-size:0;padding:11px}.co-portal-menu>button:before{content:"Login";font-size:12px}.co-portal-menu>button span{display:none}.co-portal-panel{position:fixed;right:16px;left:16px;top:88px;width:auto}.co-hero{min-height:620px}.co-hero h1{font-size:clamp(52px,14vw,78px)}.co-hero-content>p:not(.co-eyebrow){font-size:19px}.co-section{padding:90px 0}.co-tab-list{grid-template-columns:1fr}.co-tab-list button{border-right:0;border-bottom:1px solid #ccd7d3}.co-tab-panel>div,.co-tab-panel ul{padding:32px}.co-industry-card{min-height:520px}.co-industry-card>div{width:100%;padding:40px}.co-industry-card:after{background:rgba(2,20,28,.75)}.co-case-grid{grid-template-columns:1fr}.co-contact-layout{grid-template-columns:1fr}.co-form{padding:28px}.co-auth-page{grid-template-columns:1fr}.co-auth-visual{min-height:460px;padding:50px 28px}.co-auth-panel{padding:70px 28px}.co-footer-grid{grid-template-columns:1fr 1fr}.co-footer-intro{grid-column:1/-1}}
@media(max-width:540px){.co-shell{width:min(calc(100% - 32px),var(--co-shell))}.co-header-actions{gap:0}.co-menu-toggle{margin-left:auto}.co-hero h1{font-size:49px}.co-split h2,.co-cta h2,.co-contact-info h2,.co-faq h2{font-size:42px}.co-form-row{grid-template-columns:1fr;gap:0}.co-case{padding:32px}.co-case>strong{font-size:78px}.co-portal-grid,.co-support-grid{grid-template-columns:1fr}.co-footer-grid{grid-template-columns:1fr}.co-footer-intro{grid-column:auto}.co-footer-bottom{flex-direction:column;gap:5px}.co-auth-box h2{font-size:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.co-reveal{opacity:1;transform:none;transition:none}}

/* 2.2 unified interactive motion and navigation */
.co-network-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;background:var(--co-deep)}
.co-header,.co-native-page main,.co-footer{position:relative;z-index:1}
.co-hero{background:linear-gradient(90deg,rgba(2,20,28,.94),rgba(2,20,28,.48))}
.co-demo-link{border:1px solid rgba(255,255,255,.3);padding:11px 14px;background:transparent;color:#fff;font-size:13px;cursor:pointer}
.co-has-submenu{position:relative}
.co-submenu{position:absolute;left:-14px;top:calc(100% + 26px);width:330px;padding:10px;background:rgba(2,20,28,.98);border:1px solid var(--co-line);box-shadow:0 24px 70px rgba(0,0,0,.4);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s}
.co-has-submenu:hover .co-submenu,.co-has-submenu:focus-within .co-submenu{opacity:1;visibility:visible;transform:none}
.co-submenu:before{content:"";position:absolute;left:0;right:0;top:-28px;height:28px}
.co-submenu a{display:flex!important;flex-direction:column;padding:13px 14px!important;border-bottom:1px solid var(--co-line)!important}
.co-submenu a:last-child{border-bottom:0!important}.co-submenu a:hover{background:rgba(0,245,212,.08)}
.co-submenu strong{font-size:13px;color:var(--co-cyan)}.co-submenu span{font-size:12px;color:#8da5aa;line-height:1.4}
.co-alert[hidden]{display:none}.co-form.is-sending{opacity:.72;pointer-events:none}.co-form .co-button[disabled]{cursor:wait}
@media(max-width:820px){.co-nav{overflow:auto}.co-menu>li>a{display:block;border-bottom:1px solid var(--co-line);font-size:27px;padding:12px 0}.co-submenu{display:none}.co-portal-menu{display:none}}
