/*
Theme Name: Knoco International V3
Theme URI: https://knoco.com
Author: Knoco International
Description: Premium Elementor-free consulting theme for Knoco International, focused on Knowledge Management consulting, Organizational Intelligence, industries, and the global Knoco network.
Version: 3.3.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: knoco-international
*/

:root{
  --knoco-purple:#7851a9;
  --knoco-purple-dark:#5b3a86;
  --knoco-lavender:#ccccff;
  --knoco-silver:#c0c0c0;
  --knoco-gold:#d4af37;
  --knoco-ink:#14213d;
  --knoco-muted:#596174;
  --knoco-paper:#ffffff;
  --knoco-wash:#f7f6fb;
  --knoco-line:#e7e3ee;
  --knoco-radius:16px;
  --knoco-shadow:0 14px 36px rgba(31,22,49,.10);
  --knoco-wrap:min(1120px,calc(100% - 96px));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--knoco-ink);background:#fff;font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.55}
img{max-width:100%;height:auto}
a{color:var(--knoco-purple);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--knoco-purple-dark)}
.wrap{width:var(--knoco-wrap);margin-inline:auto}
.screen-reader-text,.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:16px;top:16px;z-index:99999;background:#fff;color:#111;padding:12px 16px;border-radius:8px}

/* Utility bar */
.utility-bar{background:linear-gradient(90deg,var(--knoco-purple-dark),var(--knoco-purple));color:#fff;font-size:.84rem}
.utility-inner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.utility-brand{font-weight:650;letter-spacing:.01em}
.utility-links{display:flex;align-items:center;gap:12px}
.utility-links a{color:#fff;text-decoration:none}
.utility-links .divider{opacity:.5}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--knoco-line)}
.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--knoco-ink);min-width:300px}
.brand img{width:108px;height:66px;object-fit:contain;object-position:center}
.brand-copy strong{display:block;font-size:1.24rem;line-height:1.1;color:var(--knoco-ink)}
.brand-copy span{display:block;margin-top:2px;color:#8c83a0;font-size:.78rem}
.site-nav ul{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.site-nav li{position:relative}
.site-nav a{display:block;padding:10px 11px;border-radius:8px;color:var(--knoco-ink);font-size:.88rem;font-weight:700;text-decoration:none}
.site-nav a:hover,.site-nav .current-menu-item>a,.site-nav .current-menu-ancestor>a{color:var(--knoco-purple);background:var(--knoco-wash)}
.site-nav .sub-menu{position:absolute;top:100%;left:0;z-index:1000;display:block;min-width:270px;margin:0;padding:9px;background:#fff;border:1px solid var(--knoco-line);border-radius:10px;box-shadow:var(--knoco-shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease}
.site-nav .sub-menu .sub-menu{top:-9px;left:100%}
.site-nav li:hover>.sub-menu,.site-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.site-nav .sub-menu a{padding:10px 12px;white-space:nowrap;font-weight:650}
.menu-toggle{display:none;border:1px solid var(--knoco-line);background:#fff;color:var(--knoco-ink);padding:10px 14px;border-radius:9px;font-weight:800}

/* Buttons */
.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 20px;border:1px solid var(--knoco-purple);border-radius:4px;background:var(--knoco-purple);color:#fff!important;font-weight:800;text-decoration:none;transition:.2s ease}
.button:hover{background:var(--knoco-purple-dark);border-color:var(--knoco-purple-dark);transform:translateY(-1px);box-shadow:0 9px 22px rgba(120,81,169,.24)}
.button.alt{background:#fff;color:var(--knoco-purple)!important}
.button.outline{background:transparent;border-color:#fff;color:#fff!important}

/* Hero */
.home-hero{position:relative;overflow:hidden;color:#fff;background-color:#171344;background-image:url('https://knoco.com/wp-content/uploads/2026/09/Image-Purple_World.png');background-position:center center;background-size:cover;background-repeat:no-repeat}
.home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(33,19,73,.87) 0%,rgba(61,35,107,.60) 43%,rgba(10,27,66,.26) 100%)}
.hero-grid{position:relative;z-index:1;min-height:300px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:38px;padding:36px 0}
.hero-copy{max-width:620px}
.hero-copy h1{margin:0 0 14px;color:#fff;font-size:clamp(2.6rem,4.4vw,4.1rem);line-height:.98;letter-spacing:-.045em;font-weight:850}
.hero-copy h1 span{color:var(--knoco-lavender)}
.hero-copy p{max-width:570px;margin:0;color:#fff;font-size:1.13rem}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero-trail{justify-self:end;align-self:center;min-width:210px;padding:20px 0;color:#fff;font-size:.86rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.hero-trail span{display:block;padding:4px 0}
.hero-trail .accent{margin-top:8px;border-bottom:2px solid var(--knoco-lavender);padding-bottom:9px}

/* Section system */
.section{padding:44px 0}
.section.compact{padding:18px 0}
.section.tint{background:linear-gradient(180deg,#fafafe,#f4f2f8)}
.section.dark{background:linear-gradient(100deg,#2c2455,#443272);color:#fff}
.section-head{max-width:820px;margin:0 auto 18px;text-align:center}
.section-head h2,.oi-copy h2,.industries-head h2,.testimonial-intro h2,.insights-head h2{margin:0 0 7px;font-size:clamp(1.75rem,2.7vw,2.35rem);line-height:1.06;letter-spacing:-.03em}
.section-head p{margin:0;color:var(--knoco-muted)}

.performance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:1050px;margin:0 auto}
.performance-item{text-align:center;padding:0 22px}
.performance-item+.performance-item{border-left:1px solid #d8d4df}
.icon-circle{width:52px;height:52px;margin:0 auto 7px;border-radius:50%;display:grid;place-items:center;color:var(--knoco-purple)}
.icon-circle svg{width:36px;height:36px;stroke:currentColor;fill:none;stroke-width:1.8}
.performance-item h3{margin:0 0 5px;font-size:1.08rem}
.performance-item p{margin:0;color:var(--knoco-muted);font-size:.88rem}

/* OI */
.oi-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:44px;align-items:center}
.oi-copy h2{font-size:clamp(2.1rem,3.5vw,3rem)}
.oi-copy p{color:#333b4d;max-width:430px}
.oi-flow{display:grid;grid-template-columns:repeat(11,auto);align-items:center;justify-content:space-between;gap:8px}
.oi-node{text-align:center;min-width:76px}
.oi-node .node-icon{width:60px;height:60px;border:1.5px solid var(--knoco-purple);border-radius:50%;display:grid;place-items:center;margin:0 auto 6px;color:var(--knoco-purple);background:#fff}
.oi-node svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.8}
.oi-node strong{display:block;font-size:.76rem}
.flow-arrow{color:var(--knoco-purple);font-size:1.25rem}
.pillars-label{display:flex;align-items:center;gap:13px;margin:18px 0 10px;color:var(--knoco-ink);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.pillars-label:before,.pillars-label:after{content:"";height:1px;background:#b9aed0;flex:1}
.pillars-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.pillar{text-align:center}
.pillar .pillar-dot{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;color:#fff;background:var(--knoco-purple)}
.pillar:nth-child(2) .pillar-dot{background:#2f86bf}.pillar:nth-child(3) .pillar-dot{background:#18a79d}.pillar:nth-child(4) .pillar-dot{background:#ef7c2f}.pillar:nth-child(5) .pillar-dot{background:#e5ad18}.pillar:nth-child(6) .pillar-dot{background:#bd3f72}
.pillar svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9}
.pillar span{display:block;font-size:.72rem;font-weight:800;line-height:1.25}

/* Industries */
.industries-head,.insights-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:10px}
.industries-head h2,.insights-head h2{font-size:1.65rem}
.industries-head p,.insights-head p{margin:2px 0 0;color:var(--knoco-muted)}
.text-link{font-size:.82rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;text-decoration:none}
.industries-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}
.industry-card{display:block;color:var(--knoco-ink);text-decoration:none}
.industry-card img{width:100%;aspect-ratio:1.45/1;object-fit:cover;border-radius:4px;box-shadow:0 5px 15px rgba(24,18,35,.08)}
.industry-card span{display:block;margin-top:6px;text-align:center;font-size:.66rem;font-weight:800;line-height:1.15}

/* Testimonials */
.testimonial-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:42px;align-items:center}
.testimonial-intro h2{color:#fff;font-size:2rem}
.testimonial-intro p{margin:0;color:#f1edf7}
.testimonial-rotator{position:relative;min-height:120px}
.testimonial-slide{display:none}
.testimonial-slide.active{display:block}
.testimonial-slide blockquote{margin:0;color:#fff;font-size:1.02rem;font-style:italic;line-height:1.55}
.testimonial-slide cite{display:block;margin-top:12px;color:#ece4f6;font-size:.82rem;font-style:normal}
.testimonial-controls{display:flex;align-items:center;gap:14px;margin-top:16px}
.testimonial-controls button{border:0;background:transparent;color:#fff;font-size:1.9rem;cursor:pointer;padding:0}
.testimonial-dots{display:flex;gap:7px}
.testimonial-dots button{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.42);font-size:0}
.testimonial-dots button.active{background:#fff}

/* Insights */
.insights-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.insight-card{background:#fff;border:1px solid var(--knoco-line);box-shadow:0 7px 20px rgba(27,18,41,.06)}
.insight-card img{width:100%;aspect-ratio:1.6/1;object-fit:cover}
.insight-body{padding:12px 13px 16px}
.insight-type{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:#6e6780}
.insight-card h3{margin:5px 0 0;font-size:.9rem;line-height:1.18}
.insight-card h3 a{color:var(--knoco-ink);text-decoration:none}

/* Institute bridge */
.institute-bridge{background:linear-gradient(90deg,#f7f7fb,#eff1fa);border-top:1px solid #ebe8f0}
.institute-grid{display:grid;grid-template-columns:.8fr 1.35fr .75fr;gap:24px;align-items:center}
.institute-logo{display:flex;align-items:center;gap:10px;font-size:1.6rem;font-weight:800;color:var(--knoco-purple)}
.institute-logo img{width:82px;height:58px;object-fit:contain}
.institute-copy strong{display:block;margin-bottom:5px;font-size:1rem}
.institute-copy p{margin:0 0 12px;color:var(--knoco-muted);font-size:.82rem}
.institute-tagline{text-align:right;text-transform:uppercase;letter-spacing:.13em;font-size:.9rem;color:#263554}

/* Footer */
.site-footer{background:#7851a9;color:#fff;padding:22px 0 14px}
.footer-main{display:grid;grid-template-columns:.8fr 1.7fr .5fr;gap:30px;align-items:center}
.footer-brand strong{display:block;font-size:1.05rem}
.footer-brand span{display:block;margin-top:3px;font-size:.8rem;opacity:.9}
.footer-nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;list-style:none;margin:0;padding:0}
.footer-nav a{color:#fff;text-decoration:none;font-size:.78rem}
.social-links{display:flex;justify-content:flex-end;gap:15px}
.social-links a{color:#fff;text-decoration:none;font-weight:850;font-size:1.1rem}
.copyright{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.2);text-align:center;font-size:.72rem;color:rgba(255,255,255,.86)}

/* Generic content */
.page-hero{background:linear-gradient(110deg,#2b1c49,#7851a9);color:#fff;padding:64px 0;border-bottom:3px solid var(--knoco-gold)}
.page-hero h1{margin:0;color:#fff;font-size:clamp(2.6rem,5vw,4.5rem);line-height:1.02}
.content{padding:60px 0}
.entry-content{max-width:920px;margin:0 auto}
.entry-content h2,.entry-content h3{color:var(--knoco-ink)}
.entry-content h2{margin-top:1.6em;font-size:2rem}
.entry-content h3{margin-top:1.4em;font-size:1.45rem}

@media(max-width:1080px){
  .brand{min-width:auto}.brand-copy{display:none}
  .site-nav a{font-size:.82rem;padding:10px 8px}
  .industries-grid{grid-template-columns:repeat(4,1fr)}
  .insights-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:860px){
  .menu-toggle{display:block}.site-nav{display:none;position:absolute;top:84px;left:0;right:0;background:#fff;border-bottom:1px solid var(--knoco-line);padding:14px 20px}.site-nav.open{display:block}.site-nav ul{display:block}.site-nav .sub-menu{position:static;display:block;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding-left:16px}.site-nav .sub-menu .sub-menu{position:static}
  .hero-grid,.oi-grid,.testimonial-wrap,.institute-grid,.footer-main{grid-template-columns:1fr}
  .hero-trail{justify-self:start}.performance-grid{grid-template-columns:repeat(2,1fr)}.performance-item:nth-child(3){border-left:0;border-top:1px solid #d8d4df;padding-top:24px}.performance-item:nth-child(4){border-top:1px solid #d8d4df;padding-top:24px}
  .oi-flow{grid-template-columns:repeat(6,1fr)}.flow-arrow{display:none}.pillars-grid{grid-template-columns:repeat(3,1fr)}
  .insights-grid{grid-template-columns:repeat(2,1fr)}.institute-tagline{text-align:left}.footer-nav ul{justify-content:flex-start}.social-links{justify-content:flex-start}
}
@media(max-width:600px){
  :root{--knoco-wrap:min(100% - 28px,1220px)}
  .utility-inner{min-height:40px}.utility-brand{font-size:.73rem}.utility-links{font-size:.73rem;gap:8px}
  .brand img{width:100px}.header-inner{min-height:74px}.site-nav{top:74px}
  .hero-grid{min-height:0;padding:45px 0}.hero-copy h1{font-size:2.65rem}.hero-trail{display:none}
  .performance-grid,.pillars-grid,.industries-grid,.insights-grid{grid-template-columns:1fr}
  .performance-item+.performance-item{border-left:0;border-top:1px solid #d8d4df;padding-top:22px;margin-top:22px}
  .oi-flow{grid-template-columns:repeat(3,1fr);gap:18px}.industries-head,.insights-head{display:block}.industries-head .text-link,.insights-head .text-link{display:inline-block;margin-top:12px}
}

/* 3.1 mockup fidelity corrections */
.site-nav a{border-radius:0;padding:10px 9px;font-weight:650}
.site-nav a:hover,.site-nav .current-menu-item>a,.site-nav .current-menu-ancestor>a{background:transparent;border-bottom:2px solid var(--knoco-purple)}
.home-hero:before{background:linear-gradient(90deg,rgba(48,29,92,.74) 0%,rgba(63,40,113,.30) 42%,rgba(9,31,78,.10) 100%)}
.hero-copy p{font-size:1rem;line-height:1.4}.hero-actions{margin-top:16px}.hero-trail{font-size:.72rem;min-width:180px}
.section.dark{position:relative;background:linear-gradient(100deg,#33265f,#4a397d);overflow:hidden}.section.dark:after{content:"";position:absolute;right:-35px;top:-85px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(204,204,255,.14);box-shadow:0 0 0 25px rgba(204,204,255,.035),0 0 0 55px rgba(204,204,255,.025)}.testimonial-wrap{position:relative;z-index:1}
.institute-logo{font-size:1.5rem}.institute-logo img{filter:none}
@media(min-width:1180px){.wrap{width:min(1120px,calc(100% - 112px))}}
@media(max-width:1080px){:root{--knoco-wrap:min(100% - 48px,1120px)}}
@media(max-width:600px){:root{--knoco-wrap:min(100% - 28px,1120px)}}

/* 3.2 exact-home controls */
.home-hero{min-height:0}
.hero-grid{min-height:330px}
.hero-copy{padding:34px 0 28px}
.hero-copy h1{max-width:525px}
.hero-copy p{max-width:475px}
.home-hero[style]{background-position:center center;background-size:cover}
.insight-image{display:block;background:linear-gradient(135deg,#111b4f,#7851a9);overflow:hidden}
.insight-image img{display:block;width:100%;aspect-ratio:1.6/1;object-fit:cover}
.insight-placeholder{display:block;width:100%;aspect-ratio:1.6/1;background:linear-gradient(135deg,#111b4f 0%,#3f2a74 52%,#7851a9 100%)}
.insights-empty{grid-column:1/-1;border:1px dashed #c7bdd8;background:#f7f4fb;padding:18px 20px;color:#342946}
.insights-empty strong,.insights-empty span{display:block}.insights-empty span{margin-top:4px;font-size:.86rem;color:#655d70}
@media(max-width:860px){.hero-grid{min-height:300px}.home-hero[style]{background-position:58% center}}
@media(max-width:600px){.hero-grid{min-height:0}.hero-copy{padding:34px 0}.home-hero[style]{background-position:62% center}}
