/* About and contact page family. Every visual modifier used by these routes is explicit. */
.company-page--about,
.company-page--contact {
  min-width: 0;
  background: #fbfdfb;
  color: #17343b;
}
.company-page--about main,
.company-page--about main *,
.company-page--contact main,
.company-page--contact main * { min-width: 0; }
.company-page--about .company-wrap,
.company-page--contact .company-wrap { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.company-page--about .company-hero--about,
.company-page--contact .company-hero--contact { background-color: #f4efe4; }
.company-page--about .company-image-frame--portrait img { aspect-ratio: 6 / 7; object-fit: cover; }
.company-page--contact .company-image-frame--wide img { aspect-ratio: 16 / 10; object-fit: cover; }
.company-page--about .company-section-heading--light h2,
.company-page--about .company-section-heading--light > p:last-child { color: #fff; }
.company-page--about .company-section-heading--light .company-eyebrow,
.company-page--about .company-section--navy .company-eyebrow,
.company-page--about .company-final-cta .company-eyebrow { color: #d7fffb; }
.company-page--about .company-map-card--primary { background: #063d47; color: #fff; }
.company-page--about .company-map-card--primary h3,
.company-page--about .company-map-card--primary .company-map-card__label { color: #fff; }
.company-page--about .company-map-card--secondary { border: 1px solid rgba(16, 47, 56, .16); background: #fff; }
.company-page--about .company-button--accent { background: #f2ad3d; color: #172e31; }
.company-page--about .company-button--accent:hover { background: #ffc25c; }
.company-page--about .company-button--ghost-light { border-color: rgba(255,255,255,.58); background: transparent; color: #fff; }
.company-page--about .company-button--ghost-light:hover { background: rgba(255,255,255,.12); }
@media (max-width: 800px) {
  .company-page--about .company-wrap,
  .company-page--contact .company-wrap { width: min(100% - 32px, 1180px); }
  .company-page--about .company-hero__grid,
  .company-page--about .company-editorial-split,
  .company-page--about .company-team-story,
  .company-page--about .company-coverage,
  .company-page--contact .company-hero__grid,
  .company-page--contact .company-form-layout,
  .company-page--contact .company-coverage-layout { grid-template-columns: minmax(0, 1fr) !important; }
  .company-page--about .company-localities { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .company-page--about .company-localities span { width: auto; max-width: 100%; overflow-wrap: anywhere; text-align: center; }
}
@media (max-width: 430px) {
  .company-page--about .company-wrap,
  .company-page--contact .company-wrap { width: calc(100% - 32px); }
  .company-page--about .company-coverage__visual,
  .company-page--about .company-map-card,
  .company-page--contact .company-form-panel { width: 100%; max-width: 100%; }
}

/* Shuddho policy center. Scoped so utility-page layout never changes another page family. */
.company-page--policies {
  --policy-deep: #063d47;
  --policy-river: #087a80;
  --policy-ink: #17343b;
  --policy-muted: #566e72;
  --policy-aqua: #e7f6f2;
  --policy-stone: #f4efe4;
  --policy-line: rgba(16, 47, 56, .16);
  --policy-sun: #f2ad3d;
  min-width: 0;
  background: #fbfdfb;
  color: var(--policy-ink);
}
.company-page--policies .company-policy-main,
.company-page--policies .company-policy-main * { min-width: 0; }
.company-page--policies .company-wrap {
  width: min(1120px, calc(100% - 48px));
  margin-inline: auto;
}
.company-page--policies .company-skip-link {
  position: fixed;
  top: .75rem;
  left: .75rem;
  z-index: 1000;
  transform: translateY(-160%);
  overflow: hidden;
  clip-path: inset(0);
  padding: .72rem 1rem;
  border-radius: 999px;
  background: #fff;
  color: var(--policy-deep);
  font-weight: 850;
  box-shadow: var(--shadow-lg);
}
.company-page--policies .company-skip-link:focus { transform: none; }
.company-page--policies .company-eyebrow {
  margin: 0 0 .75rem;
  color: var(--policy-river);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.company-page--policies .company-lede {
  max-width: 760px;
  color: #dff1ee;
  font-size: clamp(1.06rem, 2vw, 1.24rem);
  line-height: 1.7;
}
.company-page--policies .company-policy-header {
  position: relative;
  overflow: hidden;
  padding: clamp(74px, 10vw, 126px) 0 64px;
  background:
    radial-gradient(circle at 88% 18%, rgba(184, 238, 234, .18), transparent 31%),
    linear-gradient(145deg, #052f37, var(--policy-deep));
  color: #fff;
}
.company-page--policies .company-policy-header::before {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  right: -120px;
  bottom: -210px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  box-shadow: 0 0 0 58px rgba(255,255,255,.035), 0 0 0 116px rgba(255,255,255,.025);
}
.company-page--policies .company-policy-header .company-wrap { position: relative; z-index: 1; }
.company-page--policies .company-policy-header .company-eyebrow { color: var(--mint); }
.company-page--policies .company-policy-header h1 {
  max-width: 920px;
  margin: 0 0 1.25rem;
  color: #fff;
  font-size: clamp(3rem, 7vw, 6.3rem);
  line-height: .98;
}
.company-page--policies .company-policy-alert {
  max-width: 930px;
  margin: 34px 0 30px;
  padding: 20px 22px;
  border: 1px solid rgba(255,255,255,.23);
  border-left: 4px solid var(--policy-sun);
  border-radius: 14px;
  background: rgba(255,255,255,.08);
}
.company-page--policies .company-policy-alert strong { color: #fff; }
.company-page--policies .company-policy-alert p { margin: 5px 0 0; color: #cfdfdc; }
.company-page--policies .company-policy-nav {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
  margin-top: 28px;
}
.company-page--policies .company-policy-nav a {
  display: flex;
  min-height: 64px;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: .84rem;
  font-weight: 800;
  text-decoration: none;
}
.company-page--policies .company-policy-nav a:hover { background: rgba(255,255,255,.13); }
.company-page--policies .company-policy-nav span { color: var(--mint); font-size: .68rem; letter-spacing: .08em; }
.company-page--policies .company-policy-meta {
  margin: 20px 0 0;
  color: #a9c6c2;
  font-size: .78rem;
}
.company-page--policies .company-policy-section {
  scroll-margin-top: 112px;
  padding: clamp(72px, 9vw, 112px) 0;
  border-bottom: 1px solid var(--policy-line);
  background: #fbfdfb;
}
.company-page--policies .company-policy-section--tint { background: var(--policy-aqua); }
.company-page--policies .company-policy-layout {
  display: grid;
  grid-template-columns: minmax(230px, .52fr) minmax(0, 1.25fr);
  gap: clamp(54px, 9vw, 118px);
  align-items: start;
}
.company-page--policies .company-policy-section__heading {
  position: sticky;
  top: 132px;
}
.company-page--policies .company-policy-section__heading > span {
  display: grid;
  width: 48px;
  height: 48px;
  margin-bottom: 28px;
  place-items: center;
  border-radius: 50%;
  background: var(--policy-deep);
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.company-page--policies .company-policy-section__heading h2 {
  margin: .25rem 0 1rem;
  font-size: clamp(2.15rem, 4vw, 3.65rem);
}
.company-page--policies .company-policy-section__heading > p:last-child {
  color: var(--policy-muted);
  line-height: 1.7;
}
.company-page--policies .company-policy-copy {
  max-width: 760px;
  font-size: 1rem;
  line-height: 1.78;
}
.company-page--policies .company-policy-copy h3 {
  margin: 0 0 .7rem;
  color: var(--policy-deep);
  font: 700 clamp(1.2rem, 2vw, 1.48rem)/1.25 var(--sans);
  letter-spacing: -.015em;
}
.company-page--policies .company-policy-copy h3:not(:first-child) { margin-top: 2.35rem; }
.company-page--policies .company-policy-copy p { color: #3e5a60; }
.company-page--policies .company-policy-copy ul,
.company-page--policies .company-policy-copy ol {
  display: grid;
  gap: .65rem;
  margin: 1rem 0 1.4rem;
  padding-left: 1.35rem;
  color: #3e5a60;
}
.company-page--policies .company-policy-copy li::marker { color: var(--policy-river); font-weight: 900; }
.company-page--policies .company-policy-copy code {
  padding: .12rem .35rem;
  border-radius: 5px;
  background: rgba(6,61,71,.08);
  color: var(--policy-deep);
}
.company-page--policies .company-policy-edit-note {
  margin-top: 34px;
  padding: 18px 20px;
  border: 1px solid rgba(8,122,128,.24);
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  color: #416269;
  font-size: .84rem;
}
.company-page--policies .company-policy-edit-note strong { color: var(--policy-deep); }
.company-page--policies .company-policy-contact-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  margin-top: 44px;
  padding: 26px;
  border-radius: 20px;
  background: var(--policy-stone);
}
.company-page--policies .company-policy-contact-box h3 { margin-top: 0; }
.company-page--policies .company-policy-contact-box p:last-child { margin-bottom: 0; }
.company-page--policies .company-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: .8rem 1.12rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 850;
  text-align: center;
  text-decoration: none;
}
.company-page--policies .company-button--primary { background: var(--policy-deep); color: #fff; }
.company-page--policies .company-button--primary:hover { background: var(--deep-2); }

@media (max-width: 900px) {
  .company-page--policies .company-policy-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .company-page--policies .company-policy-layout { grid-template-columns: 1fr; gap: 34px; }
  .company-page--policies .company-policy-section__heading { position: static; max-width: 680px; }
  .company-page--policies .company-policy-section__heading > span { margin-bottom: 18px; }
}
@media (max-width: 580px) {
  .company-page--policies .company-wrap { width: min(100% - 32px, 1120px); }
  .company-page--policies .company-policy-header { padding-top: 64px; }
  .company-page--policies .company-policy-header h1 { font-size: clamp(2.8rem, 14vw, 4.1rem); }
  .company-page--policies .company-policy-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .company-page--policies .company-policy-nav a:last-child { grid-column: 1 / -1; }
  .company-page--policies .company-policy-contact-box { grid-template-columns: 1fr; }
  .company-page--policies .company-policy-contact-box .company-button { width: 100%; }
}

/* About and contact page family. Extracted into the canonical shared stylesheet. */
/* Page-family styles, scoped to the owned company pages. */
.company-page{--cp-navy:#083640;--cp-teal:#087f7a;--cp-aqua:#e3f5f1;--cp-stone:#f5efe4;--cp-ink:#17343b;--cp-muted:#5c6f72;--cp-line:#cfdfdc;--cp-gold:#f2ad29;--cp-error:#a52e2e;margin:0;overflow-x:clip;background:#fcfdfb;color:var(--cp-ink);font:16px/1.65 Inter,"Noto Sans Bengali",system-ui,sans-serif}
.company-page *{box-sizing:border-box}
.company-page img{display:block;max-width:100%}
.company-page [hidden]{display:none!important}
.company-page :focus-visible{outline:3px solid var(--cp-gold);outline-offset:3px}
.company-page .company-skip-link{position:fixed;left:8px;top:8px;z-index:1000;transform:translateY(-150%);padding:.7rem 1rem;background:#fff;color:var(--cp-navy);border-radius:.5rem}
.company-page .company-skip-link:focus{transform:none}
.company-page .company-wrap{width:min(calc(100% - 32px),1240px);margin-inline:auto}
.company-page h1,.company-page h2,.company-page h3,.company-page p{margin-top:0}
.company-page h1,.company-page h2{font-family:Georgia,serif;font-weight:500;letter-spacing:-.04em;line-height:1.06;color:var(--cp-navy)}
.company-page h1{font-size:clamp(2.7rem,9vw,5rem)}
.company-page h2{font-size:clamp(2.1rem,6vw,3.5rem)}
.company-page h3{line-height:1.25}
.company-page .company-eyebrow{color:var(--cp-teal);font-size:.76rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.company-page .company-lede{font-size:1.14rem;color:#3f595e;max-width:42rem}
.company-page .company-small,.company-page .company-disclosure,.company-page figcaption{font-size:.83rem;color:var(--cp-muted)}
.company-page .company-hero{padding:3.5rem 0 4rem;background:var(--cp-stone)}
.company-page .company-hero__grid,.company-page .company-editorial-split,.company-page .company-form-layout,.company-page .company-team-story,.company-page .company-faq-layout{display:grid;gap:2.5rem;align-items:center}
.company-page .company-hero__facts,.company-page .company-actions{display:flex;flex-wrap:wrap;gap:1rem;margin:1.5rem 0}
.company-page .company-hero__facts div{display:grid;padding:.75rem 1rem;border-left:3px solid var(--cp-gold)}
.company-page .company-hero__facts span{font-size:.8rem;color:var(--cp-muted)}
.company-page .company-image-frame{margin:0}
.company-page .company-image-frame img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:1.5rem;box-shadow:0 24px 64px #08364022}
.company-page .company-image-frame figcaption{padding:.65rem .25rem}
.company-page .company-section{padding:4.5rem 0}
.company-page .company-section--compact{padding:3.5rem 0}
.company-page .company-section--limestone{background:var(--cp-stone)}
.company-page .company-section--aqua{background:var(--cp-aqua)}
.company-page .company-section--navy{background:var(--cp-navy);color:#eaf6f3}
.company-page .company-section--navy h2,.company-page .company-section--navy h3{color:#fff}
.company-page .company-section-heading{max-width:48rem;margin-bottom:2rem}
.company-page .company-prose{max-width:45rem}
.company-page blockquote{margin:2rem 0;padding:1.25rem;border-left:4px solid var(--cp-gold);background:#ffffff99;font-family:Georgia,serif;font-size:1.18rem}
.company-page .company-principles{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:1px;background:#ffffff28}
.company-page .company-principles li{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;padding:1.5rem;background:var(--cp-navy)}
.company-page .company-principles__number{color:var(--cp-gold);font-weight:900}
.company-page .company-team-story__points,.company-page .company-coverage-list,.company-page .company-contact-options{display:grid;gap:1rem}
.company-page .company-team-story__points>*,.company-page .company-coverage-list>*,.company-page .company-contact-card{padding:1.25rem;border:1px solid var(--cp-line);border-radius:1rem;background:#fff}
.company-page .company-coverage-map{min-height:18rem;padding:2rem;border-radius:50% 45% 55% 42%;background:#bfe8df;display:grid;place-content:center;text-align:center}
.company-page .company-coverage-map__hub{font-size:1.4rem;font-weight:900;color:var(--cp-navy)}
.company-page .company-coverage-map__labels{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem}
.company-page .company-coverage-map__labels span{padding:.35rem .65rem;border-radius:99px;background:#fff}
.company-page .company-final-cta{padding:4.5rem 0;background:var(--cp-navy);color:#fff}
.company-page .company-final-cta h2{color:#fff}
.company-page .company-button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.72rem 1.2rem;border:1px solid var(--cp-navy);border-radius:99px;text-decoration:none;font-weight:800;cursor:pointer}
.company-page .company-button--primary{background:var(--cp-navy);color:#fff}
.company-page .company-final-cta .company-button--primary{background:var(--cp-gold);color:var(--cp-navy);border-color:var(--cp-gold)}
.company-page .company-button--secondary{background:#fff;color:var(--cp-navy)}
.company-page .company-text-link{font-weight:800;color:var(--cp-teal)}
.company-page .company-contact-card__icon{font-size:1.7rem;color:var(--cp-teal)}
.company-page .company-contact-card__label,.company-page .company-placeholder-tag{font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.company-page .company-placeholder-tag{display:inline-block;padding:.25rem .5rem;background:var(--cp-stone);border-radius:.4rem}
.company-page .company-form-layout{align-items:start}
.company-page .company-form-intro{position:sticky;top:6rem}
.company-page .company-form-intro__note,.company-page .company-callout{padding:1.2rem;border-left:4px solid var(--cp-gold);background:#fff}
.company-page .company-form-panel{min-width:0;padding:clamp(1rem,4vw,2rem);border-radius:1.25rem;background:#fff;box-shadow:0 18px 55px #08364018}
.company-page fieldset{min-width:0;margin:0 0 1.5rem;padding:0;border:0}
.company-page legend{width:100%;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--cp-line);font-weight:850;color:var(--cp-navy)}
.company-page .company-field-grid,.company-page .company-choice-grid{display:grid;gap:1rem}
.company-page .company-field{min-width:0;margin-bottom:1rem}
.company-page .company-field label{display:block;margin-bottom:.35rem;font-weight:750}
.company-page input:not([type=checkbox]),.company-page select,.company-page textarea{width:100%;min-height:3rem;padding:.7rem .8rem;border:1px solid #9db5b1;border-radius:.55rem;background:#fff;color:var(--cp-ink);font:inherit}
.company-page textarea{resize:vertical}
.company-page [aria-invalid=true]{border-color:var(--cp-error)!important;background:#fff7f7!important}
.company-page .company-field-error{min-height:1.25em;margin:.2rem 0 0;color:var(--cp-error);font-size:.8rem}
.company-page .company-field-hint,.company-page .company-field-meta,.company-page .company-fieldset-hint,.company-page .company-submit-note{font-size:.8rem;color:var(--cp-muted)}
.company-page .company-choice{display:flex;gap:.55rem;padding:.75rem;border:1px solid var(--cp-line);border-radius:.6rem}
.company-page .company-consent label{display:flex;gap:.65rem}
.company-page .company-error-summary{margin-bottom:1.5rem;padding:1rem;border:1px solid #df9898;background:#fff3f3;color:#782222}
.company-page .company-form-success{padding:2rem}
.company-page .company-success-mark{display:grid;width:3rem;height:3rem;place-items:center;border-radius:50%;background:var(--cp-teal);color:#fff;font-size:1.5rem}
.company-page .company-success-summary{display:grid;gap:.6rem}
.company-page .company-success-summary div{padding:.75rem;border-bottom:1px solid var(--cp-line)}
.company-page .company-success-summary dt{font-size:.75rem;color:var(--cp-muted)}
.company-page .company-success-summary dd{margin:0;font-weight:800}
.company-page .company-faq-list details{padding:1rem 0;border-bottom:1px solid #aaccc5}
.company-page .company-faq-list summary{cursor:pointer;font-weight:800;color:var(--cp-navy)}
.company-page .company-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

@media(min-width:800px){.company-page .company-hero__grid,.company-page .company-editorial-split,.company-page .company-team-story{grid-template-columns:repeat(2,minmax(0,1fr))}
.company-page .company-editorial-split--reverse figure{order:2}
.company-page .company-form-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
.company-page .company-faq-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);align-items:start}
.company-page .company-contact-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.company-page .company-field-grid,.company-page .company-choice-grid,.company-page .company-success-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.company-page .company-field--full,.company-page .company-field--message{grid-column:1/-1}
.company-page .company-principles{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(min-width:1100px){.company-page .company-contact-options{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(max-width:799px){.company-page .company-form-intro{position:static}
.company-page .company-actions>*{width:100%}
}

@media(prefers-reduced-motion:reduce){.company-page *{scroll-behavior:auto!important}
}
