


.trustrow {
  list-style:none; margin:var(--s-7) 0 0; padding:0;
  display:flex; flex-wrap:wrap; gap:var(--s-3);
}

.trustrow__i {
  display:inline-flex; align-items:center; gap:9px;
  font-size:13.5px; font-weight:700; line-height:1.15; color:var(--ink);
  padding:8px 17px 8px 8px;
  border-radius:var(--r-pill);
  background:var(--white); box-shadow:inset 0 0 0 2px var(--ink), 4px 4px 0 var(--cyan);
  transition:transform var(--t-move) var(--ease), box-shadow var(--t-move) var(--ease);
}
.trustrow__i:hover { transform:translate(-2px,-2px); box-shadow:inset 0 0 0 2px var(--ink), 7px 7px 0 var(--cyan); }
.trustrow__i:active { transform:translate(1px,1px); box-shadow:inset 0 0 0 2px var(--ink), 2px 2px 0 var(--cyan); }

.trustrow__i svg {
  width:30px; height:30px; flex:none; box-sizing:border-box; padding:6.5px;
  border-radius:50%; background:var(--pink);
  fill:none; stroke:var(--white); stroke-width:1.9;
  stroke-linecap:round; stroke-linejoin:round; opacity:1;
}


.s-cyan .trustrow__i, .s-cyan .creds li {
  box-shadow:inset 0 0 0 2px var(--ink), 4px 4px 0 var(--ink);
}
.s-cyan .trustrow__i:hover { box-shadow:inset 0 0 0 2px var(--ink), 7px 7px 0 var(--ink); }


.s-void .trustrow__i, .s-pink .trustrow__i, .footer .trustrow__i,
.s-void .creds li, .s-pink .creds li, .footer .creds li {
  box-shadow:inset 0 0 0 2px var(--white), 4px 4px 0 var(--cyan);
}


.est10__panel { align-self:start; box-shadow:inset 0 0 0 1px var(--ink-100), var(--offset-chip) var(--offset-chip) 0 var(--pink); }
.est10__head { display:flex; align-items:center; justify-content:space-between; gap:var(--s-4); }
.est10__title {
  font-family:var(--font-display); font-size:var(--fs-h3); line-height:.95;
  text-transform:uppercase; color:var(--ink); margin:0;
}


.towndrop { position:relative; min-width:0; }

.field .towndrop__native {
  position:absolute; width:1px; height:1px; padding:0; margin:0; border:0;
  opacity:0; pointer-events:none; clip-path:inset(50%);
}
.towndrop__trigger {
  
  width:100%; display:flex; align-items:center; gap:10px;
  padding:15px 44px 15px 15px;
  font-family:var(--font-core); font-size:var(--fs-body); font-weight:600; text-align:left;
  color:var(--ink); background:var(--white);
  border:var(--keyline) solid var(--ink-100); border-radius:var(--r-2);
  cursor:pointer;
  transition:border-color var(--t-colour) var(--ease), box-shadow var(--t-colour) var(--ease);
}
.towndrop__trigger::after {
  content:""; position:absolute; right:18px; top:50%; margin-top:-3px;
  border:5px solid transparent; border-top:6px solid currentColor; border-bottom:0;
  opacity:.75; transition:transform var(--t-colour) var(--ease);
}
.towndrop__trigger:hover { border-color:var(--ink-400); }
.towndrop__trigger:focus-visible { outline:none; border-color:var(--ink); box-shadow:var(--focus-ring); }
.towndrop.is-open .towndrop__trigger { border-color:var(--ink); }
.towndrop.is-open .towndrop__trigger::after { transform:rotate(180deg); }
.towndrop.is-set .towndrop__trigger { border-color:var(--cyan); box-shadow:inset 0 0 0 1px var(--cyan); }
.towndrop__pin {
  width:18px; height:18px; flex:none;
  fill:none; stroke:var(--cyan); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;
  transition:stroke var(--t-colour) var(--ease);
}
.towndrop.is-set .towndrop__pin { stroke:var(--ink); }

.towndrop__val { flex:1 1 auto; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.towndrop:not(.is-set) .towndrop__val { color:var(--ink-400); font-weight:500; }

.towndrop__panel {
  position:absolute; z-index:60; top:calc(100% + 10px); left:0; right:0;
  background:var(--white); color:var(--ink);
  border-radius:var(--r-3);
  box-shadow:var(--offset-chip) var(--offset-chip) 0 var(--cyan), inset 0 0 0 1px var(--ink-100);
  padding:var(--s-4);
  max-height:312px; overflow-y:auto; overscroll-behavior:contain;
  opacity:0; transform:translateY(8px); pointer-events:none;
  transition:opacity var(--t-colour) var(--ease), transform var(--t-move) var(--ease);
}
.towndrop.is-open .towndrop__panel { opacity:1; transform:none; pointer-events:auto; }
.towndrop__k {
  font-family:var(--font-core); font-size:var(--fs-micro); font-weight:700; line-height:var(--lh-heading);
  letter-spacing:var(--track-eyebrow); text-transform:uppercase; color:var(--ink-400);
  margin:0 0 6px; padding:0 6px;
}
.towndrop__grp + .towndrop__grp { margin-top:var(--s-4); padding-top:var(--s-4); border-top:var(--hairline); }
.towndrop__opts { display:grid; grid-template-columns:1fr 1fr; gap:2px; }

.towndrop--list .towndrop__opts { grid-template-columns:1fr; }
.towndrop__o {
  display:block; width:100%; text-align:left;
  font-family:var(--font-core); font-size:var(--fs-small); font-weight:600; color:var(--ink);
  background:none; border:0; border-radius:var(--r-2);
  padding:9px 10px; cursor:pointer;
  transition:background-color var(--t-colour) var(--ease), color var(--t-colour) var(--ease);
}
.towndrop__o:hover, .towndrop__o.is-cursor { background:var(--ink-050); }
.towndrop__o[aria-selected="true"] { background:var(--cyan); color:var(--white); }
.towndrop__o:focus-visible { outline:none; box-shadow:var(--focus-ring); }
.towndrop__all {
  grid-column:1/-1; text-align:center; font-weight:700; color:var(--pink);
  border-top:var(--hairline); border-radius:0;
  margin-top:var(--s-3); padding-top:var(--s-3);
}
.towndrop__all:hover { background:none; text-decoration:underline; }


.needs { display:grid; grid-template-columns:1fr 1fr; grid-auto-rows:1fr; gap:var(--s-3); }
.need { position:relative; display:block; height:100%; }

.field .need { font-size:var(--fs-body); font-weight:400; letter-spacing:0; text-transform:none; opacity:1; }
.need input { position:absolute; opacity:0; inset:0; width:100%; height:100%; margin:0; padding:0; border:0; cursor:pointer; }
.need__box {
  position:relative; height:100%;
  display:grid; gap:2px; justify-items:start; align-content:start;
  padding:14px 14px 13px;
  border-radius:var(--r-3);
  background:var(--white);
  box-shadow:inset 0 0 0 var(--keyline) var(--ink-100);
  cursor:pointer;
  transition:box-shadow var(--t-move) var(--ease), transform var(--t-move) var(--ease), background-color var(--t-colour) var(--ease);
}
.need__ico {
  width:30px; height:30px; margin-bottom:8px;
  fill:none; stroke:var(--ink-600); stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round;
  transition:stroke var(--t-colour) var(--ease), transform var(--t-move) var(--ease-out);
}
.need__ico .need__ac { stroke:var(--cyan); }
.need__box b { font-size:var(--fs-small); font-weight:700; line-height:1.2; }
.need__box em { font-style:normal; font-size:11px; line-height:1.3; color:var(--ink-600); }

.need input:hover + .need__box { box-shadow:inset 0 0 0 var(--keyline) var(--ink); transform:translateY(-2px); }
.need input:hover + .need__box .need__ico { stroke:var(--ink); transform:scale(1.06); }
.need input:focus-visible + .need__box { box-shadow:inset 0 0 0 var(--keyline) var(--ink), var(--focus-ring); }

.need input:checked + .need__box {
  background:var(--cyan);
  box-shadow:inset 0 0 0 var(--keyline) var(--ink), 5px 5px 0 var(--ink);
  transform:translateY(-2px);
}
.need input:checked + .need__box b { color:var(--white); }
.need input:checked + .need__box em { color:rgba(255,255,255,.82); }
.need input:checked + .need__box .need__ico { stroke:var(--white); }
.need input:checked + .need__box .need__ico .need__ac { stroke:var(--ink); }
.need input:checked + .need__box::after {
  content:""; position:absolute; top:10px; right:10px;
  width:8px; height:14px; border-right:2.5px solid var(--white); border-bottom:2.5px solid var(--white);
  transform:rotate(42deg);
}


:where(.est10, .drawer--est, .areaform, .svcform) .consent { position:relative; align-items:center; gap:11px; font-size:12.5px; line-height:1.4; opacity:1; color:var(--ink-600); }
:where(.est10, .drawer--est, .areaform, .svcform) .consent input { position:absolute; width:1px; height:1px; opacity:0; margin:0; padding:0; border:0; }
:where(.est10, .drawer--est, .areaform, .svcform) .consent__box {
  width:22px; height:22px; flex:none; border-radius:7px;
  display:grid; place-items:center;
  background:var(--white); box-shadow:inset 0 0 0 var(--keyline) var(--ink-400);
  cursor:pointer;
  transition:background-color var(--t-colour) var(--ease), box-shadow var(--t-colour) var(--ease);
}
:where(.est10, .drawer--est, .areaform, .svcform) .consent__box svg {
  width:13px; height:13px; fill:none; stroke:var(--white);
  stroke-width:2.7; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:18; stroke-dashoffset:18;
  transition:stroke-dashoffset var(--t-move) var(--ease-out);
}
:where(.est10, .drawer--est, .areaform, .svcform) .consent:hover .consent__box { box-shadow:inset 0 0 0 var(--keyline) var(--ink); }
:where(.est10, .drawer--est, .areaform, .svcform) .consent input:checked + .consent__box { background:var(--cyan); box-shadow:inset 0 0 0 var(--keyline) var(--ink), 3px 3px 0 var(--ink); }
:where(.est10, .drawer--est, .areaform, .svcform) .consent input:checked + .consent__box svg { stroke-dashoffset:0; }
:where(.est10, .drawer--est, .areaform, .svcform) .consent input:focus-visible + .consent__box { box-shadow:inset 0 0 0 var(--keyline) var(--ink), var(--focus-ring); }

@media (prefers-reduced-motion:reduce) {
  :where(.est10, .drawer--est, .areaform, .svcform) .consent__box svg { transition:none; }
  .need input:hover + .need__box,
  .need input:checked + .need__box,
  .trustrow__i:hover { transform:none; }
  .need__ico { transition:none; }
}
@media (max-width:479px) {
  .towndrop__opts { grid-template-columns:1fr; }
  .need__box { padding:12px; }
  .need__ico { width:26px; height:26px; }
}
