:root{
  --primary:#112442;
  --primary-deep:#071832;
  --secondary:#157794;
  --secondary-deep:#0b5872;
  --accent:#15e8f1;
  --ink:#101827;
  --muted:#5f6f86;
  --line:#dbe5ef;
  --soft:#f4f8fb;
  --soft-2:#eef6fb;
  --white:#fff;
  --shadow:0 24px 70px rgba(10,25,49,.16);
  --shadow-soft:0 16px 44px rgba(17,36,66,.09);
  --radius:26px;
  --radius-sm:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65;font-size:17px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.container{width:min(1180px,calc(100% - 36px));margin:auto}
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:16px;top:16px;z-index:99;background:#fff;padding:10px;border-radius:10px}
.topbar{background:#06142a;color:#d7edff;font-size:13px;border-bottom:1px solid rgba(255,255,255,.08)}
.topbar-inner{display:flex;justify-content:space-between;gap:14px;padding:8px 0;align-items:center}.topbar strong{color:#fff}.topbar a{color:#d7edff}
.site-header{position:relative;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(17,36,66,.08)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:13px 0;gap:18px}.brand{display:flex;align-items:center;gap:14px;font-weight:800;color:var(--primary);min-width:190px}.brand img{width:178px}.brand span{font-size:12px;color:var(--secondary);border-left:1px solid var(--line);padding-left:13px;line-height:1.25;max-width:118px}.site-menu{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:800}.site-menu a:not(.btn){color:#24364f;position:relative}.site-menu a:not(.btn):after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:3px;background:var(--accent);border-radius:99px;transition:.2s}.site-menu a:not(.btn):hover:after{right:0}.nav-toggle{display:none;background:var(--primary);color:#fff;border:0;border-radius:12px;padding:8px 12px;font-size:22px;line-height:1}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:linear-gradient(135deg,var(--secondary),#006cf0);color:#fff;padding:14px 24px;font-weight:900;box-shadow:0 12px 28px rgba(21,119,148,.25);cursor:pointer;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-1px);box-shadow:0 18px 36px rgba(21,119,148,.32)}.btn-small{padding:10px 17px;font-size:14px}.btn-light{background:#fff;color:var(--primary)}.btn-outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);box-shadow:none}.btn-outline:hover{background:rgba(255,255,255,.08);box-shadow:none}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 84% 10%,rgba(21,232,241,.27),transparent 25%),radial-gradient(circle at 10% 100%,rgba(21,119,148,.25),transparent 30%),linear-gradient(135deg,#071832 0%,var(--primary) 55%,#063c5b 100%);color:#fff}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.04) 0 1px,transparent 1px 74px),linear-gradient(30deg,rgba(255,255,255,.03) 0 1px,transparent 1px 96px);opacity:.5}.hero:after{content:"";position:absolute;inset:auto -8% -26% 45%;height:520px;background:url('/assets/img/brand-mark.png') center/contain no-repeat;opacity:.18;filter:drop-shadow(0 40px 55px rgba(21,232,241,.18))}.hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center;min-height:700px;padding:86px 0}.eyebrow{display:inline-flex;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:950;color:var(--accent)}h1,h2,h3{line-height:1.08;margin:0 0 18px;color:var(--primary)}.hero h1{font-size:clamp(46px,7vw,84px);color:#fff;letter-spacing:-.055em}.hero p{font-size:clamp(18px,2vw,22px);color:#d9efff;max-width:720px}.hero-actions,.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.metric{border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:17px;background:rgba(255,255,255,.075);backdrop-filter:blur(8px)}.metric strong{display:block;font-size:25px;color:#fff;letter-spacing:-.02em}.metric span{color:#d7e8f7;font-size:14px;line-height:1.35;display:block}.visual-panel{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:30px;padding:26px;box-shadow:var(--shadow);position:relative;overflow:hidden}.visual-panel:before{content:"";position:absolute;inset:-60px -80px auto auto;width:190px;height:190px;border-radius:50%;background:rgba(21,232,241,.14);filter:blur(8px)}.visual-panel>*{position:relative}.visual-panel.light{background:#f8fbfe;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.flow-card{background:#fff;color:var(--ink);border-radius:20px;padding:18px;margin:12px 0;display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid rgba(219,229,239,.75)}.flow-card strong{color:var(--primary)}.flow-card small{color:var(--secondary);font-weight:900;text-align:right}.flow-card:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(17,36,66,.08)}
.section{padding:92px 0}.section-soft{background:linear-gradient(180deg,var(--soft),#fff)}.section-dark{background:radial-gradient(circle at 80% 20%,rgba(21,232,241,.14),transparent 26%),var(--primary);color:#fff}.section-dark h2,.section-dark h3{color:#fff}.section-dark p{color:#cfe0ee}.section-head{max-width:840px;margin-bottom:38px}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}h2{font-size:clamp(34px,4vw,58px);letter-spacing:-.045em}h3{font-size:23px;letter-spacing:-.02em}.lead{font-size:21px;color:#44536a}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.split.wide-left{grid-template-columns:1.12fr .88fr}.card-grid{display:grid;gap:20px}.card-grid.three{grid-template-columns:repeat(3,1fr)}.card-grid.four{grid-template-columns:repeat(4,1fr)}.card-grid.two-pillars{grid-template-columns:repeat(2,1fr)}.info-card,.mini-card,.service-card,.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:27px;box-shadow:var(--shadow-soft);transition:transform .2s,box-shadow .2s,border-color .2s}.info-card:hover,.service-card:hover,.mini-card:hover,.post-card:hover{transform:translateY(-3px);box-shadow:0 24px 54px rgba(17,36,66,.13);border-color:#c9dae8}.info-card span,.mini-card span,.service-card span{display:inline-flex;margin-bottom:12px;color:var(--secondary);font-weight:950}.service-card{min-height:100%;display:flex;flex-direction:column}.service-card a,.mini-card a,.post-card a,.info-card a{margin-top:auto;color:var(--secondary);font-weight:950}.process{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.process div{background:#fff;border-radius:20px;padding:18px;border:1px solid var(--line);position:relative;color:var(--ink)}.process b{display:flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:var(--primary);margin-bottom:10px}.trust-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.trust-grid span{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);border-radius:18px;text-align:center;padding:16px;font-weight:900}.trust-strip{background:#0a1833;color:#fff;padding:24px 0}.proof-band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}.proof-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.proof-grid span{background:#f7fbfe;border:1px solid var(--line);border-radius:18px;padding:16px;text-align:center;font-weight:900;color:var(--primary)}.solution-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:stretch}.solution-feature .large-card{background:linear-gradient(135deg,#fff,#f3fbff);border:1px solid var(--line);border-radius:32px;padding:34px;box-shadow:var(--shadow-soft)}.solution-list{display:grid;gap:14px}.solution-pill{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px 22px;box-shadow:0 12px 28px rgba(17,36,66,.06)}.cta-panel{background:radial-gradient(circle at 78% 20%,rgba(21,232,241,.22),transparent 26%),linear-gradient(135deg,#071832,var(--primary));border-radius:36px;padding:48px;color:#fff;display:grid;grid-template-columns:1.4fr .6fr;gap:28px;align-items:center;box-shadow:var(--shadow);overflow:hidden;position:relative}.cta-panel h2{color:#fff}.cta-panel p{color:#d5e8f4}.page-hero{background:radial-gradient(circle at 86% 20%,rgba(21,232,241,.18),transparent 28%),linear-gradient(135deg,var(--primary),#0b5872);color:#fff;padding:82px 0 76px;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:-90px;bottom:-150px;width:430px;height:430px;background:url('/assets/img/brand-mark.png') center/contain no-repeat;opacity:.1}.page-hero .container{position:relative;z-index:1}.page-hero h1{color:#fff;font-size:clamp(40px,6vw,72px);letter-spacing:-.045em}.page-hero p{max-width:860px;color:#d8edf7;font-size:21px}.content-area{max-width:900px}.content-area p,.content-area li{font-size:18px}.content-area ul{padding-left:24px}.content-area li{margin:8px 0}.footer-blog{background:#f8fbfe;padding:68px 0}.site-footer{background:#071832;color:#d5e8f4}.site-footer h3{color:#fff;font-size:20px}.site-footer a{display:block;margin:9px 0;color:#d5e8f4}.site-footer a:hover{color:#fff}.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1.25fr;gap:38px;padding:58px 0}.footer-logo{width:170px;background:#fff;border-radius:16px;padding:8px}.copyright{background:#040d1d;color:#9fb4c8;padding:16px 0;font-size:14px}.floating-cta{position:fixed;right:20px;bottom:20px;z-index:45}.floating-cta button{border:0;border-radius:999px;background:var(--accent);color:var(--primary);padding:12px 18px;font-weight:950;box-shadow:var(--shadow)}.modal{position:fixed;inset:0;background:rgba(5,12,25,.72);z-index:80;display:none;align-items:center;justify-content:center;padding:20px}.modal.active{display:flex}.modal-card{background:#fff;border-radius:28px;padding:28px;max-width:680px;width:100%;position:relative;box-shadow:var(--shadow)}.modal-close{position:absolute;right:18px;top:16px;border:0;background:#eef5f9;border-radius:50%;width:36px;height:36px;font-size:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{font-weight:850;color:var(--primary)}input,textarea,select{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:14px;padding:13px 14px;font:inherit;background:#fff}input:focus,textarea:focus,select:focus{outline:3px solid rgba(21,232,241,.25);border-color:var(--secondary)}.full{grid-column:1/-1}.hp{display:none!important}.notice{padding:14px 18px;border-radius:16px;background:#e9f9ff;border:1px solid #bdefff}
.admin-shell{background:#f4f8fb;min-height:100vh}.admin-layout{display:grid;grid-template-columns:260px 1fr}.admin-side{background:#071832;color:#fff;padding:26px;min-height:100vh}.admin-side a{display:block;color:#d6eaff;padding:11px 0}.admin-main{padding:30px}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden}.table th,.table td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left}.table th{background:var(--primary);color:#fff}.admin-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:20px}.invoice-page{max-width:980px;margin:auto;background:#fff}.invoice-top{background:linear-gradient(135deg,#071832,#0e6990);color:#fff;padding:36px;border-radius:28px 28px 0 0;display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.invoice-top img{max-width:260px;background:rgba(255,255,255,.9);border-radius:14px;padding:8px}.invoice-body{padding:34px;border:1px solid var(--line);border-top:0;border-radius:0 0 28px 28px}.invoice-summary{margin-left:auto;max-width:430px}.payment-box{border:1px solid #bfd2e4;border-radius:20px;padding:24px;margin-top:32px;display:grid;grid-template-columns:1fr 180px;gap:20px;background:#f8fbfe}.qr-box{display:grid;place-items:center;border-left:1px solid #bfd2e4;text-align:center;font-weight:900;color:var(--secondary)}
@media(max-width:1100px){.site-menu{gap:13px;font-size:13px}.brand span{display:none}.card-grid.four{grid-template-columns:repeat(2,1fr)}.proof-grid,.trust-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.topbar-inner{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:12px;padding:7px 0}.nav-toggle{display:block}.brand{min-width:0}.brand img{width:136px}.brand span{display:none}.site-menu{position:fixed;top:104px;right:17px;left:17px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;padding:18px;display:none;flex-direction:column;align-items:stretch;max-height:calc(100vh - 126px);overflow:auto}.site-menu.active{display:flex}.site-menu a:not(.btn):after{display:none}.hero .container,.split,.split.wide-left,.solution-feature{grid-template-columns:1fr;min-height:auto;padding:60px 0}.hero:after{inset:auto -30% -15% 20%;height:330px}.hero-metrics,.card-grid.three,.card-grid.four,.card-grid.two-pillars,.process,.trust-grid,.proof-grid,.footer-grid,.admin-layout,.invoice-top,.payment-box,.cta-panel{grid-template-columns:1fr}.admin-side{min-height:auto}.form-grid{grid-template-columns:1fr}.qr-box{border-left:0;border-top:1px solid #bfd2e4;padding-top:18px}.section{padding:66px 0}.floating-cta{left:16px;right:16px}.floating-cta button{width:100%}.cta-panel{padding:32px}.hero h1{font-size:42px}.page-hero{padding:64px 0}.page-hero h1{font-size:40px}}
@media(max-width:520px){body{font-size:16px}.container{width:min(100% - 28px,1180px)}.hero .container{padding:48px 0}.hero h1{font-size:38px}.hero p,.page-hero p,.lead{font-size:18px}.info-card,.mini-card,.service-card,.post-card{padding:22px;border-radius:22px}.flow-card{display:block}.flow-card small{text-align:left;display:block;margin-top:6px}.topbar{font-size:12px}.section-head{margin-bottom:26px}.modal-card{padding:24px 18px}}
@media print{.site-header,.site-footer,.footer-blog,.trust-strip,.floating-cta,.modal,.no-print{display:none!important}body{background:#fff}.invoice-page{box-shadow:none}}

/* Phase 5 admin usability upgrade */
.admin-side{position:sticky;top:0;height:100vh;overflow:auto}.admin-logo-wrap img{background:#fff;border-radius:16px;padding:9px;margin-bottom:18px;width:100%;max-width:230px}.admin-user-block{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px;margin:0 0 14px}.admin-user-block span{display:block;color:#9fb7d5;font-size:12px;margin-bottom:4px}.admin-user-block strong{word-break:break-word}.admin-nav a{border-radius:12px;padding:11px 13px;margin:2px 0;color:#d9ecff}.admin-nav a.active,.admin-nav a:hover{background:rgba(21,232,241,.12);color:#fff}.admin-side-footer{border-top:1px solid rgba(255,255,255,.25);margin-top:18px;padding-top:16px}.admin-side-footer a{display:block;color:#d9ecff;padding:8px 0}.admin-mobilebar{display:none}.admin-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.admin-page-head h1{margin:4px 0 8px}.admin-page-head p{max-width:760px;color:#52637b}.inline-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}.admin-stat{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 12px 34px rgba(8,29,59,.06)}.admin-stat span{display:block;color:var(--secondary);font-size:13px;font-weight:800}.admin-stat strong{display:block;font-size:36px;color:var(--primary);line-height:1;margin:8px 0}.admin-stat small{color:#6d7a8f}.admin-quick-panel{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 22px}.admin-quick-panel a{display:block;background:linear-gradient(135deg,#fff,#f3f9fe);border:1px solid var(--line);border-radius:20px;padding:18px;text-decoration:none;box-shadow:0 12px 30px rgba(8,29,59,.05)}.admin-quick-panel strong{display:block;color:var(--primary);margin-bottom:6px}.admin-quick-panel span{color:#62738a;font-size:14px}.admin-two-col{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.admin-two-col.wide-left{grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr)}.mini-table{width:100%;border-collapse:collapse}.mini-table td{padding:11px 0;border-bottom:1px solid var(--line);vertical-align:top}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;background:#e9f4fb;color:#0e6990;font-size:12px;font-weight:900}.status-badge.live{background:#e9fbf7;color:#08765c}.status-badge.draft{background:#fff6e5;color:#9b6200}.table-card{padding:0;overflow:hidden}.row-actions{white-space:nowrap}.row-actions a{margin-right:8px}.delete-link{color:#b42318;font-weight:800}.danger-card{border-color:#ffd1cc;background:#fffafa}.btn.danger{background:#b42318}.btn.muted{background:#eef5fb;color:var(--primary);box-shadow:none}.notice.success{border-color:#b9efd9;background:#f1fff8;color:#075a3d}.helper-panel{position:sticky;top:22px}.helper-panel ul{margin:0;padding-left:18px;color:#53647c}.helper-panel li{margin:9px 0}.check-row{display:flex!important;gap:10px;align-items:center}.check-row input{width:auto}.form-actions{display:flex;gap:10px;align-items:center}.field-help{font-size:14px;color:#687890;margin-top:-4px}.admin-card input,.admin-card textarea,.admin-card select{font:inherit;width:100%;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff}.admin-card label{font-weight:800;color:var(--primary)}.admin-card label input,.admin-card label textarea,.admin-card label select{margin-top:7px;font-weight:500;color:#1c2b40}.text-link{font-weight:900;color:var(--secondary)}
@media(max-width:1100px){.admin-stat-grid,.admin-quick-panel{grid-template-columns:repeat(2,1fr)}.admin-two-col,.admin-two-col.wide-left{grid-template-columns:1fr}.helper-panel{position:static}}
@media(max-width:900px){.admin-layout{display:block}.admin-side{position:fixed;z-index:50;left:-290px;top:0;width:270px;transition:.25s ease;height:100vh}.admin-side.open{left:0}.admin-mobilebar{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 12px;margin-bottom:18px;position:sticky;top:10px;z-index:30}.admin-menu-btn{border:0;background:var(--primary);color:#fff;border-radius:999px;padding:10px 15px;font-weight:900}.admin-mini-logo{display:flex;gap:8px;align-items:center;color:var(--primary);font-weight:900}.admin-mini-logo img{width:28px}.admin-main{padding:18px}.admin-page-head{display:block}.admin-page-head .inline-actions{margin-top:12px}.admin-stat-grid,.admin-quick-panel{grid-template-columns:1fr}.table{display:block;overflow-x:auto;white-space:nowrap}.admin-logo-wrap img{max-width:210px}}

/* Phase 6 document workflow upgrade */
.document-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 22px}.inline-form{display:inline-flex;margin:0}.document-filter-form{display:grid;grid-template-columns:220px 220px auto auto;gap:12px;align-items:end}.document-lines{margin:16px 0 22px;border:1px solid var(--line);border-radius:18px;overflow:hidden}.document-line{display:grid;grid-template-columns:1fr 110px 150px;gap:0;border-bottom:1px solid var(--line)}.document-line:last-child{border-bottom:0}.document-line input{border:0;border-radius:0;margin:0;border-right:1px solid var(--line)}.document-line input:last-child{border-right:0}.document-line-head{background:#eef6fb;padding:12px 14px;color:var(--primary);font-size:13px;text-transform:uppercase;letter-spacing:.04em}.status-badge.status-paid{background:#e9fbf1;color:#087048}.status-badge.status-sent{background:#e9f4ff;color:#0b5aa6}.status-badge.status-cancelled{background:#fff0f0;color:#a61b1b}.status-badge.status-converted{background:#f2edff;color:#5b2bbd}.status-badge.status-draft{background:#fff8e8;color:#9b6200}
@media(max-width:900px){.document-filter-form,.document-line{grid-template-columns:1fr}.document-line input{border-right:0;border-bottom:1px solid var(--line)}.document-line input:last-child{border-bottom:0}.document-line-head{display:none}.document-toolbar .btn,.document-toolbar form,.document-toolbar button{width:100%}}

/* Phase 7 lead management */
.lead-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:0 0 22px}.lead-summary{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;text-decoration:none;box-shadow:0 12px 30px rgba(8,29,59,.05)}.lead-summary span{display:block;color:var(--secondary);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.lead-summary strong{display:block;font-size:34px;color:var(--primary);line-height:1;margin-top:6px}.lead-filter-form{grid-template-columns:180px 240px minmax(240px,1fr) auto auto;margin:0 0 22px}.lead-table td{vertical-align:top}.lead-status-new{background:#e9f4ff;color:#0b5aa6}.lead-status-reviewed{background:#fff8e8;color:#9b6200}.lead-status-contacted{background:#f2edff;color:#5b2bbd}.lead-status-converted{background:#e9fbf1;color:#087048}.lead-status-archived{background:#eef1f5;color:#4b596b}.lead-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px;margin:10px 0 24px}.lead-detail-grid p{background:#f8fbfe;border:1px solid var(--line);border-radius:16px;padding:14px;margin:0}.lead-message-box{background:#fff;border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:16px;padding:18px;line-height:1.7}@media(max-width:900px){.lead-summary-grid,.lead-filter-form,.lead-detail-grid{grid-template-columns:1fr}.lead-summary-grid{gap:10px}}
.admin-quick-panel{grid-template-columns:repeat(5,1fr)}@media(max-width:1100px){.admin-quick-panel{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.admin-quick-panel{grid-template-columns:1fr}}


/* Phase 10 final checklist */
.checklist-stack{display:grid;gap:.75rem;margin-top:1rem}
.checklist-item{display:flex;gap:.75rem;align-items:flex-start;padding:1rem;border:1px solid rgba(17,36,66,.12);border-radius:18px;background:#fff;box-shadow:0 10px 22px rgba(17,36,66,.04)}
.checklist-item input{margin-top:.2rem;transform:scale(1.2);accent-color:var(--brand-secondary)}
.checklist-item span{line-height:1.5;color:#20334d}

/* =========================================================
   Arklen Header Navigation Upgrade
   Add this block at the bottom of assets/css/style.css
   ========================================================= */

.site-header {
    position: relative;
    top: 0;
    z-index: 1000;
    background: #ffffff;
    box-shadow: 0 12px 40px rgba(17, 36, 66, 0.08);
}

.topbar {
    background: #07182e;
    color: #ffffff;
    font-size: 0.92rem;
}

.topbar a {
    color: #ffffff;
    text-decoration: none;
}

.topbar a:hover,
.topbar a:focus {
    text-decoration: underline;
}

.topbar-inner {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.topbar-contact {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    white-space: nowrap;
}

.nav-wrap {
    min-height: 96px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.brand {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    text-decoration: none;
    color: #112442;
    flex: 0 0 auto;
}

.brand img {
    display: block;
    width: 190px;
    height: auto;
}

.brand span {
    display: inline-block;
    padding-left: 1.15rem;
    border-left: 1px solid rgba(17, 36, 66, 0.16);
    color: #157794;
    font-weight: 800;
    line-height: 1.18;
    max-width: 120px;
}

.site-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    margin-left: auto;
}

.site-menu > a,
.nav-dropdown > summary {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    padding: 0.65rem 0.85rem;
    border-radius: 999px;
    color: #203047;
    text-decoration: none;
    font-weight: 800;
    font-size: 0.98rem;
    line-height: 1.2;
    cursor: pointer;
    transition:
        background 180ms ease,
        color 180ms ease,
        transform 180ms ease;
}

.site-menu > a:hover,
.site-menu > a:focus,
.nav-dropdown > summary:hover,
.nav-dropdown > summary:focus,
.site-menu .is-active,
.nav-dropdown.is-active > summary {
    background: rgba(21, 121, 148, 0.10);
    color: #087596;
    outline: none;
}

.nav-dropdown {
    position: relative;
}

.nav-dropdown > summary {
    list-style: none;
}

.nav-dropdown > summary::-webkit-details-marker {
    display: none;
}

.nav-dropdown > summary::after {
    content: "▾";
    margin-left: 0.45rem;
    font-size: 0.72rem;
    color: #157794;
    transition: transform 180ms ease;
}

.nav-dropdown[open] > summary::after {
    transform: rotate(180deg);
}

.dropdown-panel {
    position: absolute;
    top: calc(100% + 0.65rem);
    left: 0;
    min-width: 285px;
    padding: 0.55rem;
    border: 1px solid rgba(17, 36, 66, 0.10);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(17, 36, 66, 0.18);
    display: grid;
    gap: 0.25rem;
}

.dropdown-panel-wide {
    min-width: 345px;
}

.dropdown-panel a {
    display: block;
    padding: 0.85rem 0.95rem;
    border-radius: 14px;
    color: #112442;
    text-decoration: none;
    font-weight: 800;
    line-height: 1.25;
}

.dropdown-panel a span {
    display: block;
    margin-top: 0.25rem;
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.35;
}

.dropdown-panel a:hover,
.dropdown-panel a:focus {
    background: #eef8fb;
    color: #087596;
    outline: none;
}

.site-menu .nav-cta {
    margin-left: 0.35rem;
    padding: 0.9rem 1.25rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #157794, #127be2);
    color: #ffffff;
    box-shadow: 0 18px 42px rgba(18, 123, 226, 0.22);
}

.site-menu .nav-cta:hover,
.site-menu .nav-cta:focus {
    background: linear-gradient(135deg, #112442, #157794);
    color: #ffffff;
    transform: translateY(-1px);
}

.nav-toggle {
    display: none;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 14px;
    background: #112442;
    color: #ffffff;
    font-size: 1.45rem;
    line-height: 1;
    cursor: pointer;
}

.nav-toggle:hover,
.nav-toggle:focus {
    background: #157794;
    outline: none;
}

@media (max-width: 1180px) {
    .brand img {
        width: 165px;
    }

    .brand span {
        display: none;
    }

    .site-menu > a,
    .nav-dropdown > summary {
        padding-inline: 0.65rem;
        font-size: 0.93rem;
    }

    .site-menu .nav-cta {
        padding-inline: 1rem;
    }
}

@media (max-width: 920px) {
    .site-header {
        position: relative;
    }

    .topbar-inner {
        min-height: auto;
        padding-block: 0.65rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
        font-size: 0.86rem;
    }

    .topbar-contact {
        flex-wrap: wrap;
        white-space: normal;
    }

    .nav-wrap {
        min-height: 82px;
        position: relative;
        gap: 1rem;
    }

    .brand img {
        width: 158px;
    }

    .nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-left: auto;
    }

    .site-menu {
        position: absolute;
        top: calc(100% + 0.75rem);
        left: 0;
        right: 0;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0.35rem;
        padding: 1rem;
        border-radius: 22px;
        background: #ffffff;
        box-shadow: 0 24px 70px rgba(17, 36, 66, 0.20);
    }

    .site-menu.is-open {
        display: flex;
    }

    .site-menu > a,
    .nav-dropdown > summary {
        width: 100%;
        justify-content: space-between;
        border-radius: 14px;
        padding: 0.95rem 1rem;
    }

    .nav-dropdown {
        width: 100%;
    }

    .dropdown-panel,
    .dropdown-panel-wide {
        position: static;
        min-width: 0;
        margin-top: 0.35rem;
        padding: 0.4rem;
        border-radius: 16px;
        box-shadow: none;
        background: #f5f9fc;
    }

    .dropdown-panel a {
        padding: 0.85rem 0.9rem;
    }

    .site-menu .nav-cta {
        margin-left: 0;
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 520px) {
    .brand img {
        width: 142px;
    }

    .nav-wrap {
        min-height: 74px;
    }

    .site-menu {
        top: calc(100% + 0.55rem);
        border-radius: 18px;
    }
}

/* Clean dropdown menu style */
.dropdown-panel-clean {
    min-width: 245px;
    gap: 0.15rem;
}

.dropdown-panel-clean.dropdown-panel-wide {
    min-width: 305px;
}

.dropdown-panel-clean a {
    padding: 0.75rem 0.95rem;
    font-size: 0.95rem;
}

.dropdown-panel-clean a span {
    display: none;
}

/* =========================================================
   Header Fix: Quick Enquiry Visibility + Desktop Hover Menus
   Add at the bottom of /assets/css/style.css
   ========================================================= */

/* Make Quick Enquiry clearly visible */
.site-menu .nav-cta,
.site-menu a.nav-cta {
    background: linear-gradient(135deg, #15e8f1, #127be2);
    color: #ffffff !important;
    border: 1px solid rgba(21, 232, 241, 0.45);
    box-shadow: 0 18px 42px rgba(18, 123, 226, 0.25);
}

.site-menu .nav-cta:hover,
.site-menu .nav-cta:focus,
.site-menu a.nav-cta:hover,
.site-menu a.nav-cta:focus {
    background: linear-gradient(135deg, #157794, #112442);
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* Ensure normal nav links remain dark */
.site-menu > a:not(.nav-cta) {
    color: #203047;
}

/* Desktop hover dropdown behaviour */
@media (min-width: 921px) {
    .nav-dropdown:hover .dropdown-panel,
    .nav-dropdown:focus-within .dropdown-panel {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }

    .nav-dropdown .dropdown-panel {
        display: grid;
        opacity: 0;
        visibility: hidden;
        transform: translateY(8px);
        pointer-events: none;
        transition:
            opacity 180ms ease,
            visibility 180ms ease,
            transform 180ms ease;
    }

    .nav-dropdown:hover > summary,
    .nav-dropdown:focus-within > summary {
        background: rgba(21, 121, 148, 0.10);
        color: #087596;
    }

    .nav-dropdown:hover > summary::after,
    .nav-dropdown:focus-within > summary::after {
        transform: rotate(180deg);
    }
}

/* Keep mobile dropdowns working by click/tap */
@media (max-width: 920px) {
    .nav-dropdown .dropdown-panel {
        display: grid;
        opacity: 1;
        visibility: visible;
        transform: none;
        pointer-events: auto;
    }

    .site-menu .nav-cta,
    .site-menu a.nav-cta {
        color: #ffffff !important;
    }
}

/* =========================================================
   Phase 11: Premium Homepage and Brand Authority Upgrade
   Add after the existing CSS rules.
   ========================================================= */

.hero-authority {
    isolation: isolate;
    min-height: auto;
    background:
        radial-gradient(circle at 78% 12%, rgba(21, 232, 241, 0.28), transparent 26%),
        radial-gradient(circle at 5% 85%, rgba(21, 119, 148, 0.22), transparent 28%),
        linear-gradient(135deg, #06142a 0%, #112442 54%, #06465f 100%);
}

.hero-authority::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(115deg, rgba(255,255,255,.045) 0 1px, transparent 1px 86px),
        linear-gradient(25deg, rgba(255,255,255,.032) 0 1px, transparent 1px 112px),
        radial-gradient(circle at 52% 48%, rgba(21,232,241,.08), transparent 35%);
    opacity: .72;
}

.hero-authority::after {
    content: "";
    position: absolute;
    right: -110px;
    bottom: -190px;
    width: 680px;
    height: 680px;
    background: url('/assets/img/brand-mark.png') center / contain no-repeat;
    opacity: .11;
    filter: drop-shadow(0 40px 90px rgba(21,232,241,.22));
    z-index: -1;
}

.hero-authority .container {
    min-height: 760px;
    padding: 112px 0 96px;
}

.hero-authority-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(430px, .95fr);
    gap: 68px;
    align-items: center;
}

.hero-authority .hero-copy {
    max-width: 760px;
}

.hero-authority .eyebrow,
.authority-positioning .eyebrow,
.infrastructure-layer-section .eyebrow,
.solution-routes-premium .eyebrow,
.principle-authority-section .eyebrow,
.cta-panel-premium .eyebrow {
    color: #15e8f1;
    letter-spacing: .16em;
}

.hero-authority h1 {
    max-width: 780px;
    font-size: clamp(54px, 7.4vw, 104px);
    letter-spacing: -.075em;
    line-height: .94;
    margin-top: 18px;
    margin-bottom: 28px;
}

.hero-authority p {
    max-width: 680px;
    color: #d9efff;
    font-size: clamp(19px, 2.1vw, 25px);
    line-height: 1.55;
}

.hero-trust-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 38px;
}

.hero-trust-row div {
    padding: 18px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 22px;
    background: rgba(255,255,255,.075);
    backdrop-filter: blur(12px);
}

.hero-trust-row strong {
    display: block;
    color: #ffffff;
    font-size: 21px;
    line-height: 1.1;
}

.hero-trust-row span {
    display: block;
    margin-top: 6px;
    color: #cfe5f5;
    font-size: 13px;
    line-height: 1.35;
}

.authority-console {
    position: relative;
    padding: 28px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 34px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.055)),
        radial-gradient(circle at top right, rgba(21,232,241,.20), transparent 35%);
    box-shadow: 0 34px 90px rgba(0,0,0,.28);
    backdrop-filter: blur(18px);
    overflow: hidden;
}

.authority-console::before {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 26px;
    pointer-events: none;
}

.console-topline {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    margin-bottom: 22px;
    color: #ffffff;
}

.console-topline span {
    color: #15e8f1;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.console-topline small {
    color: #cfe5f5;
    font-weight: 800;
}

.console-diagram {
    position: relative;
    min-height: 290px;
    margin: 4px 0 22px;
    border-radius: 28px;
    background:
        radial-gradient(circle at center, rgba(21,232,241,.22), transparent 34%),
        linear-gradient(135deg, rgba(7,24,50,.72), rgba(255,255,255,.05));
    border: 1px solid rgba(255,255,255,.12);
    overflow: hidden;
}

.console-diagram::before,
.console-diagram::after {
    content: "";
    position: absolute;
    inset: 50%;
    width: 420px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(21,232,241,.7), transparent);
    transform: translate(-50%, -50%);
}

.console-diagram::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.console-core {
    position: absolute;
    inset: 50% auto auto 50%;
    width: 190px;
    height: 190px;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    text-align: center;
    padding: 24px;
    border-radius: 50%;
    border: 1px solid rgba(21,232,241,.55);
    background: rgba(7,24,50,.88);
    box-shadow: 0 0 70px rgba(21,232,241,.20);
}

.console-core span {
    color: #ffffff;
    font-weight: 900;
    line-height: 1.22;
}

.console-node {
    position: absolute;

    padding: 10px 14px;
    border-radius: 999px;
    background: #ffffff;
    color: #112442;
    font-size: 13px;
    font-weight: 950;
    box-shadow: 0 16px 40px rgba(0,0,0,.18);
}

.node-one { top: 26px; left: 28px; }
.node-two { top: 26px; right: 28px; }
.node-three { bottom: 26px; left: 28px; }
.node-four { bottom: 26px; right: 28px; }

.console-stack {
    position: relative;
    display: grid;
    gap: 12px;
}

.console-stack div {
    display: grid;
    grid-template-columns: 42px 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 15px 16px;
    border-radius: 18px;
    background: rgba(255,255,255,.95);
    color: #112442;
    box-shadow: 0 14px 34px rgba(0,0,0,.12);
}

.console-stack span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #15e8f1;
    color: #112442;
    font-size: 12px;
    font-weight: 950;
}

.console-stack strong {
    font-weight: 950;
}

.console-stack small {
    color: #157794;
    font-weight: 900;
    text-align: right;
}

.authority-proof-band {
    position: relative;
    z-index: 3;
    background: #ffffff;
    border-top: 1px solid rgba(17,36,66,.08);
    border-bottom: 1px solid rgba(17,36,66,.08);
    box-shadow: 0 20px 70px rgba(17,36,66,.08);
}

.authority-proof-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    padding: 28px 0;
}

.authority-proof-grid span {
    display: grid;
    place-items: center;
    min-height: 58px;
    padding: 12px;
    border: 1px solid #dbe5ef;
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff, #f6fbfe);
    color: #112442;
    text-align: center;
    font-size: 13px;
    font-weight: 950;
}

.authority-positioning {
    padding-top: 112px;
}

.authority-statement-card {
    position: relative;
    padding: 36px;
    border-radius: 32px;
    background:
        radial-gradient(circle at top right, rgba(21,232,241,.20), transparent 30%),
        linear-gradient(135deg, #071832, #112442);
    color: #ffffff;
    box-shadow: 0 24px 70px rgba(17,36,66,.18);
    overflow: hidden;
}

.authority-statement-card::after {
    content: "";
    position: absolute;
    right: -55px;
    bottom: -75px;
    width: 220px;
    height: 220px;
    background: url('/assets/img/brand-mark.png') center / contain no-repeat;
    opacity: .10;
}

.authority-statement-card p {
    position: relative;
    margin: 0 0 22px;
    color: #ffffff;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.08;
    letter-spacing: -.045em;
    font-weight: 900;
}

.authority-statement-card span {
    position: relative;
    color: #15e8f1;
    font-weight: 950;
    letter-spacing: .10em;
    text-transform: uppercase;
    font-size: 12px;
}

.infrastructure-layer-grid {
    display: grid;
    grid-template-columns: minmax(420px, .95fr) minmax(0, 1.05fr);
    gap: 66px;
    align-items: center;
}

.infra-map {
    position: relative;
    min-height: 560px;
    border-radius: 38px;
    background:
        radial-gradient(circle at center, rgba(21,232,241,.22), transparent 34%),
        linear-gradient(135deg, #071832, #112442 58%, #06465f);
    box-shadow: 0 34px 90px rgba(17,36,66,.22);
    overflow: hidden;
}

.infra-map::before {
    content: "";
    position: absolute;
    inset: 36px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 30px;
}

.infra-map::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 62px 62px;
    mask-image: radial-gradient(circle at center, black, transparent 74%);
}

.infra-map-centre {
    position: absolute;
    inset: 50% auto auto 50%;
    width: 230px;
    height: 230px;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    text-align: center;
    padding: 28px;
    border-radius: 50%;
    background: #ffffff;
    color: #112442;
    font-weight: 950;
    font-size: 22px;
    line-height: 1.15;
    box-shadow: 0 0 90px rgba(21,232,241,.28);
    z-index: 2;
}

.infra-map-item {
    position: absolute;
    z-index: 3;
    width: 190px;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 20px;
    background: rgba(255,255,255,.10);
    backdrop-filter: blur(12px);
    color: #ffffff;
}

.infra-map-item strong,
.infra-map-item span {
    display: block;
}

.infra-map-item strong {
    font-size: 18px;
}

.infra-map-item span {
    margin-top: 4px;
    color: #d9efff;
    font-size: 13px;
    line-height: 1.35;
}

.item-a { top: 54px; left: 54px; }
.item-b { top: 54px; right: 54px; }
.item-c { bottom: 54px; left: 54px; }
.item-d { bottom: 54px; right: 54px; }
.item-e { left: 50%; bottom: 30px; transform: translateX(-50%); }

.authority-check-list {
    display: grid;
    gap: 16px;
    margin-top: 30px;
}

.authority-check-list div {
    padding: 22px 24px;
    border: 1px solid #dbe5ef;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(17,36,66,.07);
}

.authority-check-list strong,
.authority-check-list span {
    display: block;
}

.authority-check-list strong {
    color: #112442;
    font-size: 20px;
    line-height: 1.15;
}

.authority-check-list span {
    margin-top: 7px;
    color: #5f6f86;
}

.premium-route-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.premium-route-card {
    position: relative;
    display: flex;
    min-height: 330px;
    flex-direction: column;
    padding: 30px;
    border: 1px solid #dbe5ef;
    border-radius: 30px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    color: #112442;
    box-shadow: 0 18px 46px rgba(17,36,66,.09);
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.premium-route-card::after {
    content: "";
    position: absolute;
    right: -42px;
    bottom: -64px;
    width: 170px;
    height: 170px;
    border-radius: 50%;
    background: rgba(21,232,241,.13);
}

.premium-route-card:hover,
.premium-route-card:focus {
    transform: translateY(-5px);
    border-color: rgba(21,119,148,.38);
    box-shadow: 0 28px 70px rgba(17,36,66,.15);
    outline: none;
}

.premium-route-card > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 42px;
    border-radius: 50%;
    background: #15e8f1;
    color: #112442;
    font-weight: 950;
}

.premium-route-card h3 {
    font-size: 25px;
}

.premium-route-card p {
    margin-top: auto;
    color: #5f6f86;
}

.premium-service-card {
    border-radius: 28px;
    box-shadow: 0 18px 44px rgba(17,36,66,.08);
}

.principle-authority-section {
    position: relative;
    overflow: hidden;
}

.principle-authority-section::after {
    content: "";
    position: absolute;
    right: -130px;
    top: -120px;
    width: 430px;
    height: 430px;
    background: url('/assets/img/brand-mark.png') center / contain no-repeat;
    opacity: .08;
}

.principle-authority-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 64px;
    align-items: center;
}

.principle-authority-grid h2 {
    font-size: clamp(40px, 5vw, 72px);
}

.authority-process {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.authority-process div {
    min-height: 250px;
    padding: 20px;
    border-radius: 24px;
    background: rgba(255,255,255,.96);
    color: #112442;
    box-shadow: 0 22px 55px rgba(0,0,0,.16);
}

.authority-process b {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-bottom: 30px;
    border-radius: 50%;
    background: #15e8f1;
    color: #112442;
}

.authority-process strong,
.authority-process span {
    display: block;
}

.authority-process strong {
    font-size: 18px;
    line-height: 1.15;
}

.authority-process span {
    margin-top: 12px;
    color: #5f6f86;
    font-size: 14px;
    line-height: 1.45;
}

.cta-panel-premium {
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, .45fr);
    padding: 58px;
    border-radius: 38px;
    background:
        radial-gradient(circle at 83% 18%, rgba(21,232,241,.26), transparent 25%),
        linear-gradient(135deg, #071832, #112442 62%, #063c5b);
}

.cta-proof-points {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.cta-proof-points span {
    padding: 10px 14px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    color: #d9efff;
    font-size: 13px;
    font-weight: 900;
}

.cta-actions-premium {
    display: grid;
    gap: 14px;
    justify-items: stretch;
}

.cta-actions-premium .btn {
    width: 100%;
    text-align: center;
}

@media (max-width: 1180px) {
    .hero-authority-grid,
    .infrastructure-layer-grid,
    .principle-authority-grid {
        grid-template-columns: 1fr;
    }

    .authority-console,
    .infra-map {
        max-width: 760px;
    }

    .premium-route-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .authority-proof-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 920px) {
    .hero-authority .container {
        min-height: auto;
        padding: 66px 0;
    }

    .hero-authority h1 {
        font-size: clamp(42px, 13vw, 64px);
    }

    .hero-trust-row,
    .authority-proof-grid,
    .premium-route-grid,
    .authority-process,
    .cta-panel-premium {
        grid-template-columns: 1fr;
    }

    .authority-console {
        padding: 20px;
        border-radius: 28px;
    }

    .console-diagram {
        min-height: 250px;
    }

    .console-stack div {
        grid-template-columns: 40px 1fr;
    }

    .console-stack small {
        grid-column: 2;
        text-align: left;
    }

    .infra-map {
        min-height: 620px;
    }

    .infra-map-centre {
        width: 190px;
        height: 190px;
        font-size: 19px;
    }

    .infra-map-item {
        width: calc(50% - 40px);
    }

    .item-a { top: 42px; left: 30px; }
    .item-b { top: 42px; right: 30px; }
    .item-c { bottom: 128px; left: 30px; }
    .item-d { bottom: 128px; right: 30px; }
    .item-e { width: calc(100% - 60px); bottom: 30px; }

    .authority-process div {
        min-height: auto;
    }

    .authority-process b {
        margin-bottom: 16px;
    }

    .cta-panel-premium {
        padding: 34px;
    }
}

@media (max-width: 560px) {
    .hero-authority h1 {
        font-size: 40px;
    }

    .console-topline,
    .console-stack div {
        display: block;
    }

    .console-topline small,
    .console-stack small {
        display: block;
        margin-top: 6px;
        text-align: left;
    }

    .console-diagram {
        min-height: 360px;
    }

    .console-core {
        width: 160px;
        height: 160px;
    }

    .console-node {
        position: static;
        display: block;
        width: max-content;
        max-width: calc(100% - 30px);
        margin: 12px auto;
    }

    .infra-map {
        min-height: auto;
        padding: 24px;
        display: grid;
        gap: 12px;
    }

    .infra-map::before,
    .infra-map::after {
        display: none;
    }

    .infra-map-centre,
    .infra-map-item,
    .item-a,
    .item-b,
    .item-c,
    .item-d,
    .item-e {
        position: static;
        transform: none;
        width: auto;
        height: auto;
    }

    .infra-map-centre {
        border-radius: 24px;
    }
}

/* =========================================================
   Phase 11 Public Launch Refinement
   Premium homepage sizing, spacing and visual fixes
   ========================================================= */

.hero-authority .container,
.hero-authority-grid {
    min-height: 620px;
}

.hero-authority-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(420px, 0.85fr);
    gap: clamp(2.5rem, 5vw, 5.5rem);
    align-items: center;
    padding-top: clamp(4rem, 7vw, 6.5rem);
    padding-bottom: clamp(4rem, 7vw, 6.5rem);
}

.hero-authority h1,
.hero-copy h1 {
    max-width: 720px;
    font-size: clamp(3.15rem, 5.1vw, 5.65rem);
    line-height: 0.96;
    letter-spacing: -0.065em;
}

.hero-authority .hero-copy p {
    max-width: 680px;
    font-size: clamp(1.05rem, 1.55vw, 1.28rem);
    line-height: 1.65;
}

.hero-trust-row {
    max-width: 520px;
}

.authority-console {
    max-width: 520px;
    margin-left: auto;
}

.console-diagram {
    min-height: 230px;
}

.console-core {
    width: 132px;
    height: 132px;
    font-size: 0.82rem;
}

.console-node {
    min-width: 104px;
    padding: 0.6rem 0.8rem;
    font-size: 0.73rem;
    line-height: 1.25;
}

.console-stack div {
    grid-template-columns: auto 1fr auto;
    gap: 0.75rem;
}

.console-stack strong {
    font-size: 0.92rem;
}

.console-stack small {
    font-size: 0.78rem;
    white-space: nowrap;
}

.section h2,
.authority-positioning h2,
.infrastructure-layer-section h2,
.solution-routes-premium h2,
.principle-authority-section h2,
.premium-cta-section h2 {
    font-size: clamp(2.2rem, 3.7vw, 4.35rem);
    line-height: 1.03;
    letter-spacing: -0.055em;
}

.authority-positioning .lead,
.infrastructure-layer-section .lead {
    font-size: clamp(1.05rem, 1.45vw, 1.28rem);
    line-height: 1.75;
}

.authority-statement-card p {
    font-size: clamp(1.45rem, 2.5vw, 2.25rem);
    line-height: 1.08;
}

.infrastructure-layer-grid {
    display: grid;
    grid-template-columns: minmax(390px, 0.88fr) minmax(0, 1fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
}

.infra-map {
    position: relative;
    min-height: 440px;
    max-width: 440px;
    width: 100%;
    margin: 0 auto;
    padding: 1.4rem;
    overflow: visible;
}

.infra-map-centre {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 160px;
    height: 160px;
    transform: translate(-50%, -50%);
    z-index: 3;
}

.infra-map-item {
    position: absolute;
    z-index: 2;
    width: 148px;
    min-height: 78px;
}

.infra-map-item strong {
    display: block;
    font-size: 0.88rem;
    line-height: 1.15;
}

.infra-map-item span {
    display: block;
    font-size: 0.72rem;
    line-height: 1.25;
}

.infra-map .item-a {
    left: 28px;
    top: 46px;
}

.infra-map .item-b {
    right: 28px;
    top: 46px;
}

.infra-map .item-c {
    left: 28px;
    bottom: 48px;
}

.infra-map .item-d {
    right: 28px;
    bottom: 48px;
}

.infra-map .item-e {
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    width: 160px;
    min-height: 72px;
    z-index: 4;
}

.authority-check-list {
    display: grid;
    gap: 1rem;
    margin-top: 2rem;
}

.authority-check-list div {
    padding: 1.15rem 1.25rem;
}

.premium-route-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
}

.premium-route-card {
    min-height: 250px;
}

.premium-route-card h3,
.premium-service-card h3 {
    font-size: clamp(1.15rem, 1.45vw, 1.45rem);
    line-height: 1.16;
}

.premium-route-card p,
.premium-service-card p {
    font-size: 0.96rem;
    line-height: 1.65;
}

.principle-authority-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(520px, 1.1fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
}

.principle-authority-section h2 {
    max-width: 640px;
}

.authority-process {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.9rem;
}

.authority-process div {
    min-height: 188px;
}

.authority-process strong {
    font-size: 0.95rem;
}

.authority-process span {
    font-size: 0.82rem;
    line-height: 1.45;
}

.authority-cta-panel {
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.55fr);
}

.authority-cta-panel h2 {
    max-width: 720px;
}

.cta-proof-points {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.5rem;
}

.cta-proof-points span {
    display: inline-flex;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 850;
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.cta-actions {
    display: grid;
    gap: 0.85rem;
    justify-items: start;
}

/* Remove any accidental internal/helper styling from empty homepage section heads */
.services-admin-section .section-head:empty {
    display: none;
}

.services-admin-section {
    padding-top: 2rem;
}

/* Desktop polish */
@media (min-width: 1181px) {
    .hero-authority h1,
    .hero-copy h1 {
        font-size: 5.25rem;
    }

    .hero-authority-grid {
        grid-template-columns: minmax(0, 0.92fr) 500px;
    }
}

/* Tablet */
@media (max-width: 1100px) {
    .hero-authority-grid,
    .infrastructure-layer-grid,
    .principle-authority-grid {
        grid-template-columns: 1fr;
    }

    .authority-console {
        max-width: 620px;
        margin-left: 0;
    }

    .infra-map {
        max-width: 520px;
        min-height: 460px;
    }

    .premium-route-grid,
    .authority-process {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .principle-authority-grid {
        gap: 2.5rem;
    }
}

/* Mobile */
@media (max-width: 720px) {
    .hero-authority .container,
    .hero-authority-grid {
        min-height: auto;
    }

    .hero-authority-grid {
        padding-top: 3.25rem;
        padding-bottom: 3.5rem;
    }

    .hero-authority h1,
    .hero-copy h1 {
        font-size: clamp(2.75rem, 13vw, 4.2rem);
        line-height: 0.98;
    }

    .section h2,
    .authority-positioning h2,
    .infrastructure-layer-section h2,
    .solution-routes-premium h2,
    .principle-authority-section h2,
    .premium-cta-section h2 {
        font-size: clamp(2rem, 9vw, 3rem);
        line-height: 1.04;
    }

    .console-stack div {
        grid-template-columns: auto 1fr;
    }

    .console-stack small {
        grid-column: 2;
        white-space: normal;
    }

    .infra-map {
        min-height: auto;
        max-width: none;
        padding: 1rem;
        display: grid;
        gap: 0.75rem;
    }

    .infra-map-centre,
    .infra-map-item,
    .infra-map .item-a,
    .infra-map .item-b,
    .infra-map .item-c,
    .infra-map .item-d,
    .infra-map .item-e {
        position: static;
        width: auto;
        min-height: auto;
        transform: none;
    }

    .infra-map-centre {
        width: auto;
        height: auto;
        padding: 1.4rem;
        border-radius: 1.4rem;
    }

    .premium-route-grid,
    .authority-process {
        grid-template-columns: 1fr;
    }

    .authority-process div {
        min-height: auto;
    }

    .authority-cta-panel {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   Final Infrastructure Map + Floating CTA Fix
   Place at the very bottom of assets/css/style.css
   ========================================================= */

/* Keep this section balanced and prevent hidden/cropped content */
.infrastructure-layer-section {
    overflow: visible;
}

.infrastructure-layer-grid {
    display: grid;
    grid-template-columns: minmax(520px, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
}

/* Make the infrastructure visual large enough again */
.infra-map {
    position: relative;
    width: 100%;
    max-width: 560px;
    min-height: 520px;
    margin: 0 auto;
    padding: 2rem;
    overflow: visible;
}

/* Bigger centre circle so text fits properly */
.infra-map-centre {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 190px;
    height: 190px;
    transform: translate(-50%, -50%);
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.4rem;
    border-radius: 999px;
    text-align: center;
    font-size: 1.28rem;
    font-weight: 900;
    line-height: 1.12;
    letter-spacing: -0.025em;
    color: #112442;
    background: #ffffff;
    box-shadow:
        0 22px 55px rgba(17, 36, 66, 0.22),
        inset 0 0 0 1px rgba(17, 36, 66, 0.04);
}

/* Outer cards: more room, no crowding */
.infra-map-item {
    position: absolute;
    z-index: 4;
    width: 176px;
    min-height: 92px;
    padding: 1rem 1.1rem;
    border-radius: 22px;
}

.infra-map-item strong {
    display: block;
    font-size: 1.02rem;
    line-height: 1.15;
    margin-bottom: 0.25rem;
}

.infra-map-item span {
    display: block;
    font-size: 0.82rem;
    line-height: 1.28;
}

/* Safer desktop card positions */
.infra-map .item-a {
    left: 36px;
    top: 54px;
}

.infra-map .item-b {
    right: 36px;
    top: 54px;
}

.infra-map .item-c {
    left: 36px;
    bottom: 74px;
}

.infra-map .item-d {
    right: 36px;
    bottom: 74px;
}

/* Assurance should sit cleanly at the bottom, not on top of other cards */
.infra-map .item-e {
    left: 50%;
    bottom: 20px;
    transform: translateX(-50%);
    width: 190px;
    min-height: 82px;
    z-index: 6;
}

/* Add a little extra breathing room to the right-side content */
.infrastructure-layer-section .authority-check-list {
    margin-top: 2.1rem;
    padding-bottom: 1rem;
}

.infrastructure-layer-section .authority-check-list div {
    position: relative;
    z-index: 2;
}

/* The floating CTA was sitting over important content.
   On public-ready desktop, keep it visible but lift it above the lower edge
   and make it less intrusive. */
.floating-cta {
    right: 28px;
    bottom: 34px;
    z-index: 35;
}

.floating-cta button {
    padding: 11px 18px;
    font-size: 0.94rem;
    box-shadow: 0 14px 38px rgba(17, 36, 66, 0.20);
}

/* Hide the floating CTA while hovering/focusing over content-heavy sections
   is not possible with pure CSS reliably, so on medium screens we remove it.
   The header CTA and section CTAs remain available. */
@media (max-width: 1280px) and (min-width: 921px) {
    .floating-cta {
        display: none;
    }
}

/* Tablet layout */
@media (max-width: 1100px) {
    .infrastructure-layer-grid {
        grid-template-columns: 1fr;
    }

    .infra-map {
        max-width: 620px;
        min-height: 540px;
    }
}

/* Mobile: convert the map into clean stacked cards */
@media (max-width: 720px) {
    .infra-map {
        min-height: auto;
        max-width: none;
        padding: 1rem;
        display: grid;
        gap: 0.75rem;
    }

    .infra-map-centre,
    .infra-map-item,
    .infra-map .item-a,
    .infra-map .item-b,
    .infra-map .item-c,
    .infra-map .item-d,
    .infra-map .item-e {
        position: static;
        width: auto;
        min-height: auto;
        transform: none;
    }

    .infra-map-centre {
        height: auto;
        border-radius: 24px;
        padding: 1.4rem;
        font-size: 1.25rem;
    }

    .infra-map-item {
        padding: 1rem;
    }

    .floating-cta {
        display: none;
    }
}

/* =========================================================
   Premium Core Principle Section Balance Fix
   ========================================================= */

.principle-authority-section {
    position: relative;
    overflow: hidden;
}

.principle-authority-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 82% 24%, rgba(21, 232, 241, 0.16), transparent 28%),
        radial-gradient(circle at 14% 88%, rgba(21, 119, 148, 0.16), transparent 30%);
    pointer-events: none;
}

.principle-authority-section .container {
    position: relative;
    z-index: 2;
}

.principle-authority-grid-balanced {
    grid-template-columns: minmax(0, 0.88fr) minmax(560px, 1.12fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
}

.principle-copy {
    max-width: 650px;
}

.principle-copy h2 {
    max-width: 640px;
    font-size: clamp(2.85rem, 4.6vw, 5rem);
    line-height: 0.98;
    letter-spacing: -0.065em;
}

.principle-copy p {
    max-width: 620px;
    font-size: clamp(1.05rem, 1.35vw, 1.25rem);
    line-height: 1.72;
    color: #d5e8f4;
}

.principle-proof-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1.6rem;
}

.principle-proof-list span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.65rem 0.95rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 850;
}

.authority-process-balanced {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
}

.authority-process-balanced div {
    min-height: 190px;
    padding: 1.45rem;
    border-radius: 24px;
    background:
        linear-gradient(145deg, rgba(255,255,255,0.98), rgba(246,251,254,0.94));
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow:
        0 24px 50px rgba(0, 0, 0, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.authority-process-balanced div:nth-child(1),
.authority-process-balanced div:nth-child(2),
.authority-process-balanced div:nth-child(3) {
    grid-column: span 2;
}

.authority-process-balanced div:nth-child(4),
.authority-process-balanced div:nth-child(5) {
    grid-column: span 3;
}

.authority-process-balanced b {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #15e8f1;
    color: #112442;
    font-weight: 950;
    margin-bottom: 1.15rem;
    box-shadow: 0 10px 24px rgba(21, 232, 241, 0.25);
}

.authority-process-balanced strong {
    display: block;
    color: #112442;
    font-size: 1.15rem;
    line-height: 1.15;
    margin-bottom: 0.55rem;
}

.authority-process-balanced span {
    display: block;
    color: #5f6f86;
    font-size: 0.98rem;
    line-height: 1.55;
}

@media (max-width: 1100px) {
    .principle-authority-grid-balanced {
        grid-template-columns: 1fr;
    }

    .principle-copy {
        max-width: 760px;
    }

    .authority-process-balanced {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .authority-process-balanced div,
    .authority-process-balanced div:nth-child(1),
    .authority-process-balanced div:nth-child(2),
    .authority-process-balanced div:nth-child(3),
    .authority-process-balanced div:nth-child(4),
    .authority-process-balanced div:nth-child(5) {
        grid-column: auto;
    }
}

@media (max-width: 720px) {
    .principle-copy h2 {
        font-size: clamp(2.35rem, 11vw, 3.3rem);
        line-height: 1.02;
    }

    .authority-process-balanced {
        grid-template-columns: 1fr;
    }

    .authority-process-balanced div {
        min-height: auto;
    }
}

/* =========================================================
   Final Public Launch Adjustments
   Non-sticky header, hidden floating CTA and homepage polish
   ========================================================= */

/* Remove sticky header behaviour */
.site-header,
@media-header-placeholder {
    position: relative !important;
    top: auto !important;
}

/* Keep the header clean and less overbearing */
.site-header {
    box-shadow: 0 10px 26px rgba(17, 36, 66, 0.06) !important;
    border-bottom: 1px solid rgba(17, 36, 66, 0.08);
}

/* Remove the floating enquiry button.
   The header CTA and page CTAs are enough for a premium public site. */
.floating-cta {
    display: none !important;
}

/* Slightly calm the topbar */
.topbar {
    font-size: 0.86rem !important;
}

.topbar-inner {
    min-height: 38px !important;
}

/* Make the header feel more refined on desktop */
@media (min-width: 921px) {
    .nav-wrap {
        min-height: 88px !important;
    }

    .brand img {
        width: 176px !important;
    }

    .site-menu > a,
    .nav-dropdown > summary {
        font-size: 0.95rem !important;
    }
}

/* Correct invalid sticky overrides from earlier mobile rules */
@media (max-width: 920px) {
    .site-header {
        position: relative !important;
        top: auto !important;
    }
}

/* Final hero scale for public launch */
@media (min-width: 1181px) {
    .hero-authority .container {
        min-height: 640px !important;
        padding-top: 5rem !important;
        padding-bottom: 5rem !important;
    }

    .hero-authority h1,
    .hero-copy h1 {
        font-size: clamp(4.1rem, 5vw, 5.35rem) !important;
        line-height: 0.98 !important;
        letter-spacing: -0.065em !important;
    }
}

/* Premium section heading scale, calmer than earlier oversized settings */
.section h2,
.authority-positioning h2,
.infrastructure-layer-section h2,
.solution-routes-premium h2,
.principle-authority-section h2,
.premium-cta-section h2 {
    font-size: clamp(2.15rem, 3.35vw, 4rem) !important;
    line-height: 1.04 !important;
}

/* Infrastructure map final balance */
.infrastructure-layer-grid {
    grid-template-columns: minmax(500px, 0.95fr) minmax(0, 1.05fr) !important;
    align-items: center !important;
}

.infra-map {
    max-width: 560px !important;
    min-height: 520px !important;
}

.infra-map-centre {
    width: 200px !important;
    height: 200px !important;
    font-size: 1.18rem !important;
    line-height: 1.12 !important;
    padding: 1.25rem !important;
}

.infra-map-item {
    width: 176px !important;
    min-height: 92px !important;
}

/* Keep assurance from sitting too close to the lower cards */
.infra-map .item-c,
.infra-map .item-d {
    bottom: 86px !important;
}

.infra-map .item-e {
    bottom: 24px !important;
    width: 190px !important;
}

/* Final core principle section balance */
.principle-authority-grid-balanced {
    grid-template-columns: minmax(0, 0.88fr) minmax(560px, 1.12fr) !important;
    gap: clamp(3rem, 6vw, 6rem) !important;
}

.principle-copy h2 {
    font-size: clamp(2.65rem, 4.2vw, 4.6rem) !important;
    line-height: 1.01 !important;
}

.authority-process-balanced {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 1rem !important;
}

.authority-process-balanced div {
    min-height: 178px !important;
    padding: 1.35rem !important;
}

.authority-process-balanced div:nth-child(1),
.authority-process-balanced div:nth-child(2),
.authority-process-balanced div:nth-child(3) {
    grid-column: span 2 !important;
}

.authority-process-balanced div:nth-child(4),
.authority-process-balanced div:nth-child(5) {
    grid-column: span 3 !important;
}

/* CTA section final polish */
.cta-panel-premium {
    padding: clamp(2.2rem, 4vw, 3.6rem) !important;
}

.cta-panel-premium h2 {
    max-width: 680px;
}

/* Responsive correction after desktop overrides */
@media (max-width: 1180px) {
    .infrastructure-layer-grid,
    .principle-authority-grid-balanced {
        grid-template-columns: 1fr !important;
    }

    .authority-process-balanced {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .authority-process-balanced div,
    .authority-process-balanced div:nth-child(1),
    .authority-process-balanced div:nth-child(2),
    .authority-process-balanced div:nth-child(3),
    .authority-process-balanced div:nth-child(4),
    .authority-process-balanced div:nth-child(5) {
        grid-column: auto !important;
    }
}

@media (max-width: 720px) {
    .hero-authority h1,
    .hero-copy h1 {
        font-size: clamp(2.55rem, 12vw, 3.8rem) !important;
    }

    .section h2,
    .authority-positioning h2,
    .infrastructure-layer-section h2,
    .solution-routes-premium h2,
    .principle-authority-section h2,
    .premium-cta-section h2,
    .principle-copy h2 {
        font-size: clamp(2rem, 9vw, 3rem) !important;
    }

    .infra-map {
        min-height: auto !important;
        max-width: none !important;
        display: grid !important;
        gap: 0.75rem !important;
    }

    .infra-map-centre,
    .infra-map-item,
    .infra-map .item-a,
    .infra-map .item-b,
    .infra-map .item-c,
    .infra-map .item-d,
    .infra-map .item-e {
        position: static !important;
        width: auto !important;
        height: auto !important;
        min-height: auto !important;
        transform: none !important;
    }

    .infra-map-centre {
        border-radius: 24px !important;
        padding: 1.4rem !important;
    }

    .authority-process-balanced {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   Premium About Page Upgrade
   ========================================================= */

.about-hero-premium {
    padding: 0;
}

.about-hero-premium::after {
    opacity: 0.12;
}

.about-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.75fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
    padding-top: clamp(4.5rem, 7vw, 7rem);
    padding-bottom: clamp(4.5rem, 7vw, 7rem);
}

.about-hero-premium h1 {
    max-width: 980px;
    font-size: clamp(3.4rem, 6vw, 6.4rem);
    line-height: 0.98;
    letter-spacing: -0.07em;
}

.about-hero-premium p {
    max-width: 780px;
    font-size: clamp(1.08rem, 1.6vw, 1.35rem);
    line-height: 1.65;
}

.about-hero-panel {
    display: grid;
    gap: 1rem;
    padding: 1.4rem;
    border-radius: 32px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.22), transparent 34%),
        rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(16px);
}

.about-hero-panel > span {
    color: #15e8f1;
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.about-hero-panel div {
    padding: 1.15rem 1.25rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.94);
    color: #112442;
}

.about-hero-panel strong,
.about-hero-panel small {
    display: block;
}

.about-hero-panel strong {
    font-size: 1.1rem;
    line-height: 1.15;
}

.about-hero-panel small {
    margin-top: 0.35rem;
    color: #5f6f86;
    font-weight: 650;
    line-height: 1.45;
}

.about-proof-band {
    background: #ffffff;
    border-top: 1px solid rgba(17, 36, 66, 0.08);
    border-bottom: 1px solid rgba(17, 36, 66, 0.08);
    box-shadow: 0 20px 70px rgba(17, 36, 66, 0.07);
}

.about-proof-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 1.65rem 0;
}

.about-proof-grid span {
    display: grid;
    place-items: center;
    min-height: 58px;
    padding: 0.8rem;
    border-radius: 18px;
    border: 1px solid #dbe5ef;
    background: linear-gradient(180deg, #ffffff, #f6fbfe);
    color: #112442;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 950;
}

.about-positioning-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
}

.about-positioning-grid h2,
.about-mission-card h2,
.about-model-grid h2,
.about-authority-grid h2,
.about-sectors-section h2,
.about-final-cta-section h2 {
    font-size: clamp(2.3rem, 3.8vw, 4.4rem);
    line-height: 1.03;
    letter-spacing: -0.06em;
}

.about-copy-panel {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: 32px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 22px 60px rgba(17, 36, 66, 0.08);
}

.about-copy-panel p {
    margin-top: 0;
    color: #34445c;
    font-size: 1.05rem;
    line-height: 1.78;
}

.about-copy-panel p:last-child {
    margin-bottom: 0;
}

.about-mission-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(520px, 1.2fr);
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: center;
}

.about-mission-card {
    padding: clamp(2rem, 4vw, 3.4rem);
    border-radius: 36px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.16), transparent 30%),
        linear-gradient(135deg, #071832, #112442);
    color: #ffffff;
    box-shadow: 0 28px 80px rgba(17, 36, 66, 0.18);
}

.about-mission-card h2 {
    color: #ffffff;
}

.about-mission-card p {
    color: #d5e8f4;
    font-size: 1.08rem;
    line-height: 1.75;
}

.about-value-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.about-value-grid div {
    min-height: 154px;
    padding: 1.35rem;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 44px rgba(17, 36, 66, 0.07);
}

.about-value-grid strong,
.about-value-grid span {
    display: block;
}

.about-value-grid strong {
    color: #112442;
    font-size: 1.08rem;
    line-height: 1.2;
}

.about-value-grid span {
    margin-top: 0.65rem;
    color: #5f6f86;
    line-height: 1.55;
}

.about-model-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(520px, 1.15fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
}

.about-model-steps {
    display: grid;
    gap: 1rem;
}

.about-model-steps div {
    display: grid;
    grid-template-columns: 64px 1fr;
    column-gap: 1.2rem;
    row-gap: 0.25rem;
    padding: 1.2rem 1.35rem;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 44px rgba(17, 36, 66, 0.07);
}

.about-model-steps b {
    grid-row: span 2;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #15e8f1;
    color: #112442;
    font-weight: 950;
}

.about-model-steps strong {
    color: #112442;
    font-size: 1.12rem;
    line-height: 1.18;
}

.about-model-steps span {
    color: #5f6f86;
    line-height: 1.55;
}

.about-authority-section {
    position: relative;
    overflow: hidden;
}

.about-authority-section::before {
    content: "";
    position: absolute;
    right: -140px;
    bottom: -180px;
    width: 520px;
    height: 520px;
    background: url('/assets/img/brand-mark.png') center / contain no-repeat;
    opacity: 0.08;
}

.about-authority-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(380px, 0.75fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
}

.about-authority-grid p {
    font-size: 1.08rem;
    line-height: 1.75;
}

.about-authority-panel {
    padding: clamp(2rem, 4vw, 3rem);
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.18);
}

.about-authority-panel p {
    margin-top: 0;
    color: #ffffff;
    font-size: clamp(1.45rem, 2.4vw, 2.3rem);
    line-height: 1.12;
    letter-spacing: -0.04em;
    font-weight: 900;
}

.about-sector-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
}

.about-sector-grid a {
    min-height: 230px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.7rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at bottom right, rgba(21, 232, 241, 0.18), transparent 34%),
        linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 46px rgba(17, 36, 66, 0.08);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.about-sector-grid a:hover,
.about-sector-grid a:focus {
    transform: translateY(-4px);
    border-color: rgba(21, 119, 148, 0.35);
    box-shadow: 0 28px 70px rgba(17, 36, 66, 0.14);
    outline: none;
}

.about-sector-grid span {
    color: #157794;
    font-size: 0.82rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.about-sector-grid strong {
    display: block;
    margin-top: 0.8rem;
    color: #112442;
    font-size: 1.25rem;
    line-height: 1.2;
}

.about-final-cta-section {
    padding-top: 2rem;
}

/* Responsive About Page */
@media (max-width: 1180px) {
    .about-hero-grid,
    .about-positioning-grid,
    .about-mission-grid,
    .about-model-grid,
    .about-authority-grid {
        grid-template-columns: 1fr;
    }

    .about-hero-panel,
    .about-copy-panel,
    .about-mission-card,
    .about-authority-panel {
        max-width: 760px;
    }

    .about-proof-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .about-hero-premium h1 {
        font-size: clamp(2.7rem, 11vw, 4.2rem);
    }

    .about-value-grid,
    .about-sector-grid,
    .about-proof-grid {
        grid-template-columns: 1fr;
    }

    .about-model-steps div {
        grid-template-columns: 1fr;
    }

    .about-model-steps b {
        grid-row: auto;
    }
}

/* =========================================================
   Premium Solutions Page Upgrade
   ========================================================= */

.solutions-hero-premium {
    padding: 0;
}

.solutions-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.7fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
    padding-top: clamp(4.2rem, 6vw, 6rem);
    padding-bottom: clamp(4.2rem, 6vw, 6rem);
}

.solutions-hero-premium h1 {
    max-width: 920px;
    font-size: clamp(3rem, 5vw, 5.3rem);
    line-height: 1;
    letter-spacing: -0.065em;
}

.solutions-hero-premium p {
    max-width: 760px;
    font-size: clamp(1.05rem, 1.45vw, 1.25rem);
    line-height: 1.68;
}

.solutions-hero-panel {
    display: grid;
    gap: 1rem;
    padding: 1.4rem;
    border-radius: 32px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.22), transparent 34%),
        rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.solutions-hero-panel > span {
    color: #15e8f1;
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.solutions-hero-panel div {
    padding: 1.15rem 1.25rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.94);
    color: #112442;
}

.solutions-hero-panel strong,
.solutions-hero-panel small {
    display: block;
}

.solutions-hero-panel strong {
    font-size: 1.1rem;
    line-height: 1.15;
}

.solutions-hero-panel small {
    margin-top: 0.35rem;
    color: #5f6f86;
    font-weight: 650;
    line-height: 1.45;
}

.solutions-proof-band {
    background: #ffffff;
    border-top: 1px solid rgba(17, 36, 66, 0.08);
    border-bottom: 1px solid rgba(17, 36, 66, 0.08);
    box-shadow: 0 20px 70px rgba(17, 36, 66, 0.07);
}

.solutions-proof-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 1.65rem 0;
}

.solutions-proof-grid span {
    display: grid;
    place-items: center;
    min-height: 58px;
    padding: 0.8rem;
    border-radius: 18px;
    border: 1px solid #dbe5ef;
    background: linear-gradient(180deg, #ffffff, #f6fbfe);
    color: #112442;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 950;
}

.solutions-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
}

.solutions-intro-grid h2,
.solutions-routes-section h2,
.solutions-model-card h2,
.solutions-authority-grid h2,
.solutions-service-section h2,
.solutions-final-cta-section h2 {
    font-size: clamp(2.25rem, 3.55vw, 4.15rem);
    line-height: 1.04;
    letter-spacing: -0.06em;
}

.solutions-intro-copy {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: 32px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 22px 60px rgba(17, 36, 66, 0.08);
}

.solutions-intro-copy p {
    margin-top: 0;
    color: #34445c;
    font-size: 1.05rem;
    line-height: 1.78;
}

.solutions-intro-copy p:last-child {
    margin-bottom: 0;
}

.solutions-route-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.15rem;
}

.solutions-route-card {
    position: relative;
    min-height: 360px;
    display: flex;
    flex-direction: column;
    padding: 1.65rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at bottom right, rgba(21, 232, 241, 0.14), transparent 35%),
        linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 46px rgba(17, 36, 66, 0.08);
    overflow: hidden;
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.solutions-route-card:hover,
.solutions-route-card:focus {
    transform: translateY(-5px);
    border-color: rgba(21, 119, 148, 0.38);
    box-shadow: 0 30px 74px rgba(17, 36, 66, 0.15);
    outline: none;
}

.solutions-route-card > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 1.4rem;
    border-radius: 999px;
    background: #15e8f1;
    color: #112442;
    font-size: 0.82rem;
    font-weight: 950;
}

.solutions-route-card h3 {
    font-size: clamp(1.25rem, 1.65vw, 1.7rem);
    line-height: 1.15;
}

.solutions-route-card p {
    margin-bottom: 1.3rem;
    color: #5f6f86;
    line-height: 1.65;
}

.solutions-route-card strong {
    margin-top: auto;
    color: #157794;
    font-size: 0.95rem;
}

.solutions-operating-model-section {
    background: #ffffff;
}

.solutions-model-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(520px, 1.2fr);
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: center;
}

.solutions-model-card {
    padding: clamp(2rem, 4vw, 3.4rem);
    border-radius: 36px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.16), transparent 30%),
        linear-gradient(135deg, #071832, #112442);
    color: #ffffff;
    box-shadow: 0 28px 80px rgba(17, 36, 66, 0.18);
}

.solutions-model-card h2 {
    color: #ffffff;
}

.solutions-model-card p {
    color: #d5e8f4;
    font-size: 1.08rem;
    line-height: 1.75;
}

.solutions-model-steps {
    display: grid;
    gap: 1rem;
}

.solutions-model-steps div {
    display: grid;
    grid-template-columns: 58px 1fr;
    column-gap: 1.1rem;
    row-gap: 0.25rem;
    padding: 1.2rem 1.35rem;
    border-radius: 24px;
    background: #ffffff;
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 44px rgba(17, 36, 66, 0.07);
}

.solutions-model-steps b {
    grid-row: span 2;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #15e8f1;
    color: #112442;
    font-weight: 950;
}

.solutions-model-steps strong {
    color: #112442;
    font-size: 1.08rem;
    line-height: 1.18;
}

.solutions-model-steps span {
    color: #5f6f86;
    line-height: 1.55;
}

.solutions-authority-section {
    position: relative;
    overflow: hidden;
}

.solutions-authority-section::before {
    content: "";
    position: absolute;
    right: -140px;
    bottom: -180px;
    width: 520px;
    height: 520px;
    background: url('/assets/img/brand-mark.png') center / contain no-repeat;
    opacity: 0.08;
}

.solutions-authority-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(380px, 0.75fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
}

.solutions-authority-grid p {
    font-size: 1.08rem;
    line-height: 1.75;
}

.solutions-authority-panel {
    padding: clamp(2rem, 4vw, 3rem);
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.18);
}

.solutions-authority-panel p {
    margin-top: 0;
    color: #ffffff;
    font-size: clamp(1.35rem, 2.15vw, 2.1rem);
    line-height: 1.14;
    letter-spacing: -0.04em;
    font-weight: 900;
}

.solutions-service-section .section-head {
    max-width: 880px;
}

.solutions-service-section .lead {
    max-width: 780px;
}

.solutions-final-cta-section {
    padding-top: 2rem;
}

/* Responsive Solutions Page */
@media (max-width: 1180px) {
    .solutions-hero-grid,
    .solutions-intro-grid,
    .solutions-model-grid,
    .solutions-authority-grid {
        grid-template-columns: 1fr;
    }

    .solutions-hero-panel,
    .solutions-intro-copy,
    .solutions-model-card,
    .solutions-authority-panel {
        max-width: 760px;
    }

    .solutions-proof-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .solutions-route-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .solutions-hero-premium h1 {
        font-size: clamp(2.45rem, 10vw, 3.8rem);
    }

    .solutions-route-grid,
    .solutions-proof-grid {
        grid-template-columns: 1fr;
    }

    .solutions-model-steps div {
        grid-template-columns: 1fr;
    }

    .solutions-model-steps b {
        grid-row: auto;
    }
}

/* =========================================================
   Premium Insights / Blog Page Upgrade
   ========================================================= */

.insights-hero-premium {
    padding: 0;
}

.insights-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.65fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
    padding-top: clamp(4.2rem, 6vw, 6rem);
    padding-bottom: clamp(4.2rem, 6vw, 6rem);
}

.insights-hero-premium h1 {
    max-width: 880px;
    font-size: clamp(2.9rem, 4.8vw, 5.1rem);
    line-height: 1;
    letter-spacing: -0.065em;
}

.insights-hero-premium p {
    max-width: 760px;
    font-size: clamp(1.05rem, 1.45vw, 1.25rem);
    line-height: 1.68;
}

.insights-hero-panel {
    display: grid;
    gap: 0.85rem;
    padding: 1.35rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.22), transparent 34%),
        rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.insights-hero-panel > span {
    color: #15e8f1;
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.insights-hero-panel div {
    padding: 1rem 1.15rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    color: #112442;
    font-weight: 900;
}

.insights-proof-band {
    background: #ffffff;
    border-top: 1px solid rgba(17, 36, 66, 0.08);
    border-bottom: 1px solid rgba(17, 36, 66, 0.08);
    box-shadow: 0 20px 70px rgba(17, 36, 66, 0.07);
}

.insights-proof-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 1.65rem 0;
}

.insights-proof-grid span {
    display: grid;
    place-items: center;
    min-height: 58px;
    padding: 0.8rem;
    border-radius: 18px;
    border: 1px solid #dbe5ef;
    background: linear-gradient(180deg, #ffffff, #f6fbfe);
    color: #112442;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 950;
}

.insights-featured-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.65fr);
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: center;
    padding: clamp(2rem, 4vw, 3.6rem);
    border-radius: 38px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.18), transparent 32%),
        linear-gradient(135deg, #071832, #112442 62%, #063c5b);
    color: #ffffff;
    box-shadow: 0 30px 90px rgba(17, 36, 66, 0.18);
}

.insights-featured-card h2 {
    max-width: 780px;
    color: #ffffff;
    font-size: clamp(2.25rem, 3.6vw, 4.1rem);
    line-height: 1.04;
    letter-spacing: -0.06em;
}

.insights-featured-card p {
    max-width: 720px;
    color: #d5e8f4;
    font-size: 1.08rem;
    line-height: 1.75;
}

.insights-featured-visual {
    display: grid;
    gap: 1rem;
}

.insights-featured-visual div {
    padding: 1.35rem;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.94);
    color: #112442;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.14);
}

.insights-featured-visual span {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-bottom: 0.9rem;
    border-radius: 999px;
    background: #15e8f1;
    color: #112442;
    font-weight: 950;
}

.insights-featured-visual strong {
    display: block;
    font-size: 1.15rem;
}

.insights-list-section .section-head {
    max-width: 860px;
}

.insights-list-section h2,
.insights-authority-grid h2,
.insights-final-cta-section h2 {
    font-size: clamp(2.25rem, 3.55vw, 4.15rem);
    line-height: 1.04;
    letter-spacing: -0.06em;
}

.insights-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
}

.insight-card-premium {
    min-height: 310px;
    display: flex;
    flex-direction: column;
    padding: 1.65rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at bottom right, rgba(21, 232, 241, 0.12), transparent 35%),
        linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 46px rgba(17, 36, 66, 0.08);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.insight-card-premium:hover,
.insight-card-premium:focus-within {
    transform: translateY(-4px);
    border-color: rgba(21, 119, 148, 0.35);
    box-shadow: 0 28px 70px rgba(17, 36, 66, 0.14);
}

.insight-card-premium > span {
    color: #157794;
    font-size: 0.82rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.insight-card-premium h3 {
    margin-top: 0.75rem;
    font-size: clamp(1.25rem, 1.65vw, 1.65rem);
    line-height: 1.15;
}

.insight-card-premium p {
    color: #5f6f86;
    line-height: 1.65;
}

.insight-card-premium a {
    margin-top: auto;
    color: #157794;
    font-weight: 950;
}

.insights-authority-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
}

.insights-authority-copy {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: 32px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 22px 60px rgba(17, 36, 66, 0.08);
}

.insights-authority-copy p {
    margin-top: 0;
    color: #34445c;
    font-size: 1.05rem;
    line-height: 1.78;
}

.insights-authority-copy p:last-child {
    margin-bottom: 0;
}

.insights-final-cta-section {
    padding-top: 2rem;
}

/* Responsive Insights Page */
@media (max-width: 1180px) {
    .insights-hero-grid,
    .insights-featured-card,
    .insights-authority-grid {
        grid-template-columns: 1fr;
    }

    .insights-hero-panel,
    .insights-featured-visual,
    .insights-authority-copy {
        max-width: 760px;
    }

    .insights-proof-grid,
    .insights-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .insights-hero-premium h1 {
        font-size: clamp(2.45rem, 10vw, 3.8rem);
    }

    .insights-proof-grid,
    .insights-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   Premium Blog Post / Insight Article Page Upgrade
   ========================================================= */

.post-hero-premium {
    padding: 0;
}

.post-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.58fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
    padding-top: clamp(4.2rem, 6vw, 6rem);
    padding-bottom: clamp(4.2rem, 6vw, 6rem);
}

.post-hero-premium h1 {
    max-width: 980px;
    font-size: clamp(2.8rem, 4.7vw, 5rem);
    line-height: 1;
    letter-spacing: -0.065em;
}

.post-hero-premium p {
    max-width: 800px;
    font-size: clamp(1.05rem, 1.45vw, 1.25rem);
    line-height: 1.68;
}

.post-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1.7rem;
}

.post-meta-row span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0.55rem 0.85rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.09);
    border: 1px solid rgba(255, 255, 255, 0.16);
    color: #ffffff;
    font-size: 0.84rem;
    font-weight: 850;
}

.post-hero-panel {
    display: grid;
    gap: 0.85rem;
    padding: 1.35rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.22), transparent 34%),
        rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.post-hero-panel > span {
    color: #15e8f1;
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.post-hero-panel div {
    padding: 1rem 1.15rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    color: #112442;
    font-weight: 900;
}

.post-proof-band {
    background: #ffffff;
    border-top: 1px solid rgba(17, 36, 66, 0.08);
    border-bottom: 1px solid rgba(17, 36, 66, 0.08);
    box-shadow: 0 20px 70px rgba(17, 36, 66, 0.07);
}

.post-proof-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 1.65rem 0;
}

.post-proof-grid span {
    display: grid;
    place-items: center;
    min-height: 58px;
    padding: 0.8rem;
    border-radius: 18px;
    border: 1px solid #dbe5ef;
    background: linear-gradient(180deg, #ffffff, #f6fbfe);
    color: #112442;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 950;
}

.post-layout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: start;
}

.post-article-card {
    padding: clamp(2rem, 4vw, 3.4rem);
    border-radius: 36px;
    background: #ffffff;
    border: 1px solid #dbe5ef;
    box-shadow: 0 24px 70px rgba(17, 36, 66, 0.08);
}

.post-content {
    max-width: 860px;
}

.post-content p,
.post-content li {
    color: #26364d;
    font-size: clamp(1.04rem, 1.25vw, 1.18rem);
    line-height: 1.85;
}

.post-content p:first-child {
    margin-top: 0;
}

.post-content h2 {
    margin-top: 2.2rem;
    font-size: clamp(1.85rem, 2.5vw, 2.8rem);
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.post-content h3 {
    margin-top: 1.8rem;
    font-size: clamp(1.35rem, 1.75vw, 1.75rem);
}

.post-content ul,
.post-content ol {
    padding-left: 1.35rem;
}

.post-content a {
    color: #157794;
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.post-side-panel {
    display: grid;
    gap: 1rem;
    position: sticky;
    top: 2rem;
}

.post-side-card {
    padding: 1.6rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.16), transparent 30%),
        linear-gradient(135deg, #071832, #112442);
    color: #ffffff;
    box-shadow: 0 24px 70px rgba(17, 36, 66, 0.16);
}

.post-side-card h2 {
    color: #ffffff;
    font-size: clamp(1.6rem, 2vw, 2.1rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.post-side-card p {
    color: #d5e8f4;
    line-height: 1.65;
}

.post-side-links {
    padding: 1.4rem;
    border-radius: 26px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 44px rgba(17, 36, 66, 0.07);
}

.post-side-links h3 {
    font-size: 1.2rem;
    margin-bottom: 0.8rem;
}

.post-side-links a {
    display: block;
    padding: 0.7rem 0;
    border-bottom: 1px solid #dbe5ef;
    color: #157794;
    font-weight: 900;
}

.post-side-links a:last-child {
    border-bottom: 0;
}

.related-insights-section .section-head {
    max-width: 860px;
}

.related-insights-section h2,
.post-final-cta-section h2 {
    font-size: clamp(2.25rem, 3.55vw, 4.15rem);
    line-height: 1.04;
    letter-spacing: -0.06em;
}

.related-insights-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
}

.related-insight-card {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    padding: 1.65rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at bottom right, rgba(21, 232, 241, 0.12), transparent 35%),
        linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 46px rgba(17, 36, 66, 0.08);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.related-insight-card:hover,
.related-insight-card:focus-within {
    transform: translateY(-4px);
    border-color: rgba(21, 119, 148, 0.35);
    box-shadow: 0 28px 70px rgba(17, 36, 66, 0.14);
}

.related-insight-card > span {
    color: #157794;
    font-size: 0.82rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.related-insight-card h3 {
    margin-top: 0.75rem;
    font-size: clamp(1.25rem, 1.65vw, 1.65rem);
    line-height: 1.15;
}

.related-insight-card p {
    color: #5f6f86;
    line-height: 1.65;
}

.related-insight-card a {
    margin-top: auto;
    color: #157794;
    font-weight: 950;
}

.post-final-cta-section {
    padding-top: 2rem;
}

/* Responsive Blog Post Page */
@media (max-width: 1180px) {
    .post-hero-grid,
    .post-layout-grid {
        grid-template-columns: 1fr;
    }

    .post-hero-panel,
    .post-side-panel {
        max-width: 760px;
    }

    .post-side-panel {
        position: static;
    }

    .post-proof-grid,
    .related-insights-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .post-hero-premium h1 {
        font-size: clamp(2.35rem, 10vw, 3.7rem);
    }

    .post-proof-grid,
    .related-insights-grid {
        grid-template-columns: 1fr;
    }

    .post-article-card {
        padding: 1.5rem;
        border-radius: 28px;
    }
}

/* =========================================================
   Premium Contact Page Upgrade
   ========================================================= */

.contact-hero-premium {
    padding: 0;
}

.contact-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.65fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
    padding-top: clamp(4.2rem, 6vw, 6rem);
    padding-bottom: clamp(4.2rem, 6vw, 6rem);
}

.contact-hero-premium h1 {
    max-width: 900px;
    font-size: clamp(2.9rem, 4.8vw, 5rem);
    line-height: 1;
    letter-spacing: -0.065em;
}

.contact-hero-premium p {
    max-width: 760px;
    font-size: clamp(1.05rem, 1.45vw, 1.25rem);
    line-height: 1.68;
}

.contact-hero-panel {
    display: grid;
    gap: 0.85rem;
    padding: 1.35rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.22), transparent 34%),
        rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.contact-hero-panel > span {
    color: #15e8f1;
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.contact-hero-panel div {
    padding: 1rem 1.15rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    color: #112442;
    font-weight: 900;
}

.contact-proof-band {
    background: #ffffff;
    border-top: 1px solid rgba(17, 36, 66, 0.08);
    border-bottom: 1px solid rgba(17, 36, 66, 0.08);
    box-shadow: 0 20px 70px rgba(17, 36, 66, 0.07);
}

.contact-proof-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 1.65rem 0;
}

.contact-proof-grid span {
    display: grid;
    place-items: center;
    min-height: 58px;
    padding: 0.8rem;
    border-radius: 18px;
    border: 1px solid #dbe5ef;
    background: linear-gradient(180deg, #ffffff, #f6fbfe);
    color: #112442;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 950;
}

.contact-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(480px, 1.15fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
}

.contact-intro-panel {
    padding: clamp(2rem, 4vw, 3.4rem);
    border-radius: 36px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.14), transparent 30%),
        linear-gradient(135deg, #071832, #112442);
    color: #ffffff;
    box-shadow: 0 28px 80px rgba(17, 36, 66, 0.18);
}

.contact-intro-panel h2,
.contact-form-card h2,
.contact-readiness-section h2,
.contact-authority-grid h2 {
    font-size: clamp(2.15rem, 3.4vw, 3.9rem);
    line-height: 1.04;
    letter-spacing: -0.06em;
}

.contact-intro-panel h2 {
    color: #ffffff;
}

.contact-intro-panel p {
    color: #d5e8f4;
    font-size: 1.08rem;
    line-height: 1.75;
}

.contact-support-grid {
    display: grid;
    gap: 0.9rem;
    margin-top: 1.8rem;
}

.contact-support-grid div {
    padding: 1rem 1.1rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
}

.contact-support-grid strong,
.contact-support-grid span {
    display: block;
}

.contact-support-grid strong {
    color: #ffffff;
    line-height: 1.15;
}

.contact-support-grid span {
    margin-top: 0.4rem;
    color: #d5e8f4;
    line-height: 1.45;
    font-size: 0.95rem;
}

.contact-form-card {
    padding: clamp(1.7rem, 3.2vw, 2.5rem);
    border-radius: 34px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 28px 80px rgba(17, 36, 66, 0.10);
}

.contact-form-card p {
    color: #5f6f86;
    line-height: 1.7;
}

.contact-premium-form {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
}

.form-row-two {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.contact-premium-form label {
    color: #112442;
    font-weight: 850;
}

.contact-premium-form input,
.contact-premium-form textarea,
.contact-premium-form select {
    margin-top: 0.45rem;
}

.contact-premium-form button {
    width: 100%;
    margin-top: 0.2rem;
}

.contact-readiness-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.1rem;
}

.contact-readiness-grid div {
    min-height: 230px;
    padding: 1.55rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at bottom right, rgba(21, 232, 241, 0.13), transparent 35%),
        linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 46px rgba(17, 36, 66, 0.08);
}

.contact-readiness-grid b {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 1.1rem;
    border-radius: 999px;
    background: #15e8f1;
    color: #112442;
    font-weight: 950;
}

.contact-readiness-grid strong,
.contact-readiness-grid span {
    display: block;
}

.contact-readiness-grid strong {
    color: #112442;
    font-size: 1.15rem;
    line-height: 1.18;
}

.contact-readiness-grid span {
    margin-top: 0.65rem;
    color: #5f6f86;
    line-height: 1.55;
}

.contact-authority-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
}

.contact-authority-copy {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: 32px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 22px 60px rgba(17, 36, 66, 0.08);
}

.contact-authority-copy p {
    margin-top: 0;
    color: #34445c;
    font-size: 1.05rem;
    line-height: 1.78;
}

.contact-authority-copy p:last-child {
    margin-bottom: 0;
}

/* Responsive Contact Page */
@media (max-width: 1180px) {
    .contact-hero-grid,
    .contact-main-grid,
    .contact-authority-grid {
        grid-template-columns: 1fr;
    }

    .contact-hero-panel,
    .contact-intro-panel,
    .contact-form-card,
    .contact-authority-copy {
        max-width: 760px;
    }

    .contact-proof-grid,
    .contact-readiness-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .contact-hero-premium h1 {
        font-size: clamp(2.45rem, 10vw, 3.8rem);
    }

    .contact-proof-grid,
    .contact-readiness-grid,
    .form-row-two {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   Premium Service Page Upgrade
   AI-Ready Digital Infrastructure
   ========================================================= */

.service-hero-premium {
    padding: 0;
}

.service-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.7fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
    padding-top: clamp(4.2rem, 6vw, 6rem);
    padding-bottom: clamp(4.2rem, 6vw, 6rem);
}

.service-hero-premium h1 {
    max-width: 900px;
    font-size: clamp(2.9rem, 4.7vw, 5rem);
    line-height: 1;
    letter-spacing: -0.065em;
}

.service-hero-premium p {
    max-width: 760px;
    font-size: clamp(1.05rem, 1.45vw, 1.25rem);
    line-height: 1.68;
}

.service-hero-panel {
    display: grid;
    gap: 0.85rem;
    padding: 1.35rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.22), transparent 34%),
        rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.service-hero-panel > span {
    color: #15e8f1;
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.service-hero-panel div {
    padding: 1rem 1.15rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    color: #112442;
}

.service-hero-panel strong,
.service-hero-panel small {
    display: block;
}

.service-hero-panel strong {
    font-size: 1.08rem;
    line-height: 1.15;
}

.service-hero-panel small {
    margin-top: 0.35rem;
    color: #5f6f86;
    font-weight: 650;
    line-height: 1.45;
}

.service-proof-band {
    background: #ffffff;
    border-top: 1px solid rgba(17, 36, 66, 0.08);
    border-bottom: 1px solid rgba(17, 36, 66, 0.08);
    box-shadow: 0 20px 70px rgba(17, 36, 66, 0.07);
}

.service-proof-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 1.65rem 0;
}

.service-proof-grid span {
    display: grid;
    place-items: center;
    min-height: 58px;
    padding: 0.8rem;
    border-radius: 18px;
    border: 1px solid #dbe5ef;
    background: linear-gradient(180deg, #ffffff, #f6fbfe);
    color: #112442;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 950;
}

.service-overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
}

.service-overview-section h2,
.service-capability-section h2,
.service-architecture-section h2,
.service-delivery-section h2,
.service-fit-section h2,
.service-final-cta-section h2 {
    font-size: clamp(2.25rem, 3.55vw, 4.15rem);
    line-height: 1.04;
    letter-spacing: -0.06em;
}

.service-overview-card {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: 32px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 22px 60px rgba(17, 36, 66, 0.08);
}

.service-overview-card p {
    margin-top: 0;
    color: #34445c;
    font-size: 1.05rem;
    line-height: 1.78;
}

.service-overview-card p:last-child {
    margin-bottom: 0;
}

.service-capability-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1rem;
}

.service-capability-grid div {
    min-height: 250px;
    padding: 1.55rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at bottom right, rgba(21, 232, 241, 0.13), transparent 35%),
        linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 46px rgba(17, 36, 66, 0.08);
}

.service-capability-grid b {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 1.1rem;
    border-radius: 999px;
    background: #15e8f1;
    color: #112442;
    font-weight: 950;
}

.service-capability-grid strong,
.service-capability-grid span {
    display: block;
}

.service-capability-grid strong {
    color: #112442;
    font-size: 1.15rem;
    line-height: 1.18;
}

.service-capability-grid span {
    margin-top: 0.65rem;
    color: #5f6f86;
    line-height: 1.55;
}

.service-architecture-grid {
    display: grid;
    grid-template-columns: minmax(500px, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
}

.service-architecture-visual {
    position: relative;
    width: 100%;
    max-width: 560px;
    min-height: 500px;
    margin: 0 auto;
    border-radius: 38px;
    background:
        radial-gradient(circle at center, rgba(21, 232, 241, 0.22), transparent 34%),
        linear-gradient(135deg, #071832, #112442 58%, #06465f);
    box-shadow: 0 34px 90px rgba(17, 36, 66, 0.22);
    overflow: hidden;
}

.service-architecture-visual::before {
    content: "";
    position: absolute;
    inset: 36px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 30px;
}

.service-architecture-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 62px 62px;
    mask-image: radial-gradient(circle at center, black, transparent 74%);
}

.service-architecture-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 190px;
    height: 190px;
    transform: translate(-50%, -50%);
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.35rem;
    border-radius: 999px;
    text-align: center;
    font-size: 1.18rem;
    font-weight: 900;
    line-height: 1.12;
    color: #112442;
    background: #ffffff;
    box-shadow: 0 22px 55px rgba(17, 36, 66, 0.22);
}

.service-architecture-item {
    position: absolute;
    z-index: 4;
    width: 182px;
    min-height: 92px;
    padding: 1rem 1.1rem;
    border-radius: 22px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(12px);
    color: #ffffff;
}

.service-architecture-item strong,
.service-architecture-item span {
    display: block;
}

.service-architecture-item strong {
    font-size: 1rem;
    line-height: 1.15;
}

.service-architecture-item span {
    margin-top: 0.35rem;
    color: #d9efff;
    font-size: 0.82rem;
    line-height: 1.28;
}

.service-architecture-item.item-1 {
    left: 38px;
    top: 58px;
}

.service-architecture-item.item-2 {
    right: 38px;
    top: 58px;
}

.service-architecture-item.item-3 {
    left: 38px;
    bottom: 58px;
}

.service-architecture-item.item-4 {
    right: 38px;
    bottom: 58px;
}

.service-check-list {
    display: grid;
    gap: 1rem;
    margin-top: 2rem;
}

.service-check-list div {
    padding: 1.15rem 1.25rem;
    border: 1px solid #dbe5ef;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(17,36,66,.07);
}

.service-check-list strong,
.service-check-list span {
    display: block;
}

.service-check-list strong {
    color: #112442;
    font-size: 1.1rem;
    line-height: 1.15;
}

.service-check-list span {
    margin-top: 0.4rem;
    color: #5f6f86;
}

.service-delivery-section {
    position: relative;
    overflow: hidden;
}

.service-delivery-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(560px, 1.12fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
}

.service-delivery-grid p {
    color: #d5e8f4;
    font-size: 1.08rem;
    line-height: 1.75;
}

.service-delivery-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.service-delivery-steps div {
    min-height: 190px;
    padding: 1.45rem;
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(255,255,255,0.98), rgba(246,251,254,0.94));
    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: 0 24px 50px rgba(0,0,0,0.16);
}

.service-delivery-steps b {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #15e8f1;
    color: #112442;
    font-weight: 950;
    margin-bottom: 1rem;
}

.service-delivery-steps strong {
    display: block;
    color: #112442;
    font-size: 1.15rem;
    line-height: 1.15;
}

.service-delivery-steps span {
    display: block;
    margin-top: 0.55rem;
    color: #5f6f86;
    line-height: 1.55;
}

.service-fit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
}

.service-fit-grid a {
    min-height: 230px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.7rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at bottom right, rgba(21, 232, 241, 0.18), transparent 34%),
        linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 46px rgba(17, 36, 66, 0.08);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.service-fit-grid a:hover,
.service-fit-grid a:focus {
    transform: translateY(-4px);
    border-color: rgba(21, 119, 148, 0.35);
    box-shadow: 0 28px 70px rgba(17, 36, 66, 0.14);
    outline: none;
}

.service-fit-grid span {
    color: #157794;
    font-size: 0.82rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.service-fit-grid strong {
    display: block;
    margin-top: 0.8rem;
    color: #112442;
    font-size: 1.25rem;
    line-height: 1.2;
}

.service-final-cta-section {
    padding-top: 2rem;
}

/* Responsive Service Page */
@media (max-width: 1180px) {
    .service-hero-grid,
    .service-overview-grid,
    .service-architecture-grid,
    .service-delivery-grid {
        grid-template-columns: 1fr;
    }

    .service-hero-panel,
    .service-overview-card,
    .service-architecture-visual {
        max-width: 760px;
    }

    .service-proof-grid,
    .service-capability-grid,
    .service-fit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .service-delivery-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .service-hero-premium h1 {
        font-size: clamp(2.45rem, 10vw, 3.8rem);
    }

    .service-proof-grid,
    .service-capability-grid,
    .service-delivery-steps,
    .service-fit-grid {
        grid-template-columns: 1fr;
    }

    .service-architecture-visual {
        min-height: auto;
        padding: 1rem;
        display: grid;
        gap: 0.75rem;
    }

    .service-architecture-visual::before,
    .service-architecture-visual::after {
        display: none;
    }

    .service-architecture-core,
    .service-architecture-item,
    .service-architecture-item.item-1,
    .service-architecture-item.item-2,
    .service-architecture-item.item-3,
    .service-architecture-item.item-4 {
        position: static;
        width: auto;
        height: auto;
        min-height: auto;
        transform: none;
    }

    .service-architecture-core {
        border-radius: 24px;
        padding: 1.4rem;
    }
}

/* =========================================================
   Premium Service Page Upgrade
   Public Sector and NHS
   Requires the shared Premium Service Page CSS to already exist
   ========================================================= */

.public-sector-hero-premium .service-hero-panel div {
    min-height: 96px;
}

.public-sector-overview-section .service-overview-card {
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.08), transparent 34%),
        linear-gradient(180deg, #ffffff, #f7fbfe);
}

.public-sector-architecture-visual {
    background:
        radial-gradient(circle at center, rgba(21, 232, 241, 0.24), transparent 34%),
        linear-gradient(135deg, #071832, #112442 52%, #0b5872);
}

.public-sector-assurance-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
}

.public-sector-assurance-grid h2 {
    font-size: clamp(2.25rem, 3.55vw, 4.15rem);
    line-height: 1.04;
    letter-spacing: -0.06em;
}

.public-sector-assurance-copy {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: 32px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 22px 60px rgba(17, 36, 66, 0.08);
}

.public-sector-assurance-copy p {
    margin-top: 0;
    color: #34445c;
    font-size: 1.05rem;
    line-height: 1.78;
}

.public-sector-assurance-copy p:last-child {
    margin-bottom: 0;
}

.public-sector-fit-section .service-fit-grid a {
    min-height: 250px;
}

@media (max-width: 1180px) {
    .public-sector-assurance-grid {
        grid-template-columns: 1fr;
    }

    .public-sector-assurance-copy {
        max-width: 760px;
    }
}

/* =========================================================
   Premium Service Page Upgrade
   Care Providers
   Requires the shared Premium Service Page CSS to already exist
   ========================================================= */

.care-provider-hero-premium .service-hero-panel div {
    min-height: 96px;
}

.care-provider-architecture-visual {
    background:
        radial-gradient(circle at center, rgba(21, 232, 241, 0.24), transparent 34%),
        linear-gradient(135deg, #071832, #112442 52%, #0b5872);
}

.care-provider-assurance-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
}

.care-provider-assurance-grid h2 {
    font-size: clamp(2.25rem, 3.55vw, 4.15rem);
    line-height: 1.04;
    letter-spacing: -0.06em;
}

.care-provider-assurance-copy {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: 32px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 22px 60px rgba(17, 36, 66, 0.08);
}

.care-provider-assurance-copy p {
    margin-top: 0;
    color: #34445c;
    font-size: 1.05rem;
    line-height: 1.78;
}

.care-provider-assurance-copy p:last-child {
    margin-bottom: 0;
}

.care-provider-fit-section .service-fit-grid a {
    min-height: 250px;
}

@media (max-width: 1180px) {
    .care-provider-assurance-grid {
        grid-template-columns: 1fr;
    }

    .care-provider-assurance-copy {
        max-width: 760px;
    }
}

/* =========================================================
   Premium Service Page Upgrade
   SMEs and Enterprise
   Requires the shared Premium Service Page CSS to already exist
   ========================================================= */

.sme-enterprise-hero-premium .service-hero-panel div {
    min-height: 96px;
}

.sme-enterprise-architecture-visual {
    background:
        radial-gradient(circle at center, rgba(21, 232, 241, 0.24), transparent 34%),
        linear-gradient(135deg, #071832, #112442 52%, #0b5872);
}

.sme-enterprise-assurance-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
}

.sme-enterprise-assurance-grid h2 {
    font-size: clamp(2.25rem, 3.55vw, 4.15rem);
    line-height: 1.04;
    letter-spacing: -0.06em;
}

.sme-enterprise-assurance-copy {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: 32px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 22px 60px rgba(17, 36, 66, 0.08);
}

.sme-enterprise-assurance-copy p {
    margin-top: 0;
    color: #34445c;
    font-size: 1.05rem;
    line-height: 1.78;
}

.sme-enterprise-assurance-copy p:last-child {
    margin-bottom: 0;
}

.sme-enterprise-fit-section .service-fit-grid a {
    min-height: 250px;
}

@media (max-width: 1180px) {
    .sme-enterprise-assurance-grid {
        grid-template-columns: 1fr;
    }

    .sme-enterprise-assurance-copy {
        max-width: 760px;
    }
}

/* =========================================================
   Premium Infrastructure Pillars Page Upgrade
   ========================================================= */

.pillars-hero-premium {
    padding: 0;
}

.pillars-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.7fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
    padding-top: clamp(4.2rem, 6vw, 6rem);
    padding-bottom: clamp(4.2rem, 6vw, 6rem);
}

.pillars-hero-premium h1 {
    max-width: 920px;
    font-size: clamp(2.9rem, 4.7vw, 5rem);
    line-height: 1;
    letter-spacing: -0.065em;
}

.pillars-hero-premium p {
    max-width: 760px;
    font-size: clamp(1.05rem, 1.45vw, 1.25rem);
    line-height: 1.68;
}

.pillars-hero-panel {
    display: grid;
    gap: 0.85rem;
    padding: 1.35rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.22), transparent 34%),
        rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.pillars-hero-panel > span {
    color: #15e8f1;
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.pillars-hero-panel div {
    padding: 1rem 1.15rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    color: #112442;
}

.pillars-hero-panel strong,
.pillars-hero-panel small {
    display: block;
}

.pillars-hero-panel strong {
    font-size: 1.08rem;
    line-height: 1.15;
}

.pillars-hero-panel small {
    margin-top: 0.35rem;
    color: #5f6f86;
    font-weight: 650;
    line-height: 1.45;
}

.pillars-proof-band {
    background: #ffffff;
    border-top: 1px solid rgba(17, 36, 66, 0.08);
    border-bottom: 1px solid rgba(17, 36, 66, 0.08);
    box-shadow: 0 20px 70px rgba(17, 36, 66, 0.07);
}

.pillars-proof-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 1.65rem 0;
}

.pillars-proof-grid span {
    display: grid;
    place-items: center;
    min-height: 58px;
    padding: 0.8rem;
    border-radius: 18px;
    border: 1px solid #dbe5ef;
    background: linear-gradient(180deg, #ffffff, #f6fbfe);
    color: #112442;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 950;
}

.pillars-intro-grid,
.pillars-authority-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
}

.pillars-intro-grid h2,
.pillars-map-section h2,
.pillars-list-section h2,
.pillars-authority-grid h2,
.pillars-final-cta-section h2 {
    font-size: clamp(2.25rem, 3.55vw, 4.15rem);
    line-height: 1.04;
    letter-spacing: -0.06em;
}

.pillars-intro-copy {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: 32px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 22px 60px rgba(17, 36, 66, 0.08);
}

.pillars-intro-copy p {
    margin-top: 0;
    color: #34445c;
    font-size: 1.05rem;
    line-height: 1.78;
}

.pillars-intro-copy p:last-child {
    margin-bottom: 0;
}

.pillars-map-grid {
    display: grid;
    grid-template-columns: minmax(500px, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
}

.pillars-map-visual {
    position: relative;
    width: 100%;
    max-width: 560px;
    min-height: 500px;
    margin: 0 auto;
    border-radius: 38px;
    background:
        radial-gradient(circle at center, rgba(21, 232, 241, 0.22), transparent 34%),
        linear-gradient(135deg, #071832, #112442 58%, #06465f);
    box-shadow: 0 34px 90px rgba(17, 36, 66, 0.22);
    overflow: hidden;
}

.pillars-map-visual::before {
    content: "";
    position: absolute;
    inset: 36px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 30px;
}

.pillars-map-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 62px 62px;
    mask-image: radial-gradient(circle at center, black, transparent 74%);
}

.pillars-map-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 190px;
    height: 190px;
    transform: translate(-50%, -50%);
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.35rem;
    border-radius: 999px;
    text-align: center;
    font-size: 1.18rem;
    font-weight: 900;
    line-height: 1.12;
    color: #112442;
    background: #ffffff;
    box-shadow: 0 22px 55px rgba(17, 36, 66, 0.22);
}

.pillars-map-item {
    position: absolute;
    z-index: 4;
    width: 182px;
    min-height: 92px;
    padding: 1rem 1.1rem;
    border-radius: 22px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(12px);
    color: #ffffff;
}

.pillars-map-item strong,
.pillars-map-item span {
    display: block;
}

.pillars-map-item strong {
    font-size: 1rem;
    line-height: 1.15;
}

.pillars-map-item span {
    margin-top: 0.35rem;
    color: #d9efff;
    font-size: 0.82rem;
    line-height: 1.28;
}

.pillars-map-item.item-1 {
    left: 38px;
    top: 58px;
}

.pillars-map-item.item-2 {
    right: 38px;
    top: 58px;
}

.pillars-map-item.item-3 {
    left: 38px;
    bottom: 58px;
}

.pillars-map-item.item-4 {
    right: 38px;
    bottom: 58px;
}

.pillars-check-list {
    display: grid;
    gap: 1rem;
    margin-top: 2rem;
}

.pillars-check-list div {
    padding: 1.15rem 1.25rem;
    border: 1px solid #dbe5ef;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(17,36,66,.07);
}

.pillars-check-list strong,
.pillars-check-list span {
    display: block;
}

.pillars-check-list strong {
    color: #112442;
    font-size: 1.1rem;
    line-height: 1.15;
}

.pillars-check-list span {
    margin-top: 0.4rem;
    color: #5f6f86;
}

.pillars-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem;
}

.pillars-card-grid article {
    min-height: 245px;
    padding: 1.55rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at bottom right, rgba(21, 232, 241, 0.13), transparent 35%),
        linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 46px rgba(17, 36, 66, 0.08);
}

.pillars-card-grid b {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 1.1rem;
    border-radius: 999px;
    background: #15e8f1;
    color: #112442;
    font-weight: 950;
}

.pillars-card-grid h3 {
    font-size: clamp(1.15rem, 1.6vw, 1.55rem);
    line-height: 1.16;
}

.pillars-card-grid p {
    color: #5f6f86;
    line-height: 1.65;
}

.pillars-authority-section {
    position: relative;
    overflow: hidden;
}

.pillars-authority-section::before {
    content: "";
    position: absolute;
    right: -140px;
    bottom: -180px;
    width: 520px;
    height: 520px;
    background: url('/assets/img/brand-mark.png') center / contain no-repeat;
    opacity: 0.08;
}

.pillars-authority-grid {
    position: relative;
    z-index: 2;
    align-items: center;
}

.pillars-authority-grid p {
    color: #d5e8f4;
    font-size: 1.08rem;
    line-height: 1.75;
}

.pillars-authority-panel {
    padding: clamp(2rem, 4vw, 3rem);
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.18);
}

.pillars-authority-panel p {
    margin-top: 0;
    color: #ffffff;
    font-size: clamp(1.35rem, 2.15vw, 2.1rem);
    line-height: 1.14;
    letter-spacing: -0.04em;
    font-weight: 900;
}

.pillars-final-cta-section {
    padding-top: 2rem;
}

/* Responsive Infrastructure Pillars Page */
@media (max-width: 1180px) {
    .pillars-hero-grid,
    .pillars-intro-grid,
    .pillars-map-grid,
    .pillars-authority-grid {
        grid-template-columns: 1fr;
    }

    .pillars-hero-panel,
    .pillars-intro-copy,
    .pillars-map-visual,
    .pillars-authority-panel {
        max-width: 760px;
    }

    .pillars-proof-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .pillars-hero-premium h1 {
        font-size: clamp(2.45rem, 10vw, 3.8rem);
    }

    .pillars-proof-grid,
    .pillars-card-grid {
        grid-template-columns: 1fr;
    }

    .pillars-map-visual {
        min-height: auto;
        padding: 1rem;
        display: grid;
        gap: 0.75rem;
    }

    .pillars-map-visual::before,
    .pillars-map-visual::after {
        display: none;
    }

    .pillars-map-core,
    .pillars-map-item,
    .pillars-map-item.item-1,
    .pillars-map-item.item-2,
    .pillars-map-item.item-3,
    .pillars-map-item.item-4 {
        position: static;
        width: auto;
        height: auto;
        min-height: auto;
        transform: none;
    }

    .pillars-map-core {
        border-radius: 24px;
        padding: 1.4rem;
    }
}

/* =========================================================
   Premium Compliance and Assurance Page Upgrade
   ========================================================= */

.compliance-hero-premium {
    padding: 0;
}

.compliance-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.7fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
    padding-top: clamp(4.2rem, 6vw, 6rem);
    padding-bottom: clamp(4.2rem, 6vw, 6rem);
}

.compliance-hero-premium h1 {
    max-width: 920px;
    font-size: clamp(2.9rem, 4.7vw, 5rem);
    line-height: 1;
    letter-spacing: -0.065em;
}

.compliance-hero-premium p {
    max-width: 760px;
    font-size: clamp(1.05rem, 1.45vw, 1.25rem);
    line-height: 1.68;
}

.compliance-hero-panel {
    display: grid;
    gap: 0.85rem;
    padding: 1.35rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.22), transparent 34%),
        rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.compliance-hero-panel > span {
    color: #15e8f1;
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.compliance-hero-panel div {
    padding: 1rem 1.15rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    color: #112442;
}

.compliance-hero-panel strong,
.compliance-hero-panel small {
    display: block;
}

.compliance-hero-panel strong {
    font-size: 1.08rem;
    line-height: 1.15;
}

.compliance-hero-panel small {
    margin-top: 0.35rem;
    color: #5f6f86;
    font-weight: 650;
    line-height: 1.45;
}

.compliance-proof-band {
    background: #ffffff;
    border-top: 1px solid rgba(17, 36, 66, 0.08);
    border-bottom: 1px solid rgba(17, 36, 66, 0.08);
    box-shadow: 0 20px 70px rgba(17, 36, 66, 0.07);
}

.compliance-proof-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 1.65rem 0;
}

.compliance-proof-grid span {
    display: grid;
    place-items: center;
    min-height: 58px;
    padding: 0.8rem;
    border-radius: 18px;
    border: 1px solid #dbe5ef;
    background: linear-gradient(180deg, #ffffff, #f6fbfe);
    color: #112442;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 950;
}

.compliance-intro-grid,
.compliance-authority-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
}

.compliance-intro-grid h2,
.compliance-framework-section h2,
.compliance-model-section h2,
.compliance-authority-grid h2,
.compliance-readiness-section h2,
.compliance-final-cta-section h2 {
    font-size: clamp(2.25rem, 3.55vw, 4.15rem);
    line-height: 1.04;
    letter-spacing: -0.06em;
}

.compliance-intro-copy {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: 32px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 22px 60px rgba(17, 36, 66, 0.08);
}

.compliance-intro-copy p {
    margin-top: 0;
    color: #34445c;
    font-size: 1.05rem;
    line-height: 1.78;
}

.compliance-intro-copy p:last-child {
    margin-bottom: 0;
}

.compliance-framework-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1rem;
}

.compliance-framework-grid article {
    min-height: 250px;
    padding: 1.55rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at bottom right, rgba(21, 232, 241, 0.13), transparent 35%),
        linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 46px rgba(17, 36, 66, 0.08);
}

.compliance-framework-grid b,
.compliance-readiness-grid b {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;

    margin-bottom: 1.1rem;
    border-radius: 999px;
    background: #15e8f1;
    color: #112442;
    font-weight: 950;
}

.compliance-framework-grid h3 {
    font-size: clamp(1.15rem, 1.55vw, 1.45rem);
    line-height: 1.16;
}

.compliance-framework-grid p {
    color: #5f6f86;
    line-height: 1.65;
}

.compliance-model-grid {
    display: grid;
    grid-template-columns: minmax(500px, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
}

.compliance-model-visual {
    position: relative;
    width: 100%;
    max-width: 560px;
    min-height: 500px;
    margin: 0 auto;
    border-radius: 38px;
    background:
        radial-gradient(circle at center, rgba(21, 232, 241, 0.22), transparent 34%),
        linear-gradient(135deg, #071832, #112442 58%, #06465f);
    box-shadow: 0 34px 90px rgba(17, 36, 66, 0.22);
    overflow: hidden;
}

.compliance-model-visual::before {
    content: "";
    position: absolute;
    inset: 36px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 30px;
}

.compliance-model-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 62px 62px;
    mask-image: radial-gradient(circle at center, black, transparent 74%);
}

.compliance-model-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 190px;
    height: 190px;
    transform: translate(-50%, -50%);
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.35rem;
    border-radius: 999px;
    text-align: center;
    font-size: 1.12rem;
    font-weight: 900;
    line-height: 1.12;
    color: #112442;
    background: #ffffff;
    box-shadow: 0 22px 55px rgba(17, 36, 66, 0.22);
}

.compliance-model-item {
    position: absolute;
    z-index: 4;
    width: 182px;
    min-height: 92px;
    padding: 1rem 1.1rem;
    border-radius: 22px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(12px);
    color: #ffffff;
}

.compliance-model-item strong,
.compliance-model-item span {
    display: block;
}

.compliance-model-item strong {
    font-size: 1rem;
    line-height: 1.15;
}

.compliance-model-item span {
    margin-top: 0.35rem;
    color: #d9efff;
    font-size: 0.82rem;
    line-height: 1.28;
}

.compliance-model-item.item-1 {
    left: 38px;
    top: 58px;
}

.compliance-model-item.item-2 {
    right: 38px;
    top: 58px;
}

.compliance-model-item.item-3 {
    left: 38px;
    bottom: 58px;
}

.compliance-model-item.item-4 {
    right: 38px;
    bottom: 58px;
}

.compliance-check-list {
    display: grid;
    gap: 1rem;
    margin-top: 2rem;
}

.compliance-check-list div {
    padding: 1.15rem 1.25rem;
    border: 1px solid #dbe5ef;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(17,36,66,.07);
}

.compliance-check-list strong,
.compliance-check-list span {
    display: block;
}

.compliance-check-list strong {
    color: #112442;
    font-size: 1.1rem;
    line-height: 1.15;
}

.compliance-check-list span {
    margin-top: 0.4rem;
    color: #5f6f86;
}

.compliance-authority-section {
    position: relative;
    overflow: hidden;
}

.compliance-authority-section::before {
    content: "";
    position: absolute;
    right: -140px;
    bottom: -180px;
    width: 520px;
    height: 520px;
    background: url('/assets/img/brand-mark.png') center / contain no-repeat;
    opacity: 0.08;
}

.compliance-authority-grid {
    position: relative;
    z-index: 2;
    align-items: center;
}

.compliance-authority-grid p {
    color: #d5e8f4;
    font-size: 1.08rem;
    line-height: 1.75;
}

.compliance-authority-panel {
    padding: clamp(2rem, 4vw, 3rem);
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.18);
}

.compliance-authority-panel p {
    margin-top: 0;
    color: #ffffff;
    font-size: clamp(1.35rem, 2.15vw, 2.1rem);
    line-height: 1.14;
    letter-spacing: -0.04em;
    font-weight: 900;
}

.compliance-readiness-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.1rem;
}

.compliance-readiness-grid div {
    min-height: 230px;
    padding: 1.55rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at bottom right, rgba(21, 232, 241, 0.13), transparent 35%),
        linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 46px rgba(17, 36, 66, 0.08);
}

.compliance-readiness-grid strong,
.compliance-readiness-grid span {
    display: block;
}

.compliance-readiness-grid strong {
    color: #112442;
    font-size: 1.15rem;
    line-height: 1.18;
}

.compliance-readiness-grid span {
    margin-top: 0.65rem;
    color: #5f6f86;
    line-height: 1.55;
}

.compliance-final-cta-section {
    padding-top: 2rem;
}

/* Responsive Compliance Page */
@media (max-width: 1180px) {
    .compliance-hero-grid,
    .compliance-intro-grid,
    .compliance-model-grid,
    .compliance-authority-grid {
        grid-template-columns: 1fr;
    }

    .compliance-hero-panel,
    .compliance-intro-copy,
    .compliance-model-visual,
    .compliance-authority-panel {
        max-width: 760px;
    }

    .compliance-proof-grid,
    .compliance-framework-grid,
    .compliance-readiness-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .compliance-hero-premium h1 {
        font-size: clamp(2.45rem, 10vw, 3.8rem);
    }

    .compliance-proof-grid,
    .compliance-framework-grid,
    .compliance-readiness-grid {
        grid-template-columns: 1fr;
    }

    .compliance-model-visual {
        min-height: auto;
        padding: 1rem;
        display: grid;
        gap: 0.75rem;
    }

    .compliance-model-visual::before,
    .compliance-model-visual::after {
        display: none;
    }

    .compliance-model-core,
    .compliance-model-item,
    .compliance-model-item.item-1,
    .compliance-model-item.item-2,
    .compliance-model-item.item-3,
    .compliance-model-item.item-4 {
        position: static;
        width: auto;
        height: auto;
        min-height: auto;
        transform: none;
    }

    .compliance-model-core {
        border-radius: 24px;
        padding: 1.4rem;
    }
}

/* =========================================================
   Premium Why Arklen Page Upgrade
   ========================================================= */

.why-hero-premium {
    padding: 0;
}

.why-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.7fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
    padding-top: clamp(4.2rem, 6vw, 6rem);
    padding-bottom: clamp(4.2rem, 6vw, 6rem);
}

.why-hero-premium h1 {
    max-width: 920px;
    font-size: clamp(2.9rem, 4.7vw, 5rem);
    line-height: 1;
    letter-spacing: -0.065em;
}

.why-hero-premium p {
    max-width: 760px;
    font-size: clamp(1.05rem, 1.45vw, 1.25rem);
    line-height: 1.68;
}

.why-hero-panel {
    display: grid;
    gap: 0.85rem;
    padding: 1.35rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.22), transparent 34%),
        rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.why-hero-panel > span {
    color: #15e8f1;
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.why-hero-panel div {
    padding: 1rem 1.15rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    color: #112442;
}

.why-hero-panel strong,
.why-hero-panel small {
    display: block;
}

.why-hero-panel strong {
    font-size: 1.08rem;
    line-height: 1.15;
}

.why-hero-panel small {
    margin-top: 0.35rem;
    color: #5f6f86;
    font-weight: 650;
    line-height: 1.45;
}

.why-proof-band {
    background: #ffffff;
    border-top: 1px solid rgba(17, 36, 66, 0.08);
    border-bottom: 1px solid rgba(17, 36, 66, 0.08);
    box-shadow: 0 20px 70px rgba(17, 36, 66, 0.07);
}

.why-proof-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 1.65rem 0;
}

.why-proof-grid span {
    display: grid;
    place-items: center;
    min-height: 58px;
    padding: 0.8rem;
    border-radius: 18px;
    border: 1px solid #dbe5ef;
    background: linear-gradient(180deg, #ffffff, #f6fbfe);
    color: #112442;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 950;
}

.why-intro-grid,
.why-authority-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
}

.why-intro-grid h2,
.why-problem-card h2,
.why-difference-section h2,
.why-authority-grid h2,
.why-choice-section h2,
.why-sector-section h2,
.why-final-cta-section h2 {
    font-size: clamp(2.25rem, 3.55vw, 4.15rem);
    line-height: 1.04;
    letter-spacing: -0.06em;
}

.why-intro-copy {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: 32px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 22px 60px rgba(17, 36, 66, 0.08);
}

.why-intro-copy p {
    margin-top: 0;
    color: #34445c;
    font-size: 1.05rem;
    line-height: 1.78;
}

.why-intro-copy p:last-child {
    margin-bottom: 0;
}

.why-problem-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(560px, 1.18fr);
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: center;
}

.why-problem-card {
    padding: clamp(2rem, 4vw, 3.4rem);
    border-radius: 36px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.16), transparent 30%),
        linear-gradient(135deg, #071832, #112442);
    color: #ffffff;
    box-shadow: 0 28px 80px rgba(17, 36, 66, 0.18);
}

.why-problem-card h2 {
    color: #ffffff;
}

.why-problem-card p {
    color: #d5e8f4;
    font-size: 1.08rem;
    line-height: 1.75;
}

.why-risk-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.why-risk-grid div,
.why-choice-grid div {
    padding: 1.45rem;
    border-radius: 26px;
    background:
        radial-gradient(circle at bottom right, rgba(21, 232, 241, 0.12), transparent 35%),
        linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 46px rgba(17, 36, 66, 0.08);
}

.why-risk-grid b,
.why-choice-grid b {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 1.1rem;
    border-radius: 999px;
    background: #15e8f1;
    color: #112442;
    font-weight: 950;
}

.why-risk-grid strong,
.why-risk-grid span,
.why-choice-grid strong,
.why-choice-grid span {
    display: block;
}

.why-risk-grid strong,
.why-choice-grid strong {
    color: #112442;
    font-size: 1.12rem;
    line-height: 1.18;
}

.why-risk-grid span,
.why-choice-grid span {
    margin-top: 0.65rem;
    color: #5f6f86;
    line-height: 1.55;
}

.why-difference-grid {
    display: grid;
    grid-template-columns: minmax(500px, 0.95fr) minmax(0, 1.05fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
}

.why-difference-visual {
    position: relative;
    width: 100%;
    max-width: 560px;
    min-height: 500px;
    margin: 0 auto;
    border-radius: 38px;
    background:
        radial-gradient(circle at center, rgba(21, 232, 241, 0.22), transparent 34%),
        linear-gradient(135deg, #071832, #112442 58%, #06465f);
    box-shadow: 0 34px 90px rgba(17, 36, 66, 0.22);
    overflow: hidden;
}

.why-difference-visual::before {
    content: "";
    position: absolute;
    inset: 36px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 30px;
}

.why-difference-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
        linear-gradient(0deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 62px 62px;
    mask-image: radial-gradient(circle at center, black, transparent 74%);
}

.why-difference-core {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 190px;
    height: 190px;
    transform: translate(-50%, -50%);
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.35rem;
    border-radius: 999px;
    text-align: center;
    font-size: 1.18rem;
    font-weight: 900;
    line-height: 1.12;
    color: #112442;
    background: #ffffff;
    box-shadow: 0 22px 55px rgba(17, 36, 66, 0.22);
}

.why-difference-item {
    position: absolute;
    z-index: 4;
    width: 182px;
    min-height: 92px;
    padding: 1rem 1.1rem;
    border-radius: 22px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.14);
    backdrop-filter: blur(12px);
    color: #ffffff;
}

.why-difference-item strong,
.why-difference-item span {
    display: block;
}

.why-difference-item strong {
    font-size: 1rem;
    line-height: 1.15;
}

.why-difference-item span {
    margin-top: 0.35rem;
    color: #d9efff;
    font-size: 0.82rem;
    line-height: 1.28;
}

.why-difference-item.item-1 {
    left: 38px;
    top: 58px;
}

.why-difference-item.item-2 {
    right: 38px;
    top: 58px;
}

.why-difference-item.item-3 {
    left: 38px;
    bottom: 58px;
}

.why-difference-item.item-4 {
    right: 38px;
    bottom: 58px;
}

.why-check-list {
    display: grid;
    gap: 1rem;
    margin-top: 2rem;
}

.why-check-list div {
    padding: 1.15rem 1.25rem;
    border: 1px solid #dbe5ef;
    border-radius: 22px;
    background: #ffffff;
    box-shadow: 0 14px 34px rgba(17,36,66,.07);
}

.why-check-list strong,
.why-check-list span {
    display: block;
}

.why-check-list strong {
    color: #112442;
    font-size: 1.1rem;
    line-height: 1.15;
}

.why-check-list span {
    margin-top: 0.4rem;
    color: #5f6f86;
}

.why-authority-section {
    position: relative;
    overflow: hidden;
}

.why-authority-section::before {
    content: "";
    position: absolute;
    right: -140px;
    bottom: -180px;
    width: 520px;
    height: 520px;
    background: url('/assets/img/brand-mark.png') center / contain no-repeat;
    opacity: 0.08;
}

.why-authority-grid {
    position: relative;
    z-index: 2;
    align-items: center;
}

.why-authority-grid p {
    color: #d5e8f4;
    font-size: 1.08rem;
    line-height: 1.75;
}

.why-authority-panel {
    padding: clamp(2rem, 4vw, 3rem);
    border-radius: 32px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.18);
}

.why-authority-panel p {
    margin-top: 0;
    color: #ffffff;
    font-size: clamp(1.35rem, 2.15vw, 2.1rem);
    line-height: 1.14;
    letter-spacing: -0.04em;
    font-weight: 900;
}

.why-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.1rem;
}

.why-sector-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
}

.why-sector-grid a {
    min-height: 240px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 1.7rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at bottom right, rgba(21, 232, 241, 0.18), transparent 34%),
        linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 46px rgba(17, 36, 66, 0.08);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.why-sector-grid a:hover,
.why-sector-grid a:focus {
    transform: translateY(-4px);
    border-color: rgba(21, 119, 148, 0.35);
    box-shadow: 0 28px 70px rgba(17, 36, 66, 0.14);
    outline: none;
}

.why-sector-grid span {
    color: #157794;
    font-size: 0.82rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.why-sector-grid strong {
    display: block;
    margin-top: 0.8rem;
    color: #112442;
    font-size: 1.25rem;
    line-height: 1.2;
}

.why-final-cta-section {
    padding-top: 2rem;
}

/* Responsive Why Arklen Page */
@media (max-width: 1180px) {
    .why-hero-grid,
    .why-intro-grid,
    .why-problem-grid,
    .why-difference-grid,
    .why-authority-grid {
        grid-template-columns: 1fr;
    }

    .why-hero-panel,
    .why-intro-copy,
    .why-problem-card,
    .why-difference-visual,
    .why-authority-panel {
        max-width: 760px;
    }

    .why-proof-grid,
    .why-choice-grid,
    .why-sector-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .why-hero-premium h1 {
        font-size: clamp(2.45rem, 10vw, 3.8rem);
    }

    .why-proof-grid,
    .why-risk-grid,
    .why-choice-grid,
    .why-sector-grid {
        grid-template-columns: 1fr;
    }

    .why-difference-visual {
        min-height: auto;
        padding: 1rem;
        display: grid;
        gap: 0.75rem;
    }

    .why-difference-visual::before,
    .why-difference-visual::after {
        display: none;
    }

    .why-difference-core,
    .why-difference-item,
    .why-difference-item.item-1,
    .why-difference-item.item-2,
    .why-difference-item.item-3,
    .why-difference-item.item-4 {
        position: static;
        width: auto;
        height: auto;
        min-height: auto;
        transform: none;
    }

    .why-difference-core {
        border-radius: 24px;
        padding: 1.4rem;
    }
}

/* =========================================================
   Full Premium Privacy Policy Page
   ========================================================= */

.privacy-hero-premium {
    padding: 0;
}

.privacy-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.7fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
    padding-top: clamp(4.2rem, 6vw, 6rem);
    padding-bottom: clamp(4.2rem, 6vw, 6rem);
}

.privacy-hero-premium h1 {
    max-width: 920px;
    font-size: clamp(2.9rem, 4.7vw, 5rem);
    line-height: 1;
    letter-spacing: -0.065em;
}

.privacy-hero-premium p {
    max-width: 760px;
    font-size: clamp(1.05rem, 1.45vw, 1.25rem);
    line-height: 1.68;
}

.privacy-hero-panel {
    display: grid;
    gap: 0.85rem;
    padding: 1.35rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.22), transparent 34%),
        rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.privacy-hero-panel > span {
    color: #15e8f1;
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.privacy-hero-panel div {
    padding: 1rem 1.15rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    color: #112442;
}

.privacy-hero-panel strong,
.privacy-hero-panel small {
    display: block;
}

.privacy-hero-panel strong {
    font-size: 1.08rem;
    line-height: 1.15;
}

.privacy-hero-panel small {
    margin-top: 0.35rem;
    color: #5f6f86;
    font-weight: 650;
    line-height: 1.45;
}

.privacy-proof-band {
    background: #ffffff;
    border-top: 1px solid rgba(17, 36, 66, 0.08);
    border-bottom: 1px solid rgba(17, 36, 66, 0.08);
    box-shadow: 0 20px 70px rgba(17, 36, 66, 0.07);
}

.privacy-proof-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 1.65rem 0;
}

.privacy-proof-grid span {
    display: grid;
    place-items: center;
    min-height: 58px;
    padding: 0.8rem;
    border-radius: 18px;
    border: 1px solid #dbe5ef;
    background: linear-gradient(180deg, #ffffff, #f6fbfe);
    color: #112442;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 950;
}

.privacy-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
}

.privacy-intro-grid h2,
.privacy-summary-section h2,
.privacy-policy-card h2,
.privacy-final-cta-section h2 {
    font-size: clamp(2.15rem, 3.35vw, 3.9rem);
    line-height: 1.04;
    letter-spacing: -0.055em;
}

.privacy-intro-copy {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: 32px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 22px 60px rgba(17, 36, 66, 0.08);
}

.privacy-intro-copy p {
    margin-top: 0;
    color: #34445c;
    font-size: 1.05rem;
    line-height: 1.78;
}

.privacy-intro-copy p:last-child {
    margin-bottom: 0;
}

.privacy-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.1rem;
}

.privacy-summary-grid div {
    min-height: 230px;
    padding: 1.55rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at bottom right, rgba(21, 232, 241, 0.13), transparent 35%),
        linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 18px 46px rgba(17, 36, 66, 0.08);
}

.privacy-summary-grid b {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 1.1rem;
    border-radius: 999px;
    background: #15e8f1;
    color: #112442;
    font-weight: 950;
}

.privacy-summary-grid strong,
.privacy-summary-grid span {
    display: block;
}

.privacy-summary-grid strong {
    color: #112442;
    font-size: 1.15rem;
    line-height: 1.18;
}

.privacy-summary-grid span {
    margin-top: 0.65rem;
    color: #5f6f86;
    line-height: 1.55;
}

.privacy-layout-grid {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: clamp(2rem, 4vw, 4rem);
    align-items: start;
}

.privacy-side-panel {
    position: sticky;
    top: 2rem;
}

.privacy-side-card {
    display: grid;
    gap: 0.2rem;
    padding: 1.4rem;
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.16), transparent 30%),
        linear-gradient(135deg, #071832, #112442);
    box-shadow: 0 24px 70px rgba(17, 36, 66, 0.16);
}

.privacy-side-card .eyebrow {
    margin-bottom: 0.8rem;
}

.privacy-side-card a {
    padding: 0.75rem 0.8rem;
    border-radius: 14px;
    color: #d5e8f4;
    font-size: 0.92rem;
    font-weight: 850;
}

.privacy-side-card a:hover,
.privacy-side-card a:focus {
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    outline: none;
}

.privacy-policy-card {
    padding: clamp(2rem, 4vw, 3.4rem);
    border-radius: 36px;
    background: #ffffff;
    border: 1px solid #dbe5ef;
    box-shadow: 0 24px 70px rgba(17, 36, 66, 0.08);
}

.privacy-policy-card section {
    padding-bottom: 2.25rem;
    margin-bottom: 2.25rem;
    border-bottom: 1px solid #dbe5ef;
}

.privacy-policy-card section:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
}

.privacy-policy-card h2 {
    font-size: clamp(1.8rem, 2.55vw, 2.75rem);
    margin-bottom: 1rem;
}

.privacy-policy-card h3 {
    margin-top: 1.6rem;
    font-size: clamp(1.25rem, 1.65vw, 1.55rem);
}

.privacy-policy-card p,
.privacy-policy-card li {
    color: #26364d;
    font-size: clamp(1.02rem, 1.18vw, 1.12rem);
    line-height: 1.82;
}

.privacy-policy-card ul,
.privacy-policy-card ol {
    padding-left: 1.35rem;
}

.privacy-policy-card li {
    margin-bottom: 0.45rem;
}

.privacy-table-wrap {
    width: 100%;
    overflow-x: auto;
    margin: 1.3rem 0;
    border-radius: 22px;
    border: 1px solid #dbe5ef;
}

.privacy-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
    background: #ffffff;
}

.privacy-table th,
.privacy-table td {
    padding: 1rem 1.1rem;
    border-bottom: 1px solid #dbe5ef;
    text-align: left;
    vertical-align: top;
}

.privacy-table th {
    background: #112442;
    color: #ffffff;
    font-weight: 900;
}

.privacy-table tr:last-child td {
    border-bottom: 0;
}

.privacy-rights-highlight {
    margin: 1.4rem 0;
    padding: 1.35rem;
    border-radius: 24px;
    background:
        radial-gradient(circle at bottom right, rgba(21, 232, 241, 0.13), transparent 35%),
        linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
}

.privacy-rights-highlight h3 {
    margin-top: 0;
}

.privacy-final-cta-section {
    padding-top: 2rem;
}

/* Responsive Privacy Page */
@media (max-width: 1180px) {
    .privacy-hero-grid,
    .privacy-intro-grid,
    .privacy-layout-grid {
        grid-template-columns: 1fr;
    }

    .privacy-hero-panel,
    .privacy-intro-copy,
    .privacy-side-card {
        max-width: 760px;
    }

    .privacy-side-panel {
        position: static;
    }

    .privacy-proof-grid,
    .privacy-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .privacy-hero-premium h1 {
        font-size: clamp(2.45rem, 10vw, 3.8rem);
    }

    .privacy-proof-grid,
    .privacy-summary-grid {
        grid-template-columns: 1fr;
    }

    .privacy-policy-card {
        padding: 1.5rem;
        border-radius: 28px;
    }
}

/* =========================================================
   Homepage Hero Console Mobile Fix
   Converts the hero “Secure AI-ready environment” diagram
   into a clean stacked mobile card layout.
   ========================================================= */

@media (max-width: 720px) {
    .hero-authority {
        overflow: hidden;
    }

    .hero-authority-grid {
        gap: 2.5rem !important;
    }

    .authority-console {
        width: 100%;
        max-width: none !important;
        margin: 0 auto !important;
        padding: 1.4rem !important;
        border-radius: 32px !important;
        overflow: visible !important;
    }

    .authority-console .console-topline {
        display: block;
        margin-bottom: 1.25rem;
    }

    .authority-console .console-topline span {
        display: block;
        max-width: 100%;
        color: #15e8f1;
        font-size: 0.9rem;
        line-height: 1.35;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        word-break: normal;
    }

    .authority-console .console-topline small {
        display: block;
        margin-top: 0.7rem;
        color: #d5e8f4;
        font-size: 1rem;
        font-weight: 800;
    }

    .console-diagram {
        min-height: auto !important;
        display: grid !important;
        gap: 0.8rem !important;
        padding: 1rem !important;
        border-radius: 28px !important;
        background:
            radial-gradient(circle at top right, rgba(21, 232, 241, 0.14), transparent 38%),
            rgba(7, 24, 50, 0.48);
        border: 1px solid rgba(255, 255, 255, 0.12);
        overflow: visible !important;
    }

    .console-diagram::before,
    .console-diagram::after {
        display: none !important;
    }

    .console-core,
    .console-node,
    .console-node.node-one,
    .console-node.node-two,
    .console-node.node-three,
    .console-node.node-four {
        position: static !important;
        transform: none !important;
        inset: auto !important;
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: auto !important;
        z-index: auto !important;
    }

    .console-core {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 1.5rem 1.2rem !important;
        border-radius: 24px !important;
        background: #ffffff !important;
        color: #112442 !important;
        box-shadow: 0 18px 42px rgba(0, 0, 0, 0.16) !important;
        text-align: center !important;
        order: 0;
    }

    .console-core span {
        display: block;
        max-width: 260px;
        color: #112442 !important;
        font-size: clamp(1.35rem, 7vw, 2rem) !important;
        line-height: 1.1 !important;
        font-weight: 950 !important;
        letter-spacing: -0.04em;
    }

    .console-node {
        display: block !important;
        padding: 1.2rem 1.25rem !important;
        border-radius: 22px !important;
        background: rgba(255, 255, 255, 0.10) !important;
        border: 1px solid rgba(255, 255, 255, 0.14) !important;
        color: #ffffff !important;
        box-shadow: none !important;
        text-align: left !important;
        font-size: 1.05rem !important;
        line-height: 1.25 !important;
        font-weight: 900 !important;
    }

    .console-stack {
        margin-top: 1.2rem !important;
        display: grid !important;
        gap: 0.85rem !important;
    }

    .console-stack div {
        display: grid !important;
        grid-template-columns: auto 1fr !important;
        column-gap: 1rem !important;
        row-gap: 0.3rem !important;
        align-items: center !important;
        padding: 1.25rem !important;
        border-radius: 24px !important;
    }

    .console-stack div > span {
        grid-row: span 2;
        width: 48px !important;
        height: 48px !important;

        display: grid !important;
        place-items: center !important;
        border-radius: 999px !important;
        background: #15e8f1 !important;
        color: #112442 !important;
        font-size: 1rem !important;
        font-weight: 950 !important;
    }

    .console-stack strong {
        font-size: 1.15rem !important;
        line-height: 1.15 !important;
    }

    .console-stack small {
        grid-column: 2 !important;
        white-space: normal !important;
        font-size: 0.95rem !important;
        line-height: 1.35 !important;
    }
}

/* Extra-small phones */
@media (max-width: 420px) {
    .authority-console {
        padding: 1rem !important;
        border-radius: 28px !important;
    }

    .console-diagram {
        padding: 0.8rem !important;
    }

    .console-core {
        padding: 1.3rem 1rem !important;
    }

    .console-node {
        padding: 1rem !important;
        font-size: 1rem !important;
    }

    .console-stack div {
        padding: 1rem !important;
    }
}

/* =========================================================
   Premium Dynamic Service and Services Catalogue Pages
   ========================================================= */

.dynamic-service-hero-premium,
.services-catalogue-hero-premium {
    padding: 0;
}

.dynamic-service-hero-grid,
.services-catalogue-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.7fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: center;
    padding-top: clamp(4.2rem, 6vw, 6rem);
    padding-bottom: clamp(4.2rem, 6vw, 6rem);
}

.dynamic-service-hero-premium h1,
.services-catalogue-hero-premium h1 {
    max-width: 920px;
    font-size: clamp(2.8rem, 4.5vw, 4.85rem);
    line-height: 1;
    letter-spacing: -0.065em;
}

.dynamic-service-hero-premium p,
.services-catalogue-hero-premium p {
    max-width: 760px;
    font-size: clamp(1.05rem, 1.45vw, 1.25rem);
    line-height: 1.68;
}

.dynamic-service-hero-panel,
.services-catalogue-hero-panel {
    display: grid;
    gap: 0.85rem;
    padding: 1.35rem;
    border-radius: 30px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.22), transparent 34%),
        rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 34px 90px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(16px);
}

.dynamic-service-hero-panel > span,
.services-catalogue-hero-panel > span {
    color: #15e8f1;
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.dynamic-service-hero-panel div,
.services-catalogue-hero-panel div {
    padding: 1rem 1.15rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.94);
    color: #112442;
}

.dynamic-service-hero-panel strong,
.dynamic-service-hero-panel small,
.services-catalogue-hero-panel strong,
.services-catalogue-hero-panel small {
    display: block;
}

.dynamic-service-hero-panel strong,
.services-catalogue-hero-panel strong {
    font-size: 1.08rem;
    line-height: 1.15;
}

.dynamic-service-hero-panel small,
.services-catalogue-hero-panel small {
    margin-top: 0.35rem;
    color: #5f6f86;
    font-weight: 650;
    line-height: 1.45;
}

.dynamic-service-proof-band,
.services-catalogue-proof-band {
    background: #ffffff;
    border-top: 1px solid rgba(17, 36, 66, 0.08);
    border-bottom: 1px solid rgba(17, 36, 66, 0.08);
    box-shadow: 0 20px 70px rgba(17, 36, 66, 0.07);
}

.dynamic-service-proof-grid,
.services-catalogue-proof-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 1.65rem 0;
}

.dynamic-service-proof-grid span,
.services-catalogue-proof-grid span {
    display: grid;
    place-items: center;
    min-height: 58px;
    padding: 0.8rem;
    border-radius: 18px;
    border: 1px solid #dbe5ef;
    background: linear-gradient(180deg, #ffffff, #f6fbfe);
    color: #112442;
    text-align: center;
    font-size: 0.82rem;
    font-weight: 950;
}

.dynamic-service-overview-grid,
.dynamic-service-authority-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr);
    gap: clamp(3rem, 6vw, 6rem);
    align-items: start;
}

.dynamic-service-overview-section h2,
.dynamic-service-model-card h2,
.dynamic-service-authority-section h2,
.dynamic-service-related-section h2,
.dynamic-service-final-cta-section h2,
.services-catalogue-section h2,
.services-catalogue-final-cta-section h2 {
    font-size: clamp(2.25rem, 3.55vw, 4.15rem);
    line-height: 1.04;
    letter-spacing: -0.06em;
}

.dynamic-service-copy-card,
.dynamic-service-authority-copy {
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: 32px;
    background: linear-gradient(180deg, #ffffff, #f7fbfe);
    border: 1px solid #dbe5ef;
    box-shadow: 0 22px 60px rgba(17, 36, 66, 0.08);
}

.dynamic-service-copy-card p,
.dynamic-service-copy-card li,
.dynamic-service-authority-copy p {
    color: #34445c;
    font-size: 1.05rem;
    line-height: 1.78;
}

.dynamic-service-copy-card p:first-child,
.dynamic-service-authority-copy p:first-child {
    margin-top: 0;
}

.dynamic-service-copy-card p:last-child,
.dynamic-service-authority-copy p:last-child {
    margin-bottom: 0;
}

.dynamic-service-model-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(520px, 1.2fr);
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: center;
}

.dynamic-service-model-card {
    padding: clamp(2rem, 4vw, 3.4rem);
    border-radius: 36px;
    background:
        radial-gradient(circle at top right, rgba(21, 232, 241, 0.16), transparent 30%),
        linear-gradient(135deg, #071832, #112442);
    color: #ffffff;
    box-shadow: 0 28px 80px rgba(17, 36, 66, 0.18);
}

.dynamic-service-model-card h2 {
    color: #ffffff;
}

.dynamic-service-model-card p {
    color: #d5e8f4;
    font-size: 1.08rem;
    line-height: 1.75;
}

.dynamic-service-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.dynamic-service-steps div {
    min-height: 190px;
    padding: 1.45rem;
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(255,255,255,0.98), rgba(246,251,254,0.94));
    border: 1px solid rgba(255,255,255,0.18);
    box-shadow: 0 24px 50px rgba(17, 36, 66, 0.10);
}

.dynamic-service-steps b {
    display: inline-flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #15e8f1;
    color: #112442;
    font-weight: 950;
    margin-bottom: 1rem;
}

.dynamic-service-steps strong {
    display: block;
    color: #112442;
    font-size: 1.15rem;
    line-height: 1.15;
}

.dynamic-service-steps span {
    display: block;
    margin-top: 0.55rem;
    color: #5f6f86;
    line-height: 1.55;
}

.dynamic-service-final-cta-section,
.services-catalogue-final-cta-section {
    padding-top: 2rem;
}

@media (max-width: 1180px) {
    .dynamic-service-hero-grid,
    .services-catalogue-hero-grid,
    .dynamic-service-overview-grid,
    .dynamic-service-model-grid,
    .dynamic-service-authority-grid {
        grid-template-columns: 1fr;
    }

    .dynamic-service-hero-panel,
    .services-catalogue-hero-panel,
    .dynamic-service-copy-card,
    .dynamic-service-model-card,
    .dynamic-service-authority-copy {
        max-width: 760px;
    }

    .dynamic-service-proof-grid,
    .services-catalogue-proof-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .dynamic-service-hero-premium h1,
    .services-catalogue-hero-premium h1 {
        font-size: clamp(2.45rem, 10vw, 3.8rem);
    }

    .dynamic-service-proof-grid,
    .services-catalogue-proof-grid,
    .dynamic-service-steps {
        grid-template-columns: 1fr;
    }
}