/* Orçamento: continuous editorial composition, independent artwork and live text. */
#main :is(.budget-page,.aiva-briefing) { --quote-amber:#d5ad77; --quote-muted:#b3b6ba; --quote-blue:#359aff; position:relative; isolation:isolate; overflow:clip; background:#080a0c; color:#f5f3ee; font-family:'DM Sans',Arial,sans-serif; }
#main :is(.budget-page,.aiva-briefing) [hidden] { display:none!important; }
#main :is(.budget-page,.aiva-briefing) > .detail-back { z-index:6; top:20px; left:6%; }
#main :is(.budget-page,.aiva-briefing) h1,#main :is(.budget-page,.aiva-briefing) h2,#main :is(.budget-page,.aiva-briefing) h3 { margin:0; font-family:'Cal Sans','DM Sans',sans-serif; font-weight:400; letter-spacing:-.018em; }
#main :is(.budget-page,.aiva-briefing) h2 { font-size:clamp(36px,4.25vw,66px); line-height:1.09; }
#main :is(.budget-page,.aiva-briefing) h3 { font-size:24px; line-height:1.25; }
#main :is(.budget-page,.aiva-briefing) em { color:var(--quote-amber); font-style:normal; }
#main :is(.budget-page,.aiva-briefing) p { font-size:17px; line-height:1.75; color:var(--quote-muted); margin:0; }
#main :is(.budget-page,.aiva-briefing) .quote-eyebrow { font-size:10px; font-weight:500; letter-spacing:.2em; line-height:1.7; color:#c5ae8e; margin-bottom:26px; }
#main .quote-wrap { position:relative; z-index:2; width:min(1280px,88%); margin-inline:auto; }
#main .quote-thread { position:absolute; z-index:0; inset:0; width:100%; height:100%; pointer-events:none; fill:none; stroke:#ba926c; stroke-width:.65; opacity:.18; }
#main .quote-hero { position:relative; display:flex; align-items:center; min-height:clamp(730px,calc(100svh - 46px),1000px); padding:120px 6% 130px; }
#main .quote-hero-art { position:absolute; z-index:0; right:0; top:0; height:100%; width:70%; overflow:hidden; border-bottom-left-radius:60% 22%; mask-image:linear-gradient(90deg,transparent,#000 27%),linear-gradient(#000 80%,transparent); mask-composite:intersect; -webkit-mask-image:linear-gradient(90deg,transparent,#000 27%); }
#main .quote-hero-art img { width:100%; height:100%; object-fit:cover; object-position:47% center; filter:brightness(.61) saturate(.75); transform:translateY(var(--quote-parallax,0px)) scale(var(--quote-zoom,1.025)); }
#main .quote-hero-art::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#080a0cf0,transparent 68%),linear-gradient(0deg,#080a0c,transparent 35%); pointer-events:none; }
#main .quote-blueprint { position:absolute; right:0; top:0; width:90%; height:100%; color:#e3c28e; opacity:.34; mix-blend-mode:screen; pointer-events:none; }
#main .quote-hero-copy { position:relative; z-index:2; max-width:690px; width:56%; }
#main .quote-hero h1 { font-size:clamp(48px,6.2vw,94px); line-height:1.01; }
#main .quote-hero .quote-lead { max-width:44ch; margin-top:32px; color:#c2c3c4; font-size:17px; }
#main .quote-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px 30px; margin-top:34px; }
#main :is(.budget-page,.aiva-briefing) .quote-button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; max-width:100%; min-height:54px; margin:0; padding:16px 25px; border:1px solid #5881a8; border-radius:99px; background:linear-gradient(135deg,#18324880,#080c1180); color:#f5f5f2; box-shadow:inset 0 1px #bdd9ec22,0 6px 20px #0002; font:500 11px/1.5 'DM Sans',sans-serif; letter-spacing:.055em; cursor:pointer; text-decoration:none; transition:background .25s,border-color .25s,box-shadow .25s; backdrop-filter:blur(8px); }
#main :is(.budget-page,.aiva-briefing) .quote-button span { color:#72b8ff; font-size:22px; line-height:1; }
#main :is(.budget-page,.aiva-briefing) .quote-button:hover { transform:none; background:#183b5680; border-color:#7db9f0; box-shadow:0 0 24px #278fff1f; }
#main .quote-text-link { display:inline-flex; align-items:center; gap:16px; color:#e6e4df; font-size:10px; font-weight:500; line-height:1.7; letter-spacing:.07em; text-decoration:none; text-underline-offset:6px; }
#main .quote-text-link span { color:#75b9f8; font-size:19px; }
#main .quote-text-link:hover { color:#97cfff; text-decoration:underline; }
#main :is(.budget-page,.aiva-briefing) a:focus-visible,#main :is(.budget-page,.aiva-briefing) button:focus-visible { outline:2px solid #78bdff; outline-offset:5px; }
#main .quote-hero .quote-image-caption { position:absolute; right:6%; bottom:85px; z-index:2; font-size:9px; letter-spacing:.15em; color:#d5c5b0; }
#main .quote-image-caption span { display:block; margin-top:7px; font-size:8px; color:#9e9d99; }
#main .quote-manifesto { padding-block:40px 120px; }
#main .quote-manifesto::before { content:''; position:absolute; top:-100px; right:-25vw; width:85vw; height:240px; border-top:1px solid #c6986444; border-radius:50%; transform:rotate(-9deg); pointer-events:none; }
#main .quote-manifesto h2 { max-width:1000px; }
#main .quote-manifesto .quote-manifesto-copy { max-width:580px; margin:34px 0 0 auto; }
#main .quote-journey { position:relative; margin-top:70px; }
#main .quote-journey-line { position:absolute; z-index:-1; left:0; top:48px; width:100%; height:140px; fill:none; stroke:#9e8159; stroke-width:1; opacity:.6; }
#main .quote-journey-line path { stroke-dasharray:1; stroke-dashoffset:0; transition:stroke-dashoffset 1.2s ease; }
#main .quote-journey ol { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); list-style:none; padding:0; margin:0; gap:30px; }
#main .quote-journey li:nth-child(even) { padding-top:48px; }
#main .quote-stage-art { width:76px; height:82px; padding:8px; background:radial-gradient(ellipse,#171b1eef,#080a0c); color:#b99d76; }
#main .quote-stage-art svg { width:100%; height:100%; }
#main .quote-stage-number { display:block; margin-top:26px; color:#708696; font-size:10px; letter-spacing:.1em; }
#main .quote-journey h3 { margin-top:12px; font:500 12px/1.3 'DM Sans',sans-serif; letter-spacing:.16em; }
#main .quote-journey p { max-width:180px; margin-top:12px; font-size:14px; line-height:1.6; }
#main .quote-briefing { display:grid; grid-template-columns:.8fr 1.2fr; align-items:start; gap:clamp(40px,6vw,100px); padding-block:60px 100px; scroll-margin-top:88px; }
#main .quote-briefing::before { content:''; position:absolute; pointer-events:none; top:80px; left:-24%; width:90%; height:800px; z-index:-1; background:radial-gradient(ellipse,#9b723519,transparent 65%); }
#main .quote-briefing-copy > p:not(.quote-eyebrow) { margin-top:26px; max-width:35ch; }
#main .quote-diagnosis { position:relative; margin-top:70px; padding:10px 0 10px 24px; border-left:1px solid #3f6179; }
#main .quote-diagnosis .quote-cross { position:absolute; left:-9px; top:-20px; background:#0b0d10; color:#7798ac; font-size:18px; }
#main .quote-diagnosis p { font-size:15px; line-height:1.7; margin-top:18px; }
#main .quote-diagnosis a { margin-top:24px; font-size:9px; }
#main .quote-form { position:relative; min-width:0; margin:0; padding:34px; border:1px solid #ffffff1c; border-radius:30px 6px 30px 6px; background:linear-gradient(145deg,#1b2023e6,#101418ef 50%,#0b0e12ed); box-shadow:inset 0 1px #f9e2bc0d,0 32px 70px #0003; scroll-margin-top:88px; }
#main .quote-form-top { display:flex; align-items:center; justify-content:space-between; gap:16px; color:#a6aeb6; font-size:9px; letter-spacing:.12em; }
#main #quote-step-count { flex:none; color:#7aadd1; }
#main .quote-step-nav { display:flex; gap:7px; margin:22px 0 36px; }
#main .quote-step-nav button { flex:1; min-width:0; min-height:32px; border:0; border-top:2px solid #ffffff20; padding:9px 0 0; background:transparent; text-align:left; color:#737e87; font:10px 'DM Sans',sans-serif; cursor:pointer; transition:border-color .25s,color .25s; }
#main .quote-step-nav button[aria-current=step] { border-color:#359aff; color:#93c8ff; }
#main .quote-step-nav button.is-complete { border-color:#6283a0; color:#b7cbd9; }
#main .quote-step-nav button:disabled { opacity:.45; cursor:default; }
#main .quote-form-step { min-inline-size:0; border:0; padding:0; margin:0; min-height:310px; }
#main .quote-form-step legend { float:none; width:100%; padding:0; color:#f2f2ed; font:400 clamp(26px,2.25vw,34px)/1.2 'Cal Sans',sans-serif; letter-spacing:-.01em; }
#main .quote-form-step legend:focus { outline:none; }
#main .quote-question-number { display:block; margin-bottom:14px; color:#af9572; font:10px/1.5 'DM Sans',sans-serif; letter-spacing:.15em; }
#main .quote-form .quote-question-help { margin-top:18px; font-size:13px; line-height:1.6; color:#aeb6be; }
#main .quote-choices { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
#main .quote-chip { position:relative; display:block; cursor:pointer; }
#main .quote-chip input { position:absolute; width:1px; height:1px; margin:0; opacity:0; }
#main .quote-chip span { display:flex; align-items:center; min-height:48px; border:1px solid #727d854f; border-radius:30px; padding:12px 19px; color:#d5d7da; background:#ffffff03; font-size:14px; line-height:1.4; transition:color .23s,border-color .23s,background .23s,box-shadow .23s; }
#main .quote-chip:hover span { border-color:#8a9eb0; background:#ffffff08; }
#main .quote-chip input:checked + span { border-color:#359aff; background:#2588e61c; color:#eef7ff; box-shadow:inset 0 0 14px #2588e609,0 0 14px #2588e614; }
#main .quote-chip input:focus-visible + span { outline:2px solid #97d2ff; outline-offset:4px; }
#main .quote-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px 16px; margin-top:26px; }
#main .quote-fields label,#main .quote-other { display:grid; gap:9px; color:#cbd0d5; font-size:13px; }
#main .quote-field-wide { grid-column:1/-1; }
#main .quote-other { margin-top:24px; }
#main .quote-fields input,#main .quote-fields textarea,#main .quote-other input,#main .quote-copy-fallback { width:100%; min-width:0; border:1px solid #8896a044; border-radius:8px; padding:13px 14px; background:#05090c66; color:#f0f2f5; font:16px/1.5 'DM Sans',sans-serif; }
#main .quote-fields textarea { resize:vertical; min-height:110px; }
#main .quote-fields input::placeholder,#main .quote-fields textarea::placeholder,#main .quote-other input::placeholder { color:#7c858d; }
#main .quote-fields input:focus,#main .quote-fields textarea:focus,#main .quote-other input:focus { outline:1px solid #359aff; border-color:#359aff; }
#main .quote-form .quote-contact-note { font-size:11px; margin-top:20px; }
#main .quote-form .quote-form-error { min-height:24px; margin:18px 0 10px; color:#ffd0af; font-size:13px; }
#main .quote-form-actions { display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between; }
#main .quote-form .quote-button { margin-left:auto; font-size:10px; }
#main .quote-previous,#main .quote-copy { padding:12px 0; color:#c7cdd4; background:none; border:0; font:10px/1.5 'DM Sans',sans-serif; letter-spacing:.05em; cursor:pointer; }
#main .quote-form .quote-no-commitment { margin-top:16px; text-align:right; font-size:11px; color:#98a0a8; }
#main #quote-summary { margin:26px 0 0; }
#main #quote-summary > div { padding:12px 0; border-top:1px solid #ffffff13; }
#main #quote-summary dt { font-size:11px; color:#939fa9; line-height:1.5; }
#main #quote-summary dd { margin:5px 0 0; color:#e4e6e8; font-size:15px; line-height:1.5; overflow-wrap:anywhere; white-space:pre-wrap; }
#main .quote-send-result { display:flex; flex-wrap:wrap; gap:14px 24px; border-top:1px solid #359aff44; padding-top:24px; margin-top:24px; }
#main .quote-send-result p { width:100%; font-size:14px; color:#cad8e5; }
#main .quote-send-result a { cursor:pointer; }
#main .quote-copy-fallback { min-height:180px; }
#main .quote-how { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:6vw; padding-block:70px 180px; }
#main .quote-how-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; padding:0; margin:0; list-style:none; }
#main .quote-how-steps li { position:relative; }
#main .quote-how-steps li::after { content:''; position:absolute; top:30px; left:53px; width:calc(100% - 40px); height:1px; background:linear-gradient(90deg,#b7996466,#66758555); }
#main .quote-how-steps li:last-child::after { display:none; }
#main .quote-how-steps svg { width:44px; height:52px; color:#b79b73; }
#main .quote-how-steps span { display:block; font-size:9px; color:#82939f; margin:16px 0 12px; }
#main .quote-how-steps h3 { font:400 14px/1.6 'DM Sans',sans-serif; color:#d3d6d9; }
#main .quote-finale { position:relative; z-index:1; min-height:650px; padding:120px 6%; display:flex; align-items:center; }
#main .quote-final-photo { position:absolute; inset:-60px 0 0; overflow:hidden; border-top-left-radius:50% 20%; border-top-right-radius:10% 5%; border-top:1px solid #b6987444; }
#main .quote-final-photo img { width:100%; height:100%; object-fit:cover; object-position:center 65%; filter:brightness(.45) saturate(.7); transform:translateY(var(--quote-parallax,0px)) scale(var(--quote-zoom,1.025)); }
#main .quote-final-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#080a0cf5, #080a0caa 48%,#080a0c22),linear-gradient(0deg,#080a0c,transparent 45%); }
#main .quote-final-copy { position:relative; width:min(800px,75%); }
#main .quote-final-copy h2 { font-size:clamp(36px,4.15vw,66px); }
#main .quote-final-copy > p:not(.quote-eyebrow) { max-width:47ch; margin-top:28px; color:#c2c5c8; }
#main .quote-final-copy .quote-button { margin-top:30px; }
#main .quote-final-copy small { display:block; margin-top:16px; color:#a5aaad; font-size:11px; }
#main .quote-motion [data-quote-reveal] { opacity:.5; filter:blur(5px); transform:translateY(14px); transition:opacity .65s ease,filter .65s ease,transform .65s cubic-bezier(.2,.6,.3,1); }
#main .quote-motion [data-quote-reveal].is-visible { opacity:1; filter:none; transform:none; }
#main .quote-motion .quote-journey:not(.is-visible) .quote-journey-line path { stroke-dashoffset:1; }
@media(min-width:1600px) { #main .quote-hero-copy { margin-left:calc((100vw - 1500px)/2); } }
@media(max-width:1050px) {
  #main .quote-hero-copy { width:65%; }
  #main .quote-hero h1 { font-size:clamp(48px,6.5vw,75px); }
  #main .quote-briefing { grid-template-columns:1fr 1.35fr; gap:35px; }
  #main .quote-form { padding:26px; }
  #main .quote-how { grid-template-columns:1fr; gap:50px; }
  #main .quote-how-steps { max-width:800px; }
  #main .quote-journey ol { gap:16px; }
}
@media(max-width:760px) {
  #main .quote-wrap { width:calc(100% - 44px); }
  #main :is(.budget-page,.aiva-briefing) > .detail-back { left:22px; top:16px; }
  #main .quote-hero { display:flex; flex-direction:column; align-items:stretch; padding:110px 22px 40px; min-height:0; }
  #main .quote-hero-copy { width:100%; max-width:580px; }
  #main .quote-hero h1 { font-size:clamp(44px,9.2vw,68px); }
  #main :is(.budget-page,.aiva-briefing) .quote-eyebrow { font-size:9px; letter-spacing:.14em; }
  #main .quote-hero .quote-lead { font-size:16px; margin-top:26px; }
  #main .quote-actions { gap:22px; }
  #main .quote-hero-art { position:relative; order:2; width:calc(100% + 44px); height:400px; margin:44px -22px 0; mask-image:linear-gradient(#000 75%,transparent); -webkit-mask-image:linear-gradient(#000 75%,transparent); border-radius:35% 0 0 0 / 15% 0 0 0; }
  #main .quote-hero-art img { object-position:center; filter:brightness(.8) saturate(.8); }
  #main .quote-hero-art::after { background:linear-gradient(0deg,#080a0c,transparent 45%); }
  #main .quote-blueprint { opacity:.18; }
  #main .quote-hero .quote-image-caption { bottom:70px; right:24px; font-size:8px; }
  #main .quote-manifesto { padding-block:36px 70px; }
  #main .quote-manifesto::before { width:110vw; right:-40vw; top:0; opacity:.5; }
  #main :is(.budget-page,.aiva-briefing) h2 { font-size:clamp(33px,7vw,48px); }
  #main .quote-manifesto .quote-manifesto-copy { margin-top:24px; font-size:16px; }
  #main .quote-journey { margin-top:40px; }
  #main .quote-journey-line { display:none; }
  #main .quote-journey ol { display:block; padding-left:0; }
  #main .quote-journey li:nth-child(n) { position:relative; display:grid; grid-template-columns:66px 1fr; gap:6px 24px; padding:0 0 30px; min-height:115px; }
  #main .quote-journey li:not(:last-child)::after { content:''; position:absolute; left:30px; top:72px; bottom:5px; width:1px; background:#9e815966; }
  #main .quote-stage-art { grid-row:1/4; width:62px; height:70px; }
  #main .quote-stage-number { margin-top:6px; }
  #main .quote-journey h3 { margin:0; font-size:12px; }
  #main .quote-journey p { margin:0; max-width:none; font-size:14px; }
  #main .quote-briefing { grid-template-columns:1fr; gap:40px; padding-block:20px 65px; }
  #main .quote-briefing-copy { display:contents; }
  #main .quote-briefing-copy > .quote-eyebrow { margin-bottom:-23px; }
  #main .quote-briefing-copy > p:not(.quote-eyebrow) { margin-top:-20px; max-width:none; }
  #main .quote-form { padding:24px 20px; border-radius:24px 5px 24px 5px; }
  #main .quote-form-top { font-size:8px; gap:10px; }
  #main .quote-form-step { min-height:285px; }
  #main .quote-form-step legend { font-size:28px; }
  #main .quote-step-nav { gap:6px; }
  #main .quote-chip span { padding:12px 15px; font-size:14px; }
  #main .quote-fields { grid-template-columns:1fr; }
  #main .quote-diagnosis { order:3; margin-top:0; }
  #main .quote-briefing > .quote-form { order:2; }
  #main .quote-form .quote-button { gap:16px; font-size:10px; padding:15px 18px; }
  #main .quote-form .quote-submit { width:100%; }
  #main .quote-form-actions { gap:12px; }
  #main .quote-how { padding-block:40px 110px; gap:42px; }
  #main .quote-how-steps { grid-template-columns:1fr 1fr; gap:40px 24px; }
  #main .quote-how-steps li:nth-child(2)::after { display:none; }
  #main .quote-finale { padding:95px 22px 80px; min-height:620px; }
  #main .quote-final-copy { width:100%; }
  #main .quote-final-photo { border-top-left-radius:55% 12%; }
  #main .quote-final-photo::after { background:linear-gradient(90deg,#080a0ce8,#080a0c88),linear-gradient(0deg,#080a0c,transparent 70%); }
  #main .quote-final-copy .quote-button { font-size:10px; gap:15px; padding-inline:20px; }
  #main .quote-final-copy > p:not(.quote-eyebrow) { font-size:16px; }
  #main .quote-thread { opacity:.1; }
}
@media(prefers-reduced-motion:reduce) {
  #main .quote-motion [data-quote-reveal] { opacity:1; filter:none; transform:none; transition:none; }
  #main .quote-journey-line path { stroke-dashoffset:0!important; transition:none; }
  #main .quote-hero-art img,#main .quote-final-photo img { transform:none; }
  #main .quote-chip span,#main :is(.budget-page,.aiva-briefing) .quote-button { transition:none; }
}
