/* V5 — editorial imagery + expandable engineering portfolio                 */
/* ========================================================================== */

/* Mixed-media approach: real editorial photography for people/industries,
   custom SVG/product UI for AI, automation, software and integration. */
.premium-photo{transform:translateZ(0);backface-visibility:hidden;image-rendering:auto}
.hero-bg .premium-photo{filter:saturate(.84) contrast(1.05);object-position:center}
.hero-bg img[data-fallback*="hero-about"]{object-position:center 42%}
.hero-bg img[data-fallback*="hero-careers"]{object-position:center 48%}
.im-img img[data-fallback*="industry-ecommerce"]{object-position:center 58%}
.im-img img[data-fallback*="industry-financial"]{object-position:center 52%}
.im-img img[data-fallback*="industry-healthcare"]{object-position:center 50%}
.im-img img[data-fallback*="industry-manufacturing"]{object-position:center 48%}
.im-img img[data-fallback*="industry-professional"]{object-position:center 44%}
.im-img img[data-fallback*="industry-realestate"]{object-position:center 47%}
.im-img img[data-fallback*="industry-technology"]{object-position:center 50%}

/* Break the cookie-cutter feel of the industry rail with editorial card rhythm. */
@media(min-width:760px){
  .industry-marquee-track .im-card:nth-child(7n+1){width:310px}
  .industry-marquee-track .im-card:nth-child(7n+2){width:248px}
  .industry-marquee-track .im-card:nth-child(7n+3){width:286px}
  .industry-marquee-track .im-card:nth-child(7n+4){width:265px}
  .industry-marquee-track .im-card:nth-child(7n+5){width:300px}
  .industry-marquee-track .im-card:nth-child(7n+6){width:250px}
  .industry-marquee-track .im-card:nth-child(7n+7){width:282px}
}
.im-card{border-top:0;isolation:isolate;background:#101e33}
.im-card:after{content:"LIVE / INDUSTRY";position:absolute;right:15px;top:17px;z-index:2;color:rgba(255,255,255,.7);font:800 7.5px/1 'Manrope',sans-serif;letter-spacing:.12em;padding:7px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(9,20,36,.4);backdrop-filter:blur(12px)}
.im-card::before{background:linear-gradient(180deg,rgba(10,20,35,.02) 10%,rgba(10,20,35,.16) 48%,rgba(10,20,35,.94) 100%)}
.im-card .im-img:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.1);border-radius:inherit;pointer-events:none}
.im-card .im-badge{background:rgba(10,22,39,.78);backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(0,0,0,.18)}
.im-card h4{font-size:18px;letter-spacing:-.01em}.im-card p{max-width:92%;color:rgba(255,255,255,.74)}

/* Project grid becomes an expandable engineering dossier. */
.projects-grid{align-items:start}
.project-card{cursor:pointer;will-change:transform;transition:transform .38s var(--ease-spring),box-shadow .38s,border-color .3s,background .3s}
.project-card.is-open{grid-column:1/-1;cursor:default;min-height:0;padding:30px;border-color:rgba(225,53,17,.23);box-shadow:0 32px 82px rgba(20,35,59,.16);background:radial-gradient(55% 120% at 100% 0%,rgba(225,53,17,.11),transparent 66%),#fff;color:var(--navy)}
.project-card.featured.is-open{background:radial-gradient(65% 100% at 100% 0%,rgba(225,53,17,.22),transparent 58%),#14233b;color:#fff;border-color:rgba(255,255,255,.12)}
.project-card.is-open:after{transform:scale(1.8);opacity:.65}
.project-card.is-open .project-label{margin-top:28px}
.project-card.is-open>p{max-width:820px}
.project-expand-btn{position:relative;z-index:3;margin:18px 0 0;width:100%;height:45px;border:1px solid rgba(20,35,59,.1);border-radius:13px;background:rgba(20,35,59,.035);color:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:0 14px;font:800 10px 'Manrope',sans-serif;letter-spacing:.015em;transition:background .25s,color .25s,border .25s,transform .25s}
.project-expand-btn span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:#fff;border:1px solid rgba(20,35,59,.08);font-size:13px;transition:transform .38s var(--ease-spring),background .25s,color .25s}
.project-card.featured .project-expand-btn{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.1);color:#fff}
.project-card.featured .project-expand-btn span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.08)}
.project-card:not(.is-open):hover .project-expand-btn{background:var(--navy);color:#fff;border-color:var(--navy)}
.project-card:not(.is-open).featured:hover .project-expand-btn{background:#fff;color:var(--navy)}
.project-card.is-open .project-expand-btn{max-width:220px;background:rgba(225,53,17,.08);border-color:rgba(225,53,17,.18);color:var(--orange)}
.project-card.is-open .project-expand-btn span{transform:rotate(180deg);background:var(--orange);color:#fff;border-color:var(--orange)}

.project-detail-panel{position:relative;z-index:2;max-height:0;opacity:0;overflow:hidden;transform:translateY(-8px);transition:max-height .72s cubic-bezier(.16,1,.3,1),opacity .35s ease,transform .55s cubic-bezier(.16,1,.3,1);pointer-events:none}
.project-card.is-open .project-detail-panel{opacity:1;transform:none;pointer-events:auto}
.project-detail-inner{display:grid;grid-template-columns:.86fr 1.14fr;gap:24px;padding-top:28px;margin-top:28px;border-top:1px solid rgba(20,35,59,.09)}
.project-card.featured .project-detail-inner{border-color:rgba(255,255,255,.09)}
.project-detail-copy{padding:8px 6px 4px}
.project-detail-kicker{display:block;color:var(--orange);font:800 9px 'Manrope',sans-serif;letter-spacing:.13em;margin-bottom:12px}
.project-detail-copy h4{font-size:25px;letter-spacing:-.025em;margin-bottom:12px}.project-card.featured .project-detail-copy h4{color:#fff}
.project-detail-copy p{font-size:13px;line-height:1.7;color:#697686;max-width:560px}.project-card.featured .project-detail-copy p{color:rgba(255,255,255,.58)}
.project-detail-copy ul{display:grid;gap:9px;margin-top:18px}.project-detail-copy li{position:relative;padding:11px 12px 11px 32px;border-radius:12px;background:#f4f7fa;color:#5d6978;font-size:11.5px;line-height:1.55}.project-detail-copy li:before{content:"✓";position:absolute;left:12px;top:11px;color:#35a978;font-weight:900}.project-card.featured .project-detail-copy li{background:rgba(255,255,255,.055);color:rgba(255,255,255,.66)}

.project-detail-terminal{position:relative;border-radius:20px;background:#091421;color:#dce7f4;border:1px solid rgba(255,255,255,.08);overflow:hidden;box-shadow:0 20px 50px rgba(7,14,25,.28);min-height:325px}
.project-detail-terminal:before{content:"";position:absolute;inset:42px 0 0;background:linear-gradient(rgba(56,91,127,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(56,91,127,.055) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.project-detail-terminal:after{content:"";position:absolute;left:0;right:0;top:42px;height:1px;background:linear-gradient(90deg,transparent,rgba(225,53,17,.6),transparent);box-shadow:0 0 16px rgba(225,53,17,.35);animation:projectTraceScan 4.8s linear infinite;pointer-events:none}
@keyframes projectTraceScan{0%{transform:translateY(0);opacity:0}12%{opacity:.9}82%{opacity:.35}100%{transform:translateY(280px);opacity:0}}
.project-detail-terminal-top{height:44px;padding:0 14px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.075);background:#0d1a2a;color:#718197;font:700 9px 'Manrope',sans-serif;letter-spacing:.06em}
.project-terminal-dots{display:flex;gap:5px}.project-terminal-dots i{width:7px;height:7px;border-radius:50%;background:#ff6552}.project-terminal-dots i:nth-child(2){background:#f2b84b}.project-terminal-dots i:nth-child(3){background:#48d597}.project-detail-terminal-top b{color:#48d597;font-size:8px;letter-spacing:.1em}
.project-detail-terminal-screen{position:relative;height:280px;padding:24px;overflow:auto;font:500 12px/1.75 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.trace-line{min-height:21px;color:#91a2b8}.trace-line.command{color:#fff}.trace-line.status{color:#6ee0aa}.trace-line::first-letter{color:#f56c4c}.trace-prompt{color:#f56c4c}.trace-caret{display:inline-block;width:7px;height:15px;background:#f56c4c;vertical-align:-3px;animation:traceBlink .8s steps(1) infinite}@keyframes traceBlink{50%{opacity:0}}
.project-card.is-open .project-card-foot{margin-top:20px}

/* Full-width open cards should feel like a dossier, not a stretched tile. */
@media(min-width:981px){
  .project-card.is-open>.project-card-head,.project-card.is-open>.project-label,.project-card.is-open>h3,.project-card.is-open>p,.project-card.is-open>.project-stack,.project-card.is-open>.project-expand-btn,.project-card.is-open>.project-card-foot{max-width:920px}
  .project-card.is-open h3{font-size:31px}
}
@media(max-width:800px){.project-detail-inner{grid-template-columns:1fr}.project-detail-terminal{min-height:300px}.project-detail-terminal-screen{height:255px}.project-card.is-open{padding:24px}}
@media(prefers-reduced-motion:reduce){.project-detail-panel{transition:none}.project-detail-terminal:after,.trace-caret{animation:none!important}}

/* Each industry receives its own editorial tint and systems label. */
.im-card:after{content:attr(data-visual-label)}
.im-card[data-visual="ecommerce"]::before{background:linear-gradient(180deg,rgba(225,53,17,.05),rgba(12,22,37,.2) 48%,rgba(12,22,37,.94) 100%)}
.im-card[data-visual="professional"]::before{background:linear-gradient(180deg,rgba(49,85,126,.03),rgba(20,35,59,.24) 46%,rgba(15,26,43,.94) 100%)}
.im-card[data-visual="realestate"]::before{background:linear-gradient(180deg,rgba(9,35,61,.02),rgba(10,32,55,.18) 45%,rgba(8,25,43,.95) 100%)}
.im-card[data-visual="financial"]::before{background:linear-gradient(180deg,rgba(48,213,151,.03),rgba(11,34,44,.24) 48%,rgba(9,26,37,.95) 100%)}
.im-card[data-visual="healthcare"]::before{background:linear-gradient(180deg,rgba(31,149,177,.02),rgba(16,43,58,.18) 46%,rgba(10,28,40,.95) 100%)}
.im-card[data-visual="manufacturing"]::before{background:linear-gradient(180deg,rgba(225,96,47,.04),rgba(39,31,28,.2) 45%,rgba(24,23,26,.95) 100%)}
.im-card[data-visual="technology"]::before{background:linear-gradient(180deg,rgba(45,111,165,.02),rgba(13,29,50,.18) 46%,rgba(7,18,32,.96) 100%)}
