:root {
  --navy: #262262;
  --navy-deep: #17143f;
  --navy-soft: #373275;
  --orange: #f7941d;
  --orange-deep: #c96b00;
  --ink: #171727;
  --slate: #5e6170;
  --line: #dfdfe8;
  --paper: #eeedf7;
  --warm: #fff7ed;
  --white: #ffffff;
  --shadow: 0 20px 60px rgba(23, 20, 63, .10);
  --section-heading-size: clamp(32px, 3.2vw, 48px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--navy); color: var(--ink); font-family: Inter, Arial, Helvetica, sans-serif; -webkit-font-smoothing: antialiased; }
body.admin-bar .site-header { top: 32px; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, a, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }

.site-shell { width: min(calc(100% - 72px), 1400px); min-width: 320px; margin: 28px auto; overflow: clip; background: var(--white); border: 1px solid rgba(255,255,255,.20); border-radius: 17px; box-shadow: 0 26px 80px rgba(10,8,40,.28); }
.site-header { min-height: 90px; padding: 13px max(24px, calc((100% - 1180px) / 2)); display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; align-items: center; gap: 27px; background: rgba(235,236,247,.97); border-bottom: 2px solid rgba(38,34,98,.28); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(12px); }
.brand { width: 246px; display: inline-block; }
.brand img { width: 100%; height: auto; }
.desktop-nav { display: flex; align-items: center; gap: 21px; }
.desktop-nav a { color: #454654; font-size: 14px; font-weight: 680; }
.desktop-nav a:hover { color: var(--navy); }
.mobile-menu { display: none; position: relative; }

.button { min-height: 52px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--orange); border-radius: 7px; background: var(--orange); color: var(--navy-deep); font-size: 15px; font-weight: 800; box-shadow: 0 8px 24px rgba(247,148,29,.19); transition: transform 160ms ease, background 160ms ease; }
.button:hover { transform: translateY(-2px); background: #ffa42d; }
.button-small { min-height: 44px; padding: 0 18px; white-space: nowrap; font-size: 13px; }
.button-light { border-color: var(--white); background: var(--white); color: var(--navy); box-shadow: none; }
.button-light:hover { border-color: var(--orange); background: var(--orange); }
.button-store {
  border-color: rgba(255,255,255,.22);
  background: linear-gradient(135deg, #3b357f 0%, var(--navy) 46%, var(--navy-deep) 100%);
  color: var(--white);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.20), 0 14px 34px rgba(23,20,63,.30), 0 0 22px rgba(247,148,29,.13);
}
.button-store:hover {
  border-color: var(--orange);
  background: linear-gradient(135deg, #474092 0%, #2f2a72 46%, #151238 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 17px 40px rgba(23,20,63,.38), 0 0 28px rgba(247,148,29,.20);
}
.button-store span { color: var(--orange); }
.text-link, .card-link { display: inline-flex; align-items: center; gap: 11px; color: var(--navy); font-weight: 780; }
.text-link { padding-bottom: 4px; border-bottom: 2px solid rgba(38,34,98,.17); }
.text-link span, .card-link span { color: var(--orange-deep); transition: transform 160ms ease; }
.text-link:hover span, .card-link:hover span { transform: translateX(4px); }

.section-pad { padding: clamp(78px, 8vw, 124px) max(24px, calc((100% - 1180px) / 2)); }
.section-pad-small { padding: clamp(62px, 6.5vw, 94px) max(24px, calc((100% - 1180px) / 2)); }
.eyebrow { margin: 0 0 20px; color: var(--orange-deep); font-size: 12px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 26px; color: var(--navy-deep); font-size: clamp(52px, 6vw, 88px); line-height: .96; letter-spacing: -.06em; font-weight: 760; }
h1 span { display: block; color: var(--orange); }
.hero-statement { font-size: clamp(44px, 4.8vw, 72px); line-height: .99; }
h2 { margin-bottom: 0; color: var(--navy-deep); font-size: var(--section-heading-size); line-height: 1; letter-spacing: -.04em; font-weight: 880; }
h3 { color: var(--navy-deep); letter-spacing: -.025em; }

.hero { min-height: 560px; display: grid; grid-template-columns: 1fr; align-items: center; background: linear-gradient(115deg, var(--white) 0 64%, #f1f2f8 64% 100%); }
.hero-copy { max-width: 920px; padding: 30px 0 4px; }
.hero-intro { max-width: 700px; margin-bottom: 34px; color: var(--slate); font-size: clamp(18px, 1.65vw, 23px); line-height: 1.58; }
.hero-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.hero-visual { width: 100%; max-width: 460px; min-height: 0; aspect-ratio: 1.32 / 1; justify-self: end; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--navy-deep); border-radius: 28px 7px 28px 7px; isolation: isolate; }
.hero-rings { width: 470px; height: 470px; position: absolute; right: -145px; top: -100px; opacity: .4; background: repeating-radial-gradient(circle at 50% 50%, transparent 0 25px, rgba(255,255,255,.20) 26px 27px); }
.hero-glow { width: 310px; height: 310px; position: absolute; left: -80px; bottom: -90px; border-radius: 50%; background: var(--orange); filter: blur(70px); opacity: .26; }
.hero-visual > img { width: min(43%, 185px); position: relative; z-index: 2; filter: drop-shadow(0 20px 26px rgba(0,0,0,.22)); }
.proof-strip { padding: 34px max(24px, calc((100% - 1180px) / 2)); position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #f0eff8; }
.proof-strip::after { content: ""; width: 340px; height: 340px; position: absolute; right: -145px; top: -165px; z-index: -1; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: 0 0 0 58px rgba(255,255,255,.025), 0 0 0 116px rgba(247,148,29,.035); pointer-events: none; }
.proof-strip p { min-height: 104px; margin: 0; padding: 22px 24px; display: grid; grid-template-columns: 38px 1fr; grid-template-rows: auto auto; column-gap: 12px; align-content: center; position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-left: 5px solid var(--orange); border-radius: 12px; background: linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.045)); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 16px 34px rgba(8,6,35,.28), 0 0 28px rgba(115,104,199,.12); }
.proof-strip p::after { content: ""; width: 120px; height: 180%; position: absolute; right: -85px; top: -40%; background: linear-gradient(180deg, rgba(255,255,255,.16), transparent); transform: rotate(18deg); pointer-events: none; }
.proof-strip b { grid-row: 1 / 3; align-self: center; color: var(--orange); font-size: 11px; letter-spacing: .1em; }
.proof-strip strong, .proof-strip span { display: block; }
.proof-strip strong { color: var(--navy); font-size: 17px; }
.proof-strip span { margin-top: 5px; color: var(--slate); font-size: 13px; line-height: 1.45; }

.section-heading { margin-bottom: 55px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 80px; align-items: end; }
.section-heading > p { margin: 0 0 5px; color: var(--slate); font-size: 18px; line-height: 1.65; }
.services { position: relative; background: var(--navy); color: var(--white); }
.services::before { content: ""; width: 520px; height: 520px; position: absolute; right: -220px; top: -230px; border: 1px solid rgba(255,255,255,.10); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.018); pointer-events: none; }
.services .section-heading { position: relative; z-index: 1; }
.services .section-heading h2 { color: var(--white); }
.services .section-heading > p { color: #d5d3e4; }
.service-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 18px; align-items: stretch; }
.service-card { min-width: 0; padding: 33px 25px 30px; display: grid; grid-template-rows: 92px 105px 168px minmax(0, 1fr) auto; background: var(--white); color: var(--ink); border: 1px solid rgba(255,255,255,.65); border-top: 7px solid var(--orange); border-radius: 17px; box-shadow: 0 24px 58px rgba(8,6,35,.28); scroll-margin-top: 112px; transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.service-card:nth-child(2) { background: #f1f0fa; border-top-color: #ffffff; }
.service-card:nth-child(3) { background: #fff5e8; border-top-color: var(--orange); }
.service-card:nth-child(4) { background: #eef1f8; border-top-color: #8f8bc6; }
.service-card:hover { transform: translateY(-7px); border-color: rgba(247,148,29,.8); box-shadow: 0 32px 72px rgba(8,6,35,.38); }
.service-card-head { min-height: 0; height: 100%; margin: 0; padding-bottom: 18px; display: grid; grid-template-columns: 38px 1fr; gap: 8px; align-content: start; border-bottom: 1px solid var(--line); }
.service-card-head span { color: var(--orange-deep); font-size: 12px; font-weight: 850; }
.service-card-head p { margin: 0; color: var(--slate); font-size: 12px; line-height: 1.45; font-weight: 670; }
.service-card h3 { min-height: 0; margin: 0; padding: 30px 0 17px; align-self: start; font-size: clamp(28px, 2.5vw, 36px); line-height: 1.03; }
.service-promise { min-height: 0; margin: 0; color: #505260; font-size: 16px; line-height: 1.6; }
.service-card > ul, .plan-grid ul { margin: 23px 0 27px; padding: 0; list-style: none; }
.service-card > ul li, .plan-grid li { padding: 8px 0 8px 20px; color: var(--slate); font-size: 14px; line-height: 1.45; border-bottom: 1px solid #eeeeF3; position: relative; }
.service-card > ul li::before, .plan-grid li::before { content: ""; width: 7px; height: 7px; position: absolute; left: 0; top: 1.02em; background: var(--orange); border-radius: 50%; }
.service-routes { margin-top: auto; border-top: 3px solid var(--navy); }
.service-routes p { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--line); }
.service-routes span, .service-routes strong { display: block; }
.service-routes span { margin-bottom: 5px; color: var(--orange-deep); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.service-routes strong { color: var(--navy); font-size: 13px; line-height: 1.42; }
.card-link { margin-top: 25px; font-size: 14px; }
.service-resource { margin-top: 22px; padding: 27px 31px; position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 36px; align-items: center; color: var(--white); background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.18); border-left: 6px solid var(--orange); border-radius: 12px; }
.service-resource h3 { margin: 4px 0 8px; color: var(--white); font-size: 24px; }
.service-resource p { max-width: 820px; margin: 0; color: #d9d7e7; font-size: 14px; line-height: 1.58; }
.service-resource .eyebrow { color: var(--orange); font-size: 10px; }
.service-resource .button { white-space: nowrap; }
.services-note { max-width: 800px; margin: 42px auto 0; padding: 19px 26px; position: relative; z-index: 1; color: #d9d7e7; text-align: center; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.17); border-radius: 9px; font-size: 14px; line-height: 1.55; }
.services-note strong { color: var(--orange); }

.network-callout { margin: 0 max(24px, calc((100% - 1180px) / 2)) clamp(78px, 8vw, 124px); padding: clamp(42px, 4.5vw, 62px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 64px; background: linear-gradient(112deg, #fff1df 0 47%, #f1f2f8 47% 100%); border: 1px solid rgba(38,34,98,.19); border-left: 7px solid var(--orange); border-radius: 14px; box-shadow: 0 18px 45px rgba(23,20,63,.08); }
.network-callout, .how-we-work, .process, .partner, .downloads, .boundaries, .contact { position: relative; isolation: isolate; overflow: hidden; }
.network-callout > *, .how-we-work > *, .process > *, .partner > *, .downloads > *, .boundaries > *, .contact > * { position: relative; z-index: 1; }
.network-callout::after { content: ""; width: 330px; height: 260px; position: absolute; right: -35px; top: -28px; z-index: 0; opacity: .75; background-image: radial-gradient(circle, rgba(38,34,98,.16) 1.5px, transparent 1.6px); background-size: 18px 18px; pointer-events: none; }
.network-callout h2 { font-size: var(--section-heading-size); }
.network-callout > div:last-child > p { color: var(--slate); font-size: 17px; line-height: 1.65; }
.network-points { margin: 26px 0 30px; display: flex; flex-wrap: wrap; gap: 9px; }
.network-points span { padding: 8px 12px; color: var(--navy); background: var(--white); border: 1px solid rgba(38,34,98,.20); border-radius: 999px; font-size: 12px; font-weight: 700; }
.network-points span:nth-child(even) { background: #fff1df; border-color: rgba(247,148,29,.38); }

.how-we-work { background: var(--navy-deep); color: var(--white); }
.how-we-work::before { content: ""; width: 52%; height: 100%; position: absolute; right: 0; top: 0; z-index: 0; opacity: .65; background: repeating-linear-gradient(132deg, transparent 0 54px, rgba(255,255,255,.065) 55px 57px); -webkit-mask-image: linear-gradient(90deg, transparent, #000); mask-image: linear-gradient(90deg, transparent, #000); pointer-events: none; }
.inverse h2 { color: var(--white); }
.inverse > p { color: #c5c4d0; }
.route-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.20); }
.route-grid article { min-height: 310px; padding: 32px 34px 36px 0; border-right: 1px solid rgba(255,255,255,.20); }
.route-grid article + article { padding-left: 34px; }
.route-grid article:last-child { border-right: 0; }
.route-grid span { color: var(--orange); font-size: 12px; font-weight: 800; }
.route-grid h3 { margin: 72px 0 16px; color: var(--white); font-size: 29px; }
.route-grid p { margin: 0; color: #bfbdcc; font-size: 16px; line-height: 1.62; }
.scope-note { margin-top: 42px; padding: 27px 31px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 65px; background: var(--navy-soft); border-left: 5px solid var(--orange); }
.scope-note strong { font-size: 19px; }
.scope-note p { margin: 0; color: #d3d2dc; line-height: 1.55; }

.process { background: #fff3e5; }
.process::before { content: ""; width: 48%; height: 100%; position: absolute; left: 0; bottom: 0; z-index: 0; opacity: .55; background-image: linear-gradient(rgba(38,34,98,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(38,34,98,.07) 1px, transparent 1px); background-size: 58px 58px; -webkit-mask-image: linear-gradient(90deg, #000, transparent); mask-image: linear-gradient(90deg, #000, transparent); pointer-events: none; }
.compact-heading { max-width: 740px; margin-bottom: 50px; }
.process-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 14px; border: 0; }
.process-grid article { padding: 28px 26px 34px; background: var(--white); border: 1px solid var(--line); border-top: 4px solid var(--navy); border-radius: 10px; box-shadow: 0 10px 28px rgba(23,20,63,.05); }
.process-grid article:nth-child(even) { border-top-color: var(--orange); }
.process-grid article + article { padding-left: 26px; }
.process-grid article:last-child { border-right: 1px solid var(--line); }
.process-grid span { color: var(--orange-deep); font-size: 11px; font-weight: 850; }
.process-grid h3 { margin: 48px 0 12px; font-size: 25px; }
.process-grid p { margin: 0; color: var(--slate); font-size: 14px; line-height: 1.58; }

.partner { display: grid; grid-template-columns: 1fr; gap: 32px; background: #e9ebf5; }
.partner::after { content: ""; width: 44%; height: 100%; position: absolute; right: 0; top: 0; z-index: 0; opacity: .55; background: repeating-linear-gradient(90deg, transparent 0 74px, rgba(38,34,98,.065) 75px 77px); -webkit-mask-image: linear-gradient(90deg, transparent, #000); mask-image: linear-gradient(90deg, transparent, #000); pointer-events: none; }
.partner-intro { padding: clamp(34px, 4vw, 50px); position: relative; top: auto; align-self: start; color: var(--white); background: var(--navy); border-left: 7px solid var(--orange); border-radius: 22px 5px 22px 5px; box-shadow: 0 18px 42px rgba(23,20,63,.20); }
.partner-intro h2 { margin-bottom: 25px; color: var(--white); }
.partner-intro > p { color: #d4d2e2; font-size: 18px; line-height: 1.65; }
.partner-capacity { margin-top: 30px; padding: 19px 20px; display: grid; gap: 6px; color: var(--white); background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.18); border-left: 4px solid var(--orange); border-radius: 8px; }
.partner-capacity strong { color: var(--orange); font-size: 13px; }
.partner-capacity span { color: #d4d2e2; font-size: 12px; line-height: 1.5; }
.plan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 16px; align-items: stretch; }
.plan-grid article { min-width: 0; min-height: 100%; padding: 31px 25px 28px; display: flex; flex-direction: column; background: linear-gradient(145deg, #ffffff 0%, #f0f1f7 56%, #d9dce9 100%); border: 1px solid rgba(255,255,255,.94); border-top: 6px solid var(--orange); border-radius: 24px 5px 24px 5px; box-shadow: 0 10px 28px rgba(23,20,63,.04); }
.plan-grid article.plan-featured,
.plan-grid article.plan-resource,
.plan-grid article.plan-scope { border-top: 6px solid var(--orange); }
.plan-grid article::after { content: ""; width: 120px; height: 120px; position: absolute; right: -48px; top: -54px; z-index: 0; border: 1px solid rgba(38,34,98,.13); border-radius: 50%; box-shadow: 0 0 0 18px rgba(38,34,98,.035), 0 0 0 38px rgba(247,148,29,.025); pointer-events: none; }
.plan-resource .plan-fit { border-left-color: var(--orange); }
.plan-heading { min-height: 206px; display: flex; flex-direction: column; gap: 16px; align-items: stretch; }
.plan-heading > div { min-height: 118px; }
.plan-name { margin-bottom: 10px; color: var(--orange-deep); font-size: 11px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.plan-grid > article:not(.plan-resource) .plan-heading > div { display: grid; grid-template-rows: 56px auto; row-gap: 12px; align-content: start; }
.plan-grid > article:not(.plan-resource) .plan-name { margin: 0; align-self: start; }
.plan-grid h3 { margin-bottom: 8px; font-size: clamp(25px, 2vw, 29px); line-height: 1.08; }
.plan-price { margin: auto 0 0; min-width: 0; text-align: left; }
.plan-price strong, .plan-price span { display: block; }
.plan-price strong { color: var(--navy); font-size: 28px; line-height: 1; letter-spacing: -.04em; }
.plan-price span { margin-top: 6px; color: var(--slate); font-size: 11px; }
.plan-fit { min-height: 140px; margin: 18px 0 0; padding: 14px 15px; color: var(--slate); background: rgba(38,34,98,.055); border-left: 4px solid var(--orange); border-radius: 5px; font-size: 12.5px; line-height: 1.5; }
.plan-fit strong { color: var(--navy); }
.plan-grid ul { height: auto; min-height: 400px; margin-bottom: 34px; overflow: visible; }
.plan-grid li { font-size: 12.5px; }
.plan-grid > article:not(.plan-resource) > ul { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: space-between; }
.plan-boundary { min-height: 172px; margin: -5px 0 25px; padding: 13px 14px; box-sizing: border-box; color: #5a5868; background: #fff5e7; border: 1px solid #f3cf9e; border-radius: 7px; font-size: 11.5px; line-height: 1.48; }
.plan-grid > article:not(.plan-resource) .plan-boundary { height: 200px; min-height: 200px; margin: auto 0 25px; }
.plan-grid article > .text-link { margin-top: auto; align-self: flex-start; }
.plan-grid .plan-resource { width: 100%; max-width: 620px; min-height: 0; margin: 0 auto; padding: 32px 34px; grid-column: 1 / -1; display: flex; gap: 0; align-items: stretch; }
.plan-resource .plan-heading { min-height: 0; grid-column: 1; grid-row: 1; }
.plan-resource .plan-heading > div { min-height: 0; }
.plan-resource .plan-fit { min-height: 0; margin: 18px 0 0; grid-column: 2; grid-row: 1; }
.plan-resource ul { height: auto; min-height: 0; margin: 23px 0 27px; grid-column: 3; grid-row: 1 / span 2; }
.plan-resource .plan-boundary { min-height: 0; margin: -5px 0 25px; grid-column: 2; grid-row: 2; }
.plan-resource > .text-link { margin-top: auto; grid-column: 1; grid-row: 2; }
.investigation-option { padding: 25px 27px; display: grid; grid-template-columns: 140px 1fr auto; gap: 24px; align-items: center; color: #fff; background: linear-gradient(135deg, #282365, #17143f); border: 1px solid rgba(255,255,255,.17); border-top: 4px solid #6964bd; border-radius: 11px; box-shadow: 0 16px 36px rgba(23,20,63,.20); }
.investigation-option > span { color: #aca8e5; font-size: 10px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.investigation-option strong { display: block; color: #fff; font-size: 19px; }
.investigation-option p { margin: 7px 0 0; color: #d5d3e4; font-size: 12px; line-height: 1.55; }
.investigation-option .text-link { align-self: center; color: var(--orange); white-space: nowrap; }
.partner-terms { grid-column: 1 / -1; padding: 22px 25px; color: #d9d7e7; background: linear-gradient(135deg, #17143f, #2c2868); border: 1px solid rgba(255,255,255,.15); border-left: 5px solid var(--orange); border-radius: 10px; box-shadow: 0 15px 34px rgba(23,20,63,.19); }
.partner-terms strong { color: var(--orange); font-size: 13px; }
.partner-terms p { margin: 7px 0 0; font-size: 12px; line-height: 1.6; }

.why { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 24px; }
.why-lead { padding: clamp(40px, 5vw, 64px); background: var(--navy); color: var(--white); border-radius: 20px 4px 20px 4px; }
.why-lead { position: relative; isolation: isolate; overflow: hidden; }
.why-lead > * { position: relative; z-index: 1; }
.why-lead::after { content: ""; width: 220px; height: 220px; position: absolute; right: -115px; top: -110px; z-index: 0; border: 2px solid rgba(255,255,255,.11); box-shadow: 0 0 0 44px rgba(255,255,255,.025), 0 0 0 88px rgba(247,148,29,.035); transform: rotate(45deg); pointer-events: none; }
.why-lead h2 { margin-bottom: 27px; color: var(--white); font-size: var(--section-heading-size); }
.why-lead > p:last-child { margin-bottom: 0; color: #ceccdc; font-size: 17px; line-height: 1.65; }
.why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr)); gap: 16px; }
.why-grid article { min-height: 238px; padding: 27px; position: relative; overflow: hidden; background: var(--paper); border: 1px solid var(--line); border-top: 4px solid var(--navy); border-radius: 14px; transition: transform 180ms ease, box-shadow 180ms ease; }
.why-grid article:hover { transform: translateY(-5px); }
.why-grid article:nth-child(2) { background: #fff3e5; border-color: #f2d2a9; border-top-color: var(--orange); }
.why-grid article:first-child { grid-column: 1 / -1; }
.why-grid span { color: var(--orange-deep); font-size: 10px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.why-grid strong { margin: 27px 0 12px; display: block; color: var(--navy); font-size: 21px; line-height: 1.16; }
.why-grid p { margin: 0; color: var(--slate); font-size: 14px; line-height: 1.58; }
.why-grid .why-proof-featured { min-height: 0; padding: 33px; color: #fff; background: radial-gradient(circle at 90% 0%, rgba(247,148,29,.25), transparent 31%), linear-gradient(135deg, #111033, var(--navy) 58%, #343078); border: 1px solid rgba(247,148,29,.46); border-top: 6px solid var(--orange); box-shadow: 0 22px 50px rgba(23,20,63,.26), 0 0 24px rgba(247,148,29,.12); }
.why-proof-featured span { color: #ffad3f; }
.why-proof-featured strong { margin-top: 20px; color: #fff; font-size: clamp(25px, 2.4vw, 34px); }
.why-grid .why-proof-featured > p { color: #d9d8e7; }
.why-metrics { margin: 23px 0 22px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.why-metrics p { min-height: 100px; padding: 16px; display: flex; flex-direction: column; justify-content: center; background: linear-gradient(145deg, rgba(255,255,255,.15), rgba(255,255,255,.06)); border: 1px solid rgba(255,255,255,.19); border-radius: 10px; box-shadow: inset 0 1px 0 rgba(255,255,255,.14); }
.why-metrics b, .why-metrics small { display: block; }
.why-metrics b { margin-bottom: 7px; color: var(--orange); font-size: 19px; line-height: 1; }
.why-metrics small { color: #efedf7; font-size: 11px; line-height: 1.4; }
.why-tags { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 7px; }
.why-tags b { padding: 6px 9px; color: var(--navy); background: rgba(255,255,255,.72); border: 1px solid rgba(38,34,98,.16); border-radius: 999px; font-size: 10px; }
.why-grid .why-product-card { background: linear-gradient(145deg, #ffbd52 0%, var(--orange) 54%, #df7600 100%); border-color: #f6a22f; box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 18px 38px rgba(247,148,29,.24); }
.why-product-card span, .why-product-card strong { color: var(--navy-deep); }
.why-grid .why-product-card p { color: #3d3150; }
.why-difference { grid-column: 1 / -1; padding: clamp(38px, 5vw, 62px); position: relative; isolation: isolate; overflow: hidden; color: #fff; background: radial-gradient(circle at 86% 8%, rgba(247,148,29,.23), transparent 28%), linear-gradient(135deg, #111033, var(--navy) 58%, #39347c); border: 1px solid rgba(255,255,255,.18); border-left: 7px solid var(--orange); border-radius: 22px 6px 22px 6px; box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 26px 58px rgba(23,20,63,.28), 0 0 28px rgba(247,148,29,.12); }
.why-difference::after { content: ""; width: 340px; height: 340px; position: absolute; right: -155px; top: -185px; z-index: -1; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 62px rgba(255,255,255,.025), 0 0 0 124px rgba(247,148,29,.035); pointer-events: none; }
.why-difference-intro, .why-difference-copy, .difference-flow { position: relative; z-index: 1; }
.why-difference-intro { display: flex; flex-direction: column; gap: 18px; }
.why-difference .eyebrow { color: var(--orange); }
.why-difference h3 { margin: 0; max-width: 920px; color: #fff; font-size: clamp(34px, 4.2vw, 62px); line-height: 1.02; letter-spacing: -.04em; }
.why-difference-copy { max-width: 970px; margin: 28px 0 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 28px; }
.why-difference-copy p { margin: 0; color: #dbd9e9; font-size: 16px; line-height: 1.65; }
.difference-flow { margin-top: 38px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.difference-step { min-height: 225px; padding: 30px 28px; }
.difference-step + .difference-step { border-left: 1px solid rgba(255,255,255,.18); }
.difference-step span { display: block; color: var(--orange); font-size: 12px; font-weight: 850; letter-spacing: .12em; }
.difference-step strong { margin: 22px 0 12px; display: block; color: #fff; font-size: 21px; line-height: 1.18; }
.difference-step p { margin: 0; color: #d2d0e1; font-size: 14px; line-height: 1.58; }

.testimonials { position: relative; isolation: isolate; overflow: hidden; color: var(--white); background: radial-gradient(circle at 92% 8%, rgba(247,148,29,.22), transparent 29%), linear-gradient(145deg, #111033, var(--navy) 58%, #332e74); border-top: 6px solid var(--orange); }
.testimonials::after { content: "“"; position: absolute; right: -20px; bottom: -165px; z-index: 0; color: rgba(255,255,255,.045); font-family: Georgia, serif; font-size: 520px; line-height: 1; pointer-events: none; }
.testimonial-heading { margin-bottom: 46px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 80px; align-items: end; position: relative; z-index: 1; }
.testimonial-heading h2 { color: var(--white); }
.testimonial-heading > p { margin: 0 0 5px; color: #d7d5e5; font-size: 18px; line-height: 1.65; }
.testimonial-carousel { max-width: 1050px; margin: 0 auto; position: relative; z-index: 1; }
.testimonial-stage { position: relative; }
.testimonial-slide { min-height: 390px; padding: clamp(38px, 5vw, 64px); display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 26px; align-items: start; background: linear-gradient(145deg, rgba(255,255,255,.17), rgba(255,255,255,.07)); border: 1px solid rgba(255,255,255,.24); border-left: 7px solid var(--orange); border-radius: 24px 6px 24px 6px; box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 28px 65px rgba(5,4,27,.32); backdrop-filter: blur(13px); }
.testimonial-slide[hidden] { display: none; }
.testimonial-mark { color: var(--orange); font-family: Georgia, serif; font-size: 108px; line-height: .8; }
.testimonial-slide blockquote { margin: 0; }
.testimonial-slide blockquote p { margin: 0; color: var(--white); font-size: clamp(22px, 2.4vw, 34px); line-height: 1.38; letter-spacing: -.025em; }
.testimonial-slide cite { margin-top: 34px; padding-top: 21px; display: flex; flex-wrap: wrap; gap: 5px 12px; color: #d6d4e4; border-top: 1px solid rgba(255,255,255,.20); font-size: 14px; font-style: normal; line-height: 1.45; }
.testimonial-slide cite strong { color: var(--orange); }
.testimonial-slide cite span::before { content: "·"; margin-right: 12px; color: #9692bf; }
.testimonial-controls { margin-top: 24px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.testimonial-arrow { min-height: 44px; padding: 0 16px; color: var(--white); background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; cursor: pointer; font: inherit; font-size: 13px; font-weight: 750; }
.testimonial-arrow:hover { border-color: var(--orange); background: rgba(247,148,29,.16); }
.testimonial-position { display: grid; justify-items: center; gap: 9px; color: #cbc9db; font-size: 12px; }
.testimonial-dots { display: flex; gap: 8px; }
.testimonial-dots button { width: 9px; height: 9px; padding: 0; background: #7773a7; border: 0; border-radius: 50%; cursor: pointer; }
.testimonial-dots button[aria-current="true"] { width: 26px; background: var(--orange); border-radius: 999px; }

.downloads { background: var(--navy-deep); color: var(--white); border-top: 6px solid var(--orange); scroll-margin-top: 105px; }
.downloads::before { content: ""; width: 380px; height: 320px; position: absolute; left: -70px; bottom: -95px; z-index: 0; opacity: .55; background: repeating-conic-gradient(from 45deg, rgba(247,148,29,.12) 0 25%, transparent 0 50%) 0 0 / 34px 34px; -webkit-mask-image: linear-gradient(90deg, #000, transparent); mask-image: linear-gradient(90deg, #000, transparent); pointer-events: none; }
.downloads-heading { margin-bottom: 48px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 80px; align-items: end; }
.downloads-heading h2 { color: var(--white); font-size: var(--section-heading-size); }
.downloads-heading > p { margin: 0; color: #cfcedd; font-size: 17px; line-height: 1.65; }
.downloads-heading > div:last-child p { margin: 0 0 22px; color: #cfcedd; font-size: 17px; line-height: 1.65; }
.download-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 19px; }
.download-grid article { padding: 31px 28px; display: flex; flex-direction: column; background: #fffaf3; border: 1px solid rgba(247,148,29,.34); border-top: 5px solid var(--orange); border-radius: 14px; box-shadow: 0 18px 38px rgba(5,4,24,.22); }
.download-grid article > span { min-height: 36px; color: var(--orange-deep); font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.download-grid h3 { min-height: 65px; margin: 25px 0 15px; font-size: 25px; line-height: 1.12; }
.download-grid p { margin-bottom: 29px; color: var(--slate); font-size: 14px; line-height: 1.6; }
.download-grid .card-link { margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); }
.download-grid .card-link b { color: var(--orange-deep); }
.resource-showcase { margin-top: 6px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: clamp(54px, 7vw, 104px); align-items: center; }
.document-fan { min-height: 465px; position: relative; perspective: 1000px; }
.document-sheet { width: min(310px, 72%); min-height: 395px; padding: 39px 34px; position: absolute; left: 50%; top: 26px; display: flex; flex-direction: column; color: var(--navy); background: linear-gradient(145deg, #fffefa, #e9eaf3); border: 1px solid rgba(255,255,255,.72); border-top: 7px solid var(--orange); border-radius: 12px; box-shadow: inset 0 1px 0 #fff, 0 30px 60px rgba(5,4,24,.34), 0 0 28px rgba(247,148,29,.10); transform-origin: 50% 100%; }
.document-sheet::after { content: ""; width: 42px; height: 42px; position: absolute; right: -1px; bottom: -1px; background: linear-gradient(135deg, rgba(38,34,98,.13) 0 49%, #fff 51%); border-radius: 10px 0 10px 0; }
.document-sheet span { margin-bottom: 55px; color: var(--orange-deep); font-size: 11px; font-weight: 850; letter-spacing: .16em; }
.document-sheet strong { min-height: 95px; font-size: 25px; line-height: 1.12; }
.document-sheet i { height: 8px; margin-top: 18px; display: block; background: rgba(38,34,98,.12); border-radius: 99px; }
.document-sheet i:nth-of-type(2) { width: 82%; }
.document-sheet i:nth-of-type(3) { width: 58%; }
.document-sheet-one { z-index: 1; border-top-color: #6964bd; transform: translateX(-74%) rotate(-9deg); background: linear-gradient(145deg, #e3e5f4, #c9cce2); }
.document-sheet-two { z-index: 2; transform: translateX(-24%) rotate(9deg); background: linear-gradient(145deg, #fff7ea, #f3d2a6); }
.document-sheet-three { z-index: 3; transform: translateX(-50%) translateY(12px); }
.resource-type-list { display: grid; gap: 0; border-top: 1px solid rgba(255,255,255,.20); }
.resource-type-list > div { padding: 22px 0; display: grid; grid-template-columns: 54px 1fr; gap: 18px; align-items: start; border-bottom: 1px solid rgba(255,255,255,.20); }
.resource-type-list > div > span { width: 42px; height: 42px; display: grid; place-items: center; color: var(--navy-deep); background: linear-gradient(145deg, #ffbd52, var(--orange)); border-radius: 50%; font-size: 11px; font-weight: 850; box-shadow: 0 8px 22px rgba(247,148,29,.22); }
.resource-type-list p, .resource-type-list strong, .resource-type-list small { margin: 0; display: block; }
.resource-type-list strong { color: #fff; font-size: 20px; }
.resource-type-list small { margin-top: 7px; color: #cfcedd; font-size: 13px; line-height: 1.5; }
.downloads-note { margin-top: 28px; padding: 21px 25px; display: flex; align-items: center; gap: 15px 35px; background: var(--orange); color: var(--navy-deep); border-radius: 9px; }
.downloads-note strong { white-space: nowrap; }
.downloads-note span { color: #3d3450; font-size: 14px; line-height: 1.5; }
.boundaries { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 105px; background: #fff7ed; border-top: 1px solid #f1d4b1; }
.boundaries::after { content: ""; width: 360px; height: 360px; position: absolute; right: -190px; bottom: -205px; z-index: 0; border: 2px solid rgba(247,148,29,.14); border-radius: 50%; box-shadow: 0 0 0 52px rgba(247,148,29,.035), 0 0 0 104px rgba(38,34,98,.025); pointer-events: none; }
.boundaries h2 { font-size: var(--section-heading-size); }
.boundary-copy { display: grid; gap: 20px; }
.boundary-copy p { margin: 0; color: #56515b; font-size: 16px; line-height: 1.65; }
.contact { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 110px; background: var(--navy); color: var(--white); }
.contact::before { content: ""; width: 52%; height: 100%; position: absolute; right: 0; bottom: 0; z-index: 0; opacity: .72; background: radial-gradient(circle at 80% 100%, rgba(247,148,29,.22), transparent 47%), repeating-linear-gradient(90deg, transparent 0 78px, rgba(255,255,255,.055) 79px 80px); -webkit-mask-image: linear-gradient(90deg, transparent, #000); mask-image: linear-gradient(90deg, transparent, #000); pointer-events: none; }
.contact h2 { color: var(--white); }
.contact-copy > p:first-child { max-width: 660px; color: #d0cfdd; font-size: 20px; line-height: 1.6; }
.contact-copy .button { margin: 21px 0 17px; }
.contact-note { color: #aaa8bf; font-size: 13px; }
.contact-form { display: grid; gap: 13px; }
.contact-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.contact-form label { display: grid; gap: 6px; color: #d8d6e6; font-size: 12px; font-weight: 720; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; min-height: 47px; padding: 11px 13px; color: var(--ink); background: var(--white); border: 1px solid rgba(255,255,255,.30); border-radius: 7px; font: inherit; }
.contact-form textarea { min-height: 112px; resize: vertical; }
.contact-form .consent { display: flex; grid-template-columns: none; align-items: flex-start; gap: 9px; color: #c6c4d4; font-weight: 500; line-height: 1.45; }
.contact-form .consent input { width: 17px; min-height: 17px; margin-top: 2px; accent-color: var(--orange); }
.contact-form .button { cursor: pointer; }
.form-status { margin-bottom: 18px; padding: 13px 15px; border-radius: 7px; background: rgba(255,255,255,.10); color: var(--white); }
.form-status.success { border-left: 4px solid #6ed49a; }
.form-status.error { border-left: 4px solid var(--orange); }
.form-trap { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

footer { padding: 45px max(24px, calc((100% - 1180px) / 2)); display: grid; grid-template-columns: 250px 1fr auto; gap: 44px; align-items: center; border-top: 1px solid var(--line); background: var(--white); }
.brand-footer { width: 220px; }
footer > p { margin: 0; color: var(--slate); font-size: 13px; line-height: 1.5; }
footer nav { display: flex; gap: 24px; color: var(--navy); font-size: 13px; font-weight: 730; }
.copyright { grid-column: 2 / 4; font-size: 12px; }
.cr-footer, .receipt-footer { display: none !important; }
.unified-footer { display: grid !important; }
.back-to-top { width: 52px; height: 52px; position: fixed; right: 28px; bottom: 28px; z-index: 30; display: grid; place-items: center; color: var(--orange); background: var(--navy); border: 2px solid var(--orange); border-radius: 50%; box-shadow: 0 12px 30px rgba(23,20,63,.28); font-size: 25px; font-weight: 800; line-height: 1; transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease; }
.back-to-top:hover { transform: translateY(-4px); background: var(--navy-deep); box-shadow: 0 16px 36px rgba(23,20,63,.34); }
.back-to-top span { color: var(--orange); transform: translateY(-1px); }

/* Dimensional ClearRock finish: richer brand colour, metallic light and controlled glow. */
body {
  background:
    radial-gradient(circle at 88% 24%, rgba(42,86,142,.34), transparent 32%),
    linear-gradient(145deg, #06182f 0%, #10264a 30%, var(--navy) 66%, #15133d 100%);
}
.site-shell {
  border-color: rgba(255,255,255,.38);
  box-shadow: 0 0 0 1px rgba(247,148,29,.13), 0 32px 100px rgba(5,4,24,.55), 0 0 74px rgba(247,148,29,.10);
}
.site-header {
  grid-template-columns: minmax(190px, .75fr) minmax(0, auto) auto;
  gap: 18px;
  background:
    linear-gradient(105deg, rgba(255,255,255,.99) 0%, rgba(245,248,251,.98) 38%, rgba(207,220,232,.97) 58%, rgba(255,255,255,.99) 100%);
  border-bottom: 0;
  box-shadow: 0 8px 30px rgba(23,20,63,.12);
}
.site-header::after {
  content: "";
  height: 3px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, var(--navy) 0 22%, #7771b0 38%, #f4f3fa 51%, var(--orange) 69%, #d96b00 100%);
}
.brand { width: 222px; }
.desktop-nav {
  width: fit-content;
  justify-self: center;
  justify-content: center;
  gap: 5px;
  padding: 6px 22px;
  background: rgba(18,52,91,.065);
  border: 1px solid rgba(22,53,91,.16);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}
.desktop-nav a {
  padding: 9px 10px;
  color: var(--navy);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 780;
  white-space: nowrap;
  transition: color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}
.desktop-nav a:hover {
  color: #fff;
  background: linear-gradient(135deg, #39347c, var(--navy-deep));
  box-shadow: 0 7px 18px rgba(23,20,63,.20);
}
.site-header {
  top: 10px;
  margin: 10px 12px 0;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 14px;
  transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.site-header.is-scrolled {
  background: linear-gradient(105deg, rgba(255,255,255,.97), rgba(218,228,239,.96) 58%, rgba(255,255,255,.97));
  box-shadow: 0 16px 45px rgba(7,15,43,.25), 0 0 28px rgba(247,148,29,.12);
}
.desktop-nav a { position: relative; }
.desktop-nav a::after {
  content: "";
  height: 3px;
  width: 0;
  position: absolute;
  left: 50%;
  bottom: 3px;
  transform: translateX(-50%);
  background: var(--orange);
  border-radius: 99px;
  box-shadow: 0 0 10px rgba(247,148,29,.7);
  transition: width 180ms ease;
}
.desktop-nav a:hover::after,
.desktop-nav a.is-active::after { width: calc(100% - 20px); }
.desktop-nav a.is-active {
  color: #fff;
  background: linear-gradient(135deg, #3d3784, var(--navy-deep));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 8px 20px rgba(23,20,63,.24);
}
.site-header > .button.is-active {
  outline: 3px solid rgba(38,34,98,.22);
  outline-offset: 3px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65), 0 13px 33px rgba(247,148,29,.42), 0 0 25px rgba(247,148,29,.24);
}
[id] { scroll-margin-top: 125px; }
.button {
  border-color: #ff9f22;
  background: linear-gradient(135deg, #ffba4c 0%, var(--orange) 43%, #df7600 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.58), inset 0 -1px 0 rgba(128,62,0,.24), 0 12px 30px rgba(247,148,29,.27);
}
.button:hover {
  background: linear-gradient(135deg, #ffc463 0%, #ff9e20 48%, #e87900 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 16px 38px rgba(247,148,29,.38);
}
h1 { text-shadow: 0 2px 0 rgba(255,255,255,.9), 0 14px 35px rgba(38,34,98,.10); }
h1 span {
  color: var(--orange) !important;
  background: none;
  -webkit-text-fill-color: var(--orange) !important;
  text-shadow: 0 1px 0 #ffbf5b, 0 7px 18px rgba(247,148,29,.24);
}
.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 48%, rgba(247,148,29,.22), transparent 28%),
    radial-gradient(circle at 78% 36%, rgba(72,65,143,.18), transparent 31%),
    linear-gradient(112deg, #ffffff 0%, #f8f8fc 46%, #e2e4f0 74%, #f8f8fc 100%);
}
.hero::before {
  content: "";
  width: 64%;
  height: 180%;
  position: absolute;
  z-index: -1;
  right: -20%;
  top: -42%;
  opacity: .48;
  background: repeating-linear-gradient(122deg, transparent 0 68px, rgba(255,255,255,.68) 69px 71px);
  transform: rotate(-5deg);
  pointer-events: none;
}
.hero::after {
  content: "";
  width: 500px;
  height: 500px;
  position: absolute;
  z-index: -1;
  left: -265px;
  bottom: -315px;
  border: 1px solid rgba(247,148,29,.24);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(247,148,29,.035), 0 0 0 140px rgba(38,34,98,.025);
  pointer-events: none;
}
.hero-copy { position: relative; z-index: 2; }
.hero-visual {
  min-height: 0;
  aspect-ratio: 1.32 / 1;
  background:
    radial-gradient(circle at 52% 45%, rgba(247,148,29,.30), transparent 22%),
    radial-gradient(circle at 78% 15%, rgba(112,104,196,.30), transparent 34%),
    linear-gradient(145deg, #0a1732 0%, #17143f 46%, #292363 100%);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 28px 7px 28px 7px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 28px 68px rgba(23,20,63,.36), 0 0 38px rgba(247,148,29,.18);
}
.hero-visual::before {
  content: "";
  width: 7px;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 3;
  background: linear-gradient(180deg, #ffc45e, var(--orange) 48%, #d96c00);
  box-shadow: -8px 0 26px rgba(247,148,29,.24);
  pointer-events: none;
}
.hero-visual::after {
  content: "";
  width: 140%;
  height: 38%;
  position: absolute;
  left: -28%;
  top: -13%;
  z-index: 1;
  opacity: .42;
  background: linear-gradient(180deg, rgba(255,255,255,.32), transparent);
  transform: rotate(-12deg);
  pointer-events: none;
}
.hero-rings { opacity: .54; background: repeating-radial-gradient(circle at 50% 50%, transparent 0 25px, rgba(166,160,225,.28) 26px 27px); }
.hero-glow { opacity: .46; filter: blur(62px); }
.hero-visual > img { filter: drop-shadow(0 0 18px rgba(247,148,29,.28)) drop-shadow(0 22px 28px rgba(0,0,0,.34)); }
.proof-strip {
  color: #fff;
  border-color: rgba(255,255,255,.14);
  background: linear-gradient(105deg, #17143f 0%, var(--navy) 45%, #39347d 58%, #1a1747 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), inset 0 -1px 0 rgba(0,0,0,.22);
}
.proof-strip strong { color: #fff; }
.proof-strip span { color: #d4d2e7; }
.services {
  background:
    radial-gradient(circle at 90% 4%, rgba(113,104,199,.34), transparent 31%),
    radial-gradient(circle at 7% 78%, rgba(247,148,29,.16), transparent 26%),
    linear-gradient(145deg, #17143f 0%, var(--navy) 42%, #1d194c 100%);
}
.services::before { border-color: rgba(255,255,255,.16); box-shadow: 0 0 0 70px rgba(255,255,255,.035), 0 0 0 140px rgba(247,148,29,.025); }
.service-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #ffffff 0%, #f6f6fb 48%, #dfe1ee 100%);
  border-color: rgba(255,255,255,.92);
  box-shadow: inset 0 1px 0 #fff, 0 24px 60px rgba(5,4,27,.34), 0 0 24px rgba(247,148,29,.08);
}
.service-card::after {
  content: "";
  width: 72%;
  height: 90px;
  position: absolute;
  right: -27%;
  top: -45px;
  opacity: .8;
  background: linear-gradient(110deg, transparent, rgba(255,255,255,.88), transparent);
  transform: rotate(15deg);
  pointer-events: none;
}
.service-card:nth-child(1) { background: linear-gradient(145deg, #fbfcff 0%, #e2e9f3 55%, #b8c7da 100%); border-top-color: var(--orange); }
.service-card:nth-child(2) { background: linear-gradient(145deg, #f8f8fd 0%, #e4e4f2 58%, #c9c9df 100%); border-top-color: #aaa5d2; }
.service-card:nth-child(3) { background: linear-gradient(145deg, #fffdf9 0%, #fff1dc 56%, #f4c992 100%); }
.service-card:nth-child(4) { background: linear-gradient(145deg, #fbfcff 0%, #e6eaf4 57%, #c7cee1 100%); border-top-color: #8f8bc6; }
.service-card:hover { box-shadow: inset 0 1px 0 #fff, 0 34px 78px rgba(5,4,27,.48), 0 0 38px rgba(247,148,29,.22); }
.services-note { background: linear-gradient(105deg, rgba(255,255,255,.13), rgba(255,255,255,.055)); border-color: rgba(255,255,255,.28); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); backdrop-filter: blur(12px); }
.network-callout {
  background:
    linear-gradient(112deg, rgba(255,255,255,.58) 0 47%, rgba(255,255,255,.18) 47% 100%),
    linear-gradient(118deg, #ffe4bd 0%, #fff7ea 44%, #dfe1ed 70%, #f7f7fb 100%);
  box-shadow: inset 0 1px 0 #fff, 0 22px 58px rgba(23,20,63,.14), 0 0 28px rgba(247,148,29,.09);
}
.how-we-work { background: radial-gradient(circle at 92% 20%, rgba(247,148,29,.16), transparent 28%), linear-gradient(145deg, #0f0d30, #201b58 60%, #17143f); }
.process { background: linear-gradient(135deg, #fff0da 0%, #fff9f1 46%, #e4e5ef 100%); }
.process-grid article { background: linear-gradient(145deg, #fff 0%, #f1f2f8 100%); box-shadow: inset 0 1px 0 #fff, 0 14px 34px rgba(23,20,63,.10); }
.partner { background: radial-gradient(circle at 88% 20%, rgba(247,148,29,.15), transparent 26%), linear-gradient(135deg, #d8dae9 0%, #f6f6fa 45%, #cfd1e4 100%); }
.partner-intro { background: linear-gradient(145deg, #17143f, #2e286d 62%, #1d194c); box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 24px 58px rgba(23,20,63,.30), 0 0 26px rgba(247,148,29,.13); }
.plan-grid article { background: linear-gradient(145deg, #fff 0%, #f1f2f7 100%); box-shadow: inset 0 1px 0 #fff, 0 16px 38px rgba(23,20,63,.10); }
.why-lead { background: radial-gradient(circle at 88% 15%, rgba(247,148,29,.18), transparent 30%), linear-gradient(145deg, #17143f, var(--navy) 58%, #373175); box-shadow: 0 22px 54px rgba(23,20,63,.25); }
.why-grid article { background: linear-gradient(145deg, #f9f9fc, #dfe1ee); box-shadow: inset 0 1px 0 #fff, 0 12px 30px rgba(23,20,63,.10); }
.why-grid article:nth-child(2) { background: linear-gradient(145deg, #fffaf3, #f5d3a6); }
.why-grid .why-proof-featured { background: radial-gradient(circle at 90% 0%, rgba(247,148,29,.25), transparent 31%), linear-gradient(135deg, #111033, var(--navy) 58%, #343078); box-shadow: 0 22px 50px rgba(23,20,63,.30), 0 0 24px rgba(247,148,29,.14); }
.why-grid .why-product-card { background: linear-gradient(145deg, #ffbd52 0%, var(--orange) 54%, #df7600 100%); }
.downloads { background: radial-gradient(circle at 10% 85%, rgba(247,148,29,.22), transparent 30%), linear-gradient(145deg, #0d0b2c, #24205e 58%, #17143f); }
.download-grid article { background: linear-gradient(145deg, #fffdf9 0%, #f6f1ea 58%, #dddfe9 100%); box-shadow: inset 0 1px 0 #fff, 0 22px 50px rgba(5,4,24,.34); }
.downloads-note { background: linear-gradient(105deg, #ffb947, var(--orange) 50%, #dc7200); box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 14px 34px rgba(247,148,29,.22); }
.contact { background: radial-gradient(circle at 88% 88%, rgba(247,148,29,.29), transparent 32%), linear-gradient(145deg, #17143f, #2a2468 55%, #15123b); }
footer { background: linear-gradient(105deg, #fff 0%, #eef0f7 55%, #fff 100%); }
.back-to-top { background: linear-gradient(145deg, #3a347f, #17143f); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 14px 34px rgba(23,20,63,.38), 0 0 20px rgba(247,148,29,.20); }

/* Final dimensional card system */
.service-card,
.route-grid article,
.process-grid article,
.plan-grid article,
.why-grid article,
.download-grid article {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transform: translateZ(0);
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, filter 220ms ease;
}
.service-card::before,
.route-grid article::before,
.plan-grid article::before,
.why-grid article::before,
.download-grid article::before {
  content: "";
  position: absolute;
  inset: -45% auto -45% -65%;
  width: 44%;
  z-index: 0;
  pointer-events: none;
  transform: rotate(17deg) translateX(-10%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.44), transparent);
  opacity: .28;
  transition: transform 650ms cubic-bezier(.2,.7,.2,1), opacity 220ms ease;
}
.service-card > *,
.route-grid article > *,
.plan-grid article > *,
.why-grid article > *,
.download-grid article > * { position: relative; z-index: 1; }
.service-card,
.plan-grid article,
.why-grid article,
.download-grid article {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 18px 42px rgba(23,20,63,.16), 0 0 24px rgba(247,148,29,.10) !important;
  animation: clearrock-card-glow 7s ease-in-out infinite alternate;
}
.service-card:nth-child(even),
.plan-grid article:nth-child(even),
.why-grid article:nth-child(even),
.download-grid article:nth-child(even) {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 18px 42px rgba(23,20,63,.18), 0 0 25px rgba(56,80,190,.13) !important;
  animation-delay: -3.2s;
}
.service-card:hover,
.route-grid article:hover,
.plan-grid article:hover,
.why-grid article:hover,
.download-grid article:hover {
  transform: translateY(-7px);
  border-color: rgba(247,148,29,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.96), 0 26px 56px rgba(23,20,63,.22), 0 0 34px rgba(247,148,29,.23) !important;
  filter: saturate(1.08);
}
.service-card:hover::before,
.route-grid article:hover::before,
.plan-grid article:hover::before,
.why-grid article:hover::before,
.download-grid article:hover::before { transform: rotate(17deg) translateX(430%); opacity: .48; }
.why-grid .why-proof-featured {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 24px 54px rgba(23,20,63,.34), 0 0 32px rgba(247,148,29,.18) !important;
}
.why-grid .why-product-card {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.58), 0 23px 50px rgba(247,148,29,.26), 0 0 30px rgba(247,148,29,.17) !important;
}
.route-grid { gap: 14px; }
.route-grid article {
  padding: 32px 27px;
  border: 1px solid rgba(255,255,255,.18);
  border-top: 4px solid var(--orange);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.035));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 20px 42px rgba(7,8,30,.28), 0 0 26px rgba(247,148,29,.10);
}
.route-grid article:nth-child(even) { border-top-color: #7773d2; }
.process-grid { padding-top: 4px; position: relative; gap: 0; }
.process-grid::before { content: ""; height: 4px; position: absolute; left: 12.5%; right: 12.5%; top: 41px; z-index: 0; background: linear-gradient(90deg, var(--navy), #6964bd 40%, var(--orange) 72%, #dc7100); border-radius: 99px; box-shadow: 0 0 18px rgba(76,69,159,.20); }
.process-grid article,
.process-grid article + article { min-height: 0; padding: 0 24px; position: relative; z-index: 1; overflow: visible; text-align: center; background: transparent !important; border: 0 !important; border-radius: 0; box-shadow: none !important; animation: none; transform: none; }
.process-grid article:hover { transform: none; background: transparent !important; box-shadow: none !important; }
.process-grid span { width: 78px; height: 78px; margin: 0 auto; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, #454093, var(--navy-deep)); border: 5px solid #fff4e7; border-radius: 50%; box-shadow: 0 13px 28px rgba(23,20,63,.22), 0 0 0 1px rgba(38,34,98,.20); font-size: 13px; transition: transform 180ms ease, box-shadow 180ms ease; }
.process-grid article:nth-child(even) span { color: var(--navy-deep); background: linear-gradient(145deg, #ffbd52, var(--orange)); }
.process-grid article:hover span { transform: translateY(-5px) scale(1.04); box-shadow: 0 18px 34px rgba(23,20,63,.26), 0 0 24px rgba(247,148,29,.18); }
.process-grid h3 { margin: 26px 0 10px; font-size: 25px; }
.process-grid p { max-width: 250px; margin: 0 auto; color: var(--slate); font-size: 14px; line-height: 1.58; }
.network-callout,
.partner-intro { transition: transform 220ms ease, box-shadow 220ms ease, filter 220ms ease; }
.network-callout:hover { transform: translateY(-5px); box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 24px 55px rgba(23,20,63,.18), 0 0 28px rgba(247,148,29,.15); }
.partner-intro { animation: clearrock-panel-glow 7.5s ease-in-out infinite alternate; }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { outline: 0; border-color: var(--orange); box-shadow: 0 0 0 4px rgba(247,148,29,.15), 0 0 23px rgba(247,148,29,.13); }

/* Shared section-heading system across the consultancy and EDD journey */
.clearrock-v2-page main section h2,
.store-site-shell .cr-section-head h2,
.store-site-shell .cr-cta h2,
.download-site-shell .cr-info-header h2,
.download-site-shell .cr-limit-panel h2,
.download-site-shell .cr-cta h2,
.checkout-site-shell .cr-checkout-form-shell > h2,
.confirmation-site-shell .cr-confirmation-shell > h2 {
  font-size: var(--section-heading-size) !important;
  font-weight: 880 !important;
  letter-spacing: -.04em !important;
  line-height: 1 !important;
}
.store-site-shell .cr-section-head h2 span,
.download-site-shell h2 span { color: var(--orange); }

/* Store-inspired illuminated finish on the main consultancy sections */
.clearrock-v2-page .why {
  background:
    radial-gradient(circle at 92% 8%, rgba(247,148,29,.16), transparent 25%),
    radial-gradient(circle at 4% 86%, rgba(72,88,184,.16), transparent 27%),
    linear-gradient(145deg, #ececf5 0%, #fafafd 48%, #dddfea 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), inset 0 -1px 0 rgba(38,34,98,.10);
}
.clearrock-v2-page .process,
.clearrock-v2-page .partner,
.clearrock-v2-page .boundaries {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86), inset 0 -1px 0 rgba(38,34,98,.09);
}
.clearrock-v2-page .section-heading h2,
.clearrock-v2-page .downloads-heading h2,
.clearrock-v2-page .contact h2 { text-shadow: 0 14px 34px rgba(0,0,0,.18), 0 0 24px rgba(247,148,29,.08); }
@keyframes clearrock-card-glow { from { filter: saturate(1); } to { filter: saturate(1.06); } }
@keyframes clearrock-panel-glow {
  from { box-shadow: inset 0 1px 0 rgba(255,255,255,.13), 0 22px 48px rgba(23,20,63,.24), 0 0 18px rgba(247,148,29,.08); }
  to { box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 26px 56px rgba(23,20,63,.30), 0 0 34px rgba(247,148,29,.16); }
}

@media (max-width: 1100px) and (min-width: 861px) {
  .site-header { grid-template-columns: 180px minmax(0, 1fr); gap: 14px; }
  .brand { width: 180px; }
  .site-header > .button { display: none; }
  .desktop-nav { justify-content: flex-end; }
  .desktop-nav a { padding: 8px 7px; font-size: 10.8px; }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-card { grid-template-rows: 72px 100px 125px minmax(0, 1fr) auto; }
  .plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plan-grid article { grid-column: auto; }
  .plan-grid .plan-resource { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .site-header { grid-template-columns: 1fr auto auto; gap: 20px; }
  .site-header > .button { display: none; }
  .desktop-nav { display: none; }
  .mobile-menu { display: block; }
  .mobile-menu summary { padding: 10px 14px; color: var(--navy); cursor: pointer; font-weight: 800; list-style: none; background: linear-gradient(145deg, #fff, #e7e8f2); border: 1px solid rgba(38,34,98,.18); border-radius: 999px; box-shadow: inset 0 1px 0 #fff; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu nav { width: 250px; padding: 10px; position: absolute; right: 0; top: 49px; display: grid; background: linear-gradient(145deg, #fff, #e9eaf3); border: 1px solid rgba(38,34,98,.18); border-radius: 14px; box-shadow: 0 24px 54px rgba(23,20,63,.26); }
  .mobile-menu nav a { padding: 11px; color: var(--navy); font-weight: 680; border-bottom: 1px solid var(--line); }
  .mobile-menu nav a.is-active { padding-left: 16px; color: var(--orange-deep); background: rgba(247,148,29,.10); border-left: 4px solid var(--orange); }
  .mobile-menu nav a:last-child { color: var(--orange-deep); border-bottom: 0; }
  .hero { grid-template-columns: 1fr; background: var(--paper); }
  .hero-copy { max-width: 850px; }
  .hero-visual { max-width: 560px; width: 100%; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .service-card { grid-column: auto; grid-template-rows: 72px 100px 125px minmax(0, 1fr) auto; }
  .service-promise, .service-card h3 { min-height: 0; }
  .section-heading { gap: 48px; }
  .partner, .boundaries, .contact { gap: 65px; }
  .plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plan-grid article { grid-column: auto; }
  .plan-grid .plan-resource { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .plan-resource .plan-heading { grid-column: 1; grid-row: 1; }
  .plan-resource .plan-fit { grid-column: 2; grid-row: 1; }
  .plan-resource ul { grid-column: 1; grid-row: 2; }
  .plan-resource .plan-boundary { grid-column: 2; grid-row: 2; }
  .plan-resource > .text-link { grid-column: 1 / -1; grid-row: 3; }
}

@media (max-width: 800px) {
  .site-header { min-height: 76px; padding: 11px 22px; grid-template-columns: 1fr auto; top: 7px; margin: 7px 8px 0; }
  .brand { width: 205px; }
  .site-header > .button { display: none; }
  .hero { min-height: auto; padding-top: 68px; }
  .site-shell { width: 100%; margin: 0; border: 0; border-radius: 0; }
  .proof-strip, .section-heading, .service-grid, .service-resource, .network-callout, .scope-note, .partner, .why, .testimonial-heading, .downloads-heading, .download-grid, .resource-showcase, .boundaries, .contact { grid-template-columns: 1fr; }
  .hero-visual { max-width: 520px; min-height: 0; justify-self: start; box-shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 24px 58px rgba(23,20,63,.32), 0 0 30px rgba(247,148,29,.16); }
  .hero-visual > img { width: 43%; }
  .proof-strip { gap: 20px; }
  .section-heading { gap: 26px; margin-bottom: 42px; }
  .service-card { display: flex; flex-direction: column; }
  .service-card-head { height: auto; margin-bottom: 30px; }
  .service-card h3 { margin: 0 0 17px; padding: 0; }
  .service-promise { height: auto; }
  .service-resource { gap: 20px; }
  .service-resource .button { justify-self: start; }
  .network-callout { gap: 35px; }
  .downloads-heading { gap: 25px; }
  .download-grid h3, .download-grid article > span { min-height: 0; }
  .downloads-note { align-items: flex-start; flex-direction: column; }
  .route-grid, .process-grid { grid-template-columns: 1fr; }
  .route-grid article, .route-grid article + article { min-height: auto; padding: 25px; border: 1px solid rgba(255,255,255,.18); border-top: 4px solid var(--orange); border-radius: 12px; }
  .route-grid article:nth-child(even) { border-top-color: #7773d2; }
  .process-grid article, .process-grid article + article { min-height: auto; padding: 27px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .process-grid { gap: 12px; }
  .process-grid article, .process-grid article + article { display: grid; grid-template-columns: 50px 1fr; padding: 25px; border-right: 1px solid var(--line); border-bottom-color: var(--line); }
  .process-grid { padding: 0; gap: 28px; }
  .process-grid::before { width: 4px; height: auto; left: 37px; right: auto; top: 38px; bottom: 38px; }
  .process-grid article,
  .process-grid article + article { min-height: 0; padding: 0 !important; display: grid; grid-template-columns: 78px 1fr; gap: 22px; align-items: start; text-align: left; border: 0 !important; }
  .process-grid span { margin: 0; }
  .process-grid h3 { margin: 5px 0 9px; }
  .process-grid p { max-width: 420px; margin: 0; }
  .document-fan { width: min(100%, 560px); min-height: 450px; margin: 0 auto; }
  .resource-type-list { width: min(100%, 680px); margin: 0 auto; }
  .route-grid h3 { margin: 27px 0 11px; }
  .scope-note { gap: 13px; }
  .partner-intro { position: static; }
  .plan-grid { grid-template-columns: 1fr; }
  .plan-grid article, .plan-grid .plan-resource { grid-column: auto; }
  .plan-heading { min-height: 0; gap: 10px; }
  .plan-heading > div, .plan-fit, .plan-boundary { min-height: 0; }
  .plan-grid > article:not(.plan-resource) .plan-boundary { height: auto; min-height: 0; margin-top: 0; }
  .plan-grid ul { height: auto; min-height: 0; }
  .plan-grid .plan-resource { display: flex; }
  .plan-price { text-align: left; }
  .investigation-option { grid-template-columns: 1fr; gap: 12px; }
  .investigation-option .text-link { justify-self: start; }
  .why-grid { grid-template-columns: 1fr; }
  .why-grid article:first-child { grid-column: auto; }
  .why-metrics { grid-template-columns: 1fr; }
  .testimonial-heading { gap: 24px; margin-bottom: 34px; }
  .testimonial-slide { min-height: 0; grid-template-columns: 1fr; gap: 8px; }
  .testimonial-mark { font-size: 76px; }
  .testimonial-slide blockquote p { font-size: 22px; line-height: 1.48; }
  footer { grid-template-columns: 1fr; gap: 24px; }
  .copyright { grid-column: auto; }
  .contact-form-row { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .section-pad, .section-pad-small { padding-left: 22px; padding-right: 22px; }
  h1 { font-size: 48px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .button { width: 100%; text-align: center; }
  .hero-visual { min-height: 0; margin-right: 0; }
  .service-card { padding: 28px 24px; }
  .network-callout { margin-left: 22px; margin-right: 22px; padding: 35px 25px; }
  .plan-grid article, .why-lead, .why-grid article { padding: 29px 24px; }
  .document-fan { min-height: 380px; }
  .document-sheet { width: 76%; min-height: 325px; padding: 28px 24px; }
  .document-sheet span { margin-bottom: 38px; }
  .document-sheet strong { min-height: 74px; font-size: 20px; }
  .resource-type-list > div { grid-template-columns: 46px 1fr; gap: 14px; }
  footer nav { flex-wrap: wrap; }
  .back-to-top { width: 46px; height: 46px; right: 18px; bottom: 18px; font-size: 22px; }
}

@media (max-width: 900px) {
  .why-difference-copy { grid-template-columns: 1fr; }
  .why-difference-copy { max-width: none; }
  .difference-flow { grid-template-columns: 1fr; }
  .difference-step { min-height: 0; }
  .difference-step + .difference-step { border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
}

@media (max-width: 520px) {
  .why-difference { padding: 34px 24px; }
  .why-difference h3 { font-size: 36px; }
  .difference-step { padding: 26px 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* One-off downloads pointer on the Digital Library price card */
.plan-alt-note { margin: 16px 0 24px; padding: 15px 16px; color: var(--navy); background: linear-gradient(105deg, #fff3e2, #ffe9cb); border: 1px solid var(--orange); border-left-width: 4px; border-radius: 7px; font-size: 12.5px; line-height: 1.5; box-shadow: 0 8px 18px rgba(247,148,29,.16); }
.plan-alt-note strong { display: block; margin-bottom: 2px; font-weight: 800; }
.plan-alt-note a { color: var(--navy); font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.plan-alt-note a:hover { color: var(--navy-deep); }

/* 2.2.50: resizing safeguards for split-screen and narrow containers. */

.why-difference {
  container-type: inline-size;
}

.why-difference h3 {
  overflow-wrap: break-word;
  font-size: clamp(32px, 6cqw, 56px);
}

.service-card h3,
.plan-grid h3,
.why-grid strong {
  overflow-wrap: break-word;
}

@media (max-width: 1100px) {
  .why,
  .why-difference-copy,
  .difference-flow {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .proof-strip,
  .section-heading,
  .service-grid,
  .why-grid,
  .plan-grid,
  .network-callout,
  .scope-note,
  .process-grid,
  .testimonial-heading,
  .downloads-heading,
  .download-grid,
  .resource-showcase,
  .boundaries,
  .contact {
    grid-template-columns: 1fr;
  }
}

/* Service pages: internal cross-links styled as the existing network-points pills. */
.network-points a { padding: 8px 12px; color: var(--navy); background: var(--white); border: 1px solid rgba(38,34,98,.20); border-radius: 999px; font-size: 12px; font-weight: 700; transition: border-color 160ms ease, background 160ms ease, color 160ms ease; }
.network-points a:nth-child(even) { background: #fff1df; border-color: rgba(247,148,29,.38); }
.network-points a:hover { color: var(--white); background: var(--navy); border-color: var(--navy); }

/* Service pages: plain-language FAQ accordion, built from FAQPage schema content. */
.faq-group { max-width: 820px; margin: 0 auto; }
.faq-group + .faq-group { margin-top: 36px; }
.faq-group-title { margin: 0 0 16px; color: var(--navy-deep); font-size: 15px; font-weight: 800; }
.faq-list { display: grid; gap: 12px; }
.faq-item { padding: 22px 26px; background: var(--white); border: 1px solid var(--line); border-left: 4px solid var(--orange); border-radius: 10px; box-shadow: 0 10px 28px rgba(23,20,63,.05); }
.faq-item summary { margin: -22px -26px; padding: 22px 26px; color: var(--navy-deep); font-size: 16px; font-weight: 780; line-height: 1.4; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; float: right; color: var(--orange-deep); font-size: 20px; font-weight: 800; }
.faq-item[open] summary::after { content: "\2212"; }
.faq-item[open] summary { padding-bottom: 12px; }
.faq-item p { margin: 16px 0 0; color: var(--slate); font-size: 14.5px; line-height: 1.65; }

/* Service pages: a single, self-contained pricing card. Deliberately built
   outside .plan-grid (which sizes cards to sit evenly side-by-side in a
   4-up comparison) so a lone card on a wide page keeps a readable width
   and never shows the empty reserved space that grid's fixed min-heights
   were designed to absorb across multiple siblings. */
.service-plan {
  max-width: 760px;
  margin: 0 auto;
  min-width: 0;
  padding: 34px 32px 30px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  background: linear-gradient(145deg, #ffffff 0%, #f6f6fb 48%, #dfe1ee 100%);
  border: 1px solid rgba(255,255,255,.92);
  border-top: 6px solid var(--orange);
  border-radius: 24px 5px 24px 5px;
  box-shadow: inset 0 1px 0 #fff, 0 24px 58px rgba(23,20,63,.10);
}
.service-plan .plan-heading { min-height: 0; gap: 10px; }
.service-plan .plan-heading > div { min-height: 0; }
.service-plan .plan-fit { min-height: 0; }
.service-plan ul { min-height: 0; margin: 23px 0 27px; }
.service-plan .plan-boundary { height: auto; min-height: 0; margin: 0 0 25px; }
.service-plan > .text-link { align-self: flex-start; }

/* Service page H1s are full natural-language sentences, not the short,
   hand-broken phrases the homepage hero size was designed for. Scale down
   so long headlines wrap cleanly instead of pushing right up against, or
   past, the card edge at the homepage's much larger clamp. */
.clearrock-service-page h1 { max-width: 900px; font-size: clamp(32px, 4.4vw, 58px); line-height: 1.08; letter-spacing: -.03em; overflow-wrap: break-word; }
