
:root{
 --navy:#0b2035;--navy-2:#102d49;--blue:#0d5db8;--blue-2:#176fca;--sky:#eaf3fc;--ink:#13283c;--muted:#60758a;--line:#dce5ee;--surface:#f7f9fc;--white:#fff;--shadow:0 18px 50px rgba(11,32,53,.12);--radius:20px;--max:1180px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.narrow{max-width:920px}.skip-link{position:absolute;left:-9999px;top:10px;z-index:9999;background:#fff;color:var(--navy);padding:10px 16px;border-radius:8px}.skip-link:focus{left:10px}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(220,229,238,.85)}.nav-shell{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{width:245px;height:auto}.primary-nav{display:flex;align-items:center;gap:27px}.nav-link{font-size:.93rem;font-weight:650;color:#425b72;position:relative}.nav-link:after{content:"";position:absolute;left:0;right:100%;bottom:-11px;height:2px;background:var(--blue);transition:.25s}.nav-link:hover,.nav-link.active{color:var(--navy)}.nav-link:hover:after,.nav-link.active:after{right:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:10px;padding:13px 20px;font-weight:750;line-height:1;min-height:48px;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer}.button svg,.text-link svg,.contact-links svg,.service-card span svg,.scope-card a svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.button:hover{transform:translateY(-2px);background:#084f9c;box-shadow:0 10px 28px rgba(13,93,184,.25)}.button-sm{min-height:42px;padding:11px 16px;font-size:.9rem}.button-ghost{background:transparent;color:var(--navy);border-color:#b6c7d8}.button-ghost:hover{background:#f2f6fb;color:var(--navy);box-shadow:none}.button-light{background:#fff;color:var(--navy);border-color:#fff}.button-light:hover{background:#f3f7fb}.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--navy);margin:5px 0;transition:.25s}.eyebrow{display:inline-block;color:var(--blue);font-size:.75rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}.eyebrow.inverse{color:#8ec3fb}.hero{position:relative;overflow:hidden}.home-hero{background:linear-gradient(135deg,#f9fbfd 0%,#f3f7fb 58%,#eef5fd 100%);min-height:720px;display:flex;align-items:center}.hero-grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(13,93,184,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(13,93,184,.055) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to right,#000,transparent 70%)}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;padding:84px 0 92px}.hero-copy h1,.page-hero h1{font-size:clamp(3rem,5.1vw,5.4rem);line-height:.98;letter-spacing:-.052em;margin:0 0 26px;color:var(--navy);max-width:850px}.hero-copy h1 span{color:var(--blue)}.lead{font-size:1.17rem;color:#4d667d;line-height:1.7;max-width:730px;margin:0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.hero-proof{display:flex;gap:0;margin-top:48px;border-top:1px solid #ccd9e5;padding-top:24px}.hero-proof div{padding-right:27px;margin-right:27px;border-right:1px solid #ccd9e5}.hero-proof div:last-child{border:0}.hero-proof strong{display:block;color:var(--navy);font-size:1.45rem;line-height:1.1}.hero-proof span{display:block;color:var(--muted);font-size:.78rem;margin-top:5px}.hero-visual{position:relative;min-height:505px}.visual-card{position:absolute;background:#fff;border:1px solid #dfe8f1;border-radius:18px;padding:9px;box-shadow:var(--shadow)}.visual-card img{width:100%;height:100%;object-fit:cover;border-radius:12px}.visual-card span{position:absolute;left:22px;bottom:19px;background:rgba(11,32,53,.88);backdrop-filter:blur(7px);color:#fff;border-radius:8px;padding:7px 10px;font-size:.78rem;font-weight:750}.visual-main{width:88%;height:350px;right:0;top:20px;transform:rotate(1.5deg)}.visual-float{width:58%;height:235px;left:-8px;bottom:5px;transform:rotate(-3deg)}.engineering-chip{position:absolute;right:-14px;bottom:55px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 36px rgba(11,32,53,.15);border-radius:14px;padding:13px 16px;display:flex;align-items:center;gap:11px}.engineering-chip .pulse{width:10px;height:10px;border-radius:50%;background:#1d9b5f;box-shadow:0 0 0 5px rgba(29,155,95,.12)}.engineering-chip b,.engineering-chip small{display:block}.engineering-chip b{font-size:.84rem}.engineering-chip small{font-size:.7rem;color:var(--muted)}.brand-transition{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.transition-inner{padding:34px 0;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center}.transition-mark{width:64px;height:64px;border-radius:14px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:1.2rem;font-weight:850;letter-spacing:.08em}.transition-inner h2{font-size:1.35rem;line-height:1.35;margin:0 0 4px;color:var(--navy)}.transition-inner p{margin:0;color:var(--muted);font-size:.94rem}.transition-inner .eyebrow{margin:0 0 3px}.text-link{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:780;white-space:nowrap}.text-link:hover{color:#084f9c}.text-link.light{color:#b8dcff}.text-link svg{width:17px}.section{padding:104px 0}.section-muted{background:var(--surface)}.section-dark{background:var(--navy);color:#dbe8f3}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:48px}.section-heading>div{max-width:760px}.section-heading h2,.feature-copy h2,.two-column h2,.portfolio-note h2,.trust-panel h2,.tools-panel h2,.identity-panel h2,.cta-band h2,.contact-panel h2,.project-form h2,.methodology h2{font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.08;letter-spacing:-.038em;color:var(--navy);margin:0}.section-heading>p{max-width:380px;color:var(--muted);margin:0}.section-heading.compact{margin-bottom:32px}.section-heading.light h2{color:#fff}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{position:relative;padding:29px 26px 26px;border:1px solid var(--line);border-radius:var(--radius);min-height:310px;display:flex;flex-direction:column;background:#fff;transition:.25s}.service-card:hover{transform:translateY(-6px);border-color:#aac6e2;box-shadow:var(--shadow)}.service-code{width:58px;height:45px;border-radius:10px;background:#eef5fc;color:var(--blue);display:grid;place-items:center;font:800 .9rem ui-monospace,SFMono-Regular,Menlo,monospace;margin-bottom:44px}.service-card h3{font-size:1.18rem;line-height:1.3;margin:0 0 12px;color:var(--navy)}.service-card p{font-size:.92rem;color:var(--muted);margin:0 0 22px}.service-card>span{margin-top:auto;color:var(--blue);font-size:.86rem;font-weight:750;display:flex;align-items:center;gap:7px}.split-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:78px;align-items:center}.feature-media{position:relative;max-width:470px}.feature-media img{width:100%;height:560px;object-fit:cover;border-radius:24px;box-shadow:var(--shadow)}.media-label{position:absolute;left:22px;bottom:22px;background:#fff;border-radius:12px;padding:10px 15px;font-weight:750;box-shadow:0 10px 30px rgba(0,0,0,.15)}.media-label span{color:var(--blue);margin-right:8px}.feature-copy>p{color:var(--muted);font-size:1.02rem;margin:22px 0 23px}.check-list{list-style:none;padding:0;margin:0 0 29px}.check-list li{display:flex;gap:12px;margin:11px 0;color:#324b61}.check-list svg{flex:0 0 21px;width:21px;height:21px;border:1px solid #bed6ed;border-radius:50%;padding:4px;fill:none;stroke:var(--blue);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}.portfolio-grid{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:repeat(2,250px);gap:18px}.portfolio-card{position:relative;overflow:hidden;border-radius:20px;background:#0b2035}.portfolio-card.large{grid-row:1/3}.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.portfolio-card.large img{object-position:center top}.portfolio-card:hover img{transform:scale(1.035)}.portfolio-overlay{position:absolute;inset:auto 0 0;padding:60px 26px 24px;background:linear-gradient(transparent,rgba(5,20,35,.92));color:#fff}.portfolio-overlay span{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#9bcafb}.portfolio-overlay h3{margin:6px 0 2px;font-size:1.35rem}.portfolio-overlay p{margin:4px 0 0;font-size:.86rem;color:#d6e3ef}.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quote-grid blockquote{margin:0;background:#102c48;border:1px solid #234561;border-radius:18px;padding:27px}.stars{letter-spacing:.12em;color:#ffd166;font-size:.85rem}.quote-grid p,.testimonial p{font-size:1.08rem;line-height:1.65;color:#fff}.quote-grid footer{color:#99b3c9;font-size:.82rem}.review-summary{margin-top:25px;padding-top:25px;border-top:1px solid #2c4963;display:flex;align-items:center;gap:18px}.review-summary strong{font-size:1.6rem;color:#fff}.review-summary span{color:#9cb5c9}.review-summary a{margin-left:auto;color:#b8dcff;display:flex;gap:8px;align-items:center}.review-summary svg{width:17px;fill:none;stroke:currentColor}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process-grid>div{padding:27px 28px 0 0;border-right:1px solid var(--line);min-height:190px}.process-grid>div+div{padding-left:28px}.process-grid>div:last-child{border-right:0}.process-grid span,.info-card>span,.values>div>span{color:var(--blue);font:800 .75rem ui-monospace,SFMono-Regular,Menlo,monospace}.process-grid h3{margin:24px 0 8px;color:var(--navy)}.process-grid p{margin:0;color:var(--muted);font-size:.9rem}.cta-band{background:linear-gradient(120deg,#0d5db8,#0b3e73);padding:70px 0}.cta-band-inner{display:flex;justify-content:space-between;align-items:center;gap:50px}.cta-band h2{color:#fff;max-width:780px}.cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:230px}.page-hero{padding:110px 0 86px;background:linear-gradient(135deg,#f7fafd,#eff5fb);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.8rem,5vw,5rem);max-width:1020px}.service-showcase{display:flex;flex-direction:column;gap:90px}.service-row{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}.service-row.reverse>div{order:2}.service-row.reverse>img{order:1}.service-row img{border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow);width:100%}.service-row h2{font-size:2.4rem;letter-spacing:-.035em;line-height:1.1;margin:10px 0 18px;color:var(--navy)}.service-row p{color:var(--muted)}.service-index{font:800 .72rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--blue);letter-spacing:.08em;text-transform:uppercase}.three-grid,.four-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.four-grid{grid-template-columns:repeat(4,1fr)}.info-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:27px}.info-card h3{margin:25px 0 8px;color:var(--navy)}.info-card p{color:var(--muted);font-size:.91rem;margin:0}.hero-two{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:70px}.service-hero{padding:80px 0}.page-hero-image img{border-radius:22px;box-shadow:var(--shadow);border:1px solid var(--line)}.breadcrumbs{display:flex;gap:9px;align-items:center;color:#7c8fa2;font-size:.8rem;margin-bottom:25px}.breadcrumbs a{color:var(--blue)}.two-column{display:grid;grid-template-columns:1fr .75fr;gap:80px;align-items:start}.two-column>div>p{color:var(--muted)}.scope-card{background:var(--navy);color:#dbe8f3;border-radius:22px;padding:31px}.scope-label{color:#86c1ff;font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;font-weight:850}.scope-card ul{padding-left:18px;margin:20px 0 28px}.scope-card li{margin:10px 0}.scope-card a{color:#fff;font-weight:750;display:flex;align-items:center;gap:8px}.capability-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.capability{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px}.capability>span{font:800 .75rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--blue)}.capability h3{margin:28px 0 8px;color:var(--navy)}.capability p{margin:0;color:var(--muted)}.methodology{display:grid;grid-template-columns:.6fr 1.4fr;gap:70px}.methodology ol{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.methodology li{display:grid;grid-template-columns:54px 1fr;gap:15px;padding:23px 0;border-bottom:1px solid var(--line)}.methodology li>span{font:800 .75rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--blue);padding-top:5px}.methodology h3{margin:0 0 5px}.methodology p{margin:0;color:var(--muted)}.legal-note{background:#eff6fd;border-top:1px solid #d7e8f8;border-bottom:1px solid #d7e8f8;padding:25px 0}.legal-note .container{display:grid;grid-template-columns:240px 1fr;gap:30px}.legal-note strong{color:var(--navy)}.legal-note p{margin:0;color:#536b81;font-size:.9rem}.filter-bar{display:flex;gap:8px;margin-bottom:30px;flex-wrap:wrap}.filter-bar button{border:1px solid var(--line);background:#fff;color:#526b82;padding:9px 15px;border-radius:999px;cursor:pointer;font-weight:700;font-size:.85rem}.filter-bar button.active,.filter-bar button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.case-card{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff}.case-card.is-hidden{display:none}.image-button{border:0;padding:0;background:none;width:100%;cursor:zoom-in;display:block}.case-card .image-button{height:330px;background:#eef3f8;overflow:hidden}.case-card .image-button.portrait{height:430px}.case-card .image-button img{width:100%;height:100%;object-fit:cover;transition:.4s}.case-card .image-button.portrait img{object-position:center top}.case-card .image-button:hover img{transform:scale(1.03)}.case-card>div{padding:27px}.case-kicker{font-size:.72rem;color:var(--blue);font-weight:850;letter-spacing:.09em;text-transform:uppercase}.case-card h2{font-size:1.6rem;margin:9px 0 10px;color:var(--navy);letter-spacing:-.025em}.case-card p{color:var(--muted);margin:0}.tag-list{list-style:none;padding:0;margin:20px 0 0;display:flex;gap:7px;flex-wrap:wrap}.tag-list li{font-size:.72rem;font-weight:700;color:#456178;background:#f0f5fa;border-radius:999px;padding:6px 10px}.portfolio-note{margin-top:70px;padding:38px;border-radius:22px;background:#f4f8fc;display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:center}.portfolio-note p{color:var(--muted)}.portfolio-note .button{justify-self:start}.testimonial-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.testimonial{margin:0;background:var(--navy);border-radius:20px;padding:34px;min-height:270px;display:flex;flex-direction:column}.testimonial p{font-size:1.18rem}.testimonial footer{margin-top:auto;display:flex;flex-direction:column;color:#a9bdd0}.testimonial footer strong{color:#fff}.review-image-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.review-image-grid .image-button{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(11,32,53,.05)}.review-image-grid img{width:100%;height:auto}.rating-hero{margin-top:36px;display:flex;align-items:center;gap:18px}.rating-hero strong{font-size:1.7rem;color:var(--navy)}.rating-hero span{color:var(--muted)}.rating-hero a{margin-left:auto;color:var(--blue);font-weight:750;display:flex;align-items:center;gap:7px}.rating-hero svg{width:18px;fill:none;stroke:currentColor}.trust-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.trust-points{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.trust-points span{font:800 .75rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--blue)}.trust-points h3{margin:24px 0 8px;color:var(--navy)}.trust-points p{font-size:.9rem;color:var(--muted);margin:0}.about-monogram{justify-self:end;width:340px;height:340px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;box-shadow:0 25px 60px rgba(11,32,53,.18)}.about-monogram span{font-size:5rem;font-weight:250;letter-spacing:.08em;color:#7cbcff}.about-monogram small{text-align:center;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem}.lead-small{font-size:1.2rem!important;color:#355068!important}.about-copy p{color:var(--muted)}.values>div{border-top:2px solid var(--blue);padding:25px 15px 0 0}.values h3{margin:35px 0 10px}.values p{color:var(--muted);font-size:.9rem}.tools-panel{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;align-items:center}.tools-panel p{color:var(--muted)}.tool-cloud{display:flex;gap:10px;flex-wrap:wrap}.tool-cloud span{padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:700;color:#415d75}.identity-panel{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.identity-panel h2{color:#fff}.identity-panel p{color:#b8c9d9;font-size:1.06rem}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:start}.contact-panel{position:sticky;top:112px}.contact-links{display:flex;flex-direction:column;margin-top:34px;border-top:1px solid var(--line)}.contact-links a{display:grid;grid-template-columns:44px 1fr 20px;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}.contact-links a:hover strong{color:var(--blue)}.contact-icon{width:38px;height:38px;border-radius:9px;background:#eef5fc;color:var(--blue);display:grid;place-items:center;font-weight:850}.contact-links small,.contact-links strong{display:block}.contact-links small{color:var(--muted);font-size:.72rem}.contact-links strong{font-size:.91rem}.contact-note{margin-top:30px;background:#f3f7fb;border-radius:16px;padding:20px}.contact-note p{margin:5px 0 0;color:var(--muted);font-size:.9rem}.project-form{background:#f7f9fc;border:1px solid var(--line);border-radius:24px;padding:36px}.form-heading{margin-bottom:27px}.form-heading p{color:var(--muted);margin:10px 0}.project-form label{display:block;font-size:.82rem;font-weight:750;color:#3d566d;margin-bottom:17px}.project-form input,.project-form select,.project-form textarea{width:100%;display:block;border:1px solid #cbd9e5;border-radius:10px;background:#fff;padding:12px 13px;margin-top:7px;color:var(--navy);outline:none}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(13,93,184,.08)}.form-status{font-size:.82rem;color:var(--muted)}.legal-hero{padding-bottom:60px}.legal-copy{max-width:850px}.legal-copy h2{font-size:1.35rem;color:var(--navy);margin:38px 0 8px}.legal-copy p{color:#536b81}.legal-copy a{color:var(--blue);text-decoration:underline}.updated{margin-top:45px;font-size:.85rem}.not-found{min-height:70vh;display:grid;place-items:center;text-align:center;background:#f7f9fc;padding:80px 0}.error-code{display:block;font-size:8rem;line-height:1;color:#d7e7f6;font-weight:900}.not-found h1{font-size:3rem;color:var(--navy);margin:10px 0}.not-found p{color:var(--muted)}.not-found .hero-actions{justify-content:center}.site-footer{background:#071827;color:#aebfce;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:50px}.footer-brand img{width:220px;background:#fff;padding:8px 10px;border-radius:8px;margin-bottom:18px}.footer-brand p{font-size:.88rem;max-width:440px}.legacy-brand{border-left:2px solid #1c6ebf;padding-left:12px}.footer-grid h2{font-size:.82rem;color:#fff;text-transform:uppercase;letter-spacing:.1em;margin:0 0 17px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start}.footer-grid a{font-size:.86rem;margin:5px 0}.footer-grid a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #1d3041;margin-top:45px;padding-top:20px;font-size:.78rem}.footer-bottom p{margin:0}.footer-bottom div{display:flex;gap:18px}.lightbox{position:fixed;inset:0;z-index:500;background:rgba(3,12,20,.92);display:none;align-items:center;justify-content:center;padding:50px}.lightbox.open{display:flex}.lightbox img{max-height:90vh;max-width:94vw;object-fit:contain;border-radius:8px}.lightbox button{position:absolute;right:25px;top:18px;border:0;background:none;color:#fff;font-size:2.3rem;cursor:pointer}.reveal{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}
@media (max-width:1050px){.primary-nav{gap:18px}.service-grid{grid-template-columns:repeat(2,1fr)}.hero-grid{gap:38px}.hero-visual{min-height:440px}.service-row{gap:40px}.trust-panel,.tools-panel{grid-template-columns:1fr}.trust-points{margin-top:10px}.four-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.5fr repeat(3,1fr);gap:28px}}
@media (max-width:820px){.nav-toggle{display:block}.primary-nav{position:absolute;left:0;right:0;top:82px;background:#fff;border-bottom:1px solid var(--line);padding:20px;display:none;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 30px rgba(11,32,53,.08)}.primary-nav.open{display:flex}.nav-link{padding:11px}.nav-link:after{display:none}.primary-nav .button{margin-top:10px}.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.brand img{width:220px}.home-hero{min-height:auto}.hero-grid,.hero-two,.split-feature,.two-column,.methodology,.identity-panel,.contact-grid{grid-template-columns:1fr}.hero-grid{padding:72px 0}.hero-visual{min-height:440px;max-width:650px;width:100%}.hero-copy h1,.page-hero h1{font-size:clamp(2.8rem,11vw,4.2rem)}.section{padding:80px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:15px}.transition-inner{grid-template-columns:auto 1fr}.transition-inner>a{grid-column:2}.split-feature{gap:45px}.feature-media{max-width:none}.feature-media img{height:480px}.portfolio-grid{grid-template-columns:1fr;grid-template-rows:360px 260px 260px}.portfolio-card.large{grid-row:auto}.service-row,.service-row.reverse{grid-template-columns:1fr;gap:28px}.service-row.reverse>div,.service-row.reverse>img{order:initial}.three-grid{grid-template-columns:1fr}.hero-two{gap:38px}.page-hero-image{max-width:640px}.capability-grid{grid-template-columns:1fr}.methodology{gap:35px}.legal-note .container{grid-template-columns:1fr;gap:7px}.case-grid{grid-template-columns:1fr}.portfolio-note{grid-template-columns:1fr}.testimonial-cards,.review-image-grid{grid-template-columns:1fr}.about-monogram{justify-self:start;width:280px;height:280px}.contact-panel{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.cta-band-inner{flex-direction:column;align-items:flex-start}.cta-actions{flex-direction:row;flex-wrap:wrap}.process-grid{grid-template-columns:repeat(2,1fr)}.process-grid>div:nth-child(2){border-right:0}.process-grid>div:nth-child(3){padding-left:0}.process-grid>div{border-bottom:1px solid var(--line);padding-bottom:25px}}
@media (max-width:560px){.container{width:min(var(--max),calc(100% - 28px))}.nav-shell{height:72px}.primary-nav{top:72px}.brand img{width:185px}.hero-grid{padding:55px 0 65px}.hero-copy h1,.page-hero h1{font-size:2.75rem}.lead{font-size:1.03rem}.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hero-proof div{padding-right:8px;margin-right:0}.hero-proof strong{font-size:1.15rem}.hero-proof span{font-size:.68rem}.hero-visual{min-height:360px}.visual-main{height:250px;width:92%}.visual-float{height:170px;width:64%}.engineering-chip{right:0;bottom:38px;padding:10px}.engineering-chip small{display:none}.transition-inner{grid-template-columns:1fr}.transition-mark{width:54px;height:54px}.transition-inner>a{grid-column:auto}.section{padding:65px 0}.section-heading h2,.feature-copy h2,.two-column h2,.portfolio-note h2,.trust-panel h2,.tools-panel h2,.identity-panel h2,.cta-band h2,.contact-panel h2,.project-form h2,.methodology h2{font-size:2rem}.service-grid,.four-grid,.trust-points{grid-template-columns:1fr}.feature-media img{height:390px}.portfolio-grid{grid-template-rows:300px 230px 230px}.quote-grid{grid-template-columns:1fr}.review-summary{align-items:flex-start;flex-wrap:wrap}.review-summary a{margin-left:0;width:100%}.process-grid{grid-template-columns:1fr}.process-grid>div,.process-grid>div+div,.process-grid>div:nth-child(3){padding-left:0;border-right:0}.page-hero{padding:70px 0 60px}.service-row h2{font-size:2rem}.case-card .image-button,.case-card .image-button.portrait{height:300px}.rating-hero{align-items:flex-start;flex-direction:column}.rating-hero a{margin-left:0}.about-monogram{width:235px;height:235px}.about-monogram span{font-size:4rem}.project-form{padding:24px}.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column}.cta-actions{flex-direction:column}.lightbox{padding:45px 12px}.error-code{font-size:6rem}.not-found h1{font-size:2.3rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.portfolio-card img,.case-card .image-button img,.button{transition:none}}

.source-panel{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px}.source-panel strong,.source-panel span{display:block}.source-panel strong{color:var(--navy);font-size:1.05rem}.source-panel span{color:var(--muted);font-size:.86rem;margin-top:3px}.source-panel .button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@media (max-width:560px){.source-panel{align-items:flex-start;flex-direction:column}}



/* Revorix Engineering — 2026 light UI refinement */
html{color-scheme:light}
body{background:#fff;color:var(--ink)}
.site-header{background:rgba(255,255,255,.94);border-bottom:1px solid rgba(220,229,238,.9);box-shadow:0 8px 28px rgba(11,32,53,.045)}
.brand{display:flex;align-items:center}
.brand img{height:auto!important;object-fit:contain}
.nav-cta{box-shadow:0 8px 24px rgba(13,93,184,.16)}
.button{box-shadow:0 9px 24px rgba(13,93,184,.15)}
.hero,.page-hero{position:relative;overflow:hidden}
.hero:before,.page-hero:before{content:"";position:absolute;width:34rem;height:34rem;border-radius:50%;background:radial-gradient(circle,rgba(13,93,184,.07),transparent 68%);right:-12rem;top:-17rem;pointer-events:none}
.hero>* ,.page-hero>*{position:relative}
.hero-copy h1,.page-hero h1{text-wrap:balance}
.hero-visual{min-height:505px}
.visual-card{overflow:hidden}
.visual-main{height:350px}
.visual-main img{object-fit:contain;background:#f8fbff;padding:18px}
.visual-float{height:245px;width:46%;left:3%;bottom:0}
.visual-float img{object-fit:contain;background:#f8fbff;padding:5px}
.visual-card span{background:rgba(11,32,53,.9)}
.service-grid{grid-template-columns:repeat(3,1fr)}
.service-card{position:relative;overflow:hidden}
.service-card:after{content:"";position:absolute;width:120px;height:120px;right:-55px;top:-58px;border-radius:50%;background:radial-gradient(circle,rgba(13,93,184,.08),transparent 70%);pointer-events:none}
.service-card:hover{box-shadow:0 22px 52px rgba(11,32,53,.11)}
.portfolio-card img,.case-card .image-button img{transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .35s}
.portfolio-card:hover img,.case-card:hover .image-button img{transform:scale(1.025);filter:saturate(1.04)}
.contact-brief-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.contact-brief-grid .info-card{min-width:0}
.contact-brief-grid .info-card span{color:var(--blue);font:800 .75rem ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.1em}
.contact-brief-grid .info-card h3{margin-top:12px}

/* Separate service explanation */
.service-boundary{padding:46px 0;background:linear-gradient(90deg,#f3f8fe,#f8fbfd);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-boundary-inner{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.service-boundary h2{margin:0;color:var(--navy);font-size:clamp(1.7rem,2.6vw,2.45rem);letter-spacing:-.035em;line-height:1.12}
.service-boundary p{margin:0;color:var(--muted)}
.service-boundary a{color:var(--blue);text-decoration:underline;text-decoration-color:rgba(13,93,184,.25);text-underline-offset:3px}

/* Portfolio archive & search */
.portfolio-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:34px}
.portfolio-toolbar .filter-bar{margin-bottom:0}
.portfolio-search{display:flex;flex-direction:column;gap:6px;min-width:280px;color:var(--muted);font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}
.portfolio-search input{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:11px;padding:11px 13px;outline:none}
.portfolio-search input:focus{border-color:#78aee0;box-shadow:0 0 0 3px rgba(13,93,184,.08)}
.portfolio-count{margin-top:34px;display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:10px 16px;border-top:1px solid var(--line);padding-top:22px}
.portfolio-count strong{font-size:1.65rem;color:var(--navy)}
.portfolio-count span{font-size:.8rem;color:var(--muted)}
.portfolio-archive{margin-top:90px;padding-top:72px;border-top:1px solid var(--line)}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.archive-item{padding:20px;border:1px solid var(--line);background:#fff;border-radius:15px;min-height:150px;transition:.2s;box-shadow:0 5px 20px rgba(11,32,53,.035)}
.archive-item:hover{transform:translateY(-3px);border-color:#b5cee5;box-shadow:0 14px 34px rgba(11,32,53,.08)}
.archive-item.is-hidden{display:none}
.archive-type{font:800 .67rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--blue);letter-spacing:.11em}
.archive-item h3{color:var(--navy);font-size:1rem;line-height:1.35;margin:15px 0 7px}
.archive-item p{margin:0;color:var(--muted);font-size:.77rem}
.archive-source{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:25px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}

/* Fiverr review cards */
.review-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px}
.review-kpis>div{padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(11,32,53,.04)}
.review-kpis strong,.review-kpis span{display:block}
.review-kpis strong{color:var(--navy);font-size:1.55rem}
.review-kpis span{color:var(--muted);font-size:.76rem;margin-top:3px}
.review-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.review-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;display:flex;flex-direction:column;min-height:290px;box-shadow:0 8px 28px rgba(11,32,53,.045)}
.review-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.review-score{font-size:.75rem;font-weight:800;color:var(--blue);border:1px solid #bad1e7;border-radius:999px;padding:3px 8px;background:#f5f9fd}
.review-card p{color:#334d64;font-size:.98rem;line-height:1.65;margin:24px 0}
.review-card footer{margin-top:auto;display:flex;flex-direction:column}
.review-card footer strong{color:var(--navy)}
.review-card footer span{color:var(--muted);font-size:.82rem}
.review-card footer small{color:#8294a5;font-size:.72rem;margin-top:3px}
.review-disclaimer{margin-top:30px;padding:22px 24px;border:1px solid var(--line);background:#f7f9fc;border-radius:14px}
.review-disclaimer strong{color:var(--navy)}
.review-disclaimer p{margin:6px 0 0;color:var(--muted);font-size:.86rem}

/* Image treatment */
.case-card .image-button img{object-fit:cover}
.case-card[data-category="app"] .image-button img{object-position:center center}
.case-card[data-category="product"] .image-button img{object-position:center center}
.page-hero-image{position:relative}
.page-hero-image:after{content:"";position:absolute;inset:-1px;border-radius:22px;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(11,32,53,.04)}
:focus-visible{outline:3px solid #5a9bd6;outline-offset:3px;border-radius:6px}
.image-button:focus-visible{outline-offset:5px}
::selection{background:#0d5db8;color:#fff}

/* Footer logo ratio fix */
.footer-brand img{width:255px!important;height:auto!important;max-height:78px!important;object-fit:contain!important;object-position:left center;background:#fff;padding:9px 12px;border-radius:10px;margin-bottom:18px}
.site-footer{background:#071827;color:#aebfce}
.footer-grid h2{color:#fff}

/* A touch more breathing room on service cards */
.service-card h3{max-width:18ch}
.service-card p{line-height:1.62}

@media (max-width:1100px){
  .contact-brief-grid{grid-template-columns:repeat(3,1fr)}
  .service-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1050px){
  .archive-grid,.review-card-grid{grid-template-columns:repeat(2,1fr)}
  .service-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  .service-boundary-inner{grid-template-columns:1fr;gap:18px}
  .portfolio-toolbar{align-items:stretch;flex-direction:column}
  .portfolio-search{min-width:0;width:100%}
  .archive-grid,.review-card-grid{grid-template-columns:1fr 1fr}
  .portfolio-count{grid-template-columns:auto 1fr}
  .review-kpis{grid-template-columns:1fr 1fr}
  .visual-main{width:88%}
  .visual-float{width:42%;left:4%}
}
@media (max-width:760px){
  .contact-brief-grid{grid-template-columns:1fr 1fr}
  .nav-shell{height:74px}
  .container{width:min(var(--max),calc(100% - 28px))}
}
@media (max-width:560px){
  .archive-grid,.review-card-grid,.review-kpis{grid-template-columns:1fr}
  .archive-source{align-items:flex-start;flex-direction:column}
  .portfolio-count{grid-template-columns:auto 1fr}
  .service-boundary{padding:38px 0}
  .case-card .image-button,.case-card .image-button.portrait{height:245px}
  .review-card{min-height:0}
  .visual-main{height:235px;width:94%}
  .visual-float{height:155px;width:42%;left:3%;bottom:0}
}
@media (max-width:520px){
  .contact-brief-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.project-form button[disabled]{opacity:.65;cursor:wait}
.form-status{min-height:1.5em}


/* Home media rotation + intro video */
.media-slider{overflow:hidden}
.media-slider .slider-stage,.rotating-portfolio .slider-stage{position:relative;width:100%;height:100%}
.media-slider .media-slide,.rotating-portfolio .media-slide{position:absolute;inset:0;margin:0;opacity:0;transform:translateX(7%) scale(.992);transition:opacity .78s cubic-bezier(.22,.61,.36,1),transform .78s cubic-bezier(.22,.61,.36,1);pointer-events:none;z-index:0}
.media-slider .media-slide.is-active,.rotating-portfolio .media-slide.is-active{opacity:1;transform:translateX(0) scale(1);pointer-events:auto;z-index:2}
.media-slider .media-slide.is-exiting,.rotating-portfolio .media-slide.is-exiting{opacity:0;transform:translateX(-7%) scale(.992);z-index:1}
.media-slider .media-slide img{width:100%;height:100%;object-fit:contain;background:linear-gradient(145deg,#fff,#f4f8fc);border-radius:12px}
.media-slider figure figcaption{position:absolute;left:22px;bottom:19px;background:rgba(11,32,53,.9);backdrop-filter:blur(7px);color:#fff;border-radius:8px;padding:7px 10px;font-size:.78rem;font-weight:750;box-shadow:0 6px 22px rgba(11,32,53,.16)}
.visual-main .media-slide img{padding:18px 22px}
.visual-float .media-slide img{padding:8px}
.slider-dots{position:absolute;z-index:5;right:18px;top:16px;display:flex;gap:6px;padding:7px 8px;border-radius:999px;background:rgba(255,255,255,.82);box-shadow:0 5px 18px rgba(11,32,53,.09);backdrop-filter:blur(8px)}
.slider-dot{width:6px;height:6px;border-radius:999px;background:#9cb2c6;transition:width .3s ease,background .3s ease}
.slider-dot.is-active{width:20px;background:var(--blue)}
.rotating-portfolio{display:block}
.rotating-portfolio .media-slide img{width:100%;height:100%;object-fit:contain;background:#f7f9fc;transition:transform .45s ease}
.rotating-portfolio:hover .media-slide.is-active img{transform:scale(1.018)}
.rotating-portfolio .portfolio-overlay{z-index:3}
.portfolio-slider-dots{top:auto;right:16px;bottom:16px;background:rgba(7,24,39,.72)}
.portfolio-slider-dots .slider-dot{background:#7e9ab3}
.portfolio-slider-dots .slider-dot.is-active{background:#fff}

.home-video-section{padding-top:88px;padding-bottom:88px;background:#fff}
.video-showcase{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center;padding:50px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#fff 0%,#f6f9fc 100%);box-shadow:0 22px 60px rgba(11,32,53,.08)}
.video-copy h2{font-size:clamp(2rem,3vw,3rem);line-height:1.08;letter-spacing:-.038em;color:var(--navy);margin:0 0 20px}
.video-copy p{color:var(--muted);margin:0 0 22px;font-size:1rem}
.video-points{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.video-points span{padding:7px 11px;border:1px solid #cfe0ef;border-radius:999px;background:#fff;color:#3a566f;font-size:.75rem;font-weight:750}
.video-frame{position:relative;overflow:hidden;border-radius:22px;background:#071827;box-shadow:0 18px 45px rgba(11,32,53,.18);aspect-ratio:1366/588}
.video-frame video{width:100%;height:100%;object-fit:cover;display:block}
.video-frame:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);border-radius:inherit}
.video-frame-meta{position:absolute;left:18px;bottom:17px;z-index:2;display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:10px;background:rgba(7,24,39,.82);color:#fff;backdrop-filter:blur(9px);font-size:.77rem}
.video-frame-meta .pulse{width:8px;height:8px;border-radius:50%;background:#39d98a;box-shadow:0 0 0 5px rgba(57,217,138,.12)}

@media (max-width:820px){
  .video-showcase{grid-template-columns:1fr;gap:34px;padding:32px}
  .visual-main .media-slide img{padding:12px}
}
@media (max-width:560px){
  .home-video-section{padding-top:58px;padding-bottom:58px}
  .video-showcase{padding:22px;border-radius:20px}
  .slider-dots{right:10px;top:10px}
  .media-slider figure figcaption{left:13px;bottom:12px;font-size:.68rem}
}
@media (prefers-reduced-motion:reduce){
  .media-slider .media-slide,.rotating-portfolio .media-slide{transition:none;transform:none}
  .media-slider .media-slide.is-exiting,.rotating-portfolio .media-slide.is-exiting{transform:none}
}

/* Hero PCB showcase refinement */
.hero-pcb-showcase .visual-card{background:#05090d;border-color:#182838;box-shadow:0 24px 58px rgba(8,25,42,.22)}
.hero-pcb-showcase .media-slider .media-slide{transform:translateX(18%) scale(.965);transition:opacity .88s cubic-bezier(.22,.61,.36,1),transform .88s cubic-bezier(.22,.61,.36,1)}
.hero-pcb-showcase .media-slider .media-slide.is-active{transform:translateX(0) scale(1)}
.hero-pcb-showcase .media-slider .media-slide.is-exiting{transform:translateX(-18%) scale(.965)}
.hero-pcb-showcase .media-slider .media-slide img{background:radial-gradient(circle at 50% 42%,#152637 0%,#070d13 58%,#020406 100%);padding:24px 30px;object-fit:contain}
.hero-pcb-showcase .visual-float .media-slide img{padding:16px 18px}
.hero-pcb-showcase .media-slider figure figcaption{background:rgba(3,10,16,.86);border:1px solid rgba(255,255,255,.11);box-shadow:0 8px 24px rgba(0,0,0,.28)}
.hero-pcb-showcase .hero-slider-dots{background:rgba(4,12,19,.72);border:1px solid rgba(255,255,255,.08)}
.hero-pcb-showcase .hero-slider-dots .slider-dot{background:#536b7f}
.hero-pcb-showcase .hero-slider-dots .slider-dot.is-active{background:#6db7ff}
.hero-pcb-slider-small{width:50%;height:235px;left:-1%;bottom:3px}
.hero-pcb-slider-small .media-slide img{object-fit:contain}
@media (max-width:560px){.hero-pcb-slider-small{width:48%;height:160px;left:1%}.hero-pcb-showcase .media-slider .media-slide img{padding:14px}}
