:root {
  --navy: #061735;
  --navy-2: #0a2556;
  --blue: #0d57e7;
  --blue-2: #2f72f4;
  --cyan: #46a7ff;
  --text: #0d1b35;
  --muted: #5f6f89;
  --line: #dfe7f3;
  --soft: #f4f7fc;
  --soft-blue: #edf4ff;
  --white: #ffffff;
  --success: #0eaa6f;
  --danger: #d53647;
  --shadow: 0 18px 50px rgba(6, 23, 53, .12);
  --shadow-sm: 0 8px 24px rgba(6, 23, 53, .08);
  --radius: 22px;
  --radius-sm: 14px;
  --container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
::selection { background: rgba(13,87,231,.2); }

.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }
.section { padding: 88px 0; }
.section-sm { padding: 56px 0; }
.bg-soft { background: var(--soft); }
.bg-blue-soft { background: var(--soft-blue); }
.text-blue { color: var(--blue); }
.text-center { text-align: center; }
.muted { color: var(--muted); }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  color: var(--blue);
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 28px; height: 3px; border-radius: 99px; background: var(--blue); }
.section-title { margin: 0 0 16px; font-size: clamp(32px, 4vw, 54px); line-height: 1.08; letter-spacing: -.035em; }
.section-lead { max-width: 700px; margin: 0; color: var(--muted); font-size: 18px; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 38px; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 0 22px;
  border-radius: 10px;
  border: 1px solid transparent;
  font-weight: 800;
  transition: .25s ease;
  white-space: nowrap;
}
.btn-primary { color: #fff; background: linear-gradient(135deg, var(--blue), #0b46c9); box-shadow: 0 9px 22px rgba(13,87,231,.23); }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(13,87,231,.3); }
.btn-outline { border-color: #aac3f8; color: var(--blue); background: #fff; }
.btn-outline:hover { background: var(--soft-blue); transform: translateY(-2px); }
.btn-dark { color:#fff; background: var(--navy); }
.btn-light { color: var(--blue); background: #fff; }
.btn-sm { min-height: 42px; padding-inline: 18px; font-size: 14px; }
.link-arrow { display: inline-flex; align-items:center; gap:8px; color:var(--blue); font-weight:800; font-size:14px; }
.link-arrow::after { content:"→"; transition:.2s; }
.link-arrow:hover::after { transform: translateX(4px); }

.topbar { background: var(--navy); color: #fff; font-size: 13px; }
.topbar-inner { min-height: 38px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.topbar-group { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.topbar a { opacity:.92; }
.topbar a:hover { opacity:1; color:#9bc5ff; }

.topbar-socials { display:flex; align-items:center; gap:8px; }
.topbar-socials .social-link { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.10); color:#fff; opacity:1; transition:background .2s ease, transform .2s ease, color .2s ease; }
.topbar-socials .social-link:hover { background:rgba(255,255,255,.20); color:#fff; transform:translateY(-1px); }
.topbar-socials .social-link svg { width:15px; height:15px; display:block; fill:currentColor; }
.site-header { position: sticky; top:0; z-index:1000; background:rgba(255,255,255,.96); backdrop-filter:blur(16px); border-bottom:1px solid rgba(223,231,243,.8); transition:.25s; }
.site-header.scrolled { box-shadow: 0 10px 30px rgba(6,23,53,.08); }
.navbar { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.brand { display:flex; align-items:center; gap:10px; min-width:210px; }
.brand img { width:185px; height:auto; }
.nav-links { display:flex; align-items:center; gap:25px; font-weight:700; font-size:15px; }
.nav-links > a, .nav-item > a { position:relative; padding:29px 0; }
.nav-links a.active, .nav-links a:hover { color:var(--blue); }
.nav-links > a::after, .nav-item > a::after { content:""; position:absolute; left:0; right:0; bottom:17px; height:2px; transform:scaleX(0); background:var(--blue); transition:.2s; }
.nav-links > a.active::after, .nav-links > a:hover::after, .nav-item:hover > a::after { transform:scaleX(1); }
.nav-item { position:relative; }
.dropdown { position:absolute; top:70px; left:-18px; width:265px; padding:12px; border-radius:14px; background:#fff; box-shadow:var(--shadow); border:1px solid var(--line); opacity:0; visibility:hidden; transform:translateY(10px); transition:.2s; }
.nav-item:hover .dropdown { opacity:1; visibility:visible; transform:none; }
.dropdown a { display:block; padding:10px 12px; border-radius:8px; font-size:14px; color:var(--text); }
.dropdown a:hover { background:var(--soft-blue); color:var(--blue); }
.nav-actions { display:flex; align-items:center; gap:10px; }
.nav-actions .nav-talk { border-color:#8fb0ef; }
.menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.menu-toggle span { display:block; width:20px; height:2px; background:var(--navy); margin:4px auto; }

.hero { position:relative; overflow:hidden; padding:72px 0 62px; background:linear-gradient(120deg,#fff 0%,#fff 49%,#eef5ff 100%); }
.hero::before { content:""; position:absolute; width:460px; height:460px; right:-180px; top:-150px; border-radius:50%; background:radial-gradient(circle,rgba(13,87,231,.2),transparent 67%); }
.hero-grid { display:grid; grid-template-columns: .95fr 1.25fr; gap:58px; align-items:center; position:relative; z-index:1; }
.hero h1 { margin:0 0 20px; font-size:clamp(44px,5.6vw,72px); line-height:1.04; letter-spacing:-.045em; }
.hero p { max-width:620px; font-size:18px; color:var(--muted); margin:0 0 28px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; }
.hero-visual { position:relative; }
.hero-visual img { width:100%; aspect-ratio:16/9; height:auto; object-fit:contain; object-position:center; border-radius:30px 0 30px 30px; box-shadow:var(--shadow); background:#f7f9fd; }
.hero-visual::before { content:""; position:absolute; inset:-22px -40px 35% 26%; z-index:-1; border-radius:40px; background:linear-gradient(135deg,var(--blue),var(--navy)); clip-path:polygon(18% 0,100% 0,100% 100%,0 100%); }
.hero-benefits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin-top:38px; padding:16px 18px; background:rgba(255,255,255,.94); border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow-sm); position:relative; z-index:2; }
.hero-benefit { display:flex; align-items:center; justify-content:center; gap:12px; min-width:0; padding:8px 20px; border-right:1px solid var(--line); font-weight:800; font-size:14px; text-align:left; }
.hero-benefit span:last-child { line-height:1.3; }
.hero-benefit:last-child { border:0; }
.mini-icon { flex:none; width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:var(--soft-blue); color:var(--blue); font-weight:900; font-size:12px; }

.page-hero { padding:56px 0; background:linear-gradient(125deg,#fff 0%,#fff 52%,#eef5ff 100%); }
.page-hero-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap:50px; align-items:center; }
.page-hero h1 { margin:0 0 15px; font-size:clamp(40px,5vw,66px); line-height:1.05; letter-spacing:-.04em; }
.page-hero p { color:var(--muted); font-size:18px; max-width:620px; }
.page-hero-image { border-radius:26px; overflow:hidden; box-shadow:var(--shadow); min-height:390px; }
.page-hero-image img { width:100%; height:100%; min-height:390px; object-fit:cover; }
.breadcrumbs { display:flex; gap:10px; align-items:center; margin-bottom:20px; color:var(--muted); font-size:14px; }
.breadcrumbs a:hover { color:var(--blue); }

.cards-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.card { background:#fff; border:1px solid var(--line); border-radius:var(--radius-sm); box-shadow:0 6px 22px rgba(6,23,53,.05); transition:.25s; }
.card:hover { transform:translateY(-5px); box-shadow:var(--shadow-sm); border-color:#c4d6f8; }
.service-card { padding:28px; min-height:280px; display:flex; flex-direction:column; }
.service-card .service-icon { width:56px; height:56px; display:grid; place-items:center; border-radius:16px; background:var(--soft-blue); color:var(--blue); font-weight:900; font-size:13px; margin-bottom:22px; }
.service-card h3 { margin:0 0 10px; font-size:21px; }
.service-card p { color:var(--muted); margin:0 0 22px; }
.service-card .link-arrow { margin-top:auto; }
.service-card.media { padding:0; overflow:hidden; }
.service-card.media .service-media { height:180px; object-fit:cover; width:100%; }
.service-card.media .service-body { padding:24px; display:flex; flex-direction:column; flex:1; }

.service-card-link { color:inherit; text-decoration:none; cursor:pointer; }
.service-card-link .link-arrow { color:var(--blue); font-weight:800; }
.service-card-link:focus-visible { outline:3px solid rgba(31,101,255,.35); outline-offset:4px; }

.stats-bar { background:linear-gradient(100deg,var(--navy),#0a2d6e); color:#fff; border-radius:20px; padding:30px; display:grid; grid-template-columns:repeat(4,1fr); box-shadow:var(--shadow-sm); }
.stat { display:flex; align-items:center; justify-content:center; gap:17px; padding:0 22px; border-right:1px solid rgba(255,255,255,.18); }
.stat:last-child { border:0; }
.stat-icon { width:58px; height:58px; border:1px solid rgba(255,255,255,.35); border-radius:50%; display:grid; place-items:center; font-weight:900; }
.stat strong { font-size:31px; line-height:1; display:block; }
.stat small { display:block; margin-top:6px; opacity:.83; }

.split-grid { display:grid; grid-template-columns:1fr 1fr; gap:54px; align-items:center; }
.image-frame { border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); position:relative; }
.image-frame img { width:100%; min-height:450px; height:100%; object-fit:cover; }
.check-list { list-style:none; padding:0; margin:24px 0 0; display:grid; gap:15px; }
.check-list li { display:flex; gap:12px; align-items:flex-start; color:var(--muted); }
.check-list li::before { content:"✓"; width:24px; height:24px; border-radius:50%; background:var(--blue); color:#fff; display:grid; place-items:center; flex:none; font-size:13px; font-weight:900; }
.check-list strong { color:var(--text); display:block; }

.value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.value-card { padding:25px; background:#fff; border:1px solid var(--line); border-radius:16px; }
.value-card .mini-icon { margin-bottom:15px; }
.value-card h3 { margin:0 0 7px; }
.value-card p { margin:0; color:var(--muted); }
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.team-card { overflow:hidden; text-align:center; }
.team-avatar { height:230px; display:grid; place-items:center; background:linear-gradient(145deg,#eff4fb,#dce8fb); color:var(--blue); font-size:54px; font-weight:900; }
.team-card .body { padding:18px; }
.team-card h3 { margin:0; }
.team-card p { margin:4px 0 0; color:var(--muted); font-size:14px; }

.feature-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:0; padding:22px 10px; border:1px solid var(--line); border-radius:18px; background:var(--soft); }
.feature-strip-item { display:flex; align-items:center; gap:15px; padding:0 25px; border-right:1px solid var(--line); }
.feature-strip-item:last-child { border:0; }
.feature-strip-item strong { display:block; }
.feature-strip-item span:last-child { color:var(--muted); font-size:13px; }

.detail-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:26px; }
.panel { background:#fff; border:1px solid var(--line); border-radius:18px; padding:30px; }
.process { display:grid; gap:20px; }
.process-step { display:grid; grid-template-columns:42px 1fr; gap:14px; position:relative; }
.process-step:not(:last-child)::after { content:""; position:absolute; left:20px; top:44px; bottom:-20px; border-left:2px dashed #b9cdf4; }
.process-number { width:42px; height:42px; border-radius:50%; background:var(--blue); color:#fff; display:grid; place-items:center; font-weight:900; position:relative; z-index:1; }
.process-step h4 { margin:0 0 4px; }
.process-step p { margin:0; color:var(--muted); }
.feature-list { list-style:none; padding:0; margin:0; columns:2; column-gap:28px; }
.feature-list li { break-inside:avoid; margin:0 0 13px; color:var(--muted); }
.feature-list li::before { content:"✓"; color:var(--blue); font-weight:900; margin-right:10px; }
.cta-panel { background:linear-gradient(145deg,var(--navy),#0b3a91); color:#fff; border-radius:20px; padding:34px; }
.cta-panel h3 { font-size:32px; line-height:1.12; margin:0 0 12px; }
.cta-panel p { color:rgba(255,255,255,.8); }
.cta-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }

.industry-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.industry-card { padding:26px; text-align:center; }
.industry-card .service-icon { margin:0 auto 18px; }
.industry-card h3 { margin:0 0 8px; }
.industry-card p { color:var(--muted); margin:0; }

.project-filters { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; }
.filter-btn { border:1px solid var(--line); background:#fff; color:var(--text); padding:10px 16px; border-radius:999px; font-weight:750; }
.filter-btn.active, .filter-btn:hover { background:var(--blue); color:#fff; border-color:var(--blue); }
.projects-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.project-card { overflow:hidden; }
.project-card img { width:100%; height:310px; object-fit:cover; }
.project-card .body { padding:20px; }
.project-card h3 { margin:0 0 5px; }
.project-card p { margin:0; color:var(--muted); font-size:14px; }
.project-card.hidden { display:none; }

.blog-layout { display:grid; grid-template-columns:1fr 330px; gap:34px; }
.posts { display:grid; gap:22px; }
.post-card { display:grid; grid-template-columns:260px 1fr; overflow:hidden; }
.post-card img { width:100%; height:100%; min-height:220px; object-fit:cover; }
.post-card .body { padding:25px; }
.post-meta { color:var(--blue); font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.post-card h2 { margin:8px 0; font-size:25px; }
.post-card p { color:var(--muted); }
.sidebar-card { padding:24px; margin-bottom:20px; }
.sidebar-card h3 { margin-top:0; }
.category-list { list-style:none; padding:0; margin:0; }
.category-list li { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--line); }

.contact-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:32px; }
.contact-cards { display:grid; gap:16px; }
.contact-card { display:flex; gap:16px; padding:20px; }
.contact-card h3 { margin:0 0 3px; }
.contact-card p, .contact-card a { color:var(--muted); margin:0; }
.form-card { padding:30px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-group { display:grid; gap:7px; }
.form-group.full { grid-column:1 / -1; }
.form-group label { font-weight:750; font-size:14px; }
.form-control { width:100%; border:1px solid #ccd8eb; border-radius:10px; padding:13px 14px; outline:none; transition:.2s; background:#fff; }
.form-control:focus { border-color:var(--blue); box-shadow:0 0 0 4px rgba(13,87,231,.1); }
textarea.form-control { min-height:145px; resize:vertical; }
.form-note { font-size:13px; color:var(--muted); }
.form-message { display:none; margin-top:15px; padding:12px 14px; border-radius:9px; font-weight:700; }
.form-message.success { display:block; background:#e9fbf4; color:#08784f; }
.form-message.error { display:block; background:#fff0f2; color:#a72234; }
.map-placeholder { height:330px; border-radius:18px; background:linear-gradient(135deg,#e7eef9,#d5e3f8); display:grid; place-items:center; text-align:center; color:var(--muted); border:1px solid var(--line); }

.faq-list { max-width:900px; margin-inline:auto; display:grid; gap:13px; }
.faq-item { border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#fff; }
.faq-question { width:100%; border:0; background:#fff; padding:20px 22px; display:flex; justify-content:space-between; gap:20px; text-align:left; font-weight:850; color:var(--text); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.faq-answer p { padding:0 22px 20px; margin:0; color:var(--muted); }
.faq-item.open .faq-answer { max-height:240px; }
.faq-item.open .faq-question { color:var(--blue); }

.logo-strip { display:flex; gap:20px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.logo-pill { min-width:150px; flex:1; padding:18px; border:1px solid var(--line); border-radius:12px; text-align:center; color:#7d899d; font-weight:900; }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.testimonial { padding:28px; }
.stars { color:#ffb21a; letter-spacing:3px; }
.testimonial p { color:var(--muted); }
.testimonial strong { display:block; }
.testimonial small { color:var(--muted); }

.big-cta { background:linear-gradient(105deg,var(--navy),#0c45b8); color:#fff; border-radius:26px; padding:50px; display:flex; align-items:center; justify-content:space-between; gap:30px; overflow:hidden; position:relative; }
.big-cta::after { content:""; position:absolute; width:300px; height:300px; border-radius:50%; right:-80px; top:-170px; border:50px solid rgba(255,255,255,.06); }
.big-cta h2 { margin:0 0 8px; font-size:38px; }
.big-cta p { margin:0; color:rgba(255,255,255,.8); }
.big-cta .cta-actions { margin:0; position:relative; z-index:1; }


.consultation-section { overflow:hidden; }
.consultation-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:52px; align-items:center; }
.consultation-copy .section-lead { max-width:650px; }
.consultation-list { margin-top:28px; }
.consultation-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.consultation-video-card { position:relative; background:var(--navy); border-radius:24px; padding:14px; box-shadow:var(--shadow); overflow:hidden; }
.video-badge { position:absolute; z-index:2; top:28px; left:28px; padding:9px 12px; border-radius:999px; background:rgba(3,18,46,.82); color:#fff; font-size:11px; font-weight:900; letter-spacing:.08em; backdrop-filter:blur(8px); }
.consultation-video { width:100%; aspect-ratio:16/9; display:block; border-radius:16px; background:#06152f; object-fit:cover; }
.video-placeholder-note { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:15px 8px 4px; color:#fff; }
.video-placeholder-note strong { white-space:nowrap; }
.video-placeholder-note span { color:rgba(255,255,255,.7); font-size:13px; text-align:right; }
.video-placeholder-note code { color:#fff; }

.site-footer { background:var(--navy); color:#fff; margin-top:80px; }
.footer-main { padding:65px 0 45px; display:grid; grid-template-columns:1.15fr .8fr .9fr 1fr 1.15fr; gap:38px; }
.footer-brand img { width:185px; height:auto; display:block; }
.footer-brand p { color:rgba(255,255,255,.68); }
.socials { display:flex; gap:10px; }
.socials a { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.1); font-size:13px; font-weight:800; transition:background .2s ease, transform .2s ease; }
.socials a:hover { background:rgba(255,255,255,.18); transform:translateY(-2px); }
.socials a svg { width:18px; height:18px; display:block; fill:currentColor; }
.footer-col h4 { margin:0 0 18px; }
.footer-col a { display:block; color:rgba(255,255,255,.68); margin:9px 0; font-size:14px; }
.footer-col a:hover { color:#fff; }
.footer-contact { color:rgba(255,255,255,.72); font-size:14px; }
.footer-contact div { margin:10px 0; }
.footer-cta { background:linear-gradient(145deg,var(--blue),#0b47c5); padding:24px; border-radius:16px; }
.footer-cta h3 { margin-top:0; }
.footer-cta p { color:rgba(255,255,255,.76); font-size:14px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.13); padding:18px 0; color:rgba(255,255,255,.6); font-size:13px; display:flex; justify-content:space-between; gap:20px; }

.not-found { min-height:70vh; display:grid; place-items:center; text-align:center; color:#fff; background:radial-gradient(circle at 20% 20%,#174aa0,var(--navy) 60%); }
.not-found h1 { font-size:clamp(90px,18vw,220px); line-height:.8; margin:0; letter-spacing:-.08em; }
.not-found h2 { font-size:35px; margin:25px 0 10px; }
.not-found p { color:rgba(255,255,255,.75); max-width:500px; margin:0 auto 25px; }

.reveal { opacity:0; transform:translateY(22px); transition:.65s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 1080px) {
  .nav-links { gap:18px; font-size:14px; }
  .nav-actions .nav-quote { display:none; }
  .nav-actions .nav-talk { display:inline-flex; }
  .cards-grid { grid-template-columns:repeat(2,1fr); }
  .hero-grid, .page-hero-grid, .split-grid, .consultation-grid { grid-template-columns:1fr; }
  .hero-visual img { height:auto; }
  .hero-benefits { grid-template-columns:repeat(2,1fr); padding:14px; }
  .hero-benefit { justify-content:flex-start; padding:12px 18px; }
  .hero-benefit:nth-child(2) { border-right:0; }
  .hero-benefit:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .stats-bar { grid-template-columns:repeat(2,1fr); gap:24px 0; }
  .stat:nth-child(2) { border-right:0; }
  .value-grid { grid-template-columns:repeat(2,1fr); }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .feature-strip { grid-template-columns:repeat(2,1fr); gap:20px 0; }
  .feature-strip-item:nth-child(2) { border-right:0; }
  .industry-grid { grid-template-columns:repeat(2,1fr); }
  .projects-grid { grid-template-columns:repeat(2,1fr); }
  .footer-main { grid-template-columns:repeat(3,1fr); }
  .blog-layout, .contact-grid { grid-template-columns:1fr; }
}

@media (max-width: 820px) {
  .topbar { display:none; }
  .navbar { min-height:72px; }
  .brand { min-width:auto; }
  .brand img { width:160px; }
  .nav-actions .btn { display:none; }
  .menu-toggle { display:block; }
  .nav-links { position:fixed; inset:72px 16px auto; flex-direction:column; align-items:stretch; gap:0; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); padding:14px; opacity:0; visibility:hidden; transform:translateY(-10px); transition:.22s; }
  .nav-links.open { opacity:1; visibility:visible; transform:none; }
  .nav-links > a, .nav-item > a { padding:12px; display:block; }
  .nav-links > a::after, .nav-item > a::after { display:none; }
  .dropdown { position:static; width:auto; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; padding:0 0 0 14px; display:none; }
  .nav-item.open .dropdown { display:block; }
  .hero { padding-top:48px; }
  .hero h1 { font-size:48px; }
  .hero-visual img { height:auto; }
  .page-hero-image, .page-hero-image img { min-height:320px; }
  .section { padding:68px 0; }
  .section-head { align-items:start; flex-direction:column; }
  .detail-layout { grid-template-columns:1fr; }
  .feature-list { columns:1; }
  .testimonial-grid { grid-template-columns:1fr; }
  .big-cta { flex-direction:column; align-items:flex-start; padding:38px 28px; }
  .video-placeholder-note { align-items:flex-start; flex-direction:column; }
  .video-placeholder-note span { text-align:left; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .post-card { grid-template-columns:1fr; }
  .post-card img { min-height:250px; }
}

@media (max-width: 560px) {
  .container { width:min(100% - 28px,var(--container)); }
  .hero h1, .page-hero h1 { font-size:39px; }
  .hero p, .page-hero p { font-size:16px; }
  .hero-actions .btn, .consultation-actions .btn { width:100%; }
  .hero-visual img { height:auto; border-radius:18px; }
  .hero-benefits { grid-template-columns:1fr; }
  .hero-benefits { padding:10px 16px; }
  .hero-benefit { justify-content:flex-start; border-right:0; border-bottom:1px solid var(--line); padding:13px 0; }
  .hero-benefit:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .cards-grid, .value-grid, .team-grid, .industry-grid, .projects-grid { grid-template-columns:1fr; }
  .stats-bar { grid-template-columns:1fr; padding:25px; }
  .stat { justify-content:flex-start; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); padding:15px 0; }
  .stat:last-child { border:0; }
  .feature-strip { grid-template-columns:1fr; }
  .feature-strip-item { border-right:0; border-bottom:1px solid var(--line); padding:16px 20px; }
  .feature-strip-item:last-child { border:0; }
  .form-grid { grid-template-columns:1fr; }
  .form-group.full { grid-column:auto; }
  .footer-main { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
  .big-cta h2 { font-size:30px; }
  .project-card img { height:280px; }
}

.anchor-target { display:block; position:relative; top:-110px; visibility:hidden; }
.industry-card[id] { scroll-margin-top:120px; }

/* Fix 07: richer service cards */
.service-card.media { min-height:0; }
.service-card.media .service-media { height:190px; object-fit:cover; object-position:center; transition:transform .45s ease; }
.service-card.media:hover .service-media { transform:scale(1.025); }
.service-card.media .service-body { min-height:255px; }

/* Fix 07: premium client feedback */
.feedback-section { background:linear-gradient(180deg,#fff 0%,#f7faff 100%); }
.feedback-heading { margin-bottom:34px; }
.feedback-heading .section-lead { max-width:760px; }
.feedback-layout { display:grid; grid-template-columns:1.08fr .92fr; gap:22px; align-items:stretch; }
.feedback-stack { display:grid; gap:22px; }
.feedback-card { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:22px; background:#fff; padding:30px; box-shadow:0 10px 34px rgba(6,23,53,.07); }
.feedback-featured { background:linear-gradient(145deg,var(--navy),#0a347f); color:#fff; padding:38px; display:flex; flex-direction:column; justify-content:space-between; min-height:100%; }
.feedback-top { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.feedback-quote-mark { font-family:Georgia,serif; font-size:68px; line-height:.75; color:var(--blue); font-weight:700; }
.feedback-featured .feedback-quote-mark { color:#69a2ff; }
.feedback-tag { display:inline-flex; align-items:center; border:1px solid #dce7fb; background:#f4f8ff; color:var(--blue); border-radius:999px; padding:7px 11px; font-size:11px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.feedback-featured .feedback-tag { border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.09); color:#fff; }
.feedback-quote { margin:24px 0 30px; color:#344158; font-size:18px; line-height:1.75; }
.feedback-featured .feedback-quote { color:#fff; font-size:24px; line-height:1.6; max-width:760px; }
.feedback-client { display:flex; align-items:center; gap:13px; padding-top:22px; border-top:1px solid #e4ebf7; }
.feedback-featured .feedback-client { border-color:rgba(255,255,255,.16); }
.feedback-avatar { width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:var(--soft-blue); color:var(--blue); font-weight:900; }
.feedback-featured .feedback-avatar { background:rgba(255,255,255,.12); color:#fff; }
.feedback-client strong,.feedback-client small { display:block; }
.feedback-client small { color:var(--muted); margin-top:3px; }
.feedback-featured .feedback-client small { color:rgba(255,255,255,.67); }

@media (max-width:1080px) {
  .feedback-layout { grid-template-columns:1fr; }
  .feedback-featured { min-height:auto; }
}
@media (max-width:600px) {
  .feedback-card,.feedback-featured { padding:24px; }
  .feedback-featured .feedback-quote { font-size:20px; }
  .feedback-top { align-items:center; }
}



/* Fix 11: About, Businesses, Projects and map refinements */
.page-hero-text { padding:72px 0; background:linear-gradient(135deg,#fff 0%,#f7faff 62%,#edf4ff 100%); }
.page-hero-text .container { max-width:1000px; }
.about-brand-title { display:flex; align-items:center; flex-wrap:wrap; gap:18px; }
.about-brand-title img { width:270px; height:auto; transform:translateY(3px); }
.about-office-image img { object-position:center 42%; }
.expertise-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.expertise-card { padding:30px; }
.expertise-card .mini-icon { margin-bottom:22px; }
.expertise-card h3 { margin:0 0 10px; font-size:21px; }
.expertise-card p { margin:0; color:var(--muted); }

.business-solution-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.business-solution-card { padding:28px; scroll-margin-top:120px; }
.business-solution-card .service-icon { width:auto; min-width:56px; height:42px; display:inline-grid; place-items:center; padding:0 12px; border-radius:12px; background:var(--soft-blue); color:var(--blue); font-weight:900; font-size:11px; margin-bottom:18px; }
.business-solution-card h3 { margin:0 0 8px; font-size:22px; }
.business-solution-card p { margin:0 0 20px; color:var(--muted); }
.service-chips { display:flex; flex-wrap:wrap; gap:8px; }
.service-chips a { padding:7px 10px; border-radius:999px; background:#f2f6fd; border:1px solid #dfe8f7; color:#345071; font-size:12px; font-weight:800; transition:.2s; }
.service-chips a:hover { background:var(--soft-blue); color:var(--blue); border-color:#b9cff8; }
.business-extra-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.business-extra-grid .panel { padding:34px; scroll-margin-top:120px; }
.business-extra-grid h2 { margin:0 0 12px; font-size:30px; line-height:1.15; }

.projects-hero { padding:46px 0 20px; background:linear-gradient(180deg,#fff,#f7faff); }
.projects-hero-card { position:relative; border-radius:28px; overflow:hidden; min-height:500px; box-shadow:var(--shadow); background:var(--navy); }
.projects-hero-card > img { width:100%; height:500px; object-fit:cover; }
.projects-hero-card::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,17,43,.90) 0%,rgba(3,17,43,.62) 42%,rgba(3,17,43,.12) 78%); }
.projects-hero-overlay { position:absolute; z-index:2; left:clamp(28px,5vw,72px); bottom:clamp(34px,5vw,70px); max-width:660px; color:#fff; }
.projects-hero-overlay .eyebrow.light { color:#9fc2ff; }
.projects-hero-overlay .eyebrow.light::before { background:#6ba2ff; }
.projects-hero-overlay h1 { margin:0 0 14px; font-size:clamp(42px,5vw,70px); line-height:1.02; letter-spacing:-.045em; }
.projects-hero-overlay h1 span { color:#73a7ff; }
.projects-hero-overlay p { margin:0; color:rgba(255,255,255,.78); font-size:18px; }
.placeholder-projects { align-items:stretch; }
.project-placeholder-card { overflow:hidden; min-height:350px; }
.project-placeholder-card:hover { transform:none; border-color:var(--line); box-shadow:0 6px 22px rgba(6,23,53,.05); }
.project-placeholder-media { height:280px; display:grid; place-items:center; align-content:center; gap:6px; background:linear-gradient(145deg,#f1f5fb,#e6eef9); color:#8aa0bd; border-bottom:1px solid var(--line); }
.project-placeholder-media span { width:56px; height:56px; display:grid; place-items:center; border:1px dashed #a8bad3; border-radius:16px; font-weight:900; color:#6d84a4; }
.project-placeholder-media small { font-weight:800; text-transform:uppercase; letter-spacing:.08em; font-size:10px; }
.project-placeholder-body { min-height:68px; background:#fff; }

.map-embed { overflow:hidden; border-radius:18px; border:1px solid var(--line); background:#fff; box-shadow:var(--shadow-sm); }
.map-embed iframe { display:block; width:100%; height:360px; border:0; }
.map-open-link { display:flex; align-items:center; justify-content:center; min-height:48px; padding:8px 14px; color:var(--blue); font-weight:800; font-size:14px; border-top:1px solid var(--line); background:#fff; }
.map-open-link:hover { background:var(--soft-blue); }

@media (max-width:1080px) {
  .expertise-grid { grid-template-columns:repeat(2,1fr); }
  .business-solution-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:820px) {
  .about-brand-title img { width:220px; }
  .projects-hero-card,.projects-hero-card > img { min-height:420px; height:420px; }
  .projects-hero-card::after { background:linear-gradient(0deg,rgba(3,17,43,.92) 0%,rgba(3,17,43,.35) 76%); }
  .projects-hero-overlay { right:28px; }
  .business-extra-grid { grid-template-columns:1fr; }
}
@media (max-width:560px) {
  .about-brand-title { gap:12px; }
  .about-brand-title img { width:190px; }
  .expertise-grid,.business-solution-grid { grid-template-columns:1fr; }
  .projects-hero { padding-top:24px; }
  .projects-hero-card,.projects-hero-card > img { min-height:390px; height:390px; }
  .projects-hero-overlay p { font-size:15px; }
  .project-placeholder-media { height:235px; }
  .map-embed iframe { height:300px; }
}

/* Fix 13: polished footer brand + live website project cards */
.footer-logo-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  padding:12px 16px;
  margin-bottom:14px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(255,255,255,.38);
  box-shadow:0 14px 34px rgba(0,0,0,.18), inset 0 0 0 1px rgba(9,70,190,.04);
}
.footer-brand .footer-logo-badge img {
  display:block;
  width:210px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
.footer-logo-badge:hover { transform:translateY(-2px); }

.portfolio-projects { align-items:stretch; }
.portfolio-project-card { overflow:hidden; padding:0; background:#fff; border:1px solid #dfe7f3; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.portfolio-project-card:hover { transform:translateY(-5px); border-color:#bfd2f4; box-shadow:0 20px 44px rgba(5,29,70,.12); }
.project-browser { display:block; background:#eef3f9; color:inherit; border-bottom:1px solid var(--line); }
.project-browser-bar { height:42px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; padding:0 14px; background:linear-gradient(180deg,#fbfcfe,#f0f4f9); border-bottom:1px solid #dce5f0; }
.browser-dots { display:flex; gap:5px; align-items:center; }
.browser-dots i { width:8px; height:8px; border-radius:50%; background:#b6c3d3; display:block; }
.browser-address { min-width:0; height:25px; display:flex; align-items:center; justify-content:center; padding:0 12px; border-radius:7px; background:#fff; border:1px solid #dfe6ef; color:#60728a; font-size:11px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.browser-open { color:#55708f; font-weight:900; font-size:15px; }
.project-screenshot-wrap { position:relative; overflow:hidden; aspect-ratio:16/10; background:#e9eff7; }
.project-live-screenshot { display:block; width:100%; height:100%; object-fit:cover; object-position:top center; transition:transform .45s ease; }

.project-slider { position:relative; width:100%; height:100%; }
.project-slides { position:relative; width:100%; height:100%; }
.project-slide { position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .45s ease; }
.project-slide.is-active { opacity:1; position:absolute; inset:0; pointer-events:auto; }
.project-slider-btn { position:absolute; top:50%; transform:translateY(-50%); width:34px; height:34px; border:none; border-radius:50%; background:rgba(8,26,61,.72); color:#fff; font-size:22px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:2; transition:background .2s ease, transform .2s ease, opacity .2s ease; opacity:.88; }
.project-slider-btn:hover { background:rgba(8,26,61,.92); }
.project-slider-btn.prev { left:12px; }
.project-slider-btn.next { right:12px; }
.project-slider-dots { position:absolute; left:50%; bottom:12px; transform:translateX(-50%); display:flex; gap:8px; z-index:2; }
.project-slider-dots button { width:9px; height:9px; padding:0; border:none; border-radius:50%; background:rgba(255,255,255,.55); cursor:pointer; box-shadow:0 0 0 1px rgba(8,26,61,.18); }
.project-slider-dots button.is-active { background:#fff; box-shadow:0 0 0 2px rgba(33,97,255,.28); }
@media (max-width:560px) {
  .project-slider-btn { width:30px; height:30px; font-size:20px; }
}

.portfolio-project-card:hover .project-live-screenshot { transform:scale(1.025); }
.portfolio-project-body { padding:24px 24px 26px; }
.project-meta-row { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:14px; }
.project-pill { display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; background:var(--soft-blue); color:var(--blue); font-size:11px; font-weight:900; letter-spacing:.03em; }
.project-status { display:inline-flex; align-items:center; gap:6px; color:#2b7a55; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.project-status::before { content:""; width:7px; height:7px; border-radius:50%; background:#35a96d; box-shadow:0 0 0 4px rgba(53,169,109,.10); }
.project-status.in-progress { color:#b56b00; }
.project-status.in-progress::before { background:#f0a11a; box-shadow:0 0 0 4px rgba(240,161,26,.12); }
.portfolio-project-body h3 { margin:0 0 10px; font-size:25px; line-height:1.15; color:var(--navy); }
.portfolio-project-body p { margin:0 0 20px; color:#64758d; font-size:14px; line-height:1.7; }
.project-live-link { display:inline-flex; align-items:center; gap:8px; color:var(--blue); font-weight:900; font-size:14px; }
.project-live-link span { transition:transform .2s ease; }
.project-live-link:hover span { transform:translate(2px,-2px); }

@media (max-width:560px) {
  .footer-brand .footer-logo-badge img { width:190px; }
  .portfolio-project-body { padding:20px; }
  .portfolio-project-body h3 { font-size:22px; }
}


/* Fix 18: keep full screenshots visible inside project sliders */
.portfolio-project-card .project-slider .project-slide {
  background:#f7f9fc;
  display:flex;
  align-items:center;
  justify-content:center;
}
.portfolio-project-card .project-slider .project-live-screenshot {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  background:#f7f9fc;
  transform:none !important;
}
.portfolio-project-card:hover .project-slider .project-live-screenshot {
  transform:none !important;
}


.project-screenshot-wrap.project-screenshot-contain {
  aspect-ratio:16/9;
  background:#f7f9fc;
}
@media (max-width:560px) {
  .project-screenshot-wrap.project-screenshot-contain { aspect-ratio:16/9; }
}

/* Fix 19: Darine Shop portfolio slider */
.project-slider-dots { max-width:80%; justify-content:center; flex-wrap:wrap; row-gap:5px; }

/* Fix 22: professional fullscreen project image viewer for non-linked projects */
.project-browser:not(a) .project-live-screenshot {
  cursor: zoom-in;
}
.project-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: rgba(3, 10, 24, .88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.project-lightbox.is-open { display: flex; }
.project-lightbox-dialog {
  position: relative;
  width: min(94vw, 1680px);
  height: min(92vh, 980px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 22px;
  background: #0b1527;
  box-shadow: 0 30px 90px rgba(0,0,0,.48);
}
.project-lightbox-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 64px;
  padding: 12px 16px 12px 22px;
  border-bottom: 1px solid rgba(255,255,255,.1);
  color: #fff;
}
.project-lightbox-title-wrap { min-width: 0; }
.project-lightbox-title {
  margin: 0;
  font-size: 18px;
  font-weight: 750;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.project-lightbox-subtitle {
  margin-top: 2px;
  color: rgba(255,255,255,.62);
  font-size: 12px;
}
.project-lightbox-close {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.project-lightbox-close:hover { background: rgba(255,255,255,.16); transform: scale(1.03); }
.project-lightbox-stage {
  position: relative;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px 72px;
  background:
    radial-gradient(circle at 50% 20%, rgba(44,111,255,.11), transparent 38%),
    #07111f;
}
.project-lightbox-image {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 16px 45px rgba(0,0,0,.35);
  user-select: none;
  -webkit-user-drag: none;
}
.project-lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 50%;
  background: rgba(9,23,44,.78);
  color: #fff;
  font-size: 31px;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(0,0,0,.24);
  transition: background .2s ease, transform .2s ease;
}
.project-lightbox-nav:hover { background: rgba(30,94,220,.92); }
.project-lightbox-prev { left: 16px; }
.project-lightbox-next { right: 16px; }
.project-lightbox-foot {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 58px;
  padding: 10px 20px;
  border-top: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.78);
}
.project-lightbox-counter {
  min-width: 54px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
}
.project-lightbox-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 7px;
  max-width: min(70vw, 680px);
}
.project-lightbox-dots button {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.28);
  cursor: pointer;
  transition: transform .2s ease, background .2s ease;
}
.project-lightbox-dots button.is-active {
  background: #fff;
  transform: scale(1.35);
}
body.project-lightbox-open { overflow: hidden; }
@media (max-width: 720px) {
  .project-lightbox { padding: 10px; }
  .project-lightbox-dialog { width: 100%; height: 94vh; border-radius: 16px; }
  .project-lightbox-stage { padding: 10px 44px; }
  .project-lightbox-nav { width: 38px; height: 38px; font-size: 25px; }
  .project-lightbox-prev { left: 6px; }
  .project-lightbox-next { right: 6px; }
  .project-lightbox-head { min-height: 56px; padding-left: 15px; }
  .project-lightbox-title { font-size: 16px; }
}

/* Fix 23: simplified cards + redesigned How We Deliver and Client Feedback */

/* Cards where text badges/icons were intentionally removed */
.service-card .service-body > h3 { margin-top:0; }
.industry-card { min-height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.business-solution-card > h3 { margin-top:0; }
.expertise-card > h3 { margin-top:0; }

/* How We Deliver */
.deliver-section {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 4% 3%, rgba(29,103,255,.08) 0 150px, transparent 151px),
    radial-gradient(circle at 98% 95%, rgba(29,103,255,.06) 0 165px, transparent 166px),
    linear-gradient(135deg,#f8fbff 0%,#eef5ff 52%,#f8fbff 100%);
}
.deliver-section::before,
.deliver-section::after {
  content:"";
  position:absolute;
  width:74px;
  height:74px;
  opacity:.35;
  background-image:radial-gradient(circle,#77a7ff 2px,transparent 2.5px);
  background-size:16px 16px;
  pointer-events:none;
}
.deliver-section::before { left:12px; top:150px; }
.deliver-section::after { right:32px; top:28px; }
.deliver-heading { text-align:center; max-width:760px; margin:0 auto 28px; }
.deliver-eyebrow { display:inline-flex; align-items:center; gap:14px; }
.deliver-eyebrow::before,
.deliver-eyebrow::after { content:""; width:42px; height:2px; background:var(--blue); border-radius:2px; }
.deliver-heading .section-title { margin-top:8px; margin-bottom:4px; font-size:clamp(36px,4vw,52px); }
.deliver-heading .section-lead { margin:0 auto; }
.deliver-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; position:relative; z-index:1; }
.deliver-card {
  min-height:122px;
  position:relative;
  display:flex;
  align-items:center;
  gap:24px;
  background:rgba(255,255,255,.92);
  border:1px solid #dce8fa;
  border-radius:18px;
  padding:20px 28px;
  box-shadow:0 9px 26px rgba(14,57,120,.07);
}
.deliver-icon-circle {
  width:78px;
  height:78px;
  flex:0 0 78px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#dff0ff;
}
.deliver-icon-circle img {
  width:42px;
  height:42px;
  display:block;
}
.deliver-copy { min-width:0; }
.deliver-card h3 { margin:0 0 8px; font-size:20px; color:#07163a; }
.deliver-card p { margin:0; color:#536785; font-size:16px; line-height:1.45; }

/* Client feedback */
.feedback-redesign {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 0 0, rgba(29,103,255,.06) 0 185px, transparent 186px),
    radial-gradient(circle at 100% 47%, rgba(29,103,255,.05) 0 130px, transparent 131px),
    linear-gradient(135deg,#fbfdff 0%,#f2f7ff 48%,#fbfdff 100%);
}
.feedback-redesign .container { position:relative; }
.feedback-heading-redesign { text-align:center; max-width:940px; margin:0 auto 34px; position:relative; }
.feedback-eyebrow { display:inline-flex; align-items:center; gap:14px; }
.feedback-eyebrow::before,
.feedback-eyebrow::after { content:""; width:44px; height:2px; background:var(--blue); border-radius:2px; }
.feedback-heading-redesign .section-title { font-size:clamp(38px,4vw,56px); margin:12px 0 10px; }
.feedback-heading-redesign .section-lead { margin:0 auto; max-width:760px; }
.feedback-script {
  position:absolute;
  right:-120px;
  top:34px;
  color:#8db7ff;
  font-family:"Segoe Script","Brush Script MT",cursive;
  font-size:25px;
  line-height:1.05;
  transform:rotate(-5deg);
  opacity:.78;
}
.feedback-side-note {
  position:absolute;
  left:-18px;
  top:84px;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding-left:20px;
  border-left:3px solid #5d9cff;
  color:#9babc3;
  text-transform:uppercase;
  font-size:13px;
  font-weight:800;
  letter-spacing:.05em;
}
.feedback-cards-redesign { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; position:relative; z-index:1; }
.feedback-review-card {
  display:flex;
  flex-direction:column;
  min-height:430px;
  background:#fff;
  border:1px solid #dce7f7;
  border-radius:22px;
  padding:30px 30px 26px;
  box-shadow:0 12px 35px rgba(16,55,112,.07);
}
.feedback-review-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.feedback-quote-text { color:#9cc2ff; font-family:Georgia,serif; font-size:68px; line-height:.7; font-weight:700; }
.feedback-tag {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#edf4ff;
  color:#0863e8;
  border-radius:999px;
  padding:8px 16px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  white-space:nowrap;
}
.feedback-stars { margin:19px 0 16px; color:#ffb400; letter-spacing:5px; font-size:21px; line-height:1; }
.feedback-review-copy { margin:0; color:#0a1837; font-size:19px; line-height:1.55; flex:1; }
.feedback-client-row {
  display:flex;
  align-items:center;
  gap:16px;
  border-top:1px solid #e5ecf6;
  padding-top:20px;
  margin-top:24px;
}
.feedback-client-photo {
  width:70px;
  height:70px;
  flex:0 0 70px;
  border-radius:50%;
  object-fit:contain;
  object-position:center;
  background:#fff;
  padding:4px;
  border:1px solid #dce7f5;
  box-shadow:0 4px 13px rgba(16,55,112,.08);
}
.feedback-client-row strong { display:block; color:#081633; font-size:17px; line-height:1.25; }
.feedback-client-row small { display:block; color:#536785; font-size:14px; margin-top:4px; }
.feedback-client-row span { display:block; color:#6f82a0; font-size:13px; margin-top:7px; }
.feedback-cta-strip {
  margin-top:26px;
}
.feedback-cta-strip {
  display:grid;
  grid-template-columns:1fr auto auto;
  align-items:center;
  gap:30px;
  border-radius:20px;
  background:linear-gradient(90deg,#eef5ff,#f8fbff);
  border:1px solid #e0ebfa;
  padding:20px 28px;
}
.feedback-cta-strip > div span,
.feedback-cta-strip > div strong { display:block; }
.feedback-cta-strip > div span { color:#233555; font-size:17px; }
.feedback-cta-strip > div strong { color:#081633; font-size:19px; margin-top:2px; }
.feedback-cta-strip .btn { min-width:190px; justify-content:center; }
.feedback-cta-strip em {
  color:#8bb4ff;
  font-family:"Segoe Script","Brush Script MT",cursive;
  font-size:18px;
  line-height:1.15;
  text-align:right;
  transform:rotate(-4deg);
}

@media (max-width:1200px) {
  .feedback-side-note,.feedback-script { display:none; }
}
@media (max-width:900px) {
  .deliver-grid { grid-template-columns:repeat(2,1fr); }
  .feedback-cards-redesign { grid-template-columns:1fr; }
  .feedback-review-card { min-height:auto; }
  .feedback-cta-strip { grid-template-columns:1fr auto; }
  .feedback-cta-strip em { display:none; }
}
@media (max-width:620px) {
  .deliver-grid { grid-template-columns:1fr; }
  .deliver-card { padding:20px 22px; gap:18px; }
  .feedback-review-card { padding:24px; }
  .feedback-heading-redesign .section-title { font-size:36px; }
  .feedback-cta-strip { grid-template-columns:1fr; }
  .feedback-cta-strip .btn { width:100%; }
}


/* Final: device clock + graceful image loading/offline states */
.device-clock {
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

.smart-load-image {
  background-color:#eef3f9;
}
.smart-load-image.image-loading {
  background-image:linear-gradient(100deg,#eaf0f7 20%,#f8fbff 38%,#eaf0f7 56%);
  background-size:220% 100%;
  animation:prefixImageShimmer 1.25s ease-in-out infinite;
}
.smart-load-image.image-loaded {
  animation:none;
}
.smart-load-image.image-load-error {
  animation:none;
  background:
    radial-gradient(circle at 50% 45%,rgba(35,105,255,.10),transparent 34%),
    linear-gradient(135deg,#f5f8fc,#eaf1fa);
  color:transparent;
}
@keyframes prefixImageShimmer {
  0% { background-position:100% 0; }
  100% { background-position:-100% 0; }
}
@media (prefers-reduced-motion:reduce) {
  .smart-load-image.image-loading { animation:none; background:#eef3f9; }
}
