:root { --bp-ink:#17171c; --bp-muted:#62626e; --bp-purple:#7913fc; --bp-violet:#c592ff; --bp-dark:#030509; --page-width:1180px; --page-gutter:24px; color-scheme:light; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.blueprint-page { margin:0; background:var(--bp-dark); color:var(--bp-ink); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.bp-content { position:relative; overflow:clip; }
.bp-content :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure) { margin:0; }
.bp-content a { text-decoration:none; }
.bp-content button { font:inherit; }
.bp-content section { scroll-margin-top:106px; }
.bp-content [hidden] { display:none!important; }
.bp-container { width:100%; max-width:calc(var(--page-width) + var(--page-gutter)*2); margin-inline:auto; padding-inline:var(--page-gutter); }
.bp-section { padding-block:112px; }
.bp-content h1,.bp-content h2,.bp-content h3 { font-weight:600; text-wrap:balance; }
.bp-content h2 { font-size:clamp(32px,3.45vw,46px); line-height:1.1; letter-spacing:-.048em; }
.bp-lead { color:var(--bp-muted); font-size:17px; line-height:1.7; letter-spacing:-.01em; text-wrap:pretty; }
.bp-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:64px; margin-bottom:48px; }
.bp-section-heading > div { flex:1; }
.bp-section-heading > .bp-lead { flex:0 1 415px; padding-bottom:4px; }
.bp-button { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:52px; padding:15px 24px; border:1px solid transparent; border-radius:999px; font-size:14px; font-weight:500; line-height:1.3; white-space:nowrap; transition:box-shadow .2s ease,background .2s ease; }
.bp-button--white { background:#fff; color:#18181d; border-color:#fff; }
.bp-button--outline { color:#fff; border-color:#ffffffb3; background:transparent; padding-inline:30px; }
.bp-button svg { flex-shrink:0; transition:transform .2s ease; }
.bp-text-link { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; color:#dbdbe4; font-size:14px; line-height:1.5; }
.bp-text-link--dark { color:#6630a0; }
.bp-text-link span { font-size:19px; }
.bp-content :is(a,button,summary,[tabindex]):focus-visible,.skip-link:focus-visible { outline:2px solid #9b6bff; outline-offset:5px; }
.skip-link { position:fixed; top:12px; left:24px; z-index:1200; padding:14px 20px; background:#fff; color:#17171c; border-radius:8px; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.blueprint-page .header .nav-link[aria-current='page'] { color:var(--bp-violet); }
.blueprint-page .header.light-mode .nav-link[aria-current='page'] { color:var(--bp-purple); }
.blueprint-page .mobile-menu a[aria-current='page'] { color:var(--bp-violet); }
.blueprint-page .header.light-mode .mobile-menu a[aria-current='page'] { color:var(--bp-purple); }
.bp-reveal { transition:opacity .65s ease,transform .65s cubic-bezier(.16,1,.3,1); }
.blueprint-page.enhanced .bp-reveal:not(.is-visible) { opacity:0; transform:translateY(20px); }

/* The same stellar language as Safe, with Blueprint's architecture silhouette. */
.bp-hero { position:relative; isolation:isolate; background:radial-gradient(ellipse at 77% 47%,#1c13372b,transparent 54%),var(--bp-dark); color:#fff; }
.bp-hero__stars { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.bp-hero__container { position:relative; display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:40px; min-height:max(730px,100svh); padding-top:152px; padding-bottom:64px; }
.bp-hero__copy { position:relative; isolation:isolate; min-width:0; }
.bp-hero__copy::before { content:""; position:absolute; z-index:-1; inset:-48px; background:rgb(3 5 9 / 70%); mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent),linear-gradient(180deg,transparent,#000 48px,#000 calc(100% - 48px),transparent); mask-composite:intersect; pointer-events:none; }
.bp-content .bp-hero h1 { font-size:clamp(44px,4.35vw,62px); line-height:1.07; letter-spacing:-.052em; }
.bp-hero h1 span { color:#fff; }
.bp-hero__description { max-width:510px; margin-top:26px!important; color:#b5b5bf; font-size:17px; line-height:1.65; letter-spacing:-.012em; text-wrap:pretty; }
.bp-hero__ownership { max-width:510px; margin-top:22px!important; color:#e0e0e6; font-size:16px; line-height:1.6; letter-spacing:-.012em; }
.bp-hero__actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:30px; }
.bp-hero__note { margin-top:16px!important; color:#9899a9; font-size:12px; line-height:1.65; max-width:425px; }
.bp-hero__figure { width:100%; aspect-ratio:1; position:relative; pointer-events:none; }
.bp-hero__fallback { position:absolute; width:100%; height:100%; object-fit:contain; border-radius:22px; }
.bp-hero.is-drawn .bp-hero__fallback { display:none; }

/* Editorial white sections and dark technical plates mirror Safe. */
.bp-intro { background:#fff; }
.bp-intro__grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:88px; }
.bp-intro__visual { align-self:center; min-width:0; }
.bp-intro__visual img { display:block; width:100%; height:auto; }
.bp-intro__copy .bp-lead { margin-top:24px; }
.bp-intro__points { display:grid; gap:24px; margin-top:32px; }
.bp-intro__points > div { display:flex; gap:20px; }
.bp-step-index { color:#8c56bc; font-family:'SFMono-Regular',Consolas,monospace; font-size:13px; padding-top:4px; }
.bp-intro__points h3 { font-size:18px; line-height:1.4; letter-spacing:-.025em; }
.bp-intro__points p { margin-top:5px; color:var(--bp-muted); font-size:15px; line-height:1.65; }
.bp-deliverables { background:#f7f7f9; border-top:1px solid #ededf0; }
.bp-delivery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.bp-delivery-card { overflow:hidden; background:#fff; border:1px solid #e1e1e9; border-radius:20px; }
.bp-delivery-card__image { aspect-ratio:1.5; background:#f7f8fa; overflow:hidden; padding:0; border-bottom:1px solid #e6e9ee; }
.bp-delivery-card__image img { display:block; width:100%; height:100%; object-fit:contain; }
.bp-delivery-card__body { padding:30px 28px; }
.bp-delivery-card h3 { font-size:24px; line-height:1.16; letter-spacing:-.035em; }
.bp-delivery-card p { margin-top:16px; color:var(--bp-muted); font-size:16px; line-height:1.65; }
.bp-delivery-card ul { margin-top:24px; padding:20px 0 0; list-style:none; border-top:1px solid #ededf1; display:grid; gap:13px; }
.bp-delivery-card li { display:flex; align-items:baseline; gap:10px; color:#54545f; font-size:14px; line-height:1.5; }
.bp-delivery-card li::before { content:""; width:5px; height:5px; flex:0 0 5px; background:#a578cd; border-radius:50%; transform:translateY(-2px); }
.bp-delivery-package { margin-top:32px; border:1px solid #e1e1e9; border-radius:20px; background:#fff; overflow:hidden; scroll-margin-top:116px; }
.bp-delivery-package h3 { padding:26px 28px; border-bottom:1px solid #ededf1; font-size:24px; line-height:1.3; letter-spacing:-.035em; }
.bp-delivery-package__items { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
.bp-delivery-package__items > div { min-width:0; padding:26px 28px 28px; }
.bp-delivery-package__items > div + div { border-left:1px solid #ededf1; }
.bp-delivery-package dt { display:flex; flex-direction:column; align-items:flex-start; gap:16px; color:#33333e; font-size:16px; line-height:1.5; font-weight:600; }
.bp-delivery-package__icon { display:flex; align-items:center; justify-content:center; width:42px; height:42px; flex-shrink:0; border:1px solid #e9e3f0; border-radius:10px; background:#f8f6fb; color:#7951a9; }
.bp-delivery-package dd { margin-top:10px; color:var(--bp-muted); font-size:15px; line-height:1.65; }

.bp-costs { --cost-accent:linear-gradient(135deg,#7913fc 0%,#bc5cf0 100%); position:relative; background:radial-gradient(circle at 15% 50%,rgba(121,19,252,.25),transparent 55%),radial-gradient(circle at 85% 30%,rgba(156,81,240,.25),transparent 55%),#000; color:#fff; }
.bp-section.bp-costs { padding-block:64px; }
.bp-content .bp-costs { scroll-margin-top:88px; }
.bp-costs__grid { display:grid; grid-template-columns:1fr 1.06fr; align-items:center; gap:80px; }
.bp-costs h2 { font-size:clamp(36px,3.65vw,50px); line-height:1.08; }
.bp-costs h2 span { color:#bc5cf0; background:var(--cost-accent); background-size:170% 100%; background-position:right; background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.bp-costs .bp-lead { color:#b9bbc5; margin-top:28px; max-width:455px; }
.bp-costs__premise { max-width:430px; margin-top:28px!important; padding-top:22px; border-top:1px solid #292c35; color:#a0a4b1; font-size:14px; line-height:1.75; }
.bp-cost-model { min-width:0; border:1px solid #e3e5e9; border-radius:14px; background:#fff; color:#252a34; padding:24px; }
.bp-cost-model__header { display:flex; justify-content:space-between; align-items:center; gap:16px; color:#303642; font-size:15px; font-weight:600; line-height:1.5; }
.bp-cost-tabs { display:flex; margin-top:12px; border-bottom:1px solid #e4e7ec; }
.bp-cost-tabs button { position:relative; flex:1; min-width:0; cursor:pointer; min-height:46px; padding:12px 8px; color:#69717f; border:0; border-radius:0; font-size:14px; line-height:1.4; background:transparent; transition:background .2s ease,color .2s ease; }
.bp-cost-tabs button[aria-selected='true'] { color:#252a34; font-weight:600; }
.bp-cost-tabs button[aria-selected='true']::after { content:""; position:absolute; height:3px; inset-inline:0; bottom:-1px; background:var(--cost-accent); }
.bp-cost-panel { padding-top:12px; }
.bp-cost-panel__intro { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:12px; min-height:128px; }
.bp-cost-panel__illustration { display:block; width:100%; height:auto; aspect-ratio:32/13; }
.bp-cost-panel h3 { font-size:21px; line-height:1.25; letter-spacing:-.025em; }
.bp-cost-panel dl { margin-top:6px; }
.bp-cost-panel dl > div { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr); align-items:center; gap:18px; min-height:48px; border-bottom:1px solid #e8eaee; padding-block:8px; font-size:14px; line-height:1.5; }
.bp-cost-panel dt { color:#303642; font-weight:500; }
.bp-cost-panel dd { color:#69717f; text-align:right; }
.bp-cost-panel__result { min-height:3.3em; margin-top:12px!important; color:#4c5563; font-size:14px; line-height:1.65; }
.bp-cost-model__footnote { color:#69717f; font-size:12px; line-height:1.6; margin-top:12px!important; padding-top:12px; border-top:1px solid #e8eaee; }

.bp-process { background:#fff; }
.bp-process .bp-section-heading { align-items:center; margin-bottom:36px; }
.bp-process__steps { list-style:none; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.bp-process__step { min-width:0; overflow:hidden; border:1px solid #e1e1e9; border-radius:18px; background:#fff; }
.bp-process__visual { aspect-ratio:5/3; background:#f7f8fa; border-bottom:1px solid #e6e9ee; }
.bp-process__visual img { display:block; width:100%; height:100%; object-fit:contain; }
.bp-process__body { padding:22px; }
.bp-process__body h3 { font-size:21px; line-height:1.25; letter-spacing:-.03em; }
.bp-process__body p { margin-top:12px; font-size:15px; line-height:1.6; color:var(--bp-muted); }
.bp-handoff { margin-top:24px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border:1px solid #e1e1e9; border-radius:16px; background:#fafafb; overflow:hidden; }
.bp-handoff__item { display:grid; grid-template-columns:26px minmax(0,1fr); align-items:start; gap:16px; padding:24px; }
.bp-handoff__item + .bp-handoff__item { border-left:1px solid #e5e5eb; }
.bp-handoff__item > svg { color:#7951a9; }
.bp-handoff h3 { font-size:16px; line-height:1.5; font-weight:600; }
.bp-handoff p { margin-top:6px; color:var(--bp-muted); font-size:15px; line-height:1.6; }
.bp-closing { position:relative; isolation:isolate; background:radial-gradient(ellipse 85% 55% at 50% 35%,#7913fc1c,transparent 70%),var(--bp-dark); }
.bp-final,.bp-faq { position:relative; color:#fff; background:transparent; }
.bp-section.bp-final { padding-block:88px 64px; scroll-margin-top:0; }
.bp-faq { padding-top:64px; }
.bp-faq__grid { display:grid; grid-template-columns:minmax(0,380px) minmax(0,1fr); gap:80px; }
.bp-faq__intro { align-self:start; position:sticky; top:128px; }
.bp-faq__intro > p { margin-top:24px; max-width:260px; color:#b7b4c4; font-size:16px; line-height:1.65; }
.bp-faq__intro .bp-text-link { margin-top:20px; justify-content:flex-start; color:#d5b5ff; }
.bp-faq__list { border-top:1px solid #ffffff1c; }
.bp-faq-item { border-bottom:1px solid #ffffff1c; }
.bp-faq-item summary { cursor:pointer; display:flex; align-items:center; gap:18px; list-style:none; min-height:87px; padding:24px 0; }
.bp-faq-item summary::-webkit-details-marker { display:none; }
.bp-faq-item__index { color:#a69eb4; font-family:'SFMono-Regular',Consolas,monospace; font-size:12px; }
.bp-faq-item h3 { flex:1; font-size:16px; line-height:1.5; font-weight:500; letter-spacing:-.015em; text-wrap:pretty; }
.bp-faq-item__icon { position:relative; width:18px; height:18px; flex:0 0 18px; color:#c592ff; }
.bp-faq-item__icon::before,.bp-faq-item__icon::after { content:""; position:absolute; width:12px; height:1px; background:currentColor; top:50%; left:3px; }
.bp-faq-item__icon::after { transform:rotate(90deg); transition:transform .2s; }
.bp-faq-item[open] .bp-faq-item__icon::after { transform:rotate(0); }
.bp-faq-item[open] h3 { color:#c592ff; }
.bp-faq-item__answer { padding:0 36px 26px 33px; color:#b7b4c4; font-size:16px; line-height:1.7; text-wrap:pretty; }
.bp-final__inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:64px; }
.bp-final__visual { position:relative; height:clamp(400px,40vw,540px); pointer-events:none; }
.bp-final__visual::before { content:""; position:absolute; inset:5% -10%; background:radial-gradient(closest-side,#8b5cf626,transparent 78%); filter:blur(28px); pointer-events:none; }
.bp-final #brain-canvas-container { position:relative; width:100%; height:100%; }
.bp-final #brain-canvas-container canvas { display:block; width:100%!important; height:100%!important; outline:none; }
.bp-final__brain-fallback { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; opacity:.72; }
.bp-final #brain-canvas-container:has(canvas) .bp-final__brain-fallback { display:none; }
.bp-final__copy { position:relative; max-width:550px; }
.bp-final__logo { display:block; width:auto; height:22px; margin-bottom:24px; }
.bp-final h2 { max-width:540px; font-size:clamp(36px,3.9vw,56px); line-height:1.1; letter-spacing:-.04em; }
.bp-final p { margin-top:24px; color:#b7b4c4; font-size:17px; line-height:1.65; max-width:500px; }
.bp-final .bp-button { margin-top:32px; }
.blueprint-page .footer-section { position:relative; background:#030509; }

@media(hover:hover) and (pointer:fine) {
  .bp-button:hover { box-shadow:0 0 26px #ffffff29; }
  .bp-button:hover svg { transform:translateX(3px); }
  .bp-button--outline:hover { background:#ffffff0f; box-shadow:none; }
  .bp-text-link:hover { color:#c592ff; }
  .bp-text-link--dark:hover { color:#7913fc; }
  .bp-cost-tabs button:hover { color:#252a34; background:#f4f5f7; }
  .bp-faq-item summary:hover h3 { color:#c592ff; }
  .bp-faq__intro .bp-text-link:hover { color:#fff; }
}
@media(min-width:1440px) { .bp-hero__container { min-height:100svh; } }
@media(max-width:1100px) {
  .bp-intro__grid,.bp-costs__grid { gap:48px; }
  .bp-faq__grid { gap:56px; }
  .bp-final__inner { gap:48px; }
  .bp-delivery-card__body { padding:26px 22px; }
  .bp-delivery-card h3 { font-size:22px; }
  .bp-cost-model { padding:22px; }
  .bp-process__steps { gap:16px; }
  .bp-process__body { padding:20px; }
  .bp-process__body h3 { font-size:20px; }
}
@media(max-width:900px) {
  .bp-section { padding-block:88px; }
  .bp-hero__container { grid-template-columns:1.12fr 1fr; gap:16px; padding-top:142px; min-height:710px; }
  .bp-content .bp-hero h1 { font-size:clamp(36px,4.8vw,44px); }
  .bp-hero__description { font-size:16px; }
  .bp-hero__actions { gap:12px; }
  .bp-section-heading { gap:40px; }
  .bp-section-heading > .bp-lead { flex-basis:340px; }
  .bp-delivery-grid { gap:16px; }
  .bp-delivery-card__body { padding:24px 18px; }
  .bp-delivery-card h3 { font-size:20px; }
  .bp-delivery-card li { font-size:13px; }
  .bp-delivery-package__items { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bp-delivery-package__items > div:nth-child(odd) { border-left:0; }
  .bp-delivery-package__items > div:nth-child(n+3) { border-top:1px solid #ededf1; }
  .bp-costs__grid { grid-template-columns:1fr; gap:40px; }
  .bp-costs__copy { max-width:600px; }
  .bp-costs .bp-lead,.bp-costs__premise { max-width:none; }
  .bp-costs h2 br { display:none; }
  .bp-cost-model { width:100%; max-width:680px; }
  .bp-process__steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .bp-faq__grid { grid-template-columns:1fr; gap:36px; max-width:calc(720px + var(--page-gutter)*2); }
  .bp-faq__intro { position:static; }
  .bp-final__inner { grid-template-columns:1fr; justify-items:center; gap:32px; }
  .bp-final__visual { width:100%; max-width:480px; height:420px; }
  .bp-final__copy { text-align:center; }
  .bp-final__logo { margin-inline:auto; }
  .bp-final h2 { font-size:44px; }
  .bp-final p { margin-inline:auto; }
}
@media(max-width:760px) {
  :root { --page-gutter:20px; }
  .bp-section { padding-block:72px; }
  .bp-section-heading { display:block; margin-bottom:32px; }
  .bp-section-heading > .bp-lead { max-width:540px; margin-top:24px; }
  .bp-content h2 { font-size:36px; }
  .bp-lead { font-size:16px; }
  .bp-hero__container { grid-template-columns:1fr; gap:30px; padding-top:128px; padding-bottom:40px; min-height:0; }
  .bp-hero__copy { width:100%; max-width:580px; margin-inline:auto; }
  .bp-hero__copy::before { inset:-28px; mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent),linear-gradient(180deg,transparent,#000 28px,#000 calc(100% - 28px),transparent); }
  .bp-content .bp-hero h1 { font-size:clamp(37px,9.65vw,56px); }
  .bp-hero__description { max-width:510px; margin-top:22px!important; font-size:16px; }
  .bp-hero__ownership { margin-top:18px!important; font-size:15px; }
  .bp-hero__actions { gap:4px 16px; margin-top:26px; }
  .bp-hero__note { max-width:330px; }
  .bp-hero__figure { order:-1; max-width:430px; max-width:min(430px,max(200px,100svh - 320px)); width:94%; margin-inline:auto; }
  .bp-intro__grid { grid-template-columns:1fr; gap:24px; }
  .bp-intro__visual { width:100%; max-width:540px; margin-inline:auto; }
  .bp-intro__points { gap:22px; }
  .bp-delivery-grid { grid-template-columns:1fr; gap:24px; }
  .bp-delivery-card { display:grid; grid-template-columns:.9fr 1fr; }
  .bp-delivery-card__image { aspect-ratio:auto; height:100%; min-height:280px; display:flex; align-items:center; }
  .bp-delivery-card__image img { height:auto; }
  .bp-delivery-card__body { padding:28px 24px; }
  .bp-delivery-card h3 { font-size:25px; }
  .bp-delivery-card li { font-size:14px; }
  .bp-costs__grid { grid-template-columns:1fr; gap:40px; }
  .bp-costs h2 { font-size:40px; }
  .bp-costs h2 br { display:none; }
  .bp-costs__copy { max-width:580px; }
  .bp-costs .bp-lead,.bp-costs__premise { max-width:none; }
  .bp-cost-model { padding:24px; }
  .bp-process .bp-section-heading { margin-bottom:28px; }
  .bp-handoff__item { gap:12px; padding:22px; }
  .bp-faq__grid { grid-template-columns:1fr; gap:32px; }
  .bp-faq__intro { max-width:540px; }
  .bp-faq__intro h2 br { display:none; }
  .bp-faq__intro > p { max-width:none; margin-top:18px; }
  .bp-faq__intro .bp-text-link { margin-top:10px; }
  .bp-faq-item summary { min-height:82px; }
  .bp-section.bp-final { padding-block:64px 48px; }
  .bp-final__inner { gap:24px; }
  .bp-final__visual { height:clamp(250px,78vw,360px); max-width:400px; }
  .bp-final__copy { max-width:520px; }
  .bp-final__logo { margin-bottom:20px; }
  .bp-final p { font-size:16px; }
  .bp-final h2 br { display:none; }
}
/* From 375px the headline holds two lines in every language, so the figure can keep more of its size. */
@media(min-width:375px) and (max-width:760px) { .bp-hero__figure { max-width:min(430px,max(200px,100svh - 296px)); } }
/* Low landscape phones: a compact two-column hero keeps headline and architecture in the first screen. */
@media(min-width:540px) and (max-width:760px) and (max-height:520px) {
  .bp-hero__container { grid-template-columns:1.12fr 1fr; gap:20px; padding-top:96px; }
  .bp-content .bp-hero h1 { font-size:clamp(26px,4.3vw,32px); }
  .bp-hero__description { margin-top:14px!important; font-size:14px; line-height:1.5; }
  .bp-hero__ownership { margin-top:12px!important; font-size:14px; }
  .bp-hero__actions { margin-top:18px; }
  .bp-hero__figure { order:0; align-self:start; max-width:208px; max-width:max(140px,100svh - 112px); width:100%; }
}
@media(max-width:520px) {
  .bp-delivery-card { display:block; }
  .bp-delivery-card__image { height:auto; min-height:0; aspect-ratio:1.6; }
  .bp-delivery-card__image img { height:100%; }
  .bp-delivery-card__body { padding:28px; }
  .bp-delivery-card h3 { font-size:26px; }
  .bp-delivery-card ul { gap:12px; }
  .bp-delivery-package h3 { padding:22px 24px; font-size:22px; }
  .bp-delivery-package__items { grid-template-columns:1fr; }
  .bp-delivery-package__items > div { padding:22px 24px; }
  .bp-delivery-package__items > div + div { border-left:0; border-top:1px solid #ededf1; }
  .bp-delivery-package dt { flex-direction:row; align-items:center; gap:14px; }
  .bp-cost-panel dl > div { grid-template-columns:1fr; gap:3px; min-height:64px; }
  .bp-cost-panel dd { text-align:left; }
  .bp-cost-panel__intro { grid-template-columns:1fr; gap:12px; min-height:0; padding-block:8px; }
  .bp-cost-panel__illustration { order:-1; height:112px; object-fit:contain; }
  .bp-cost-panel h3 { min-height:2.5em; font-size:22px; }
  .bp-cost-panel__result { min-height:4.95em; }
  .bp-cost-model { padding:22px; }
  .bp-handoff { grid-template-columns:1fr; }
  .bp-handoff__item + .bp-handoff__item { border-left:0; border-top:1px solid #e5e5eb; }
  .bp-process__steps { grid-template-columns:1fr; gap:16px; }
  .bp-process__step { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
  .bp-process__visual { display:flex; align-items:center; aspect-ratio:auto; border-bottom:0; border-right:1px solid #e6e9ee; }
  .bp-process__visual img { height:auto; }
  .bp-process__body { align-self:center; padding:20px 18px; }
  .bp-process__body h3 { font-size:19px; }
  .bp-process__body p { margin-top:10px; font-size:14px; }
  .bp-faq-item summary { gap:14px; }
  .bp-faq-item__answer { padding-left:28px; padding-right:16px; }
}
@media(max-width:480px) { :root { --page-gutter:16px; } .bp-content h2 { font-size:34px; } }
@media(max-width:359px) {
  .bp-content .bp-hero h1 { font-size:33px; }
  .bp-hero__actions { gap:6px; }
  .bp-cost-model { padding:18px; }
  .bp-cost-model__header { gap:8px; font-size:12px; }
  .bp-process__step { grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); }
  .bp-process__body { padding:18px 14px; }
}
@media(min-width:901px) {
  .bp-section.bp-costs { display:flex; align-items:center; min-height:calc(100svh + 72px); }
  .bp-content .bp-costs { scroll-margin-top:0; }
}
@media(min-width:901px) and (max-height:850px) {
  .bp-section.bp-costs { padding-block:28px; }
  .bp-costs h2 { font-size:42px; }
  .bp-costs .bp-lead { margin-top:22px; font-size:16px; }
  .bp-costs__premise { margin-top:20px!important; padding-top:16px; }
}
@media(min-width:901px) and (max-height:720px) {
  .bp-section.bp-costs { padding-block:12px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .bp-content *, .bp-content *::before,.bp-content *::after { animation:none!important; transition:none!important; }
  .blueprint-page.enhanced .bp-reveal { opacity:1; transform:none; }
}
@media(forced-colors:active) {
  .bp-hero__stars,.bp-hero__figure,.bp-hero__copy::before { display:none; }
  .bp-button,.bp-cost-tabs button,.bp-delivery-card { border:1px solid ButtonText; }
  .bp-cost-tabs button[aria-selected='true'] { outline:2px solid Highlight; }
  .bp-costs h2 span { background:none; -webkit-text-fill-color:currentColor; color:CanvasText; }
  .bp-cost-model { border-color:CanvasText; }
  .bp-faq-item__icon::before,.bp-faq-item__icon::after { background:ButtonText; }
}
