:root{--ink:#0f2342;--muted:#4c678f;--brand:#1f65f2;--line:#d4e3ff;--bg:#f7fbff}*{box-sizing:border-box}html,body{margin:0}body{font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65}.wrap{max-width:1180px;margin:0 auto;padding:24px}.topnav{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;margin:0;padding:14px 28px;background:#ffffff;backdrop-filter:none;border:none;border-radius:0;box-shadow:0 6px 18px rgba(16,37,66,.08)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#123c86;font-weight:800;font-size:1.55rem;line-height:1}.brand img{width:52px;height:52px}nav{display:flex;gap:14px;flex-wrap:wrap}nav a{text-decoration:none;color:#2b57a4;font-weight:700;font-size:1.02rem;line-height:1}.btn{display:inline-block;background:var(--brand);color:#fff;text-decoration:none;padding:12px 18px;border-radius:12px;font-weight:700;box-shadow:0 8px 18px rgba(31,101,242,.28);font-size:1rem}.btn.ghost{background:#fff;color:#2456a8;border:1px solid #9fc0ff;box-shadow:none;font-weight:700}.page-hero{margin-bottom:0;background:radial-gradient(1000px 480px at 85% -15%,#deecff 0%,#f7fbff 60%);border-bottom:1px solid var(--line);padding-top:100px;padding-bottom:100px;letter-spacing:.08em;font-weight:800;color:#2d67e8}.page-hero h1{font-size:3rem;line-height:1.08;margin:.4rem 0 1rem;max-width:16ch;color:#0d3477}.page-hero p{max-width:78ch;color:#26476f;font-size:1.15rem;line-height:1.72}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.feature-hero{position:relative;padding:34px 0;border-top:2px solid #cfdff9}.feature-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#ffffff 0%,#f3f8ff 100%)}.feature-hero.overview::before{background:linear-gradient(180deg,#ffffff,#f3f8ff)}.feature-hero.team::before{background:linear-gradient(180deg,#ffffff,#f3f8ff)}.feature-hero.projects::before{background:linear-gradient(180deg,#f3f9ff,#e7f1ff)}.feature-hero.automations::before{background:linear-gradient(180deg,#ffffff,#f3f8ff)}.feature-hero.history::before{background:linear-gradient(180deg,#f3f9ff,#e7f1ff)}.feature-hero.office::before{background:linear-gradient(180deg,#ffffff,#f3f8ff)}.split{display:grid;grid-template-columns:1fr 1.02fr;gap:18px;align-items:center}.split.reverse{grid-template-columns:1.02fr 1fr}.split.reverse>div{order:2}.split.reverse>figure{order:1}.kicker{font-size:.8rem;font-weight:800;letter-spacing:.08em;color:#2f69e9}.split h2{font-size:2.05rem;line-height:1.15;margin:.35rem 0 .8rem;color:#123f89;font-weight:800}.split p{color:#1f3e66}.split ul{padding-left:18px;margin:.5rem 0 0}.split li{margin:.35rem 0;color:#23456f}.split figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:0 12px 24px rgba(20,85,190,.1)}.split img{width:100%;display:block;border-radius:10px}.section-head h2,section>h2{font-size:2rem;margin:0 0 .6rem;color:#123f89}.glass{background:rgba(255,255,255,.78);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 26px rgba(20,85,190,.08)}.stat-stack{display:grid;gap:10px}.stat-stack article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}.stat-stack strong{display:block;color:#123f89}.cards-section .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cards article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 10px 20px rgba(20,85,190,.08)}.cards h4{margin:.2rem 0 .4rem}.cards strong{display:block;margin-top:.5rem;color:#123f89}.cta{margin:30px auto 40px;background:linear-gradient(170deg,#fff,#eef6ff);border:1px solid var(--line);border-radius:18px;text-align:center;box-shadow:0 14px 24px rgba(20,85,190,.1)}.cta h2{font-size:2rem;margin:.2rem 0 .6rem;color:#123f89}.cta p{color:#284a75;max-width:70ch;margin:0 auto 14px}section{margin:0}@media(max-width:980px){.page-hero h1{font-size:2.3rem;max-width:none}.split,.split.reverse{grid-template-columns:1fr}.split.reverse>div,.split.reverse>figure{order:initial}.cards-section .cards{grid-template-columns:1fr 1fr}}@media(max-width:680px){nav{display:none}.cards-section .cards{grid-template-columns:1fr}.page-hero h1{font-size:1.95rem}.topnav{position:static;width:100%;padding:12px 16px;background:#ffffff}}
.shot-gallery{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}.shot-gallery figure{min-width:min(760px,92vw);scroll-snap-align:start}.shot-gallery::-webkit-scrollbar{height:8px}.shot-gallery::-webkit-scrollbar-thumb{background:#c2d9ff;border-radius:999px}
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}
.gallery-arrow{border:1px solid #c5d9ff;background:#fff;color:#1f4ea3;border-radius:999px;width:38px;height:38px;cursor:pointer;font-weight:800;line-height:1;box-shadow:0 6px 14px rgba(20,85,190,.12)}
.gallery-dots{display:flex;gap:6px;align-items:center}
.gallery-dot{width:8px;height:8px;border-radius:999px;background:#c0d6ff;border:none;padding:0;cursor:pointer}
.gallery-dot.active{width:20px;border-radius:999px;background:#2c68e6}


.pricing-hero{background:linear-gradient(180deg,#f3f9ff,#e7f1ff)}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.price-card{background:#fff;border:1px solid #cfe1ff;border-radius:14px;padding:16px;box-shadow:0 10px 22px rgba(20,85,190,.08);position:relative}
.price-card h3{margin:.2rem 0 .3rem;color:#123f89}.price-card .price{font-size:1.8rem;font-weight:800;color:#17479a;margin:.2rem 0}.price-card .fit{color:#3a5b88;font-size:.95rem;margin:0 0 .6rem}.price-card ul{margin:.2rem 0 0;padding-left:18px;min-height:116px}.price-card li{margin:.3rem 0;color:#2a4b78}.price-card.featured{border-color:#8fb3ff;box-shadow:0 0 0 2px #dbe8ff inset,0 12px 24px rgba(20,85,190,.12)}.badge{position:absolute;top:12px;right:12px;display:inline-block;background:#e8f0ff;color:#17479a;border:1px solid #bcd2ff;border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:700;line-height:1}

@media(max-width:980px){.pricing-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.pricing-grid{grid-template-columns:1fr}}


/* Gallery layout fixes */
.shot-gallery{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none;-ms-overflow-style:none}
.shot-gallery::-webkit-scrollbar{display:none}
.shot-gallery figure{min-width:100%;scroll-snap-align:start}
.split>.gallery-controls{grid-column:2;justify-self:center}
.split.reverse>.gallery-controls{grid-column:1;justify-self:center}
.split.reverse>.shot-gallery{order:1}
.split.reverse>div:not(.shot-gallery):not(.gallery-controls){order:2}
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}
.gallery-arrow{border:1px solid #c5d9ff;background:#fff;color:#1f4ea3;border-radius:999px;width:38px;height:38px;cursor:pointer;font-weight:800;line-height:1;box-shadow:0 6px 14px rgba(20,85,190,.12)}
.gallery-dots{display:flex;gap:6px;align-items:center}
.gallery-dot{width:8px;height:8px;border-radius:999px;background:#c0d6ff;border:none;padding:0;cursor:pointer}
.gallery-dot.active{width:20px;border-radius:999px;background:#2c68e6}
figure.zoomable{cursor:zoom-in;overflow:hidden}
figure.zoomable img{transition:transform .3s ease,box-shadow .3s ease}
figure.zoomable:hover img{transform:scale(1.02);box-shadow:0 14px 24px rgba(20,85,190,.16)}
@media(max-width:980px){.split>.gallery-controls,.split.reverse>.gallery-controls{grid-column:1}}

.price-card{position:relative}

.faq-hero{background:linear-gradient(180deg,#ffffff,#f3f8ff)}
.faq-hero details{background:#fff;border:1px solid #d4e3ff;border-radius:12px;padding:12px 14px;margin:10px 0;box-shadow:0 8px 18px rgba(20,85,190,.06)}
.faq-hero summary{cursor:pointer;font-weight:700;color:#163f88;outline:none}
.faq-hero details p{margin:10px 0 0;color:#2a4f79}

.testimonials-hero{background:linear-gradient(180deg,#ffffff,#f3f8ff)}

.testimonial-gallery figure{min-width:100%}
.testimonial-slide{background:#fff !important;border:1px solid #d4e3ff !important;padding:26px;border-radius:16px;box-shadow:0 10px 20px rgba(20,85,190,.08)}
.testimonial-slide blockquote{margin:0}
.testimonial-slide p{margin:0 0 12px;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:1.35rem;line-height:1.5;color:#22436f}
.testimonial-slide cite{font-size:1rem;color:#4f6688;font-style:normal}

.lightbox{position:fixed;inset:0;background:rgba(10,20,40,.78);display:none;align-items:center;justify-content:center;z-index:200;padding:24px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1300px,94vw);max-height:88vh;border-radius:12px;border:1px solid #bcd4ff;box-shadow:0 20px 50px rgba(0,0,0,.45)}
.lightbox-close{position:absolute;top:18px;right:22px;background:#fff;border:none;border-radius:999px;width:36px;height:36px;font-size:24px;line-height:1;cursor:pointer}

.timeline-hero{background:linear-gradient(180deg,#f3f9ff,#e7f1ff)}
.timeline-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;position:relative;margin-top:12px}
.timeline-track::before{content:"";position:absolute;left:0;right:0;top:28px;height:2px;background:linear-gradient(90deg,#bcd3ff,#7ea8ff,#bcd3ff);z-index:0}
.timeline-step{position:relative;z-index:1;background:#fff;border:1px solid #cfe1ff;border-radius:14px;padding:16px 14px;box-shadow:0 10px 20px rgba(20,85,190,.08)}
.step-num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#1f63f0;color:#fff;font-weight:800;font-size:.9rem;margin-bottom:10px}
.timeline-step h3{margin:.2rem 0 .45rem;color:#153f8c}
.timeline-step p{margin:0;color:#2a4f79}
.mobile-sticky-cta{display:none;position:fixed;left:12px;right:12px;bottom:12px;background:#1f63f0;color:#fff;text-align:center;padding:12px 14px;border-radius:999px;text-decoration:none;font-weight:800;box-shadow:0 12px 24px rgba(31,99,240,.35);z-index:120}

@media(max-width:980px){.timeline-track{grid-template-columns:1fr 1fr}.timeline-track::before{display:none}}

@media(max-width:680px){.timeline-track{grid-template-columns:1fr}.mobile-sticky-cta{display:block}}

.section-header{font-size:2.1rem;letter-spacing:-0.01em;color:#123f89;margin:0 0 .45rem;font-weight:800}

.walkthrough-sub{margin:0 0 8px;color:#365884}


.site-footer{margin-top:24px;padding:18px 0;border-top:1px solid #d4e3ff;background:#f9fcff}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.footer-inner p{margin:0;font-weight:700;color:#21497f}.footer-links{display:flex;gap:14px;flex-wrap:wrap}.footer-links a{display:inline-flex;gap:7px;align-items:center;color:#2b57a4;text-decoration:none;font-weight:600}

main#top{padding-top:0}


.topnav .brand{margin-left:0}
.topnav > .btn{margin-right:0}

@media(max-width:680px){.topnav .brand{margin-left:0}.topnav > .btn{margin-right:0}}


.tone-g{background:linear-gradient(180deg,#f3f9ff,#e7f1ff)}

#overview-hero,#team-hero,#projects-hero,#automations-hero,#history-hero,#office-hero,#collab-hero,#case-studies,#faq,#testimonials,#pricing{padding-top:50px !important;padding-bottom:50px !important}

.gallery-counter{font-size:.86rem;color:#3a5886;font-weight:700;min-width:40px;text-align:center}

#overview-hero,#projects-hero,#history-hero,#case-studies,#testimonials,#faq{padding-top:58px!important;padding-bottom:58px!important}
#team-hero,#automations-hero,#office-hero,#collab-hero,#pricing{padding-top:50px!important;padding-bottom:50px!important}

.pricing-note{margin:12px 0 0;color:#355680;font-size:.95rem;font-weight:600}

.faq-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.mini-btn{border:1px solid #cfe0ff;background:#fff;color:#2b57a4;border-radius:10px;padding:8px 12px;font-weight:700;cursor:pointer}
.faq-hero details{transition:all .2s ease}

.footer-label{margin:0 0 6px;color:#4a648b;font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.footer-links svg{width:20px;height:20px}

.case-studies-hero{background:linear-gradient(180deg,#f3f9ff,#e7f1ff)}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.case-card{background:#fff;border:1px solid #cfe1ff;border-radius:14px;padding:16px;box-shadow:0 10px 22px rgba(20,85,190,.08)}
.case-label{margin:0 0 .4rem;color:#2f69e9;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.case-card h3{margin:.2rem 0 .6rem;color:#123f89}
.case-card p{margin:.2rem 0;color:#294d78}
.case-card ul{margin:.55rem 0 0;padding-left:18px}
.case-card li{margin:.36rem 0;color:#26476f}
@media(max-width:900px){.case-grid{grid-template-columns:1fr}}

/* UI polish pass */
body{font-family:"Manrope",Inter,system-ui,-apple-system,sans-serif}

nav a{position:relative;padding:8px 2px;border-radius:8px;transition:color .2s ease,background-color .2s ease}
nav a:hover{color:#123f89;background:#edf4ff}
nav a:focus-visible{outline:2px solid #7ea8ff;outline-offset:2px}
nav a::after{content:"";position:absolute;left:2px;right:2px;bottom:2px;height:2px;background:#2c68e6;transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
nav a:hover::after{transform:scaleX(1)}

.btn{transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(31,101,242,.32)}
.btn:focus-visible{outline:2px solid #7ea8ff;outline-offset:2px}

.section-intro{max-width:72ch;margin:.35rem 0 0;color:#2f507d}
.feature-hero .wrap > h2 + h2{margin-bottom:.3rem}

.faq-hero details[open]{border-color:#9fc0ff;box-shadow:0 10px 22px rgba(20,85,190,.1)}

.case-card{display:flex;flex-direction:column;gap:4px}
.case-result{display:inline-flex;align-self:flex-start;margin:0 0 .15rem;padding:4px 10px;border-radius:999px;border:1px solid #bcd2ff;background:#edf4ff;color:#194c9e;font-weight:800;font-size:.8rem}

.testimonial-slide{min-height:220px;display:flex;align-items:center}

section[id]{scroll-margin-top:96px}

@media(max-width:680px){
  nav{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:10px;padding-bottom:4px;scrollbar-width:none}
  nav::-webkit-scrollbar{display:none}
  nav a{white-space:nowrap;font-size:.92rem;padding:6px 10px}
  .topnav{flex-direction:column;align-items:flex-start;gap:10px}
  .topnav > .btn{align-self:stretch;text-align:center}
  section[id]{scroll-margin-top:12px}
}
