button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b78739;outline-offset:4px}
.cta{cursor:pointer;box-shadow:0 5px 16px #24684918}.cta:active,.next-button:active,.back-button:active{transform:scale(.97)}
dialog{width:min(720px,calc(100% - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:0;border:1px solid #ffffff60;border-radius:20px;background:var(--paper);color:var(--ink);box-shadow:0 24px 100px #071a3440;overscroll-behavior:contain}
dialog::backdrop{background:#071b2acf;backdrop-filter:blur(6px)}body:has(dialog[open]){overflow:hidden}
.request-top{padding:14px 22px;background:var(--navy);color:var(--paper);display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;letter-spacing:1.4px}.brand-dot{font-weight:400;color:#c9c4b5}
.close-request{width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff30;border-radius:50%;background:transparent;color:white;font:28px/1 Arial;cursor:pointer}
.request-body{padding:22px}
#request-title{font:400 31px/1.15 Georgia,serif;letter-spacing:-.6px;margin:0 0 12px}.request-intro{font-size:14px;color:var(--muted);line-height:1.6;margin-bottom:24px}
.progress-copy{display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:700;margin-bottom:10px}#step-name{color:var(--green)}.progress-track{height:5px;background:#e1e5da;border-radius:8px;overflow:hidden;margin-bottom:26px}#progress-fill{display:block;height:100%;background:var(--green);width:16.6667%;border-radius:8px}
.form-panel[hidden],[hidden]{display:none!important}.form-panel h3{font-size:20px;line-height:1.35;font-weight:600;margin:0 0 18px;letter-spacing:-.25px}.form-panel h3:focus{outline:none}.question-group{border:0;margin:0 0 22px;padding:0;min-width:0}.question-group legend{font-weight:600;font-size:15px;line-height:1.4;margin:0 0 12px;padding:0}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.option-grid.list{grid-template-columns:1fr}
.choice{position:relative;display:block;cursor:pointer;min-width:0}.choice input{position:absolute;top:16px;right:15px;width:20px;height:20px;accent-color:var(--green);z-index:3;margin:0;cursor:pointer}.choice-content{position:relative;height:100%;min-height:70px;padding:18px 44px 18px 15px;border:1px solid #d6dcd3;border-radius:12px;background:#fffefa;display:flex;align-items:center;gap:12px}.choice-title{font-size:14px;line-height:1.45;font-weight:600}.choice.visual .choice-content{display:flex;flex-direction:column;align-items:flex-start;padding:14px;min-height:157px;gap:7px}.choice svg{width:94px;height:88px;display:block;overflow:visible}.choice input:checked+.choice-content{border-color:transparent;background:linear-gradient(#eff5e9,#eff5e9) padding-box,linear-gradient(90deg,#3d8159 0%,#3d8159 27%,#d3e9b7 43%,#76b279 50%,#d3e9b7 57%,#3d8159 73%,#3d8159 100%) border-box;background-size:100% 100%,220% 100%;box-shadow:0 0 0 1px #4c906438,0 0 18px #5eaa7638,0 5px 17px #24684912}.choice input:focus-visible+.choice-content{outline:3px solid #b78739;outline-offset:4px}
.field{display:block;margin-bottom:18px;font-size:14px;line-height:1.5;font-weight:600}.field input,.field textarea{display:block;width:100%;min-height:51px;margin-top:8px;padding:13px;border:1px solid #cbd3c7;border-radius:9px;background:#fffefa;font:400 16px/1.5 Arial;color:var(--ink)}.field textarea{min-height:100px;resize:vertical}.optional{font-weight:400;color:var(--muted);font-size:12px}.field-grid{display:grid;gap:0}.helper{font-size:13px;line-height:1.6;color:var(--muted);margin:12px 0 18px}.request-nav{display:flex;justify-content:space-between;gap:10px;padding-top:20px;margin-top:8px;border-top:1px solid var(--line)}.next-button,.back-button{min-height:50px;border-radius:9px;padding:13px 17px;font:600 14px/1.4 Arial;cursor:pointer}.next-button{display:flex;align-items:center;justify-content:center;gap:16px;background:var(--green);color:#fff;border:1px solid var(--green);margin-left:auto;flex:1;max-width:290px}.back-button{color:var(--ink);background:transparent;border:1px solid #cdd5c7}.next-button span:last-child{font-size:21px}
#form-error{font-size:14px;color:#8e2d21;background:#fff0e8;border-left:3px solid #a84c34;padding:12px;border-radius:5px;margin-top:18px}input[aria-invalid=true]{border-color:#a84c34}
@media(min-width:560px){.request-body{padding:30px 38px}.field-grid{grid-template-columns:1fr 1fr;gap:16px}.option-grid{gap:12px}.choice.visual .choice-content{flex-direction:row;align-items:center;min-height:135px;padding-right:37px}.choice.visual svg{width:87px;flex-shrink:0}#request-title{font-size:36px}}
@media(hover:hover){.cta:hover,.next-button:hover{background:#1b553b;box-shadow:0 8px 22px #24684926;transform:translateY(-2px)}.cta:hover span:last-child{transform:translate(3px,-3px)}.next-button:hover span:last-child{transform:translateX(4px)}.choice:hover .choice-content{border-color:#78947a;transform:translateY(-2px);box-shadow:0 5px 14px #183a3110}.back-button:hover{background:#e9eee4}.close-request:hover{background:#ffffff18}}
@media(prefers-reduced-motion:no-preference){.cta,.next-button,.back-button,.close-request,.cta span:last-child,.next-button span:last-child,.choice-content{transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}#progress-fill{transition:width .3s ease}.form-panel.entering{animation:step-in .24s ease both}dialog[open]{animation:dialog-in .24s ease both}.choice input:checked+.choice-content svg{animation:select-pop .28s ease both}.choice input:checked+.choice-content{animation:selection-border 3.6s linear infinite,selection-glow 2.2s ease-in-out infinite}@keyframes step-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}@keyframes select-pop{50%{transform:translateY(-4px)}100%{transform:none}}@keyframes selection-border{to{background-position:0 0,220% 0}}@keyframes selection-glow{50%{box-shadow:0 0 0 1px #4c90645c,0 0 23px #5eaa7659,0 5px 17px #24684916}}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
