@charset "utf-8";
:root{--navy:#061f46;--navy-2:#0d326d;--blue:#287ad8;--text:#1c2735;--muted:#657386;--line:#dce7f2;--pale:#f5f9fd;--white:#fff;--shadow:0 24px 70px rgba(6,31,70,.12);--shadow-soft:0 12px 36px rgba(6,31,70,.08);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","YuGothic","Noto Sans JP",Meiryo,sans-serif;line-height:1.85;letter-spacing:.01em}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.top-line{height:4px;background:linear-gradient(90deg,var(--navy),var(--blue),#a8d6ff)}.container{width:min(1140px,calc(100% - 40px));margin:0 auto}.narrow{width:min(820px,calc(100% - 40px))}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(220,231,242,.8)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center}.brand img{height:48px;width:auto;max-width:240px;object-fit:contain}.nav{display:flex;align-items:center;gap:26px;font-weight:700;font-size:14px;color:#24354d}.nav a{transition:color .2s ease}.nav a:hover{color:var(--blue)}.nav-button{padding:12px 18px;color:#fff!important;background:var(--navy);border-radius:999px;box-shadow:0 10px 24px rgba(6,31,70,.16)}.menu-button{display:none;width:44px;height:44px;padding:0;background:#fff;border:1px solid var(--line);border-radius:999px;cursor:pointer}.menu-button span{display:block;width:18px;height:2px;margin:4px auto;background:var(--navy);border-radius:999px}
.hero{position:relative;min-height:740px;overflow:hidden;display:flex;align-items:center;background:linear-gradient(90deg,#fff 0%,#fff 38%,#eef7ff 100%)}.hero-visual{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.93) 36%,rgba(255,255,255,.58) 55%,rgba(255,255,255,.08) 100%),url("assets/hero.png");background-size:cover;background-position:center right;transform:scale(1.02)}.hero::before{content:"";position:absolute;width:460px;height:460px;left:-160px;top:90px;background:radial-gradient(circle,rgba(40,122,216,.14),rgba(40,122,216,0) 68%);pointer-events:none}.hero-wave{position:absolute;left:-8%;right:-8%;bottom:-110px;height:230px;background:rgba(255,255,255,.82);border-radius:50% 50% 0 0/55% 55% 0 0}.hero-inner{position:relative;z-index:2}.hero-copy{max-width:720px;padding:116px 0 150px}.eyebrow,.section-label{margin:0 0 14px;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:24px;color:var(--navy);font-size:clamp(34px,4.7vw,58px);line-height:1.32;letter-spacing:-.025em}.lead{max-width:650px;color:#34465d;font-size:18px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 25px;border:1px solid transparent;border-radius:999px;font-weight:800;cursor:pointer;transition:.2s}.button.primary{background:var(--navy);color:#fff;box-shadow:0 14px 30px rgba(6,31,70,.18)}.button.primary:hover{background:var(--navy-2);transform:translateY(-2px)}.button.secondary{background:rgba(255,255,255,.82);color:var(--navy);border-color:#cad8e7}.button.secondary:hover{transform:translateY(-2px);border-color:var(--navy)}.button.full{width:100%}
.section{position:relative;padding:104px 0}.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:76px;align-items:start}h2{margin-bottom:18px;color:var(--navy);font-size:clamp(28px,3.0vw,40px);line-height:1.45;letter-spacing:-.02em}.body-copy p{color:#4a596b}.section-heading{display:flex;justify-content:space-between;gap:42px;align-items:end;margin-bottom:42px}.section-heading.center{align-items:center}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:520px;margin-bottom:5px;color:var(--muted)}
.service-section,.price-section,.works-section{background:radial-gradient(circle at 12% 10%,rgba(40,122,216,.08),transparent 28%),linear-gradient(180deg,var(--pale),#fff)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service-card{position:relative;min-height:300px;padding:30px;background:rgba(255,255,255,.92);border:1px solid rgba(220,231,242,.9);border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:hidden}.service-card::after{content:"";position:absolute;right:-44px;bottom:-44px;width:140px;height:140px;background:radial-gradient(circle,rgba(40,122,216,.16),rgba(40,122,216,0) 66%)}.card-number{position:absolute;top:22px;right:24px;color:#d5e8fa;font-size:36px;font-weight:800;line-height:1}.mini-icon{width:54px;height:54px;display:grid;place-items:center;margin-bottom:26px;color:#fff;font-weight:800;font-size:20px;background:linear-gradient(135deg,var(--navy),var(--blue));border-radius:18px;box-shadow:0 14px 26px rgba(40,122,216,.22)}.service-card h3,.process-card h3{margin-bottom:12px;color:var(--navy);font-size:21px;line-height:1.45}.service-card p{margin-bottom:0;color:#566579;font-size:15px}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.process-card{padding:34px 32px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.process-card.emphasized{background:#fff;border-color:var(--line);transform:none}.process-card span{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:20px;color:var(--blue);background:#eaf5ff;border-radius:999px;font-weight:800}.process-card ul{margin:0;padding-left:20px;color:#526173}
.price-box{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.price-table{width:100%;min-width:860px;border-collapse:collapse}.price-table th{padding:19px 22px;color:#fff;text-align:left;background:var(--navy)}.price-table td{padding:19px 22px;border-bottom:1px solid var(--line);vertical-align:top}.price-table tr:last-child td{border-bottom:0}.price-table td:first-child{color:var(--navy);font-weight:800;white-space:nowrap}.price-table td:last-child{color:var(--navy);font-weight:800;white-space:nowrap}.note{margin-top:18px;color:var(--muted);font-size:13px}
.flow-section{background:linear-gradient(180deg,#fff,#f8fbff)}.flow-list{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0;padding:0;list-style:none}.flow-list li{min-height:118px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 40px rgba(6,31,70,.07)}.flow-list span{display:block;margin-bottom:12px;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.08em}.flow-list strong{color:var(--navy);line-height:1.5}
.works-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center;padding:44px;background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.works-card p:last-child{margin-bottom:0;color:var(--muted)}
.company-table{width:100%;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);border-collapse:separate;border-spacing:0;box-shadow:var(--shadow-soft)}.company-table th,.company-table td{padding:19px 24px;border-bottom:1px solid var(--line);text-align:left}.company-table th{width:240px;color:var(--navy);background:#f3f8fd}.company-table tr:last-child th,.company-table tr:last-child td{border-bottom:0}.company-table a{color:var(--blue);font-weight:700}
.contact-section{background:radial-gradient(circle at 85% 20%,rgba(40,122,216,.12),transparent 26%),linear-gradient(135deg,#f7fbff,#fff)}.contact-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:54px;align-items:start}.contact-copy>p{color:#4e5d70}.contact-info{display:grid;gap:12px;margin-top:28px}.contact-info p{display:flex;gap:16px;align-items:center;margin:0;color:#334155;font-weight:700}.contact-info span{width:70px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.contact-form{display:grid;gap:17px;padding:34px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.contact-form label{color:var(--navy);font-size:14px;font-weight:800}.contact-form input,.contact-form textarea{width:100%;margin-top:7px;padding:14px 15px;color:var(--text);background:#fbfdff;border:1px solid #cbd9e8;border-radius:14px;font:inherit}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--blue);outline:3px solid rgba(40,122,216,.14)}.hidden{display:none}
.site-footer{padding:52px 0 24px;color:#fff;background:#061a38}.footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-inner img{height:48px;width:auto;padding:5px;background:#fff;border-radius:12px}.footer-inner p{margin:14px 0 0;color:#c9d7e8}.footer-links{display:flex;gap:22px;color:#dfe9f6;font-weight:800}.copyright{margin:38px 0 0;color:#9fb2ca;text-align:center;font-size:13px}
.policy-page{padding:92px 0 110px;background:linear-gradient(180deg,#fff,#f7fbff)}.policy-page h1{color:var(--navy);font-size:clamp(34px,4vw,50px);line-height:1.25}.policy-page h2{margin-top:44px;font-size:24px}.policy-page p,.policy-page li{color:#4b5a6d}.policy-date{margin-top:48px}.thanks-page{min-height:100vh;display:grid;place-items:center;padding:40px;background:linear-gradient(135deg,#f5f9fd,#fff)}.thanks-card{width:min(560px,100%);padding:48px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.thanks-card img{height:58px;width:auto;margin:0 auto 24px}.thanks-card h1{color:var(--navy);font-size:34px}
@media(max-width:980px){.menu-button{display:inline-block}.nav{display:none;position:absolute;top:82px;left:0;right:0;padding:20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 24px 40px rgba(6,31,70,.08);flex-direction:column;align-items:flex-start}.nav.open{display:flex}.desktop-only{display:flex;position:static;padding:0;box-shadow:none;border:0}.hero{min-height:680px}.hero-visual{background-image:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.86)),url("assets/hero.png");background-position:center}.split,.contact-grid,.works-card{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:1fr}.process-card.emphasized{transform:none}.flow-list{grid-template-columns:repeat(2,1fr)}.section-heading{display:block}.section-heading>p{margin-top:14px}}
@media(max-width:620px){.container{width:min(100% - 28px,1140px)}.header-inner{height:72px}.brand img{height:40px;max-width:190px}.nav{top:72px}.section{padding:74px 0}.hero-copy{padding:84px 0 120px}h1{font-size:36px}.lead{font-size:16px}.service-grid,.flow-list{grid-template-columns:1fr}.price-table{min-width:760px}.company-table th,.company-table td{display:block;width:100%;padding:14px 18px}.company-table th{border-bottom:0}.company-table td{border-bottom:1px solid var(--line)}.footer-inner{display:block}.footer-links{flex-direction:column;margin-top:28px}}


/* v3 readability refinement */
body {
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
.service-card h3,
.process-card h3,
.price-table td:first-child,
.price-table td:last-child,
.flow-list strong,
.company-table th {
  font-weight: 750;
  letter-spacing: 0;
}

h1 {
  line-height: 1.34;
  max-width: 760px;
}

h2 {
  line-height: 1.48;
}

.button,
.nav,
.nav-button {
  font-weight: 750;
  letter-spacing: .02em;
}

.price-table th {
  font-weight: 750;
  letter-spacing: .02em;
}

.price-table td {
  font-weight: 600;
  line-height: 1.75;
}

.price-table td:first-child,
.price-table td:last-child {
  font-weight: 750;
}

.process-card {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.process-card:hover {
  transform: translateY(-6px);
  border-color: rgba(40, 122, 216, .32);
  box-shadow: 0 22px 54px rgba(6, 31, 70, .12);
}

.process-card.emphasized {
  transform: none;
  background: #ffffff;
  border-color: var(--line);
}

.process-card.emphasized:hover {
  transform: translateY(-6px);
}

.card-number {
  font-weight: 750;
}

.mini-icon {
  font-weight: 750;
}

@media(max-width:620px){
  h1 {
    font-size: 32px;
    line-height: 1.42;
  }

  h2 {
    font-size: 28px;
    line-height: 1.48;
  }

  .button {
    font-size: 15px;
  }
}


/* v4 flow readability refinement */
.flow-list {
  gap: 20px;
}

.flow-list li {
  min-height: 136px;
  padding: 30px 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.flow-list span {
  margin-bottom: 16px;
  font-size: 15px;
  letter-spacing: .16em;
  line-height: 1;
}

.flow-list strong {
  display: block;
  color: var(--navy);
  font-size: clamp(18px, 1.55vw, 24px);
  font-weight: 750;
  line-height: 1.55;
  letter-spacing: .01em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

@media (max-width: 980px) {
  .flow-list li {
    min-height: 124px;
    padding: 26px;
  }

  .flow-list strong {
    font-size: 20px;
  }
}

@media (max-width: 620px) {
  .flow-list li {
    min-height: auto;
    padding: 24px;
  }

  .flow-list strong {
    font-size: 19px;
    line-height: 1.55;
  }
}


/* v5: 120-point design refinements except first-view redesign */
.section {
  overflow: hidden;
}

.section::before {
  content: "";
  position: absolute;
  inset: auto -10% 8% auto;
  width: 320px;
  height: 320px;
  background:
    linear-gradient(90deg, rgba(40,122,216,.08) 1px, transparent 1px),
    linear-gradient(rgba(40,122,216,.08) 1px, transparent 1px);
  background-size: 18px 18px;
  opacity: .45;
  transform: rotate(8deg);
  pointer-events: none;
}

.about-section::before,
.contact-section::before {
  display: none;
}

/* Service dedicated icons */
.mini-icon {
  display: none;
}

.service-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 26px;
  color: var(--navy);
  background: linear-gradient(135deg, #eef7ff, #ffffff);
  border: 1px solid rgba(40,122,216,.18);
  border-radius: 18px;
  box-shadow: 0 14px 30px rgba(6,31,70,.08);
}

.service-icon svg {
  width: 32px;
  height: 32px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.service-card {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.service-card:hover {
  transform: translateY(-7px);
  border-color: rgba(40,122,216,.30);
  box-shadow: 0 24px 60px rgba(6,31,70,.13);
}

/* Process timeline */
.process-grid {
  display: none;
}

.process-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.process-timeline::before {
  content: "";
  position: absolute;
  top: 62px;
  left: 12%;
  right: 12%;
  height: 2px;
  background: linear-gradient(90deg, rgba(40,122,216,.08), rgba(40,122,216,.42), rgba(40,122,216,.08));
  z-index: 0;
}

.process-timeline .process-card {
  position: relative;
  z-index: 1;
  min-height: 360px;
  background: rgba(255,255,255,.96);
}

.process-badge {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  margin-bottom: 24px;
  color: var(--blue);
  background: #eaf5ff;
  border: 6px solid #fff;
  border-radius: 999px;
  box-shadow: 0 10px 28px rgba(40,122,216,.16);
  font-weight: 800;
}

/* Price plan cards */
.plan-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-bottom: 28px;
}

.plan-card {
  position: relative;
  padding: 30px;
  background: rgba(255,255,255,.96);
  border: 1px solid var(--line);
  border-radius: 28px;
  box-shadow: var(--shadow-soft);
}

.plan-card.featured {
  border-color: rgba(40,122,216,.42);
  background: linear-gradient(180deg, #ffffff, #f0f8ff);
  box-shadow: 0 26px 64px rgba(6,31,70,.14);
}

.plan-kicker {
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.plan-card h3 {
  margin-bottom: 12px;
  color: var(--navy);
  font-size: 22px;
  line-height: 1.45;
}

.plan-price {
  margin-bottom: 16px;
  color: var(--navy);
  font-size: 28px;
  font-weight: 760;
  line-height: 1.2;
}

.plan-card p:last-child {
  margin-bottom: 0;
  color: var(--muted);
}

.recommend {
  position: absolute;
  top: 18px;
  right: 18px;
  padding: 7px 12px;
  color: #fff;
  background: var(--blue);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 760;
}

/* Works coming soon */
.works-card {
  display: none;
}

.works-coming-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.coming-card {
  position: relative;
  min-height: 210px;
  padding: 30px;
  background: rgba(255,255,255,.94);
  border: 1px solid var(--line);
  border-radius: 28px;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}

.coming-card::after {
  content: "";
  position: absolute;
  right: -34px;
  bottom: -34px;
  width: 120px;
  height: 120px;
  border-radius: 36px;
  background: linear-gradient(135deg, rgba(40,122,216,.12), rgba(255,255,255,0));
  transform: rotate(12deg);
}

.coming-card span {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.coming-card h3 {
  margin-bottom: 12px;
  color: var(--navy);
  font-size: 22px;
}

.coming-card p {
  margin-bottom: 0;
  color: var(--muted);
}

/* Company enhanced layout */
.company-layout {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 30px;
  align-items: stretch;
}

.company-card {
  position: relative;
  padding: 34px;
  color: #fff;
  background:
    radial-gradient(circle at 80% 10%, rgba(98,169,239,.32), transparent 28%),
    linear-gradient(135deg, #061f46, #0d326d);
  border-radius: 28px;
  box-shadow: var(--shadow);
  overflow: hidden;
}

.company-card::after {
  content: "";
  position: absolute;
  right: -50px;
  bottom: -50px;
  width: 180px;
  height: 180px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 42px;
  transform: rotate(12deg);
}

.company-logo-mark {
  display: inline-grid;
  place-items: center;
  width: 84px;
  height: 84px;
  margin-bottom: 30px;
  color: var(--navy);
  background: #fff;
  border-radius: 24px;
  font-size: 24px;
  font-weight: 780;
  letter-spacing: .08em;
}

.company-card h3 {
  position: relative;
  z-index: 1;
  margin-bottom: 16px;
  color: #fff;
  font-size: 25px;
  line-height: 1.55;
}

.company-card p {
  position: relative;
  z-index: 1;
  color: #dbeafe;
}

.company-mini {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 26px;
}

.company-mini span {
  padding: 8px 11px;
  color: #dcecff;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

/* CTA */
.cta-section {
  padding-top: 86px;
  padding-bottom: 86px;
  background: linear-gradient(135deg, #061f46, #0d326d);
}

.cta-section::before {
  opacity: .18;
  filter: invert(1);
}

.cta-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px;
  align-items: center;
  padding: 44px;
  color: #fff;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 32px;
  box-shadow: 0 28px 80px rgba(0,0,0,.18);
}

.cta-box .section-label {
  color: #9fd0ff;
}

.cta-box h2 {
  color: #fff;
}

.cta-box p {
  margin-bottom: 0;
  color: #dbeafe;
}

.cta-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.cta-box .button.primary {
  color: var(--navy);
  background: #fff;
}

.cta-box .button.secondary {
  color: #fff;
  background: transparent;
  border-color: rgba(255,255,255,.35);
}

/* Footer enhanced */
.footer-inner.enhanced {
  display: grid;
  grid-template-columns: 1.2fr .8fr 1fr;
  align-items: start;
}

.footer-brand p {
  max-width: 340px;
}

.footer-nav,
.footer-company {
  display: grid;
  gap: 8px;
}

.footer-nav h3,
.footer-company h3 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.footer-nav a,
.footer-company p,
.footer-company a {
  margin: 0;
  color: #c9d7e8;
  font-weight: 600;
}

/* Typography refinement */
h1 {
  font-size: clamp(34px, 4.55vw, 56px);
}

h2 {
  font-size: clamp(28px, 2.85vw, 38px);
}

.section-heading {
  margin-bottom: 46px;
}

@media(max-width: 980px) {
  .process-timeline,
  .plan-grid,
  .works-coming-grid,
  .company-layout,
  .cta-box,
  .footer-inner.enhanced {
    grid-template-columns: 1fr;
  }

  .process-timeline::before {
    display: none;
  }

  .process-timeline .process-card {
    min-height: auto;
  }

  .cta-actions {
    justify-content: flex-start;
  }
}

@media(max-width: 620px) {
  .plan-card,
  .coming-card,
  .company-card,
  .cta-box {
    padding: 26px;
  }

  .plan-price {
    font-size: 24px;
  }

  .company-card h3 {
    font-size: 21px;
  }
}


/* v6 selected image integration */
.about-layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 58px;
  align-items: center;
}

.about-copy .body-copy {
  margin-top: 28px;
}

.image-card {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 30px;
  box-shadow: var(--shadow);
}

.image-card img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.dashboard-card {
  aspect-ratio: 16 / 10;
}

.dashboard-card::after,
.overview-image::after,
.company-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(6,31,70,.06));
}

.image-card figcaption {
  position: absolute;
  right: 16px;
  bottom: 14px;
  z-index: 2;
  padding: 5px 10px;
  color: #5d6f83;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(220,231,242,.86);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 650;
  backdrop-filter: blur(10px);
}

.company-image {
  position: relative;
  z-index: 1;
  margin: 0 0 26px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(0,0,0,.18);
  aspect-ratio: 16 / 9;
}

.company-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.company-image::after {
  background: linear-gradient(180deg, rgba(6,31,70,.04), rgba(6,31,70,.28));
}

.overview-section {
  background:
    radial-gradient(circle at 18% 18%, rgba(40,122,216,.08), transparent 28%),
    linear-gradient(180deg, #fff, #f7fbff);
}

.overview-layout {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 48px;
  align-items: center;
}

.overview-copy p {
  color: var(--muted);
}

.overview-image {
  aspect-ratio: 16 / 10;
}

.overview-image img {
  object-fit: cover;
}

.overview-image figcaption {
  right: 18px;
  bottom: 16px;
}

@media(max-width: 980px) {
  .about-layout,
  .overview-layout {
    grid-template-columns: 1fr;
  }

  .dashboard-card,
  .overview-image {
    aspect-ratio: 16 / 10;
  }
}

@media(max-width: 620px) {
  .image-card,
  .company-image {
    border-radius: 22px;
  }

  .image-card figcaption {
    font-size: 11px;
    right: 10px;
    bottom: 10px;
  }
}
