/* Decision Budget: the envelope boundary carries the visual story.
   Sunholo orange #e73c17, slate #314352, ink #2c3e50,
   paper #ffffff, ground #f6f8fa; Montserrat throughout. */
.decision-budget { background: #f6f8fa; }
.decision-budget main { font-size: 17px; }
.decision-budget main h1, .decision-budget main h2, .decision-budget main h3 { color: #2c3e50; line-height: 1.2; }
.decision-budget main h1 { font-size: clamp(34px, 3.4vw, 48px); letter-spacing: -.035em; margin: 18px 0 24px; max-width: 22ch; }
.decision-budget main h2 { font-size: clamp(28px, 3vw, 38px); letter-spacing: -.025em; margin-bottom: 22px; }
.decision-budget main h3 { font-size: 21px; margin-bottom: 14px; }
.decision-budget main p { max-width: 68ch; margin-bottom: 18px; }
.db-product { font-size: 19px; font-weight: 600; color: #314352; }
.db-hero { padding: 76px 0 80px; }
.db-hero-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: center; }
.db-lead { font-size: 21px; line-height: 1.65; }
.db-actions { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; margin: 28px 0 22px; }
.decision-budget .btn { background: #bd3012; color: white; }
.db-text-link { color: #314352; font-weight: 600; text-underline-offset: 5px; }
.decision-budget main .db-note { color: #555; font-size: 13px; }
.db-envelope { background: #fff; border: 1px solid #d2dbe2; border-radius: 12px; padding: 28px; box-shadow: 0 18px 44px #31435212; }
.db-envelope figcaption { font-weight: 600; color: #314352; margin-bottom: 24px; }
.db-envelope figcaption span { display: block; font-size: 12px; font-weight: 400; margin-top: 5px; }
.db-permitted { border: 2px solid #314352; border-radius: 8px; padding: 22px; }
.db-status { display: block; color: #314352; font-size: 13px; font-weight: 600; margin-bottom: 12px; }
.decision-budget .db-envelope h2 { font-size: 23px; margin-bottom: 12px; }
.decision-budget .db-envelope p { font-size: 14px; margin: 0; }
.db-boundary { border-left: 3px solid #e73c17; margin: 0 0 14px 22px; padding: 18px 0 10px 20px; }
.db-boundary span, .db-boundary strong { display: block; font-size: 14px; }
.db-boundary strong { color: #ae3017; }
.db-envelope dl > div { display: grid; grid-template-columns: 108px 1fr; gap: 12px; font-size: 12px; padding: 12px 0; border-top: 1px solid #e1e6eb; }
.db-envelope dt { font-weight: 600; color: #314352; }
.db-section { padding: 80px 0; scroll-margin-top: 110px; }
.db-white { background: #fff; }
.db-split { display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; align-items: start; }
.db-intro { color: #555; }
.db-deliverables { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; margin: 44px 0; }
.db-deliverables article { border-top: 3px solid #314352; padding-top: 24px; }
.db-deliverables p { font-size: 16px; }
.decision-budget main .db-use { color: #555; font-size: 14px; }
.db-measurement { border-left: 4px solid #e73c17; padding: 22px 28px; background: #f6f8fa; }
.decision-budget main .db-measurement p { margin: 0; max-width: 90ch; }
.db-ladder { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; margin-top: 36px; gap: 0; }
.db-ladder li { border-top: 3px solid #314352; padding: 24px 24px 0 0; }
.db-ladder li:last-child { border-color: #e73c17; }
.db-ladder span { color: #526677; display: block; margin-bottom: 16px; }
.db-ladder p { font-size: 15px; }
.db-process { padding-left: 24px; }
.db-process li { padding-left: 12px; margin-bottom: 28px; }
.db-process li::marker { color: #ae3017; font-weight: 600; }
.db-pricing { border-left: 3px solid #e73c17; padding-left: 32px; }
.decision-budget main .db-price { font-size: clamp(30px, 3.5vw, 42px); font-weight: 600; color: #2c3e50; letter-spacing: -.035em; }
.db-price span { font-size: 16px; font-weight: 400; letter-spacing: 0; }
.db-pricing > div { border-top: 1px solid #d2dbe2; padding-top: 24px; margin-top: 28px; }
.db-faq { max-width: 850px; }
.db-faq details { border-bottom: 1px solid #d2dbe2; padding: 22px 0; }
.db-faq summary { cursor: pointer; font-weight: 600; color: #314352; }
.decision-budget main .db-faq details p { margin: 18px 0 0; }
.db-contact { background: #314352; color: white; }
.decision-budget main .db-contact h2 { color: white; }
.db-contact .db-split { align-items: center; }
.db-contact .db-email { margin-top: 16px; font-size: 15px; }
.db-about { padding-top: 28px; padding-bottom: 12px; font-size: 13px; }
.db-skip { position: absolute; left: 20px; top: -80px; background: white; padding: 12px; z-index: 200; }
.db-skip:focus { top: 12px; }
.decision-budget a:focus-visible, .decision-budget summary:focus-visible, .decision-budget button:focus-visible { outline: 3px solid #ae3017; outline-offset: 5px; }
@media (max-width: 900px) {
    .db-hero-grid, .db-split { grid-template-columns: 1fr; gap: 32px; }
    .db-hero { padding: 44px 0; }
    .decision-budget main h1 { max-width: 22ch; }
    .db-section { padding: 52px 0; }
    .db-deliverables { grid-template-columns: 1fr; gap: 22px; }
    .db-ladder { grid-template-columns: repeat(2, 1fr); gap: 28px 16px; }
}
@media (max-width: 480px) {
    .decision-budget .container { width: 100%; padding-left: 22px; padding-right: 22px; }
    .db-envelope { padding: 20px; }
    .db-envelope dl > div { grid-template-columns: 1fr; gap: 3px; }
    .db-permitted { padding: 16px; }
    .db-ladder { grid-template-columns: 1fr; }
    .db-pricing { padding-left: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .decision-budget *, .decision-budget *::before, .decision-budget *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Worked examples: source → boundary → permitted action or human handover. */
.db-scenario-picker { display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0 24px; }
.db-scenario-picker[hidden], .db-scenario[hidden] { display: none; }
.db-scenario-picker button { font: inherit; font-size: 15px; font-weight: 600; border: 1px solid #314352; color: #314352; background: #fff; border-radius: 5px; padding: 13px 18px; cursor: pointer; }
.db-scenario-picker button[aria-pressed="true"] { background: #314352; color: #fff; }
.db-scenario { padding: 32px; background: #f6f8fa; border-radius: 10px; margin-top: 24px; }
.db-scenario-heading { display: flex; align-items: start; gap: 24px; justify-content: space-between; }
.db-example-label { flex-shrink: 0; font-size: 12px; color: #555; }
.db-route { display: grid; grid-template-columns: 1fr 1fr 1.35fr; gap: 36px; align-items: center; margin: 26px 0 34px; }
.db-route-input, .db-route-check { position: relative; text-align: center; padding: 20px 12px; }
.db-route-input::after, .db-route-check::after { content: '→'; position: absolute; right: -29px; top: 48%; font-size: 28px; color: #314352; }
.db-route svg { width: 120px; height: 90px; fill: #fff; stroke: #314352; stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; margin-bottom: 14px; }
.db-route strong, .db-route span { display: block; }
.db-route strong { color: #314352; font-size: 15px; margin-bottom: 8px; }
.db-route span { font-size: 14px; }
.db-route-check { border: 2px solid #314352; border-radius: 50% / 18%; }
.db-route-results { display: grid; gap: 14px; }
.db-route-results > div { border-left: 3px solid #314352; background: white; padding: 18px; }
.db-route-results > div:last-child { border-color: #e73c17; }
.db-route-results > div:last-child strong { color: #ae3017; }
.db-scenario-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; border-top: 1px solid #d2dbe2; padding-top: 26px; }
.db-scenario-columns h4 { color: #314352; font-size: 16px; margin-bottom: 12px; }
.decision-budget main .db-scenario-columns p { font-size: 14px; margin-bottom: 0; }
.db-handback { display: grid; grid-template-columns: 1.1fr 1fr; gap: 52px; align-items: center; margin: 48px 0; }
.db-document-preview { background: white; border: 1px solid #d2dbe2; border-top: 5px solid #314352; padding: 28px; box-shadow: 8px 8px 0 #e8edf1; }
.db-paper-tab { color: #ae3017; font-size: 13px; margin-bottom: 22px; font-weight: 600; }
.decision-budget main .db-document-preview h3 { font-size: 18px; }
.db-register-row { display: flex; justify-content: space-between; gap: 20px; font-size: 12px; border-bottom: 1px solid #d2dbe2; padding: 16px 0; }
.db-register-row strong { color: #314352; }
.decision-budget main .db-document-preview p { font-size: 12px; margin: 22px 0 0; }
.decision-budget main .db-handback .db-note { margin-top: 18px; }
.db-fee-work { list-style: none; }
.db-fee-work li { padding: 18px 0; border-top: 1px solid #d2dbe2; font-size: 15px; }
.db-fee-work strong { display: block; color: #314352; margin-bottom: 6px; }
.db-fit ul { padding-left: 22px; margin-bottom: 30px; }
.db-fit li { margin-bottom: 12px; }
@media (max-width: 900px) {
    .db-scenario-heading { display: block; }
    .db-example-label { display: block; margin-bottom: 14px; }
    .db-route { gap: 28px; }
    .db-route-input::after, .db-route-check::after { right: -25px; }
    .db-scenario-columns, .db-handback { grid-template-columns: 1fr; gap: 26px; }
}
@media (max-width: 600px) {
    .db-scenario { padding: 22px; }
    .db-route { grid-template-columns: 1fr; gap: 34px; }
    .db-route-input::after, .db-route-check::after { content: '↓'; top: auto; bottom: -34px; right: calc(50% - 9px); }
    .db-route svg { height: 72px; }
    .db-document-preview { padding: 20px; }
    .db-register-row { flex-direction: column; gap: 5px; }
}
.db-real-preview { display: block; max-width: 360px; margin: 0 auto; }
.db-real-preview img { display: block; width: 100%; height: auto; border: 1px solid #d2dbe2; box-shadow: 8px 8px 0 #e8edf1; }
.db-downloads { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin: 36px 0 22px; }
.db-downloads article { border-top: 2px solid #314352; padding-top: 20px; }
.decision-budget main .db-downloads h3 { font-size: 19px; }
.db-downloads p { font-size: 14px; }
.db-downloads a { display: inline-block; margin: 0 18px 10px 0; font-size: 14px; }
.db-downloads a, .db-source-links a { color: #314352; font-weight: 600; text-underline-offset: 4px; }
.decision-budget main .db-source-links { font-size: 14px; margin-bottom: 36px; }
@media (max-width: 900px) { .db-downloads { grid-template-columns: 1fr; } }
.db-sample-request { max-width: 640px; padding: 30px; background: #f6f8fa; border-left: 3px solid #e73c17; margin: 36px 0; scroll-margin-top: 120px; }
.db-sample-request .form-group { margin-bottom: 12px; }
.db-sample-request input[type="email"] { background: #fff; font: inherit; width: 100%; padding: 12px; border: 1px solid #8b9aa6; border-radius: 4px; }
.db-sample-request a { color: #314352; }
.db-consent { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; margin: 18px 0; cursor: pointer; }
.db-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 3px; }
.db-sample-request button { font: inherit; border: 0; cursor: pointer; margin-top: 8px; }
.db-sample-request button:disabled { opacity: .6; cursor: wait; }
.db-honeypot { position: absolute; left: -9999px; }
.decision-budget main #sample-status { font-size: 14px; margin: 16px 0 0; }
.db-download-content[hidden], #sample-request-form[hidden] { display: none; }
.decision-budget input:focus-visible { outline: 3px solid #ae3017; outline-offset: 3px; }
.db-brand { display: flex; align-items: center; gap: 8px; }
.db-brand img { width: 88px; height: 88px; object-fit: contain; margin-left: -12px; }
.decision-budget main .db-brand .db-product { margin: 0; }
/* Landscape architectural study replaces the small Blender identity badge. */
.db-hero { background:#fff; }
.db-hero-grid { grid-template-columns:1fr 1.1fr; gap:40px; }
.db-study { margin:0; }
.db-study img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; }
.db-study figcaption { color:#526677; font-size:13px; text-align:center; margin:16px 12px 0; }
@media(max-width:900px) { .db-hero-grid { grid-template-columns:1fr; gap:28px; } .db-study { max-width:640px; margin:0 auto; } }
