/* ITMagix — Technology Advisory / Flexible Technology Architecture */
:root {
  --ta-accent:#0f5b8d;
  --ta-accent-2:#2b8bbf;
  --ta-soft:#edf6fb;
  --ta-navy:#0A3161;
  --ta-red:#B31942;
  --ta-ink:#17202a;
  --ta-body:#5e6c78;
  --ta-line:#dfe6ec;
}

.ta-advisory-page .section-title { font-size:clamp(1.9rem,3.2vw,3.1rem); line-height:1.04; }
.ta-section { padding:60px 0; }
.ta-section + .ta-section { border-top:1px solid #edf0f2; }
.ta-heading-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.56fr); gap:clamp(1.5rem,4vw,3.5rem); align-items:end; margin-bottom:1.8rem; }
.ta-heading-row h2,.ta-family-head h2,.ta-related-services-head h2 { margin:0; color:var(--ta-ink); font-size:clamp(1.9rem,3vw,3rem); line-height:1.04; font-weight:790; letter-spacing:-.045em; }
.ta-heading-row > p,.ta-family-head > p,.ta-related-services-head > p { margin:0; color:#687783; font-size:.96rem; line-height:1.7; }

/* HERO */
.ta-hero { position:relative; overflow:hidden; color:#fff; padding:46px 0 50px; background:#102a43; }
.ta-hero-image,.ta-hero-shade { position:absolute; inset:0; }
.ta-hero-image { background-image:url('https://images.unsplash.com/photo-1488590528505-98d2b5aba04b?auto=format&fit=crop&w=1900&q=84'); background-size:cover; background-position:center; transform:scale(1.02); }
.ta-hero-shade { background:linear-gradient(90deg,rgba(5,18,33,.93) 0%,rgba(9,37,63,.86) 48%,rgba(8,31,52,.68) 100%); }
.ta-hero-inner { position:relative; z-index:1; }
.ta-breadcrumb { margin-bottom:1.35rem; }
.ta-hero-layout { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(360px,.82fr); gap:clamp(1.7rem,4vw,3.3rem); align-items:center; }
.ta-hero-copy h1 { max-width:780px; margin:0; color:#fff; font-size:clamp(2.6rem,4.3vw,4.2rem); line-height:.97; font-weight:790; letter-spacing:-.055em; text-wrap:balance; }
.ta-hero-copy > p { max-width:760px; margin:1rem 0 0; color:#d3dee7; font-size:1rem; line-height:1.7; }
.ta-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.85rem 1rem; margin-top:1.35rem; }
.ta-hero-secondary { display:inline-flex; align-items:center; gap:.42rem; color:#eef5fb; font-size:.83rem; font-weight:750; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.4); padding-bottom:.15rem; }
.ta-hero-points { display:grid; gap:.62rem; margin-top:1.3rem; max-width:620px; }
.ta-hero-points div { display:flex; gap:.55rem; align-items:flex-start; padding:.7rem .88rem; border:1px solid rgba(255,255,255,.14); border-radius:13px; background:rgba(255,255,255,.06); }
.ta-hero-points i { color:#9fd0ff; font-size:.95rem; line-height:1.3; }
.ta-hero-points span { color:#edf4f9; font-size:.83rem; line-height:1.45; }
.ta-hero-panel { overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:22px; background:rgba(10,30,49,.58); box-shadow:0 18px 45px rgba(0,0,0,.16); backdrop-filter:blur(8px); }
.ta-hero-panel-figure img { width:100%; height:215px; object-fit:cover; display:block; }
.ta-hero-panel-body { padding:1.1rem 1.15rem 1.2rem; }
.ta-hero-panel-kicker { display:block; margin-bottom:.45rem; color:#a8d4f5; font-size:.6rem; font-weight:850; letter-spacing:.15em; }
.ta-hero-panel h2 { margin:0; color:#fff; font-size:1.4rem; line-height:1.18; }
.ta-hero-panel p { margin:.58rem 0 0; color:#cad8e3; font-size:.82rem; line-height:1.6; }
.ta-hero-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:1rem; }
.ta-hero-metrics article { padding:.8rem .8rem .75rem; border:1px solid rgba(255,255,255,.11); border-radius:14px; background:rgba(255,255,255,.045); }
.ta-hero-metrics small { display:block; color:#a7cbf0; font-size:.58rem; font-weight:820; letter-spacing:.14em; }
.ta-hero-metrics strong { display:block; margin-top:.35rem; color:#fff; font-size:.9rem; }
.ta-hero-metrics span { display:block; margin-top:.28rem; color:#c8d3de; font-size:.74rem; line-height:1.42; }

/* Section 1 */
.arch-foundation-section { background:#fff; }
.arch-foundation-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.92fr); gap:clamp(1.6rem,4vw,3rem); align-items:center; }
.arch-foundation-copy h2 { margin:0 0 1rem; font-size:clamp(2rem,3.15vw,3.08rem); line-height:1.04; color:#18212d; }
.arch-foundation-copy p { margin:.8rem 0 0; color:#5f6e7a; line-height:1.74; }
.arch-foundation-list { margin:1.15rem 0 0; padding:0; list-style:none; display:grid; gap:.72rem; }
.arch-foundation-list li { position:relative; padding-left:1.55rem; color:#344353; line-height:1.6; }
.arch-foundation-list li::before { content:''; position:absolute; left:0; top:.58rem; width:9px; height:9px; border-radius:50%; background:linear-gradient(135deg,var(--ta-accent),var(--ta-accent-2)); }
.arch-foundation-side { display:grid; gap:1rem; }
.arch-foundation-image { margin:0; overflow:hidden; border-radius:20px; border:1px solid #dde6ec; box-shadow:0 12px 28px rgba(22,38,56,.08); }
.arch-foundation-image img { width:100%; height:280px; object-fit:cover; display:block; }
.arch-foundation-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.arch-foundation-cards article { padding:1rem; border-radius:16px; background:#f6f9fc; border:1px solid #d9e4ec; }
.arch-foundation-cards span { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#dfeefa; color:var(--ta-accent); font-size:.65rem; font-weight:850; }
.arch-foundation-cards h3 { margin:.85rem 0 .45rem; font-size:1rem; color:#1f2a36; }
.arch-foundation-cards p { margin:0; color:#687783; font-size:.78rem; line-height:1.56; }

/* Section 2 */
.arch-patterns-section { background:var(--ta-soft); }
.arch-patterns-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.arch-pattern-card { display:grid; grid-template-columns:170px minmax(0,1fr); gap:1rem; align-items:stretch; padding:1rem; border:1px solid #d9e6ee; border-radius:18px; background:#fff; box-shadow:0 10px 30px rgba(26,38,54,.05); }
.arch-pattern-card img { width:100%; height:100%; min-height:170px; object-fit:cover; border-radius:14px; }
.arch-kicker { display:inline-flex; margin-bottom:.55rem; color:var(--ta-accent); font-size:.62rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.arch-pattern-card h3 { margin:0 0 .45rem; font-size:1.06rem; color:#1a2430; }
.arch-pattern-card p { margin:0; color:#697783; font-size:.84rem; line-height:1.66; }

/* Section 3 */
.arch-evolution-section { color:#dce7ef; background:linear-gradient(135deg,#122235,#24425a 60%,#15344d); }
.arch-evolution-shell { display:grid; grid-template-columns:minmax(320px,.76fr) minmax(0,1.1fr); gap:clamp(1.6rem,4vw,3rem); align-items:center; }
.arch-evolution-visual { overflow:hidden; border-radius:22px; border:1px solid rgba(255,255,255,.09); box-shadow:0 18px 40px rgba(0,0,0,.14); }
.arch-evolution-visual img { width:100%; height:440px; object-fit:cover; display:block; }
.arch-evolution-content h2 { margin:0 0 1rem; color:#fff; font-size:clamp(2rem,3vw,3.05rem); line-height:1.04; }
.arch-evolution-steps { display:grid; gap:.78rem; }
.arch-evolution-steps article { display:grid; grid-template-columns:56px minmax(0,1fr); gap:.85rem; align-items:start; padding:1rem; border:1px solid rgba(255,255,255,.09); border-radius:16px; background:rgba(255,255,255,.045); }
.arch-evolution-steps strong { display:grid; place-items:center; width:56px; height:56px; border-radius:14px; background:rgba(43,139,191,.23); color:#fff; font-size:.95rem; }
.arch-evolution-steps h3 { margin:0 0 .35rem; color:#fff; font-size:1rem; }
.arch-evolution-steps p { margin:0; color:#c0ceda; font-size:.82rem; line-height:1.58; }

/* Section 4 */
.arch-guardrail-section { background:#fff; }
.arch-guardrail-mosaic { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.guardrail-feature { display:grid; grid-template-columns:200px minmax(0,1fr); gap:1rem; align-items:center; padding:1rem; border:1px solid #dde6eb; border-radius:18px; background:#f9fbfc; grid-column:1 / -1; }
.guardrail-feature img { width:100%; height:170px; object-fit:cover; border-radius:14px; }
.guardrail-feature h3 { margin:0 0 .5rem; color:#202d39; font-size:1.16rem; }
.guardrail-feature p { margin:0; color:#687783; line-height:1.66; }
.guardrail-card { display:grid; grid-template-columns:90px minmax(0,1fr); gap:.85rem; align-items:center; padding:.95rem; border:1px solid #e0e6eb; border-radius:16px; background:#fff; }
.guardrail-card img { width:90px; height:90px; object-fit:cover; border-radius:12px; }
.guardrail-card h3 { margin:0 0 .35rem; color:#20303d; font-size:1rem; }
.guardrail-card p { margin:0; color:#6d7b87; font-size:.8rem; line-height:1.58; }

/* Advisory family and services */
.ta-family-section { padding:56px 0; background:#f6f8fa; border-top:1px solid #e5eaee; }
.ta-family-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.55fr); gap:clamp(1.5rem,4vw,3.5rem); align-items:end; margin-bottom:1.8rem; }
.ta-family-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.72rem; }
.ta-family-card { display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:.85rem; align-items:center; min-height:78px; padding:.62rem .8rem .62rem .62rem; color:inherit; text-decoration:none; background:#fff; border:1px solid #dfe6eb; border-radius:13px; transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.ta-family-card:hover,.ta-family-card:focus { color:inherit; background:#eef3f6; border-color:#c8d5df; transform:translateY(-2px); box-shadow:0 10px 26px rgba(20,40,60,.07); }
.ta-family-card img { width:58px; height:58px; object-fit:cover; border-radius:9px; }
.ta-family-card span:not(.ta-family-current) { min-width:0; }
.ta-family-card strong { display:block; color:#23313e; font-size:.9rem; line-height:1.25; }
.ta-family-card small { display:block; margin-top:.2rem; color:#7a8791; font-size:.68rem; }
.ta-family-card > i { color:var(--ta-accent); font-size:.8rem; }
.ta-family-card.is-current { border-color:color-mix(in srgb,var(--ta-accent) 35%,#dfe6eb); background:var(--ta-soft); }
.ta-family-current { color:var(--ta-accent); font-size:.6rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }

.ta-related-services { padding:56px 0 52px; background:#fff; }
.ta-related-services-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.55fr); gap:clamp(1.5rem,4vw,3.5rem); align-items:end; margin-bottom:1.8rem; }
.ta-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem; }
.ta-service-card { display:flex; flex-direction:column; min-height:205px; padding:1.15rem; color:inherit; text-decoration:none; border:1px solid #e0e6eb; border-radius:14px; background:linear-gradient(180deg,#fff,#fbfcfd); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.ta-service-card:hover,.ta-service-card:focus { color:inherit; transform:translateY(-3px); border-color:#cad6df; box-shadow:0 14px 34px rgba(20,40,60,.08); }
.ta-service-kicker { display:inline-flex; align-self:flex-start; margin-bottom:1rem; color:var(--ta-accent); font-size:.58rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.ta-service-card h3 { margin:0 0 .5rem; color:#202d39; font-size:1rem; line-height:1.3; }
.ta-service-card p { margin:0; color:#6d7b87; font-size:.79rem; line-height:1.57; }
.ta-service-link { margin-top:auto; padding-top:.9rem; color:var(--ta-accent); font-size:.75rem; font-weight:800; }

.inner-final-cta { padding-top:46px; }

@media(max-width:1199.98px) {
  .ta-hero-copy h1 { font-size:clamp(2.5rem,4vw,3.95rem); }
}
@media(max-width:991.98px) {
  .ta-section { padding:52px 0; }
  .ta-hero { padding:40px 0 44px; }
  .ta-hero-layout,.ta-heading-row,.ta-family-head,.ta-related-services-head,.arch-foundation-layout,.arch-evolution-shell { grid-template-columns:1fr; }
  .ta-hero-copy h1 { max-width:760px; font-size:clamp(2.3rem,7vw,3.35rem); }
  .ta-hero-panel { max-width:760px; }
  .arch-foundation-cards,.arch-patterns-grid,.arch-guardrail-mosaic,.ta-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .guardrail-feature { grid-template-columns:160px minmax(0,1fr); }
}
@media(max-width:767.98px) {
  .ta-section { padding:44px 0; }
  .ta-hero { padding:34px 0 38px; }
  .ta-breadcrumb { margin-bottom:1.1rem; }
  .ta-hero-copy h1 { font-size:clamp(2rem,9vw,2.72rem); line-height:1.02; letter-spacing:-.045em; }
  .ta-heading-row h2,.ta-family-head h2,.ta-related-services-head h2,.arch-foundation-copy h2,.arch-evolution-content h2 { font-size:clamp(1.65rem,7vw,2.15rem); line-height:1.08; }
  .ta-hero-metrics,.arch-foundation-cards,.arch-patterns-grid,.arch-guardrail-mosaic,.ta-family-grid,.ta-service-grid { grid-template-columns:1fr; }
  .ta-hero-panel-figure img { height:190px; }
  .arch-pattern-card,.guardrail-feature,.guardrail-card { grid-template-columns:1fr; }
  .arch-pattern-card img { min-height:190px; }
  .guardrail-feature img,.guardrail-card img { width:100%; height:190px; }
  .arch-evolution-visual img { height:320px; }
  .arch-evolution-steps article { grid-template-columns:48px minmax(0,1fr); }
  .arch-evolution-steps strong { width:48px; height:48px; border-radius:12px; }
  .ta-family-section,.ta-related-services { padding:44px 0; }
  .ta-family-card { grid-template-columns:54px minmax(0,1fr) auto; min-height:72px; }
  .ta-family-card img { width:54px; height:54px; }
}
@media(max-width:575.98px) {
  .ta-hero-panel-body { padding:1rem; }
  .ta-hero-panel h2 { font-size:1.24rem; }
  .ta-hero-points div { padding:.68rem .75rem; }
  .ta-family-card { grid-template-columns:50px minmax(0,1fr) 18px; padding:.55rem; gap:.68rem; }
  .ta-family-card img { width:50px; height:50px; }
  .ta-family-card strong { font-size:.83rem; }
  .ta-family-current { font-size:.52rem; }
}
