/* ITMagix — Technology Advisory / Technology Roadmaps */
:root { --ta-accent:#305f8d; --ta-accent-2:#6698c9; --ta-soft:#eef4f8; --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:56px 0; }
.ta-section + .ta-section { border-top:1px solid #edf0f2; }
.ta-heading-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.55fr); gap:clamp(1.5rem,4vw,3.5rem); align-items:end; margin-bottom:2.1rem; }
.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:52px 0 58px; background:#102a43; }
.ta-hero-image,.ta-hero-shade { position:absolute; inset:0; }
.ta-hero-image { background-image:url('https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?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(6,20,34,.92) 0%,rgba(8,33,56,.86) 48%,rgba(8,31,52,.66) 100%); }
.ta-hero-inner { position:relative; z-index:1; }
.ta-breadcrumb { margin-bottom:1.55rem; }
.ta-hero-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr); gap:clamp(1.6rem,4vw,3.7rem); align-items:center; }
.ta-hero-copy h1 { max-width:760px; margin:0; color:#fff; font-size:clamp(2.65rem,4.25vw,4.35rem); line-height:.98; font-weight:790; letter-spacing:-.055em; text-wrap:balance; }
.ta-hero-copy > p { max-width:760px; margin:1.15rem 0 0; color:#d3dee7; font-size:1.02rem; line-height:1.68; }
.ta-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.85rem 1rem; margin-top:1.55rem; }
.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-panel { padding:1.45rem 1.4rem; border:1px solid rgba(255,255,255,.16); border-left:3px solid var(--ta-accent-2); border-radius:18px; background:rgba(10,30,49,.58); box-shadow:0 18px 45px rgba(0,0,0,.16); backdrop-filter:blur(8px); }
.ta-hero-panel-kicker { display:block; margin-bottom:.55rem; color:#a8d4f5; font-size:.6rem; font-weight:850; letter-spacing:.15em; }
.ta-hero-panel h2 { margin:0; color:#fff; font-size:1.45rem; line-height:1.18; }
.ta-hero-panel p { margin:.65rem 0 0; color:#cad8e3; font-size:.84rem; line-height:1.62; }
.ta-hero-tags { display:flex; flex-wrap:wrap; gap:.42rem; margin-top:1rem; }
.ta-hero-tags span { padding:.34rem .52rem; border:1px solid rgba(255,255,255,.12); border-radius:999px; color:#ecf3f8; background:rgba(255,255,255,.05); font-size:.62rem; font-weight:720; }

/* ADVISORY FAMILY NAVIGATION */
.ta-family-section { padding:52px 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; }

/* RELATED SERVICES */
.ta-related-services { padding:52px 0 48px; 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:991.98px) {
 .ta-section { padding:56px 0; }
 .ta-hero { padding:44px 0 48px; }
 .ta-hero-layout,.ta-heading-row,.ta-family-head,.ta-related-services-head { grid-template-columns:1fr; }
 .ta-hero-copy h1 { max-width:760px; font-size:clamp(2.35rem,7vw,3.55rem); }
 .ta-hero-panel { max-width:720px; }
 .ta-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767.98px) {
 .ta-section { padding:46px 0; }
 .ta-hero { padding:36px 0 40px; }
 .ta-breadcrumb { margin-bottom:1.2rem; }
 .ta-hero-copy h1 { font-size:clamp(2.05rem,9vw,2.8rem); line-height:1.02; letter-spacing:-.045em; }
 .ta-hero-copy > p { font-size:.95rem; line-height:1.62; }
 .ta-heading-row h2,.ta-family-head h2,.ta-related-services-head h2 { font-size:clamp(1.7rem,7vw,2.2rem); line-height:1.08; }
 .ta-family-section,.ta-related-services { padding:46px 0; }
 .ta-family-grid,.ta-service-grid { grid-template-columns:1fr; }
 .ta-family-card { grid-template-columns:54px minmax(0,1fr) auto; min-height:72px; }
 .ta-family-card img { width:54px; height:54px; }
 .ta-service-card { min-height:0; }
 .inner-final-cta { padding-top:44px; }
}
@media(max-width:575.98px) {
 .ta-hero-panel { padding:1.15rem; }
 .ta-hero-panel h2 { font-size:1.25rem; }
 .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; }
}

.roadmap-logic-section{background:#fff}.roadmap-logic-head{display:grid;grid-template-columns:.88fr 1.12fr;gap:2rem;align-items:end}.roadmap-logic-head h2{margin:0;font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.04}.roadmap-logic-head+p{max-width:900px;margin:1rem 0 2.2rem;color:#667681;line-height:1.72}.roadmap-track{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;padding-top:2rem}.roadmap-track-line{position:absolute;left:8%;right:8%;top:15px;height:2px;background:linear-gradient(90deg,var(--ta-accent),var(--ta-accent2),#b31942)}.roadmap-track article{position:relative;padding:1.15rem;border:1px solid #dce5ec;border-radius:14px;background:#fff;box-shadow:0 10px 24px rgba(24,50,74,.05)}.roadmap-track article:before{content:"";position:absolute;top:-24px;left:24px;width:13px;height:13px;border:3px solid #fff;border-radius:50%;background:var(--ta-accent);box-shadow:0 0 0 2px var(--ta-accent)}.roadmap-track span{color:var(--ta-accent);font-size:.6rem;font-weight:850;letter-spacing:.14em}.roadmap-track h3{margin:1rem 0 .4rem;font-size:1rem}.roadmap-track p{margin:0;color:#6e7c86;font-size:.8rem;line-height:1.55}.roadmap-horizon-section{background:#f6f8fa}.roadmap-horizon-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:3rem;align-items:center}.roadmap-horizon-intro h2{margin:0 0 .8rem;font-size:clamp(2rem,3vw,3rem);line-height:1.04}.roadmap-horizon-intro p{color:#697883;line-height:1.7}.roadmap-horizons{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.roadmap-horizons article{padding:1.1rem;border-radius:15px;background:#fff;border-top:4px solid var(--ta-accent)}.roadmap-horizons b{display:block;color:#23384b;font-size:1.8rem}.roadmap-horizons span{font-size:.55rem;letter-spacing:.14em;color:var(--ta-accent);font-weight:850}.roadmap-horizons h3{margin:1.2rem 0 .45rem;font-size:.95rem}.roadmap-horizons p{color:#6d7b85;font-size:.78rem;line-height:1.5}.roadmap-dependency-section{background:#fff}.roadmap-dependency-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.6rem;align-items:center}.roadmap-dependency-grid figure{margin:0;position:relative;overflow:hidden;border-radius:18px}.roadmap-dependency-grid img{width:100%;height:390px;object-fit:cover}.roadmap-dependency-grid figcaption{position:absolute;left:1rem;bottom:1rem;right:1rem;padding:.7rem .8rem;border-radius:9px;color:#fff;background:rgba(13,35,55,.82);font-size:.77rem}.roadmap-dependency-copy h2{margin:0 0 1rem;font-size:clamp(2rem,3vw,3rem);line-height:1.04}.roadmap-dependency-list{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.roadmap-dependency-list>div{display:grid;grid-template-columns:36px 1fr;gap:.7rem;padding:.8rem;background:#f8fafb;border-radius:10px}.roadmap-dependency-list i{color:var(--ta-accent);font-size:1rem}.roadmap-dependency-list p{margin:0;color:#6c7983;font-size:.76rem;line-height:1.5}.roadmap-dependency-list strong{color:#273744}.roadmap-governance-section{background:linear-gradient(135deg,#17334e,#274b6d);color:#dce6ee}.roadmap-governance-shell{display:grid;grid-template-columns:.75fr 1.25fr;gap:3rem;align-items:center}.roadmap-governance-shell h2{margin:0;color:#fff;font-size:clamp(2rem,3vw,3rem);line-height:1.04}.roadmap-governance-points{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.roadmap-governance-points span{display:flex;gap:.55rem;align-items:flex-start;padding:.8rem;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.04);font-size:.8rem;line-height:1.5}.roadmap-governance-points i{color:#9acbf0}@media(max-width:991.98px){.roadmap-logic-head,.roadmap-horizon-layout,.roadmap-dependency-grid,.roadmap-governance-shell{grid-template-columns:1fr}.roadmap-track{grid-template-columns:1fr}.roadmap-track-line{left:20px;right:auto;top:0;bottom:0;width:2px;height:auto}.roadmap-track article{margin-left:1rem}.roadmap-track article:before{top:20px;left:-24px}.roadmap-horizons{grid-template-columns:1fr 1fr}.roadmap-dependency-grid img{height:280px}}@media(max-width:767.98px){.roadmap-horizons,.roadmap-dependency-list,.roadmap-governance-points{grid-template-columns:1fr}}


/* Technology Roadmaps redesign v2 */

/* Hero: full-width editorial stage with roadmap route */
.ta-hero{padding:42px 0 46px;background:#0f2940}
.ta-hero-image{background-image:url('https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?auto=format&fit=crop&w=1900&q=84');background-position:center 42%}
.ta-hero-shade{background:linear-gradient(90deg,rgba(6,20,34,.94) 0%,rgba(8,33,56,.87) 48%,rgba(8,31,52,.56) 100%)}
.roadmap-hero-stage{display:grid;gap:1.55rem}
.roadmap-hero-title-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.55fr);gap:2rem;align-items:end}
.roadmap-hero-title-row h1{max-width:920px;margin:0;color:#fff;font-size:clamp(2.55rem,4.35vw,4.55rem);line-height:.96;font-weight:790;letter-spacing:-.06em;text-wrap:balance}
.roadmap-hero-title-row>p{margin:0;color:#d2dce5;font-size:.98rem;line-height:1.72}
.roadmap-hero-lower{display:grid;grid-template-columns:minmax(280px,.58fr) minmax(0,1.42fr);gap:1.3rem;align-items:stretch}
.roadmap-hero-actions-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:.15rem 0}
.roadmap-hero-actions-copy>p{margin:0;color:#c6d3df;font-size:.87rem;line-height:1.65}
.roadmap-hero-visual{position:relative;min-height:285px;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 42px rgba(0,0,0,.18)}
.roadmap-hero-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.roadmap-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,40,.48),rgba(7,28,46,.18) 40%,rgba(7,28,46,.55))}
.roadmap-hero-route{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.roadmap-hero-route article{padding:.75rem .78rem;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(7,28,47,.76);backdrop-filter:blur(5px)}
.roadmap-hero-route span{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:rgba(102,152,201,.22);color:#fff;font-size:.66rem;font-weight:800}
.roadmap-hero-route strong{display:block;margin-top:.55rem;color:#fff;font-size:.77rem;letter-spacing:.08em}
.roadmap-hero-route small{display:block;margin-top:.22rem;color:#c9d5df;font-size:.67rem;line-height:1.4}
.roadmap-hero-govern{border-color:rgba(179,25,66,.34)!important;background:rgba(70,17,35,.66)!important}

/* Roadmap Design: image + decision rail */
.roadmap-logic-section{background:#fff}
.roadmap-design-head{display:grid;grid-template-columns:minmax(0,.95fr) minmax(300px,.62fr);gap:2rem;align-items:end;margin-bottom:1.45rem}
.roadmap-design-head h2{margin:0;font-size:clamp(2rem,3.1vw,3.05rem);line-height:1.04;color:#17202a}
.roadmap-design-head>p{margin:0;color:#667681;line-height:1.7}
.roadmap-design-canvas{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:1.15rem;align-items:stretch}
.roadmap-design-figure{position:relative;margin:0;overflow:hidden;border-radius:20px;min-height:420px;background:#16314a}
.roadmap-design-figure img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}
.roadmap-design-figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(10,29,46,.82))}
.roadmap-design-figure figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:1;color:#fff;font-size:.82rem;line-height:1.5;font-weight:700}
.roadmap-design-rail{position:relative;display:grid;gap:0;padding-left:1.1rem}
.roadmap-design-rail:before{content:"";position:absolute;left:27px;top:28px;bottom:28px;width:2px;background:linear-gradient(180deg,#305f8d,#6698c9,#b31942)}
.roadmap-design-rail article{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:.9rem;padding:.95rem 0;border-bottom:1px solid #e3e9ee}
.roadmap-design-rail article:last-child{border-bottom:0}
.roadmap-design-step{position:relative;z-index:1;display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#173d60;color:#fff;font-size:.72rem;font-weight:850;box-shadow:0 0 0 5px #fff}
.roadmap-design-rail small{color:#305f8d;font-size:.6rem;font-weight:850;letter-spacing:.14em}
.roadmap-design-rail h3{margin:.25rem 0 .35rem;color:#20303c;font-size:1.02rem}
.roadmap-design-rail p{margin:0;color:#687782;font-size:.8rem;line-height:1.56}
.roadmap-design-rail b{display:block;margin-top:.55rem;color:#4e6375;font-size:.72rem;font-weight:760}

/* Governance: image-led review loop with anchored callouts */
.roadmap-governance-section{background:#122b42;color:#dce6ee}
.roadmap-governance-head{display:grid;grid-template-columns:minmax(0,.85fr) minmax(300px,.65fr);gap:2rem;align-items:end;margin-bottom:1.35rem}
.roadmap-governance-head h2{margin:0;color:#fff;font-size:clamp(2rem,3vw,3rem);line-height:1.04}
.roadmap-governance-head>p{margin:0;color:#c1d0dc;line-height:1.68}
.roadmap-governance-canvas{position:relative;min-height:500px}
.roadmap-governance-image{position:absolute;left:18%;right:18%;top:0;bottom:0;margin:0;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 44px rgba(0,0,0,.18)}
.roadmap-governance-image img{width:100%;height:100%;object-fit:cover;display:block}
.roadmap-governance-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,22,36,.18),rgba(5,22,36,.68))}
.roadmap-governance-center{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:2;padding:1rem 1.05rem;border-radius:14px;background:rgba(7,28,46,.8);backdrop-filter:blur(5px)}
.roadmap-governance-center span{display:block;color:#8fc3ec;font-size:.6rem;font-weight:850;letter-spacing:.15em}
.roadmap-governance-center strong{display:block;margin-top:.35rem;color:#fff;font-size:1rem;line-height:1.45}
.roadmap-governance-callout{position:absolute;width:min(320px,25%);padding:.95rem 1rem;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.06);backdrop-filter:blur(6px);box-shadow:0 12px 26px rgba(0,0,0,.1)}
.roadmap-governance-callout b{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:rgba(102,152,201,.2);color:#fff;font-size:.68rem}
.roadmap-governance-callout strong{display:block;margin-top:.55rem;color:#fff;font-size:.9rem;line-height:1.3}
.roadmap-governance-callout span{display:block;margin-top:.35rem;color:#c5d2dd;font-size:.74rem;line-height:1.5}
.callout-a{left:0;top:30px}.callout-b{right:0;top:85px}.callout-c{left:0;bottom:36px}.callout-d{right:0;bottom:14px}

@media(max-width:1199.98px){
 .roadmap-governance-image{left:16%;right:16%}.roadmap-governance-callout{width:29%}
}
@media(max-width:991.98px){
 .roadmap-hero-title-row,.roadmap-hero-lower,.roadmap-design-head,.roadmap-design-canvas,.roadmap-governance-head{grid-template-columns:1fr}
 .roadmap-hero-route{grid-template-columns:repeat(2,minmax(0,1fr))}
 .roadmap-design-figure,.roadmap-design-figure img{min-height:320px}
 .roadmap-governance-canvas{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;min-height:0}
 .roadmap-governance-image{position:relative;left:auto;right:auto;top:auto;bottom:auto;grid-column:1/-1;height:330px}
 .roadmap-governance-callout{position:static;width:auto}
}
@media(max-width:767.98px){
 .ta-hero{padding:34px 0 38px}
 .roadmap-hero-title-row h1{font-size:clamp(2.05rem,9vw,2.8rem);line-height:1.01}
 .roadmap-hero-route{grid-template-columns:1fr 1fr}
 .roadmap-hero-visual{min-height:360px}
 .roadmap-design-head h2,.roadmap-governance-head h2{font-size:clamp(1.7rem,7vw,2.2rem);line-height:1.08}
 .roadmap-design-rail{padding-left:0}.roadmap-design-rail:before{left:25px}.roadmap-design-rail article{grid-template-columns:52px minmax(0,1fr)}.roadmap-design-step{width:50px;height:50px}
 .roadmap-governance-canvas{grid-template-columns:1fr}.roadmap-governance-image{grid-column:auto;height:280px}
}
@media(max-width:575.98px){
 .roadmap-hero-route{grid-template-columns:1fr}.roadmap-hero-visual{min-height:500px}.roadmap-hero-route article{padding:.68rem .72rem}
}
