/* Client project passport: scoped components, no external dependencies. */
.bt-passport-hero{background:#123e32;color:#fff;padding:30px 0 64px}
.bt-passport-hero .bt-breadcrumb,.bt-passport-hero .bt-breadcrumb a{color:#d8e9df}
.bt-passport-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:60px;align-items:center;margin-top:46px}
.bt-passport-eyebrow{display:block;font-size:11px;letter-spacing:.13em;font-weight:700;line-height:1.6}
.bt-passport-hero h1{font-size:clamp(38px,5.5vw,76px);line-height:1.04;letter-spacing:-.055em;margin:22px 0;color:#fff;max-width:900px}
.bt-passport-hero p{max-width:720px;color:#d5e5dc;font-size:18px;line-height:1.65}
.bt-passport-seal{border:1px solid #668c7a;padding:28px;transform:rotate(4deg);display:grid;gap:22px;color:#d2e5a7}
.bt-passport-seal>span{font-size:48px;font-weight:800;line-height:1}
.bt-passport-seal strong{font-size:16px;letter-spacing:.06em}
.bt-passport-seal small{font-size:10px;letter-spacing:.15em;line-height:1.7}
.bt-passport-workspace{background:#f1f3ef}
.bt-passport{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:48px;align-items:start}
.bt-passport-control-heading>span{font-size:11px;letter-spacing:.1em;color:#596d61;font-weight:700}
.bt-passport-control-heading h2{font-size:32px;letter-spacing:-.03em;margin:14px 0 30px}
.bt-passport fieldset{padding:0;border:0;margin:0 0 28px;min-width:0}
.bt-passport legend{font-size:14px;font-weight:750;padding:0;margin-bottom:12px;color:#123e32}
.bt-passport-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bt-passport-options-wide{grid-template-columns:1fr}
.bt-passport-options label{position:relative;display:flex;min-width:0}
.bt-passport input{position:absolute;opacity:0;width:1px;height:1px}
.bt-passport-options label>span{display:flex;align-items:center;min-height:52px;border:1px solid #cdd6ce;background:#fff;padding:12px 16px;font-size:13px;font-weight:600;color:#2c483a;width:100%;cursor:pointer;transition:background .15s,border-color .15s}
.bt-passport-options input:checked+span{background:#123e32;color:#fff;border-color:#123e32}
.bt-passport input:focus-visible+span,.bt-passport-stages label:has(input:focus-visible){outline:3px solid #9ab566;outline-offset:3px}
.bt-passport-stages label{display:grid;grid-template-columns:28px 1fr 24px;gap:14px;align-items:center;padding:17px 14px;border:1px solid #cdd6ce;border-bottom:0;cursor:pointer;background:#fff;position:relative}
.bt-passport-stages label:last-child{border-bottom:1px solid #cdd6ce}
.bt-passport-stage-no{font-size:12px;color:#718277;align-self:start;padding-top:3px}
.bt-passport-stages strong{display:block;font-size:15px;line-height:1.4;color:#123e32}
.bt-passport-stages small{display:block;font-size:12px;line-height:1.55;color:#65796b;margin-top:3px}
.bt-passport-check{display:grid;place-items:center;width:23px;height:23px;border:1px solid #b9c8bc;background:#fff;color:transparent;font-size:14px;line-height:1}
.bt-passport-stages label:has(input:checked){background:#e5ebdf}
.bt-passport-stages input:checked~.bt-passport-check{background:#123e32;color:#fff;border-color:#123e32}
.bt-passport-quiet{font-size:12px;line-height:1.7;color:#617368;margin:0;max-width:450px}
.bt-passport-document{background:#fff;box-shadow:0 12px 45px #123e3210;border:1px solid #d4dbd3;padding:32px;min-width:0;position:relative}
.bt-passport-document:before{content:"";position:absolute;left:-1px;top:-1px;width:90px;height:4px;background:#9ab566}
.bt-passport-document-top{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #dce3da;padding-bottom:22px;font-size:9px;line-height:1.5;letter-spacing:.08em;color:#607263;font-weight:700}
.bt-passport-document-heading{padding:28px 0}
.bt-passport-document-heading .bt-passport-eyebrow{color:#5e755e}
.bt-passport-document-heading h2{font-size:clamp(26px,3vw,38px);line-height:1.1;letter-spacing:-.04em;margin:16px 0 8px;color:#123e32}
.bt-passport-document-heading p{font-size:14px;margin:0 0 18px;color:#5f7265}
.bt-passport-document-heading>strong{display:inline-block;font-size:11px;padding:7px 10px;background:#edf1e8;font-weight:650;color:#385236}
.bt-passport-context{padding:20px;background:#f3f5ef;border-left:2px solid #9ab566;margin-bottom:26px}
.bt-passport-context strong{font-size:13px;color:#123e32}
.bt-passport-context p{font-size:12px;line-height:1.7;color:#506450;margin:8px 0 0}
.bt-passport-results>section{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid #e0e6dc}
.bt-passport-result-title{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:baseline}
.bt-passport-result-title>span{font-size:11px;color:#758572}
.bt-passport-result-title h3{font-size:17px;line-height:1.4;margin:0;color:#123e32}
.bt-passport-results ul{padding:0 0 0 36px;margin:10px 0 0;list-style:none}
.bt-passport-results li{position:relative;font-size:13px;line-height:1.6;margin-bottom:6px;color:#4c6051}
.bt-passport-results li:before{content:"";position:absolute;left:-14px;top:8px;width:4px;height:4px;background:#9ab566}
.bt-passport [hidden]{display:none!important}
.bt-passport-questions{border-bottom:1px solid #dce3da;padding-bottom:20px;margin-bottom:20px}
.bt-passport-questions summary{font-size:14px;font-weight:700;color:#123e32;cursor:pointer}
.bt-passport-questions ul{margin:15px 0 0;padding-left:18px}
.bt-passport-questions li{font-size:12px;line-height:1.65;color:#556a58;margin-bottom:10px}
.bt-passport-document-note{font-size:11px;color:#6b7b6a;line-height:1.7}
.bt-passport-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.bt-passport-actions button{font:inherit;font-size:12px;min-height:44px;padding:11px 14px;border:1px solid #c9d3c4;background:#fff;color:#123e32;cursor:pointer}
.bt-passport-actions button.bt-button{background:#123e32;border-color:#123e32;color:#fff}
.bt-passport-actions button:hover{border-color:#123e32}
.bt-passport-actions button:focus-visible{outline:3px solid #9ab566;outline-offset:3px}
.bt-passport-actions button:disabled{opacity:.45;cursor:not-allowed}
.bt-passport-feedback a{color:#123e32;text-decoration:underline;text-underline-offset:3px}
.bt-passport-feedback{font-size:12px;color:#3d6047;line-height:1.6;min-height:20px;margin:14px 0 0;overflow-wrap:anywhere}
.bt-passport-document-footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #dce3da;margin-top:20px;padding-top:16px;font-size:10px;color:#6c7e6b}
.bt-passport-teaser{background:#f5f6f1}
.bt-passport-teaser-inner{background:#123e32;color:#fff;padding:clamp(26px,4vw,64px);display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;overflow:hidden}
.bt-passport-teaser-inner .bt-section-number{color:#cbddab}
.bt-passport-teaser-inner h2{color:#fff;font-size:clamp(32px,4.2vw,60px);line-height:1.07;letter-spacing:-.045em;margin:18px 0 22px}
.bt-passport-teaser-inner p{font-size:16px;line-height:1.7;color:#d7e4d9;max-width:540px;margin-bottom:28px}
.bt-passport-mini{background:#f7f8f2;color:#123e32;padding:30px;transform:rotate(3deg);box-shadow:12px 14px 0 #ffffff15;border-top:4px solid #b3c984}
.bt-passport-mini>span{display:block;font-size:9px;letter-spacing:.1em;font-weight:750}
.bt-passport-mini>strong{display:block;font-size:30px;line-height:1.13;letter-spacing:-.04em;margin:25px 0}
.bt-passport-mini>div{font-size:12px;line-height:1.6;border-top:1px solid #ced8c7;padding:14px 0}
.bt-passport-mini i{font-style:normal;font-size:10px;color:#7a8c6f;margin-right:14px}
.bt-passport-mini>span:last-child{margin-top:20px;font-size:8px}
@media(max-width:1000px){.bt-passport{gap:24px;grid-template-columns:.85fr 1.15fr}.bt-passport-document{padding:24px}.bt-passport-teaser-inner{gap:35px}.bt-passport-hero-grid{gap:30px;grid-template-columns:1fr 170px}.bt-passport-seal{padding:20px}}
@media(max-width:760px){.bt-passport{grid-template-columns:1fr}.bt-passport-document{padding:24px 20px}.bt-passport-hero-grid{grid-template-columns:1fr;margin-top:32px}.bt-passport-seal{display:none}.bt-passport-hero{padding-bottom:38px}.bt-passport-hero p{font-size:16px}.bt-passport-teaser-inner{grid-template-columns:1fr;gap:32px}.bt-passport-mini{max-width:380px;transform:rotate(1deg)}.bt-passport-actions{display:grid;grid-template-columns:1fr}.bt-passport-document-top{font-size:8px;gap:12px}.bt-passport-workspace{padding-block:36px}.bt-passport-control-heading h2{font-size:28px}.bt-passport-stages label{min-height:68px}.bt-passport-options label>span{min-height:52px}}
@media(prefers-reduced-motion:reduce){.bt-passport-options label>span{transition:none}}
@media print{
 @page{size:A4;margin:16mm}
 body.bt-passport-print{background:#fff!important}
 .bt-passport-print .bt-header,.bt-passport-print .bt-footer,.bt-passport-print .bt-menu-drawer,.bt-passport-print .bt-skip,.bt-passport-print .bt-mobile-contact,.bt-passport-print .bt-passport-hero,.bt-passport-print .bt-passport-controls,.bt-passport-print .bt-passport-page>section:last-child,.bt-passport-print .bt-passport-actions,.bt-passport-print .bt-passport-feedback,.bt-passport-print jdiv,.bt-passport-print [class*="wpvibe-preview"],.bt-passport-print .bt-jivo-fallback{display:none!important}
 .bt-passport-print .bt-section,.bt-passport-print .bt-wrap{padding:0!important;width:100%!important;max-width:none!important}
 .bt-passport-print .bt-passport{display:block}
 .bt-passport-print .bt-passport-document{box-shadow:none;border:0;padding:0}
 .bt-passport-print .bt-passport-results>section{break-inside:avoid}
 .bt-passport-print .bt-passport-document-heading{padding:18px 0}
 .bt-passport-print .bt-passport-document-heading h2{font-size:28px}
 .bt-passport-print .bt-passport-context{background:#f5f5f0!important;print-color-adjust:exact}
 .bt-passport-print .bt-passport-results li,.bt-passport-print .bt-passport-questions li{font-size:10pt}
 .bt-passport-print .bt-passport-results>section{padding-bottom:10px;margin-bottom:12px}
 .bt-passport-print .bt-passport-questions{break-inside:avoid}
 .bt-passport-print .bt-passport-workspace{background:#fff}
}
