:root{--surface-2:var(--surface-secondary);--surface-3:var(--surface-tertiary);--font-display:var(--font-bricolage-grotesque,"Bricolage Grotesque", system-ui, sans-serif);--display-weight:400}.c-wrap{max-width:1320px;margin:0 auto;padding:0 32px}.pg-page{padding:56px 0 120px}.pg-head{grid-template-columns:1fr auto;align-items:flex-end;gap:32px;margin-bottom:64px;display:grid}.pg-head .crumbs{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);gap:10px;margin-bottom:14px;font-family:JetBrains Mono,monospace;font-size:10.5px;display:flex}.pg-head .crumbs a{color:var(--muted);text-decoration:none}.pg-head .crumbs a:hover{color:var(--foreground)}.pg-head h1{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(48px,7vw,120px);line-height:.92;font-weight:var(--display-weight);margin:0}.pg-head h1 em{color:var(--accent);font-style:italic}.pg-head .lede{color:var(--ink-dim);max-width:540px;margin-top:22px;font-size:17px;line-height:1.55}.pg-head .meta{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:right;max-width:220px;font-family:JetBrains Mono,monospace;font-size:10.5px;line-height:1.7}.pg-head .meta b{font-family:var(--font-display);letter-spacing:-.01em;color:var(--foreground);margin-bottom:6px;font-size:26px;font-weight:500;display:block}.btn{letter-spacing:.005em;font-size:14px;font-family:var(--font-display);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:10px;padding:14px 22px;text-decoration:none;transition:transform .2s,background-color .2s,color .2s,border-color .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--foreground);color:var(--background)}.btn-primary:hover{background:var(--accent);color:var(--accent-foreground)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-ghost{color:var(--foreground);border:1px solid var(--border);background:0 0}.btn-ghost:hover{background:var(--surface-2)}.ph{background:var(--surface-secondary);background-image:repeating-linear-gradient(135deg, var(--separator) 0, var(--separator) 1px, transparent 1px, transparent 9px);border-radius:4px;position:relative;overflow:hidden}.pg-sec-label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--separator);margin-bottom:28px;padding-bottom:14px;font-family:JetBrains Mono,monospace;font-size:10.5px}.pg-info-card{border:1px solid var(--separator);border-radius:6px;flex-direction:column;gap:12px;padding:28px;transition:transform .2s;display:flex;overflow:hidden}.pg-info-card:hover{transform:translateY(-2px)}.pg-field{flex-direction:column;gap:6px;display:flex}.pg-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:10px;display:block}.pg-input{border:1px solid var(--separator);background:var(--field-background);width:100%;color:var(--field-foreground);font-size:14px;font-family:var(--font-display);appearance:none;border-radius:6px;outline:none;padding:12px 16px;transition:border-color .15s}.pg-input:focus{border-color:var(--accent)}.pg-input::placeholder{color:var(--field-placeholder)}.pg-field-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.pg-error{color:var(--danger);margin-top:2px;font-size:11.5px}.pg-form-section{border-top:1px solid var(--separator);padding:32px 0}.pg-form-section:first-of-type{border-top:none;padding-top:0}.pg-submit-row{border-top:1px solid var(--separator);justify-content:flex-end;align-items:center;gap:18px;margin-top:12px;padding-top:32px;display:flex}.pg-confirm{text-align:center;padding:80px 0}.pg-confirm .ok-mark{border:1.5px solid var(--separator);width:48px;height:48px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 24px;font-size:22px;display:flex}.pg-confirm h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(28px,4vw,48px);font-weight:var(--display-weight);margin:0 0 10px}.pg-confirm .ref{letter-spacing:.06em;color:var(--accent);margin:14px 0;font-family:JetBrains Mono,monospace;font-size:18px}.pg-confirm .sub{color:var(--ink-dim);max-width:400px;margin:0 auto;font-size:15px;line-height:1.6}.pg-prose{max-width:760px}.pg-prose h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(22px,3vw,32px);font-weight:var(--display-weight);margin:56px 0 14px}.pg-prose h3{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(16px,2vw,20px);font-weight:var(--display-weight);color:var(--foreground);margin:32px 0 10px}.pg-prose p{color:var(--ink-dim);margin-bottom:18px;font-size:15px;line-height:1.65}.pg-prose ul{color:var(--ink-dim);margin-bottom:18px;padding-left:22px;font-size:15px;line-height:1.65;list-style:outside}.pg-prose hr{border:none;border-top:1px solid var(--separator);margin:48px 0}.pg-about-hero{aspect-ratio:16/7;border-radius:6px;margin:0 0 96px;position:relative;overflow:hidden}.pg-filter-strip{flex-wrap:wrap;gap:8px;margin-bottom:40px;display:flex}.leaflet-popup-content-wrapper{background:var(--background)!important;color:var(--foreground)!important;border:1px solid var(--separator)!important;border-radius:6px!important;box-shadow:0 4px 24px #0000002e!important}.leaflet-popup-tip-container .leaflet-popup-tip{background:var(--background)!important;box-shadow:none!important}.leaflet-popup-close-button{color:var(--muted)!important}.leaflet-popup-close-button:hover{color:var(--foreground)!important}.lf-popup{padding:2px 0;font-family:system-ui,sans-serif}.lf-popup-name{color:var(--foreground);margin-bottom:4px;font-size:13px;font-weight:600}.lf-popup-meta{color:var(--muted);font-size:11px;font-family:var(--font-jetbrains-mono,monospace);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.lf-popup-link{color:var(--accent);font-size:11px;text-decoration:underline}.leaflet-bar a{background:var(--background)!important;color:var(--foreground)!important;border-color:var(--separator)!important}.leaflet-bar a:hover{background:var(--surface-secondary)!important}@media (max-width:1080px){.pg-head{grid-template-columns:1fr}.pg-head .meta{text-align:left}}@media (max-width:680px){.c-wrap{padding:0 20px}.pg-page{padding:40px 0 80px}.pg-head{margin-bottom:44px}.pg-head h1{font-size:clamp(40px,12vw,80px)}.pg-field-grid{grid-template-columns:1fr}.pg-submit-row{flex-direction:column;align-items:stretch}.pg-submit-row .btn{text-align:center;justify-content:center}.pg-about-hero{aspect-ratio:16/9;margin-bottom:48px}}@media (max-width:480px){.c-wrap{padding:0 16px}.pg-page{padding:32px 0 64px}.pg-head h1{font-size:clamp(32px,11vw,48px)}}.theme-toggle{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--separator);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:10.5px;transition:color .15s,border-color .15s;display:inline-flex}.theme-toggle:hover{color:var(--foreground);border-color:var(--foreground)}.nav-cta{border:1px solid var(--foreground);letter-spacing:.01em;color:var(--foreground);background:0 0;border-radius:999px;padding:9px 18px;font-size:13.5px;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.nav-cta:hover{background:var(--foreground);color:var(--background)}.mosaic-tile{transition:transform .3s}.mosaic-tile:hover{transform:translateY(var(--tile-hover,-4px))}@media (min-width:768px){.mosaic-tile{transform:translateY(var(--tile-base,0))}.mosaic-tile:hover{transform:translateY(var(--tile-hover,-4px))}}
