/* Nursery finder (option D), 2026-10-04. Uses the theme tokens (tokens.css).
   Control system: 1 primary marigold button (one per screen) · 2 secondary white button ·
   3 violet text links (everything inside a card) · 4 filter pills with a check · 5 underlined tabs ·
   6 info = plain mono text, never boxed. */
.tpn-nf{--nf-green:var(--tpn-dark-green,#235327);--nf-lime:var(--tpn-btn-lime,#D6EA88);--nf-mari:var(--tpn-btn-marigold,#FFB300);--nf-line:var(--tpn-border,#E8E8E0);--nf-mute:var(--tpn-muted,#4E5243);--nf-small:var(--tpn-muted-small,#6D6F5C);--nf-link:#652199;--nf-plum:var(--tpn-plum,#5B047E);background:#F4F4F0;color:var(--tpn-body-text,#1E1E1E);font-family:var(--font-body)}
.tpn-nf *{box-sizing:border-box}
.tpn-nf h1,.tpn-nf h2,.tpn-nf h3,.tpn-nf h4{font-family:var(--font-display);font-weight:400;font-style:normal;margin:0}
.tpn-nf p{margin:0}
.tpn-nf [hidden]{display:none!important}

/* ---- hero ---- */
.nf-hero{background:var(--nf-green);color:#fff;padding:140px 0 52px}
.nf-hero__grid{display:grid;grid-template-columns:minmax(0,500px) minmax(0,1fr);gap:56px;align-items:end}
.nf-hero__text{min-width:0}
.nf-eyebrow a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s}
.nf-eyebrow a:hover{border-bottom-color:currentColor}
.nf-eyebrow{font-family:var(--font-mono);font-size:12px;line-height:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--tpn-on-dark-eyebrow,#b8d6bf);margin:0 0 14px!important}
.nf-hero__title{font-weight:700!important;letter-spacing:-.5px;font-size:clamp(36px,3.6vw,52px);line-height:1.04;color:#fff;text-wrap:balance}
.nf-hero__near{color:var(--nf-mari)}
.nf-hero__lead{margin-top:18px!important;font-size:21px;line-height:1.45;max-width:36ch;color:var(--tpn-on-dark-muted,#e6ebe2)}
.nf-zip{margin-top:30px;max-width:560px}
.nf-zip__row{display:flex;align-items:flex-end;gap:12px}
.nf-zip__field{display:flex;flex-direction:column;gap:8px;flex:0 1 300px;min-width:0;position:relative}
.nf-clear{position:absolute;right:6px;bottom:6px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--nf-green);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.nf-clear:hover{background:#EEF3D8}
.nf-zip__field:has(.nf-clear:not([hidden])) .nf-input{padding-right:46px}
.nf-label{font-family:var(--font-mono);font-size:11px;line-height:14px;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.nf-input{width:100%;min-height:var(--btn-min-height,48px);border:1px solid #fff;border-radius:var(--btn-radius,7px);font:400 17px/1.3 var(--font-body);color:#1E1E1E;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='18' viewBox='0 0 16 18'%3E%3Cpath d='M8 17s6-5.6 6-10.2A6 6 0 0 0 2 6.8C2 11.4 8 17 8 17z' fill='none' stroke='%23235327' stroke-width='1.6'/%3E%3Ccircle cx='8' cy='7' r='2.2' fill='none' stroke='%23235327' stroke-width='1.6'/%3E%3C/svg%3E") 16px center no-repeat;margin:0;padding:0 16px 0 42px;box-shadow:none}
.nf-input::placeholder{color:#6d6f5c;opacity:1}
.nf-input:focus{outline:2px solid var(--nf-lime);outline-offset:2px}
.nf-status{margin-top:14px!important;font-size:16px;line-height:1.5;color:var(--tpn-on-dark-muted,#e6ebe2)}
.nf-status:empty{display:none}
.nf-status b{color:var(--nf-lime);font-weight:600}
.nf-status .nf-opt{color:var(--nf-lime);font-weight:600;text-decoration-color:color-mix(in srgb,#D6EA88 55%,transparent)}
.nf-status .nf-opt:hover{text-decoration-color:currentColor}
.nf-zip__alt{margin-top:14px!important;font-size:16px;line-height:1.7;color:#fff}
.nf-status+.nf-zip__alt{margin-top:6px!important}
.nf-dot{margin:0 8px;opacity:.7}
.nf-linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;display:inline-flex;align-items:center;gap:6px}
.nf-linkbtn:hover{text-decoration-thickness:2px}
.nf-select{display:none}
.nf-tiles{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(8,auto);gap:5px;max-width:720px;margin-left:auto;width:100%}
.nf-tile{aspect-ratio:1;border-radius:8px;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-family:var(--font-mono);color:var(--nf-green);transition:transform .2s,box-shadow .2s;padding:0}
.nf-tile b{font-size:clamp(9px,1.05vw,13px);font-weight:400;letter-spacing:.04em}
.nf-tile i{font-style:normal;font-size:clamp(8px,.85vw,11px);opacity:.75}
.nf-tile:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.25)}
.nf-tile:focus-visible{outline:2px solid #fff;outline-offset:2px}
.nf-tile[aria-pressed="true"]{box-shadow:0 0 0 3px var(--nf-mari)}
.nf-tile.l0{background:rgba(255,255,255,.08);color:#b8d6bf;border:1px dashed rgba(184,214,191,.45)}
.nf-tile.l1{background:#EEF3D8}.nf-tile.l2{background:#D6EA88}.nf-tile.l3{background:#A9C46A}.nf-tile.l4{background:#6E9B4F;color:#fff}
.nf-legend{display:flex;gap:14px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:14px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--tpn-on-dark-muted,#e6ebe2)}
.nf-legend span{display:inline-flex;gap:6px;align-items:center}
.nf-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.nf-legend .l0{border:1px dashed #b8d6bf}.nf-legend .l1{background:#EEF3D8}.nf-legend .l2{background:#D6EA88}.nf-legend .l3{background:#A9C46A}.nf-legend .l4{background:#6E9B4F}

/* ---- buttons (site spec) ---- */
.nf-btn{min-height:var(--btn-min-height,48px);padding:var(--btn-padding,12px 24px);border:var(--btn-border,1px solid #235327);border-radius:var(--btn-radius,7px);background:var(--btn-fill,#fff);color:var(--btn-text,#235327);font-family:var(--btn-font,var(--font-mono));font-weight:400;font-style:normal;font-size:var(--btn-size,12px);line-height:var(--btn-line-height,18px);letter-spacing:var(--btn-tracking,.6px);text-transform:uppercase;transition:background-color var(--btn-motion,.6s),border-color var(--btn-motion,.6s);display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;cursor:pointer;white-space:nowrap}
.nf-btn:hover{background:var(--btn-hover-fill,#f3efe6);border-color:var(--btn-hover-border,#86a088);color:var(--btn-hover-text,#235327)}
.nf-btn--marigold{background:var(--nf-mari);border-color:var(--nf-mari);color:var(--nf-green)}
.nf-btn--marigold:hover{background:var(--btn-marigold-hover-fill,#f7e2af);border-color:var(--btn-marigold-hover-fill,#f7e2af)}

/* ---- app: list + sticky map ---- */
.nf-app{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;padding-top:40px;padding-bottom:64px;align-items:start}
.nf-list{min-width:0}
.nf-map{position:sticky;top:100px;height:calc(100vh - 124px);min-height:480px;border-radius:15px;overflow:hidden;border:1px solid var(--nf-line);background:#EEEBE2}
.nf-map__el,.nf-map__el.maplibregl-map{position:absolute!important;inset:0}
@media (min-width:901px){.tpn-nf[data-state="start"] .nf-map{height:auto;min-height:0;aspect-ratio:4/3}}
.nf-map__wait{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--nf-small);padding:20px;text-align:center}
.nf-mapbtn,.nf-mapclose,.nf-sticky{display:none}
.nf-h2{font-size:clamp(28px,3vw,40px);line-height:1.08;color:var(--nf-green)}
.nf-h3{font-size:22px;line-height:1.2;color:var(--nf-green);margin:34px 0 14px!important}
.nf-lead{font-size:18px;line-height:1.55;color:var(--nf-mute);margin-top:12px!important}
.nf-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:0 4px;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--nf-small);margin-bottom:10px!important}
.nf-crumb .nf-linkbtn{color:var(--nf-link);text-transform:uppercase;letter-spacing:.08em;text-decoration:none}
.nf-crumb .nf-linkbtn:hover{text-decoration:underline}
.nf-x{width:30px;height:30px;margin:0 8px 0 0;border:1px solid var(--nf-green);border-radius:50%;background:#fff;color:var(--nf-green);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;flex:none;transition:background .3s}
.nf-x:hover{background:var(--nf-lime)}
.nf-x:focus-visible,.nf-clear:focus-visible{outline:2px solid var(--nf-mari);outline-offset:2px}
#nf-start .nf-h2{font-size:clamp(24px,2.2vw,28px);line-height:1.15}
#nf-start .nf-h3{margin-top:28px!important}

/* 4 filters + 5 tabs, each under a label */
.nf-ctl{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.nf-ctl__label{font-family:var(--font-mono);font-size:11px;line-height:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--nf-small)}
.nf-tabs{display:flex;gap:4px 22px;flex-wrap:wrap;border-bottom:1px solid var(--nf-line)}
.nf-tab{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 0 9px;font-family:var(--font-mono);font-size:12px;line-height:18px;letter-spacing:.06em;text-transform:uppercase;color:var(--nf-mute);cursor:pointer;white-space:nowrap}
.nf-tab small{font-size:11px;color:var(--nf-small);margin-left:2px}
.nf-tab:hover{color:var(--nf-green)}
.nf-tab[aria-selected="true"]{color:var(--nf-green);border-bottom-color:var(--nf-green)}

/* bands + cards */
.nf-band{margin-top:30px}
.nf-band__h{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--nf-line);padding-bottom:10px;margin-bottom:14px}
.nf-band__h h3{font-size:24px;color:var(--nf-green)}
.nf-band__h span{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--nf-small)}
.nf-cards{display:flex;flex-direction:column;gap:12px}
.nf-card{background:#fff;border:1px solid var(--nf-line);border-radius:15px;padding:18px 20px 16px;display:flex;flex-direction:column;gap:8px;transition:border-color .25s,box-shadow .25s}
.nf-card:hover,.nf-card.is-hot{border-color:#B9C7A8;box-shadow:0 6px 22px rgba(35,83,39,.09)}
.nf-card.is-hot{outline:2px solid var(--nf-mari);outline-offset:-1px}
.nf-card__top{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.nf-card__name{font-size:21px!important;line-height:1.15;color:var(--nf-green)}
.nf-card__dist{flex:none;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--nf-green);line-height:18px;margin-top:4px}
.nf-card__top+.nf-card__where{margin-top:-3px!important}
.nf-card__where{font-family:var(--font-mono);font-size:11.5px;line-height:1.55;letter-spacing:.08em;text-transform:uppercase;color:var(--nf-small)}
.nf-card__note{font-size:16px;line-height:1.5;color:var(--nf-mute)}
.nf-tags{display:flex;gap:4px 16px;flex-wrap:wrap}
.nf-tag{font-family:var(--font-mono);font-size:11px;line-height:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--nf-mute);display:inline-flex;align-items:center;gap:6px}
.nf-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:#86a088;flex:none}
.nf-tag--int::before{background:var(--nf-plum)}
.nf-tag--appt::before{background:var(--nf-mari)}
.nf-card__acts{display:flex;gap:4px 20px;flex-wrap:wrap;margin-top:6px}
.nf-card__acts a{font-family:var(--font-body);font-size:16px;color:var(--nf-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,#652199 40%,transparent)}
.nf-card__acts a:hover{color:var(--nf-plum);text-decoration-color:currentColor}
.nf-more{display:flex;justify-content:center;margin:18px 0 6px}
.nf-more--left{justify-content:flex-start}
.nf-more--pair{gap:10px;flex-wrap:wrap}
.nf-alert{margin-top:24px;background:#fff;border:1px solid var(--nf-line);border-left:4px solid var(--nf-lime);border-radius:15px;padding:22px 24px}
.nf-alert__h{font-size:22px!important;line-height:1.2;color:var(--nf-green)}
.nf-alert__p{font-size:17px;line-height:1.5;color:var(--nf-mute);margin-top:4px!important}
.nf-alert form{margin-top:14px}
.nf-alert .nf-label{color:var(--nf-small);display:block;margin-bottom:8px}
.nf-alert__row{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.nf-alert .nf-input{flex:1 1 220px;width:auto;border-color:#cfd3c4;background-image:none;padding-left:16px}
.nf-alert .mc4wp-response{margin-top:10px;font-size:16px;color:var(--nf-green)}
.nf-alert .mc4wp-response p{margin:0}
.nf-alert__fine{margin-top:10px!important;font-size:14px;line-height:1.45;color:var(--nf-small)}
.nf-tie{margin-top:32px;background:var(--nf-lime);border:1px solid #c3d77a;border-radius:15px;padding:22px 24px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.nf-tie p{font-family:var(--font-display);font-size:22px;line-height:1.2;color:var(--nf-green)}

/* start view: crawlable state index */
.nf-index{border-top:1px solid var(--nf-line)}
.nf-idx{border-bottom:1px solid var(--nf-line)}
.nf-idx summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px;font-size:18px;color:var(--nf-green)}
.nf-idx summary::-webkit-details-marker{display:none}
.nf-idx summary::after{content:"";width:12px;height:8px;flex:none;margin-left:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23235327' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center;transition:transform .2s}
.nf-idx[open] summary::after{transform:rotate(180deg)}
.nf-idx summary span:first-child{flex:1}
.nf-idx__n{font-family:var(--font-mono);font-size:12px;color:var(--nf-small)}
.nf-idx ul{list-style:none;margin:0 0 14px;padding:0}
.nf-idx li{padding:6px 0;font-size:16px;line-height:1.45;border-top:1px dashed var(--nf-line)}
.nf-idx li a{color:var(--nf-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,#652199 40%,transparent)}
.nf-idx__where{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--nf-small);margin-left:8px}
.nf-idx__note{display:block;font-size:14.5px;color:var(--nf-mute)}

/* popup */
.nf-pop b{font-family:var(--font-display);font-weight:400;font-size:18px;color:var(--nf-green);display:block;margin-bottom:2px}
.nf-pop span{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--nf-small)}
.nf-pop a{color:var(--nf-link);display:inline-block;margin-top:8px;font-family:var(--font-body);font-size:15px}
.tpn-nf .maplibregl-popup-content{border-radius:12px;padding:14px 18px 14px 16px;box-shadow:0 8px 28px rgba(0,0,0,.16)}

/* bottom */
.nf-bottom{padding:8px 0 40px}
.nf-trio{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px}
.nf-box{background:#fff;border:1px solid var(--nf-line);border-radius:15px;padding:28px 28px 26px}
.nf-box h2{font-size:24px;color:var(--nf-green);line-height:1.15;margin-bottom:10px}
.nf-box p,.nf-box li{font-size:17px;line-height:1.55;color:var(--nf-mute)}
.nf-box p a{color:var(--nf-link)}
.nf-box ul{margin:8px 0 0;padding-left:20px}
.nf-box li{margin:4px 0}
.nf-box li::marker{color:var(--tpn-lavender-dot,#B79AE8)}
.nf-box .nf-btn{margin-top:16px}
.nf-box--lime{background:var(--nf-lime);border-color:#c3d77a}
.nf-box--lime p{color:#2f4a22}
.nf-dunkin{margin-top:16px;display:flex;gap:28px;align-items:center;background:var(--nf-green);color:#fff;border-radius:15px;padding:30px 34px}
.nf-dunkin b{font-family:var(--font-display);font-weight:400;font-size:62px;line-height:1;color:var(--nf-lime);flex:none}
.nf-dunkin p{font-size:19px;line-height:1.5;color:var(--tpn-on-dark-muted,#e6ebe2)}
.nf-dunkin strong{color:#fff;font-weight:600}
.tpn-nf-after{padding-top:8px}

@media (max-width:1024px){.nf-hero__grid{grid-template-columns:minmax(0,1fr)}.nf-hero__map{max-width:640px}.nf-trio{grid-template-columns:1fr}}
@media (max-width:900px){
	.nf-hero{padding:100px 0 30px}
	.nf-hero__map,.nf-desk{display:none}
	.nf-hero__lead{font-size:18px;margin-top:12px!important}
	.nf-select{display:flex;flex-direction:column;gap:8px;margin-top:24px}
	.nf-select select{appearance:none;-webkit-appearance:none;width:100%;font-family:var(--font-body);font-size:17px;color:#1E1E1E;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23235327' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 18px center;border:1px solid #fff;border-radius:var(--btn-radius,7px);min-height:var(--btn-min-height,48px);padding:0 44px 0 16px}
	.nf-linkbtn{min-height:44px}
	.nf-sticky:not([hidden]){position:sticky;top:64px;z-index:800;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 12px 0;background:#fff;border:1px solid var(--nf-line);border-radius:999px;padding:4px 4px 4px 18px;box-shadow:0 6px 18px rgba(35,83,39,.12);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--nf-green)}
	.nf-sticky .nf-linkbtn{font-family:var(--font-body);font-size:16px;letter-spacing:0;text-transform:none;color:var(--nf-link);padding:10px 14px}
	.nf-app{display:block;padding-top:20px;padding-bottom:96px}
	.nf-map{display:none}
	.tpn-nf.is-map .nf-map{display:block;position:fixed;inset:0;height:100svh;z-index:1100;border-radius:0;border:0}
	.nf-mapclose{display:inline-flex;position:absolute;left:50%;transform:translateX(-50%);bottom:28px;z-index:5;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.22)}
	.nf-mapbtn:not([hidden]){display:inline-flex;position:fixed;left:50%;transform:translateX(-50%);bottom:20px;z-index:900;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.22)}
	.nf-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}
	.nf-tabs::-webkit-scrollbar{display:none}
	.nf-card__acts a{display:inline-flex;align-items:center;min-height:44px}
	.nf-card__acts{margin:0 0 -6px}
}
@media (max-width:767px){
	.nf-zip__row{flex-direction:column;align-items:stretch;gap:10px}
	.nf-zip__field{flex:none}
	.nf-btn{font-size:var(--btn-size-mobile,14px);letter-spacing:var(--btn-tracking-mobile,1.5px)}
	.nf-hero__title{font-size:40px;line-height:42px}
	.nf-dunkin{flex-direction:column;align-items:flex-start;gap:10px;padding:24px}.nf-dunkin b{font-size:48px}
}
@media (prefers-reduced-motion:reduce){.nf-tile,.nf-card{transition:none}}
/* External-link arrow: inline SVG with a real gap (the ↗ character rendered as an emoji on iPhones, Emily 2026-10-19) */
.nf-ext{display:inline-block;width:11px;height:11px;margin-left:6px;vertical-align:-1px;flex:none}
