/* Early-access form, pop-up and nudge — Kasavu Modern. Uses the page's :root tokens. */
.ea-form [hidden],.ea-done[hidden],.ea-form[hidden],.ea-nudge[hidden]{display:none!important}
.ea-form{display:grid;gap:18px}
.ea-role{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ea-role legend{padding:0;margin-bottom:8px}
.ea-label{display:block;font:700 .72rem/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--warn-text,#7A5A14);margin-bottom:6px}
.ea-label em{font-style:normal;font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--muted,#4A4840)}
.ea-choice{position:relative;display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1.5px solid var(--line,#E8DFC9);background:#fff;cursor:pointer;min-height:44px}
.ea-choice input{margin:3px 0 0;accent-color:var(--ink,#141410);flex:none;width:18px;height:18px}
.ea-choice b{display:block;font:700 .95rem/1.25 var(--body)}
.ea-choice small{display:block;font:500 .8rem/1.35 var(--body);color:var(--muted,#4A4840);margin-top:2px}
.ea-choice:has(input:checked){border-color:var(--ink,#141410);box-shadow:3px 3px 0 var(--zari,#C89B3C)}
.ea-choice:has(input:focus-visible){outline:3px solid var(--zari,#C89B3C);outline-offset:2px}
.ea-grid{display:grid;gap:14px}
@media (min-width:560px){.ea-grid{grid-template-columns:1fr 1fr}}
.ea-field{display:block;min-width:0}
.ea-field input,.ea-field select{width:100%;box-sizing:border-box;min-height:46px;padding:10px 12px;border:1.5px solid var(--line,#E8DFC9);background:#fff;color:var(--ink,#141410);font:500 1rem/1.3 var(--body);border-radius:0;-webkit-appearance:none;appearance:none}
.ea-field select{background-image:linear-gradient(45deg,transparent 50%,var(--ink,#141410) 50%),linear-gradient(135deg,var(--ink,#141410) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.ea-field input:focus,.ea-field select:focus{outline:none;border-color:var(--ink,#141410);box-shadow:3px 3px 0 var(--zari,#C89B3C)}
.ea-field [aria-invalid="true"]{border-color:var(--chenda,#B3382C)}
.ea-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.ea-consent{display:flex;gap:10px;align-items:flex-start;font:500 .86rem/1.5 var(--body);color:var(--muted,#4A4840);cursor:pointer}
.ea-consent input{margin:3px 0 0;width:18px;height:18px;flex:none;accent-color:var(--ink,#141410)}
.ea-consent a{color:var(--ink,#141410);font-weight:700}
.ea-submit{justify-self:start}
.ea-submit[disabled]{opacity:.6;cursor:wait}
.ea-status{margin:0;min-height:1.2em;font:600 .9rem/1.4 var(--body);color:var(--chenda,#B3382C)}
.ea-status:empty{display:none}
.ea-done{padding:8px 0 4px}
.ea-done .ea-done-ml{font:800 2rem/1.2 var(--ml);color:var(--ink,#141410);margin:0}
.ea-done .ea-done-title{font:600 1.4rem/1.3 var(--serif);margin:6px 0 0}
.ea-done .ea-done-text{margin:10px 0 0;color:var(--muted,#4A4840);max-width:46ch}
.ea-done .btn{margin-top:22px}

/* Pop-up */
.ea-dialog{padding:0;border:0;background:transparent;max-width:min(620px,100vw - 24px);width:100%;max-height:calc(100vh - 24px);overflow:visible;color:var(--ink,#141410)}
.ea-dialog::backdrop{background:rgba(20,20,16,.62)}
.ea-card{background:var(--ivory,#FBF6EC);border:1.5px solid var(--ink,#141410);box-shadow:6px 6px 0 var(--zari,#C89B3C);max-height:calc(100vh - 36px);overflow:auto}
.ea-card .zari{position:sticky;top:0;z-index:1}
.ea-body{position:relative;padding:22px clamp(18px,4vw,32px) 26px}
.ea-body h2{font:800 clamp(1.7rem,5vw,2.2rem)/1.25 var(--ml);margin:12px 0 0}
.ea-sub{font:400 1.08rem/1.45 var(--serif);color:var(--muted,#4A4840);margin:6px 0 20px}
.ea-x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:transparent;color:var(--ink,#141410);font:400 1.8rem/1 var(--body);cursor:pointer}
.ea-x:hover{color:var(--chenda,#B3382C)}
.ea-x:focus-visible{outline:3px solid var(--zari,#C89B3C)}

/* Nudge card */
.ea-nudge{position:fixed;z-index:60;right:16px;bottom:16px;width:min(340px,calc(100vw - 32px));box-sizing:border-box;background:var(--ink,#141410);color:var(--ivory,#FBF6EC);padding:18px 18px 16px;border-top:4px solid var(--zari,#C89B3C);box-shadow:5px 5px 0 var(--zari,#C89B3C);transform:translateY(12px);opacity:0;transition:opacity .35s ease,transform .35s ease}
.ea-nudge.is-in{opacity:1;transform:none}
.ea-nudge .ea-x{color:var(--ivory,#FBF6EC);top:4px;right:4px}
.ea-nudge-ml{font:800 1.3rem/1.2 var(--ml);color:var(--zari,#C89B3C);margin:0}
.ea-nudge-t{font:500 .95rem/1.45 var(--body);margin:6px 36px 14px 0;color:#E6DFCF}
.ea-nudge-actions{display:flex;gap:10px;flex-wrap:wrap}
.ea-nudge .btn{border-color:var(--ivory,#FBF6EC);color:var(--ivory,#FBF6EC);background:transparent;box-shadow:3px 3px 0 var(--zari,#C89B3C)}
.ea-nudge .btn--primary{background:var(--zari,#C89B3C);border-color:var(--zari,#C89B3C);color:var(--ink,#141410);box-shadow:3px 3px 0 var(--ivory,#FBF6EC)}
@media (max-width:560px){.ea-nudge{left:12px;right:12px;bottom:12px;width:auto}}
@media (prefers-reduced-motion:reduce){.ea-nudge{transition:none}}
/* Role choices: three options */
@media (min-width:560px){.ea-role{grid-template-columns:repeat(3,1fr)}}
@media (max-width:559px){.ea-role{grid-template-columns:1fr}}
.ea-wide{grid-column:1/-1}
.ea-field textarea{box-sizing:border-box;border-radius:0;font:500 1rem/1.4 var(--body);width:100%;padding:10px 12px;border:1.5px solid var(--line,#E8DFC9);background:#fff;color:inherit;resize:vertical;min-height:84px}
.ea-field textarea:focus{outline:none;border-color:var(--ink,#141410);box-shadow:3px 3px 0 var(--zari,#C89B3C)}
.ea-form [hidden]{display:none!important}
/* Location greeting in the hero */
.geo-badge{display:flex;width:fit-content;align-items:center;gap:8px;max-width:100%;margin-bottom:16px;padding:7px 14px 7px 10px;border:1.5px solid currentColor;border-radius:999px;font:600 .82rem/1.25 var(--body,sans-serif);color:inherit;text-decoration:none;background:rgba(200,155,60,.12)}
.geo-badge[hidden]{display:none}
.geo-badge svg{width:13px;height:17px;flex:none}
.geo-badge:hover{background:rgba(200,155,60,.22)}
.geo-badge:focus-visible{outline:3px solid var(--zari,#C89B3C);outline-offset:2px}
/* Most requested towns */
.demand{margin-top:28px}
.demand[hidden]{display:none}
.demand ol{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.demand li{display:flex;flex-direction:column;padding:10px 14px;border:1.5px solid var(--ink,#141410);background:var(--ivory,#FBF6EC);min-width:150px}
.demand li b{font:600 1.05rem/1.2 var(--serif,serif)}
.demand li span{font:500 .8rem/1.35 var(--body,sans-serif);color:var(--muted,#4A4840);margin-top:2px}
