/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:rgba(0,0,0,0)}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@font-face{font-family:"Atkinson Hyperlegible Next";font-style:normal;font-weight:400 700;font-display:swap;src:url("../assets/fonts/atkinson-hyperlegible-next-latin.woff2") format("woff2")}@font-face{font-family:"Atkinson Hyperlegible Next";font-style:italic;font-weight:400;font-display:swap;src:url("../assets/fonts/atkinson-hyperlegible-next-italic-latin.woff2") format("woff2")}@font-face{font-family:"Atkinson fallback";font-weight:400;src:local("Arial");size-adjust:103%}@font-face{font-family:"Atkinson fallback";font-weight:700;src:local("Arial Bold"),local("Arial-BoldMT")}:root{--paper: #f3ebdd;--paper-deep: #e8dcc6;--ink: #2b2a33;--ink-soft: #57545f;--ochre: #c98b3c;--brick: #a4513b;--red: #a4513b;--blue: #6c8ca6;--blue-pale: #c9d3da;--cream: #f7f1e6;--cream-deep: #e4dccd;--terracotta: #c9845f;--terracotta-deep: #a8603f;--rose: #c97b8a;--slate: #5f6672;--green: #7d9e6e;--gold: #d8ad45;--blue-deep: #44609a;--sand: #ead6b0;--plaster: #d9d3c9;--plaster-ochre: #e2c99c;--thatch: #cfae6c;--timber: #5e4a42;--under: rgb(47 44 72 / .4);--stone: #b3aaa0;--stone-deep: #a1978e;--hedge: #5f8a4f;--hedge-deep: #456b3c;--hedge-light: #719c5b;--hedge-sage: #5f8f68;--hedge-olive: #6c8545;--arch: #7b6a74;--cloud: #edf0f5;--cloud-warm: #f5f1ea;--cloud-bright: #f8f9fb;--sky: #bccbe6;--sky-low: #d5dbe6;--sky-end: 40rem;--shade-light: #fffaf0;--shade-dark: #2b2a33;--shade-strength: 1;--light: #fff8ee;--sun: #fff1d0;--lamp: #eee6d2;--lamp-light: #ffd27a;--lamp-glow: 0;--window-glow: 0;--paper-texture: .18;--grain-blend: multiply;--grain-opacity: .36;--night: #263673;--night-ink: #f3ebdd;--night-light: #34468a;--line: #2b2a33;--window: #2b2a33;--window-dark: #2b2a33;color-scheme:light;--font: "Atkinson Hyperlegible Next", "Atkinson fallback", system-ui, -apple-system, "Segoe UI", sans-serif;--measure: 44rem}:root[data-theme=night]{--paper: #10152e;--paper-deep: #1b2147;--ink: #f1e9da;--ink-soft: #c3bdd0;--ochre: #e0a24f;--brick: #ee9a7e;--red: #8c4038;--blue: #4e67a8;--blue-pale: #222c5e;--cream: #3a4785;--cream-deep: #303d7a;--terracotta: #7b4d4a;--terracotta-deep: #5e3a3a;--rose: #8f5f86;--slate: #8a93a8;--green: #4f6b5a;--gold: #b48a3a;--blue-deep: #34497f;--sand: #4a4f7d;--plaster: #34417c;--plaster-ochre: #434779;--thatch: #4e4a72;--timber: #1f2142;--under: rgb(6 9 28 / .35);--stone: #182047;--stone-deep: #151c40;--hedge: #2e4a3c;--hedge-deep: #223a2f;--hedge-light: #3a5a45;--hedge-sage: #2c4c48;--hedge-olive: #3a4a30;--arch: #0b1030;--cloud: #161c42;--cloud-warm: #1d1c42;--cloud-bright: #1a2250;--sky: #04061a;--sky-low: #1e2352;--sky-end: 32rem;--shade-light: #aab8ff;--shade-dark: #02030c;--shade-strength: .8;--light: #ffffff;--sun: #efe7cf;--lamp: #ffd98a;--lamp-glow: 1;--window-glow: .85;--paper-texture: .09;--grain-blend: screen;--grain-opacity: .17;--night: #0b1030;--night-light: #1b2455;--line: #0a0e24;--window: #e0a24f;--window-dark: #161c40;color-scheme:dark}:root:not([data-theme=night]) .lowertown{--cream: color-mix(in oklab, #f7f1e6 70%, #2f2c48);--cream-deep: color-mix(in oklab, #e4dccd 70%, #2f2c48);--sand: color-mix(in oklab, #ead6b0 70%, #2f2c48);--plaster: color-mix(in oklab, #d9d3c9 70%, #2f2c48);--plaster-ochre: color-mix(in oklab, #e2c99c 70%, #2f2c48);--thatch: color-mix(in oklab, #cfae6c 70%, #2f2c48);--timber: color-mix(in oklab, #5e4a42 80%, #2f2c48);--terracotta: color-mix(in oklab, #c9845f 72%, #2f2c48);--terracotta-deep: color-mix(in oklab, #a8603f 72%, #2f2c48);--slate: color-mix(in oklab, #5f6672 80%, #2f2c48);--green: color-mix(in oklab, #7d9e6e 72%, #2f2c48);--stone: color-mix(in oklab, #b3aaa0 70%, #2f2c48);--stone-deep: color-mix(in oklab, #a1978e 70%, #2f2c48);--window: #e0a24f;--window-glow: .8;--lamp: #ffd98a;--lamp-glow: 1}:root:not([data-theme=night])[data-moment=dawn]{--sky: #b6bedc;--sky-low: #efd3c6;--light: #fcece6;--sun: #fcd3b6}:root:not([data-theme=night])[data-moment=morning]{--sky: #b4c8e6;--sky-low: #e1e6ed;--light: #fffcf5;--sun: #ffefbf}:root:not([data-theme=night])[data-moment=noon]{--sky: #a6c2ea;--sky-low: #dbe5f0;--light: #ffffff;--sun: #fffbe3}:root:not([data-theme=night])[data-moment=afternoon]{--sky: #bccbe6;--sky-low: #d5dbe6;--light: #fff8ee;--sun: #ffebb5}:root:not([data-theme=night])[data-moment=golden]{--sky: #c2c6df;--sky-low: #f0d6aa;--light: #fbe9cf;--sun: #fbd894}:root:not([data-theme=night])[data-moment=dusk]{--sky: #8e8eb7;--sky-low: #edb39c;--light: #f2d6cf;--sun: #f6a97e;--window: #d99a48;--window-glow: .5;--lamp: #ffd98a;--lamp-glow: .7}body{min-height:100vh;margin:0;background:var(--paper) linear-gradient(var(--sky), var(--sky-low) 17rem, var(--paper) var(--sky-end)) no-repeat;color:var(--ink);font-family:var(--font);font-size:1.0625rem;line-height:1.6}body{position:relative}body::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='p' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7 .35' numOctaves='3' stitchTiles='stitch' result='f'/%3E%3CfeColorMatrix in='f' values='0 0 0 0 .4 0 0 0 0 .36 0 0 0 0 .3 1 0 0 0 -.35' result='fine'/%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012 .02' numOctaves='2' stitchTiles='stitch' seed='5' result='b'/%3E%3CfeColorMatrix in='b' values='0 0 0 0 .4 0 0 0 0 .36 0 0 0 0 .3 1.2 0 0 0 -.4' result='broad'/%3E%3CfeMerge%3E%3CfeMergeNode in='broad'/%3E%3CfeMergeNode in='fine'/%3E%3C/feMerge%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E");mix-blend-mode:var(--grain-blend);opacity:var(--paper-texture)}body::after{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .45 0 0 0 0 .38 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");mix-blend-mode:var(--grain-blend);opacity:var(--grain-opacity)}h1,h2,h3,h4{line-height:1.2;font-weight:700}a{color:inherit;text-decoration:underline;text-decoration-color:var(--ochre);text-decoration-thickness:2px;text-underline-offset:.2em}a:hover{color:var(--brick)}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.c-paper-deep{fill:var(--paper-deep)}.c-ink{fill:var(--ink)}.c-window{fill:var(--window)}.c-window-dark{fill:var(--window-dark)}.c-moon{fill:#f7f1e6}.c-ochre{fill:var(--ochre)}.c-red{fill:var(--red)}.c-blue{fill:var(--blue)}.c-pale{fill:var(--blue-pale)}.c-night-light{fill:var(--night-light)}.c-cream{fill:var(--cream)}.c-cream-deep{fill:var(--cream-deep)}.c-terracotta{fill:var(--terracotta)}.c-terracotta-deep{fill:var(--terracotta-deep)}.c-rose{fill:var(--rose)}.c-slate{fill:var(--slate)}.c-green{fill:var(--green)}.c-gold{fill:var(--gold)}.c-blue-deep{fill:var(--blue-deep)}.c-sand{fill:var(--sand)}.c-plaster{fill:var(--plaster)}.c-plaster-ochre{fill:var(--plaster-ochre)}.c-thatch{fill:var(--thatch)}.c-timber{fill:var(--timber)}.c-hedge{fill:var(--hedge)}.c-hedge-deep{fill:var(--hedge-deep)}.c-hedge-light{fill:var(--hedge-light)}.c-hedge-sage{fill:var(--hedge-sage)}.c-hedge-olive{fill:var(--hedge-olive)}.c-arch{fill:var(--arch)}.shade-light{stop-color:var(--shade-light)}.shade-dark{stop-color:var(--shade-dark)}.shade{opacity:var(--shade-strength)}:root{--snow: #fbfcfd}:root[data-theme=night]{--snow: #cdd3e6}.snow{fill:var(--snow)}:root[data-weather=snow]:not([data-theme=night])[data-moment]{--sky: #c3c8d1;--sky-low: #e4e3e0;--sun: #f3efe6;--light: #f4f2ee}:root[data-weather=snow]:not([data-theme=night]) .sun{opacity:.45}.snow-line{fill:none;stroke:var(--snow);stroke-linecap:round}.cabin-snow{display:none}:root[data-weather=snow] .cabin-snow{display:inline;fill:var(--snow)}.daylight{flood-color:var(--light)}.sun-disc{fill:var(--sun)}.sun-light{stop-color:var(--sun)}.moon-lit{fill:var(--sun)}.moon-dark{fill:var(--sun);opacity:.12}.sun-halo{transform-box:fill-box;transform-origin:center}.moon-lit,.moon-dark{display:none}:root[data-theme=night] .sun-disc{display:none}:root[data-theme=night] .moon-lit,:root[data-theme=night] .moon-dark{display:inline}:root[data-theme=night] .sun-halo{transform:scale(0.5);opacity:.8}.eave{fill:var(--shade-dark);opacity:calc(.24*var(--shade-strength))}.cloud{fill:var(--cloud)}.cloud.warm{fill:var(--cloud-warm)}.cloud.bright{fill:var(--cloud-bright)}@keyframes cross{from{translate:var(--from) 0;opacity:0}8%,92%{opacity:1}to{translate:var(--to) 0;opacity:0}}@keyframes cloud-bob{from{transform:translateY(6%)}to{transform:translateY(-6%)}}@keyframes flutter{from{transform:skewY(-4deg)}to{transform:skewY(7deg) scaleX(0.88)}}@keyframes fly{from{transform:translateX(-3%)}to{transform:translateX(101%)}}@keyframes fly-back{from{transform:translateX(101%)}to{transform:translateX(-3%)}}@keyframes bob{to{transform:translateY(0.6rem)}}@keyframes flap{to{transform:scaleY(0.35)}}@keyframes smoke{from{opacity:0;transform:translate(0, 0) scale(0.6)}20%{opacity:.75}to{opacity:0;transform:translate(7px, -24px) scale(1.7)}}@keyframes twinkle{to{opacity:.25}}@keyframes shoot{from{opacity:0;transform:rotate(18deg) translateX(0)}15%{opacity:1}to{opacity:0;transform:rotate(18deg) translateX(9rem)}}@keyframes wander{to{transform:translate(var(--dx), var(--dy))}}@keyframes blink{0%,100%{opacity:0}15%{opacity:1}40%{opacity:.3}55%{opacity:.95}80%{opacity:0}}.joint{stroke:var(--line);stroke-width:1;opacity:.3}.outline{stroke:var(--line);stroke-width:2;stroke-linejoin:round}.outline.thin{stroke-width:1.5}.outline.fine{stroke-width:1}.skyline .jet{fill:none;stroke:var(--blue);stroke-width:1.5;opacity:.7;stroke-linecap:round}.skyline .jet.thin{stroke-width:.9}.skyline .cast{opacity:calc(.2*var(--shade-strength))}.skyline .cast *{fill:var(--shade-dark);stroke:none}.lamp{fill:var(--lamp)}.glow{stop-color:var(--lamp-light)}.lamp-glow{opacity:var(--lamp-glow)}.bark,.bark-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.bark{stroke:var(--timber)}.bark-line{stroke:var(--line)}.stone,.stone-deep{stroke:var(--line);stroke-width:1;stroke-opacity:.3}.stone{fill:var(--stone)}.stone-deep{fill:var(--stone-deep)}.chain{fill:none;stroke:var(--line);stroke-width:1.4;stroke-dasharray:2.4 1.2}.ground-line{stroke:var(--line);stroke-width:2.6;stroke-linecap:round}.window-glow{opacity:var(--window-glow)}.window-glow.is-off{display:none}.porthole-glow{opacity:0}:root[data-theme=night] .porthole-glow{opacity:.65}:root[data-theme=night] .porthole{fill:#e9cd8c}.button{position:relative;display:inline-flex;align-items:center;padding:.3rem .2rem .25rem;border:0;border-bottom:3px solid var(--ink);background:none;color:var(--ink);font:inherit;font-weight:700;line-height:1.3;text-decoration:none;cursor:pointer;transition:color 150ms ease,border-color 150ms ease,border-bottom-width 100ms ease,padding-bottom 100ms ease}.button:hover{padding-bottom:calc(.25rem - 2px);border-bottom-width:5px;border-color:var(--brick);color:var(--brick)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:2px solid var(--ink);border-radius:50%;background:rgba(0,0,0,0);color:var(--ink);cursor:pointer}.theme-toggle svg{width:1.25rem;height:1.25rem;fill:currentColor}.theme-toggle .icon-sun{display:none}.theme-toggle[aria-pressed=true] .icon-sun{display:block}.theme-toggle[aria-pressed=true] .icon-moon{display:none}.theme-toggle:hover{color:var(--brick);border-color:var(--brick)}@media(prefers-reduced-motion: reduce){*,*::before,*::after{transition:none !important;animation:none !important}}.gallery{position:relative;max-width:72rem;margin:0 auto;padding:3rem 1.25rem 4rem}.gallery .theme-toggle{position:absolute;top:1rem;right:1.25rem}.gallery h1{margin:0 0 .5rem;font-size:clamp(1.75rem,6vw,2.25rem)}.gallery .lead,.gallery .none{max-width:40rem;margin:0 0 2rem;color:var(--ink-soft)}.castles{display:grid;grid-template-columns:repeat(auto-fill, minmax(min(100%, 20rem), 1fr));gap:1.5rem;margin:0 0 2.5rem;padding:0;list-style:none}.castles a{display:block;color:var(--ink-soft);text-decoration:none}.castles img{display:block;width:100%;height:auto;border:2px solid var(--ink);border-radius:3px;background:var(--paper)}.castles span{display:block;margin-top:.35rem;font-size:.8rem;font-variant-numeric:tabular-nums;text-align:right}.castles a:is(:hover,:focus-visible){color:var(--brick)}.castles a:is(:hover,:focus-visible) img{border-color:var(--brick)}