/* PKX Engineering — Shared CSS */
:root{--teal-dark:#0c5d5c;--teal-mid:#0a4f4e;--teal-deep:#062e2e;--teal-deeper:#031e1e;--cyan:#4ec9d8;--cyan-dark:#3ab8c8;--off-white:#f4f9f9;}
html{scroll-behavior:smooth;}

/* Grain texture overlay */
.grain::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");background-repeat:repeat;pointer-events:none;z-index:0;}

/* Hero backgrounds */
.hero-bg{background:radial-gradient(ellipse 70% 50% at 80% 30%,rgba(78,201,216,.13) 0%,transparent 60%),radial-gradient(ellipse 50% 70% at 5% 85%,rgba(12,93,92,.55) 0%,transparent 55%),linear-gradient(155deg,#031e1e 0%,#062e2e 40%,#0a4040 100%);}
.page-hero{background:radial-gradient(ellipse 70% 50% at 80% 30%,rgba(78,201,216,.12) 0%,transparent 60%),linear-gradient(155deg,#031e1e 0%,#062e2e 40%,#0a4040 100%);}

/* Navigation */
#nav{transition:background .3s,box-shadow .3s;}
#nav.scrolled{background:rgba(255,255,255,.97);box-shadow:0 1px 0 rgba(12,93,92,.08),0 4px 24px rgba(12,93,92,.06);backdrop-filter:blur(12px);}
.nav-link{position:relative;color:var(--teal-dark);font-family:'Barlow',sans-serif;font-weight:500;}
.nav-link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--cyan);transition:width .25s cubic-bezier(.4,0,.2,1);}
.nav-link:hover::after,.nav-link.active::after{width:100%;}

/* Section label pill */
.section-label{display:inline-block;font-family:'Inter',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan-dark);background:rgba(78,201,216,.10);border:1px solid rgba(78,201,216,.28);padding:.3rem .9rem;border-radius:999px;}

/* Stat value */
.stat-value{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:3.5rem;line-height:1;color:var(--cyan);letter-spacing:-.03em;}

/* Card shadow */
.card-shadow{box-shadow:0 2px 4px rgba(12,93,92,.06),0 8px 20px rgba(12,93,92,.10),0 20px 40px rgba(12,93,92,.06);}
.card-shadow:hover{box-shadow:0 4px 8px rgba(12,93,92,.09),0 16px 36px rgba(12,93,92,.16),0 36px 72px rgba(12,93,92,.10);}

/* Feature / general card */
.feat-card{transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;}
.feat-card:hover{transform:translateY(-5px);}

/* Experience card (home) */
.exp-card{transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;}
.exp-card:hover{transform:translateY(-6px);}

/* Card image with gradient overlay */
.card-img{position:relative;overflow:hidden;}
.card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(6,46,46,.88) 0%,rgba(6,46,46,.2) 55%,transparent 100%);z-index:1;}
.card-img img{transition:transform .65s cubic-bezier(.4,0,.2,1);}
.exp-card:hover .card-img img,.prod-card:hover .card-img img,.prod-mini:hover .card-img img{transform:scale(1.06);}

/* Buttons */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--cyan);color:#031e1e;font-family:'Barlow',sans-serif;font-weight:700;letter-spacing:.02em;transition:transform .18s cubic-bezier(.4,0,.2,1),background .18s,box-shadow .18s;box-shadow:0 4px 16px rgba(78,201,216,.28);}
.btn-primary:hover{background:var(--cyan-dark);transform:translateY(-2px);box-shadow:0 8px 28px rgba(78,201,216,.40);}
.btn-primary:active{transform:translateY(0);}
.btn-primary:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.4);color:#fff;font-family:'Barlow',sans-serif;font-weight:600;transition:border-color .18s,background .18s,transform .18s;}
.btn-outline:hover{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.07);transform:translateY(-2px);}
.btn-outline:active{transform:translateY(0);}
.btn-outline:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;}
.btn-teal{display:inline-flex;align-items:center;justify-content:center;background:var(--teal-dark);color:#fff;font-family:'Barlow',sans-serif;font-weight:700;transition:transform .18s,background .18s,box-shadow .18s;box-shadow:0 4px 16px rgba(12,93,92,.22);}
.btn-teal:hover{background:var(--teal-mid);transform:translateY(-2px);box-shadow:0 8px 28px rgba(12,93,92,.32);}
.btn-teal:active{transform:translateY(0);}
.btn-teal:focus-visible{outline:3px solid var(--teal-dark);outline-offset:3px;}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-d1{transition-delay:.1s;}.reveal-d2{transition-delay:.2s;}.reveal-d3{transition-delay:.3s;}.reveal-d4{transition-delay:.4s;}.reveal-d5{transition-delay:.5s;}

/* Trio cards (About) */
.trio-card{transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;}
.trio-card:hover{transform:translateY(-6px);box-shadow:0 4px 8px rgba(12,93,92,.09),0 16px 36px rgba(12,93,92,.16),0 36px 72px rgba(12,93,92,.10);}

/* Solutions — product mini cards */
.prod-mini{transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;}
.prod-mini:hover{transform:translateY(-4px);box-shadow:0 4px 8px rgba(12,93,92,.09),0 16px 36px rgba(12,93,92,.16);}

/* Products — product cards */
.prod-card{transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;}
.prod-card:hover{transform:translateY(-6px);box-shadow:0 4px 8px rgba(12,93,92,.09),0 16px 36px rgba(12,93,92,.16),0 36px 72px rgba(12,93,92,.10);}

/* Products filter tabs */
.filter-btn{font-family:'Inter',sans-serif;font-weight:500;font-size:.82rem;padding:.45rem 1.1rem;border-radius:999px;border:1.5px solid rgba(12,93,92,.18);color:#4a6e6e;cursor:pointer;transition:background .2s,color .2s,border-color .2s;}
.filter-btn:hover,.filter-btn.active{background:var(--teal-dark);color:#fff;border-color:var(--teal-dark);}
.prod-item.hidden-item{display:none;}

/* Why PKX — process line */
.process-line{position:absolute;top:2.75rem;left:calc(12.5% + 1.5rem);right:calc(12.5% + 1.5rem);height:1px;background:linear-gradient(90deg,var(--cyan),var(--teal-deep));}

/* Solutions — sector divider */
.sector-divider{border:none;border-top:1px solid rgba(12,93,92,.10);margin:0;}

/* Projects — country card top accent */
.country-top-line{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal-dark),var(--cyan));transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.feat-card:hover .country-top-line{transform:scaleX(1);}

/* Projects — portfolio thumbnail */
.proj-thumb{width:100%;height:190px;object-fit:cover;}

/* Contact — form elements */
.form-label{font-family:'Inter',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-dark);display:block;margin-bottom:.4rem;}
.form-input{width:100%;padding:.7rem .95rem;border:1.5px solid #cde0e0;border-radius:8px;font-family:'Barlow',sans-serif;font-size:.9rem;color:#1a2e2e;background:#f9fefe;transition:border-color .2s,box-shadow .2s,background .2s;outline:none;}
.form-input:focus{border-color:var(--teal-dark);background:#fff;box-shadow:0 0 0 3px rgba(12,93,92,.09);}
.form-input::placeholder{color:#9ab8b8;}
select.form-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='%230c5d5c' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;}
textarea.form-input{resize:vertical;min-height:120px;}
.form-submit{width:100%;padding:.85rem 2rem;background:var(--teal-dark);color:#fff;font-family:'Inter',sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:none;border-radius:8px;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;}
.form-submit:hover{background:var(--cyan);color:var(--teal-deeper);transform:translateY(-2px);box-shadow:0 6px 20px rgba(78,201,216,.30);}
.form-submit:active{transform:translateY(0);}
.form-success{display:none;background:rgba(78,201,216,.07);border:1.5px solid rgba(78,201,216,.28);border-radius:10px;padding:1.2rem 1.4rem;text-align:center;margin-top:1.25rem;}
.form-success.show{display:block;}

/* Contact — info panel */
.info-panel{background:linear-gradient(160deg,var(--teal-deep) 0%,var(--teal-deeper) 100%);border-radius:20px;padding:2.25rem;position:relative;overflow:hidden;}
.info-panel::before{content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(78,201,216,.1),transparent 70%);pointer-events:none;}
.info-icon{width:38px;height:38px;border-radius:9px;flex-shrink:0;background:rgba(78,201,216,.1);border:1px solid rgba(78,201,216,.18);display:flex;align-items:center;justify-content:center;}

/* Loading spinner */
@keyframes spin{to{transform:rotate(360deg);}}
