/* Coastal ADU Payoff v1.0.0 */
.adup-wrap{container-type:inline-size;width:100%}
.adup,.adup *,.adup *::before,.adup *::after{box-sizing:border-box}
.adup{background:#ffffff;color:#2b2b2b;font-family:'Poppins','Helvetica Neue',Arial,sans-serif;padding:88px 24px 84px}
.adup p{margin:0}
.adup .adup-inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:44px}
.adup .adup-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
.adup .adup-kicker{font-size:13px;color:#5b5f66}
.adup h2.adup-h{margin:0;padding:0;font-family:inherit;font-size:clamp(30px,3.8vw,44px);line-height:1.18;font-weight:400;color:#4a4e54;max-width:560px;text-transform:none;letter-spacing:0}
.adup .adup-hint{color:#5b5f66;padding-top:4px}
.adup .adup-hint-m{display:none}
.adup .adup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.adup button.adup-card{-webkit-appearance:none;appearance:none;position:relative;overflow:hidden;margin:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:30px 24px 28px;border-radius:14px;background:#ffffff;border:1px solid #e4e7eb;font:inherit;color:inherit;text-transform:none;letter-spacing:normal;line-height:normal;cursor:pointer;box-shadow:0 0 0 rgba(0,0,0,0);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,border-color .5s}
.adup button.adup-card:hover{background:#ffffff;border-color:#c7d6e4}
.adup button.adup-card.is-on{transform:translateY(-6px);border-color:#8ec1ee;box-shadow:0 16px 36px rgba(31,95,150,.13)}
.adup button.adup-card:focus-visible{outline:2px solid #1f5f96;outline-offset:3px}
.adup .adup-untouched button.adup-card:not(.is-on){animation:adupNudge 3s ease-in-out infinite}
.adup .adup-untouched button.adup-card:nth-child(3):not(.is-on){animation-delay:1s}
@keyframes adupNudge{0%,100%{border-color:#e4e7eb}50%{border-color:#8ec1ee}}
.adup .adup-ico-wrap{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f1f5f9;transition:background .5s}
.adup .is-on .adup-ico-wrap{background:#e3f0fb}
.adup svg.adup-ico{width:36px;height:36px;stroke:#8a939d;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .5s}
.adup .is-on svg.adup-ico{stroke:#1f5f96}
.adup .is-on svg.adup-ico *{stroke-dasharray:1;stroke-dashoffset:1;animation:adupDraw 1.2s ease forwards}
.adup .is-on svg.adup-ico *:nth-child(2){animation-delay:.25s}
.adup .is-on svg.adup-ico *:nth-child(3){animation-delay:.5s}
@keyframes adupDraw{to{stroke-dashoffset:0}}
.adup .adup-title{display:block;font-size:20px;font-weight:500;color:#2b2b2b;transition:color .4s}
.adup .is-on .adup-title{color:#1f5f96}
.adup .adup-text{display:block;font-size:14px;line-height:1.6;color:#5b5f66;max-width:300px}
.adup .adup-more{display:grid;grid-template-rows:0fr;width:100%;transition:grid-template-rows .55s ease}
.adup .is-on .adup-more{grid-template-rows:1fr}
.adup .adup-more-in{overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:8px}
.adup .adup-li{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:#1f5f96;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}
.adup .adup-li:first-child{margin-top:6px}
.adup .is-on .adup-li{opacity:1;transform:none;transition-delay:.25s}
.adup .is-on .adup-li:nth-child(2){transition-delay:.4s}
.adup .adup-bar{position:absolute;left:0;bottom:0;height:3px;width:0;background:#8ec1ee}
.adup .is-on .adup-bar{animation:adupFill 5.5s linear forwards}
@keyframes adupFill{to{width:100%}}
.adup .adup-dots{display:none;justify-content:center;gap:8px}
.adup .adup-dot{width:8px;height:8px;border-radius:50%;background:#cfd8e1;transition:width .3s,background .3s}
.adup .adup-dot.is-on{width:22px;border-radius:4px;background:#1f5f96}
.adup-hint{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.4}
.adup-pip{flex:none;width:8px;height:8px;border-radius:50%;background:#8ec1ee;animation:adupPip 1.8s ease-in-out infinite}
@keyframes adupPip{0%,100%{opacity:.35}50%{opacity:1}}
@container (max-width: 640px){
.adup{padding:60px 0 56px}
.adup .adup-inner{gap:24px}
.adup .adup-head{padding:0 18px;gap:10px}
.adup h2.adup-h{font-size:28px}
.adup .adup-hint-d{display:none}
.adup .adup-hint-m{display:flex}
.adup .adup-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding:10px 18px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.adup .adup-grid::-webkit-scrollbar{display:none}
.adup button.adup-card{flex:0 0 80%;scroll-snap-align:center;padding:24px 18px 22px}
.adup button.adup-card.is-on{transform:none}
.adup .adup-more{grid-template-rows:1fr}
.adup .adup-li{opacity:1;transform:none}
.adup .adup-untouched button.adup-card:not(.is-on){animation:none}
.adup .adup-dots{display:flex}
}
@media (prefers-reduced-motion: reduce){.adup *{animation:none!important;transition:none!important}.adup .is-on svg.adup-ico *{stroke-dashoffset:0}}

/* Full-width: break out of the theme's content column so the section spans the whole screen */
.adup-wrap{box-sizing:border-box;position:relative;width:100vw!important;max-width:100vw!important;left:calc(50% - 50vw);margin:0!important}
