/* Release84 only. Approved scene geometry and price logic remain in their
   copied modules; these rules affect only the five new .city84-main blocks. */
.city84-main{--city84-blue:#285477;--city84-green:#50713d;--city84-line:#b4c9b7;--city84-header-space:184px;background:linear-gradient(105deg,#e9efdd 0%,#e8efea 48%,#e2ebf7 100%);font-family:Roboto,Arial,sans-serif;color:#34576b;overflow:clip}
.city84-main .rev66-section{background:transparent!important}
.city84-main .rev66-hero{padding-top:var(--city84-header-space)!important;padding-bottom:18px!important}
.city84-main .city68-hero-grid{gap:clamp(25px,4vw,52px);align-items:center}
.city84-main .city68-lead h1{font-size:clamp(2rem,3.05vw,3.2rem)!important;line-height:1.17!important;text-wrap:balance;overflow-wrap:normal;hyphens:none}
.city84-main .city68-lead h1>span{display:inline;background:linear-gradient(110deg,#3e6944,#658240);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.city84-main .city68-accent{font-size:clamp(1.05rem,1.3vw,1.2rem)!important;line-height:1.5!important;color:#50713d!important}
.city84-main .city68-lead>p:not(.city68-accent):not(.rev66-authorship){font-size:17px!important;line-height:1.75!important}
.city84-main .rev66-authorship{font-size:13px!important;line-height:1.6!important}
.city84-main .city68-remote-note{font-size:13px!important;letter-spacing:.02em}
.city84-main .rev66-heading h2{max-width:1000px;text-wrap:balance}
.city84-main .rev66-cases,.city84-main .rev66-case-grid,.city84-main .rev66-split,.city84-main .city68-doc-layout,.city84-main .rev66-process-layout{min-width:0}
.city84-main .city68-cases{gap:30px;align-items:center}
.city84-main .rev66-case{background:#ffffff6b!important;border:1px solid #ffffffd6!important;border-radius:21px!important;box-shadow:0 11px 30px #2854770b!important}
.city84-main .rev66-case h3{font-size:21px!important;line-height:1.3!important}
.city84-main .rev66-case p{font-size:16px!important;line-height:1.7!important}
.city84-main .city68-small-num{color:#6c8b4d!important}
.city84-main .city68-checklist{gap:19px}
.city84-main .city68-checklist h3{font-size:20px!important;line-height:1.35!important;margin-bottom:6px!important}
.city84-main .city68-checklist p{font-size:16px!important;line-height:1.7!important}
.city84-main .city68-service-grid{align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.city84-main .city68-service-grid>details{min-width:0}
.city84-main .city68-service-grid>details>summary{min-height:96px;gap:13px}
.city84-main .city68-service-grid>details>summary h3{font-size:20px!important;line-height:1.3!important}
.city84-main .city68-service-grid .rev66-details-body p{font-size:16px!important;line-height:1.7!important}
.city84-main :is(summary,a,button,input,textarea,select):focus-visible{outline:3px solid #6d8e4a!important;outline-offset:4px}
.city84-main summary{scroll-margin-top:130px}
.city84-main .city68-faq-section .rev66-details-body p{font-size:16px!important;line-height:1.75!important}
.city84-main .rev66-faq>details>summary h3{font-size:19px!important;line-height:1.4!important}
.city84-main .rev66-arrow{background:#dce9cc!important;border-radius:50%!important;width:30px!important;height:30px!important;min-width:30px!important;display:grid!important;place-items:center!important}
.city84-main .rev66-arrow svg{width:16px!important;height:16px!important;stroke-width:3px!important;opacity:.75}
.city84-main .city84-photo{margin:0;position:relative;min-width:0;max-width:100%;width:100%}
.city84-main .city84-photo-stage{position:relative;isolation:isolate;padding:0 10px 8px 0}
.city84-main .city84-photo-stage:after{content:"";position:absolute;inset:12px 0 0 12px;z-index:-1;border:1px solid #a8bf9e;border-radius:23px;background:linear-gradient(130deg,#b1c69540,#ccdeeb70);box-shadow:0 14px 34px #173f6410}
.city84-main .city84-photo picture{display:block;overflow:hidden;border-radius:20px!important;aspect-ratio:3/2;border:1px solid #ffffffe0;background:#e2e9dd}
.city84-main .city84-photo img{display:block;width:100%!important;height:100%!important;object-fit:cover;aspect-ratio:3/2;border-radius:20px!important;box-shadow:none!important}
.city84-main .city84-photo figcaption{font-size:12px!important;line-height:1.6!important;padding:12px 8px 0;color:#58716d!important;max-width:100%}
.city84-main .city84-photo-badge{position:absolute;right:-7px;top:-20px;display:block;width:82px;height:82px;z-index:2;filter:drop-shadow(0 8px 11px #244c6924);transform:rotate(7deg);pointer-events:none}
.city84-main .city84-photo-badge svg{display:block;width:100%;height:100%}
.city84-main .city84-photo[data-city84-slot=steps] .city84-photo-badge{top:auto;bottom:-4px;right:4px;transform:rotate(-7deg)}
.city84-main .city84-photo[data-city84-slot=proof] .city84-photo-badge{right:2px;top:-17px;transform:rotate(5deg)}
/* Scroll progress is a directly measured value. There is no timer, delayed
   transition or off-screen flight chasing repeated scroll events. */
.city84-main.city68-main .rev66-fan.fan-ready{align-items:stretch;position:relative;isolation:isolate}
.city84-main.city68-main .rev66-fan.fan-ready .rev66-fan-card{transition:none!important;transition-delay:0s!important;opacity:1!important;will-change:transform;box-shadow:0 10px 24px #24476a12}
.city84-main.city68-main .rev66-fan.fan-ready:not(:focus-within) .rev66-fan-card:first-child{transform:translateX(calc(var(--fan-fold,0)*57%)) translateY(calc(var(--fan-fold,0)*10px)) rotate(calc(var(--fan-fold,0)*-5deg))!important;z-index:1}
.city84-main.city68-main .rev66-fan.fan-ready:not(:focus-within) .rev66-fan-card:nth-child(2){transform:translateY(calc(var(--fan-fold,0)*2px)) scale(calc(1 - var(--fan-fold,0)*.015))!important;z-index:2}
.city84-main.city68-main .rev66-fan.fan-ready:not(:focus-within) .rev66-fan-card:nth-child(3){transform:translateX(calc(var(--fan-fold,0)*-57%)) translateY(calc(var(--fan-fold,0)*10px)) rotate(calc(var(--fan-fold,0)*5deg))!important;z-index:3}
.city84-main.city68-main .rev66-fan:focus-within .rev66-fan-card{transform:none!important}
.city84-main .rev66-fan-card{background:linear-gradient(135deg,#ffffffd9,#e6efdda6)!important;border:1px solid #fff!important}
.city84-main .rev66-steps{gap:23px}
.city84-main .rev66-step{grid-template-columns:52px minmax(0,1fr);gap:20px;min-width:0;translate:none!important;opacity:1!important;transition:none!important}
.city84-main .rev66-step:before,.city84-main .rev66-step:after{content:none!important}
.city84-main .rev66-step-num{width:50px;height:50px;border-radius:50%!important;font-size:20px;border-color:#aec5a9;background:linear-gradient(135deg,#e4eed8,#cdddeb);box-shadow:0 5px 13px #23496a0b}
.city84-main .city84-step-connector{position:absolute;left:15px;top:62px;width:20px;height:calc(100% - 45px);min-height:24px;fill:none;stroke:#6e8f66;stroke-width:2.4;opacity:.55;overflow:visible;pointer-events:none}
.city84-main .rev66-step details{width:100%;align-self:start;background:#ffffff75;border-color:#b5c9bb}
.city84-main .rev66-step summary{min-height:58px;align-items:center}
.city84-main .rev66-step summary h3{font-size:19px!important;line-height:1.35!important}
.city84-main .rev66-step .rev66-details-body p{font-size:16px!important;line-height:1.7!important}
.city84-main .rev66-steps[data-city84-steps] .rev66-step:not(.is-active):not(:focus-within) .rev66-step-num{opacity:.7}
.city84-main .rev66-steps[data-city84-steps] .rev66-step.is-active .rev66-step-num{border-color:#89a46d;background:linear-gradient(135deg,#e4eed2,#d6e4dc)}
.city84-main .city68-table-section{overflow:hidden}
.city84-main .rev66-table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:#8ea879 #e4ecdf}
.city84-main table{border-collapse:separate;border-spacing:0;min-width:620px;width:100%;font-size:15px;line-height:1.6;background:#ffffff6b;border:1px solid #b2c8b4;border-radius:18px;overflow:hidden}
.city84-main :is(th,td){padding:17px 20px;border-bottom:1px solid #b2c8b473;vertical-align:top;text-align:left}
.city84-main th{color:#285477;background:#dce8d9a8;font-weight:600}
.city84-main tr:last-child td{border-bottom:0}
.city84-main .city84-request{border:1px solid #9cb58d;border-radius:25px;background:linear-gradient(110deg,#ffffff8a,#e9f0e2b8);box-shadow:0 12px 32px #214c6e0b;padding:30px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.city84-main .city84-request h2{font-size:clamp(1.5rem,2.5vw,2rem)!important}
.city84-main .city84-request p{margin-bottom:0;font-size:16px!important;line-height:1.7!important}
.city84-main .city84-request .rev66-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch;margin:0;max-width:260px}
.city84-main .city84-request .btn{justify-content:center;margin:0!important;white-space:normal}
.city84-main .city84-related{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.city84-main .city84-related a{font-size:15px!important;line-height:1.5!important;min-height:68px;display:flex;align-items:center}
.city84-main .city68-sources{border-top:1px solid #a6bca8;padding-top:22px}
.city84-main .city68-sources li,.city84-main .city68-sources p{font-size:13px!important;line-height:1.7!important}
.city84-main.city68-monthly-calendar .city68-doc-layout{grid-template-columns:1.1fr .9fr}
.city84-main.city68-sales-and-payments .city68-cases{grid-template-columns:1fr}
.city84-main.city68-sales-and-payments .city68-cases>.rev66-case-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.city84-main.city68-sales-and-payments .city68-cases>.city84-photo{max-width:820px;justify-self:center}
.city84-main.city68-costs-and-contracts .city68-lead h1{font-size:clamp(1.95rem,2.8vw,2.9rem)!important}
.city84-main.city68-handover-boundary .rev66-process-layout{grid-template-columns:1.12fr .88fr}
@media(max-width:991px){
 .city84-main{--city84-header-space:135px}
 .city84-main .city68-hero-grid{gap:24px}
 .city84-main .city68-lead h1{font-size:clamp(1.8rem,3.5vw,2.6rem)!important}
 .city84-main .city68-service-grid>details>summary h3{font-size:19px!important}
 .city84-main .city84-related{grid-template-columns:repeat(2,minmax(0,1fr))}
 .city84-main.city68-sales-and-payments .city68-cases>.rev66-case-grid{grid-template-columns:1fr}
}
@media(max-width:767px){
 .city84-main .rev66-section .container{padding-inline:20px}
 .city84-main .city68-hero-grid{grid-template-columns:1fr!important;gap:17px!important}
 .city84-main .city68-hero-grid>.city68-hero-visual{order:-1!important;padding-bottom:3px;max-width:345px;width:100%;margin:0 auto}
 .city84-main .city68-lead h1,.city84-main.city68-costs-and-contracts .city68-lead h1{font-size:clamp(1.7rem,6.4vw,2.25rem)!important;line-height:1.22!important;text-align:center;letter-spacing:-.025em}
 .city84-main .city68-lead>.rev66-kicker,.city84-main .city68-accent{text-align:center;display:block}
 .city84-main .city68-lead>p:not(.city68-accent):not(.rev66-authorship){font-size:16px!important;line-height:1.7!important}
 .city84-main .city68-service-grid{grid-template-columns:1fr!important}
 .city84-main .city68-service-grid>details>summary{min-height:78px;padding:18px}
 .city84-main .city68-service-grid>details>summary h3{font-size:18px!important}
 .city84-main .city68-cases,.city84-main .city68-doc-layout,.city84-main .rev66-process-layout{grid-template-columns:1fr!important;gap:23px}
 .city84-main .rev66-case h3{font-size:20px!important}
 .city84-main .city84-photo-badge{width:66px;height:66px;right:-4px;top:-13px}
 .city84-main .city84-photo-stage{padding-right:7px;padding-bottom:7px}
 .city84-main .city84-photo figcaption{font-size:11px!important;padding-top:10px}
 .city84-main.city68-main .rev66-fan.fan-ready:not(:focus-within) .rev66-fan-card:first-child{transform:translateX(calc(var(--fan-fold,0)*13px)) rotate(calc(var(--fan-fold,0)*-1.5deg))!important}
 .city84-main.city68-main .rev66-fan.fan-ready:not(:focus-within) .rev66-fan-card:nth-child(2){transform:none!important}
 .city84-main.city68-main .rev66-fan.fan-ready:not(:focus-within) .rev66-fan-card:nth-child(3){transform:translateX(calc(var(--fan-fold,0)*-13px)) rotate(calc(var(--fan-fold,0)*1.5deg))!important}
 .city84-main .rev66-step{grid-template-columns:39px minmax(0,1fr);gap:12px}
 .city84-main .rev66-step-num{width:38px;height:38px;font-size:16px}
 .city84-main .city84-step-connector{left:9px;top:49px;height:calc(100% - 32px);min-height:20px}
 .city84-main .rev66-step summary h3{font-size:17px!important}
 .city84-main .rev66-step .rev66-details-body p,.city84-main .rev66-faq .rev66-details-body p{font-size:15px!important}
 .city84-main .rev66-faq>details>summary h3{font-size:17px!important;line-height:1.4!important}
 .city84-main .city84-request{grid-template-columns:1fr;padding:23px;gap:20px}
 .city84-main .city84-request .rev66-actions{max-width:none;width:100%}
 .city84-main .city84-related{grid-template-columns:1fr;gap:10px}
 .city84-main .city84-related a{min-height:57px}
 .city84-main :is(th,td){padding:13px 15px}
}
@media(prefers-reduced-motion:reduce){
 .city84-main.city68-main .rev66-fan.fan-ready .rev66-fan-card,.city84-main.city68-main .rev66-fan.fan-ready:not(:focus-within) .rev66-fan-card{transform:none!important;opacity:1!important;will-change:auto}
 .city84-main .rev66-step,.city84-main .rev66-step-num,.city84-main .city84-photo-badge{transition:none!important;animation:none!important}
}
