/*
Theme Name: Aditi
Template: twentytwentyfive
Version: 1.0.0
Author: Aditi IT Software Solutions
Description: The new aditiitsolutions.com. Generated by sites/aditiitsolutions/scripts/build-theme.py from git;
  do not edit on the server (the engine replaces this folder).
Text Domain: aditi
*/

/* Aditi IT Software Solutions: the one shared stylesheet (R1 phase 5).
   Generated by sites/aditiitsolutions/scripts/build-styles.py from the clean design's per-page stylesheets; edit the
   generator's inputs, not this file. Brand: navy #1D3461, cyan #00B4D8, Montserrat headings, Inter body. Never white
   text on cyan (fails AA at 2.7:1). Everything is scoped under .aditi; page-specific variants under .aditi--<page>. */
.aditi { --navy: #1D3461; --navy-deep: #16274A; --cyan: #00B4D8; --cyan-deep: #0092AF; --black: #1A1A2E; --mid: #4A4A6A; --border: #D4D4E0; --bg-light: #F8F8FC; --white: #FFFFFF; --head: "Montserrat", Arial, Helvetica, sans-serif; --body: "Inter", Arial, Helvetica, sans-serif; font-family: var(--body); font-size: 16px; line-height: 1.6; color: var(--black); -webkit-font-smoothing: antialiased; width: 100%; }
.aditi *, .aditi *::before, .aditi *::after { box-sizing: border-box; }
.aditi h1, .aditi h2, .aditi h3, .aditi h4 { font-family: var(--head); color: var(--navy); margin: 0 0 12px; padding-bottom: 0; }
.aditi h1 { font-size: 40px; font-weight: 700; line-height: 1.15; letter-spacing: -.02em; }
.aditi h2 { font-size: 28px; font-weight: 600; line-height: 1.3; letter-spacing: -.02em; }
.aditi h3 { font-size: 20px; font-weight: 600; line-height: 1.4; }
.aditi h4 { font-size: 17px; font-weight: 600; line-height: 1.4; color: var(--black); }
.aditi p { margin: 0 0 14px; padding-bottom: 0; }
.aditi p:last-child { margin-bottom: 0; }
.aditi ul { margin: 0; padding: 0; list-style: none; }
.aditi li { margin: 0; }
.aditi a { color: var(--cyan-deep); text-decoration: none; transition: color .18s ease; }
.aditi a:hover { color: var(--navy); }
.aditi a:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.aditi strong { font-weight: 600; color: var(--navy); }
.aditi .sec { padding: 64px 0; }
.aditi .sec:first-child { padding-top: 0; }
.aditi .sec:last-child { padding-bottom: 0; }
.aditi .sec + .sec { border-top: 1px solid var(--border); }
.aditi .sec--plain + .sec--plain { border-top: 0; }
.aditi .sec--panel { padding: 0; }
.aditi .sec--panel + .sec, .aditi .sec--panel { border-top: 0; }
.aditi .head { max-width: 44em; margin-bottom: 36px; }
.aditi .head p { font-size: 18px; line-height: 1.7; color: var(--mid); margin-bottom: 0; }
.aditi .head h2 { margin-bottom: 10px; }
.aditi .kicker { display: block; font-family: var(--head); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--cyan-deep); margin-bottom: 14px; }
.aditi .bar { width: 6px; height: 64px; border-radius: 3px; background: var(--cyan); }
.aditi .lead { font-size: 18px; line-height: 1.7; color: var(--mid); }
.aditi .btn { display: inline-block; font-family: var(--head); font-size: 15px; font-weight: 600; line-height: 1; padding: 15px 28px; border: 2px solid transparent; border-radius: 4px; text-align: center; transition: background .18s ease, color .18s ease, border-color .18s ease; }
.aditi .btn--primary { background: var(--navy); border-color: var(--navy); color: var(--white); }
.aditi .btn--primary:hover { background: var(--navy-deep); border-color: var(--navy-deep); color: var(--white); }
.aditi .btn--ghost { background: transparent; border-color: var(--navy); color: var(--navy); }
.aditi .btn--ghost:hover { background: var(--navy); border-color: var(--navy); color: var(--white); }
.aditi .btn--onnavy { background: var(--white); border-color: var(--white); color: var(--navy); }
.aditi .btn--onnavy:hover { background: var(--cyan); border-color: var(--cyan); color: var(--navy); }
.aditi .btn--onnavy-line { background: transparent; border-color: rgba(255,255,255,.55); color: var(--white); }
.aditi .btn--onnavy-line:hover { border-color: var(--white); background: rgba(255,255,255,.10); color: var(--white); }
.aditi .btns { display: flex; flex-wrap: wrap; gap: 12px; }
.aditi .textlink { font-family: var(--head); font-size: 14px; font-weight: 600; }
.aditi .textlink::after { content: " →"; }
.aditi .dots { background-image: radial-gradient(var(--dot) 1.5px, transparent 1.5px); background-size: 22px 22px; background-position: 0 0; }
.aditi .panel-light { --dot: rgba(29, 52, 97, .085); position: relative; overflow: hidden; background-color: var(--bg-light); border: 1px solid var(--border); border-radius: 6px; padding: 56px 44px; }
.aditi .panel-light .bar { margin-bottom: 26px; }
.aditi .navy { --dot: rgba(255, 255, 255, .10); position: relative; overflow: hidden; background-color: var(--navy); color: var(--white); padding: 56px 44px; border-radius: 6px; }
.aditi .navy p { color: rgba(255,255,255,.82); }
.aditi .navy .kicker { color: var(--cyan); }
.aditi .navy .bar { margin-bottom: 26px; }
.aditi .navy h1, .aditi .navy h2, .aditi .navy h3, .aditi .navy h4 { color: var(--white); }
.aditi .hero h1 { max-width: 30ch; margin-bottom: 22px; font-size: clamp(26px, 3.3vw, 38px); line-height: 1.18; }
.aditi .hero .lead { font-size: 20px; max-width: 62ch; margin-bottom: 32px; }
.aditi .hero .btns { margin-bottom: 36px; }
.aditi .hero-split { display: grid; grid-template-columns: 1.08fr .92fr; gap: 44px; align-items: start; }
.aditi .hero-media { position: relative; display: flex; align-items: flex-end; justify-content: center; padding: 18px 20px 0; background: var(--white); border: 1px solid var(--border); border-bottom: 3px solid var(--cyan); border-radius: 8px; overflow: hidden; }
.aditi .hero-media img { display: block; width: 100%; height: auto; max-width: 349px; margin: 0; }
.aditi .logowall { display: flex; flex-direction: column; gap: 26px; }
.aditi .logowall img { display: block; width: 100%; height: auto; max-width: 1100px; margin: 0 auto; }
.aditi .hero-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 13px 28px; padding-top: 24px; border-top: 1px solid var(--border); font-size: 14px; color: var(--mid); }
.aditi .hero-facts li { display: flex; align-items: flex-start; gap: 9px; line-height: 1.45; }
.aditi .hero-facts svg { color: var(--cyan-deep); flex: 0 0 auto; margin-top: 2px; }
.aditi .guarantee { background: var(--bg-light); border: 1px solid var(--border); border-left: 4px solid var(--cyan); border-radius: 0 6px 6px 0; padding: 32px 36px; }
.aditi .guarantee .kicker { margin-bottom: 10px; }
.aditi .guarantee-head { display: flex; align-items: center; gap: 13px; margin-bottom: 12px; }
.aditi .guarantee-head .kicker { margin-bottom: 0; }
.aditi .g-seal { flex: 0 0 auto; line-height: 0; }
@media (max-width: 700px) {
  .aditi .g-seal svg { width: 36px; height: 36px; }
}
.aditi .guarantee q { display: block; font-family: var(--head); font-size: 20px; font-weight: 500; line-height: 1.55; color: var(--navy); quotes: none; }
.aditi .guarantee q::before, .aditi .guarantee q::after { content: ""; }
.aditi .guarantee .sig { font-size: 14px; color: var(--mid); margin-top: 16px; }
.aditi .lanes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.aditi .lane { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--border); border-top: 3px solid var(--cyan); border-radius: 6px; padding: 30px 28px; transition: border-color .18s ease, transform .18s ease; }
.aditi .lane:hover { border-color: var(--navy); border-top-color: var(--cyan); transform: translateY(-2px); }
.aditi .lane h3, .aditi .lane .lane-title { margin-bottom: 10px; }
.aditi .lane .lane-line { font-size: 15px; color: var(--mid); margin-bottom: 16px; }
.aditi .lane p { font-size: 15px; line-height: 1.65; color: var(--black); }
.aditi .lane .lane-foot { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--border); font-size: 13px; color: var(--mid); }
@supports (grid-template-rows: subgrid) {
  .aditi .lanes:not(.lanes--home) { grid-template-rows: auto auto auto 1fr auto; row-gap: 0; column-gap: 24px; }
  .aditi .lanes:not(.lanes--home) > .lane { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 0; }
  .aditi .lanes:not(.lanes--home) > .lane .lane-foot { margin-top: 0; }
}
.aditi .lane .lane-foot b { display: block; font-family: var(--head); font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--mid); margin-bottom: 5px; }
.aditi .tagblocks { display: flex; flex-direction: column; gap: 30px; margin-top: 36px; }
.aditi .tagblock-label { display: flex; align-items: center; gap: 10px; font-family: var(--head); font-size: 11.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--mid); margin: 0 0 16px; padding-top: 20px; border-top: 1px solid var(--border); }
.aditi .tagblock-label span { font-size: 11px; color: var(--cyan-deep); border: 1px solid var(--border); border-radius: 999px; padding: 2px 9px; letter-spacing: .04em; }
.aditi .taglist { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.aditi .taglist li { margin: 0; font-family: var(--body); font-size: 13.5px; font-weight: 500; line-height: 1.45; color: var(--navy); background: var(--bg-light); border: 1px solid var(--border); border-radius: 999px; padding: 7px 15px; white-space: nowrap; }
.aditi .lanes--home .lane { padding: 28px 26px; }
.aditi .lanes--home .lane h3, .aditi .lanes--home .lane .lane-title { margin-bottom: 6px; font-size: 19px; }
.aditi .lanes--home .lane .lane-line { margin-bottom: 14px; color: var(--mid); font-size: 15px; }
.aditi .lanes--home .lane p { font-size: 15px; line-height: 1.65; }
.aditi .lanes--home .lane .lane-foot { margin-top: auto; padding-top: 22px; }
@supports (grid-template-rows: subgrid) {
  .aditi .lanes--home { grid-template-rows: auto auto 1fr auto; row-gap: 0; column-gap: 24px; }
  .aditi .lanes--home > .lane { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; margin-top: 10px; }
  .aditi .lanes--home > .lane .lane-foot { margin-top: 0; }
}
@media (min-width: 981px) {
  .aditi .lanes--home { grid-template-columns: repeat(2, 1fr); }
  @supports (grid-template-rows: subgrid) {
    .aditi .lanes--home { grid-template-rows: repeat(2, auto auto 1fr auto); }
    .aditi .lanes--home > .lane:nth-child(n/**/+3) { margin-top: 34px; }
  }
}
.aditi .stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); border-top: 3px solid var(--cyan); border-radius: 6px; overflow: hidden; }
.aditi .stats li { background: var(--white); padding: 28px 26px; }
.aditi .stats b, .aditi .stats .stat-value { display: block; font-family: var(--head); font-size: 36px; font-weight: 700; line-height: 1.05; letter-spacing: -.02em; color: var(--navy); font-variant-numeric: tabular-nums; }
.aditi .stats span { display: block; font-family: var(--head); font-size: 11.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--mid); margin-top: 9px; }
.aditi .trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.aditi .trust { background: var(--bg-light); border: 1px solid var(--border); border-left: 3px solid var(--cyan); border-radius: 0 6px 6px 0; padding: 24px 26px; }
.aditi .trust h4 { font-size: 16px; color: var(--navy); margin-bottom: 8px; }
.aditi .trust p { font-size: 15px; line-height: 1.65; color: var(--mid); margin: 0; }
.aditi .fears { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.aditi .fear { display: grid; grid-template-columns: 40px 1fr; gap: 18px; padding: 26px 28px; background: var(--bg-light); border-radius: 6px; }
.aditi .fear svg { color: var(--cyan-deep); margin-top: 2px; }
.aditi .fear h4 { margin-bottom: 6px; }
.aditi .fear p { font-size: 15px; line-height: 1.65; color: var(--mid); margin-bottom: 0; }
.aditi .phases { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.aditi .phase { padding-top: 20px; border-top: 3px solid var(--navy); }
.aditi .phase:last-child { border-top-color: var(--cyan); }
.aditi .phase .n { font-family: var(--head); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--cyan-deep); display: block; margin-bottom: 10px; }
.aditi .phase h3 { font-size: 18px; margin-bottom: 8px; }
.aditi .phase p { font-size: 15px; line-height: 1.65; color: var(--mid); }
.aditi .proof { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.aditi .proof-item--wide { grid-column: 1 / -1; }
.aditi .proof-item { border: 1px solid var(--border); border-radius: 6px; padding: 24px 26px; }
.aditi .proof-item .who { font-family: var(--head); font-size: 16px; font-weight: 600; color: var(--navy); margin-bottom: 4px; }
.aditi .proof-item .what { font-size: 13px; color: var(--mid); margin-bottom: 12px; }
.aditi .proof-item p { font-size: 15px; line-height: 1.6; color: var(--black); margin-bottom: 0; }
.aditi .proof-item .stack { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); }
.aditi .stack span { display: inline-block; font-family: var(--body); font-size: 12.5px; font-weight: 500; line-height: 1.45; color: var(--navy); background: var(--bg-light); border: 1px solid var(--border); border-radius: 999px; padding: 5px 13px; white-space: nowrap; }
.aditi .sec-more { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 28px; margin-top: 24px; padding: 26px 30px; background: var(--bg-light); border: 1px solid var(--border); border-radius: 6px; }
.aditi .sec-more .more-text { flex: 1 1 22em; }
.aditi .sec-more b { display: block; font-family: var(--head); font-size: 16px; font-weight: 600; color: var(--navy); margin-bottom: 3px; }
.aditi .sec-more p { font-size: 15px; line-height: 1.6; color: var(--mid); margin: 0; }
.aditi .sec-more .btn { flex: 0 0 auto; }
.aditi .cs-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.aditi .cs-item { display: flex; flex-direction: column; border: 1px solid var(--border); border-left: 4px solid var(--cyan); border-radius: 0 6px 6px 0; padding: 26px 28px; transition: border-color .18s ease; }
.aditi .cs-item:hover { border-color: var(--navy); border-left-color: var(--cyan); }
.aditi .cs-item .p-client { font-size: 17px; margin-bottom: 6px; }
.aditi .cs-item .cs-meta { font-family: var(--head); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--cyan-deep); margin-bottom: 10px; }
.aditi .cs-item h3 { font-size: 19px; line-height: 1.35; margin-bottom: 9px; }
.aditi .cs-item p { font-size: 15px; line-height: 1.65; color: var(--mid); margin-bottom: 14px; }
.aditi .cs-item .stack { display: flex; flex-wrap: wrap; gap: 7px; margin-top: auto; padding-top: 13px; border-top: 1px solid var(--border); }
.aditi .cs-item .cs-action { margin-top: 14px; }
.aditi .btn--sm { padding: 10px 18px; font-size: 13.5px; }
.aditi .pnote { font-size: 14px; color: var(--mid); margin-top: 18px; }
.aditi blockquote { margin: 0; padding: 0; border: 0; width: 100%; max-width: none; quotes: none; }
.aditi .quote { display: block; width: 100%; max-width: none; background: var(--bg-light); border: 0; border-left: 4px solid var(--cyan); border-radius: 0 6px 6px 0; padding: 32px 36px; }
.aditi .quote q { display: block; font-size: 21px; line-height: 1.55; color: var(--navy); font-style: italic; quotes: none; }
.aditi .quote q::before, .aditi .quote q::after { content: ""; }
.aditi .quote .who { font-style: normal; font-size: 14px; color: var(--mid); margin-top: 18px; }
.aditi .quote .who b { display: block; font-family: var(--head); font-size: 15px; font-weight: 600; color: var(--navy); }
.aditi .tlist { display: grid; gap: 20px; }
.aditi .tlist--lead { grid-template-columns: 1fr; }
.aditi .tlist--crm { grid-template-columns: repeat(3, 1fr); gap: 18px; }
.aditi .tcard { display: flex; flex-direction: column; margin: 0; background: var(--bg-light); border: 1px solid var(--border); border-left: 4px solid var(--cyan); border-radius: 0 6px 6px 0; padding: 26px 30px; }
.aditi .tcard q { display: block; font-size: 16px; line-height: 1.6; color: var(--navy); font-style: italic; quotes: none; }
.aditi .tcard q::before, .aditi .tcard q::after { content: ""; }
.aditi .tlist--lead .tcard { padding: 32px 36px; }
.aditi .tlist--lead .tcard q { font-size: 21px; line-height: 1.55; }
.aditi .tcard .who { display: flex; align-items: center; gap: 13px; margin: auto 0 0; padding-top: 20px; }
.aditi .tcard .avatar { flex: 0 0 auto; width: 52px; height: 52px; border-radius: 50%; object-fit: cover; display: block; background: var(--bg-light); border: 1px solid var(--border); max-width: none; }
.aditi .tcard .avatar--initials { background: var(--navy); color: var(--white); border-color: var(--navy); display: flex; align-items: center; justify-content: center; font-family: var(--head); font-size: 15px; font-weight: 600; letter-spacing: .02em; }
.aditi .tcard .who-text { min-width: 0; }
.aditi .tcard--portrait { background: var(--white); border: 1px solid var(--border); border-top: 3px solid var(--cyan); border-left: 1px solid var(--border); border-radius: 6px; padding: 24px 26px; }
.aditi .tcard--portrait .t-head { display: flex; align-items: center; gap: 13px; margin: 0 0 18px; padding: 0 0 18px; border-bottom: 1px solid var(--border); }
.aditi .tcard--portrait q { font-size: 15.5px; line-height: 1.65; color: var(--black); font-style: normal; }
@supports (grid-template-rows: subgrid) {
  .aditi .tlist--crm { grid-template-rows: auto 1fr; row-gap: 0; column-gap: 18px; }
  .aditi .tcard--portrait { display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 0; }
}
.aditi .tcard .who b { display: block; font-family: var(--head); font-size: 15px; font-weight: 600; color: var(--navy); line-height: 1.35; }
.aditi .tcard .who span span, .aditi .tcard .who-text > span { display: block; font-size: 13.5px; color: var(--mid); line-height: 1.4; }
.aditi .cta-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 44px; align-items: center; }
@media (max-width: 980px) {
  .aditi .trust-grid { grid-template-columns: 1fr; gap: 16px; }
  .aditi .stats { grid-template-columns: repeat(2, 1fr); }
  .aditi .hero-split { grid-template-columns: 1fr; gap: 28px; }
  .aditi .hero-media { order: -1; padding: 14px 16px 0; }
  .aditi .hero-media img { max-width: 280px; }
  .aditi .tlist--crm { grid-template-columns: repeat(2, 1fr); }
  .aditi h1 { font-size: 34px; }
  .aditi h2 { font-size: 25px; }
  .aditi .sec { padding: 52px 0; }
  .aditi .navy, .aditi .panel-light { padding: 42px 30px; }
  .aditi .lanes { grid-template-columns: 1fr; grid-template-rows: none; }
  .aditi .lane { display: flex; grid-row: auto; }
  .aditi .lane .lane-foot { margin-top: auto; }
  .aditi .phases { grid-template-columns: 1fr; gap: 22px; }
  .aditi .cta-grid { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 700px) {
  .aditi .taglist li { font-size: 13px; padding: 6px 12px; }
  .aditi .tagblocks { gap: 24px; }
  .aditi .stats { grid-template-columns: 1fr; }
  .aditi .stats li { padding: 22px 20px; }
  .aditi .stats b, .aditi .stats .stat-value { font-size: 30px; }
  .aditi h1 { font-size: 28px; }
  .aditi h2 { font-size: 22px; }
  .aditi h3 { font-size: 18px; }
  .aditi .sec { padding: 44px 0; }
  .aditi .head { margin-bottom: 28px; }
  .aditi .navy, .aditi .panel-light { padding: 30px 22px; border-radius: 4px; }
  .aditi .hero .lead { font-size: 17px; }
  .aditi .fears { grid-template-columns: 1fr; gap: 16px; }
  .aditi .proof { grid-template-columns: 1fr; }
  .aditi .guarantee { padding: 24px 22px; }
  .aditi .guarantee q { font-size: 17px; }
  .aditi .sec-more { padding: 22px 20px; }
  .aditi .sec-more .btn { width: 100%; }
  .aditi .cs-list { grid-template-columns: 1fr; gap: 14px; }
  .aditi .cs-item { padding: 22px 20px; }
  .aditi .cs-item .btn { width: 100%; }
  .aditi .tlist--crm { grid-template-columns: 1fr; grid-template-rows: none; }
  .aditi .tcard--portrait { display: flex; grid-row: auto; }
  .aditi .tcard, .aditi .tlist--lead .tcard { padding: 22px 20px; }
  .aditi .tlist--lead .tcard q { font-size: 18px; }
  .aditi .quote { padding: 22px 20px; }
  .aditi .quote q { font-size: 18px; }
  .aditi .btn { display: block; text-align: center; }
  .aditi .btns { display: block; }
  .aditi .btns .btn + .btn { margin-top: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .aditi *, .aditi *::before, .aditi *::after { transition-duration: .01ms !important; }
  .aditi .lane:hover { transform: none; }
}
body { margin: 0; background: #fff; font-family: "Inter", Arial, sans-serif; }
.simrow { max-width: 1200px; margin: 0 auto; padding: 48px 30px 80px; }
.aditi .head-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 28px; margin-bottom: 10px; }
.aditi .head-row h2 { margin-bottom: 0; }
.aditi .head-row .btn { flex: 0 0 auto; }
.aditi .head:has(.head-row) { max-width: none; }
.aditi .head:has(.head-row) > p { max-width: 44em; }
.aditi.aditi--about .hero h1 { max-width: 22ch; margin-bottom: 22px; font-size: clamp(30px, 4.1vw, 50px); line-height: 1.1; }
@supports (grid-template-rows: subgrid) {
  .aditi.aditi--about .lanes--home > .lane { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; }
}
.aditi .person-head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.aditi .person-head .ini { flex: 0 0 auto; display: block; line-height: 0; }
.aditi .person-head .ini svg { display: block; width: 52px; height: 52px; }
.aditi .person-head .ini img { display: block; width: 52px; height: 52px; border-radius: 50%; object-fit: cover; background: var(--bg-light); }
.aditi .person-head .who { display: block; font-family: var(--head); font-size: 16px; font-weight: 600; color: var(--navy); line-height: 1.3; margin: 0 0 3px; }
.aditi .person-head .what { display: block; font-size: 13px; color: var(--mid); line-height: 1.4; margin: 0; }
.aditi .trust p + p { margin-top: 10px; }
.aditi .legal { max-width: 74ch; }
.aditi .legal p { font-size: 16px; line-height: 1.75; color: var(--black); margin: 0 0 18px; }
.aditi .legal h2 { font-size: 21px; line-height: 1.35; color: var(--navy); margin: 44px 0 14px; padding-top: 22px; border-top: 1px solid var(--border); scroll-margin-top: 100px; }
.aditi .legal > h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.aditi .legal-list { margin: 0 0 20px; padding: 0; list-style: none; }
.aditi .legal-list li { position: relative; font-size: 16px; line-height: 1.7; color: var(--black); padding-left: 20px; margin-bottom: 9px; }
.aditi .legal-list li::before { content: ""; position: absolute; left: 3px; top: 11px; width: 5px; height: 5px; border-radius: 50%; background: var(--cyan); }
.aditi .legal-toc { background: var(--bg-light); border: 1px solid var(--border); border-left: 3px solid var(--cyan); border-radius: 0 6px 6px 0; padding: 26px 30px; margin: 0 0 32px; scroll-margin-top: 100px; }
.aditi .legal-toc-title { font-family: var(--head); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--mid); margin: 0 0 6px; }
.aditi .legal-toc-lead { font-size: 14.5px; color: var(--mid); margin: 0 0 14px; }
.aditi .legal-toc ol { margin: 0; padding: 0; list-style: none; counter-reset: toc; columns: 2; column-gap: 34px; }
.aditi .legal-toc li { counter-increment: toc; margin: 0 0 8px; break-inside: avoid; }
.aditi .legal-toc a { font-size: 15px; line-height: 1.5; }
.aditi .legal-toc a::before { content: counter(toc) ". "; color: var(--mid); font-variant-numeric: tabular-nums; }
.aditi .legal-back { margin: 0 0 6px; }
.aditi .legal-back a { font-family: var(--head); font-size: 13px; font-weight: 600; }
.aditi .legal-back a::before { content: "↑ "; }
.aditi .seal { display: block; width: 100%; height: auto; overflow: visible; }
.aditi .seal .seal-ring { fill: var(--white); stroke: var(--navy); stroke-width: 2; }
.aditi .seal .seal-dash { fill: none; stroke: var(--cyan); stroke-width: 2; stroke-dasharray: 3 5; stroke-linecap: round; }
.aditi .seal text { font-family: var(--head); text-anchor: middle; }
.aditi .seal .seal-lab { font-weight: 700; fill: var(--navy); letter-spacing: -.01em; }
.aditi .seal .seal-sub { font-size: 8.5px; font-weight: 600; fill: var(--cyan-deep); letter-spacing: .06em; text-transform: uppercase; }
.aditi .cert-hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center; }
.aditi .cert-hero-copy .bar { margin-bottom: 26px; }
.aditi .cert-hero h1 { max-width: 15ch; }
.aditi .cert-seals { display: flex; align-items: center; justify-content: center; }
.aditi .cert-seals .seal { width: 148px; flex: 0 0 auto; }
.aditi .cert-seals .seal:first-child { transform: rotate(-9deg); margin-right: -28px; }
.aditi .cert-seals .seal:nth-child(2) { width: 172px; position: relative; z-index: 2; }
.aditi .cert-seals .seal:last-child { transform: rotate(9deg); margin-left: -28px; }
.aditi .ticker { margin-top: 14px; overflow: hidden; background: var(--navy); border-radius: 6px; padding: 15px 0; border-top: 3px solid var(--cyan); }
.aditi .ticker-track { display: flex; width: max-content; animation: aditi-ticker 48s linear infinite; }
.aditi .ticker-run { display: flex; flex: 0 0 auto; }
.aditi .ticker-item { display: inline-flex; align-items: baseline; gap: 8px; padding: 0 26px; font-family: var(--head); font-size: 13px; font-weight: 500; letter-spacing: .03em; white-space: nowrap; color: rgba(255,255,255,.62); border-right: 1px solid rgba(255,255,255,.16); }
.aditi .ticker-item b { font-size: 15px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--cyan); }
@keyframes aditi-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.aditi .cgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.aditi .ccard { position: relative; display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--border); border-top: 3px solid var(--border); border-radius: 6px; padding: 26px 24px 22px; transition: border-color .18s ease, transform .18s ease; }
.aditi .ccard:hover { border-top-color: var(--cyan); transform: translateY(-3px); }
.aditi .ccard:focus-within { border-top-color: var(--cyan); }
.aditi .ccard-idx { position: absolute; top: 16px; right: 20px; font-family: var(--head); font-size: 46px; font-weight: 700; line-height: 1; letter-spacing: -.03em; color: var(--border); -webkit-text-stroke: 1.5px var(--border); -webkit-text-fill-color: transparent; }
.aditi .ccard-face, .aditi .phero-face { display: block; overflow: hidden; flex: 0 0 auto; background: var(--navy); border-radius: 50%; border: 3px solid var(--cyan); }
.aditi .ccard-face { width: 92px; height: 92px; margin-bottom: 18px; }
.aditi .ccard-face img, .aditi .phero-face img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.aditi .ccard-face svg, .aditi .phero-face svg { display: block; width: 100%; height: 100%; }
.aditi .ccard-body { flex: 1 1 auto; }
.aditi .ccard h3 { margin-bottom: 4px; }
.aditi .ccard-role { font-family: var(--head); font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--cyan-deep); margin-bottom: 14px; }
.aditi .ccard-count { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; font-size: 14px; color: var(--mid); padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--border); }
.aditi .ccard-count b { font-family: var(--head); font-size: 26px; font-weight: 700; line-height: 1; color: var(--navy); font-variant-numeric: tabular-nums; }
.aditi .ccard-since { font-size: 12.5px; margin-left: auto; }
.aditi .ccard-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 20px; }
.aditi .ccard-tags li { font-family: var(--head); font-size: 11.5px; font-weight: 600; letter-spacing: .04em; padding: 5px 10px; color: var(--navy); background: var(--bg-light); border: 1px solid var(--border); border-radius: 3px; }
.aditi .ccard-foot { display: flex; align-items: center; gap: 10px; }
.aditi .ccard-foot .btn { flex: 1 1 auto; }
.aditi .ccard-li { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; flex: 0 0 auto; color: var(--white); background: var(--navy); border-radius: 4px; transition: background .18s ease, color .18s ease; }
.aditi .ccard-li:hover { background: var(--cyan); color: var(--navy); }
.aditi .latest { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.aditi .latest-item { background: var(--white); border: 1px solid var(--border); border-radius: 6px; overflow: hidden; transition: border-color .18s ease; }
.aditi .latest-item:hover { border-color: var(--cyan); }
.aditi .latest-item a { display: block; height: 100%; }
.aditi .latest-thumb { display: flex; align-items: center; justify-content: center; height: 150px; padding: 14px; background: var(--bg-light); border-bottom: 1px solid var(--border); }
.aditi .latest-thumb img { max-width: 100%; max-height: 100%; width: auto; height: auto; display: block; }
.aditi .latest-thumb .seal { width: 96px; }
.aditi .latest-meta { display: block; padding: 16px 18px 18px; }
.aditi .latest-meta b { display: block; font-family: var(--head); font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--navy); margin-bottom: 6px; }
.aditi .latest-meta > span { display: block; font-size: 13px; color: var(--mid); }
.aditi .latest-dot { color: var(--cyan-deep); }
.aditi .cert-back { display: inline-block; font-family: var(--head); font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 26px; }
.aditi .cert-back::before { content: "← "; }
.aditi .phero-grid { display: grid; grid-template-columns: 168px 1fr; gap: 40px; align-items: start; }
.aditi .phero-face { width: 168px; height: 168px; }
.aditi .phero-body h1 { font-size: clamp(30px, 4vw, 46px); margin-bottom: 6px; }
.aditi .phero-role { font-family: var(--head); font-size: 15px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--cyan-deep); margin-bottom: 16px; }
.aditi .phero .lead { max-width: 52ch; margin-bottom: 26px; }
.aditi .phero-meta { display: flex; flex-wrap: wrap; gap: 0; border: 1px solid var(--border); border-top: 3px solid var(--cyan); border-radius: 6px; overflow: hidden; background: var(--white); margin-bottom: 22px; }
.aditi .phero-meta li { flex: 1 1 140px; padding: 18px 20px; }
.aditi .phero-meta li + li { border-left: 1px solid var(--border); }
.aditi .phero-meta b { display: block; font-family: var(--head); font-size: 28px; font-weight: 700; line-height: 1.05; color: var(--navy); font-variant-numeric: tabular-nums; }
.aditi .phero-meta span { font-size: 13px; color: var(--mid); }
.aditi .phero-li { display: inline-flex; align-items: center; gap: 10px; font-family: var(--head); font-size: 14px; font-weight: 600; }
.aditi .certyears { display: grid; gap: 40px; }
.aditi .certyear { display: block; }
.aditi .certyear-label { display: flex; align-items: center; gap: 16px; font-size: 22px; font-weight: 700; letter-spacing: -.01em; color: var(--navy); margin-bottom: 18px; font-variant-numeric: tabular-nums; }
.aditi .certyear-label::after { content: ""; flex: 1 1 auto; height: 1px; background: var(--border); }
.aditi .certlist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.aditi .certitem { background: var(--white); border: 1px solid var(--border); border-radius: 6px; overflow: hidden; transition: border-color .18s ease, transform .18s ease; }
.aditi .certitem:hover { border-color: var(--cyan); transform: translateY(-3px); }
.aditi .certitem { display: flex; flex-direction: column; }
.aditi .certitem-shot { display: block; }
.aditi .certitem-frame { display: flex; align-items: center; justify-content: center; position: relative; aspect-ratio: 4 / 3; padding: 16px; background: var(--bg-light); border-bottom: 1px solid var(--border); }
.aditi .certitem-frame img { max-width: 100%; max-height: 100%; width: auto; height: auto; display: block; }
.aditi .certitem-body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 20px 22px 22px; position: relative; }
.aditi .certitem h4 { font-size: 17px; line-height: 1.35; margin-bottom: 8px; color: var(--navy); }
.aditi .certitem-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.aditi .certitem-kind { display: inline-block; font-family: var(--head); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 9px; color: var(--mid); background: var(--white); border: 1px solid var(--border); border-radius: 3px; }
.aditi .certitem-code { display: inline-block; font-family: var(--head); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 5px 10px; color: var(--navy); background: var(--cyan); border-radius: 3px; }
.aditi .certitem-meta { display: block; font-size: 13px; color: var(--mid); padding-top: 12px; margin-top: auto; border-top: 1px solid var(--border); }
.aditi .certitem-issuer { display: flex; align-items: center; gap: 7px; color: var(--navy); font-weight: 500; }
.aditi .certitem-issuer svg { color: var(--cyan-deep); flex: 0 0 auto; }
.aditi .certitem-date { display: block; margin-top: 3px; }
.aditi .certitem .textlink { color: var(--cyan-deep); }
.aditi .cert-cta h2 { max-width: 22ch; }
.aditi .cert-cta p { max-width: 56ch; }
.aditi .bloglayout { display: grid; grid-template-columns: 1fr 320px; gap: 30px; align-items: start; }
@media (min-height: 900px) {
  .aditi .sidebar { position: sticky; top: 24px; }
}
.aditi .sidebar { display: grid; gap: 18px; }
.aditi .widget { background: var(--white); border: 1px solid var(--border); border-top: 3px solid var(--cyan); border-radius: 6px; padding: 22px 22px 20px; }
.aditi .widget h3 { font-size: 14px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--navy); padding-bottom: 13px; margin-bottom: 15px; border-bottom: 1px solid var(--border); }
.aditi .widget h3 b { color: var(--cyan-deep); font-variant-numeric: tabular-nums; }
.aditi .calarchive { display: block; }
.aditi .caltabs { display: flex; flex-wrap: wrap; gap: 5px; padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--border); }
.aditi .caltab { font-family: var(--head); font-size: 12.5px; font-weight: 700; letter-spacing: .02em; padding: 6px 10px; color: var(--navy); background: var(--white); border: 1px solid var(--border); border-radius: 3px; cursor: pointer; font-variant-numeric: tabular-nums; transition: border-color .18s ease, background .18s ease, color .18s ease; }
.aditi .caltab:hover { border-color: var(--cyan); }
.aditi .caltab:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
.aditi .caltab[aria-selected="true"] { background: var(--navy); border-color: var(--navy); color: var(--white); }
.aditi .calpanel-total { font-family: var(--head); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--mid); margin-bottom: 11px; }
.aditi .calpanel + .calpanel { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border); }
.aditi .calgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.aditi .calmonth { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 48px; padding: 6px 2px; border-radius: 4px; font-family: var(--head); font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; border: 1px solid var(--border); background: var(--bg-light); color: var(--mid); }
.aditi .calmonth b { display: block; margin-top: 3px; font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
.aditi a.calmonth { background: var(--white); border-color: var(--border); border-bottom: 3px solid var(--cyan); color: var(--navy); transition: background .18s ease, border-color .18s ease; }
.aditi a.calmonth b { color: var(--cyan-deep); }
.aditi a.calmonth:hover { background: var(--navy); border-color: var(--navy); color: var(--white); }
.aditi a.calmonth:hover b { color: var(--cyan); }
.aditi .calmonth--off { opacity: .45; }
.aditi .widget-list { display: grid; gap: 1px; }
.aditi .widget-item { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 9px 0; font-size: 14.5px; color: var(--navy); border-bottom: 1px solid var(--border); transition: color .18s ease; }
.aditi .widget-item:last-child { border-bottom: 0; }
.aditi .widget-item:hover { color: var(--cyan-deep); }
.aditi .widget-item span { flex: 1 1 auto; min-width: 0; }
.aditi .widget-item b { flex: 0 0 auto; font-family: var(--head); font-size: 12px; font-weight: 700; color: var(--mid); background: var(--bg-light); border: 1px solid var(--border); border-radius: 3px; padding: 2px 8px; font-variant-numeric: tabular-nums; }
.aditi .widget-item:hover b { color: var(--navy); border-color: var(--cyan); }
.aditi .cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.aditi .cloud-tag { font-family: var(--head); font-size: 13px; font-weight: 500; color: var(--mid); padding: 7px 11px; background: var(--white); border: 1px solid var(--border); border-radius: 3px; transition: border-color .18s ease, color .18s ease; }
.aditi .cloud-tag::before { content: "#"; color: var(--cyan-deep); }
.aditi .cloud-tag:hover { color: var(--navy); border-color: var(--cyan); }
.aditi .cloud-tag b { font-weight: 700; color: var(--navy); margin-left: 6px; font-variant-numeric: tabular-nums; }
.aditi .browse-note { font-size: 13.5px; color: var(--mid); margin-top: 18px; }
.aditi .post-meta { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin-bottom: 14px; }
.aditi .post-chip { display: inline-block; font-family: var(--head); font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; padding: 6px 11px; border-radius: 3px; white-space: nowrap; }
.aditi .post-chip--date { color: var(--navy); background: var(--white); border: 1px solid var(--border); font-variant-numeric: tabular-nums; }
.aditi .post-chip--cat { color: var(--navy); background: var(--cyan); }
.aditi .post-chip--alt { color: var(--mid); background: var(--white); border: 1px solid var(--border); }
.aditi .postlist { display: grid; gap: 14px; }
.aditi .post { display: grid; grid-template-columns: 62px 1fr; align-items: start; background: var(--white); border: 1px solid var(--border); border-left: 3px solid var(--border); border-radius: 6px; padding: 24px 26px 22px; transition: border-color .18s ease, transform .18s ease; }
.aditi .post:hover { border-left-color: var(--cyan); transform: translateX(3px); }
.aditi .post:focus-within { border-left-color: var(--cyan); }
.aditi .post-idx { font-family: var(--head); font-size: 30px; font-weight: 700; line-height: 1; letter-spacing: -.03em; color: var(--border); -webkit-text-stroke: 1.5px var(--border); -webkit-text-fill-color: transparent; font-variant-numeric: tabular-nums; padding-top: 2px; }
.aditi .post-body { min-width: 0; }
.aditi .post-body h3 { font-size: 21px; line-height: 1.3; margin-bottom: 10px; }
.aditi .post-body h3 a { color: var(--navy); }
.aditi .post-body h3 a:hover { color: var(--cyan-deep); }
.aditi .post-excerpt { font-size: 15px; color: var(--mid); margin-bottom: 0; }
.aditi .post-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding-top: 15px; margin-top: 15px; border-top: 1px solid var(--border); }
.aditi .post-tags { display: flex; flex-wrap: wrap; gap: 10px; }
.aditi .post-tag { font-family: var(--head); font-size: 12px; font-weight: 500; color: var(--mid); transition: color .18s ease; }
.aditi .post-tag::before { content: "#"; color: var(--cyan-deep); }
.aditi .post-tag:hover { color: var(--navy); }
.aditi .post-foot .textlink { margin-left: auto; color: var(--cyan-deep); }
.aditi .pager { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 20px; }
.aditi .pager a, .aditi .pager span { display: inline-block; min-width: 42px; text-align: center; font-family: var(--head); font-size: 14px; font-weight: 600; padding: 10px 14px; border: 1px solid var(--border); border-radius: 4px; color: var(--navy); background: var(--white); font-variant-numeric: tabular-nums; transition: border-color .18s ease, background .18s ease, color .18s ease; }
.aditi .pager a:hover { border-color: var(--cyan); color: var(--navy); }
.aditi .blog-none { padding: 40px 30px; background: var(--bg-light); border: 1px solid var(--border); border-top: 3px solid var(--cyan); border-radius: 6px; text-align: center; color: var(--mid); }
.aditi .form { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.aditi .field { display: flex; flex-direction: column; min-width: 0; }
.aditi .field--wide { grid-column: 1 / -1; }
.aditi .field label { font-family: var(--head); font-size: 13.5px; font-weight: 600; letter-spacing: .02em; color: var(--navy); margin-bottom: 7px; }
.aditi .field label span { font-weight: 500; color: var(--mid); text-transform: none; letter-spacing: 0; }
.aditi .field input, .aditi .field textarea, .aditi .field select { font-family: var(--body); font-size: 16px; line-height: 1.5; color: var(--black); width: 100%; padding: 13px 15px; min-height: 48px; background: var(--white); border: 1px solid var(--border); border-radius: 4px; transition: border-color .18s ease; -webkit-appearance: none; appearance: none; }
.aditi .field textarea { min-height: 150px; resize: vertical; }
.aditi .field input:hover, .aditi .field textarea:hover, .aditi .field select:hover { border-color: var(--mid); }
.aditi .field input:focus, .aditi .field textarea:focus, .aditi .field select:focus { outline: 2px solid var(--cyan); outline-offset: 1px; border-color: var(--cyan-deep); }
.aditi .select-wrap { position: relative; }
.aditi .select-wrap::after { content: ""; position: absolute; right: 16px; top: 50%; margin-top: -3px; width: 0; height: 0; pointer-events: none; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 6px solid var(--navy); }
.aditi .select-wrap select { padding-right: 38px; }
.aditi .field-note { font-size: 13px; color: var(--mid); margin-top: 7px; }
.aditi .hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.aditi .form-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; padding-top: 4px; }
.aditi .form-actions .btn { min-height: 48px; }
.aditi .form-actions p { font-size: 13.5px; color: var(--mid); margin: 0; }
.aditi .form-msg { padding: 22px 24px; border: 1px solid var(--border); border-radius: 6px; margin-bottom: 28px; }
.aditi .form-msg h2 { font-size: 20px; margin-bottom: 8px; }
.aditi .form-msg p { font-size: 15px; color: var(--mid); margin-bottom: 0; }
.aditi .form-msg--ok { background: var(--bg-light); border-top: 3px solid var(--cyan); }
.aditi .form-msg--bad { background: var(--white); border-top: 3px solid var(--navy); }
.aditi .contact-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 44px; align-items: start; }
.aditi .contact-aside { display: grid; gap: 18px; }
@media (max-width: 980px) {
  .aditi .contact-grid { grid-template-columns: 1fr; gap: 26px; }
  .aditi .cert-hero { grid-template-columns: 1fr; gap: 34px; }
  .aditi .cert-hero h1 { max-width: 20ch; }
  .aditi .cert-seals { justify-content: flex-start; }
  .aditi .cert-seals .seal { width: 118px; }
  .aditi .cert-seals .seal:nth-child(2) { width: 136px; }
  .aditi .cgrid, .aditi .certlist, .aditi .latest { grid-template-columns: repeat(2, 1fr); }
  .aditi .phero-grid { grid-template-columns: 128px 1fr; gap: 28px; }
  .aditi .phero-face { width: 128px; height: 128px; }
  .aditi .bloglayout { grid-template-columns: 1fr; gap: 22px; }
  .aditi .sidebar { position: static; grid-template-columns: 1fr 1fr; }
  .aditi .post { padding: 22px 22px 20px; }
  .aditi .post-body h3 { font-size: 19px; }
}
@media (max-width: 700px) {
  .aditi .form { grid-template-columns: 1fr; gap: 16px; }
  .aditi .form-actions .btn { width: 100%; }
  .aditi .cgrid, .aditi .certlist, .aditi .latest { grid-template-columns: 1fr; }
  .aditi .cert-hero { gap: 28px; }
  .aditi .cert-seals .seal { width: 96px; }
  .aditi .cert-seals .seal:nth-child(2) { width: 112px; }
  .aditi .ccard { padding: 22px 20px 20px; }
  .aditi .ccard-idx { font-size: 34px; }
  .aditi .ccard-foot .btn { display: inline-block; }
  .aditi .phero-grid { grid-template-columns: 1fr; gap: 22px; }
  .aditi .phero-face { width: 112px; height: 112px; }
  .aditi .phero-meta li { flex: 1 1 100%; }
  .aditi .phero-meta li + li { border-left: 0; border-top: 1px solid var(--border); }
  .aditi .certitem-frame { aspect-ratio: 3 / 2; }
  .aditi .certyears { gap: 30px; }
  .aditi .sidebar { grid-template-columns: 1fr; }
  .aditi .post { grid-template-columns: 1fr; gap: 8px; padding: 20px 20px 18px; }
  .aditi .post-idx { font-size: 24px; padding-top: 0; }
  .aditi .post-body h3 { font-size: 18px; }
  .aditi .post-foot .textlink { margin-left: 0; }
  .aditi .widget { padding: 20px 20px 18px; }
  .aditi .calgrid { grid-template-columns: repeat(6, 1fr); }
  .aditi .caltabs { padding-bottom: 12px; margin-bottom: 12px; }
  .aditi .legal-toc ol { columns: 1; }
  .aditi .legal-toc { padding: 20px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .aditi .post:hover { transform: none; }
  .aditi .ticker-track { animation: none; }
  .aditi .ccard:hover, .aditi .certitem:hover { transform: none; }
}
.aditi .dgm { display: block; width: 100%; height: auto; }
.aditi .dgm text { font-family: var(--head); }
.aditi .t-kick { font-size: 11.5px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; fill: var(--cyan-deep); }
.aditi .t-lab { font-size: 14px; font-weight: 600; fill: var(--navy); }
.aditi .t-mut { font-size: 12px; font-weight: 500; fill: var(--mid); }
.aditi .t-key { font-size: 13px; font-weight: 600; fill: var(--cyan-deep); }
.aditi .s-navy { fill: none; stroke: var(--navy); stroke-width: 1.7; }
.aditi .s-cyan { fill: none; stroke: var(--cyan); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.aditi .s-dash { fill: none; stroke: var(--border); stroke-width: 1.7; stroke-dasharray: 5 5; }
.aditi .f-navy { fill: var(--navy); }
.aditi .f-cyan { fill: var(--cyan); }
.aditi .f-light { fill: var(--bg-light); }
.aditi .f-line { fill: var(--border); }
.aditi .dgm-cap { margin: 16px 0 0; font-size: 13px; line-height: 1.55; color: var(--mid); }
.aditi .hero-figure { background: var(--white); border: 1px solid var(--border); border-bottom: 3px solid var(--cyan); border-radius: 8px; padding: 26px 26px 22px; }
.aditi .gate { margin-bottom: 36px; padding: 28px 30px 24px; background: var(--bg-light); border-radius: 6px; }
.aditi .gate-tall { display: none; }
.aditi .gate-mark { transform-box: fill-box; transform-origin: 50% 50%; animation: aditi-gate .45s ease-out .3s both; }
@keyframes aditi-gate { from { transform: scaleY(0); }
  to   { transform: scaleY(1); } }
.aditi .lane-dgm { margin-bottom: 20px; padding: 16px 18px 14px; background: var(--bg-light); border-radius: 6px; }
@media (min-width: 981px) {
  .aditi .lanes--four { grid-template-columns: repeat(2, 1fr); }
  @supports (grid-template-rows: subgrid) {
    .aditi .lanes--four { grid-template-rows: repeat(2, auto auto auto 1fr auto); }
    .aditi .lanes--four > .lane:nth-child(n/**/+3) { margin-top: 34px; }
  }
}
.aditi .swap { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 16px 0 0; font-family: var(--head); font-size: 12.5px; font-weight: 600; line-height: 1.4; }
.aditi .swap-was { color: var(--mid); text-decoration: line-through; text-decoration-color: var(--border); text-decoration-thickness: 2px; }
.aditi .swap-arrow { position: relative; flex: 0 0 auto; width: 18px; height: 1.7px; background: var(--navy); }
.aditi .swap-arrow::after { content: ""; position: absolute; right: 0; top: -3.2px; width: 8px; height: 8px; border-top: 1.7px solid var(--navy); border-right: 1.7px solid var(--navy); transform: rotate(45deg); }
.aditi .swap-now { color: var(--navy); border-bottom: 2px solid var(--cyan); }
.aditi .stats--proof { margin-bottom: 34px; }
.aditi .fear-chip { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 10px; padding: 5px 13px 5px 10px; font-family: var(--head); font-size: 12px; font-weight: 600; line-height: 1.35; color: var(--navy); background: var(--white); border: 1px solid var(--border); border-radius: 999px; }
.aditi .fear-chip svg { margin-top: 0; color: var(--cyan-deep); flex: 0 0 auto; }
@media (max-width: 980px) {
  .aditi .hero-figure { order: -1; padding: 20px 20px 18px; }
  .aditi .gate { padding: 24px 22px 20px; }
}
@media (max-width: 700px) {
  .aditi .hero-figure { padding: 16px 16px 14px; }
  .aditi .gate { padding: 20px 18px 16px; margin-bottom: 28px; }
  .aditi .gate-wide { display: none; }
  .aditi .gate-tall { display: block; }
  .aditi .lane-dgm { padding: 14px 16px 12px; }
  .aditi .stats--proof { margin-bottom: 26px; }
  .aditi .swap { gap: 8px; font-size: 12px; }
  .aditi .dgm-cap { font-size: 12.5px; }
}
@media (prefers-reduced-motion: reduce) {
  .aditi .gate-mark { animation: none; }
}
.aditi .fit { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 30px; }
.aditi .fit-col { padding-top: 18px; }
.aditi .fit-col--in { border-top: 3px solid var(--cyan); }
.aditi .fit-col--out { border-top: 3px dashed var(--border); }
.aditi .fit-cap { margin: 0 0 14px; font-family: var(--head); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.aditi .fit-cap--in { color: var(--cyan-deep); }
.aditi .fit-cap--out { color: var(--mid); }
.aditi .fit-set { display: flex; flex-direction: column; gap: 10px; }
.aditi .fit-chip { padding: 13px 16px; font-family: var(--head); font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--navy); background: var(--white); border: 1.7px solid var(--navy); border-radius: 6px; }
.aditi .fit-chip--out { color: var(--mid); background: var(--bg-light); border: 1.7px dashed var(--border); }
.aditi .gtee-grid { display: grid; grid-template-columns: 88px 1fr; gap: 26px; align-items: start; }
.aditi .gtee-seal { display: block; width: 88px; }
.aditi .proof-head { display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; margin-bottom: 12px; }
.aditi .proof-ico { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--navy); background: var(--bg-light); border-radius: 6px; }
.aditi .proof-head .what { margin-bottom: 0; }
.aditi .q-foot { display: flex; align-items: center; gap: 16px; }
.aditi .q-avatar { display: block; flex: 0 0 auto; width: 56px; }
.aditi .t-ini { font-size: 19.6px; font-weight: 700; fill: var(--white); }
.aditi .know { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 26px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.18); border-radius: 6px; overflow: hidden; }
.aditi .know-item { display: flex; flex-direction: column; gap: 9px; padding: 18px 20px; background: var(--navy); }
.aditi .know-item svg { color: var(--cyan); flex: 0 0 auto; }
.aditi .know-lab { font-family: var(--head); font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--white); }
@media (max-width: 980px) {
  .aditi .know { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .aditi .fit { grid-template-columns: 1fr; gap: 20px; margin-bottom: 24px; }
  .aditi .fit-chip { padding: 11px 14px; font-size: 13.5px; }
  .aditi .gtee-grid { grid-template-columns: 1fr; gap: 18px; }
  .aditi .gtee-seal { width: 64px; }
  .aditi .proof-head { grid-template-columns: 38px 1fr; gap: 12px; }
  .aditi .proof-ico { width: 38px; height: 38px; }
  .aditi .q-foot { gap: 13px; }
  .aditi .q-avatar { width: 48px; }
}
@supports (grid-template-rows: subgrid) {
  .aditi.aditi--software-services .lanes:not(.lanes--home) > .lane { margin-top: 16px; }
}
.aditi.aditi--case-studies .hero-facts { display: flex; flex-wrap: wrap; gap: 10px 28px; padding-top: 24px; border-top: 1px solid var(--border); font-size: 14px; color: var(--mid); }
.aditi.aditi--case-studies .hero-facts li { display: flex; align-items: center; gap: 9px; }
.aditi.aditi--case-studies .hero-facts svg { color: var(--cyan-deep); flex: 0 0 auto; }
.aditi .dfilter { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; margin-bottom: 18px; }
.aditi .dpill { display: inline-flex; align-items: center; gap: 7px; font-family: var(--head); font-size: 13px; font-weight: 600; color: var(--mid); background: var(--white); border: 1px solid var(--border); border-radius: 999px; padding: 8px 14px; cursor: pointer; transition: border-color .15s ease, color .15s ease, background .15s ease; }
.aditi .dpill b { font-size: 11px; font-weight: 700; color: var(--mid); background: var(--bg-light); border-radius: 999px; min-width: 20px; padding: 2px 6px; text-align: center; }
.aditi .dpill:hover { border-color: var(--navy); color: var(--navy); }
.aditi .dpill.is-on { background: var(--navy); border-color: var(--navy); color: var(--white); }
.aditi .dpill.is-on b { background: rgba(255,255,255,.18); color: var(--white); }
.aditi .dcount { font-size: 13px; color: var(--mid); margin: 0 0 20px; }
.aditi .dgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.aditi .dcard { position: relative; overflow: hidden; display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--border); border-radius: 6px; padding: 20px 20px 18px; transition: border-color .15s ease, box-shadow .15s ease; }
.aditi .dcard:hover { border-color: var(--navy); box-shadow: 0 3px 14px rgba(29,52,97,.07); }
.aditi .dcard[hidden] { display: none; }
.aditi .dcard-bar { position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--dom, var(--cyan)); }
.aditi .dcard-domain { font-family: var(--head); font-size: 10.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--dom, var(--cyan-deep)); margin: 4px 0 10px; }
.aditi .dcard-client { font-size: 13px; color: var(--mid); margin-bottom: 5px; }
.aditi .dcard h3 { font-family: var(--head); font-size: 15.5px; font-weight: 600; line-height: 1.35; color: var(--navy); margin: 0 0 14px; }
.aditi .dcard-stack { display: flex; flex-wrap: wrap; gap: 5px; margin-top: auto; }
.aditi .dcard-stack span { font-size: 11px; color: var(--mid); background: var(--bg-light); border: 1px solid var(--border); border-radius: 4px; padding: 3px 7px; }
.aditi .dcard[data-domain="crm"] { --dom: #556270; }
.aditi .dcard[data-domain="manufacturing"] { --dom: #A34A3F; }
.aditi .dcard[data-domain="education"] { --dom: #6A4C93; }
.aditi .dcard[data-domain="transport"] { --dom: #0092AF; }
.aditi .dcard[data-domain="construction"] { --dom: #8A6D3B; }
.aditi .dcard[data-domain="security"] { --dom: #1D3461; }
.aditi .dcard[data-domain="electronics"] { --dom: #3E6DA8; }
.aditi .dcard[data-domain="environment"] { --dom: #4C7A34; }
.aditi .dcard[data-domain="finance"] { --dom: #B5651D; }
.aditi .dcard[data-domain="public-sector"] { --dom: #52607A; }
.aditi .dcard[data-domain="healthcare"] { --dom: #2E7D6B; }
.aditi .dcard[data-domain="retail"] { --dom: #9B4A6E; }
@media (max-width: 1000px) {
  .aditi .dgrid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .aditi .dgrid { grid-template-columns: 1fr; gap: 12px; }
  .aditi .dfilter { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
  .aditi .dfilter::-webkit-scrollbar { display: none; }
  .aditi .dpill { flex: 0 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .aditi .dcard, .aditi .dpill { transition: none; }
}
@media (max-width: 980px) {
  .aditi.aditi--case-studies .lanes { grid-template-columns: 1fr; }
}
.aditi .legal-updated { font-size: 14px; color: var(--mid); margin: 10px 0 0; }
.aditi .legal-address { font-style: normal; font-size: 16px; line-height: 1.75; color: var(--black); margin: 0 0 18px; padding-left: 16px; border-left: 2px solid var(--border); }
.aditi .cs-hero { align-items: center; grid-template-columns: 1.12fr .88fr; }
.aditi .cs-hero .kicker { margin-bottom: 14px; }
.aditi .cs-hero h1 { max-width: 24ch; margin-bottom: 18px; font-size: clamp(28px, 3.1vw, 40px); line-height: 1.14; text-wrap: balance; }
.aditi .cs-hero .lead { max-width: 44ch; margin-bottom: 28px; }
.aditi .cs-hero-media { align-self: center; }
.aditi .cs-shot { display: block; width: 100%; height: auto; margin: 0; max-width: none; background: var(--white); border: 1px solid var(--border); border-bottom: 3px solid var(--cyan); border-radius: 8px; }
.aditi .cs-hero-facts { display: flex; flex-wrap: wrap; gap: 8px 26px; margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--border); font-size: 13.5px; color: var(--mid); }
.aditi .cs-hero-facts li { display: flex; gap: 7px; }
.aditi .cs-hero-facts b { font-family: var(--head); font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--cyan-deep); }
.aditi .cs-outcome-band { margin-top: 4px; }
.aditi .cs-snapshot { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); border-top: 3px solid var(--cyan); border-radius: 6px; overflow: hidden; margin: 0; }
.aditi .cs-snapshot > div { background: var(--white); padding: 20px 22px; }
.aditi .cs-snapshot dt { font-family: var(--head); font-size: 11px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--mid); margin-bottom: 6px; }
.aditi .cs-snapshot dd { margin: 0; font-size: 15px; line-height: 1.5; color: var(--navy); font-weight: 500; }
.aditi .cs-prose { max-width: 62ch; }
.aditi .cs-prose > p, .aditi .cs-prose > ul li { font-size: 17px; line-height: 1.72; color: var(--black); }
.aditi .cs-prose > .kicker { margin-top: 46px; }
.aditi .cs-prose > .kicker:first-child { margin-top: 0; }
.aditi .cs-prose h2 { margin-bottom: 14px; }
.aditi .cs-aside { max-width: 62ch; background: var(--bg-light); border: 1px solid var(--border); border-left: 4px solid var(--cyan); border-radius: 0 6px 6px 0; padding: 22px 26px; margin: 24px 0 0; }
.aditi .cs-aside b { display: block; font-family: var(--head); font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--cyan-deep); margin-bottom: 8px; }
.aditi .cs-aside p { font-size: 15px; line-height: 1.65; color: var(--mid); margin: 0; }
.aditi .cs-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.aditi .cs-gallery figure { margin: 0; }
.aditi .cs-gallery figcaption { font-size: 13px; line-height: 1.5; color: var(--mid); margin-top: 10px; }
.aditi .cs-result { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; max-width: 62ch; padding: 22px 26px; margin: 6px 0 22px; background: var(--bg-light); border-left: 4px solid var(--cyan); border-radius: 0 6px 6px 0; }
.aditi .cs-result b { font-family: var(--head); font-size: 34px; font-weight: 700; letter-spacing: -.02em; color: var(--navy); font-variant-numeric: tabular-nums; }
.aditi .cs-result span { font-size: 15px; color: var(--mid); }
@media (max-width: 980px) {
  .aditi .cs-gallery { grid-template-columns: 1fr; gap: 16px; }
  .aditi .cs-snapshot { grid-template-columns: repeat(2, 1fr); }
  .aditi .cs-hero h1, .aditi .cs-hero .lead { max-width: none; }
  .aditi .cs-prose > p, .aditi .cs-prose > ul li { font-size: 16px; }
  .aditi .cs-result b { font-size: 28px; }
  .aditi .cs-hero-facts { gap: 6px 20px; }
}
@media (max-width: 600px) {
  .aditi .cs-snapshot { grid-template-columns: 1fr; }
}
.aditi.aditi--testimonials .hero-split { display: grid; grid-template-columns: 1.08fr .92fr; gap: 44px; align-items: stretch; }
.aditi.aditi--testimonials .hero-media { position: relative; display: flex; align-items: flex-end; justify-content: center; min-height: 340px; padding: 0 16px; background: var(--white); border: 1px solid var(--border); border-bottom: 3px solid var(--cyan); border-radius: 8px; overflow: hidden; }
.aditi.aditi--testimonials .hero-media img { display: block; width: auto; height: auto; max-width: 100%; max-height: 460px; margin: 0; }
.aditi.aditi--testimonials .logowall { display: flex; flex-direction: column; gap: 30px; }
.aditi .logowall figure { margin: 0; }
.aditi.aditi--testimonials .logowall img { display: block; width: 100%; height: auto; max-width: 1000px; margin: 0 auto; }
.aditi .logowall figcaption { font-family: var(--head); font-size: 11.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--mid); text-align: center; margin-top: 12px; }
.aditi .tlist + .tlist { margin-top: 20px; }
.aditi .tcard svg.avatar--initials { display: block; background: transparent; border-color: var(--navy); width: 52px; height: 52px; }
.aditi.aditi--testimonials .tcard--portrait { background: var(--white); border: 1px solid var(--border); border-top: 3px solid var(--cyan); border-left: 1px solid var(--border); border-radius: 6px; padding: 24px 26px; margin-top: 20px; }
@media (max-width: 980px) {
  .aditi.aditi--testimonials .hero-media { order: -1; min-height: 260px; }
  .aditi.aditi--testimonials .hero-media img { max-height: 300px; }
}
.aditi .icard { max-width: 460px; margin: 0 auto; }
.aditi .icard-top { background: var(--navy); border-radius: 10px 10px 0 0; padding: 32px 24px 26px; text-align: center; position: relative; overflow: hidden; }
.aditi .icard-top::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.14) 1px, transparent 1px); background-size: 15px 15px; pointer-events: none; }
.aditi .icard-photo { position: relative; display: block; width: 116px; height: 116px; margin: 0 auto 16px; border-radius: 50%; border: 3px solid rgba(255,255,255,.9); object-fit: cover; background: var(--bg-light); }
.aditi .icard-name { position: relative; font-family: var(--head); font-size: 25px; font-weight: 700; letter-spacing: -.01em; color: var(--white); margin: 0 0 5px; }
.aditi .icard-role { position: relative; font-family: var(--head); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #6FDCF5; margin: 0 0 10px; }
.aditi .icard-org { position: relative; font-size: 14px; color: rgba(255,255,255,.82); margin: 0; }
.aditi .icard-tag { background: var(--bg-light); border: 1px solid var(--border); border-top: 0; border-radius: 0 0 10px 10px; padding: 18px 24px; text-align: center; font-family: var(--head); font-size: 15.5px; font-weight: 500; line-height: 1.5; color: var(--navy); margin: 0 0 24px; }
.aditi .iact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 10px; }
.aditi .iact-grid--one { grid-template-columns: 1fr; }
.aditi .iact { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 54px; padding: 14px 16px; font-family: var(--head); font-size: 14.5px; font-weight: 600; text-align: center; text-decoration: none; border-radius: 6px; border: 1px solid var(--border); background: var(--white); color: var(--navy); transition: border-color .15s ease, background .15s ease; }
.aditi .iact:hover { border-color: var(--navy); background: var(--bg-light); }
.aditi .iact svg { flex: 0 0 auto; }
.aditi .iact--primary { background: var(--navy); border-color: var(--navy); color: var(--white); }
.aditi .iact--primary:hover { background: #16294c; border-color: #16294c; color: var(--white); }
.aditi .iact--cyan { background: var(--cyan-deep); border-color: var(--cyan-deep); color: var(--white); }
.aditi .iact--cyan:hover { background: #007e97; border-color: #007e97; color: var(--white); }
.aditi .isec { margin-top: 30px; }
.aditi .isec-h { font-family: var(--head); font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cyan-deep); margin: 0 0 12px; padding-bottom: 9px; border-bottom: 1px solid var(--border); }
.aditi .isec p { font-size: 15px; line-height: 1.65; color: var(--black); }
.aditi .ilane { border: 1px solid var(--border); border-left: 3px solid var(--cyan); border-radius: 0 6px 6px 0; padding: 15px 17px; margin-bottom: 10px; }
.aditi .ilane b { display: block; font-family: var(--head); font-size: 15px; font-weight: 600; color: var(--navy); margin-bottom: 4px; }
.aditi .ilane span { font-size: 14px; line-height: 1.55; color: var(--mid); }
.aditi .iguarantee { background: var(--bg-light); border: 1px solid var(--border); border-left: 4px solid var(--cyan); border-radius: 0 6px 6px 0; padding: 20px; }
.aditi .iguarantee-head { display: flex; align-items: center; gap: 11px; margin-bottom: 10px; }
.aditi .iguarantee q { display: block; quotes: none; font-family: var(--head); font-size: 15px; font-weight: 500; line-height: 1.6; color: var(--navy); }
.aditi .iguarantee q::before, .aditi .iguarantee q::after { content: ""; }
.aditi .istats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.aditi .istat { border: 1px solid var(--border); border-radius: 6px; padding: 14px 8px; text-align: center; }
.aditi .istat b { display: block; font-family: var(--head); font-size: 21px; font-weight: 700; color: var(--navy); line-height: 1.1; margin-bottom: 5px; }
.aditi .istat span { font-size: 11.5px; line-height: 1.35; color: var(--mid); }
.aditi .icert { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.aditi .icert span { font-family: var(--head); font-size: 12px; font-weight: 600; border: 1px solid var(--border); border-radius: 4px; padding: 5px 9px; color: var(--navy); background: var(--white); }
.aditi .icert-lab { font-size: 12.5px; color: var(--mid); margin: 0 0 6px; }
.aditi .iaddr { font-style: normal; font-size: 14.5px; line-height: 1.65; color: var(--black); margin: 0 0 12px; }
.aditi .ishare { display: flex; flex-wrap: wrap; gap: 8px; }
.aditi .ishare a { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border: 1px solid var(--border); border-radius: 6px; color: var(--navy); background: var(--white); transition: border-color .15s ease, background .15s ease; }
.aditi .ishare a:hover { border-color: var(--navy); background: var(--bg-light); }
.aditi .icard-foot { margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--border); font-size: 12.5px; color: var(--mid); text-align: center; }
@media (max-width: 380px) {
  .aditi .iact-grid, .aditi .istats { grid-template-columns: 1fr; }
  .aditi .istat { display: flex; align-items: baseline; gap: 10px; text-align: left; }
  .aditi .istat b { margin-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .aditi .iact, .aditi .ishare a { transition: none; }
}
.aditi--vikassawarkar .simrow { max-width: 1200px; margin: 0 auto; padding: 48px 20px 80px; }
.aditi-post { --a: #3550a0; --ink: #333333; --body: #666666; --line: #e2e7ee; --panel: #f7f9fc; --tint: #eef2fa; --head: "Montserrat",Helvetica,Arial,sans-serif; --text: "Inter",Helvetica,Arial,sans-serif; font-family: var(--text); font-size: 18px; line-height: 1.7; color: var(--body); }
.aditi-post * { box-sizing: border-box; }
.aditi-post h2, .aditi-post h3 { font-family: var(--head); color: var(--a); font-weight: 600; line-height: 1.3; margin: 2em 0 .6em; padding-bottom: 0; }
.aditi-post h2 { font-size: 27px; }
.aditi-post h3 { font-size: 21px; }
.aditi-post p { margin: 0 0 1.15em; }
.aditi-post strong { color: var(--ink); font-weight: 600; }
.aditi-post .byline { font-family: var(--head); font-size: 13px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--body); margin: 0 0 2em; padding-bottom: 1.4em; border-bottom: 1px solid var(--line); }
.aditi-post figure { margin: 2.4em 0; padding: 0; }
.aditi-post figcaption { font-family: var(--text); font-size: 15px; line-height: 1.55; color: var(--body); margin-top: .9em; padding-left: 14px; border-left: 3px solid var(--a); }
@media (max-width:767px) {
  .aditi-post { font-size: 17px; }
  .aditi-post h2 { font-size: 23px; }
  .aditi-post figcaption { font-size: 14px; }
}
.aditi-post .byline .engagement { display: block; margin: .5em 0 .2em; font-family: var(--text); font-size: 15px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--body); }
.aditi-post .ccard-li { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 3px; background-color: var(--a); color: #fff; transition: background-color .18s ease; }
.aditi-post .ccard-li:hover, .aditi-post .ccard-li:focus { background-color: #2c4488; color: #fff; }
.aditi-post .ccard-li img { display: block; }
.aditi-post pre { margin: 0 0 1.6em; padding: 16px 18px; background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--a); border-radius: 0 6px 6px 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.aditi-post pre code { display: block; font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace; font-size: 14px; line-height: 1.6; color: var(--ink); white-space: pre; background: none; border: 0; padding: 0; }
.aditi-post :not(pre) > code { font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace; font-size: .92em; padding: 2px 6px; border-radius: 3px; background: var(--tint); border: 1px solid var(--line); color: var(--ink); }
.aditi-post ul { margin: 0 0 1.4em; padding-left: 1.2em; list-style: disc; }
.aditi-post ul li { margin: 0 0 .45em; }
.aditi-post .post-featured { margin-top: 0; }
@media (max-width:767px) {
  .aditi-post pre { padding: 13px 14px; }
  .aditi-post pre code { font-size: 13px; }
}

/* Additions for the copy (hand-written; build-styles.py appends them after the merged design rules).
   Keep this file short: a rule belongs here only when the copy's markup needs it and the design has no rule for it. */

/* Headings wrap as on live: Twenty Twenty-Five sets text-wrap: pretty on headings, which moved line breaks (the home
   heading broke "never have / to manage"; Vikas, 12-Oct-2026). The case-study heading keeps the design's balance. */
.aditi :is(h1, h2, h3, h4, h5, h6) { text-wrap: wrap; }

/* Content width as on live: Divi rows are 80% of the window up to 1080px, on every page (312px on a 390px phone, where
   the theme's 20px gutter alone gave 350px; style-compare, 12-Oct-2026). The business card (blank template) has its
   own width, as live. */
.aditi { max-width: 1080px; margin-inline: auto; }
.aditi.alignfull:not(.aditi--vikassawarkar) { width: min(80vw, 1080px); }

/* Headings kept at live's level but shown in the design's role (stat-value, lane-title, cta-title): the design's own
   rules reach them through build-styles.py ALIASES; these reset what the generic heading rules would add. */
.aditi .stat-value, .aditi .lane-title { margin: 0; }
.aditi .cta-title { margin: 0 0 12px; }

/* The clean design set these inline on the home CTA. */
.aditi .navy .lead { color: rgba(255, 255, 255, .85); }
.aditi .btns--stack { flex-direction: column; align-items: stretch; }

/* ---- Live match. Where live (the Divi build) is consistent across its pages and differs from the clean design, live
   wins. Where live varies page to page (body weight 400 or 500, section-head h2 27 to 33px) the design's single value
   stays, and Divi's colour leaks (#0c71c3, #3550a0, the testimonial gold) are not copied: one type scale, brand colours
   (docs/phase5-method-experiment-v1.md, deviations). Measured with the computed-style comparison, 11-Oct-2026. */
.aditi .hero-split h1 { font-size: 29px; line-height: 1.4; }
.aditi .hero > h1 { font-size: 42px; line-height: 1.19; }
.aditi .hero--legal > h1 { font-size: 50px; line-height: 1.1; }
.aditi .cert-hero h1 { font-size: 40px; line-height: 1.15; }
.aditi .phero h1 { line-height: 1.4; }
.aditi .head p:not(.lead) { font-size: 16px; line-height: 1.6; color: var(--black); }
.aditi .trust h4 { line-height: 1.6; }
.aditi .navy h2 { font-size: 40px; line-height: 1.4; }
.aditi .lanes .lane .lane-title { font-size: 21px; line-height: 1.4; }
.aditi .stats .stat-value { font-size: 24px; line-height: 1.6; }
.aditi .sec-more b { font-size: 15px; line-height: 1.6; }
.aditi .btn { display: inline-block; padding: 16px 24px; line-height: 1.7; }
.aditi .lane-foot .btn { font-size: 13.5px; }
.aditi .legal-updated { font-family: var(--head); font-size: 13px; font-weight: 600; text-transform: uppercase; }
@media (max-width: 767px) {
  .aditi .head h2, .aditi .navy h2, .aditi .lanes .lane .lane-title, .aditi .hero-split h1 { font-size: 24px; line-height: 1.4; }
  .aditi .hero--legal > h1 { font-size: 30px; }
  .aditi .stats .stat-value { font-size: 16px; }
  .aditi .hero .btns { flex-direction: column; align-items: stretch; }
  .aditi .hero .btns .btn { text-align: center; }
}

/* Live's "View full certificate" link under each certificate (not in the clean design). */
.aditi .certitem-view { margin: 8px 0 0; font-family: var(--head); font-size: 13px; }
.aditi .certitem-view a { color: var(--cyan-deep); font-weight: 600; text-decoration: none; }
.aditi .certitem-view a:hover, .aditi .certitem-view a:focus-visible { text-decoration: underline; }

/* Certificate scans at the frame's full width and their own height, as live on every certificate page (314px on
   desktop); the design's 4:3 frame shrank tall scans (PL-900 246px, PMP 296px; style-compare, 12-Oct-2026). Drawn
   seals have no scan and keep the 4:3 frame. */
.aditi .certitem-frame:not(.certitem-frame--drawn) { aspect-ratio: auto; }
.aditi .certitem-frame:not(.certitem-frame--drawn) img { width: 100%; max-height: none; }

/* Live match, components of one page each (testimonials, certificates index): live's values. */
.aditi .tlist--lead .tcard q { font-size: 16px; line-height: 1.6; }
.aditi .ccard h3 { font-size: 22px; line-height: 1.5; }
.aditi .ccard-idx { font-size: 46px; line-height: 1; }
.aditi .btn--sm { font-size: 13.5px; line-height: 1; }
.aditi .latest-meta > span { line-height: 26px; }
.aditi .ccard-tags li { line-height: 20.7px; }
/* software-services only: fears cards, proof stats (live's values). */
.aditi .fear h4 { color: var(--navy); }
.aditi .stats--proof b { font-size: 36px; line-height: 1.05; }
.aditi .stats--proof li span { line-height: 26px; }
/* The case-study template (case-study-mits-offer-letter): live's values. */
.aditi .cs-prose { max-width: none; }
.aditi .hero-split.cs-hero h1 { font-size: 40px; line-height: 1.14; }
/* On a phone the hero stacks, as every other split hero: the case-study page's own two-column rule comes after the shared
   one-column rule in the merged stylesheet and kept the screenshot at 92px (live 344px; style-compare, 12-Oct-2026). */
@media (max-width: 980px) {
  .aditi .cs-hero { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .aditi .hero-split.cs-hero h1 { font-size: 28px; }
}
.aditi .cs-hero .lead { font-size: 19px; }
.aditi .cs-result span { font-size: 15px; line-height: 1.6; color: var(--mid); }
.aditi blockquote.quote q { font-size: 16px; line-height: 1.5; color: var(--black); }
.aditi.aditi--case .head h2 { font-size: 30px; line-height: 1.4; }   /* also on mobile, as live */
.aditi.aditi--case .head p:not(.lead) { font-size: 18px; line-height: 1.7; color: var(--mid); }
.aditi.aditi--case .cs-prose h3 { font-size: 20px; line-height: 1.4; }
.aditi.aditi--case .cs-prose > p { font-size: 17px; line-height: 1.72; }

/* ---- A single post (R1 blog): live's Theme Builder single-post layout, measured on live 11-Oct-2026 at 1440 and 390.
   A grey band across the page, a white card with a shadow, the header (templates/single.html, [aditi_post_header]),
   then the article (.aditi-post, live's article stylesheet) at 80% of the card. */
.aditi-single { margin-inline: -20px; padding: 17px 0 27px; background: rgba(214, 214, 214, .43); }
.aditi-single .post-card { width: 100%; max-width: 1080px; margin: 0 auto; padding-top: 27px; background: #fff; box-shadow: 0 2px 18px 0 rgba(0, 0, 0, .3); }
.post-head { margin: 10px 0 -2px; text-align: center; font-family: 'Montserrat', Helvetica, Arial, sans-serif; }
.post-head .entry-title { margin: 0; padding-bottom: 10px; font-size: 35px; font-weight: 700; line-height: 1.4; color: #3550a0; }
.post-head .post-head-meta { margin: 0; font-size: 17px; font-weight: 500; line-height: 1.9; color: #0c71c3; }
.post-head .post-head-meta a { color: #0c71c3; text-decoration: none; }
.post-head .post-head-rt { margin: 4px 0; padding: 4px 0; font-size: 18px; font-weight: 500; line-height: 1.8; color: rgba(0, 0, 0, .7); }
.aditi-single .aditi-post { box-sizing: border-box; width: 80%; max-width: 860px; margin: 0 auto; padding: 44px 30px 80px; }   /* live: 860px with the padding inside, 800px of text */
/* The tag chips under the date line: live's Divi custom CSS (freeze, posts-custom_css). */
.aditi-ptags { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 6px; }
.aditi-ptags .aditi-ptag { display: inline-block; font-family: 'Montserrat', Arial, Helvetica, sans-serif; font-size: 12.5px; font-weight: 500; color: #4a4a6a; background: #fff; border: 1px solid #d4d4e0; border-radius: 999px; padding: 6px 14px; text-decoration: none; transition: border-color .18s ease, color .18s ease; }
.aditi-ptags .aditi-ptag::before { content: '#'; color: #0092af; }
.aditi-ptags .aditi-ptag:hover { color: #1d3461; border-color: #00b4d8; }
/* Live's article values where its Divi modules overrode the article stylesheet (style-compare against live, 11-Oct-2026):
   chips take the body's line height, the byline 1.8, headings 28px at every width. */
.aditi-ptags .aditi-ptag { line-height: 32.4px; }
.aditi-single .aditi-post .byline { line-height: 1.8; }
.aditi-single .aditi-post .byline .engagement { line-height: inherit; }
.aditi-single .aditi-post h2 { font-size: 28px; line-height: 1.3; }
/* Images never wider than the article (live: Divi capped every image at its column; found by Vikas on staging, 11-Oct-2026:
   the 1200px featured image overflowed the card and the page scrolled sideways). Live's spacing under the image: 22px. */
.aditi-post img { max-width: 100%; height: auto; }
.aditi-single .aditi-post .post-featured { margin: 0 0 22px; }
@media (max-width: 767px) {
  .aditi-single .post-card { padding-top: 30px; }
  .post-head { width: 90%; margin: 10px auto 20px; }
  .post-head .entry-title { font-size: 32px; }
  .post-head .post-head-rt { font-size: 15px; }
  .post-head .post-head-meta { line-height: 27px; }
  .aditi-ptags .aditi-ptag { line-height: 27px; }
  .aditi-single .aditi-post .byline { line-height: 1.7; }
  .aditi-single .aditi-post { margin-top: 20px; font-size: 17px; padding-inline: 0; }   /* text 312px on a phone: live varies by post (312 or 252), the wider one kept */
}

/* Home hero spacing as live (measured 12-Oct-2026, Vikas spotted it): the kicker 32px under the panel's top edge, the
   image box from about 10px; on a phone the image first, from about 24px. */
.aditi.aditi--home .hero { padding-top: 31px; }
.aditi.aditi--home .hero .hero-media { margin-top: -22px; }
.aditi.aditi--home .hero .hero-facts { grid-template-columns: 1fr; }   /* live lists the three in one column */
.aditi.aditi--home .hero h1 { margin-top: 30px; max-width: none; }   /* live: 30px from the kicker to the heading on desktop (14px on a phone), the heading as wide as its column */
@media (max-width: 980px) {
  .aditi.aditi--home .hero { padding-top: 10px; }
  .aditi.aditi--home .hero .hero-media { margin-top: 0; }
  .aditi.aditi--home .hero h1 { margin-top: 14px; }
}

/* The header and footer (sites/aditiitsolutions/shell/). Hand-written; build-theme.py appends this file to the theme's
   stylesheet after the pruned design rules, whole: every rule here is used on every page, and several selectors name
   WordPress's wrappers or classes the header's script sets (js-nav, is-open), which the used-class scan
   cannot see (lesson 43). */

/* Measured on live (Divi Theme Builder header and footer), 12-Oct-2026: the row 80% of the window up to 1080px, logo
   198x64, menu Montserrat 16px 600, header 104px (92px on a phone), sticky, a light-blue line under it; footer a white band with a 2px grey top
   line, then the #00457a band. Divi's blues on the menu and footer text (#0c71c3, #3550a0) become navy, as on the pages. */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 100; margin-block: 0; }
.wp-site-blocks > header.wp-block-template-part + * { margin-block-start: 10px; }   /* 10px under the header on every page, as live's home (Vikas, 12-Oct-2026; live varies 0 to 58px) */
.wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0; }
.aditi-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.aditi-header { position: relative; background: #fff; font-family: var(--wp--preset--font-family--montserrat); box-shadow: 0 8px 8px -6px rgb(136, 196, 221); }   /* live's light-blue line under the header, always (Vikas spotted it, 12-Oct-2026) */
.aditi-header__row { box-sizing: border-box; width: min(80vw, 1080px); min-height: 104px; margin: 0 auto; padding: 20px 0; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.aditi-header__logo img { display: block; width: 198px; height: auto; }
.aditi-header__nav ul { display: flex; flex-wrap: wrap; gap: 22px; margin: 0; padding: 0; list-style: none; }
.aditi-header__nav a { font-size: 16px; font-weight: 600; line-height: 1.6; color: #1D3461; text-decoration: none; }
.aditi-header__nav a:hover, .aditi-header__nav a:focus-visible { color: #0092AF; }
.aditi-header__nav a[aria-current="page"] { padding-bottom: 4px; border-bottom: 2px solid #00B4D8; }   /* the current section (set by the header script); Blog for posts and archives */
.aditi-header__toggle { display: none; }
@media (max-width: 980px) {
  .aditi-header__row { min-height: 92px; padding: 14px 0; flex-wrap: wrap; }
  .aditi-header.js-nav .aditi-header__toggle { display: block; position: relative; width: 32px; height: 32px; padding: 0; border: 0; background: none; cursor: pointer; color: #1D3461; }
  .aditi-header__toggle:focus:not(:focus-visible) { outline: none; }
  .aditi-header__toggle span, .aditi-header__toggle span::before, .aditi-header__toggle span::after { position: absolute; left: 5px; width: 22px; height: 2px; background: currentColor; content: ""; }
  .aditi-header__toggle span { top: 15px; }
  .aditi-header__toggle span::before { left: 0; top: -7px; }
  .aditi-header__toggle span::after { left: 0; top: 7px; }
  .aditi-header__nav ul { gap: 4px 18px; }
  .aditi-header.js-nav .aditi-header__nav { display: none; position: absolute; top: 100%; left: 10vw; right: 10vw; background: #fff; border-top: 3px solid #00B4D8; box-shadow: 0 2px 5px rgba(0, 0, 0, .1); }
  .aditi-header.js-nav.is-open .aditi-header__nav { display: block; }
  .aditi-header.js-nav .aditi-header__nav ul { flex-direction: column; flex-wrap: nowrap; gap: 0; padding: 16px 0; }
  .aditi-header.js-nav .aditi-header__nav li { border-bottom: 1px solid rgba(0, 0, 0, .03); }
  .aditi-header.js-nav .aditi-header__nav a { display: block; padding: 6px 10%; font-size: 16px; }
  .aditi-header.js-nav .aditi-header__nav a[aria-current="page"] { padding-bottom: 6px; border-bottom: 0; box-shadow: inset 3px 0 0 #00B4D8; }
}
.aditi-footer { font-family: var(--wp--preset--font-family--montserrat); font-weight: 500; }
.aditi-footer ul { margin: 0; padding: 0; list-style: none; }
.aditi-footer p { margin: 0; }
.aditi-footer a { text-decoration: none; }
.aditi-footer__row { box-sizing: border-box; width: min(80vw, 1080px); margin: 0 auto; padding: 0 6px; display: grid; grid-template-columns: 29.666% 64.833%; justify-content: space-between; align-items: center; }
.aditi-footer__top { background: #fff; border-top: 2px solid #6b6b6b; padding: 13px 0 11px; }
.aditi-footer__places { display: flex; gap: 5px; font-size: 18px; line-height: 1.7; }
.aditi-footer__places a { color: #1D3461; }
.aditi-footer__contact { display: flex; justify-content: flex-end; gap: 15px; font-size: 17px; line-height: 1.7; color: rgba(0, 0, 0, .7); }
.aditi-footer__contact a { color: #1D3461; }
.aditi-footer__contact svg { margin-right: 8px; vertical-align: -1px; }
.aditi-footer__bottom { background: #00457a; border-top: 2px solid #6b6b6b; padding: 17px 0 15px; }
.aditi-footer__bottom .aditi-footer__row { grid-template-columns: 64.833% 29.666%; padding: 0; }
.aditi-footer__legal { font-size: 18px; line-height: 1.8; }
.aditi-footer__legal a { color: #fff; }
.aditi-footer__legal a + a { margin-left: 8px; }
.aditi-footer__legal a:hover, .aditi-footer__legal a:focus-visible { text-decoration: underline; }
.aditi-footer__social { text-align: center; }
.aditi-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #007bb6; color: #fff; }
.aditi-tip { position: relative; }
/* The tooltip is a white card (Vikas, 12-Oct-2026): a navy one disappeared over the navy call-to-action panel above the
   footer; white with a cyan top bar, a border and a shadow stands out on navy and on white sections alike. */
.aditi-tip__box { position: absolute; bottom: calc(100% + 12px); left: 50%; z-index: 10; box-sizing: border-box; width: max-content; max-width: min(352px, calc(100vw - 24px)); padding: 12px 16px 14px; transform: translateX(-50%); border: 1px solid #D4D4E0; border-top: 4px solid #00B4D8; border-radius: 6px; background: #fff; box-shadow: 0 12px 32px rgba(16, 24, 40, .3); color: #1D3461; font-size: 16px; font-weight: 500; line-height: 1.5; text-align: left; display: none; }   /* hidden boxes take no width: a hidden one made phones scroll sideways */
.aditi-tip__box--map { width: 352px; }
.aditi-tip__box::before { position: absolute; left: 0; right: 0; top: 100%; height: 14px; content: ""; }   /* a bridge: the pointer can move from the name onto the card */
.aditi-tip__box::after { position: absolute; left: calc(50% - 7px); bottom: -8px; width: 12px; height: 12px; transform: rotate(45deg); border-right: 1px solid #D4D4E0; border-bottom: 1px solid #D4D4E0; background: #fff; content: ""; }
.aditi-tip__text { display: block; }
.aditi-tip__map { display: block; margin-top: 12px; }
.aditi-tip__map img { display: block; width: 100%; height: auto; border: 1px solid #D4D4E0; border-radius: 4px; }
.aditi-tip__map:hover img, .aditi-tip__map:focus-visible img { border-color: #00B4D8; }
.aditi-tip:hover .aditi-tip__box, .aditi-tip:focus-within .aditi-tip__box { display: block; }
@media (max-width: 980px) {
  .aditi-footer__row, .aditi-footer__bottom .aditi-footer__row { width: 100%; grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .aditi-footer__top { padding-bottom: 12px; }
  .aditi-footer .aditi-footer__places { margin-bottom: 28px; }
  .aditi-footer__contact { flex-direction: column; align-items: center; gap: 0; }
  .aditi-footer__places, .aditi-footer__contact { position: relative; }
  .aditi-tip { position: static; }   /* the tooltip centres on its list, which is centred on the screen */
  .aditi-footer .aditi-footer__legal { font-size: 15px; margin-bottom: 18px; }
  .aditi-footer__bottom { padding-bottom: 11px; }
}

/* Theme: the page area around the components (the components themselves are scoped under .aditi above). */
.aditi-main { padding-inline: 20px; }
