/* Diagnostic offert — a guided editorial page, with no dependency on motion. */
.blueprint-page { --bp-gold:#d5b46b; --bp-line:#d5b46b36; }
.blueprint-page *, .blueprint-page *::before, .blueprint-page *::after { box-sizing:border-box; }
.blueprint-page .page-intro h1 { text-wrap:balance; max-width:1000px; }
.blueprint-page .page-intro .eyebrow { display:flex; align-items:center; gap:14px; color:var(--bp-gold); }
.blueprint-page .page-intro .eyebrow::before { content:""; width:36px; height:1px; background:currentColor; transform-origin:left; }
.blueprint-page .content-section { position:relative; border-top:0; }
.blueprint-page .content-section::before { content:""; position:absolute; left:0; right:0; top:0; height:1px; background:linear-gradient(90deg,#d5b46b8c,#d5b46b10); transform-origin:left; }
.blueprint-page .section-heading { grid-template-columns:50px minmax(0,1fr); gap:22px; align-items:center; }
.blueprint-page .section-heading h2 { font-size:clamp(29px,3.3vw,44px); line-height:1.14; }
.blueprint-page .section-heading > .section-index { padding:0; display:flex; flex-direction:column; align-items:center; gap:10px; color:var(--bp-gold); font-size:10px; letter-spacing:.12em; }
.blueprint-page .bp-icon { display:inline-flex; width:28px; height:28px; flex:0 0 28px; color:var(--bp-gold); vertical-align:middle; }
.blueprint-page .bp-icon svg { width:100%; height:100%; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }
.blueprint-page .editorial-copy h3 { display:flex; align-items:center; gap:16px; font-size:clamp(24px,2.4vw,31px); line-height:1.25; margin-bottom:26px; }
.blueprint-page .editorial-copy h3 > .bp-icon { width:37px; height:37px; flex-basis:37px; }
.blueprint-page .editorial-copy p { max-width:620px; }
.blueprint-page .split-content { gap:42px; }
.blueprint-page .split-content .callout { position:relative; isolation:isolate; overflow:hidden; margin:0; padding:36px 30px; background:radial-gradient(ellipse at 5% 0%,#d5b46b18,transparent 78%),#0d0b08ed; border-color:var(--bp-line); transition:border-color .5s ease,box-shadow .5s ease; }
.blueprint-page .split-content .callout > .bp-icon { width:50px; height:50px; margin-bottom:25px; }
.blueprint-page .split-content .callout > .section-index { display:block; font-size:10px; letter-spacing:.14em; color:#cab888; }
.blueprint-page .split-content .callout h3 { font-size:clamp(27px,2.7vw,36px); margin:20px 0; }
.blueprint-page .split-content .callout p { font-size:15px; line-height:1.8; margin-bottom:0; }
.blueprint-page .split-content .callout::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(115deg,transparent 10%,#e8cd9214 48%,transparent 85%); translate:-110% 0; pointer-events:none; }
.blueprint-page .split-content .callout:hover { border-color:#d5b46b99; box-shadow:0 12px 45px #0005; }
.blueprint-page .split-content .callout:hover::after { animation:bp-sweep 1.3s cubic-bezier(.22,.61,.36,1) both; }
.blueprint-page .split-content .callout:hover > .bp-icon { animation:bp-icon-focus .8s ease both; }
.blueprint-page .request-form { max-width:100%; background:linear-gradient(145deg,#100e0be6,#050505b8); padding:36px; border:1px solid #d5b46b25; }
.blueprint-page .bp-field-title { display:flex; align-items:center; gap:10px; min-height:23px; color:#c7c1b3; transition:color .3s ease; }
.blueprint-page .bp-field-title > .bp-icon { width:19px; height:19px; flex-basis:19px; }
.blueprint-page .request-form label:focus-within .bp-field-title { color:#f0dba5; }
.blueprint-page .request-form label:focus-within .bp-field-title > .bp-icon { animation:bp-icon-focus .7s ease both; }
.blueprint-page .request-form :is(input:not([type=checkbox]),select,textarea) { border-color:#c9b77e35; background:#080706c9; transition:border-color .35s ease,box-shadow .35s ease,background-color .35s ease; }
.blueprint-page .request-form :is(input:not([type=checkbox]),select,textarea):hover { border-color:#d5b46b85; }
.blueprint-page .request-form :is(input:not([type=checkbox]),select,textarea):focus { outline:1px solid #d5b46b7a; outline-offset:3px; border-color:#d5b46b; box-shadow:0 0 24px #d5b46b0d; background:#141109; }
.blueprint-page .request-form fieldset { border-color:var(--bp-line); }
.blueprint-page .check-grid { gap:12px; }
.blueprint-page .check-grid label { position:relative; align-items:center; padding:14px 15px; background:#d5b46b04; border:1px solid #d5b46b1a; transition:background-color .35s ease,border-color .35s ease; cursor:pointer; }
.blueprint-page .check-grid label > span:not(.bp-icon) { flex:1; }
.blueprint-page .check-grid label > .bp-icon { width:23px; height:23px; flex-basis:23px; margin-left:auto; opacity:.55; transition:opacity .35s ease,transform .35s ease; }
.blueprint-page .check-grid label:is(:hover,:focus-within) { background:#d5b46b0e; border-color:#d5b46b7d; }
.blueprint-page .check-grid label:is(:hover,:focus-within) > .bp-icon { opacity:1; transform:translateY(-2px); }
.blueprint-page .check-grid label:has(:checked) { background:#d5b46b18; border-color:#d5b46b; }
.blueprint-page .check-grid label:has(:checked) > .bp-icon { opacity:1; }
.blueprint-page .bp-action { position:relative; isolation:isolate; overflow:hidden; display:inline-flex; align-items:center; justify-content:space-between; gap:18px; min-height:58px; max-width:100%; padding:18px 22px; white-space:normal; line-height:1.4; transition:box-shadow .4s ease,background-position .6s ease; }
.blueprint-page .bp-action > .bp-icon { color:currentColor; width:22px; height:22px; flex-basis:22px; }
.blueprint-page .bp-action::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(100deg,transparent 20%,#fff7 50%,transparent 80%); translate:-120% 0; pointer-events:none; }
.blueprint-page .bp-action:is(:hover,:focus-visible) { box-shadow:0 8px 30px #d5b46b24; }
.blueprint-page .bp-action:is(:hover,:focus-visible)::after { animation:bp-sweep .9s cubic-bezier(.22,.61,.36,1) both; }
.blueprint-page .bp-action:is(:hover,:focus-visible) > .bp-icon { animation:bp-icon-focus .65s ease both; }
.blueprint-page .bp-action > span:not(.bp-icon) { transition:translate .4s ease; }
.blueprint-page .bp-action:is(:hover,:focus-visible) > span:not(.bp-icon) { translate:3px -2px; }
.blueprint-page .bp-action:focus-visible { outline:2px solid #e6ca86; outline-offset:5px; }
.blueprint-page .request-result:not([hidden]) { animation:bp-result-in .7s cubic-bezier(.22,.61,.36,1) both; }
.blueprint-page .request-result h3 { display:flex; align-items:center; gap:12px; }
.blueprint-page .request-actions { gap:14px; }
.blueprint-page .request-actions button { display:inline-flex; align-items:center; gap:10px; transition:border-color .3s ease,color .3s ease,background-color .3s ease; }
.blueprint-page .request-actions button > .bp-icon { width:20px; height:20px; flex-basis:20px; }
.blueprint-page .request-actions button:is(:hover,:focus-visible) { background:#d5b46b1a; border-color:#d5b46b; color:#f4dda0; }
.blueprint-page .request-actions button:is(:hover,:focus-visible) > .bp-icon { animation:bp-icon-focus .65s ease both; }
.blueprint-page .content-section.callout { isolation:isolate; overflow:hidden; padding:48px 40px; border:1px solid #d5b46b50; background:radial-gradient(ellipse at 100% 100%,#d5b46b1f,transparent 70%),#0e0c08e8; }
.blueprint-page .content-section.callout::before { display:none; }
.blueprint-page .content-section.callout > .bp-icon { width:48px; height:48px; margin-bottom:22px; }
.blueprint-page .content-section.callout h2 { font-size:clamp(30px,3.3vw,44px); max-width:720px; }
.blueprint-page .content-section.callout p { max-width:580px; }
.blueprint-page .bp-compass { position:absolute; z-index:-1; width:250px; height:250px; right:-55px; top:20%; opacity:.09; color:var(--bp-gold); transition:rotate 1.4s cubic-bezier(.22,.61,.36,1),opacity .8s ease; }
.blueprint-page .bp-compass svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:.5; }
.blueprint-page .content-section.callout:hover .bp-compass { rotate:28deg; opacity:.2; }

/* Isolate these entrances from the site's general text reveal. */
.blueprint-page [data-scroll-reveal]:not([data-bp-reveal]) { opacity:1!important; translate:none!important; animation:none!important; }
.blueprint-page [data-bp-reveal="pending"] { opacity:0; translate:0 22px; }
.blueprint-page [data-bp-reveal="entering"] { animation:bp-content-in .8s cubic-bezier(.22,.61,.36,1) var(--bp-delay,0ms) both!important; }
.blueprint-page.bp-motion-ready .content-section:not(.bp-section-visible)::before { scale:0 1; }
.blueprint-page .content-section.bp-section-visible::before { animation:bp-rule-in 1s cubic-bezier(.22,.61,.36,1) both; }
.blueprint-page [data-bp-reveal="entering"] .bp-icon :is(path,circle,rect,line,polyline) { stroke-dasharray:1; animation:bp-icon-draw .8s ease calc(var(--bp-delay,0ms) + var(--bp-stroke-order,0) * 45ms) both; }
@keyframes bp-content-in { from{opacity:0;translate:0 22px;filter:blur(2px)} to{opacity:1;translate:0 0;filter:none} }
@keyframes bp-rule-in { from{scale:0 1;opacity:.2} to{scale:1 1;opacity:1} }
@keyframes bp-icon-draw { from{stroke-dashoffset:1} to{stroke-dashoffset:0} }
@keyframes bp-icon-focus { 0%{scale:1;rotate:0deg} 55%{scale:1.13;rotate:-6deg} 100%{scale:1.04;rotate:0deg} }
@keyframes bp-sweep { from{translate:-120% 0} to{translate:120% 0} }
@keyframes bp-result-in { from{opacity:0;translate:0 18px;clip-path:inset(0 0 100% 0)} to{opacity:1;translate:0 0;clip-path:inset(0)} }
@media(max-width:999px) {
  .blueprint-page .split-content { grid-template-columns:1fr; gap:30px; }
  .blueprint-page .split-content .callout { max-width:760px; }
}
@media(max-width:767px) {
  .blueprint-page .section-heading { grid-template-columns:34px minmax(0,1fr); gap:15px; }
  .blueprint-page .section-heading .bp-icon { width:25px; height:25px; flex-basis:25px; }
  .blueprint-page .request-form { padding:24px 18px; }
  .blueprint-page .request-form fieldset { padding:20px 12px; }
  .blueprint-page .check-grid label { padding:13px 10px; }
  .blueprint-page .split-content .callout { padding:30px 24px; }
  .blueprint-page .content-section.callout { padding:34px 24px; }
  .blueprint-page .bp-action { font-size:11px; width:100%; }
}
.motion-off .blueprint-page *, .motion-off .blueprint-page *::before, .motion-off .blueprint-page *::after { animation:none!important; transition:none!important; }
.motion-off .blueprint-page [data-bp-reveal] { opacity:1!important; translate:none!important; filter:none!important; }
.motion-off .blueprint-page .content-section::before { scale:1 1!important; }
@media(prefers-reduced-motion:reduce),print {
  .blueprint-page *, .blueprint-page *::before, .blueprint-page *::after { animation:none!important; transition:none!important; }
  .blueprint-page [data-bp-reveal] { opacity:1!important; translate:none!important; filter:none!important; }
  .blueprint-page .content-section::before { scale:1 1!important; }
}
