:root {
      --hn-green:#24483b;
      --hn-blue:#287da6;
      --hn-blue-dark:#1d4f8c;
      --hn-orange:#d9863d;
      --hn-yellow:#f3c95c;
      --hn-cream:#fff9ef;
      --hn-ink:#111;
      --hn-muted:rgba(17,17,17,.68);
      --hn-line:rgba(17,17,17,.13);
      --hn-shadow:0 16px 42px rgba(20,35,29,.1);
      --hn-page-max:1180px;
    }

    *,*::before,*::after{box-sizing:border-box}
    html{background:var(--hn-cream);scroll-behavior:smooth}
    body{margin:0;color:var(--hn-ink);font-family:Montserrat,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--hn-cream)}
    img{display:block;max-width:100%}
    a{color:inherit}
    button,input,textarea{font:inherit}
    button{-webkit-tap-highlight-color:transparent}
    #site-header{position:sticky;top:0;z-index:1000}
    #map,#tools-library,#guides{scroll-margin-top:92px}
    .hn-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
    .hn-page{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 12% 0,rgba(40,125,166,.12),transparent 32%),radial-gradient(circle at 92% 8%,rgba(243,201,92,.17),transparent 30%),linear-gradient(180deg,#fff9ef 0%,#f8efe4 45%,#edf5ef 100%)}
    .hn-container{width:min(var(--hn-page-max),calc(100% - 24px));margin-inline:auto}
    .hn-page h1,.hn-page h2,.hn-page h3{font-family:Fraunces,Georgia,"Times New Roman",serif;color:var(--hn-ink)}

    .hn-hero{padding:20px 0 16px}
    .hn-hero-main{position:relative;min-height:250px;padding:22px 14px 18px;border:1px solid rgba(29,79,140,.1);border-radius:30px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.8) 42%,rgba(255,255,255,.48)),radial-gradient(circle at 92% 18%,rgba(29,79,140,.16),transparent 18rem),url("/Image/map-tool-760.webp") center/cover no-repeat;box-shadow:0 22px 58px rgba(20,35,29,.1)}
    .hn-hero-main::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.08) 62%,rgba(255,255,255,.38) 100%)}
    .hn-hero-copy{position:relative;z-index:1;max-width:760px}
    .hn-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.82);color:#1f6688;font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
    .hn-kicker-dot{width:7px;height:7px;border-radius:50%;background:var(--hn-orange);box-shadow:0 0 0 5px rgba(217,134,61,.14)}
    .hn-hero h1{max-width:9.8ch;margin:0;font-size:clamp(2.45rem,12vw,6.2rem);line-height:.86;letter-spacing:-.075em}
    .hn-hero-lede{max-width:640px;margin:15px 0 0;color:rgba(16,32,51,.72);font-size:clamp(.94rem,2.8vw,1.08rem);font-weight:650;line-height:1.5}

    .hn-quick-nav{display:grid;grid-template-columns:1fr;gap:10px;margin:18px 0 4px}
    .hn-quick-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 22px;align-items:center;gap:11px;min-height:86px;padding:14px;border:1px solid rgba(20,35,29,.12);border-radius:20px;background:rgba(255,255,255,.88);box-shadow:0 12px 30px rgba(20,35,29,.08);text-decoration:none;overflow:hidden}
    .hn-quick-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--hn-blue)}
    .hn-quick-card:nth-child(2)::before{background:var(--hn-orange)}
    .hn-quick-card:nth-child(3)::before{background:var(--hn-green)}
    .hn-quick-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:rgba(40,125,166,.12);color:#1f6688;font-weight:950}
    .hn-quick-copy strong{display:block;color:var(--hn-green);font-size:.98rem;line-height:1.05}
    .hn-quick-copy span{display:block;margin-top:5px;color:var(--hn-muted);font-size:.73rem;line-height:1.32}
    .hn-quick-arrow{font-weight:950;color:var(--hn-blue)}

    .hn-tool-shell{margin-top:18px;border:1px solid rgba(20,35,29,.1);border-radius:30px;background:rgba(255,255,255,.9);box-shadow:0 22px 60px rgba(20,35,29,.12);overflow:hidden}
    .hn-tool-top{padding:14px;border-bottom:1px solid rgba(20,35,29,.1);background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,249,239,.92) 58%,rgba(243,201,92,.18))}
    .hn-tool-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}
    .hn-tool-title{color:var(--hn-green);font-size:1.02rem;font-weight:950;letter-spacing:-.035em;line-height:1.05}
    .hn-tool-sub{margin-top:5px;color:var(--hn-muted);font-size:.78rem;line-height:1.34}
    .hn-stamp{display:inline-flex;flex:none;align-items:center;justify-content:center;padding:6px 8px;border:2px solid rgba(217,134,61,.68);border-radius:10px;background:rgba(255,255,255,.74);color:#a95d21;font-size:.56rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;transform:rotate(4deg)}
    .hn-search-wrap{position:relative}
    .hn-search-icon{position:absolute;left:15px;top:50%;color:rgba(20,35,29,.46);font-weight:950;transform:translateY(-50%)}
    .hn-search-input{width:100%;min-height:46px;padding:0 14px 0 40px;border:1px solid rgba(20,35,29,.16);border-radius:999px;outline:none;background:#fff;color:var(--hn-ink);font-size:.86rem;font-weight:750}
    .hn-search-input:focus{border-color:rgba(40,125,166,.62);box-shadow:0 0 0 4px rgba(40,125,166,.12)}

    .hn-map-first{width:100%;padding:9px;border-bottom:1px solid rgba(20,35,29,.1);background:linear-gradient(180deg,#fff,#fbfaf7)}
    .hn-map-area-toolbar,.hn-point-filters,.hn-area-toolbar{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 9px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
    .hn-map-area-toolbar::-webkit-scrollbar,.hn-point-filters::-webkit-scrollbar,.hn-area-toolbar::-webkit-scrollbar{display:none}
    .hn-area-chip,.hn-point-filter{flex:0 0 auto;min-height:34px;padding:8px 12px;border:1px solid rgba(20,35,29,.12);border-radius:999px;background:rgba(255,255,255,.94);color:rgba(20,35,29,.76);font-size:.68rem;font-weight:950;white-space:nowrap;cursor:pointer;box-shadow:0 8px 16px rgba(20,35,29,.05)}
    .hn-area-chip.is-active{border-color:var(--hn-blue-dark);background:var(--hn-blue-dark);color:#fff}
    .hn-point-filter{display:inline-flex;align-items:center;gap:6px;color:var(--hn-green)}
    .hn-point-filter::before{content:"";width:9px;height:9px;flex:none;border:2px solid currentColor;border-radius:50%}
    .hn-point-filter.is-active::before{background:currentColor;box-shadow:inset 0 0 0 2px rgba(255,255,255,.9)}
    .hn-point-filter[data-point-filter="all"].is-active{background:var(--hn-green);color:#fff}
    .hn-point-filter[data-point-filter="chabad"].is-active{background:#287da6;color:#fff}
    .hn-point-filter[data-point-filter="city"].is-active{background:#f3c95c;color:#14231d}
    .hn-point-filter[data-point-filter="heritage"].is-active{background:#7b3fa3;color:#fff}
    .hn-point-filter[data-point-filter="eruv"].is-active{background:#d9863d;color:#fff}
    .hn-point-filter[data-point-filter="mikvah"].is-active{background:#a8957b;color:#fff}
    .hn-map-box{position:relative;width:100%;height:360px;min-height:360px;border:1px solid rgba(29,79,140,.13);border-radius:22px;overflow:hidden;background:#edf2ef;box-shadow:0 18px 46px rgba(20,35,29,.1);touch-action:auto;overscroll-behavior:contain}
    #hnToolkitMap{position:absolute;inset:0;z-index:1;width:100%;height:100%}
    .hn-map-gate{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:18px;text-align:center;background:radial-gradient(circle at top right,rgba(243,201,92,.24),transparent 34%),linear-gradient(145deg,rgba(255,249,239,.98),rgba(231,238,233,.98))}
    .hn-map-gate[hidden]{display:none}
    .hn-map-gate-card{width:min(410px,100%);padding:22px 18px;border:1px solid rgba(20,35,29,.12);border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 20px 48px rgba(20,35,29,.13)}
    .hn-map-gate strong{display:block;color:var(--hn-green);font-size:1.2rem}
    .hn-map-gate p{margin:8px auto 15px;color:var(--hn-muted);font-size:.84rem;line-height:1.42}
    .hn-load-map-btn{width:100%;min-height:48px;border:0;border-radius:999px;background:var(--hn-green);color:#fff;font-weight:950;cursor:pointer}
    .hn-load-map-btn:disabled{opacity:.68;cursor:wait}
    .hn-map-gate-note{display:block;margin-top:10px;color:rgba(20,35,29,.58);font-size:.68rem}
    .hn-map-loading,.hn-map-error{position:absolute;inset:0;z-index:3;display:none;place-items:center;padding:22px;text-align:center;color:var(--hn-green);pointer-events:none}
    .hn-map-error{z-index:4;background:rgba(223,233,227,.9);pointer-events:auto}
    .hn-map-message{max-width:340px;padding:17px 18px;border:1px solid rgba(29,79,140,.14);border-radius:18px;background:rgba(255,249,239,.96);box-shadow:0 18px 42px rgba(20,35,29,.12)}
    .hn-map-message strong{display:block;margin-bottom:6px;color:var(--hn-green);font-size:1.02rem}
    .hn-map-message span{color:rgba(20,35,29,.72);font-size:.86rem;line-height:1.35}

    .hn-section{padding:28px 0}
    .hn-section-head{display:grid;gap:10px;margin-bottom:16px}
    .hn-eyebrow{color:var(--hn-blue);font-size:.68rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase}
    .hn-section-title{margin:0;font-size:clamp(1.8rem,8.5vw,2.8rem);line-height:.94;letter-spacing:-.055em}
    .hn-section-copy{max-width:700px;margin:0;color:var(--hn-muted);font-size:.88rem;line-height:1.5}
    .hn-tools-library-shell,.hn-guides-wrap{padding:14px;border:1px solid var(--hn-line);border-radius:28px;background:rgba(255,255,255,.66);box-shadow:var(--hn-shadow)}
    .hn-tools-controls{display:grid;gap:11px;margin:16px 0 12px}
    .hn-results-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 8px}
    .hn-results-count{color:rgba(20,35,29,.58);font-size:.7rem;font-weight:850}
    .hn-resource-carousel-wrap{position:relative;width:100%;overflow:hidden}
    .hn-resource-track{display:grid;grid-auto-flow:column;grid-template-rows:repeat(3,minmax(0,1fr));grid-auto-columns:minmax(126px,37%);gap:10px;overflow-x:auto;overflow-y:hidden;padding:2px 38px 12px 2px;scroll-snap-type:x mandatory;scrollbar-width:thin}
    .hn-resource-card{display:grid;grid-template-rows:40px minmax(0,1fr);min-width:0;min-height:156px;border:1px solid var(--hn-line);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.82);box-shadow:0 8px 20px rgba(20,35,29,.07);scroll-snap-align:start}
    .hn-resource-preview{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f0eb,#e4f2f7)}
    .hn-resource-logo{width:30px;height:30px;padding:5px;border-radius:10px;background:rgba(255,255,255,.82);object-fit:contain}
    .hn-resource-content{display:grid;align-content:space-between;gap:7px;min-width:0;padding:8px}
    .hn-resource-tag-row{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:5px}
    .hn-resource-tag,.hn-source-tier{display:inline-flex;padding:4px 6px;border-radius:999px;font-size:.5rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase}
    .hn-resource-tag{background:rgba(36,72,59,.08);color:var(--hn-green)}
    .hn-source-tier{background:rgba(40,125,166,.1);color:#1f6688}
    .hn-resource-card h3{margin:0 0 4px;font-size:.78rem;line-height:1.04;letter-spacing:-.02em}
    .hn-resource-card p{display:-webkit-box;margin:0;overflow:hidden;color:var(--hn-muted);font-size:.65rem;line-height:1.24;-webkit-box-orient:vertical;-webkit-line-clamp:3}
    .hn-card-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
    .hn-resource-link,.hn-map-link{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:5px 8px;border-radius:999px;text-decoration:none;font-size:.6rem;font-weight:950}
    .hn-resource-link{background:var(--hn-blue);color:#fff}
    .hn-map-link{border:1px solid var(--hn-line);background:rgba(255,255,255,.72);color:var(--hn-green)}
    .hn-library-placeholder{display:grid;place-items:center;gap:8px;min-width:min(86vw,360px);min-height:176px;padding:18px;border:1px dashed rgba(36,72,59,.24);border-radius:16px;background:rgba(255,255,255,.6);color:var(--hn-muted);font-size:.78rem;font-weight:800;text-align:center;scroll-snap-align:start}.hn-library-placeholder strong{color:var(--hn-green);font-size:.96rem}.hn-library-placeholder span{max-width:38ch;line-height:1.4}.hn-library-placeholder button{min-height:42px;padding:9px 14px;border:0;border-radius:999px;background:var(--hn-green);color:#fff;font-weight:950;cursor:pointer}.hn-library-placeholder button:disabled{opacity:.68;cursor:wait}

    .hn-guide-track{display:flex;gap:12px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x mandatory}
    .hn-guide-card{min-width:82%;border:1px solid var(--hn-line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 10px 26px rgba(20,35,29,.07);text-decoration:none;scroll-snap-align:start}
    .hn-guide-image{position:relative;height:138px;overflow:hidden;background:#ece7db}
    .hn-guide-image img{width:100%;height:100%;object-fit:cover}
    .hn-guide-label{position:absolute;left:13px;bottom:13px;z-index:1;padding:6px 9px;border:1px solid rgba(17,17,17,.13);border-radius:999px;background:rgba(246,242,231,.94);font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
    .hn-guide-content{padding:13px}
    .hn-guide-content h3{margin:0 0 6px;font-size:1.02rem;line-height:1.04;letter-spacing:-.03em}
    .hn-guide-content p{margin:0;color:var(--hn-muted);font-size:.8rem;line-height:1.38}
    .hn-guide-arrow{display:inline-flex;min-height:38px;margin-top:12px;padding:9px 12px;border-radius:999px;background:var(--hn-ink);color:#fff;font-size:.8rem;font-weight:950}

    .hn-suggest-resource{display:grid;gap:18px;margin-top:22px;padding:22px;border-radius:24px;background:var(--hn-blue-dark);color:#fff;box-shadow:0 22px 54px rgba(29,79,140,.28)}
    .hn-suggest-resource h3{margin:0;color:#fff;font-size:clamp(2rem,7vw,3.5rem);line-height:.92;letter-spacing:-.06em}
    .hn-suggest-resource p{margin:12px 0 0;color:rgba(255,255,255,.94);font-size:.92rem;font-weight:700;line-height:1.5}
    .hn-suggest-btn,.hn-modal-submit,.hn-modal-close{border:0;cursor:pointer}
    .hn-suggest-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:13px 20px;border-radius:999px;background:#fff;color:var(--hn-blue-dark);font-size:.94rem;font-weight:950}

    .hn-modal-backdrop{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:14px;overflow:hidden;background:rgba(20,35,29,.62)}
    .hn-modal-backdrop.is-open{display:flex}
    .hn-modal{position:relative;z-index:1;width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 28px);padding:18px;overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(255,255,255,.52);border-radius:26px;background:var(--hn-cream);box-shadow:0 30px 90px rgba(20,35,29,.38)}
    .hn-modal-top{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:10px;background:var(--hn-cream)}
    .hn-modal h2{margin:0;font-size:clamp(2rem,11vw,3rem);line-height:.92;letter-spacing:-.055em}
    .hn-modal p{margin:8px 0 0;color:var(--hn-muted);font-size:.9rem;line-height:1.48}
    .hn-modal-close{width:38px;height:38px;flex:none;border-radius:50%;background:rgba(20,35,29,.08);color:var(--hn-green);font-size:1.25rem;font-weight:950}
    .hn-modal-form{display:grid;gap:10px;margin-top:14px}
    .hn-field-grid{display:grid;gap:10px}
    .hn-modal-field{display:grid;gap:6px}
    .hn-modal-field label{color:rgba(20,35,29,.78);font-size:.74rem;font-weight:950}
    .hn-modal-field input,.hn-modal-field textarea{width:100%;max-width:100%;padding:12px 13px;border:1px solid rgba(20,35,29,.14);border-radius:16px;outline:none;background:rgba(255,255,255,.84);color:var(--hn-ink);font-weight:680;resize:vertical}
    .hn-modal-submit{min-height:48px;padding:12px 16px;border-radius:999px;background:var(--hn-blue);color:#fff;font-weight:950}
    .hn-modal-status{display:none;padding:12px;border-radius:18px;background:rgba(36,72,59,.09);color:var(--hn-green);font-size:.86rem;font-weight:800;line-height:1.42}
    .hn-modal-status.is-visible{display:block}
    html.hn-modal-open,body.hn-modal-open{height:100%;overflow:hidden!important}

    #tools-library,#guides,#suggest-resource{content-visibility:auto;contain-intrinsic-size:auto 900px}

    @media (min-width:640px){
      .hn-container{width:min(var(--hn-page-max),calc(100% - 34px))}
      .hn-quick-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
      .hn-quick-card{min-height:102px;padding:16px}
      .hn-map-box{height:500px;min-height:500px}
      .hn-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .hn-resource-track{grid-auto-columns:minmax(150px,22%)}
      .hn-modal{padding:22px;border-radius:30px}
    }

    @media (min-width:760px){
      .hn-hero-main{min-height:340px;padding:34px 30px;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 44%,rgba(255,255,255,.42) 72%,rgba(255,255,255,.18) 100%),radial-gradient(circle at 92% 18%,rgba(29,79,140,.18),transparent 24rem),url("/Image/map-tool-1440.webp") right center/cover no-repeat}
      .hn-guide-card{min-width:calc((100% - 24px)/3)}
    }

    @media (min-width:900px){
      .hn-hero{padding:34px 0 26px}
      .hn-map-first{padding:14px}
      .hn-map-box{height:610px;min-height:560px}
      .hn-section{padding:48px 0}
      .hn-section-head{grid-template-columns:minmax(0,.8fr) minmax(360px,.74fr);align-items:end;gap:32px}
      .hn-resource-track{grid-auto-columns:minmax(165px,18%)}
      .hn-suggest-resource{grid-template-columns:minmax(0,1fr) minmax(260px,.34fr);align-items:center}
    }

    @media (max-width:699px){
      .hn-map-message{background:#fff9ef}
      .hn-resource-card,.hn-guide-card{box-shadow:0 8px 20px rgba(20,35,29,.07)}
    }

    @media (prefers-reduced-motion:reduce){
      *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
    }
