/* Numerical Archive — Industrial Engineering & Projects */
.projects-page,
.project-case-page{background:#fff;color:var(--ink)}
.projects-page .main-nav,
.project-case-page .main-nav{gap:19px}
.projects-page .main-nav a.active,
.project-case-page .main-nav a.active{color:var(--blue)}

/* ---------- Projects landing hero ---------- */
.projects-hero{padding:30px 0 46px;background:linear-gradient(180deg,#f4f8fd 0,#fff 100%)}
.projects-hero-card{position:relative;overflow:hidden;min-height:570px;border-radius:30px;display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:center;padding:clamp(42px,5.5vw,72px);color:#fff;background:
 radial-gradient(circle at 82% 14%,rgba(57,130,255,.26),transparent 28%),
 radial-gradient(circle at 74% 82%,rgba(33,212,163,.12),transparent 27%),
 linear-gradient(135deg,#061421 0%,#0a2440 56%,#0a3658 100%);box-shadow:0 30px 90px rgba(7,21,37,.18)}
.projects-hero-card:before{content:"";position:absolute;inset:0;opacity:.36;background-image:linear-gradient(rgba(141,201,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(141,201,255,.08) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent 0,#000 43%)}
.projects-hero-copy,.projects-hero-visual{position:relative;z-index:2}
.projects-eyebrow{display:inline-flex;align-items:center;gap:9px;color:#82dcff;font-size:10px;letter-spacing:.105em;text-transform:uppercase;font-weight:800}
.projects-eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:#5fe3b5;box-shadow:0 0 0 7px rgba(95,227,181,.10)}
.projects-hero h1{font-family:var(--display);font-size:clamp(45px,5vw,69px);line-height:1.02;letter-spacing:-.048em;margin:20px 0 23px;max-width:790px}
.projects-hero-copy>p{font-size:17px;color:#c2d0de;line-height:1.78;max-width:720px;margin:0}
.projects-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:31px}
.projects-hero-proof{display:flex;gap:9px;flex-wrap:wrap;margin-top:31px;padding-top:22px;border-top:1px solid rgba(255,255,255,.13)}
.projects-hero-proof span{padding:8px 11px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.055);color:#cbd8e3;font-size:9px;font-weight:700}

.projects-hero-visual{min-height:400px;display:grid;place-items:center}
.capability-orbit{position:relative;width:min(430px,100%);aspect-ratio:1;border-radius:50%;border:1px solid rgba(139,205,255,.18);background:radial-gradient(circle,rgba(60,134,246,.11),rgba(9,31,51,.08) 46%,transparent 47%)}
.capability-orbit:before,.capability-orbit:after{content:"";position:absolute;border:1px solid rgba(139,205,255,.16);border-radius:50%;inset:13%}.capability-orbit:after{inset:29%}
.capability-core{position:absolute;inset:0;margin:auto;width:118px;height:118px;border-radius:28px;display:grid;place-items:center;background:rgba(255,255,255,.97);box-shadow:0 25px 65px rgba(0,0,0,.26)}
.capability-core img{width:70px;height:70px;object-fit:contain}
.cap-node{position:absolute;min-width:142px;padding:11px 13px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(8,27,45,.78);backdrop-filter:blur(8px);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.cap-node strong,.cap-node span{display:block}.cap-node strong{font-size:11px;color:#fff}.cap-node span{font-size:8px;color:#82dcff;margin-top:2px}
.cap-node.n1{top:5%;left:7%}.cap-node.n2{top:18%;right:-5%}.cap-node.n3{bottom:10%;right:2%}.cap-node.n4{bottom:2%;left:3%}.cap-node.n5{top:43%;left:-11%}
.capability-axis{position:absolute;inset:0}.capability-axis:before,.capability-axis:after{content:"";position:absolute;left:50%;top:7%;bottom:7%;width:1px;background:linear-gradient(transparent,rgba(118,201,255,.25),transparent)}.capability-axis:after{top:50%;left:7%;right:7%;bottom:auto;width:auto;height:1px}

/* ---------- Shared headings ---------- */
.projects-section{padding:86px 0}
.projects-section-soft{background:#f6f9fd}
.projects-heading{display:grid;grid-template-columns:minmax(0,.95fr) minmax(280px,.7fr);gap:60px;align-items:end;margin-bottom:38px}
.projects-heading .kicker{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);font-weight:800}
.projects-heading h2{font-family:var(--display);font-size:clamp(35px,4vw,52px);letter-spacing:-.04em;line-height:1.08;margin:8px 0 0}
.projects-heading p{color:var(--muted);margin:0;font-size:14px;line-height:1.75}

/* ---------- Capability cards ---------- */
.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.industry-card{position:relative;overflow:hidden;min-height:285px;padding:27px;border:1px solid var(--line);border-radius:21px;background:#fff;transition:.25s ease}
.industry-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#c6d7ec}
.industry-card:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-85px;bottom:-95px;background:radial-gradient(circle,rgba(43,100,232,.11),transparent 67%)}
.industry-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:#eaf1ff;color:var(--blue);margin-bottom:22px}.industry-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.industry-card .code{font-size:9px;letter-spacing:.1em;color:#7a8aa0;font-weight:800}
.industry-card h3{font-family:var(--display);font-size:21px;line-height:1.25;margin:9px 0 10px}
.industry-card p{font-size:12.5px;color:var(--muted);margin:0;line-height:1.7}
.industry-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:17px}.industry-tags span{padding:6px 8px;border-radius:999px;background:#f1f5fa;color:#4f6178;font-size:8px;font-weight:700}

/* ---------- Approach ---------- */
.approach-panel{position:relative;overflow:hidden;padding:38px;border-radius:25px;color:#fff;background:linear-gradient(135deg,#071525,#0b2d4f)}
.approach-panel:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 90% 20%,rgba(61,139,255,.22),transparent 29%);pointer-events:none}
.approach-copy,.approach-flow{position:relative;z-index:2}
.approach-copy{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:31px}
.approach-copy h2{font-family:var(--display);font-size:clamp(31px,3vw,43px);line-height:1.1;letter-spacing:-.035em;margin:7px 0 0}.approach-copy p{max-width:520px;color:#bacbda;font-size:13px;margin:0}
.approach-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.flow-step{position:relative;padding:19px 16px;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:rgba(255,255,255,.055)}
.flow-step:not(:last-child):after{content:"→";position:absolute;right:-10px;top:50%;transform:translate(50%,-50%);color:#74d9ff;font-weight:800;z-index:5}
.flow-step span{font-size:9px;color:#7ed9ff;font-weight:800}.flow-step strong{display:block;font-family:var(--display);font-size:15px;margin-top:5px}.flow-step small{display:block;color:#9fb3c4;font-size:9px;line-height:1.5;margin-top:5px}

/* ---------- Portfolio ---------- */
.portfolio-card{display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 20px 60px rgba(7,21,37,.07)}
.portfolio-image{position:relative;min-height:485px;overflow:hidden;background:#e9eef4}.portfolio-image img{width:100%;height:100%;object-fit:cover}.portfolio-image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,21,37,.45),transparent 46%)}
.portfolio-image-label{position:absolute;z-index:2;left:20px;bottom:19px;padding:8px 10px;border-radius:999px;background:rgba(6,20,33,.74);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:9px;font-weight:700;backdrop-filter:blur(8px)}
.portfolio-copy{padding:clamp(34px,4.6vw,61px);display:flex;flex-direction:column;justify-content:center}
.portfolio-copy .portfolio-kicker{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);font-weight:800}
.portfolio-copy h3{font-family:var(--display);font-size:clamp(30px,3.4vw,44px);line-height:1.12;letter-spacing:-.038em;margin:13px 0 14px}
.portfolio-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.portfolio-meta span{font-size:9px;padding:7px 9px;border-radius:999px;background:#eef4ff;color:#315fba;font-weight:700}
.portfolio-copy p{font-size:14px;color:var(--muted);line-height:1.75;margin:0}
.portfolio-scope{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px;margin:23px 0 27px}.portfolio-scope span{font-size:11px;color:#3c4a5f}.portfolio-scope span:before{content:"✓";margin-right:8px;color:var(--green);font-weight:800}
.portfolio-link{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--blue);font-weight:800}.portfolio-link:hover{gap:12px}

/* ---------- Final CTA ---------- */
.projects-cta{padding:18px 0 84px}
.projects-cta-card{display:flex;align-items:center;justify-content:space-between;gap:42px;padding:43px 46px;border-radius:25px;color:#fff;background:radial-gradient(circle at 88% 12%,#1d5e97 0,transparent 35%),linear-gradient(135deg,#071525,#0b2947);box-shadow:0 28px 80px rgba(7,21,37,.17)}
.projects-cta-card h2{font-family:var(--display);font-size:clamp(31px,3.2vw,43px);line-height:1.1;letter-spacing:-.035em;margin:7px 0 11px}.projects-cta-card p{color:#b9cad8;max-width:720px;margin:0;font-size:13px}

/* ================= CASE STUDY ================= */
.case-hero{padding:28px 0 30px;background:linear-gradient(180deg,#f5f8fc,#fff)}
.case-hero-card{position:relative;overflow:hidden;border-radius:30px;min-height:620px;background:#071525;box-shadow:0 28px 90px rgba(7,21,37,.18)}
.case-hero-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.64}.case-hero-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,17,30,.96) 0%,rgba(5,17,30,.78) 48%,rgba(5,17,30,.26) 100%)}
.case-hero-copy{position:relative;z-index:2;max-width:790px;padding:clamp(45px,6vw,78px);color:#fff}
.case-back{display:inline-flex;align-items:center;gap:7px;font-size:10px;color:#a8c0d3;font-weight:700;margin-bottom:35px}.case-back:hover{color:#fff}
.case-kicker{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#7dd9ff;font-weight:800}
.case-hero h1{font-family:var(--display);font-size:clamp(42px,5vw,65px);line-height:1.03;letter-spacing:-.047em;margin:15px 0 18px}.case-hero-copy>p{font-size:17px;line-height:1.75;color:#c8d5df;margin:0;max-width:690px}
.case-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.case-meta span{padding:7px 10px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.07);font-size:9px;color:#e6eef5;font-weight:700}

.case-intro{padding:66px 0 38px}.case-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.case-intro-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);font-weight:800}.case-intro h2{font-family:var(--display);font-size:clamp(32px,3.2vw,46px);line-height:1.12;letter-spacing:-.035em;margin:10px 0}.case-intro-copy p{color:var(--muted);font-size:14px;line-height:1.82;margin:0 0 15px}
.case-snapshot{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:35px}.snapshot-item{padding:17px;border:1px solid var(--line);border-radius:15px;background:#f9fbfe}.snapshot-item span{display:block;font-size:8px;letter-spacing:.07em;color:#728197;font-weight:800;text-transform:uppercase}.snapshot-item strong{display:block;font-family:var(--display);font-size:13px;line-height:1.35;margin-top:5px}

.case-section{padding:74px 0}.case-section-soft{background:#f6f9fd}.case-section-head{max-width:780px;margin-bottom:33px}.case-section-head span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);font-weight:800}.case-section-head h2{font-family:var(--display);font-size:clamp(32px,3.6vw,48px);line-height:1.08;letter-spacing:-.038em;margin:9px 0 11px}.case-section-head p{font-size:14px;color:var(--muted);line-height:1.78;margin:0}
.case-visual-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(7,21,37,.06)}.case-visual-card img{width:100%;height:auto;background:#fff}.case-visual-caption{padding:17px 20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.case-visual-caption strong{font-size:12px}.case-visual-caption span{font-size:10px;color:var(--muted)}
.case-two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px}.case-text-card{padding:28px;border:1px solid var(--line);border-radius:19px;background:#fff}.case-text-card h3{font-family:var(--display);font-size:21px;margin:0 0 10px}.case-text-card p{font-size:13px;color:var(--muted);line-height:1.75;margin:0}.case-text-card ul{padding:0;margin:18px 0 0;list-style:none;display:grid;gap:8px}.case-text-card li{font-size:11px;color:#3f4d61}.case-text-card li:before{content:"—";color:var(--blue);font-weight:800;margin-right:8px}

.case-workflow{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.case-workflow .wstep{position:relative;padding:18px 12px;border-radius:14px;background:#fff;border:1px solid var(--line);text-align:center}.case-workflow .wstep:not(:last-child):after{content:"→";position:absolute;right:-8px;top:50%;transform:translate(50%,-50%);color:var(--blue);font-weight:800;z-index:2}.case-workflow strong{display:block;font-family:var(--display);font-size:12px}.case-workflow span{display:block;font-size:8px;color:var(--muted);margin-top:4px;line-height:1.4}

.case-privacy{padding:27px;border-radius:19px;background:#071525;color:#fff}.case-privacy strong{font-family:var(--display);font-size:19px}.case-privacy p{color:#b6c7d6;font-size:12px;line-height:1.7;margin:8px 0 0;max-width:900px}

@media(max-width:1100px){
 .projects-page .main-nav,.project-case-page .main-nav{gap:24px}
 .projects-hero-card{grid-template-columns:1fr;min-height:auto}.projects-hero-copy{text-align:center}.projects-eyebrow,.projects-hero-actions,.projects-hero-proof{justify-content:center}.projects-hero-copy>p{margin-inline:auto}.projects-hero-visual{min-height:370px}.industry-grid{grid-template-columns:repeat(2,1fr)}.portfolio-card{grid-template-columns:1fr}.portfolio-image{min-height:420px}.case-intro-grid{grid-template-columns:1fr;gap:25px}.case-snapshot{grid-template-columns:repeat(2,1fr)}.case-workflow{grid-template-columns:repeat(3,1fr)}.case-workflow .wstep:nth-child(3):after{display:none}
}
@media(max-width:760px){
 .projects-hero{padding-top:14px}.projects-hero-card{border-radius:22px;padding:34px 22px}.projects-hero h1{font-size:40px}.projects-hero-copy>p{font-size:15px}.projects-hero-actions .button{width:100%}.projects-hero-visual{min-height:315px}.capability-orbit{width:300px}.capability-core{width:88px;height:88px;border-radius:22px}.capability-core img{width:52px}.cap-node{min-width:112px;padding:8px 9px}.cap-node strong{font-size:9px}.cap-node span{font-size:7px}.cap-node.n2{right:-2%}.cap-node.n5{left:-4%}
 .projects-section{padding:66px 0}.projects-heading{grid-template-columns:1fr;gap:15px;align-items:start}.industry-grid{grid-template-columns:1fr}.industry-card{min-height:0}.approach-panel{padding:28px 20px}.approach-copy{align-items:flex-start;flex-direction:column;gap:12px}.approach-flow{grid-template-columns:1fr}.flow-step:not(:last-child):after{content:"↓";right:auto;left:50%;top:auto;bottom:-14px;transform:translate(-50%,50%)}.portfolio-image{min-height:300px}.portfolio-copy{padding:29px 23px}.portfolio-scope{grid-template-columns:1fr}.projects-cta-card{align-items:flex-start;flex-direction:column;padding:30px 24px}.projects-cta-card .button{width:100%}
 .case-hero{padding-top:14px}.case-hero-card{min-height:590px;border-radius:22px}.case-hero-card:after{background:linear-gradient(90deg,rgba(5,17,30,.92),rgba(5,17,30,.74))}.case-hero-copy{padding:34px 23px}.case-hero h1{font-size:39px}.case-hero-copy>p{font-size:15px}.case-snapshot{grid-template-columns:1fr 1fr}.case-two-col{grid-template-columns:1fr}.case-workflow{grid-template-columns:1fr}.case-workflow .wstep:not(:last-child):after{display:block;content:"↓";right:auto;left:50%;top:auto;bottom:-12px;transform:translate(-50%,50%)}.case-visual-caption{flex-direction:column;gap:4px}
}
@media(max-width:440px){.projects-hero h1,.case-hero h1{font-size:35px}.capability-orbit{width:265px}.case-snapshot{grid-template-columns:1fr}}
