:root{--ink:#101e42;--blue:#273f9d;--sky:#e9f2ff;--muted:#68758c;--line:#e3e9f2;--soft:#f6f9fd;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:white;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}.header{height:92px;background:rgba(255,255,255,.96);border-bottom:1px solid #edf0f5;position:sticky;top:0;z-index:10}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;line-height:1;font-size:14px;letter-spacing:.11em;font-weight:800}.brand img{width:53px;height:53px;object-fit:contain}.brand b{color:#4568c7}.brand small{display:block;color:#76849a;font-size:8px;letter-spacing:.22em;margin-top:7px}.nav nav{display:flex;gap:28px;color:#516078;font-size:13px;font-weight:600}.nav nav a:hover{color:#253e9e}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 22px;border-radius:7px;font-size:13px;font-weight:750;transition:transform .2s}.btn:hover{transform:translateY(-3px)}.btn-dark{background:#111f45;color:white}.btn-blue{background:#2e48a7;color:white;box-shadow:0 12px 25px #253f9d26}.btn-white{background:white;color:#1a326f}.menu-toggle{display:none}.hero{overflow:hidden;background:#fff}.hero-layout{min-height:610px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding-top:60px;padding-bottom:60px}.eyebrow,.section-label{font-size:10px;font-weight:800;color:#4569c5;letter-spacing:.2em}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow i{width:8px;height:8px;border-radius:50%;background:#6ab9e8}.hero h1,h2{letter-spacing:-.055em;line-height:1.05;margin:22px 0;font-weight:750}.hero h1{font-size:clamp(53px,6.1vw,82px);max-width:620px}.hero-copy>p{font-size:18px;color:#69778f;max-width:510px;line-height:1.8}.actions{display:flex;align-items:center;gap:28px;margin-top:32px}.text-link{font-size:13px;font-weight:750}.text-link span{margin-left:10px;color:#5070c8}.hero-note{margin-top:65px;display:flex;gap:13px;align-items:center;color:#7a879a;font-size:12px;line-height:1.5}.hero-note b{color:#35496a}.small-dot{display:grid;place-items:center;width:38px;height:38px;background:#eef4ff;border-radius:50%;color:#496cc7;font-size:20px}.hero-visual{height:480px;background:#eff5ff;position:relative;border-radius:12px;overflow:hidden}.grid-lines{position:absolute;inset:0;background-image:linear-gradient(#cbdcf64d 1px,transparent 1px),linear-gradient(90deg,#cbdcf64d 1px,transparent 1px);background-size:42px 42px}.orb{position:absolute;border-radius:50%;filter:blur(2px)}.orb-a{width:310px;height:310px;background:#b8d3fd;top:-120px;right:-80px}.orb-b{width:260px;height:260px;background:#d9cbfa;bottom:-140px;left:-80px}.orbit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:280px;height:280px;border:1px solid #adc5e9;border-radius:50%;display:grid;place-items:center}.orbit:before,.orbit:after{content:'';position:absolute;border:1px solid #c3d5f1;border-radius:50%;inset:28px}.orbit:after{inset:-32px}.center-logo{height:150px;width:150px;background:white;border-radius:50%;display:grid;place-items:center;box-shadow:0 18px 45px #647fb22b;z-index:1}.center-logo img{width:112px}.float-card{position:absolute;background:white;border-radius:9px;padding:18px;box-shadow:0 14px 38px #5274a02b;min-width:166px;z-index:2}.float-card span{display:block;color:#7890b5;font-size:9px;letter-spacing:.12em;font-weight:800}.float-card b{display:block;margin-top:9px;line-height:1.25;font-size:15px}.card-one{top:62px;left:26px}.card-two{bottom:62px;right:24px}.mini-arrow{position:absolute;right:16px;bottom:15px;color:#6588db}.visual-caption{position:absolute;left:25px;bottom:18px;font-size:9px;letter-spacing:.15em;color:#7891b7;font-weight:800}.hero-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:25px 0;color:#8190a8;font-size:10px;letter-spacing:.14em;font-weight:800}.section{padding:120px 0}.about-layout,.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px}.section h2{font-size:clamp(42px,4.4vw,62px)}.section h2 em{font-family:Georgia,serif;font-weight:400;color:#5878cf}.about-right>p,.section-heading>p,.leader-copy>p{font-size:17px;color:#69778f;line-height:1.9}.about-line{margin-top:38px;padding-top:24px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px;font-size:13px}.about-line span{color:#8a96a8}.about-line a{margin-left:auto;color:#3454b6;font-size:23px}.services{background:#f6f9fe}.section-heading{align-items:end;margin-bottom:50px}.section-heading p{max-width:430px;margin-left:auto}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service{background:white;border:1px solid #e9eef7;border-radius:8px;padding:24px;min-height:230px;transition:transform .2s,box-shadow .2s}.service:hover{transform:translateY(-4px);box-shadow:0 18px 35px #2c4e8613}.service-top{display:flex;justify-content:space-between;align-items:center;color:#9aa8bb;font-size:11px}.service-icon{height:36px;width:36px;background:#eff4ff;color:#4f6dc1;border-radius:50%;display:grid;place-items:center;font-size:16px}.service h3{font-size:17px;line-height:1.3;letter-spacing:-.02em;margin:30px 0 12px}.service p{font-size:13px;color:#758197;line-height:1.7;margin:0}.approach{background:#13285c;color:white}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.light-label{color:#a9c5fb}.approach h2 em,.contact h2 em{color:#bdd1ff}.approach-layout>div>p{color:#b5c4e2;font-size:17px;max-width:400px}.approach .btn{margin-top:28px}.steps>div{display:grid;grid-template-columns:45px 130px 1fr;gap:10px;padding:24px 0;border-bottom:1px solid #ffffff2b;align-items:start}.steps span{color:#9fb7ee;font-size:12px}.steps b{font-size:16px}.steps p{font-size:13px;color:#b7c7e4;margin:0}.leader-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.leader-photo{height:500px;background:#eef4ff;border-radius:10px;position:relative;overflow:hidden}.leader-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}.leader-photo span{position:absolute;bottom:20px;left:20px;color:#13285c;background:#ffffffdf;padding:10px;font-size:9px;letter-spacing:.14em;font-weight:800}.leader-name{display:flex;flex-direction:column;margin:28px 0;color:#7c889e;font-size:13px}.leader-name strong{font-size:19px;color:var(--ink)}.outline-link{display:inline-flex;border-bottom:1px solid #496ac7;padding-bottom:8px;color:#324fa6;font-size:13px;font-weight:750;gap:24px}.contact{padding-top:0}.contact-box{background:#2b47a1;border-radius:12px;padding:65px 70px;display:grid;grid-template-columns:1fr .55fr;gap:70px;color:white}.contact h2{margin:18px 0}.contact-box p{color:#d3ddf6}.contact-info{display:flex;flex-direction:column;justify-content:center;gap:16px}.contact-info span{font-size:10px;letter-spacing:.15em;color:#adc2f0;font-weight:800}.contact-info a{font-size:16px;font-weight:700;border-bottom:1px solid #ffffff38;padding-bottom:12px;overflow-wrap:anywhere}.contact-info p{font-size:13px}footer{background:#f7f9fc;padding:65px 0 25px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer-top>div:not(:first-child){display:flex;flex-direction:column;gap:9px;font-size:13px;color:#768399}.footer-top b{color:var(--ink);margin-bottom:8px}.footer-top p{color:#8a96a8;font-size:13px}.footer-bottom{border-top:1px solid var(--line);margin-top:50px;padding-top:22px;display:flex;justify-content:space-between;gap:10px;color:#98a3b3;font-size:11px}a:focus-visible,button:focus-visible{outline:3px solid #5b7fe1;outline-offset:4px}@media(max-width:900px){.nav nav{gap:14px}.hero-layout{gap:30px}.services-grid{grid-template-columns:repeat(2,1fr)}.leader-layout,.approach-layout{gap:45px}.hero-bottom{flex-wrap:wrap}.nav-action{display:none}}@media(max-width:700px){.wrap{width:min(100% - 36px,1200px)}.header{height:74px}.menu-toggle{display:block;border:1px solid #dae4f1;background:white;border-radius:6px;padding:9px;color:#1d3263}.nav nav{display:none;position:absolute;top:74px;left:0;right:0;background:white;padding:20px;box-shadow:0 15px 20px #111c3515;flex-direction:column}.nav nav.open{display:flex}.hero-layout{display:flex;flex-direction:column;align-items:stretch;padding:65px 0 40px}.hero h1{font-size:50px}.hero-visual{height:360px;margin-top:20px}.hero-note{margin-top:35px}.actions{flex-wrap:wrap}.section{padding:80px 0}.about-layout,.section-heading,.approach-layout,.leader-layout,.contact-box{grid-template-columns:1fr;gap:25px}.section h2{font-size:43px}.section-heading p{margin-left:0}.services-grid{grid-template-columns:1fr 1fr}.service{padding:18px;min-height:220px}.service h3{font-size:15px}.steps>div{grid-template-columns:30px 100px 1fr}.leader-photo{height:400px}.contact{padding-top:0}.contact-box{padding:38px 25px}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.hero-bottom{font-size:9px}.float-card{min-width:135px}}
/* Client reviews */
.reviews{background:#f6f9fe}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review-card,.empty-reviews{background:#fff;border:1px solid #e4eaf4;border-radius:10px;padding:28px}.review-card p{color:#5d6b84;font-size:15px;line-height:1.8;overflow-wrap:anywhere;white-space:normal}.stars{color:#3154b6;letter-spacing:3px;font-size:18px}.stars span{color:#bdc9da}.review-by{display:flex;flex-direction:column;margin-top:25px;border-top:1px solid #e8edf5;padding-top:17px;font-size:14px}.review-by small{color:#8b98aa}.empty-reviews{color:#77869d;grid-column:1/-1}.all-reviews{margin-top:30px}.reviews-page h1,.review-form-section h1{font-size:clamp(48px,6vw,74px);letter-spacing:-.06em;line-height:1.05;margin:20px 0}.reviews-page h1 span,.review-form-section h1 span{color:#456bc9}.reviews-page>.wrap>p,.review-form-wrap>div>p{color:#77859a;margin-bottom:42px}.review-form-section{background:#f6f9fe;min-height:75vh}.review-form-wrap{display:grid;grid-template-columns:.85fr 1fr;gap:70px}.review-form-card{background:white;border:1px solid #e2eaf4;border-radius:12px;padding:40px;box-shadow:0 20px 50px #263e7410}.review-form-card h2{font-size:28px;margin:0}.review-form-card p{color:#77859a;font-size:14px}.review-form-card label{display:block;font-weight:700;font-size:13px;margin:18px 0;color:#283c61}.review-form-card input:not([type=checkbox]),.review-form-card select,.review-form-card textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #d5dfee;border-radius:6px;padding:12px;font:inherit;margin-top:7px;color:#172950;background:#fff}.review-form-card label small{font-weight:400;color:#8a96a8}.review-form-card .consent{display:flex;gap:10px;align-items:flex-start;line-height:1.6;font-weight:500;color:#67758b}.review-form-card .consent input{margin:5px 0}.review-form-card button{border:0;cursor:pointer}.form-error{background:#fff0ef;color:#a13126;padding:12px;border-radius:6px;font-size:13px}.hp{position:absolute;left:-10000px}.brand img{width:70px;height:60px;object-fit:contain}.center-logo img{width:128px}@media(max-width:700px){.review-grid{grid-template-columns:1fr}.review-form-wrap{grid-template-columns:1fr;gap:15px}.review-form-card{padding:25px}.brand img{width:57px;height:51px}}
/* Portfolio, questions and support */
.portfolio{background:#fff}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.portfolio-empty{grid-column:1/-1;padding:42px;background:#f4f8ff;border:1px solid #e4ecf8;border-radius:10px;color:#6b7a93}.portfolio-empty span{font-size:10px;letter-spacing:.16em;color:#617cba;font-weight:800}.portfolio-empty h3{font-size:24px;color:#14264e;margin:15px 0 5px}.portfolio-empty p{margin:0}.project-card{border:1px solid #e3eaf4;border-radius:10px;overflow:hidden}.project-art{height:210px;background:#edf4ff;position:relative;padding:23px;overflow:hidden}.project-art>span{font-size:9px;letter-spacing:.14em;font-weight:800;color:#7c93bd}.project-art>b{position:absolute;bottom:17px;right:22px;color:#abc0e8}.project-window{position:absolute;left:15%;right:15%;top:65px;bottom:-20px;background:white;border-radius:8px 8px 0 0;padding:13px;box-shadow:0 10px 35px #607da82a}.project-window i{display:inline-block;width:6px;height:6px;background:#b9c9e2;border-radius:50%;margin-right:4px}.project-lines{margin:20px auto;background:linear-gradient(#a7bce4 0 0) top left/50% 9px no-repeat,linear-gradient(#e8effa 0 0) bottom/100% 50px no-repeat;width:80%;height:90px}.project-copy{padding:20px;display:flex;justify-content:space-between;gap:15px}.project-copy h3{margin:0;font-size:18px}.project-copy p{color:#758197;font-size:13px}.project-copy a{font-size:23px;color:#4363bc}.faq{background:#f6f9fe}.faq-layout,.support-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}.faq-layout>div>p,.support-layout>div>p{color:#718098;max-width:400px}.faq-list details{border-bottom:1px solid #dfe7f2;padding:22px 0}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:23px;line-height:1;color:#4768c6}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:#6f7d93;font-size:14px;margin:14px 0 0}.support-card{border:1px solid #e4ebf4;border-radius:12px;padding:32px;box-shadow:0 15px 40px #253d7111}.support-card h3{font-size:22px;margin:0 0 20px}.support-card label{display:block;font-weight:700;font-size:13px;color:#283c61;margin:14px 0}.support-card input,.support-card select,.support-card textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #d5dfee;border-radius:6px;padding:12px;font:inherit;margin-top:7px;color:#172950;background:white}.support-card small{font-weight:400;color:#8996aa}.support-card button{border:0;cursor:pointer}.support-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.support-note{margin-top:28px;padding:17px 20px;background:#f2f6ff;color:#597197;border-radius:8px;font-size:13px;max-width:400px}@media(max-width:700px){.portfolio-grid,.faq-layout,.support-layout{grid-template-columns:1fr;gap:25px}.support-fields{grid-template-columns:1fr;gap:0}.support-card{padding:22px}}
/* Rounded service cards and restrained motion */
.services-grid{gap:20px}.service{position:relative;isolation:isolate;overflow:hidden;border-radius:28px;background:linear-gradient(155deg,#fff 65%,#f1f6ff);border:1px solid #dfe9f7;box-shadow:0 10px 28px rgba(35,69,135,.055);padding:27px;min-height:246px;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.service::before{content:"";position:absolute;width:125px;height:125px;border-radius:50%;right:-48px;bottom:-60px;background:#dceaff;opacity:.68;z-index:-1;transition:transform .4s ease}.service:hover,.service:focus-within{transform:translateY(-7px);border-color:#b1c9f4;box-shadow:0 20px 38px rgba(35,69,135,.14)}.service:hover::before{transform:scale(1.35)}.service-top{font-size:11px;letter-spacing:.12em;font-weight:800;color:#7790be}.service-icon{width:43px;height:43px;background:#e6efff;color:#3156b2;transition:background .3s,color .3s,transform .3s}.service:hover .service-icon{background:#3156b2;color:#fff;transform:rotate(45deg)}.service h3{margin-top:28px;color:#122652;font-size:17px}.service p{color:#6d7d97}.hero-copy{animation:intro-rise .8s ease-out both}.hero-visual{animation:intro-rise .9s .15s ease-out both}.float-card{animation:card-float 5s ease-in-out infinite}.card-two{animation-delay:-2.5s}.orbit:after{animation:orbit-pulse 5s ease-in-out infinite}.reveal-on-scroll{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.service.reveal-on-scroll.is-visible:hover{transform:translateY(-7px)}@keyframes intro-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes card-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes orbit-pulse{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.04);opacity:1}}@media(max-width:700px){.services-grid{gap:12px}.service{border-radius:22px;padding:19px;min-height:220px}.service h3{font-size:15px}.service-icon{height:36px;width:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-on-scroll{opacity:1;transform:none}}
/* Photographic technology banner */
.hero{background-color:#f5f9ff;background-image:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 32%,rgba(255,255,255,.72) 52%,rgba(239,247,255,.06) 76%),url('technology-hero.png');background-position:center;background-size:cover}.hero-layout{min-height:640px}.hero-copy{position:relative;z-index:1}.hero-visual{background:transparent;overflow:visible;box-shadow:none}.hero-visual .grid-lines,.hero-visual .orb,.hero-visual .orbit,.hero-visual .visual-caption{display:none}.hero-visual .float-card{background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.8);box-shadow:0 18px 45px rgba(28,61,115,.16);border-radius:16px}.hero-visual .card-one{left:12%;top:13%}.hero-visual .card-two{right:0;bottom:12%}.hero-bottom{border-color:rgba(109,140,185,.22)}@media(max-width:700px){.hero{background-image:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.93) 48%,rgba(255,255,255,.16) 82%),url('technology-hero.png');background-position:center center}.hero-layout{min-height:0}.hero-visual{height:260px}.hero-visual .card-one{top:12%;left:2%}.hero-visual .card-two{bottom:8%;right:2%}}
/* Contact strip, banner controls and client portfolio */
.contact-strip{background:#1d3b8f;color:#fff;font-size:11px;font-weight:650;letter-spacing:.05em}.contact-strip .wrap{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.contact-strip .wrap>span{color:#bdd2ff;font-size:9px;letter-spacing:.14em}.contact-strip .wrap>div{display:flex;gap:25px}.hero-footer{display:flex;align-items:end;gap:25px;flex-wrap:wrap}.hero-controls{display:flex;align-items:center;gap:12px;margin-top:34px}.hero-controls button{border:1px solid #c8d8f0;background:rgba(255,255,255,.9);color:#29499c;width:38px;height:38px;border-radius:50%;font-size:16px;cursor:pointer}.hero-controls button:hover{background:#29499c;color:white}.hero-controls span{font-size:10px;font-weight:800;letter-spacing:.15em;color:#697f9f}.portfolio{background:#f8faff}.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:18px}.project-card.client-tile{background:#fff;border:1px solid #e0e9f4;border-radius:18px;text-align:center;transition:box-shadow .25s,transform .25s}.project-card.client-tile:hover{transform:translateY(-5px);box-shadow:0 20px 38px #244b8a14}.client-link{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:33px 20px 28px;min-height:250px}.client-mark{display:grid;place-items:center;background:#f0f5fe;border:1px solid #e0eafd;color:#3454ac;border-radius:50%;font-weight:800;letter-spacing:.06em;font-size:25px;width:78px;height:78px}.client-tile:nth-child(3n+2) .client-mark{background:#eff8fb;color:#246c91}.client-tile:nth-child(3n) .client-mark{background:#f3f1ff;color:#604eb3}.client-link h3{font-size:17px;margin:19px 0 4px;letter-spacing:-.02em}.client-link p{font-size:13px;color:#8290a4;margin:0}.client-visit{font-size:10px;letter-spacing:.13em;font-weight:800;color:#395cc1;margin-top:18px}@media(max-width:700px){.contact-strip .wrap>span{display:none}.contact-strip .wrap>div{width:100%;justify-content:space-between;gap:10px;font-size:10px}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:12px}.client-link{min-height:220px;padding:22px 12px}.client-link h3{font-size:15px}.client-mark{height:65px;width:65px;font-size:21px}.hero-footer{align-items:center}.hero-controls{margin-top:15px}.hero-note{margin-top:25px}}@media(max-width:360px){.portfolio-grid{grid-template-columns:1fr}.contact-strip .wrap>div{font-size:9px}}@media(prefers-reduced-motion:reduce){.project-card.client-tile{transition:none}}
.floating-whatsapp{position:fixed;bottom:24px;right:24px;z-index:20;background:#1e9a68;color:#fff;display:flex;align-items:center;gap:9px;padding:12px 17px;border-radius:999px;box-shadow:0 10px 26px #1b74583b;font-size:12px;font-weight:750}.floating-whatsapp span:first-child{font-size:19px;line-height:1}@media(max-width:700px){.floating-whatsapp{bottom:16px;right:16px;padding:12px}.float-label{display:none}}
/* Image-led website portfolio */
.project-card.showcase-card{border:1px solid #e4ebf4;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #223d710a;transition:transform .25s,box-shadow .25s}.project-card.showcase-card:hover{transform:translateY(-5px);box-shadow:0 18px 35px #223d711c}.project-image{display:block;position:relative;overflow:hidden;background:#edf2fa;aspect-ratio:1.58}.project-image img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .45s}.showcase-card:hover .project-image img{transform:scale(1.035)}.image-action{position:absolute;inset:auto 16px 15px auto;background:#fff;color:#183a91;padding:9px 13px;border-radius:7px;box-shadow:0 8px 20px #0b1c4c24;font-size:11px;font-weight:800}.showcase-copy{padding:24px 25px 26px}.project-category{font-size:10px;letter-spacing:.15em;font-weight:800;color:#5576c5}.showcase-copy h3{font-size:19px;letter-spacing:-.02em;margin:9px 0 4px}.showcase-copy p{font-size:13px;color:#748299;margin:0 0 19px}.project-link{font-size:12px;font-weight:800;color:#3255b0}.project-link span{margin-left:8px}.preview-fallback{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:25px;text-align:center;background:linear-gradient(140deg,#e8f0ff,#f6f9ff);color:#294b98}.preview-fallback span{font-size:10px;letter-spacing:.16em;font-weight:800}.preview-fallback strong{font-size:20px}.preview-fallback small{color:#7184a3}.portfolio-grid{gap:24px}@media(max-width:700px){.portfolio-grid{grid-template-columns:1fr}.showcase-copy{padding:20px}}
/* A compact home portfolio and a separate complete gallery */
.portfolio-home{background:#17223f;color:#fff;padding:95px 0 105px;text-align:center}.portfolio-heading .section-label{color:#a5c1ff}.portfolio-heading h2{margin:14px 0;font-size:clamp(40px,4vw,58px);letter-spacing:-.045em}.portfolio-heading p{color:#bac7e3;margin:0 0 42px}.carousel-shell{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:18px;align-items:center}.portfolio-carousel{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 12px;text-align:left}.portfolio-carousel::-webkit-scrollbar{display:none}.portfolio-carousel .showcase-card{flex:0 0 calc((100% - 54px)/4);min-width:0;scroll-snap-align:start;color:#172950}.portfolio-carousel .project-image{aspect-ratio:1.43}.portfolio-carousel .showcase-copy{display:none}.portfolio-carousel .image-action{opacity:0;transition:opacity .2s}.portfolio-carousel .showcase-card:hover .image-action,.portfolio-carousel .showcase-card:focus-within .image-action{opacity:1}.portfolio-arrow{width:40px;height:40px;border:1px solid #627291;border-radius:50%;color:#dce7ff;background:transparent;font-size:20px;cursor:pointer}.portfolio-arrow:hover{background:#fff;color:#17223f}.portfolio-all{margin-top:42px}.portfolio-button{display:inline-flex;align-items:center;gap:24px;border:1px solid #d9e4ff;color:#fff;padding:14px 23px;border-radius:6px;font-size:13px;font-weight:750;transition:background .2s,color .2s}.portfolio-button:hover{background:white;color:#17223f}.portfolio-page h1{font-size:clamp(48px,5vw,68px);letter-spacing:-.05em;line-height:1.05;margin:20px 0}.portfolio-page h1 em{font-family:Georgia,serif;font-weight:400;color:#5878cf}.portfolio-cta{background:#edf4ff;padding:60px 0;text-align:center}.portfolio-cta h2{font-size:35px;margin:0}.portfolio-cta p{color:#6f7d96;margin-bottom:24px}@media(max-width:950px){.portfolio-carousel .showcase-card{flex-basis:calc((100% - 36px)/3)}}@media(max-width:700px){.portfolio-home{padding:75px 0}.carousel-shell{grid-template-columns:32px minmax(0,1fr) 32px;gap:8px}.portfolio-arrow{width:32px;height:32px}.portfolio-carousel .showcase-card{flex-basis:calc((100% - 12px)/2)}.portfolio-carousel{gap:12px}.portfolio-heading p{margin-bottom:30px}}@media(max-width:430px){.portfolio-carousel .showcase-card{flex-basis:90%}}
/* Trading technology and Primasta Trade OS */
.trading-section{background:#f7faff}.trading-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:46px}.trading-intro p{color:#6d7d96;font-size:16px;line-height:1.9;max-width:530px}.trading-grid{display:grid;grid-template-columns:.8fr 1fr;gap:24px}.trading-features{display:flex;flex-direction:column;justify-content:center;gap:14px}.trading-features article{display:flex;gap:20px;align-items:flex-start;padding:24px;background:white;border:1px solid #e4ebf6;border-radius:18px}.trading-features article>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:#edf3ff;color:#3153b0;font-size:11px;font-weight:800}.trading-features h3{font-size:16px;margin:0 0 5px}.trading-features p{font-size:13px;line-height:1.7;color:#78869a;margin:0}.trade-os{background:radial-gradient(circle at 90% 10%,#3052a5 0,transparent 40%),#142553;color:white;border-radius:22px;padding:35px;overflow:hidden}.trade-os-top{display:flex;justify-content:space-between;gap:10px;color:#a9c1f1;font-size:9px;letter-spacing:.15em;font-weight:800}.trade-os-mark{width:55px;height:55px;border:1px solid #8eabef;border-radius:17px;display:flex;align-items:center;justify-content:center;margin:40px 0 24px;font-size:28px;font-weight:800}.trade-os-mark span{font-size:14px;color:#a8c9ff}.trade-os h3{font-size:clamp(38px,4vw,56px);letter-spacing:-.05em;line-height:1.05;margin:0 0 18px}.trade-os h3>span{color:#8ab5ff}.trade-os>p,.trade-os-access p{color:#c6d4ef;line-height:1.8;font-size:14px;max-width:470px}.trade-os-tags{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0 35px}.trade-os-tags span{border:1px solid #ffffff35;border-radius:50px;padding:7px 11px;color:#c3d6fa;font-size:9px;font-weight:800;letter-spacing:.09em}.trade-os-access{border-top:1px solid #ffffff2b;padding-top:25px}.trade-os-access strong{font-size:15px}.trade-os-access p{margin:6px 0 18px}.trade-os-button{background:white;color:#1b3886}.trade-os-button:hover{background:#e8f1ff}.nav nav{gap:17px}@media(max-width:1000px){.nav nav{gap:10px;font-size:12px}}@media(max-width:700px){.trading-intro,.trading-grid{grid-template-columns:1fr;gap:20px}.trading-intro{margin-bottom:28px}.trade-os{padding:25px}.trade-os-mark{margin-top:32px}.nav nav{font-size:13px}}
/* Original Trade OS branding and product screenshots */
.trade-os-logo{width:min(100%,320px);height:100px;overflow:hidden;margin:22px 0 12px;display:flex;align-items:center}.trade-os-logo img{width:100%;height:auto;display:block}.trading-showcase{margin-top:76px}.trading-showcase-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:26px}.trading-showcase-head h3{font-size:32px;letter-spacing:-.04em;margin:8px 0 0}.trading-showcase-head p{font-size:14px;line-height:1.7;color:#718098;max-width:390px;margin:0}.trading-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.trading-shot{background:#fff;border:1px solid #e2eaf5;border-radius:16px;overflow:hidden;box-shadow:0 8px 22px #1c386509}.trading-shot>a{display:flex;background:#101a2c;align-items:center;justify-content:center;aspect-ratio:1.7;overflow:hidden}.trading-shot img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s}.trading-shot:hover img{transform:scale(1.025)}.trading-shot>div{padding:22px}.trading-shot span{font-size:9px;letter-spacing:.13em;font-weight:800;color:#5575c3}.trading-shot h4{font-size:17px;margin:8px 0}.trading-shot p{font-size:13px;line-height:1.7;color:#738198;margin:0}@media(max-width:700px){.trading-showcase{margin-top:50px}.trading-showcase-head{display:block}.trading-showcase-head p{margin-top:12px}.trading-gallery{grid-template-columns:1fr}.trade-os-logo{width:min(100%,270px);height:90px}}
/* Optional analytics consent and website assistant */
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.privacy-banner{position:fixed;z-index:100;bottom:18px;left:18px;width:min(540px,calc(100% - 36px));background:#fff;border:1px solid #dce5f3;border-radius:14px;padding:20px;box-shadow:0 15px 48px #14244a33}.privacy-banner strong{font-size:15px}.privacy-banner p{font-size:12px;color:#697a92;line-height:1.6;margin:7px 0 14px}.privacy-actions{display:flex;gap:8px;flex-wrap:wrap}.privacy-actions button{border:1px solid #2d4da5;background:#2d4da5;color:white;padding:10px 14px;border-radius:7px;font-weight:700;cursor:pointer}.privacy-actions button+button{background:white;color:#2d4da5}.privacy-settings{position:fixed;bottom:4px;left:6px;z-index:19;background:#fff;color:#576d92;border:1px solid #dbe5f2;border-radius:4px;font-size:10px;padding:5px 7px;cursor:pointer}.pt-chat{position:fixed;right:22px;bottom:88px;z-index:70}.pt-chat-toggle{border:0;border-radius:50px;padding:13px 18px;background:#26479f;color:white;font-weight:750;box-shadow:0 9px 25px #1a398950;cursor:pointer}.pt-chat-window{position:absolute;right:0;bottom:54px;width:min(370px,calc(100vw - 32px));background:#fff;border:1px solid #dce6f3;border-radius:17px;box-shadow:0 20px 60px #12234d36;overflow:hidden}.pt-chat-head{display:flex;justify-content:space-between;background:#1a326e;color:#fff;padding:17px}.pt-chat-head small{display:block;color:#c0d1f6;font-size:11px}.pt-chat-head button{border:0;background:transparent;color:#fff;font-size:24px;cursor:pointer}.pt-chat-log{height:270px;overflow:auto;padding:15px;background:#f5f8fd}.pt-bubble{background:#fff;border:1px solid #e4eaf4;border-radius:12px;padding:11px 13px;margin:0 25px 10px 0;font-size:13px;color:#354762;white-space:pre-wrap}.pt-bubble.pt-user{background:#e6efff;border:0;margin:0 0 10px 25px}.pt-chat-quick{display:flex;gap:6px;padding:10px 12px;flex-wrap:wrap}.pt-chat-quick button{background:#eef3ff;border:0;border-radius:20px;padding:7px 10px;color:#3759aa;font-size:11px;cursor:pointer}#pt-chat-form{display:flex;padding:0 12px 8px;gap:8px}#pt-chat-form input{min-width:0;flex:1;border:1px solid #dbe5f1;border-radius:8px;padding:10px;font:inherit;font-size:13px}#pt-chat-form button{width:42px;border:0;border-radius:8px;background:#294ba5;color:white;font-size:20px;cursor:pointer}.pt-chat-foot{display:block;padding:0 12px 10px;color:#8490a2;font-size:10px}@media(max-width:700px){.pt-chat{right:16px;bottom:76px}.pt-chat-toggle{padding:12px}.pt-chat-log{height:220px}}
