/* OneStack Website v421 — canonical styles for template-oneweb-website.php.
   Source of truth for this template only; no duplicate website selectors in style.css.
   Identity: navy #000730, gold #F5C31B, white and cool-neutral sections. */
body.oneweb-template-website { background: #fff; color: #000730; }
.osw11, .osw11 * { box-sizing: border-box; }
.osw11 {
  --web-navy: #000730;
  --web-navy-mid: #101b50;
  --web-gold: #f5c31b;
  --web-gold-dark: #9b6b00;
  --web-ink: #000730;
  --web-muted: #516079;
  --web-paper: #fff;
  --web-mist: #f4f6fa;
  --web-border: #e2e7f0;
  --web-shadow: 0 10px 28px rgba(8, 18, 52, .065);
  font-family: var(--onestack-font-body, 'Plus Jakarta Sans', sans-serif);
  background: var(--web-paper);
  color: var(--web-ink);
}
.osw11 img { display:block;max-width:100%;height:auto; }
.osw11 a { text-decoration:none; }
.osw11 svg { width:1em; height:1em; display:inline-block; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.osw11 h1, .osw11 h2, .osw11 h3, .osw11 strong { font-family:var(--onestack-font-heading,'Plus Jakarta Sans',sans-serif); }
.osw11 :is(a,button,input,select,textarea):focus-visible { outline:3px solid var(--web-gold); outline-offset:3px; }
.osw11-main { overflow:hidden; }
.osw11-container { width:min(1240px, calc(100% - 52px)); margin-inline:auto; }

/* Hero: same high-contrast navy/gold grammar as homepage and About. */
.osw11-hero {
  position:relative; isolation:isolate; overflow:hidden;
  padding:72px 0 78px;
  background:
    radial-gradient(ellipse at 86% 30%,rgba(245,195,27,.10),transparent 34%),
    radial-gradient(ellipse at 20% 80%,rgba(55,89,179,.13),transparent 36%),
    linear-gradient(110deg,#000730 0%,#0b1645 62%,#111c52 100%);
  color:#fff;
}
.osw11-hero::before { content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:linear-gradient(115deg, transparent 8%, rgba(255,255,255,.025) 8.1%, transparent 8.5%, transparent 23%, rgba(255,255,255,.035) 23.1%, transparent 23.5%); }
.osw11-hero__grid { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.03fr);gap:50px;align-items:center; }
.osw11-hero__content { min-width:0; }
.osw11-breadcrumbs { display:flex;align-items:center;gap:10px;margin:0 0 23px;font-size:14px;line-height:1.5;color:#e3e9f6; }
.osw11-breadcrumbs a { color:#e3e9f6; }
.osw11-breadcrumbs strong { color:#fff;font-weight:700; }
.osw11-breadcrumbs span { color:var(--web-gold); }
.osw11-hero__content h1 {
  margin:0 0 20px; font-size:clamp(37px,3.6vw,51px);line-height:1.15;
  color:#fff;font-weight:800;letter-spacing:-.025em;text-wrap:balance;
}
.osw11-hero__content h1 span { color:var(--web-gold); }
.osw11-hero__content h2 {
  max-width:570px; margin:0 0 20px;color:#f0f3fc;
  font-size:clamp(21px,2vw,27px);line-height:1.42;font-weight:650;letter-spacing:-.01em;
}
.osw11-hero__content p { max-width:570px;margin:0;color:#cbd5e9;font-size:16px;line-height:1.78; }
.osw11-hero__buttons { display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:27px; }
.osw11-btn {
  display:inline-flex;justify-content:center;align-items:center;gap:9px;
  min-height:48px;padding:11px 20px;border-radius:10px;border:1px solid transparent;
  font-size:14px;line-height:1.3;font-weight:800;text-align:center;
  transition:transform .2s,background-color .2s,border-color .2s;
}
.osw11-btn:hover { transform:translateY(-2px); }
.osw11 .osw11-btn--gold { color:var(--web-navy);background:var(--web-gold);border-color:#e1ae10;box-shadow:0 7px 22px rgba(245,195,27,.15); }
.osw11 .osw11-btn--gold:hover { background:#ffd044;color:var(--web-navy); }
.osw11 .osw11-btn--outline { color:#fff;border-color:rgba(255,255,255,.37);background:rgba(255,255,255,.035); }
.osw11 .osw11-btn--outline:hover { color:var(--web-gold);border-color:var(--web-gold); }
.osw11-btn svg { width:17px;height:17px; }
.osw11-hero__visual { min-width:0;display:flex;align-items:center;justify-content:flex-end; }
.osw11-hero__visual img {
  width:min(100%,585px);max-height:410px;object-fit:contain;
  filter:drop-shadow(0 22px 25px rgba(0,0,0,.16));
  animation:osw11-visual-in .95s ease-out both;
}
@keyframes osw11-visual-in { from {opacity:0;transform:translateY(15px);} to {opacity:1;transform:translateY(0);} }

/* Standard light-section typography; no white-on-white inheritance. */
.osw11-section { padding:75px 0 82px; }
.osw11-title {
  display:flex;align-items:center;justify-content:center;gap:17px;
  margin:0 0 32px;color:var(--web-navy);
  font-size:clamp(25px,2.45vw,34px);font-weight:800;line-height:1.25;letter-spacing:-.025em;
  text-align:center;text-wrap:balance;
}
.osw11-title span {flex:0 0 min(76px,9vw);height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--web-gold),transparent); }
.osw11-reasons { background:#fff; }
.osw11-reason-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px; }
.osw11-info-card {
  min-width:0;min-height:210px;padding:29px 22px 27px;border:1px solid var(--web-border);
  border-radius:16px;background:#fff;box-shadow:var(--web-shadow);text-align:center;
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.osw11-info-card:hover { transform:translateY(-3px);border-color:#ebc85f;box-shadow:0 15px 32px rgba(8,18,52,.10); }
.osw11-info-card__icon { display:grid;place-items:center;width:60px;height:60px;margin:0 auto 18px;
  border-radius:15px;background:#fff5d7;color:#101b50;font-size:27px; }
.osw11-info-card h3 { margin:0;color:#9b6b00;font-size:15px;line-height:1.45;font-weight:800; }
.osw11-info-card p { margin:11px auto 0;max-width:260px;font-size:14px;line-height:1.68;color:var(--web-muted); }

/* Premium service catalog — one canonical set of selectors, no legacy card overrides. */
.osw11-services { background:var(--web-mist); }
.osw11-service-heading { text-align:center;max-width:820px;margin:0 auto 32px; }
.osw11-service-heading__eyebrow {
  display:inline-block;margin-bottom:11px;color:var(--web-gold-dark);
  font-size:11px;font-weight:800;letter-spacing:.14em;
}
.osw11-service-heading .osw11-title { margin:0 0 12px; }
.osw11-service-heading > p { margin:0;color:var(--web-muted);font-size:15.5px;line-height:1.65; }
.osw11-service-toolbar {
  display:flex;gap:18px;justify-content:space-between;align-items:center;
  min-width:0;margin-bottom:23px;
}
.osw11-service-filters { display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0; }
.osw11-service-filter {
  appearance:none;display:inline-flex;align-items:center;justify-content:center;
  min-height:41px;padding:10px 17px;border:1px solid #dfe5ef;border-radius:999px;
  background:#fff;color:#1a2850;font:750 13px/1.3 var(--onestack-font-body,'Plus Jakarta Sans',sans-serif);
  white-space:nowrap;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s;
}
.osw11-service-filter:hover { border-color:#c9a347;background:#fffaee; }
.osw11-service-filter[aria-pressed="true"] {
  background:var(--web-navy);border-color:var(--web-navy);color:#fff;
  box-shadow:0 7px 17px rgba(0,7,48,.12);
}
.osw11-service-count { flex:0 0 auto;margin:0;color:#65718b;font-size:12.5px;font-weight:650; }
.osw11-service-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;align-items:stretch; }
.osw11-service-card {
  position:relative;min-width:0;min-height:253px;
  display:flex;flex-direction:column;align-items:stretch;
  padding:24px 24px 20px;border:1px solid #e0e6ee;border-radius:19px;
  background:#fff;color:var(--web-navy);text-align:left;
  box-shadow:0 7px 22px rgba(11,25,68,.05);
  transition:transform .23s ease,border-color .23s ease,box-shadow .23s ease;
}
.osw11-service-card[hidden] { display:none; }
.osw11-service-card::before {
  content:'';position:absolute;top:0;left:23px;width:40px;height:3px;
  border-radius:0 0 5px 5px;background:var(--web-gold);
  opacity:.65;transition:width .23s ease,opacity .23s ease;
}
.osw11-service-card:hover { transform:translateY(-5px);border-color:#deb342;box-shadow:0 18px 37px rgba(11,25,68,.115); }
.osw11-service-card:hover::before { width:85px;opacity:1; }
.osw11-service-card__top { display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:19px; }
.osw11-service-card__icon {
  display:grid;place-items:center;flex:0 0 auto;width:56px;height:56px;
  border:1px solid #e5eaf2;border-radius:15px;background:#f3f6fb;
  color:#15285b;font-size:27px;
}
.osw11-service-card__icon svg { stroke-width:1.75; }
.osw11-service-card__category { color:#8b95a9;font-size:10.5px;font-weight:750;letter-spacing:.015em;line-height:1.3;text-align:right; }
.osw11-service-card h3 { margin:0 0 11px;color:var(--web-navy);font-size:16px;font-weight:800;line-height:1.48;letter-spacing:-.015em;overflow-wrap:break-word; }
.osw11-service-card__desc { margin:0 0 19px;color:#58657a;font-size:13px;font-weight:400;line-height:1.68; }
.osw11-service-card__cta {
  display:inline-flex;align-items:center;gap:9px;align-self:flex-start;
  margin-top:auto;padding-top:15px;border-top:1px solid #edf0f5;
  color:#a26e00;font-size:12.5px;line-height:1.3;font-weight:850;
  width:100%;transition:color .2s;
}
.osw11-service-card__cta span { display:grid;place-items:center;width:19px;height:19px;transition:transform .2s; }
.osw11-service-card__cta svg { width:17px;height:17px; }
.osw11-service-card:hover .osw11-service-card__cta { color:#725000; }
.osw11-service-card:hover .osw11-service-card__cta span { transform:translateX(4px); }

/* Process: premium navy timeline, with one canonical hover treatment.
   The highlight is positioned outside the flow so it never shifts neighbouring steps. */
.osw11-process {
  position:relative;color:#fff;
  background:linear-gradient(110deg,#000730 0%,#0b1645 60%,#111c52 100%);
}
.osw11-process .osw11-title { color:#fff; }
.osw11-process__line { position:absolute;left:0;right:0;top:195px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(245,195,27,.58),transparent);pointer-events:none; }
.osw11-process-grid { position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px; }
.osw11-process-card {
  position:relative;isolation:isolate;min-width:0;text-align:center;
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.osw11-process-card::before {
  content:'';position:absolute;z-index:-1;inset:-17px -7px -16px;
  border:1px solid rgba(245,195,27,.46);border-radius:18px;
  background:radial-gradient(ellipse at 50% 0%,rgba(245,195,27,.13),transparent 66%),
    linear-gradient(145deg,#1b285e 0%,#111d52 100%);
  box-shadow:0 18px 34px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.06);
  opacity:0;transform:translateY(8px) scale(.98);
  pointer-events:none;
  transition:opacity .28s ease,transform .3s cubic-bezier(.22,1,.36,1);
}
.osw11-process-card__icon {
  display:grid;place-items:center;width:68px;height:68px;margin:0 auto 15px;
  border:1px solid rgba(245,195,27,.6);border-radius:50%;background:#101b50;
  color:var(--web-gold);font-size:29px;
  transition:transform .3s cubic-bezier(.22,1,.36,1),background-color .26s ease,
    border-color .26s ease,color .26s ease,box-shadow .3s ease;
}
.osw11-process-card__icon svg { transition:transform .3s cubic-bezier(.22,1,.36,1); }
.osw11-process-card strong {
  display:block;font-size:25px;font-weight:800;line-height:1.1;color:var(--web-gold);
  transition:color .25s ease,transform .3s cubic-bezier(.22,1,.36,1);
}
.osw11-process-card h3 {
  margin:8px 0 9px;font-size:14px;font-weight:800;line-height:1.4;color:#fff;
  transition:color .25s ease;
}
.osw11-process-card p {
  max-width:208px;margin:0 auto;font-size:13px;line-height:1.7;color:#c9d5ea;
  transition:color .25s ease;
}
@media (hover:hover) and (pointer:fine) {
  .osw11-process-card:hover { transform:translateY(-5px); }
  .osw11-process-card:hover::before { opacity:1;transform:translateY(0) scale(1); }
  .osw11-process-card:hover .osw11-process-card__icon {
    transform:translateY(-4px) scale(1.06);background:var(--web-gold);
    color:var(--web-navy);border-color:#ffe389;
    box-shadow:0 0 0 6px rgba(245,195,27,.10),0 9px 24px rgba(245,195,27,.16);
  }
  .osw11-process-card:hover .osw11-process-card__icon svg { transform:scale(1.08); }
  .osw11-process-card:hover strong { color:#ffe18c;transform:translateY(-2px); }
  .osw11-process-card:hover h3 { color:#fff5cc; }
  .osw11-process-card:hover p { color:#f0f3ff; }
}

.osw11-commitments { background:#fff; }
.osw11-reason-grid--commitments .osw11-info-card { min-height:205px; }

/* CTA matches homepage: navy bar, restrained gold button, no text clipping. */
.osw11-banner { background:#fff;padding-top:0;padding-bottom:80px; }
.osw11-banner__box {
  display:grid;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:20px;
  padding:23px 26px;border-radius:16px;
  color:#fff;background:linear-gradient(108deg,#000730,#101b50);
  border:1px solid rgba(245,195,27,.18);box-shadow:0 14px 30px rgba(0,7,48,.15);
}
.osw11-banner__visual { min-width:0; }
.osw11-banner__visual img { display:block;width:100px;height:83px;object-fit:contain; }
.osw11-banner__copy { min-width:0; }
.osw11-banner__copy h2 { margin:0;color:#fff;font-size:clamp(20px,1.7vw,26px);font-weight:800;
  line-height:1.25;letter-spacing:-.02em;text-wrap:balance; }
.osw11-banner__copy p { margin:7px 0 0;color:#d5deee;font-size:14px;line-height:1.6; }
.osw11-banner__btn { white-space:nowrap; }

@media (max-width:1150px) {
  .osw11-hero__grid { gap:24px; }
  .osw11-service-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .osw11-banner__box { grid-template-columns:95px minmax(0,1fr); }
  .osw11-banner__visual img { width:90px; }
  .osw11-banner__btn { grid-column:2;justify-self:start; }
}
@media (max-width:900px) {
  .osw11-hero__grid { grid-template-columns:1fr;gap:30px; }
  .osw11-hero__visual { justify-content:center; }
  .osw11-hero__visual img { max-height:335px; }
  .osw11-reason-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .osw11-process-grid { grid-template-columns:repeat(3,minmax(0,1fr));row-gap:30px; }
  .osw11-process__line { display:none; }
}
@media (max-width:730px) {
  .osw11-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .osw11-service-toolbar { align-items:flex-start; }
  .osw11-service-filters { flex-wrap:wrap; }
  .osw11-service-card { padding:21px 18px 19px; }
}
@media (max-width:600px) {
  .osw11-container { width:min(100% - 30px,560px); }
  .osw11-section { padding:54px 0 59px; }
  .osw11-title { gap:10px;margin-bottom:25px;font-size:clamp(23px,6vw,28px); }
  .osw11-title span { flex-basis:22px; }
  .osw11-hero { padding:48px 0 52px; }
  .osw11-hero__content h1 { font-size:clamp(32px,8.2vw,43px); }
  .osw11-hero__content h2 { font-size:clamp(18px,5vw,23px); }
  .osw11-hero__content p { font-size:14.5px;line-height:1.7; }
  .osw11-breadcrumbs { margin-bottom:16px;font-size:13px; }
  .osw11-hero__buttons { gap:10px; }
  .osw11-hero__visual img { max-height:230px; }
  .osw11-service-heading { margin-bottom:23px; }
  .osw11-service-heading > p { font-size:14px; }
  .osw11-service-toolbar { display:block;margin-bottom:19px; }
  .osw11-service-filters { flex-wrap:nowrap;overflow-x:auto;padding:3px 1px 12px;scrollbar-width:thin; }
  .osw11-service-filter { flex:0 0 auto;min-height:42px;padding:10px 16px; }
  .osw11-service-count { margin-top:4px; }
  .osw11-service-grid { grid-template-columns:1fr;gap:14px; }
  .osw11-service-card { min-height:0;padding:23px 22px 20px; }
  .osw11-service-card__top { margin-bottom:14px; }
  .osw11-service-card h3 { font-size:16px; }
  .osw11-service-card__desc { font-size:13px; }
  .osw11-reason-grid { grid-template-columns:1fr;gap:13px; }
  .osw11-info-card { min-height:0;padding:22px 20px; }
  .osw11-process-grid { grid-template-columns:repeat(2,minmax(0,1fr));row-gap:25px; }
  .osw11-process-card p { font-size:12px; }
  .osw11-process-card__icon { width:59px;height:59px;font-size:25px; }
  .osw11-banner { padding:0 0 55px; }
  .osw11-banner__box { grid-template-columns:1fr;gap:15px;padding:24px 19px;text-align:center; }
  .osw11-banner__visual img { width:115px;height:90px;margin-inline:auto; }
  .osw11-banner__btn { grid-column:1;justify-self:stretch;white-space:normal; }
}
@media (max-width:380px) {
  .osw11-process-grid { grid-template-columns:1fr;gap:24px; }
  .osw11-hero__buttons { flex-direction:column;align-items:stretch; }
}
@media (prefers-reduced-motion:reduce) {
  .osw11-hero__visual img { animation:none; }
  .osw11 :is(.osw11-btn,.osw11-service-card,.osw11-service-card::before,.osw11-info-card,.osw11-service-card__cta span,.osw11-service-filter,
    .osw11-process-card,.osw11-process-card::before,.osw11-process-card__icon,.osw11-process-card__icon svg,
    .osw11-process-card strong,.osw11-process-card h3,.osw11-process-card p) { transition:none; }
}
