
.tt-case-v1 {
    --navy-hero:#0b2545; --navy-darkest:#09203b; --navy-heading:#0b2545;
    --blue-link:#006eb8; --cyan:#00AEEF; --bg-light:#F4F8FB; --bg-alt:#F3F3F3;
    --amber:#d3911a; --text-body:rgba(0,0,0,.87); --text-muted:#5A5F73;
    --white:#ffffff; --radius:10px; --maxw:1100px;
  }.tt-case-v1 * {box-sizing:border-box;}.tt-case-v1 {margin:0;font-family:'Source Sans 3',Arial,Helvetica,sans-serif;color:var(--text-body);line-height:1.65;background:var(--white);-webkit-font-smoothing:antialiased;}.tt-case-v1 img {max-width:100%;display:block;}.tt-case-v1 a {text-decoration:none;color:inherit;}.tt-case-v1 .wrap {max-width:var(--maxw);margin:0 auto;padding:0 24px;}.tt-case-v1 .eyebrow {display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);margin-bottom:14px;}.tt-case-v1 h1, .tt-case-v1 h2, .tt-case-v1 h3, .tt-case-v1 h4 {margin:0 0 .5em 0;color:var(--navy-heading);font-weight:700;}.tt-case-v1 h1 {font-size:34px;line-height:1.24;color:#fff;}.tt-case-v1 h2 {font-size:26px;line-height:1.3;}.tt-case-v1 h3 {font-size:18px;color:var(--blue-link);}.tt-case-v1 p {margin:0 0 1em 0;}.tt-case-v1 .section {padding:60px 0;}.tt-case-v1 .bg-light {background:var(--bg-light);}.tt-case-v1 .bg-alt {background:var(--bg-alt);}.tt-case-v1 .bg-navy {background:var(--navy-hero);color:#fff;}.tt-case-v1 .bg-navy-darkest {background:var(--navy-darkest);color:#fff;}.tt-case-v1 .bg-navy-darkest h2, .tt-case-v1 .bg-navy h2 {color:#fff;}.tt-case-v1 .lede {font-size:16px;color:var(--text-muted);max-width:760px;}.tt-case-v1 .btn {display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:6px;font-weight:600;font-size:15px;border:2px solid transparent;cursor:pointer;}.tt-case-v1 .btn-amber {background:var(--amber);color:#2A1A00;}.tt-case-v1 .btn-outline {background:transparent;color:#fff;border-color:rgba(255,255,255,.55);}.tt-case-v1 .btn-outline-navy {background:transparent;color:var(--navy-heading);border-color:var(--navy-heading);}.tt-case-v1 .btn-row {display:flex;gap:14px;flex-wrap:wrap;margin-top:22px;}.tt-case-v1 header.site-header {display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1180px;margin:0 auto;}.tt-case-v1 header.site-header img.logo {height:34px;}.tt-case-v1 header.site-header nav {display:flex;align-items:center;font-size:15px;font-weight:500;color:#0b2545;}.tt-case-v1 header.site-header nav span {margin-right:28px;}.tt-case-v1 header.site-header nav span:last-child {margin-right:0;}.tt-case-v1 header.site-header .contact-btn {background:var(--cyan);color:#fff;padding:11px 20px;border-radius:6px;font-weight:600;font-size:14px;}.tt-case-v1 .breadcrumb {font-size:13px;color:rgba(255,255,255,.75);margin-bottom:20px;}.tt-case-v1 .breadcrumb a {color:rgba(255,255,255,.75);}.tt-case-v1 .breadcrumb span {margin:0 8px;opacity:.5;}.tt-case-v1 .hero {position:relative;overflow:hidden;padding:48px 0 56px;}.tt-case-v1 .hero::before {content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1.4px, transparent 1.4px);background-size:22px 22px;opacity:.35;pointer-events:none;}.tt-case-v1 .hero-inner {position:relative;z-index:1;}.tt-case-v1 .product-badge {display:flex;align-items:center;gap:10px;margin-bottom:22px;}.tt-case-v1 .product-badge svg {width:34px;height:34px;}.tt-case-v1 .product-badge span {font-weight:800;font-size:15px;letter-spacing:.02em;}.tt-case-v1 .product-badge span b {color:var(--cyan);font-weight:800;}.tt-case-v1 .hero p.sub {color:rgba(255,255,255,.85);font-size:16.5px;max-width:680px;}.tt-case-v1 .at-a-glance {background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:18px 22px;margin-top:26px;font-size:14.5px;color:#fff;max-width:760px;}.tt-case-v1 .at-a-glance strong {color:var(--amber);}.tt-case-v1 .stat-band {display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px;}.tt-case-v1 .stat {text-align:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:20px 8px;}.tt-case-v1 .stat .num {font-family:'Archivo',sans-serif;font-size:26px;font-weight:700;color:#fff;}.tt-case-v1 .stat .lbl {font-size:11.5px;color:rgba(255,255,255,.7);margin-top:4px;letter-spacing:.03em;text-transform:uppercase;}
  @media (max-width:760px){.tt-case-v1 .stat-band {grid-template-columns:repeat(2,1fr);}.tt-case-v1 h1 {font-size:27px;}}.tt-case-v1 .anon-note {font-style:italic;font-size:13px;color:var(--text-muted);border-left:3px solid var(--amber);padding:12px 18px;background:var(--bg-light);border-radius:0 6px 6px 0;margin-top:24px;}.tt-case-v1 .pull-quote {border-left:4px solid var(--cyan);background:var(--bg-light);padding:24px 28px;border-radius:0 8px 8px 0;margin:26px 0;}.tt-case-v1 .pull-quote p {font-weight:700;font-size:18px;color:#0b2545;margin:0;line-height:1.5;}.tt-case-v1 .impact-box {background:var(--navy-darkest);color:#fff;border-radius:10px;padding:26px 30px;margin-top:26px;}.tt-case-v1 .impact-box strong {color:var(--amber);}.tt-case-v1 table.data-table {width:100%;border-collapse:collapse;margin-top:24px;font-size:14px;}.tt-case-v1 table.data-table th {text-align:left;background:var(--navy-heading);color:#fff;padding:12px 16px;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;}.tt-case-v1 table.data-table td {padding:14px 16px;border-bottom:1px solid #E6EAF2;vertical-align:top;}.tt-case-v1 table.data-table tr:nth-child(even) td {background:var(--bg-light);}.tt-case-v1 table.data-table td:first-child {font-weight:700;color:var(--navy-heading);width:26%;}.tt-case-v1 .obj-list {margin-top:20px;padding-left:0;list-style:none;}.tt-case-v1 .obj-list li {padding:10px 0 10px 30px;position:relative;font-size:14.5px;border-bottom:1px solid #EEF1F7;}.tt-case-v1 .obj-list li:last-child {border-bottom:none;}.tt-case-v1 .obj-list li::before {content:"✓";position:absolute;left:0;color:var(--cyan);font-weight:800;}.tt-case-v1 .principle-box {background:var(--bg-light);border-left:4px solid var(--amber);border-radius:0 8px 8px 0;padding:18px 22px;margin-top:24px;font-size:14px;}.tt-case-v1 .principle-box strong {color:var(--navy-heading);}.tt-case-v1 .comp-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px;}.tt-case-v1 .comp-card {background:#fff;border:1px solid #E6EAF2;border-radius:8px;padding:18px;}.tt-case-v1 .comp-card h3 {font-size:14.5px;color:var(--navy-heading);margin:0 0 8px 0;}.tt-case-v1 .comp-card p {font-size:13.5px;color:var(--text-muted);margin:0;}
  @media (max-width:760px){.tt-case-v1 .comp-grid {grid-template-columns:1fr;}}.tt-case-v1 .steps6 {display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:26px;}.tt-case-v1 .step6 {background:#fff;border:1px solid #E6EAF2;border-radius:10px;padding:14px 12px;}.tt-case-v1 .step6 .num {width:24px;height:24px;border-radius:50%;background:var(--navy-hero);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:8px;}.tt-case-v1 .step6 h3 {font-size:12.5px;color:var(--navy-heading);margin:0 0 5px 0;}.tt-case-v1 .step6 p {font-size:11px;color:var(--text-muted);margin:0;}
  @media (max-width:900px){.tt-case-v1 .steps6 {grid-template-columns:repeat(3,1fr);}}
  @media (max-width:560px){.tt-case-v1 .steps6 {grid-template-columns:repeat(2,1fr);}}.tt-case-v1 .tech-strip {background:var(--bg-light);border-radius:10px;padding:20px 24px;margin-top:24px;font-size:13.5px;color:var(--text-muted);}.tt-case-v1 .tech-strip strong {color:var(--navy-heading);}.tt-case-v1 .gov-grid {display:flex;flex-direction:column;gap:2px;margin-top:24px;}.tt-case-v1 .gov-row {display:grid;grid-template-columns:220px 1fr;gap:20px;padding:16px 20px;border-radius:6px;background:var(--bg-light);}.tt-case-v1 .gov-row strong {color:var(--navy-heading);font-size:14px;}.tt-case-v1 .gov-row span {font-size:13.5px;color:var(--text-muted);}
  @media (max-width:700px){.tt-case-v1 .gov-row {grid-template-columns:1fr;}}.tt-case-v1 .principle-grid2 {display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;margin-top:24px;}.tt-case-v1 .principle2 {font-size:14px;padding:12px 0;border-bottom:1px solid #EEF1F7;}.tt-case-v1 .principle2 strong {color:var(--navy-heading);}
  @media (max-width:700px){.tt-case-v1 .principle-grid2 {grid-template-columns:1fr;}}.tt-case-v1 .phase-grid {display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:24px;}.tt-case-v1 .phase {background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:16px;}.tt-case-v1 .phase .num {width:26px;height:26px;border-radius:50%;background:var(--amber);color:#2A1A00;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;}.tt-case-v1 .phase h3 {color:#fff;font-size:13.5px;margin:0;}
  @media (max-width:900px){.tt-case-v1 .phase-grid {grid-template-columns:repeat(3,1fr);}}
  @media (max-width:560px){.tt-case-v1 .phase-grid {grid-template-columns:repeat(2,1fr);}}.tt-case-v1 .outcome-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:26px;}.tt-case-v1 .outcome-card {background:#fff;border:1px solid #E6EAF2;border-top:3px solid var(--cyan);border-radius:8px;padding:20px;}.tt-case-v1 .outcome-card h3 {font-size:15px;color:var(--navy-heading);margin:0 0 8px 0;}.tt-case-v1 .outcome-card p {font-size:13.5px;color:var(--text-muted);margin:0;}
  @media (max-width:760px){.tt-case-v1 .outcome-grid {grid-template-columns:1fr;}}.tt-case-v1 .effective-list {margin-top:20px;padding-left:20px;}.tt-case-v1 .effective-list li {margin-bottom:12px;font-size:14.5px;}.tt-case-v1 .source-note {font-size:12.5px;color:var(--text-muted);font-style:italic;border-top:1px solid #E6EAF2;padding-top:16px;margin-top:30px;}.tt-case-v1 .cta-band {background:var(--navy-hero);color:#fff;padding:48px 0;text-align:center;}.tt-case-v1 .cta-band h2 {color:#fff;}.tt-case-v1 .cta-band p {color:rgba(255,255,255,.85);max-width:600px;margin:0 auto 6px auto;}.tt-case-v1 .cta-band .btn-row {justify-content:center;}.tt-case-v1 footer {background:var(--bg-alt);padding:50px 0 26px;}.tt-case-v1 .footer-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:32px;}.tt-case-v1 .footer-grid h3 {font-size:15px;color:#0b2545;margin:0 0 14px 0;}.tt-case-v1 .footer-grid ul {list-style:none;margin:0;padding:0;}.tt-case-v1 .footer-grid li {margin-bottom:9px;font-size:13.5px;}.tt-case-v1 .footer-grid a {color:#4A4F63;}.tt-case-v1 .footer-logo {width:140px;height:auto;display:block;margin-bottom:12px;}.tt-case-v1 .footer-bottom {margin-top:36px;padding-top:20px;border-top:1px solid #E1E4EA;font-size:12.5px;color:#7A7F8F;text-align:center;}



.tt-case-v2{--navy:#0b2545;--navy2:#09203b;--heading:#0b2545;--blue:#006eb8;--cyan:#00AEEF;--amber:#d3911a;--light:#E6F4FF;--alt:#F3F3F3;--text:#383838;--muted:#5A5F73;--border:#CBE7FB;--green:#16784b;--max:1160px;}.tt-case-v2, .tt-case-v2 *{box-sizing:border-box}.tt-case-v2{font-family:'Source Sans 3',Arial,sans-serif;color:var(--text);line-height:1.6;overflow-x:visible}.tt-case-v2 img{display:block;max-width:100%}.tt-case-v2 a{color:inherit;text-decoration:none}.tt-case-v2 .wrap{max-width:var(--max);margin:auto;padding:0 26px}.tt-case-v2 .section{padding:70px 0}.tt-case-v2 .light{background:var(--light)}.tt-case-v2 .dark{background:var(--navy2);color:#fff}.tt-case-v2 .dark h2,.tt-case-v2 .dark h3{color:#fff}.tt-case-v2 h1,.tt-case-v2 h2,.tt-case-v2 h3,.tt-case-v2 h4,.tt-case-v2 h5{margin:0;color:var(--heading);font-family:'Source Sans 3',Arial,sans-serif}.tt-case-v2 h1{font-size:42px;line-height:1.13;color:#fff;max-width:850px}.tt-case-v2 h2{font-size:30px;line-height:1.22;margin-bottom:14px}.tt-case-v2 h3{font-size:19px;color:var(--blue)}.tt-case-v2 p{margin:0 0 1em;text-align:left}/* left: theme.css sets bare p{text-align:justify} sitewide */.tt-case-v2 .lede{max-width:820px;color:var(--muted);font-size:16px}.tt-case-v2 .dark .lede{color:rgba(255,255,255,.76)}.tt-case-v2 .brief{max-width:820px;font-size:17px;font-weight:500}.tt-case-v2 .brief strong{color:var(--heading)}.tt-case-v2 .hero{background:linear-gradient(135deg,#0b2545 0%,#123758 58%,#09203b 100%);color:#fff;position:relative;overflow:hidden;padding:58px 0 62px}.tt-case-v2 .hero,.tt-case-v2 .light,.tt-case-v2 .dark,.tt-case-v2 .cta{width:100vw;margin-left:calc(50% - 50vw)}.tt-case-v2 .hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1.2px,transparent 1.2px);background-size:22px 22px;opacity:.23}.tt-case-v2 .hero-grid{position:relative;display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}.tt-case-v2 .hero-logo{width:100%;max-width:302px;margin:0 0 20px}.tt-case-v2 .eyebrow{display:inline-flex;gap:8px;align-items:center;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:13px}.tt-case-v2 .dark .eyebrow{color:var(--cyan)}.tt-case-v2 .hero .eyebrow{color:#9ceaff}.tt-case-v2 .sub{font-size:17px;color:rgba(255,255,255,.84);max-width:770px;margin-top:16px}.tt-case-v2 .hero-panel{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:26px}.tt-case-v2 .hero-panel h3{color:#fff;margin-bottom:14px}.tt-case-v2 .hero-panel p{color:rgba(255,255,255,.78);font-size:14px}.tt-case-v2 .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0 24px;margin-top:30px}.tt-case-v2 .stat{background:none;border:0;border-top:1px solid rgba(255,255,255,.26);border-radius:0;padding:14px 0 0;text-align:left}.tt-case-v2 .stat strong{font-family:'Source Sans 3',Arial,sans-serif;font-size:19px;font-weight:700;line-height:1.25;display:block;color:#fff;margin-bottom:5px}.tt-case-v2 .stat span{font-size:11px;color:rgba(255,255,255,.68);text-transform:uppercase;letter-spacing:.04em}.tt-case-v2 .anchor{border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:5}.tt-case-v2 .anchor .wrap{display:flex;gap:22px;overflow:auto;padding-top:13px;padding-bottom:13px}.tt-case-v2 .anchor .wrap{counter-reset:echnav}.tt-case-v2 .anchor a{white-space:nowrap;color:var(--blue);font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;line-height:1.4}.tt-case-v2 .anchor a::before{counter-increment:echnav;content:counter(echnav,decimal-leading-zero);color:var(--muted);font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:700;margin-right:7px}.tt-case-v2 a:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.tt-case-v2 .hero a:focus-visible,.tt-case-v2 .dark a:focus-visible,.tt-case-v2 .cta a:focus-visible{outline-color:var(--cyan)}.tt-case-v2 .solution-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:28px}.tt-case-v2 .solution{background:#fff;border:1px solid var(--border);border-radius:10px;padding:20px}.tt-case-v2 .solution h4{font-size:15px;margin-bottom:7px;color:var(--heading)}.tt-case-v2 .solution p{font-size:13.5px;color:var(--muted);margin:0}.tt-case-v2 .lifecycle{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;margin-top:24px}.tt-case-v2 .life{position:relative;background:#fff;border:1px solid var(--border);border-radius:9px;padding:13px 11px;min-height:135px}.tt-case-v2 .life:not(:last-child):after{content:"→";position:absolute;right:-11px;top:45%;z-index:2;color:var(--blue);font-weight:800}.tt-case-v2 .life .n{width:24px;height:24px;border-radius:50%;background:var(--navy);color:white;display:grid;place-items:center;font-size:11px;font-weight:800;margin-bottom:8px}.tt-case-v2 .life h5{font-size:12px;line-height:1.35;margin-bottom:5px}.tt-case-v2 .life p{font-size:11px;color:var(--muted);margin:0}/* 2026-08-26: coloured top-rule callouts are a banned pattern; the master-record stage now uses the same solid dark treatment it has on the other two ECH360 pages, and the asset stage a light tint */.tt-case-v2 .life.master{background:var(--navy2);border-color:var(--navy2)}.tt-case-v2 .life.master h5,.tt-case-v2 .life.master p{color:#fff}.tt-case-v2 .life.master p{opacity:.8}.tt-case-v2 .life.master .n{background:#fff;color:var(--navy2)}.tt-case-v2 .life.asset{background:var(--light)}.tt-case-v2 .arch{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px}.tt-case-v2 .arch-card{border-radius:10px;padding:18px;background:#fff;border:1px solid var(--border)}.tt-case-v2 .arch-card strong{display:block;color:var(--heading);font-size:13px;margin-bottom:5px}.tt-case-v2 .arch-card span{font-size:12px;color:var(--muted)}.tt-case-v2 .gov{display:grid;grid-template-columns:220px 1fr;gap:2px;margin-top:28px}.tt-case-v2 .gov div{padding:16px 19px;background:rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.08)}.tt-case-v2 .gov strong{color:#fff;font-size:13.5px}.tt-case-v2 .gov span{font-size:13px;color:rgba(255,255,255,.74)}.tt-case-v2 .principles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.tt-case-v2 .principle{border:1px solid rgba(255,255,255,.15);border-radius:9px;padding:16px}.tt-case-v2 .principle h5{display:block;color:#fff;font-size:13px;line-height:1.4;margin:0 0 5px}.tt-case-v2 .principle p{font-size:12.5px;color:rgba(255,255,255,.72);margin:0}.tt-case-v2 .outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:26px}.tt-case-v2 .outcome{background:#fff;border:1px solid var(--border);border-top:3px solid var(--cyan);border-radius:10px;padding:20px}.tt-case-v2 .outcome h4{font-size:14.5px;margin-bottom:7px}.tt-case-v2 .outcome p{font-size:13px;color:var(--muted);margin:0}.tt-case-v2 .impact{margin-top:28px;background:var(--navy2);color:#fff;border-radius:10px;padding:24px 26px}.tt-case-v2 .impact strong{color:#8FD8FF}.tt-case-v2 .cta{background:var(--navy);color:#fff;padding:52px 0}.tt-case-v2 .cta-grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.tt-case-v2 .cta h2{color:#fff}.tt-case-v2 .cta p{color:rgba(255,255,255,.82);max-width:760px}.tt-case-v2 .btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:6px;font-weight:700;font-size:14px;font-family:'Source Sans 3',Arial,sans-serif;line-height:1.3}/* font-family, line-height: theme.css ".btn,button,.button{...}" sets Fira Sans and line-height:51px on any .btn element */.tt-case-v2 .btn.primary{background:var(--cyan);color:#06283D}.tt-case-v2 .btn.secondary{border:1px solid rgba(255,255,255,.55);color:#fff;margin-left:8px;background:transparent}/* background: theme.css ".btn,button,.button{...}" puts a cyan/blue gradient behind any .btn element; the primary button already resets it via its own background shorthand */@media(max-width:980px){.tt-case-v2 .hero-grid{grid-template-columns:1fr}.tt-case-v2 .outcomes,.tt-case-v2 .principles{grid-template-columns:repeat(2,1fr)}.tt-case-v2 .lifecycle{grid-template-columns:repeat(4,1fr)}.tt-case-v2 .life:after{display:none}}@media(max-width:620px){.tt-case-v2 .wrap{padding:0 18px}.tt-case-v2 h1{font-size:32px}.tt-case-v2 h2{font-size:25px}.tt-case-v2 .section{padding:50px 0}.tt-case-v2 .stats,.tt-case-v2 .solution-grid,.tt-case-v2 .outcomes,.tt-case-v2 .principles,.tt-case-v2 .arch{grid-template-columns:1fr}.tt-case-v2 .lifecycle{grid-template-columns:repeat(2,1fr)}.tt-case-v2 .gov{grid-template-columns:1fr}.tt-case-v2 .cta-grid{grid-template-columns:1fr}.tt-case-v2 .btn.secondary{margin:8px 0 0 0}}
/* ===== THEME INTEGRATION FIX (added 2026-08-26) =====
   The parent theme wraps page content in div.entry-content.clearfix, which
   constrains width and blocks full-bleed, and its own rules were beating
   .anchor-nav and .btn-outline. Scoped under .tt-case-v2 and kept as tight as
   possible; !important is used only where the theme rule genuinely wins. */
.tt-case-v2 section.hero,
.tt-case-v2 section.section,
.tt-case-v2 section.section-tight,
.tt-case-v2 section.stakes-band,
.tt-case-v2 section.cta-band,
.tt-case-v2 section.contact-band{
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  width:100vw!important;
  max-width:100vw!important;
  border-radius:0!important;
}
.tt-case-v2 section > .wrap{max-width:1180px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;}
/* the theme forces justified body copy inside .entry-content */
.tt-case-v2 p,.tt-case-v2 li{text-align:left!important;hyphens:none;}
/* the theme sets display:block on content links, flattening the nav */
.tt-case-v2 nav.anchor-nav{display:flex!important;flex-wrap:wrap;gap:10px 22px;align-items:center;}
.tt-case-v2 nav.anchor-nav a{display:inline-block!important;text-decoration:none;}
/* outline buttons were rendering as bare text */
.tt-case-v2 a.btn{display:inline-block;text-decoration:none!important;}
.tt-case-v2 a.btn-outline{border:1.5px solid rgba(255,255,255,.7)!important;color:#fff!important;
  padding:14px 26px;border-radius:8px;background:transparent;}
.tt-case-v2 a.btn-outline:hover{background:rgba(255,255,255,.12)!important;}
.tt-case-v2 a.btn-outline-navy{border:1.5px solid var(--navy-hero,#0b2545)!important;
  color:var(--navy-hero,#0b2545)!important;padding:14px 26px;border-radius:8px;background:transparent;}
@media(max-width:640px){.tt-case-v2 section > .wrap{padding-left:18px;padding-right:18px;}}
/* ===== FULL-WIDTH BREAKOUT v2 (2026-08-26) =====
   The theme's .container.content-container is capped at max-width:1200px with
   15px gutters, and .row.content-row adds negative margins. A breakout from
   inside .entry-content cannot escape that, so we neutralise the ancestors.
   Keyed to this page's own body class so no other page on the site is touched.
   Verified in-browser: hero goes from w=1170,left=135 to w=1440,left=0. */
body:has(.tt-case-v2) .container.content-container{max-width:none!important;width:100%!important;padding-left:0!important;padding-right:0!important;}
body:has(.tt-case-v2) .row.content-row{margin-left:0!important;margin-right:0!important;}
body:has(.tt-case-v2) .content-area,
body:has(.tt-case-v2) [class*="col-"]{padding-left:0!important;padding-right:0!important;}
body:has(.tt-case-v2) .entry-content{overflow:visible!important;}
/* our bands then simply fill the freed width, no negative-margin trickery */
body:has(.tt-case-v2) .tt-case-v2 section.hero,
body:has(.tt-case-v2) .tt-case-v2 section.section,
body:has(.tt-case-v2) .tt-case-v2 section.section-tight,
body:has(.tt-case-v2) .tt-case-v2 section.stakes-band,
body:has(.tt-case-v2) .tt-case-v2 section.cta-band,
body:has(.tt-case-v2) .tt-case-v2 section.contact-band,
body:has(.tt-case-v2) .tt-case-v2 .hero,
body:has(.tt-case-v2) .tt-case-v2 .light,
body:has(.tt-case-v2) .tt-case-v2 .dark,
body:has(.tt-case-v2) .tt-case-v2 .cta{margin-left:0!important;margin-right:0!important;width:100%!important;max-width:none!important;border-radius:0!important;}
body:has(.tt-case-v2) .tt-case-v2{overflow-x:visible;}
/* theme redux sets h1,.h1{font-family:'Source Sans 3'}; our display face must win */
body:has(.tt-case-v2) .tt-case-v2 h1,body:has(.tt-case-v2) .tt-case-v2 h2,body:has(.tt-case-v2) .tt-case-v2 h3{font-family:'Source Sans 3',Arial,sans-serif!important;}
/* site-alignment 2026-08-26: single-family Inter like the rest of techtiera.com; h1/h2 carry hierarchy with weight 800 */
.tt-case-v2 h1,.tt-case-v2 h2{font-weight:800;letter-spacing:-.015em;}
/* ===== APPROVED LAYOUT OPTIONS, ported 2026-08-26 =====
   1A display line (customer profile statement), 2B diagram-first (challenge),
   3A five ruled steps plus two statements (transformation), D1 two timescales.
   No blank lines anywhere in this style block: wpautop breaks CSS on them. */
.tt-case-v2 #profile h2{max-width:880px}
.tt-case-v2 .statement{font-family:'Source Sans 3',Arial,sans-serif;font-weight:600;font-size:clamp(21px,2.7vw,29px);line-height:1.32;letter-spacing:-.005em;color:var(--text);max-width:40ch;margin:46px 0 6px}
.tt-case-v2 .fig{margin:34px 0 0;padding:0}
.tt-case-v2 .fig svg{display:block;width:100%;height:auto;color:var(--muted)}
.tt-case-v2 .fig .dg-wide{max-width:790px}
.tt-case-v2 .fig .dg-tall{display:none;max-width:370px}
.tt-case-v2 .fig figcaption{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);font-size:14.5px;line-height:1.6;color:var(--muted);max-width:74ch;text-align:left}
.tt-case-v2 .light .fig figcaption{border-top-color:#DBE3EE}
.tt-case-v2 .dg-t{fill:currentColor;font-family:'Source Sans 3',Arial,sans-serif;font-size:12px;font-weight:500}
.tt-case-v2 .dg-t.sm{font-size:11.5px}
.tt-case-v2 .dg-line{stroke:currentColor;stroke-width:1.25;fill:none;opacity:.65}
.tt-case-v2 .dg-node{stroke:currentColor;stroke-width:1.25;fill:none}
.tt-case-v2 .dg-amber{fill:var(--amber);stroke:none}
.tt-case-v2 .dg-head{fill:currentColor;opacity:.65}
.tt-case-v2 .ch-run{columns:3;column-gap:44px;margin-top:36px}
.tt-case-v2 .ch-run > div{break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 22px}
.tt-case-v2 .ch-run h4{font-size:14px;font-weight:600;line-height:1.35;margin:0 0 3px}
.tt-case-v2 .ch-run p{font-size:13.5px;line-height:1.55;color:var(--muted);margin:0}
.tt-case-v2 .tr-steps{margin-top:30px;border-top:1px solid var(--border)}
.tt-case-v2 .tr-steps > div{display:grid;grid-template-columns:38px 232px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--border);align-items:baseline}
.tt-case-v2 .tr-steps > div > p:empty,.tt-case-v2 .ch-run > div > p:empty{display:none}
.tt-case-v2 .tr-steps .num{font-family:'Source Sans 3',Arial,sans-serif;font-weight:600;font-size:14px;letter-spacing:.02em;color:var(--muted);font-variant-numeric:tabular-nums}
.tt-case-v2 .tr-steps h4,.tt-case-v2 .tr-aside h4{font-size:14.5px;font-weight:600;line-height:1.35;margin:0}
.tt-case-v2 .tr-aside h4{margin-bottom:6px}
.tt-case-v2 .tr-steps .sub,.tt-case-v2 .tr-aside .sub{display:block;font-size:11.5px;font-weight:600;letter-spacing:.03em;line-height:1.45;color:var(--blue);margin-top:3px}
.tt-case-v2 .tr-steps p,.tt-case-v2 .tr-aside p{font-size:13.5px;line-height:1.55;color:var(--muted);margin:0}
.tt-case-v2 .tr-aside{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:36px;max-width:920px}
@media(max-width:800px){.tt-case-v2 .fig .dg-wide{display:none}.tt-case-v2 .fig .dg-tall{display:block}.tt-case-v2 .ch-run{columns:2;column-gap:34px}}
@media(max-width:640px){.tt-case-v2 .ch-run{columns:1}.tt-case-v2 .tr-steps > div{grid-template-columns:30px 1fr;gap:7px 14px;padding:15px 0}.tt-case-v2 .tr-steps p{grid-column:2}.tt-case-v2 .tr-aside{grid-template-columns:1fr;gap:26px;margin-top:30px}.tt-case-v2 .statement{margin:34px 0 4px}.tt-case-v2 .fig{margin-top:28px}}
.tt-case-v2 .glance{display:grid;margin-top:16px}
.tt-case-v2 .glance span{padding:8px 0;border-top:1px solid rgba(255,255,255,.16);font-size:12.5px;color:rgba(255,255,255,.82);line-height:1.35}
/* ===== LIVE FIX PASS (2026-08-26): theme defence, grid holes, rhythm, contact form ===== */
.tt-case-v2 h5:before,.tt-case-v2 h5:after{content:none!important;display:none!important}
.tt-case-v2 p:empty{display:none!important}
.tt-case-v2 .fig br,.tt-case-v2 .stats br,.tt-case-v2 .hero-panel br{display:none}
.tt-case-v2 .outcomes{grid-template-columns:repeat(6,1fr);margin-top:32px}
.tt-case-v2 .outcome{grid-column:span 2;border-top:1px solid var(--border)}
.tt-case-v2 .outcome:nth-child(4){grid-column:2/4}
.tt-case-v2 .outcome:nth-child(5){grid-column:4/6}
.tt-case-v2 .section.light,.tt-case-v2 .section.dark{padding:88px 0}
.tt-case-v2 .lifecycle{margin-top:32px}
.tt-case-v2 .gov{margin-top:34px}
.tt-case-v2 .impact{margin-top:36px}
.tt-case-v2 .solution-grid{margin-top:34px}
.tt-case-v2 .cta{padding:64px 0}
.tt-case-v2 .cta-grid{grid-template-columns:minmax(0,1fr) 400px;gap:48px;align-items:start}
.tt-case-v2 .cta-form{background:#fff;border-radius:10px;padding:26px 28px}
.tt-case-v2 .cta-form h3{color:var(--heading);font-size:18px;line-height:1.3;margin:0 0 14px}
.tt-case-v2 .cta-form .hs-form-field{margin-bottom:12px}
.tt-case-v2 .cta-form .hs-form-field label{font-size:13px;color:var(--text)}
.tt-case-v2 .cta-form input.hs-input,.tt-case-v2 .cta-form textarea.hs-input,.tt-case-v2 .cta-form select.hs-input{width:100%!important;border:1px solid var(--border);border-radius:6px;padding:9px 11px;font-size:14px;font-family:'Source Sans 3',Arial,sans-serif;background:#fff;color:var(--text)}
.tt-case-v2 .cta-form .hs-button{background:var(--amber)!important;color:#2d1a00!important;border:0!important;border-radius:6px;padding:12px 22px;font-weight:700;font-size:14px;line-height:1.3;cursor:pointer;font-family:'Source Sans 3',Arial,sans-serif}
.tt-case-v2 .cta-form .hs-error-msgs{list-style:none;margin:4px 0 0;padding:0;font-size:12px;color:#b3261e}
.tt-case-v2 .cta-mail{margin:14px 0 0;font-size:13.5px;color:var(--muted)}
.tt-case-v2 .cta-form .cta-mail a{color:var(--blue);text-decoration:underline}
@media(max-width:980px){.tt-case-v2 .outcomes{grid-template-columns:repeat(2,1fr)}.tt-case-v2 .outcome,.tt-case-v2 .outcome:nth-child(4){grid-column:auto}.tt-case-v2 .outcome:nth-child(5){grid-column:1/-1}.tt-case-v2 .cta-grid{grid-template-columns:1fr}.tt-case-v2 .cta-form{max-width:560px}}
@media(max-width:620px){.tt-case-v2 .outcomes{grid-template-columns:1fr}.tt-case-v2 .outcome,.tt-case-v2 .outcome:nth-child(4),.tt-case-v2 .outcome:nth-child(5){grid-column:auto}.tt-case-v2 .section.light,.tt-case-v2 .section.dark{padding:62px 0}.tt-case-v2 .cta{padding:52px 0}.tt-case-v2 .cta-form{padding:22px 20px}}
/* Live-page guards, added 2026-08-26. NEEDS chips are internal markers for the
   practice team and must never render publicly; unresolved href="#" links are
   hidden rather than shipped dead. Remove per-item when the target exists. */
.tt-case-v2 .needs{display:none!important}
.tt-case-v2 a[href="#"]{display:none!important}
/* The theme puts padding-top:50px on .site-content, and with the 100px header
   that leaves a dead white band above our hero. Our first band is full-bleed
   and supplies its own top space, so remove it when our wrapper is present. */
body:has(.tt-case-v2) .site-content{padding-top:0!important}
/* Stakeholder 2026-08-26: the primary CTA is amber so the ask stands out.
   The mailto line stays a quiet text link. */
.tt-case-v2 a.cta:not(.cta-mail){background:#d3911a!important;border-color:#d3911a!important;color:#0F1F3D!important;font-weight:700}
.tt-case-v2 a.cta:not(.cta-mail):hover{background:#FFB84D!important;border-color:#FFB84D!important}
/* Stakeholder 2026-08-26: the primary action should stand out in amber. This
   page has no button of its own, its conversion is the embedded HubSpot form,
   so the form's own submit is the primary action. HubSpot v2 renders inline,
   not in an iframe, so it is styleable from here. */
.tt-case-v2 .hs-form .hs-button,
.tt-case-v2 .hs-form input[type="submit"],
.tt-case-v2 form.hs-form .actions input{background:#d3911a!important;border:1px solid #d3911a!important;
  color:#0F1F3D!important;font-weight:700!important;border-radius:8px!important;
  padding:13px 26px!important;box-shadow:none!important;text-shadow:none!important}
.tt-case-v2 .hs-form .hs-button:hover,
.tt-case-v2 .hs-form input[type="submit"]:hover{background:#FFB84D!important;border-color:#FFB84D!important}
