:root {
  --ink:#0b1425;
  --muted:#667489;
  --line:#dfe7f0;
  --blue:#0b76f0;
  --cyan:#13bce5;
  --orange:#f28a00;
  --purple:#7c3ff2;
  --green:#159c78;
  --deep:#071426;
  --white:#fff;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:96px; }
body {
  margin:0;
  color:var(--ink);
  background:linear-gradient(180deg,#f8fbff 0,#fff 22%,#fffaf2 100%);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
button,input { font:inherit; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.wrap { width:min(1180px,calc(100% - 40px)); margin:0 auto; }

.site-nav {
  position:sticky;
  z-index:80;
  top:0;
  border-bottom:1px solid rgba(223,231,240,.92);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(18px);
  box-shadow:0 8px 28px rgba(14,31,55,.05);
}
.nav-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:11px; font-size:1.08rem; font-weight:950; }
.brand img { width:42px; height:42px; object-fit:contain; }
.main-links { display:flex; align-items:center; gap:26px; color:#59677a; font-size:.9rem; font-weight:780; }
.main-links a { padding:27px 0 24px; border-bottom:3px solid transparent; }
.main-links a:hover,.main-links a.active { color:var(--blue); }
.main-links a.active { border-bottom-color:var(--blue); }
.nav-actions { display:flex; align-items:center; gap:10px; }
.button {
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 20px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  font-weight:880;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease;
}
.button:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(14,34,60,.11); }
.button.primary { color:#fff; border-color:transparent; background:linear-gradient(135deg,#ff9700,#df6e00); box-shadow:0 15px 38px rgba(242,138,0,.2); }
.button.dark { color:#fff; border-color:#1b334c; background:var(--deep); }

.eyebrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 13px;
  border:1px solid #afe9f5;
  border-radius:999px;
  background:#ecfbfe;
  color:#087086;
  font-size:.74rem;
  font-weight:920;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.solutions-hero {
  min-height:calc(100vh - 76px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(390px,.83fr);
  gap:58px;
  align-items:center;
  padding:60px 0 64px;
}
.hero-copy h1 { max-width:720px; margin:20px 0 22px; font-size:clamp(3.2rem,5.9vw,5.55rem); line-height:.95; letter-spacing:-.065em; }
.hero-copy h1 span { color:var(--blue); }
.hero-copy > p { max-width:670px; margin:0; color:#5f6d80; font-size:1.12rem; font-weight:620; line-height:1.65; text-align:justify; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.hero-promises { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:30px 0 0; padding:0; list-style:none; }
.hero-promises li { padding:14px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.8); color:#637185; font-size:.75rem; font-weight:720; line-height:1.4; }
.hero-promises b { display:block; margin-bottom:3px; color:var(--ink); font-size:.82rem; }

.hero-stage {
  position:relative;
  min-height:650px;
  overflow:hidden;
  border:1px solid #b9d9f0;
  border-radius:36px;
  background:
    radial-gradient(circle at 72% 12%,rgba(20,189,229,.26),transparent 28%),
    linear-gradient(145deg,#eaf7ff,#f9fbff 46%,#eaf1ff);
  box-shadow:0 32px 90px rgba(23,67,108,.18);
}
.hero-stage::before { content:""; position:absolute; width:420px; height:420px; right:-170px; bottom:-160px; border:52px solid rgba(11,118,240,.08); border-radius:50%; }
.phone-shell {
  position:absolute;
  z-index:2;
  left:50%;
  top:45px;
  width:318px;
  padding:10px;
  transform:translateX(-42%) rotate(3deg);
  border:2px solid #aab3bf;
  border-radius:49px;
  background:linear-gradient(145deg,#f6f7f8,#878f99 42%,#e7eaed 63%,#757e88);
  box-shadow:0 28px 55px rgba(6,22,42,.25);
}
.phone-shell::before { content:""; position:absolute; z-index:3; top:17px; left:50%; width:96px; height:25px; transform:translateX(-50%); border-radius:18px; background:#07101d; }
.phone-screen { height:586px; overflow:hidden; border:6px solid #08111e; border-radius:39px; background:#fff; }
.phone-screen img { width:100%; height:100%; object-fit:contain; object-position:top; background:#fff; }
.goal-chip {
  position:absolute;
  z-index:4;
  min-width:176px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.85);
  border-radius:18px;
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 36px rgba(18,45,76,.15);
  backdrop-filter:blur(12px);
}
.goal-chip small { display:block; margin-bottom:4px; color:#8a98a9; font-size:.66rem; font-weight:860; letter-spacing:.06em; text-transform:uppercase; }
.goal-chip strong { font-size:.88rem; }
.chip-one { left:20px; top:125px; }
.chip-two { right:15px; top:247px; }
.chip-three { left:20px; bottom:98px; }
.stage-note { position:absolute; z-index:4; right:24px; bottom:25px; max-width:196px; color:#50657b; font-size:.73rem; font-weight:720; line-height:1.45; }

.section-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.58fr); gap:38px; align-items:end; margin-bottom:28px; }
.section-label { margin:0 0 8px; color:#09829b; font-size:.72rem; font-weight:920; letter-spacing:.13em; text-transform:uppercase; }
.section-heading h2 { margin:0; font-size:clamp(2.25rem,4.2vw,4rem); line-height:.98; letter-spacing:-.052em; }
.section-heading > p { margin:0; color:#6c7a8d; font-size:.92rem; font-weight:620; line-height:1.65; text-align:justify; }

.goal-index { padding:74px 0 86px; }
.goal-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.goal-card { position:relative; min-height:245px; display:flex; flex-direction:column; padding:22px; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:#fff; box-shadow:0 13px 38px rgba(20,45,75,.055); transition:transform .18s ease,box-shadow .18s ease; }
.goal-card:hover { transform:translateY(-4px); box-shadow:0 23px 52px rgba(19,43,72,.12); }
.goal-card::after { content:""; position:absolute; right:-45px; bottom:-55px; width:155px; height:155px; border:26px solid color-mix(in srgb,var(--goal) 13%,transparent); border-radius:50%; }
.goal-number { width:46px; height:46px; display:grid; place-items:center; border-radius:15px; background:color-mix(in srgb,var(--goal) 12%,#fff); color:var(--goal); font-weight:950; }
.goal-card h3 { margin:24px 0 8px; font-size:1.3rem; letter-spacing:-.025em; }
.goal-card p { margin:0; color:#748195; font-size:.82rem; font-weight:630; line-height:1.55; }
.goal-card span:last-child { position:relative; z-index:1; margin-top:auto; padding-top:20px; color:var(--goal); font-size:.78rem; font-weight:880; }

.solution-story { --accent:var(--blue); padding:96px 0; border-top:1px solid #e6edf4; }
.solution-story.alt { background:linear-gradient(180deg,#f7fbff,#fff); }
.solution-intro { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:54px; align-items:center; }
.solution-story.reverse .solution-copy { order:2; }
.solution-story.reverse .solution-visual { order:1; }
.solution-kicker { display:inline-flex; align-items:center; gap:8px; margin-bottom:16px; color:var(--accent); font-size:.75rem; font-weight:930; letter-spacing:.11em; text-transform:uppercase; }
.solution-kicker::before { content:""; width:28px; height:3px; border-radius:3px; background:var(--accent); }
.solution-copy h2 { margin:0 0 18px; font-size:clamp(2.45rem,4.5vw,4.35rem); line-height:.96; letter-spacing:-.058em; }
.solution-copy .lead { margin:0; color:#5f6e82; font-size:1.03rem; font-weight:620; line-height:1.72; text-align:justify; }
.solution-principle { margin:24px 0 0; padding:18px 20px; border-left:4px solid var(--accent); border-radius:0 16px 16px 0; background:color-mix(in srgb,var(--accent) 7%,#fff); color:#314156; font-size:.9rem; font-weight:700; line-height:1.55; }
.solution-visual { position:relative; min-height:560px; overflow:hidden; border:1px solid color-mix(in srgb,var(--accent) 28%,#dfe7f0); border-radius:32px; background:#0a1728; box-shadow:0 27px 70px rgba(17,44,76,.15); }
.editorial-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.82; }
.solution-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,15,29,.15),rgba(5,15,29,.42)); }
.solution-phone {
  position:absolute;
  z-index:2;
  top:34px;
  right:38px;
  width:260px;
  padding:8px;
  transform:rotate(2deg);
  border:2px solid #b9c0c8;
  border-radius:41px;
  background:linear-gradient(145deg,#f9fafb,#8b949f 42%,#eef0f2 62%,#7a838d);
  box-shadow:0 26px 58px rgba(1,10,23,.35);
}
.solution-phone::before { content:""; position:absolute; z-index:3; top:14px; left:50%; width:82px; height:21px; transform:translateX(-50%); border-radius:16px; background:#08111f; }
.solution-phone .screen { height:492px; overflow:hidden; border:5px solid #07111f; border-radius:33px; background:#fff; }
.solution-phone img { width:100%; height:100%; object-fit:contain; object-position:top; background:#fff; }
.visual-caption { position:absolute; z-index:3; left:24px; bottom:24px; width:260px; padding:17px 18px; border:1px solid rgba(255,255,255,.18); border-radius:18px; background:rgba(4,15,29,.8); color:#fff; backdrop-filter:blur(12px); }
.visual-caption small { display:block; margin-bottom:5px; color:#78e4ee; font-size:.65rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.visual-caption strong { display:block; font-size:.94rem; line-height:1.4; }

.solution-content { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.72fr); gap:34px; margin-top:48px; }
.how-card { padding:28px; border:1px solid var(--line); border-radius:26px; background:#fff; }
.how-card h3,.questions-card h3 { margin:0 0 20px; font-size:1.35rem; letter-spacing:-.025em; }
.steps { display:grid; gap:12px; }
.step { display:grid; grid-template-columns:46px 1fr; gap:14px; align-items:start; padding:15px; border-radius:17px; background:#f6f9fc; }
.step-number { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; background:color-mix(in srgb,var(--accent) 12%,#fff); color:var(--accent); font-size:.77rem; font-weight:950; }
.step strong { display:block; margin-bottom:4px; font-size:.91rem; }
.step p { margin:0; color:#748195; font-size:.79rem; font-weight:620; line-height:1.48; }
.questions-card { padding:28px; border:1px solid color-mix(in srgb,var(--accent) 24%,#dfe7f0); border-radius:26px; background:color-mix(in srgb,var(--accent) 5%,#fff); }
.mini-question { padding:15px 0; border-top:1px solid color-mix(in srgb,var(--accent) 14%,#e2e8ef); }
.mini-question:first-of-type { padding-top:0; border-top:0; }
.mini-question strong { display:block; margin-bottom:5px; font-size:.86rem; line-height:1.4; }
.mini-question p { margin:0; color:#647388; font-size:.78rem; font-weight:620; line-height:1.5; text-align:justify; }

.comparison { padding:96px 0; background:var(--deep); color:#fff; }
.comparison .section-label { color:#68dce9; }
.comparison .section-heading > p { color:#aab9c8; }
.comparison-table { overflow:auto; border:1px solid #274058; border-radius:28px; background:#0b1b2e; }
.comparison-row { min-width:880px; display:grid; grid-template-columns:1.15fr repeat(4,1fr); border-top:1px solid #223a51; }
.comparison-row:first-child { border-top:0; background:#10253b; }
.comparison-row > div { padding:18px 20px; border-left:1px solid #223a51; color:#bac7d3; font-size:.79rem; font-weight:630; line-height:1.45; }
.comparison-row > div:first-child { border-left:0; color:#fff; font-weight:850; }
.comparison-row strong { display:block; color:#fff; font-size:.83rem; }
.comparison-row .yes { color:#6fe0bd; }

.trust-section { padding:92px 0; }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.trust-card { padding:24px; border:1px solid var(--line); border-radius:22px; background:#fff; }
.trust-icon { width:44px; height:44px; display:grid; place-items:center; margin-bottom:20px; border-radius:14px; background:#edf6ff; color:var(--blue); font-weight:950; }
.trust-card h3 { margin:0 0 8px; font-size:1.03rem; }
.trust-card p { margin:0; color:#748195; font-size:.79rem; font-weight:620; line-height:1.55; text-align:justify; }

.faq-section { padding:20px 0 96px; }
.faq-list { max-width:920px; margin:0 auto; border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item button { width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; border:0; background:transparent; color:var(--ink); text-align:left; font-weight:850; cursor:pointer; }
.faq-item button span:last-child { width:30px; height:30px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:#eef4fa; color:var(--blue); transition:transform .18s ease; }
.faq-item.is-open button span:last-child { transform:rotate(45deg); }
.faq-answer { display:none; max-width:820px; padding:0 0 22px; color:#657489; font-size:.9rem; font-weight:620; line-height:1.65; text-align:justify; }
.faq-item.is-open .faq-answer { display:block; }

.closing { padding:0 0 34px; }
.closing-card { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; padding:42px; overflow:hidden; border:1px solid #1e4863; border-radius:32px; background:radial-gradient(circle at 88% 10%,rgba(34,211,229,.28),transparent 34%),linear-gradient(135deg,#071426,#0d3048 60%,#086579); color:#fff; }
.closing-card h2 { max-width:680px; margin:0 0 10px; font-size:clamp(2rem,3.9vw,3.8rem); line-height:.98; letter-spacing:-.052em; }
.closing-card p { max-width:650px; margin:0; color:#afc3d0; font-weight:620; line-height:1.6; }

.site-footer { padding:34px 0 28px; }
.footer-links { display:grid; grid-template-columns:repeat(5,1fr); gap:30px; padding:32px 6px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.footer-column strong { display:block; margin-bottom:13px; font-size:.84rem; }
.footer-column a { display:block; margin:10px 0; color:#69778a; font-size:.78rem; font-weight:620; }
.footer-column a:hover { color:var(--blue); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 4px 0; color:#7f8c9e; font-size:.75rem; }
.footer-brand { display:flex; align-items:center; gap:9px; color:var(--ink); font-weight:900; }
.footer-brand img { width:30px; height:30px; }

@media (max-width:1000px) {
  .solutions-hero { grid-template-columns:minmax(0,1fr) minmax(350px,.8fr); gap:32px; }
  .hero-stage { min-height:590px; }
  .phone-shell { width:285px; }
  .phone-screen { height:524px; }
  .goal-grid,.trust-grid { grid-template-columns:repeat(2,1fr); }
  .solution-intro { grid-template-columns:1fr 1fr; gap:34px; }
  .visual-caption { width:220px; }
}
@media (max-width:820px) {
  .main-links { display:none; }
  .solutions-hero { min-height:auto; grid-template-columns:1fr; }
  .hero-stage { max-width:600px; width:100%; margin:0 auto; }
  .section-heading { grid-template-columns:1fr; gap:16px; }
  .solution-intro,.solution-content { grid-template-columns:1fr; }
  .solution-story.reverse .solution-copy,.solution-story.reverse .solution-visual { order:initial; }
  .solution-copy { max-width:690px; }
  .footer-links { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:580px) {
  .wrap { width:min(100% - 28px,1180px); }
  .nav-inner { min-height:70px; }
  .brand img { width:36px; height:36px; }
  .nav-actions .button:first-child { display:none; }
  .nav-actions .button { min-height:42px; padding:0 13px; font-size:.76rem; }
  .solutions-hero { padding:42px 0 50px; }
  .hero-copy h1 { font-size:3.15rem; }
  .hero-promises { grid-template-columns:1fr; }
  .hero-stage { min-height:570px; border-radius:27px; }
  .phone-shell { width:270px; top:30px; }
  .phone-screen { height:500px; }
  .goal-chip { min-width:150px; padding:11px 12px; }
  .chip-two { right:5px; }
  .goal-index { padding:60px 0 72px; }
  .goal-grid,.trust-grid { grid-template-columns:1fr; }
  .goal-card { min-height:205px; }
  .solution-story { padding:72px 0; }
  .solution-visual { min-height:510px; }
  .solution-phone { width:230px; right:18px; top:24px; }
  .solution-phone .screen { height:440px; }
  .visual-caption { left:14px; bottom:14px; width:205px; padding:14px; }
  .how-card,.questions-card { padding:22px; }
  .closing-card { grid-template-columns:1fr; padding:30px 24px; }
  .footer-links { grid-template-columns:repeat(2,1fr); }
  .footer-bottom { align-items:flex-start; flex-direction:column; }
}
