/* ===== In-Con 2026 — 4-Theme System ===== */
:root{--font:'Inter',system-ui,-apple-system,sans-serif}
/* Dark (default) */
[data-theme="dark"],:root{
  --bg:#0c0c14;--bg2:#14141f;--bg3:#1c1c2a;
  --accent:#c8aa50;--accent2:#e0c878;--accent3:#f0e0a0;
  --text:#eeecf0;--text2:#8a8896;--border:rgba(200,170,80,0.15);
  --nav-bg:rgba(12,12,20,0.85);--card-bg:#14141f;
  --shape-opacity:.3;--grid-opacity:.04;
  --accent-rgb:200,170,80;--shadow:0 1px 3px rgba(0,0,0,.3);
  --input-bg:#1c1c2a;--input-border:rgba(200,170,80,0.2);
}
/* Light */
[data-theme="light"]{
  --bg:#faf7f4;--bg2:#ffffff;--bg3:#f0ece8;
  --accent:#2a6fd6;--accent2:#4a8fe6;--accent3:#7aa7f0;
  --text:#1a1a2e;--text2:#5a5a72;--border:rgba(42,111,214,0.15);
  --nav-bg:rgba(250,247,244,0.9);--card-bg:#ffffff;
  --shape-opacity:.4;--grid-opacity:.06;
  --accent-rgb:42,111,214;--shadow:0 1px 8px rgba(0,0,0,.06);
  --input-bg:#ffffff;--input-border:rgba(42,111,214,0.2);
}
/* Blue */
[data-theme="blue"]{
  --bg:#10203c;--bg2:#142848;--bg3:#1a3058;
  --accent:#5fb4ff;--accent2:#8dccff;--accent3:#c4e3ff;
  --text:#f2f7ff;--text2:#a3b8d6;--border:rgba(95,180,255,0.18);
  --nav-bg:rgba(16,32,60,0.85);--card-bg:#142848;
  --shape-opacity:.32;--grid-opacity:.05;
  --accent-rgb:95,180,255;--shadow:none;
  --input-bg:#1a3058;--input-border:rgba(95,180,255,0.2);
}
/* Red-Blue */
[data-theme="redblue"]{
  --bg:#f4f7fc;--bg2:#ffffff;--bg3:#e9eff9;
  --accent:#0a4dd8;--accent2:#e2232f;--accent3:#7aa7f0;
  --text:#131a2e;--text2:#5a6786;--border:rgba(10,77,216,0.16);
  --nav-bg:rgba(244,247,252,0.9);--card-bg:#ffffff;
  --shape-opacity:.5;--grid-opacity:.05;
  --accent-rgb:10,77,216;--shadow:0 2px 20px rgba(19,26,46,0.06);
  --input-bg:#ffffff;--input-border:rgba(10,77,216,0.2);
}
/* Reset & Base */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.6;transition:background .4s,color .4s;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
::selection{background:var(--accent);color:#fff}
::-webkit-scrollbar{width:4px;background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--accent);border-radius:2px}
/* Container */
.container{max-width:1200px;margin:0 auto;padding:0 40px}
@media(max-width:768px){.container{padding:0 20px}}
/* Typography */
h1{font-size:3.5rem;line-height:1.1;font-weight:800;letter-spacing:-1.5px}
h2{font-size:2.5rem;line-height:1.2;font-weight:700;letter-spacing:-1px}
h3{font-size:1.5rem;line-height:1.3;font-weight:600}
.section-title{text-align:center;margin-bottom:60px}
.section-title h2{margin-bottom:12px}
.section-title p{color:var(--text2);font-size:1.1rem;max-width:600px;margin:0 auto}
/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s;border:none;font-family:var(--font)}
.btn-primary{background:var(--accent);color:var(--bg);box-shadow:0 4px 20px rgba(var(--accent-rgb),.3)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 30px rgba(var(--accent-rgb),.4)}
.btn-outline{background:transparent;border:1.5px solid var(--border);color:var(--text)}
.btn-outline:hover{border-color:var(--accent);color:var(--accent)}
.btn-sm{padding:10px 20px;font-size:13px}
/* Nav */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:14px 40px;display:flex;justify-content:space-between;align-items:center;background:var(--nav-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .4s}
nav .logo{font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.5px}
nav .logo em{font-style:normal;color:var(--accent)}
nav .nav-links{display:flex;align-items:center;gap:28px}
nav .nav-links a{font-size:13px;color:var(--text2);letter-spacing:.5px;text-transform:uppercase;transition:color .3s;white-space:nowrap}
nav .nav-links a:hover{color:var(--accent)}
nav .nav-links a.active{color:var(--accent)}
.nav-right{display:flex;align-items:center;gap:20px}
/* Theme Toggle */
.theme-toggle{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:20px;background:rgba(128,128,128,0.06);cursor:pointer}
.theme-toggle .tbtn{width:24px;height:24px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;transition:all .3s;background:transparent;color:var(--text2);padding:0}
.theme-toggle .tbtn.active{transform:scale(1.15);box-shadow:0 0 0 2px var(--accent);background:rgba(var(--accent-rgb),0.1);color:var(--accent)}
.theme-toggle .tbtn .swatch{width:12px;height:12px;border-radius:50%;display:block;border:1px solid rgba(128,128,128,0.3)}
.theme-toggle .tbtn[data-t="dark"] .swatch{background:#0c0c14}
.theme-toggle .tbtn[data-t="light"] .swatch{background:#faf7f4}
.theme-toggle .tbtn[data-t="blue"] .swatch{background:#2a6fd6}
.theme-toggle .tbtn[data-t="redblue"] .swatch{background:linear-gradient(135deg,#f4f7fc 30%,#0a4dd8 30% 62%,#e2232f 62%)}
/* Mobile menu button */
.menu-btn{display:none;width:28px;height:20px;position:relative;cursor:pointer;border:none;background:none;padding:0}
.menu-btn span{display:block;width:100%;height:2px;background:var(--text);border-radius:1px;position:absolute;left:0;transition:all .3s}
.menu-btn span:nth-child(1){top:0}
.menu-btn span:nth-child(2){top:9px}
.menu-btn span:nth-child(3){top:18px}
.menu-btn.active span:nth-child(1){top:9px;transform:rotate(45deg)}
.menu-btn.active span:nth-child(2){opacity:0}
.menu-btn.active span:nth-child(3){top:9px;transform:rotate(-45deg)}
/* Hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--bg)}
.hero-visual{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-visual .shape{position:absolute;border-radius:50%;filter:blur(80px);opacity:var(--shape-opacity);transition:opacity .4s}
.hero-visual .shape:nth-child(1){width:500px;height:500px;background:var(--accent);top:-15%;right:-8%;animation:float 20s ease-in-out infinite}
.hero-visual .shape:nth-child(2){width:300px;height:300px;background:var(--accent2);bottom:-10%;left:-5%;animation:float 25s ease-in-out infinite reverse}
.hero-visual .shape:nth-child(3){width:200px;height:200px;background:var(--accent3);bottom:30%;left:40%;animation:float 30s ease-in-out infinite;opacity:var(--shape-opacity)}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:60px 60px;opacity:var(--grid-opacity);pointer-events:none}
.hero-inner{position:relative;z-index:2;max-width:800px;padding:120px 0 80px}
.hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:24px;font-weight:600}
.hero-tag .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.hero h1{margin-bottom:20px}
.hero h1 .line2{display:block}
.hero h1 .accent{color:var(--accent)}
.hero p{font-size:1.15rem;color:var(--text2);max-width:560px;line-height:1.7;margin-bottom:36px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.hero-actions .arrow{transition:transform .3s}
.hero-actions .btn-primary:hover .arrow{transform:translateX(4px)}
/* Stats Strip */
.stats-strip{padding:80px 0;background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;text-align:center}
.stat-item .num{font-size:3rem;font-weight:800;color:var(--accent);letter-spacing:-1px;line-height:1}
.stat-item .label{color:var(--text2);font-size:14px;margin-top:8px;text-transform:uppercase;letter-spacing:1px}
.stat-item .note{font-size:12px;color:var(--text2);margin-top:4px;opacity:.7}
@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:30px}}
/* Page Header */
.page-header{padding:140px 0 60px;text-align:center;position:relative;background:var(--bg);overflow:hidden}
.page-header .ph-bg{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:60px 60px;opacity:var(--grid-opacity);pointer-events:none}
.page-header .container{position:relative;z-index:2}
.page-header h1{margin-bottom:12px}
.page-header p{color:var(--text2);max-width:600px;margin:0 auto;font-size:1.1rem}
/* Services Page */
.services-page{padding:80px 0}
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.serv-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:36px;transition:all .4s;position:relative;overflow:hidden}
.serv-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.serv-card:hover::before{transform:scaleX(1)}
.serv-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.serv-card .icon{width:48px;height:48px;border-radius:12px;background:rgba(var(--accent-rgb),.1);display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:22px}
.serv-card h3{margin-bottom:12px}
.serv-card p{color:var(--text2);font-size:14px;line-height:1.7}
@media(max-width:768px){.services-grid{grid-template-columns:1fr}}
/* Experience Page */
.experience-page{padding:80px 0}
/* Industry Filter */
.industry-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:48px;justify-content:center}
.industry-filter button{padding:10px 20px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text2);font-size:13px;cursor:pointer;transition:all .3s;font-family:var(--font)}
.industry-filter button:hover{border-color:var(--accent);color:var(--accent)}
.industry-filter button.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}
/* Project Cards Grid */
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.project-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px;transition:all .3s;cursor:pointer}
.project-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.project-card .pc-status{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}
.project-card .pc-status.realized{background:rgba(76,175,80,.15);color:#4caf50}
.project-card .pc-status.pending{background:rgba(255,152,0,.15);color:#ff9800}
.project-card h4{font-size:16px;margin-bottom:8px}
.project-card .pc-meta{font-size:13px;color:var(--text2);margin-bottom:4px}
.project-card .pc-meta strong{color:var(--text)}
@media(max-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.projects-grid{grid-template-columns:1fr}}
/* Map Section */
.map-section{padding:80px 0;background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.map-container{position:relative;width:100%;height:480px;border-radius:16px;overflow:hidden;border:1px solid var(--border);background:var(--bg3)}
#inconMap{width:100%;height:100%}
.map-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text2);text-align:center;padding:40px}
.map-placeholder svg{margin-bottom:20px;opacity:.3}
.map-placeholder p{font-size:14px;max-width:400px}
/* References Gallery */
.ref-gallery{padding:80px 0}
.ref-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ref-item{border-radius:8px;overflow:hidden;border:1px solid var(--border);cursor:pointer;transition:all .3s;aspect-ratio:3/4;background:var(--card-bg);display:flex;align-items:center;justify-content:center;padding:12px}
.ref-item:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.ref-item img{width:100%;height:100%;object-fit:contain}
.ref-item .placeholder-text{font-size:11px;color:var(--text2);text-align:center;line-height:1.4}
@media(max-width:1024px){.ref-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.ref-grid{grid-template-columns:repeat(2,1fr)}}
/* About Page */
.about-page{padding:80px 0}
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-bottom:80px}
.about-intro .text h2{margin-bottom:20px}
.about-intro .text p{color:var(--text2);margin-bottom:16px}
.about-intro .about-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.about-intro .about-meta .am-item{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:20px;text-align:center}
.about-intro .about-meta .am-item .num{font-size:2rem;font-weight:800;color:var(--accent)}
.about-intro .about-meta .am-item .lbl{font-size:13px;color:var(--text2);margin-top:4px}
@media(max-width:768px){.about-intro{grid-template-columns:1fr;gap:40px}}
/* Team */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px}
.team-card{text-align:center}
.team-card .photo{width:120px;height:120px;border-radius:50%;margin:0 auto 16px;overflow:hidden;border:3px solid var(--border);background:var(--bg3)}
.team-card .photo img{width:100%;height:100%;object-fit:cover}
.team-card .photo .initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:var(--accent)}
.team-card h4{font-size:16px;margin-bottom:4px}
.team-card .role{font-size:13px;color:var(--text2)}
@media(max-width:1024px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.team-grid{grid-template-columns:1fr}}
/* Timeline */
.timeline{position:relative;padding:40px 0}
.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--border);transform:translateX(-50%)}
.timeline-item{display:flex;gap:40px;margin-bottom:40px;position:relative}
.timeline-item:nth-child(odd){flex-direction:row-reverse}
.timeline-item .year{flex:0 0 120px;text-align:center;font-size:1.2rem;font-weight:700;color:var(--accent)}
.timeline-item .content{flex:1;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:20px}
.timeline-item .content h4{margin-bottom:6px}
.timeline-item .content p{font-size:14px;color:var(--text2)}
.timeline-item .dot{position:absolute;left:50%;top:8px;width:14px;height:14px;border-radius:50%;background:var(--accent);transform:translateX(-50%);border:3px solid var(--bg)}
@media(max-width:768px){
  .timeline::before{left:20px}
  .timeline-item,.timeline-item:nth-child(odd){flex-direction:column;gap:8px;padding-left:50px}
  .timeline-item .year{flex:none;text-align:left;font-size:1rem}
  .timeline-item .dot{left:20px}
}
/* Contacts Page */
.contacts-page{padding:80px 0}
.contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.contacts-info h3{margin-bottom:24px}
.contacts-info .ci-block{margin-bottom:28px}
.contacts-info .ci-block h4{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:8px}
.contacts-info .ci-block p{color:var(--text2);font-size:15px;line-height:1.6}
.contacts-info .ci-block a{color:var(--accent)}
.contacts-form .qualifier{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:24px;font-size:14px;color:var(--text2);line-height:1.6}
.contacts-form .qualifier strong{color:var(--text)}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text)}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border-radius:8px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);font-family:var(--font);font-size:14px;transition:border-color .3s}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent)}
.form-group textarea{min-height:120px;resize:vertical}
@media(max-width:768px){.contacts-grid{grid-template-columns:1fr;gap:40px}}
/* Pricing Page */
.pricing-page{padding:80px 0}
.pricing-intro{text-align:center;max-width:700px;margin:0 auto 60px}
.pricing-intro p{color:var(--text2);margin-top:12px}
.pricing-examples{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.price-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:32px;transition:all .4s}
.price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.price-card .pc-range{font-size:1.8rem;font-weight:800;color:var(--accent);margin-bottom:6px}
.price-card .pc-desc{font-size:14px;color:var(--text2);margin-bottom:16px}
.price-card .pc-result{font-size:13px;padding:12px;border-radius:8px;background:rgba(var(--accent-rgb),.08);color:var(--text)}
.price-card .pc-result strong{color:var(--accent)}
@media(max-width:768px){.pricing-examples{grid-template-columns:1fr}}
/* Blog */
.blog-page{padding:80px 0}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px;transition:all .3s}
.blog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.blog-card .bc-date{font-size:12px;color:var(--text2);margin-bottom:8px}
.blog-card h4{font-size:16px;margin-bottom:8px;line-height:1.4}
.blog-card p{font-size:14px;color:var(--text2);margin-bottom:12px}
.blog-card .bc-more{font-size:13px;color:var(--accent);font-weight:600}
@media(max-width:1024px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}}
/* Footer */
footer{background:var(--bg2);border-top:1px solid var(--border);padding:60px 0 30px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
footer h4{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:16px}
footer p,footer a{font-size:14px;color:var(--text2);line-height:1.8}
footer a:hover{color:var(--accent)}
footer .f-logo{font-size:22px;font-weight:800;color:var(--text);margin-bottom:12px}
footer .f-logo em{font-style:normal;color:var(--accent)}
footer .f-desc{font-size:13px;max-width:300px}
footer .f-contacts p{display:flex;gap:8px;align-items:flex-start}
footer .f-contacts .city{font-weight:600;color:var(--text);white-space:nowrap}
.footer-bottom{padding-top:30px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-bottom p{font-size:13px;color:var(--text2)}
@media(max-width:768px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
  .footer-grid >:first-child{grid-column:1/-1}
}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}
/* Animations */
.fade-in{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.fade-in.v{opacity:1;transform:translateY(0)}
.fade-in-left{opacity:0;transform:translateX(-30px);transition:opacity .6s ease,transform .6s ease}
.fade-in-left.v{opacity:1;transform:translateX(0)}
.fade-in-right{opacity:0;transform:translateX(30px);transition:opacity .6s ease,transform .6s ease}
.fade-in-right.v{opacity:1;transform:translateX(0)}
/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s;padding:40px}
.lightbox.active{opacity:1;visibility:visible}
.lightbox img{max-width:90vw;max-height:90vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lightbox .lb-close{position:absolute;top:20px;right:30px;font-size:32px;color:#fff;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;background:rgba(255,255,255,.1);border-radius:50%;transition:background .3s}
.lightbox .lb-close:hover{background:rgba(255,255,255,.2)}
/* Responsive Nav */
@media(max-width:900px){
  nav{padding:12px 20px}
  nav .nav-links{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--bg2);flex-direction:column;padding:80px 30px 30px;gap:16px;transition:right .3s;z-index:99;border-left:1px solid var(--border);align-items:flex-start}
  nav .nav-links.open{right:0}
  .menu-btn{display:block;z-index:100}
  .nav-right{gap:12px}
  .hero h1{font-size:2.2rem}
  h2{font-size:1.8rem}
}
/* Utility */
.mt-0{margin-top:0}
.mb-0{margin-bottom:0}
.text-center{text-align:center}

/* ===== Missing components (v1 completion) ===== */
/* Section layout */
.section{padding:90px 0}
.section-alt{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.sec-head{margin-bottom:50px}
.sec-head h2{margin-bottom:14px}
.sec-head p{color:var(--text2);font-size:1.05rem;max-width:640px}
.sec-foot{margin-top:44px}
.section-sub{color:var(--text2);font-size:1.05rem;text-align:center;max-width:640px;margin:-34px auto 50px}
/* Nav */
.nav-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;width:100%}
.burger{display:none;width:28px;height:20px;position:relative;cursor:pointer;border:none;background:none;padding:0}
.burger span{display:block;width:100%;height:2px;background:var(--text);border-radius:1px;position:absolute;left:0;transition:all .3s}
.burger span:nth-child(1){top:0}
.burger span:nth-child(2){top:9px}
.burger span:nth-child(3){top:18px}
.burger.active span:nth-child(1){top:9px;transform:rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){top:9px;transform:rotate(-45deg)}
@media(max-width:900px){.burger{display:block}}
/* Loader */
#loader{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;transition:opacity .5s,visibility .5s}
#loader.hidden{opacity:0;visibility:hidden}
#loader p{font-size:14px;letter-spacing:4px;text-transform:uppercase;color:var(--text2)}
.loader-bar{width:160px;height:2px;background:var(--bg3);border-radius:1px;overflow:hidden}
.loader-bar div{width:40%;height:100%;background:var(--accent);border-radius:1px;animation:loadslide 1.2s ease-in-out infinite}
@keyframes loadslide{0%{transform:translateX(-100%)}100%{transform:translateX(400%)}}
/* Hero (index) */
.hero-label{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:24px;font-weight:600}
.hero-label .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.hero-sub{font-size:1.15rem;color:var(--text2);max-width:560px;line-height:1.7;margin-bottom:36px}
.hl{color:var(--accent)}
.nobr{white-space:nowrap}
/* Page hero (inner pages) */
.page-hero{position:relative;min-height:55vh;display:flex;align-items:center;overflow:hidden;background:var(--bg);padding:120px 0 60px}
.ph-visual{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.ph-visual .shape{position:absolute;border-radius:50%;filter:blur(80px);opacity:calc(var(--shape-opacity)*.7)}
.ph-visual .shape:nth-child(1){width:420px;height:420px;background:var(--accent);top:-20%;right:-5%;animation:float 22s ease-in-out infinite}
.ph-visual .shape:nth-child(2){width:280px;height:280px;background:var(--accent2);bottom:-15%;left:-5%;animation:float 28s ease-in-out infinite reverse}
.ph-content{position:relative;z-index:2;width:100%}
.ph-content .container{max-width:1200px;margin:0 auto;padding:0 40px}
.page-tag{display:inline-block;font-size:12px;color:var(--accent);letter-spacing:2px;text-transform:uppercase;font-weight:600;border:1px solid var(--border);border-radius:20px;padding:6px 14px;margin-bottom:20px}
.ph-sub{font-size:1.1rem;color:var(--text2);max-width:640px;margin-top:16px;line-height:1.7}
@media(max-width:768px){.ph-content .container{padding:0 20px}}
/* Buttons extra */
.btn-lg{padding:18px 44px;font-size:16px}
/* Index: projects strip */
.projects-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.projects-strip .p-card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:10px;transition:all .3s}
.projects-strip .p-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.projects-strip .p-card h3{font-size:1.15rem}
.projects-strip .p-card p{color:var(--text2);font-size:14px}
.p-card-status{display:inline-block;align-self:flex-start;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.p-card-status.done{background:rgba(76,175,80,.15);color:#4caf50}
.p-card-status.progress{background:rgba(255,152,0,.15);color:#ff9800}
.p-card-meta{font-size:13px;color:var(--text2)}
/* Projects page: filters + grid */
.industries{padding-top:40px}
.industry-filters,.filter-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.if-btn,.ft{padding:10px 20px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text2);font-size:13px;cursor:pointer;transition:all .3s;font-family:var(--font)}
.if-btn:hover,.ft:hover{border-color:var(--accent);color:var(--accent)}
.if-btn.active,.ft.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.project-grid .p-card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:12px;transition:all .3s}
.project-grid .p-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.p-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.p-card-ind{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--text2)}
.project-grid .p-card h3{font-size:1.1rem;line-height:1.4}
.p-card-desc{font-size:14px;color:var(--text2);line-height:1.6;flex:1}
.p-card-link{font-size:13px;color:var(--accent);font-weight:600;transition:opacity .3s}
.p-card-link:hover{opacity:.8}
@media(max-width:1024px){.projects-strip,.project-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.projects-strip,.project-grid{grid-template-columns:1fr}}
/* Services detail */
.services-detail{padding-top:60px}
.service-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.s-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:36px;position:relative;transition:all .4s;overflow:hidden}
.s-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.s-card:hover::before{transform:scaleX(1)}
.s-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.s-card-num{font-size:13px;font-weight:700;color:var(--accent);letter-spacing:2px;margin-bottom:14px}
.s-card h3{margin-bottom:12px;font-size:1.3rem}
.s-card p{color:var(--text2);font-size:14px;line-height:1.7;margin-bottom:16px}
.s-card-list{list-style:none}
.s-card-list li{font-size:14px;color:var(--text2);padding:6px 0 6px 22px;position:relative}
.s-card-list li::before{content:'→';position:absolute;left:0;color:var(--accent)}
@media(max-width:768px){.service-cards{grid-template-columns:1fr}}
/* CTA */
.cta-section{padding:90px 0;background:var(--bg2);border-top:1px solid var(--border)}
.cta-card{background:linear-gradient(135deg,rgba(var(--accent-rgb),.12),rgba(var(--accent-rgb),.04));border:1px solid var(--border);border-radius:20px;padding:60px 40px;text-align:center;max-width:760px;margin:0 auto}
.cta-card h2{margin-bottom:12px}
.cta-card p{color:var(--text2);margin-bottom:28px;font-size:1.05rem}
/* About */
.about-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.about-grid-2col p{color:var(--text2);margin-bottom:14px;line-height:1.7}
@media(max-width:768px){.about-grid-2col{grid-template-columns:1fr;gap:30px}}
.team-photo{width:120px;height:120px;border-radius:50%;margin:0 auto 16px;overflow:hidden;border:3px solid var(--border);background:var(--bg3)}
.photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:var(--accent)}
.team-role{font-size:13px;color:var(--text2);margin-bottom:6px}
.team-exp{font-size:13px;color:var(--text2);opacity:.75}
.presentation-block{text-align:center;margin-top:30px}
/* Expertise: map + refs */
.project-map{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:30px}
.map-svg{width:100%;height:auto;display:block}
.map-caption{font-size:12px;color:var(--text2);text-align:center;margin-top:14px;opacity:.7}
.refs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.refs-grid .ref-item{border-radius:8px;overflow:hidden;border:1px solid var(--border);aspect-ratio:3/4;background:var(--card-bg);display:flex;align-items:center;justify-content:center;padding:12px;cursor:pointer;transition:all .3s}
.refs-grid .ref-item:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.ref-item .placeholder-text{font-size:11px;color:var(--text2);text-align:center;line-height:1.4}
@media(max-width:1024px){.refs-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.refs-grid{grid-template-columns:repeat(2,1fr)}}
/* Project detail */
.project-detail{max-width:800px;margin:0 auto}
.project-detail h2{font-size:1.6rem;margin:36px 0 14px}
.project-detail p,.project-detail li{color:var(--text2);line-height:1.75;font-size:15px}
.project-detail ul{padding-left:20px;margin-bottom:16px}
.project-detail blockquote{border-left:3px solid var(--accent);padding:16px 24px;margin:28px 0;background:var(--card-bg);border-radius:0 12px 12px 0;font-style:italic;color:var(--text)}
.pd-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:24px;margin-bottom:36px;font-size:14px;color:var(--text2)}
.pd-meta strong{color:var(--text)}
@media(max-width:768px){.pd-meta{grid-template-columns:repeat(2,1fr)}}
.project-meta{font-size:14px;color:var(--text2)}
/* Pricing */
.pricing-range{display:flex;align-items:baseline;gap:20px;background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:24px 28px;margin-bottom:14px}
.price-tag{font-size:1.7rem;font-weight:800;color:var(--accent);white-space:nowrap}
.pricing-range p{color:var(--text2);font-size:15px}
.pricing-note{color:var(--text2);font-size:14px;margin-top:22px;max-width:640px;line-height:1.7}
.pricing-examples{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.pex{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:30px;display:flex;flex-direction:column;gap:12px;transition:all .4s}
.pex:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.pex-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.pex-top h3{font-size:1.1rem;line-height:1.4}
.pex-price{font-size:15px;font-weight:700;color:var(--accent);white-space:nowrap}
.pex-desc{font-size:14px;color:var(--text2);line-height:1.65;flex:1}
.pex-label{align-self:flex-start;font-size:11px;text-transform:uppercase;letter-spacing:1px;padding:5px 12px;border-radius:12px;background:rgba(var(--accent-rgb),.1);color:var(--accent)}
@media(max-width:768px){.pricing-examples{grid-template-columns:1fr}.pex-top{flex-direction:column}}
/* Contacts */
.contacts-section{padding:80px 0}
.contact-card{background:var(--card-bg);border:1px solid var(--border);border-radius:16px;padding:28px;transition:all .3s}
.contact-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.contact-icon{width:48px;height:48px;border-radius:12px;background:rgba(var(--accent-rgb),.1);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.contact-card h3{font-size:1.1rem;margin-bottom:8px}
.contact-card p{font-size:14px;color:var(--text2);margin-bottom:8px}
.contact-phone{color:var(--accent);font-weight:600;font-size:15px}
.contact-card .contact-phone:hover{text-decoration:underline}
.contacts-section .contacts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:36px}
.contact-qualifier{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:44px}
.qualifier-badge{font-size:13px;padding:8px 16px;border-radius:20px;border:1px solid var(--border);color:var(--text2);background:rgba(var(--accent-rgb),.05)}
.contact-form-block{background:var(--card-bg);border:1px solid var(--border);border-radius:20px;padding:44px;max-width:720px;margin:0 auto}
.form-intro h2{margin-bottom:10px}
.form-intro p{color:var(--text2);font-size:14px;margin-bottom:26px;line-height:1.65}
.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.contact-form input,.contact-form textarea{width:100%;padding:13px 16px;border-radius:8px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);font-family:var(--font);font-size:14px;transition:border-color .3s;margin-bottom:14px}
.contact-form .form-row input{margin-bottom:0}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent)}
.contact-form textarea{resize:vertical}
@media(max-width:1024px){.contacts-section .contacts-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.contacts-section .contacts-grid{grid-template-columns:1fr}.contact-form .form-row{grid-template-columns:1fr}.contact-form-block{padding:28px}}
/* Footer extras */
.footer-about p{max-width:280px}
/* Counters */
.n{font-variant-numeric:tabular-nums}
/* Card tag (generic) */
.card-tag{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:1px;padding:4px 12px;border-radius:12px;background:rgba(var(--accent-rgb),.1);color:var(--accent)}