:root,:root[data-theme=dark]{--bg:#120a11;--bg-alt:#1b1019;--surface:#251521;--surface-raised:#301b2b;--surface-soft:#402238;--ink:#fff3f8;--ink-inverse:#2d1020;--muted:#c3a5b2;--muted-strong:#efd4df;--line:#ff84bc33;--line-strong:#ff84bc75;--gold:#e95c9f;--gold-bright:#ff91bd;--gold-deep:#8d2959;--danger:#ec6f82;--success:#77b994;--header:#120a11cc;--glass:#21111dc7;--shadow:0 28px 90px #08020775;--radius-sm:12px;--radius-md:20px;--radius-lg:32px;--radius-pill:999px;--duration-fast:.18s;--duration-medium:.32s;--duration-slow:.62s;--duration-slider:.82s;--ease-smooth:cubic-bezier(.22, .61, .36, 1);--ease-emphasized:cubic-bezier(.16, 1, .3, 1);--header-height:76px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#fff7fb;--bg-alt:#fae8f1;--surface:#fffafd;--surface-raised:#f8dce9;--surface-soft:#f1c7da;--ink:#351722;--ink-inverse:#fff8fb;--muted:#7b5c69;--muted-strong:#50323e;--line:#b734702e;--line-strong:#b7347066;--gold:#cc3f82;--gold-bright:#e75d9d;--gold-deep:#8b2455;--danger:#ba4053;--success:#397b58;--header:#fff7fbd1;--glass:#fff8fcd1;--shadow:0 24px 70px #631e4029;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{min-width:320px;min-height:100%;scroll-padding-top:var(--header-height);background:var(--bg)}body{min-height:100vh;color:var(--ink);transition:color var(--duration-medium) var(--ease-smooth), background-color var(--duration-medium) var(--ease-smooth);background:0 0;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.site-background{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.site-background:after{content:"";background:radial-gradient(circle at 18% 12%, #ffb0d31f, transparent 34rem), linear-gradient(180deg, color-mix(in srgb, var(--bg) 32%, transparent), var(--bg));position:absolute;inset:0}.site-iridescence,.site-iridescence canvas{width:100%;height:100%}.site-iridescence{opacity:.58;filter:saturate(.92)contrast(1.05)}:root[data-theme=light] .site-iridescence{opacity:.24;filter:saturate(.7)brightness(1.45)}.opening-intro{z-index:20000;color:#fff4f9;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);transition:opacity 1.4s var(--ease-smooth), backdrop-filter 1.4s var(--ease-smooth);will-change:opacity;background:#0e060dd6;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.opening-intro:after{z-index:1;content:"";pointer-events:none;background:radial-gradient(circle,#4a0c2d14,#0e060d8a 72%),linear-gradient(#0e060d29,#0e060db3);position:absolute;inset:0}.opening-intro.is-leaving{opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none}.opening-intro-cathedral{z-index:0;opacity:.12;filter:hue-rotate(295deg)saturate(.72)brightness(.78);transition:opacity 1.5s var(--ease-smooth), filter 1.5s var(--ease-smooth), transform 2.2s var(--ease-emphasized);will-change:opacity, transform;position:absolute;inset:0;overflow:hidden;transform:scale(1.12)}.opening-intro.is-visible .opening-intro-cathedral{opacity:.5;transform:scale(1.04)}.opening-intro.is-leaving .opening-intro-cathedral{opacity:0;filter:hue-rotate(315deg)saturate(.55)brightness(.56);transform:scale(1.16)}.opening-intro-cathedral canvas{width:100%;height:100%;display:block}.opening-intro-glow{z-index:1;aspect-ratio:1;opacity:0;filter:blur(36px);width:min(82vw,920px);transition:opacity 1.3s var(--ease-smooth), transform 2s var(--ease-emphasized);will-change:opacity, transform;background:radial-gradient(circle at 30% 30%,#ffb4d8ad,#0000 34%),radial-gradient(circle at 68% 60%,#e6378a85,#0000 42%);border-radius:50%;position:absolute;transform:scale(.72)rotate(-6deg)}.opening-intro.is-visible .opening-intro-glow{opacity:.86;transform:scale(1)rotate(0)}.opening-intro.is-leaving .opening-intro-glow{opacity:0;transform:scale(1.38)rotate(7deg)}.opening-intro-copy{z-index:2;opacity:0;text-align:center;filter:blur(10px);max-width:min(90vw,980px);transition:opacity 1.1s var(--ease-smooth), filter 1.2s var(--ease-smooth), transform 1.4s var(--ease-emphasized);will-change:opacity, filter, transform;place-items:center;display:grid;position:relative;transform:translateY(18px)scale(.92)}.opening-intro.is-visible .opening-intro-copy{opacity:1;filter:blur();transform:none}.opening-intro.is-leaving .opening-intro-copy{opacity:0;filter:blur(8px);transition-duration:1.1s,1.2s,1.4s;transform:translateY(-8px)scale(1.1)}.opening-intro-copy>*{opacity:0;transition:opacity .9s var(--ease-smooth), transform 1.1s var(--ease-emphasized);transform:translateY(12px)}.opening-intro.is-visible .opening-intro-copy>*{opacity:1;transform:none}.opening-intro.is-visible .opening-intro-copy>span{transition-delay:.12s}.opening-intro.is-visible .opening-intro-copy>p{transition-delay:.26s}.opening-intro.is-visible .opening-intro-copy>h1{transition-delay:.42s}.opening-intro.is-visible .opening-intro-copy>small{transition-delay:.56s}.opening-intro.is-leaving .opening-intro-copy>*{opacity:0;transition-delay:0s;transform:translateY(-8px)}.opening-intro-copy>span{border:1px solid #ffd9eab3;border-radius:1.1rem;place-items:center;width:3.6rem;height:3.6rem;margin-bottom:1.5rem;font-family:Iowan Old Style,Baskerville,Georgia,serif;display:grid}.opening-intro-copy p,.opening-intro-copy small{letter-spacing:.2em;text-transform:uppercase;margin:0}.opening-intro-copy p{color:#ffc4de;font-size:clamp(.7rem,1.4vw,.9rem);font-weight:800}.opening-intro-copy h1{letter-spacing:-.065em;margin:.6rem 0 1rem;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:clamp(3.2rem,10vw,9rem);font-weight:400;line-height:.9}.opening-intro-copy small{color:#ffedf5b8;font-size:clamp(.58rem,1vw,.72rem);line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-color:var(--gold-bright);outline-offset:3px;transition:color var(--duration-medium) var(--ease-smooth), background-color var(--duration-medium) var(--ease-smooth), border-color var(--duration-medium) var(--ease-smooth), box-shadow var(--duration-medium) var(--ease-smooth), opacity var(--duration-medium) var(--ease-smooth), filter var(--duration-medium) var(--ease-smooth), transform var(--duration-medium) var(--ease-emphasized)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold-bright);box-shadow:0 0 0 5px color-mix(in srgb, var(--gold-bright) 16%, transparent)}button:disabled,input:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}::selection{color:var(--ink-inverse);background:var(--gold-bright)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-content{z-index:1;min-height:calc(100vh - var(--header-height));position:relative}.site-header,.site-content,.site-footer{transition:opacity 1.4s var(--ease-smooth), filter 1.4s var(--ease-smooth)}html.intro-active .site-header,html.intro-active .site-content,html.intro-active .site-footer{opacity:.3;filter:blur(8px)}.home-page,.places-page,.map-page,.city-page{animation:page-reveal var(--duration-slow) var(--ease-emphasized) both}.site-header{z-index:5000;height:var(--header-height);border-bottom:1px solid var(--line);background:var(--header);-webkit-backdrop-filter:blur(24px)saturate(1.2);backdrop-filter:blur(24px)saturate(1.2);grid-template-columns:auto 1fr auto;align-items:center;padding:0 max(1.25rem,50vw - 720px);display:grid;position:sticky;top:0}.brand{align-items:center;gap:.8rem;text-decoration:none;display:inline-flex}.brand-mark,.footer-mark{border:1px solid var(--gold);border-radius:var(--radius-sm);width:2.55rem;height:2.55rem;color:var(--gold-bright);letter-spacing:.06em;transition:color var(--duration-medium) var(--ease-smooth), border-color var(--duration-medium) var(--ease-smooth), box-shadow var(--duration-medium) var(--ease-smooth), transform var(--duration-medium) var(--ease-emphasized);place-items:center;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:.78rem;font-weight:700;display:grid}.brand-copy{line-height:1;display:grid}.brand-copy strong{font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.08rem;font-weight:600}.brand-copy small{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;margin-top:.25rem;font-size:.62rem}.site-nav{justify-content:center;gap:clamp(1.25rem,3vw,3rem);display:flex}.site-nav a{height:var(--header-height);color:var(--muted);letter-spacing:.13em;text-transform:uppercase;align-items:center;font-size:.75rem;font-weight:750;text-decoration:none;display:inline-flex;position:relative}.site-nav a:after{content:"";background:var(--gold-bright);transform-origin:100%;height:2px;transition:background-color var(--duration-medium) var(--ease-smooth), transform var(--duration-medium) var(--ease-emphasized);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.site-nav a:hover,.site-nav a.active{color:var(--ink)}.site-nav a:hover:after,.site-nav a.active:after{transform-origin:0;transform:scaleX(1)}.header-actions{align-items:center;gap:.55rem;display:flex}.theme-toggle,.manage-trigger{border:1px solid var(--line);border-radius:var(--radius-pill);min-height:2.55rem;color:var(--muted-strong);cursor:pointer;letter-spacing:.09em;text-transform:uppercase;background:0 0;justify-content:center;align-items:center;padding:.65rem .85rem;font-size:.72rem;font-weight:750;display:inline-flex}.theme-toggle{gap:.45rem}.theme-icon{color:var(--gold-bright);transition:transform var(--duration-medium) var(--ease-emphasized);font-size:1rem;display:inline-block}.theme-icon-light,.theme-label-light,:root[data-theme=light] .theme-icon-dark,:root[data-theme=light] .theme-label-dark{display:none}:root[data-theme=light] .theme-icon-light{display:inline-block}:root[data-theme=light] .theme-label-light{display:inline}.manage-trigger{border-color:var(--gold);color:var(--ink-inverse);background:var(--gold)}.theme-toggle:hover{border-color:var(--line-strong);color:var(--ink)}.manage-trigger:hover{background:var(--gold-bright)}.site-footer{z-index:1;border-top:1px solid var(--line);background:color-mix(in srgb, var(--bg-alt) 88%, transparent);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);grid-template-columns:1fr auto 1fr;align-items:end;gap:2rem;min-height:240px;padding:3.5rem max(1.25rem,50vw - 720px);display:grid;position:relative}.site-footer>div{align-items:center;gap:1rem;display:flex}.site-footer p{max-width:300px;color:var(--muted);margin:0;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1rem}.site-footer nav{gap:1.5rem;display:flex}.site-footer nav a{color:var(--muted-strong);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:750;text-decoration:none}.site-footer nav a:hover{color:var(--gold-bright)}.site-footer>small{color:var(--muted);text-align:right;justify-self:end}.eyebrow{color:var(--gold-bright);letter-spacing:.18em;text-transform:uppercase;margin:0 0 .75rem;font-size:.7rem;font-weight:800}.gold-button,.button{border-radius:var(--radius-pill);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;min-height:3rem;transition:color var(--duration-medium) var(--ease-smooth), background-color var(--duration-medium) var(--ease-smooth), border-color var(--duration-medium) var(--ease-smooth), box-shadow var(--duration-medium) var(--ease-smooth), transform var(--duration-medium) var(--ease-emphasized);border:1px solid #0000;justify-content:center;align-items:center;padding:.8rem 1.2rem;font-size:.76rem;font-weight:800;text-decoration:none;display:inline-flex}.gold-button,.button-primary{border-color:var(--gold);color:var(--ink-inverse);background:var(--gold)}.gold-button:hover,.button-primary:hover{border-color:var(--gold-bright);background:var(--gold-bright)}.button-secondary{border-color:var(--line-strong);color:var(--ink);background:0 0}.button-secondary:hover{border-color:var(--gold);color:var(--gold-bright)}.button-danger{border-color:color-mix(in srgb, var(--danger) 60%, transparent);color:var(--ink);background:color-mix(in srgb, var(--danger) 18%, transparent)}.button-small{min-height:2.35rem;padding:.55rem .75rem;font-size:.68rem}.text-link,.back-link,.text-button{color:var(--muted-strong);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:.4rem;padding:0;font-size:.75rem;font-weight:750;text-decoration:none;display:inline-flex}.text-link:hover,.back-link:hover,.text-button:hover{color:var(--gold-bright)}.plain-button{background:0 0;border:0}.home-page{overflow:hidden}.hero-slider{height:calc(100svh - var(--header-height));border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg-alt) 78%, transparent);touch-action:pan-y;min-height:650px;position:relative;overflow:hidden}.hero-slider-empty{background:linear-gradient(135deg, transparent 49.9%, var(--line-strong) 50%, transparent 50.1%), var(--bg-alt);align-items:end;padding:clamp(2rem,6vw,7rem);display:grid}.hero-track{height:100%;transition:transform var(--duration-slider) var(--ease-emphasized);display:flex}.hero-slide{background:linear-gradient(115deg, transparent 55%, color-mix(in srgb, var(--gold) 14%, transparent)), radial-gradient(circle at 72% 24%, color-mix(in srgb, var(--gold) 22%, transparent), transparent 32rem), color-mix(in srgb, var(--bg-alt) 78%, transparent);flex:0 0 100%;grid-template-columns:minmax(0,1fr) auto;align-items:end;min-width:0;height:100%;padding:clamp(2rem,6vw,6.5rem) max(1.25rem,50vw - 720px) clamp(7.5rem,13vh,9rem);display:grid;position:relative;overflow:hidden}.hero-slide:nth-child(2n){background:linear-gradient(115deg, transparent 58%, color-mix(in srgb, var(--gold-deep) 24%, transparent)), radial-gradient(circle at 22% 18%, color-mix(in srgb, var(--gold) 14%, transparent), transparent 28rem), color-mix(in srgb, var(--surface) 82%, transparent)}.hero-slide-image{z-index:0;object-fit:cover;width:100%;height:100%;transition:filter var(--duration-slow) var(--ease-smooth), transform 1.1s var(--ease-emphasized);position:absolute;inset:0;transform:scale(1)}.hero-slide.has-image:after{z-index:1;content:"";background:linear-gradient(90deg,#1a0814f0 0%,#2d0c21b3 42%,#27071b24 78%),linear-gradient(#0000 45%,#190612e6);position:absolute;inset:0}.hero-slide.has-image{color:#f7f2e6}.hero-slide-ornament{z-index:1;color:color-mix(in srgb, var(--gold-bright) 18%, transparent);letter-spacing:-.1em;-webkit-user-select:none;user-select:none;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:clamp(14rem,33vw,36rem);font-weight:400;line-height:.8;position:absolute;top:4%;right:3%}.hero-slide-content{z-index:2;width:min(850px,72vw);transition:opacity var(--duration-slow) var(--ease-smooth), transform var(--duration-slow) var(--ease-emphasized);position:relative}.hero-slide-meta,.hero-slide-ornament{transition:opacity var(--duration-slow) var(--ease-smooth), transform var(--duration-slow) var(--ease-emphasized)}.hero-slide[aria-hidden=true] .hero-slide-content{opacity:0;transform:translateY(28px)}.hero-slide[aria-hidden=true] .hero-slide-meta{opacity:0;transform:translate(18px)}.hero-slide[aria-hidden=true] .hero-slide-ornament{opacity:0;transform:scale(.96)}.hero-slide[aria-hidden=false] .hero-slide-image{transform:scale(1.025)}.hero-slide h1,.page-hero h1,.map-page-heading h1,.city-hero h1,.not-found-page h1{letter-spacing:-.055em;margin:0;font-family:Iowan Old Style,Baskerville,Times New Roman,serif;font-weight:400;line-height:.84}.hero-slide h1{max-width:950px;font-size:clamp(5rem,12vw,11.5rem)}.hero-copy{color:currentColor;opacity:.78;max-width:600px;margin:1.5rem 0 0;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.55}.hero-actions{align-items:center;gap:1.35rem;margin-top:2rem;display:flex}.hero-slide-meta{z-index:2;border-left:1px solid var(--line-strong);gap:1.15rem;min-width:160px;padding-left:1.5rem;display:grid;position:relative}.hero-slide-meta span{color:currentColor;letter-spacing:.12em;text-transform:uppercase;opacity:.82;gap:.15rem;font-size:.65rem;display:grid}.hero-slide-meta strong{color:var(--gold-bright);letter-spacing:-.04em;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.8rem;font-weight:400}.hero-controls{z-index:5;border-top:1px solid var(--line);background:color-mix(in srgb, var(--bg) 70%, transparent);-webkit-backdrop-filter:blur(22px)saturate(1.15);backdrop-filter:blur(22px)saturate(1.15);justify-content:space-between;align-items:center;height:76px;padding:0 max(1.25rem,50vw - 720px);display:flex;position:absolute;bottom:0;left:0;right:0}.hero-dots,.hero-arrows{align-items:center;display:flex}.hero-dots{gap:.3rem}.hero-dots button,.hero-arrows button{color:var(--muted);cursor:pointer;background:0 0;border:0}.hero-dots button{text-align:left;width:3rem;height:2.5rem;padding:0;position:relative}.hero-dots button:after{content:"";background:var(--line-strong);transform-origin:0;height:1px;transition:height var(--duration-fast) var(--ease-smooth), background-color var(--duration-medium) var(--ease-smooth), transform var(--duration-medium) var(--ease-emphasized);position:absolute;bottom:.45rem;left:0;right:0}.hero-dots button.active{color:var(--gold-bright)}.hero-dots button.active:after{background:var(--gold-bright);height:2px}.hero-dots span{letter-spacing:.08em;font-size:.62rem;font-weight:750}.hero-arrows button{border-left:1px solid var(--line);place-items:center;width:3rem;height:3rem;font-size:1.2rem;display:grid}.hero-arrows button:last-child{border-right:1px solid var(--line)}.hero-arrows button:hover{color:var(--ink-inverse);background:var(--gold)}.editorial-intro,.featured-section,.map-callout{max-width:1440px;margin:0 auto}.editorial-intro{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:80px minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(1.5rem,5vw,5rem);max-width:none;padding:clamp(5rem,10vw,10rem) max(1.25rem,50vw - 720px);display:grid}.section-number{color:var(--gold);margin:0;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.2rem}.editorial-intro h2,.section-heading h2,.map-callout h2{letter-spacing:-.045em;margin:0;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-weight:400;line-height:.98}.editorial-intro h2{max-width:850px;font-size:clamp(3rem,6vw,6.4rem)}.editorial-intro>p:last-child{color:var(--muted);align-self:end;margin:0;font-size:1rem;line-height:1.8}.featured-section{background:color-mix(in srgb, var(--bg-alt) 76%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);max-width:none;padding:clamp(5rem,9vw,9rem) max(1.25rem,50vw - 720px)}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem;display:flex}.section-heading h2{font-size:clamp(2.7rem,5vw,5.2rem)}.section-heading>p{max-width:430px;color:var(--muted);text-align:right;margin:0;line-height:1.65}.featured-grid{gap:.75rem;display:grid}.featured-place{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 68%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-height:145px;transition:color var(--duration-medium) var(--ease-smooth), background-color var(--duration-medium) var(--ease-smooth), border-color var(--duration-medium) var(--ease-smooth), box-shadow var(--duration-medium) var(--ease-smooth), transform var(--duration-medium) var(--ease-emphasized);grid-template-columns:90px 1fr auto;align-items:center;gap:1.5rem;padding:1.25rem 1.4rem;text-decoration:none;display:grid;position:relative}.featured-place:hover{border-color:var(--line-strong);background:color-mix(in srgb, var(--gold) 8%, transparent);transform:translateY(-2px)}.featured-index{color:var(--gold);font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.2rem}.featured-place p,.place-card-copy p{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .35rem;font-size:.68rem;font-weight:750}.featured-place h3{letter-spacing:-.04em;transition:transform var(--duration-medium) var(--ease-emphasized);margin:0;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:clamp(2.2rem,4vw,4rem);font-weight:400}.featured-place>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.map-callout{color:#f7f0e0;border:1px solid var(--line-strong);border-radius:var(--radius-lg);width:calc(100% - clamp(1.5rem,4vw,4rem));max-width:1440px;min-height:620px;box-shadow:var(--shadow);background:#240b1ce6;grid-template-columns:1.2fr auto;margin:clamp(1rem,3vw,2.5rem) auto;padding:clamp(4rem,8vw,8rem) max(1.25rem,50vw - 720px);display:grid;position:relative;overflow:hidden}.map-callout-grid{opacity:.55;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,1fr);display:grid;position:absolute;inset:0}.map-callout-grid span{border-bottom:1px solid #ff91bd26;border-right:1px solid #ff91bd26}.map-callout-grid span:nth-child(2),.map-callout-grid span:nth-child(5){background:radial-gradient(circle,#ff91bd38 0 3px,#0000 4px),linear-gradient(135deg,#0000 49.7%,#ff91bd2e 50%,#0000 50.3%)}.map-callout-copy{z-index:1;align-self:end;width:min(780px,100%);position:relative}.map-callout h2{font-size:clamp(3.6rem,7vw,7.2rem)}.map-callout-copy>p:not(.eyebrow){color:#bdb4a2;max-width:540px;margin:1.5rem 0 2rem;line-height:1.7}.map-callout-number{z-index:1;color:var(--gold-bright);letter-spacing:-.09em;align-self:start;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:clamp(7rem,18vw,18rem);font-weight:400;line-height:.7;position:relative}.map-callout-label{z-index:1;color:#bdb4a2;letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;position:absolute;top:clamp(10rem,24vw,17rem);right:max(1.25rem,50vw - 720px)}.places-page{background:color-mix(in srgb, var(--bg) 50%, transparent);min-height:100vh;padding:0 max(1.25rem,50vw - 720px) 8rem}.page-hero{border-bottom:1px solid var(--line-strong);align-content:end;min-height:430px;padding:5rem 0 3rem;display:grid}.page-hero h1{font-size:clamp(6rem,15vw,14rem)}.page-hero-meta{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;gap:1.5rem;margin-top:2rem;font-size:.7rem;display:flex}.places-toolbar{z-index:50;top:var(--header-height);border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);grid-template-columns:1fr minmax(200px,.3fr) auto;gap:0;margin-bottom:3rem;display:grid;position:sticky;overflow:hidden}.places-toolbar label{border-right:1px solid var(--line);min-width:0}.places-toolbar input,.places-toolbar select{border-radius:var(--radius-sm);width:100%;height:4rem;color:var(--ink);background:0 0;border:0;padding:0 1rem}.places-toolbar input::placeholder{color:var(--muted)}.places-count{color:var(--gold-bright);letter-spacing:.1em;text-transform:uppercase;align-items:center;padding:0 1rem;font-size:.7rem;font-weight:750;display:flex}.places-grid{background:0 0;border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.place-card{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 84%, transparent);min-width:0;min-height:470px;transition:background-color var(--duration-medium) var(--ease-smooth), border-color var(--duration-medium) var(--ease-smooth), box-shadow var(--duration-medium) var(--ease-smooth), transform var(--duration-medium) var(--ease-emphasized);grid-template-rows:280px 1fr;text-decoration:none;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 48px #12040d24}.place-card-visual{color:color-mix(in srgb, var(--gold-bright) 50%, transparent);background:linear-gradient(135deg, transparent 49.8%, var(--line) 50%, transparent 50.2%), radial-gradient(circle at 75% 30%, color-mix(in srgb, var(--gold) 18%, transparent), transparent 12rem), var(--surface);place-items:center;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:7rem;display:grid;position:relative;overflow:hidden}.place-card-visual img{object-fit:cover;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-emphasized), filter var(--duration-slow) var(--ease-smooth)}.place-card:hover .place-card-visual img{filter:saturate(.85)contrast(1.08);transform:scale(1.035)}.place-card-copy{align-content:end;padding:1.5rem;display:grid}.place-card-copy h2{letter-spacing:-.04em;transition:transform var(--duration-medium) var(--ease-emphasized);margin:0;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:clamp(2rem,3.2vw,3.2rem);font-weight:400}.place-card-copy>div{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:1rem;margin-top:1.35rem;padding-top:.8rem;font-size:.7rem;display:flex}.place-card-arrow{width:2.6rem;height:2.6rem;color:var(--ink-inverse);background:var(--gold);transition:color var(--duration-medium) var(--ease-smooth), background-color var(--duration-medium) var(--ease-smooth), box-shadow var(--duration-medium) var(--ease-smooth), transform var(--duration-medium) var(--ease-emphasized);border-radius:50%;place-items:center;display:grid;position:absolute;top:1rem;right:1rem}.map-page{height:calc(100svh - var(--header-height));background:color-mix(in srgb, var(--bg-alt) 68%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-template-rows:auto 1fr;min-height:700px;padding:0 max(1.25rem,50vw - 720px) 1.5rem;display:grid}.map-page-heading{justify-content:space-between;align-items:end;gap:2rem;padding:2.5rem 0 1.5rem;display:flex}.map-page-heading h1{font-size:clamp(3.5rem,7vw,6.5rem)}.map-page-heading>p{max-width:430px;color:var(--muted);text-align:right;margin:0 0 .4rem;line-height:1.6}.map-page-canvas,.map-frame{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);min-height:0;box-shadow:var(--shadow);position:relative;overflow:hidden}.map-shell{width:100%;height:100%;min-height:0;position:relative}.map-shell .leaflet-container{width:100%;height:100%;min-height:0}.map-loading{height:100%;min-height:420px;color:var(--muted);background:linear-gradient(110deg, var(--surface) 20%, var(--surface-raised) 45%, var(--surface) 70%);background-size:200% 100%;place-items:center;animation:1.5s linear infinite map-loading;display:grid}@keyframes map-loading{to{background-position-x:-200%}}.map-search{z-index:1000;width:min(380px,100% - 2rem);display:flex;position:absolute;top:1rem;left:1rem}.map-search input{border-radius:var(--radius-pill);color:#17140e;background:#fffdf7f5;border:1px solid #201b124d;width:100%;height:3.25rem;padding:0 3rem 0 1rem;box-shadow:0 12px 32px #0003}.map-search button{color:#17140e;cursor:pointer;background:0 0;border:0;border-radius:50%;width:3.25rem;height:3.25rem;font-size:1.3rem;position:absolute;top:0;right:0}.map-results{z-index:1000;color:#f4ede0;border-radius:var(--radius-pill);letter-spacing:.08em;text-transform:uppercase;background:#0f0e0be6;border:1px solid #e0bd7066;margin:0;padding:.65rem .85rem;font-size:.7rem;position:absolute;bottom:1rem;right:1rem}.map-popup{color:#17140e;min-width:190px}.map-popup h3,.map-popup p{margin:0 0 .35rem}.map-popup h3{font-family:Georgia,serif;font-size:1.25rem;font-weight:500}.map-popup p{color:#635b4e}.map-popup-cover{object-fit:cover;width:100%;height:105px;transition:filter var(--duration-medium) var(--ease-smooth), transform var(--duration-slow) var(--ease-emphasized);margin-bottom:.7rem;display:block}.map-popup a{color:#fff;background:var(--gold-deep);border-radius:var(--radius-pill);letter-spacing:.06em;text-align:center;text-transform:uppercase;margin-top:.8rem;padding:.7rem;font-size:.72rem;font-weight:750;text-decoration:none;display:block}.leaflet-popup-content-wrapper,.leaflet-popup-tip{border-radius:var(--radius-sm)!important}.city-page{background:color-mix(in srgb, var(--bg) 52%, transparent);min-height:100vh;padding:1.5rem max(1.25rem,50vw - 640px) 8rem}.city-shell{width:100%}.page-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:3.5rem;display:flex}.city-hero{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:linear-gradient(135deg, transparent 49.8%, var(--line) 50%, transparent 50.2%), radial-gradient(circle at 78% 30%, color-mix(in srgb, var(--gold) 22%, transparent), transparent 25rem), var(--surface);align-items:end;min-height:min(68vh,720px);margin-top:1.5rem;padding:clamp(2rem,6vw,5rem);display:flex;position:relative;overflow:hidden}.city-cover{z-index:0;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.city-hero.has-cover:after{z-index:1;content:"";background:linear-gradient(90deg,#1c0715f0,#2b091e80 65%,#25071a1a),linear-gradient(#0000 38%,#1d0615e0);position:absolute;inset:0}.city-hero.has-cover{color:#f6f0e4}.city-hero-content{z-index:2;width:min(900px,100%);position:relative}.city-hero h1{font-size:clamp(5rem,12vw,11rem)}.city-hero-content>p:not(.eyebrow){color:currentColor;opacity:.76;max-width:650px;margin:1.4rem 0 0;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.15rem;line-height:1.65}.city-meta{flex-wrap:wrap;gap:0;margin-top:2rem;display:flex}.city-meta span{border-top:1px solid var(--line-strong);border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);color:currentColor;letter-spacing:.08em;text-transform:uppercase;padding:.65rem .9rem;font-size:.7rem}.city-meta span:first-child{border-left:1px solid var(--line-strong);border-radius:var(--radius-pill) 0 0 var(--radius-pill)}.city-meta span:last-child{border-radius:0 var(--radius-pill) var(--radius-pill) 0}.memory-create-toggle{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1.5rem;margin-top:2rem;padding:1.25rem 0;display:flex}.memory-create-toggle .eyebrow{margin-bottom:.25rem}.memory-create-toggle h2,.form-heading h2{letter-spacing:-.035em;margin:0;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400}.memory-create-toggle span{color:var(--muted);margin-top:.35rem;font-size:.85rem;display:block}.album-form,.place-editor{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:soft-rise var(--duration-slow) var(--ease-emphasized) both;margin-top:1rem;padding:clamp(1.25rem,4vw,2.5rem);box-shadow:0 18px 60px #0e030a2e}.album-form.is-closing,.place-editor.is-closing{animation:soft-collapse var(--duration-medium) var(--ease-smooth) both;pointer-events:none}.edit-form{animation:soft-rise var(--duration-medium) var(--ease-emphasized) both;gap:.25rem;display:grid}.form-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.75rem;display:flex}.form-heading>span{max-width:320px;color:var(--muted);text-align:right;font-size:.82rem;line-height:1.5}.form-grid{gap:1rem;display:grid}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.field{gap:.45rem;margin-bottom:1rem;display:grid}.field>span,.upload-box>span{color:var(--muted-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:750}.field>span small{color:var(--muted);letter-spacing:0;text-transform:none;font-size:.85em;font-weight:600}.field input,.field textarea,.upload-box{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:var(--bg);transition:background-color var(--duration-medium) var(--ease-smooth), border-color var(--duration-medium) var(--ease-smooth), box-shadow var(--duration-medium) var(--ease-smooth)}.field input{min-height:3.25rem;padding:0 .85rem}.field textarea{resize:vertical;padding:.85rem}.field input::placeholder,.field textarea::placeholder{color:color-mix(in srgb, var(--muted) 70%, transparent)}.field input:focus,.field textarea:focus{border-color:var(--gold)}.upload-box{gap:.6rem;padding:1rem;display:grid}.upload-box input{min-width:0;color:var(--muted)}.upload-box input::file-selector-button{border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--ink);cursor:pointer;transition:color var(--duration-medium) var(--ease-smooth), background-color var(--duration-medium) var(--ease-smooth), border-color var(--duration-medium) var(--ease-smooth), transform var(--duration-medium) var(--ease-emphasized);background:0 0;margin-right:.75rem;padding:.55rem .7rem}.upload-box small{color:var(--muted);line-height:1.45}.compact-upload{margin:1rem 0 1.25rem}.notice{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted-strong);background:var(--surface);animation:soft-rise var(--duration-medium) var(--ease-emphasized) both;border-left-width:3px;margin:1rem 0;padding:.85rem 1rem;line-height:1.5}.notice-info{border-left-color:var(--gold)}.notice-success{border-left-color:var(--success)}.notice-error{border-left-color:var(--danger)}.viewer-note{border-left:2px solid var(--gold);color:var(--muted);background:var(--surface);border-radius:var(--radius-sm);text-align:left;margin-top:1.5rem;padding:.9rem 1rem;font-size:.86rem}.albums-section{margin-top:clamp(4rem,8vw,8rem)}.albums-grid{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.album-card{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 86%, transparent);min-width:0;transition:border-color var(--duration-medium) var(--ease-smooth), box-shadow var(--duration-medium) var(--ease-smooth), transform var(--duration-medium) var(--ease-emphasized);overflow:hidden;box-shadow:0 18px 54px #0c02092e}.album-photo-grid{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid}.album-photo-grid.single{grid-template-columns:1fr}.memory-image-button{border-radius:var(--radius-sm);background:var(--surface);cursor:zoom-in;border:0;height:320px;padding:0;overflow:hidden}.memory-image-button img{object-fit:cover;width:100%;height:100%;transition:filter var(--duration-medium) var(--ease-smooth), transform var(--duration-slow) var(--ease-emphasized)}.memory-image-button:hover img{transform:scale(1.025)}.album-videos{background:var(--line);gap:1px;padding:0;display:grid}.album-video{border-radius:var(--radius-sm);background:#000;width:100%;max-height:420px}.album-content{padding:clamp(1.25rem,4vw,2rem)}.album-content h3{letter-spacing:-.035em;margin:0;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:clamp(1.8rem,3vw,2.7rem);font-weight:400}.album-content time{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-top:.5rem;font-size:.68rem;display:block}.album-content>p{color:var(--muted-strong);overflow-wrap:anywhere;white-space:pre-wrap;margin:1.1rem 0 0;line-height:1.75}.button-row{flex-wrap:wrap;gap:.55rem;margin-top:1.25rem;display:flex}.media-removal{border:1px solid var(--line);border-radius:var(--radius-sm);gap:.55rem;margin:1rem 0;padding:1rem;display:grid}.media-removal legend{color:var(--muted-strong);letter-spacing:.08em;text-transform:uppercase;padding:0 .4rem;font-size:.72rem;font-weight:750}.media-removal label{min-width:0;color:var(--muted);align-items:center;gap:.6rem;display:flex}.media-removal label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty-state{border:1px solid var(--line);border-radius:var(--radius-md);min-height:260px;color:var(--muted);background:var(--surface);text-align:center;place-content:center;gap:.45rem;padding:2rem;display:grid}.empty-state strong{color:var(--ink);font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.4rem;font-weight:400}.lightbox{z-index:10000;animation:overlay-in var(--duration-medium) var(--ease-smooth) both;background:#000000f2;place-items:center;padding:2rem;display:grid;position:fixed;inset:0}.lightbox.is-closing{animation:overlay-out var(--duration-medium) var(--ease-smooth) both}.lightbox-image{border-radius:var(--radius-md);object-fit:contain;max-width:min(1200px,96vw);max-height:90vh;animation:lightbox-in var(--duration-slow) var(--ease-emphasized) both}.lightbox.is-closing .lightbox-image{animation:lightbox-out var(--duration-medium) var(--ease-smooth) both}.lightbox-close,.manager-dialog-close{border:1px solid var(--line-strong);width:2.8rem;height:2.8rem;color:var(--ink);background:var(--bg);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:1.5rem;display:grid}.lightbox-close{color:#f5eee2;background:#15130e;position:absolute;top:1rem;right:1rem}.manager-dialog-backdrop{z-index:9000;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:overlay-in var(--duration-medium) var(--ease-smooth) both;background:#14050fd1;justify-content:center;align-items:center;padding:clamp(.75rem,3vw,2rem);display:flex;position:fixed;inset:0;overflow:hidden}.manager-dialog-backdrop.is-closing{animation:overlay-out var(--duration-medium) var(--ease-smooth) both}.manager-dialog{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:linear-gradient(90deg, transparent calc(25% - 1px), var(--line) 25%, transparent calc(25% + 1px)), color-mix(in srgb, var(--bg) 94%, #381028);width:min(1320px,100%);height:min(900px,100dvh - clamp(1.5rem,6vw,4rem));min-height:0;max-height:calc(100svh - clamp(1.5rem,6vw,4rem));box-shadow:var(--shadow);overscroll-behavior:contain;animation:dialog-in var(--duration-slow) var(--ease-emphasized) both;flex-direction:column;display:flex;position:relative;overflow:hidden}.manager-dialog-backdrop.is-closing .manager-dialog{animation:dialog-out var(--duration-medium) var(--ease-smooth) both}.manager-dialog-close{z-index:1001;margin:0;position:absolute;top:.8rem;right:.8rem}.manager-dialog-body{overscroll-behavior:contain;scrollbar-gutter:stable;width:100%;min-height:0;padding:clamp(1.25rem,4vw,3rem);overflow:auto}.manager-dialog-body.admin-centered,.admin-page.admin-centered{place-items:center;display:grid}.manager-dialog-loading,.admin-loading{min-height:520px;color:var(--muted);place-items:center;display:grid}.admin-page{min-height:100vh;padding:2rem max(1.25rem,50vw - 640px) 6rem}.admin-shell{width:100%}.login-card{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);width:min(480px,100%);box-shadow:none;padding:clamp(1.5rem,5vw,2.5rem)}.login-card h1,.admin-header h1{letter-spacing:-.05em;margin:0;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-weight:400;line-height:.95}.login-card h1{font-size:clamp(2.6rem,7vw,4.3rem)}.login-card>p:not(.eyebrow,.notice){color:var(--muted);margin:1rem 0 1.75rem;line-height:1.65}.login-button{width:100%}.admin-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:2rem;padding:.5rem 0 2rem;display:flex}.admin-header h1{font-size:clamp(3.4rem,8vw,7rem)}.admin-header p:last-child{color:var(--muted);margin:.8rem 0 0}.admin-header-actions{flex:none;align-items:center;gap:.75rem;display:flex}.place-editor{margin-top:2rem;scroll-margin-top:1rem}.place-editor-footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.25rem;margin-bottom:1.25rem;display:grid}.place-editor-footer .compact-upload{margin:0}.publish-toggle{color:var(--muted-strong);align-items:center;gap:.65rem;font-size:.75rem;font-weight:700;display:flex}.publish-toggle input,.media-removal input{width:1.05rem;height:1.05rem;accent-color:var(--gold)}.location-picker-panel{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-alt) 86%, transparent);margin:1.25rem 0;padding:1.25rem}.location-picker-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1rem;display:flex}.field-kicker{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;font-size:.67rem;font-weight:800}.location-picker-heading h3{margin:.25rem 0 .4rem;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.9rem;font-weight:400}.location-picker-heading p{max-width:660px;color:var(--muted);margin:0;line-height:1.55}.location-actions{flex:none;align-items:center;gap:.8rem;display:flex}.admin-location-map,.admin-location-loading{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);height:clamp(360px,52vh,560px);overflow:hidden}.admin-location-map{cursor:crosshair}.admin-location-loading{color:var(--muted);place-items:center;display:grid}.location-match-list{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--line);grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:1px;margin-bottom:.9rem;display:grid;overflow:hidden}.location-match-list button{min-width:0;color:var(--muted-strong);background:var(--surface);cursor:pointer;text-align:left;transition:color var(--duration-medium) var(--ease-smooth), background-color var(--duration-medium) var(--ease-smooth), box-shadow var(--duration-medium) var(--ease-smooth), transform var(--duration-medium) var(--ease-emphasized);border:0;gap:.25rem;padding:.75rem;display:grid}.location-match-list button:hover,.location-match-list button.selected{color:var(--ink-inverse);background:var(--gold)}.location-match-list strong,.location-match-list span{text-overflow:ellipsis;overflow:hidden}.location-match-list span{font-size:.75rem;line-height:1.35}.location-status{color:var(--muted);justify-content:space-between;gap:1rem;margin-top:.75rem;font-size:.74rem;display:flex}.location-status a{color:var(--gold);text-align:right}.managed-places{margin-top:5rem}.managed-place-grid{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.managed-place-card{border:1px solid var(--line);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 84%, transparent);min-width:0;min-height:185px;transition:background-color var(--duration-medium) var(--ease-smooth), border-color var(--duration-medium) var(--ease-smooth), box-shadow var(--duration-medium) var(--ease-smooth), transform var(--duration-medium) var(--ease-emphasized);grid-template-columns:120px minmax(0,1fr);display:grid;overflow:hidden}.managed-place-cover{min-height:185px;color:var(--gold);background:linear-gradient(135deg, transparent 49.6%, var(--line) 50%, transparent 50.4%), var(--surface);place-items:center;font-family:Georgia,serif;font-size:2.5rem;display:grid}.managed-place-cover img{object-fit:cover;width:100%;height:100%;transition:filter var(--duration-medium) var(--ease-smooth), transform var(--duration-slow) var(--ease-emphasized)}.managed-place-content{flex-direction:column;justify-content:space-between;min-width:0;padding:1rem;display:flex}.managed-place-content h3{margin:.55rem 0 .25rem;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:1.65rem;font-weight:400}.managed-place-content p{color:var(--muted);margin:0;font-size:.8rem}.status-pill{border:1px solid var(--line);border-radius:var(--radius-pill);letter-spacing:.08em;text-transform:uppercase;padding:.25rem .45rem;font-size:.62rem;font-weight:800;display:inline-flex}.status-pill.published{border-color:color-mix(in srgb, var(--success) 55%, transparent);color:var(--success)}.status-pill.draft{color:var(--gold)}.not-found-page,.route-loading{min-height:calc(100svh - var(--header-height));background:linear-gradient(135deg, transparent 49.9%, var(--line) 50%, transparent 50.1%), var(--bg);text-align:center;place-content:center;padding:2rem;display:grid}.not-found-page h1{max-width:900px;font-size:clamp(3.5rem,9vw,8rem)}.not-found-page>p:not(.eyebrow){color:var(--muted);margin:1.5rem 0}.error-actions{justify-content:center;gap:.7rem;display:flex}.not-found-page>a,.error-actions a{border:1px solid var(--line-strong);min-height:3rem;color:var(--ink);text-transform:uppercase;justify-content:center;align-items:center;padding:.75rem 1rem;font-size:.72rem;font-weight:750;text-decoration:none;display:inline-flex}.route-loading{color:var(--muted);gap:1rem}.loading-orbit{border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;width:2.8rem;height:2.8rem;margin:auto;animation:.8s linear infinite loading-orbit}@keyframes loading-orbit{to{transform:rotate(360deg)}}@keyframes page-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes soft-rise{0%{opacity:0;transform:translateY(18px)scale(.99)}to{opacity:1;transform:none}}@keyframes soft-collapse{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-12px)scale(.99)}}@keyframes overlay-in{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1}}@keyframes overlay-out{0%{opacity:1}to{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}}@keyframes dialog-in{0%{opacity:0;transform:translateY(24px)scale(.975)}to{opacity:1;transform:none}}@keyframes dialog-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(16px)scale(.985)}}@keyframes lightbox-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes lightbox-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}@media (hover:hover) and (pointer:fine){.brand:hover .brand-mark{border-color:var(--gold-bright);box-shadow:0 10px 26px color-mix(in srgb, var(--gold) 22%, transparent);transform:translateY(-2px)rotate(-4deg)}.site-footer nav a:hover,.text-link:hover,.back-link:hover,.text-button:hover{transform:translateY(-2px)}.theme-toggle:hover,.manage-trigger:hover,.gold-button:hover,.button:not(:disabled):hover,.not-found-page>a:hover,.error-actions a:hover{box-shadow:0 12px 28px color-mix(in srgb, var(--gold) 20%, transparent);transform:translateY(-2px)}.theme-toggle:hover .theme-icon{transform:rotate(18deg)}.hero-dots button:hover{color:var(--gold-bright);transform:translateY(-2px)}.hero-dots button:hover:after{background:var(--gold-bright);transform:scaleX(.78)}.hero-arrows button:hover{transform:translateY(-2px)}.featured-place:hover{transform:translateY(-5px);box-shadow:0 18px 46px #14040e33}.featured-place:hover h3{transform:translate(6px)}.place-card:hover{border-color:var(--line-strong);transform:translateY(-7px);box-shadow:0 26px 64px #12040d42}.place-card:hover .place-card-copy h2{transform:translate(5px)}.place-card:hover .place-card-arrow{background:var(--gold-bright);box-shadow:0 10px 28px color-mix(in srgb, var(--gold) 32%, transparent);transform:rotate(10deg)scale(1.06)}.map-search button:hover,.map-popup a:hover,.lightbox-close:hover,.manager-dialog-close:hover{filter:brightness(1.12);transform:scale(1.06)}.map-popup:hover .map-popup-cover{filter:saturate(.88)contrast(1.06);transform:scale(1.025)}.field input:hover,.field textarea:hover,.upload-box:hover{border-color:var(--line-strong)}.field input:focus,.field textarea:focus{box-shadow:0 0 0 4px color-mix(in srgb, var(--gold) 13%, transparent)}.upload-box input::file-selector-button:hover{border-color:var(--gold);color:var(--gold-bright);background:color-mix(in srgb, var(--gold) 8%, transparent);transform:translateY(-1px)}.album-card:hover{border-color:var(--line-strong);transform:translateY(-5px);box-shadow:0 26px 68px #0c020947}.memory-image-button:hover img{filter:saturate(.9)contrast(1.06);transform:scale(1.045)}.location-match-list button:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold-bright) 35%, transparent);transform:translateY(-2px)}.managed-place-card:hover{border-color:var(--line-strong);transform:translateY(-5px);box-shadow:0 20px 52px #0e030a38}.managed-place-card:hover .managed-place-cover img{filter:saturate(.88)contrast(1.06);transform:scale(1.04)}}button:not(:disabled):active,a:active{transition-duration:var(--duration-fast);transform:translateY(0)scale(.985)}@media (max-width:1000px){.hero-slide{grid-template-columns:1fr}.hero-slide-meta{z-index:2;border-bottom:1px solid var(--line-strong);border-left:0;grid-template-columns:repeat(3,auto);min-width:0;padding:0 0 .8rem;position:absolute;top:2rem;right:1.25rem}.editorial-intro{grid-template-columns:55px 1fr}.editorial-intro>p:last-child{grid-column:2}.places-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.managed-place-grid{grid-template-columns:1fr}}@media (max-width:760px){.theme-label-dark,.theme-label-light{display:none!important}.opening-intro-copy{max-width:calc(100vw - 2rem)}.opening-intro-cathedral{opacity:.42;filter:hue-rotate(295deg)saturate(.64)brightness(.7)}.opening-intro-copy h1{font-size:clamp(3rem,17vw,5rem)}.opening-intro-copy small{max-width:280px}:root,:root[data-theme=dark],:root[data-theme=light]{--header-height:108px}body{background-size:50vw 100%}.site-header{height:var(--header-height);grid-template-rows:62px 46px;grid-template-columns:1fr auto;padding:0 1rem}.brand-mark{width:2.25rem;height:2.25rem}.brand-copy{display:none}.site-nav{border-top:1px solid var(--line);grid-area:2/1/auto/-1;justify-content:space-around;align-self:stretch;gap:0}.site-nav a{height:46px;padding:0 1rem;font-size:.66rem}.theme-toggle-label{display:none}.theme-toggle,.manage-trigger{min-height:2.35rem;padding:.55rem .7rem}.site-footer{grid-template-columns:1fr;gap:2rem;min-height:0;padding:3rem 1.25rem}.site-footer nav{flex-wrap:wrap}.site-footer>small{text-align:left;justify-self:start}.hero-slider{height:calc(100svh - var(--header-height));min-height:610px}.hero-slide{padding:7rem 1.25rem}.hero-slide.has-image:after{background:linear-gradient(#08080738,#080807a3 38%,#080807f0 100%),linear-gradient(90deg,#08080780,#0000)}.hero-slide-content{width:100%}.hero-slide h1{font-size:clamp(4.5rem,20vw,7rem)}.hero-copy{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:1rem;display:-webkit-box;overflow:hidden}.hero-actions{flex-direction:column;align-items:flex-start;gap:.9rem}.hero-slide-meta{justify-content:space-between;top:1rem;left:1.25rem;right:1.25rem}.hero-slide-meta strong{font-size:1.35rem}.hero-slide-ornament{font-size:16rem;top:15%;right:-10%}.hero-controls{height:64px;padding:0 1.25rem}.hero-dots button{width:2rem}.hero-arrows button{width:2.6rem;height:2.6rem}.editorial-intro{grid-template-columns:1fr;gap:1.5rem;padding:5rem 1.25rem}.editorial-intro>p:last-child{grid-column:auto}.editorial-intro h2{font-size:clamp(2.8rem,13vw,4.8rem)}.featured-section{padding:5rem 1.25rem}.section-heading,.map-page-heading,.form-heading,.admin-header,.location-picker-heading{flex-direction:column;align-items:flex-start}.section-heading>p,.form-heading>span,.map-page-heading>p{text-align:left}.featured-place{grid-template-columns:46px 1fr;min-height:120px}.featured-place>span{display:none}.map-callout{grid-template-columns:1fr;min-height:640px;padding:5rem 1.25rem}.map-callout h2{font-size:clamp(3.5rem,15vw,5.8rem)}.map-callout-number{font-size:7rem;position:absolute;top:5rem;right:1.25rem}.map-callout-label{top:10rem;right:1.25rem}.places-page{padding:0 0 5rem}.page-hero{min-height:310px;padding:4rem 1.25rem 2rem}.page-hero h1{font-size:clamp(5.5rem,26vw,8rem)}.page-hero-meta{flex-wrap:wrap;gap:.7rem 1.2rem}.places-toolbar{top:var(--header-height);border-left:0;border-right:0;grid-template-columns:1fr 1fr;margin:0 0 1px}.places-count{border-top:1px solid var(--line);grid-column:1/-1;min-height:2.6rem}.places-toolbar input,.places-toolbar select{height:3.5rem;font-size:.85rem}.places-grid{border-left:0;border-right:0;grid-template-columns:1fr}.place-card{grid-template-rows:min(48svh,420px) auto;min-height:min(72svh,620px)}.map-page{height:calc(100dvh - var(--header-height));min-height:calc(100svh - var(--header-height));grid-template-rows:minmax(0,1fr);padding:0}.map-page-heading{display:none}.map-page-canvas{border:0;height:100%;min-height:0}.map-loading{min-height:0}.map-search{width:calc(100% - 1.5rem);top:.75rem;left:.75rem}.map-results{bottom:.75rem;right:.75rem}.city-page{padding:0 0 5rem}.page-nav{min-height:3.25rem;padding:0 1rem}.city-hero{min-height:calc(100svh - var(--header-height) - 3.25rem);border-left:0;border-right:0;margin-top:0;padding:7rem 1.25rem 2rem}.city-hero h1{font-size:clamp(4.8rem,22vw,7.5rem)}.city-meta{grid-template-columns:repeat(2,1fr);display:grid}.city-meta span{border:1px solid var(--line-strong);margin:-1px 0 0 -1px}.city-shell>.notice,.memory-create-toggle,.album-form,.viewer-note,.albums-section{margin-left:1rem;margin-right:1rem}.memory-create-toggle{flex-direction:column;align-items:stretch}.form-grid.two-columns,.place-editor-footer,.albums-grid{grid-template-columns:1fr}.memory-image-button{height:280px}.manager-dialog-backdrop{padding:0}.manager-dialog{border:0;width:100%;height:100dvh;min-height:0;max-height:100svh}.manager-dialog-body{height:100%;min-height:0;padding:calc(3.8rem + env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom))}.manager-dialog-close{top:calc(.65rem + env(safe-area-inset-top));margin:0;right:.65rem}.admin-header h1{font-size:3.8rem}.location-actions,.location-status{flex-direction:column;align-items:flex-start}.location-status a{text-align:left}.admin-location-map,.admin-location-loading{height:55svh;min-height:360px}.managed-place-grid{grid-template-columns:1fr}.managed-place-card{grid-template-columns:88px minmax(0,1fr)}.managed-place-cover{min-height:195px}.lightbox{padding:.75rem}}@media (max-width:420px){.header-actions{gap:.35rem}.manage-trigger{font-size:.64rem}.hero-slide-meta span{font-size:.55rem}.hero-dots button{width:1.6rem}.hero-dots button span{display:none}.place-card-copy>div{flex-direction:column;align-items:flex-start}.album-photo-grid{grid-template-columns:1fr}}@media (max-width:1000px) and (max-height:600px){.map-page{height:calc(100dvh - var(--header-height));min-height:calc(100svh - var(--header-height));grid-template-rows:minmax(0,1fr);padding:0}.map-page-heading{display:none}.map-page-canvas{border:0;height:100%;min-height:0}.map-loading{min-height:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.opening-intro-copy,.opening-intro-glow{animation:none!important}.opening-intro-copy{opacity:1;filter:none;transform:none}.opening-intro-copy>*{opacity:1;transform:none}.opening-intro-glow{opacity:.65;transform:none}.opening-intro-cathedral{opacity:.35;transform:none}}
