/* The House That Never Sleeps: page-scoped styles for an original editorial schematic. */
.hf-house-night{--hn-cream:var(--hf-cream,#f4f0e8);--hn-navy:var(--hf-navy,#1e3341);--hn-gold:var(--hf-gold,#eaca92);--hn-brass:var(--hf-brass,#bb9259);--hn-bronze:#765329;background:var(--hn-cream);color:var(--hn-navy)}
.hf-house-night *,.hf-house-night *:before,.hf-house-night *:after{box-sizing:border-box}
.hf-house-night button{cursor:pointer;font:inherit}
/* Focus: navy on the light panels, pale gold on the navy ones (both well above 3:1 against their surroundings). */
.hf-site .hf-house-night :is(a,button):focus-visible{outline:3px solid #1e3341;outline-offset:3px}
.hf-site .hn-hero :is(a,button):focus-visible,.hf-site .hn-close :is(a,button):focus-visible{outline-color:#ffe1ae}
.hf-house-night .hn-navigation button:disabled{background:transparent;color:#5d6970;border:1px dashed #a9a296;cursor:not-allowed}
.hf-house-night .eyebrow{font-size:12px}
/* The hour buttons only work with JavaScript; without it the full day below carries the content. */
.hf-house-night:not(.hn-ready) :is(.hn-rail,.hn-navigation){display:none}
.hn-hero{background:linear-gradient(122deg,#152b3a,#263d4a 66%,#142837);color:#f4f0e8;overflow:hidden}
.hn-hero-layout{padding-block:119px 89px;display:grid;grid-template-columns:1.1fr .9fr;gap:6%;align-items:center}
.hn-hero .hf-crumb,.hn-hero .hf-crumb a{color:#e3e8e6;font-size:12px}
.hn-hero .eyebrow{color:#eaca92;margin-top:40px}
.hn-hero h1{font:500 clamp(53px,6.2vw,93px)/1 Editorial,Georgia,serif;letter-spacing:-.035em;margin:17px 0 28px;text-wrap:balance}
.hn-hero h1 em{color:#eaca92;font-style:normal}
.hn-hero p:not(.eyebrow){font:400 16px/1.8 Manrope,Arial,sans-serif;color:#e0e6e4;max-width:580px;text-wrap:pretty}
.hn-enter{display:inline-flex;align-items:center;gap:44px;background:#eaca92;color:#1e3341;text-decoration:none;border-radius:30px;padding:14px 22px;min-height:47px;font:700 13px Manrope,Arial,sans-serif;margin-top:25px}
.hn-clock-art{aspect-ratio:1;max-height:425px;max-width:425px;border:1px solid #d5b4775b;box-shadow:17px 18px 0 #06162370;padding:32px;display:flex;flex-direction:column;background:repeating-linear-gradient(0deg,#ffffff09 0px,#ffffff09 1px,transparent 1px,transparent 24px),#193748}
.hn-clock-ring{aspect-ratio:1;border:2px solid #eaca92ac;border-radius:100%;margin:auto;width:90%;max-width:310px;position:relative;box-shadow:0 0 0 11px #eaca920e,0 0 0 24px #eaca920a}
.hn-clock-ring>span{position:absolute;color:#f4f0e8;font:500 30px Editorial,Georgia,serif}
.hn-clock-ring>span:nth-child(1){left:calc(50% - 17px);top:8%}
.hn-clock-ring>span:nth-child(2){right:7%;top:calc(50% - 17px)}
.hn-clock-ring>span:nth-child(3){left:calc(50% - 17px);bottom:6%}
.hn-clock-ring>span:nth-child(4){left:7%;top:calc(50% - 17px)}
.hn-clock-ring i{position:absolute;left:50%;top:49%;height:36%;width:3px;background:#eaca92;transform:rotate(40deg);transform-origin:center top}
.hn-clock-footer{display:flex;justify-content:space-between;gap:12px;font:650 12px Manrope,Arial,sans-serif;letter-spacing:.12em;color:#eaca92}
.hn-framing{padding-block:78px;display:grid;grid-template-columns:.42fr .58fr;gap:22px 7%;align-items:start}
.hn-framing .eyebrow{color:var(--hn-bronze);grid-column:1/-1;margin:0}
.hn-framing h2,.hn-day-heading h2,.hn-notes-heading h2,.hn-close h2{font:500 clamp(36px,4.2vw,60px)/1.08 Editorial,Georgia,serif;letter-spacing:-.03em;margin:0;text-wrap:balance}
.hn-answer p{font:400 16px/1.8 Manrope,Arial,sans-serif;color:#3f505c;margin:0;text-wrap:pretty}
.hn-answer .hn-answer-limit{font-size:14px;color:#53616a;margin-top:16px}
.hn-day{padding-block:78px 101px;background:#e9e2d7}
.hn-day-heading{max-width:760px}.hn-day-heading .eyebrow{color:var(--hn-bronze)}.hn-day-heading h2{margin:12px 0}
.hn-day-heading>p:not(.eyebrow){font:400 15px/1.8 Manrope,Arial,sans-serif;color:#4c5961}
.hn-rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:36px 0 12px}
.hn-rail button{background:#f9f4ea;border:1px solid #cabcaa;min-width:0;min-height:87px;text-align:left;padding:14px;display:flex;flex-direction:column;gap:10px}
.hn-rail button[aria-pressed=true]{border-color:#86663a;background:#f2e6cf;box-shadow:inset 0 0 0 2px #bb9259}
.hn-rail button:hover{border-color:#86663a}
.hn-rail span{color:var(--hn-bronze);font:700 12px Manrope,Arial,sans-serif;letter-spacing:.09em}
.hn-rail strong{color:#1e3341;font:500 21px/1.1 Editorial,Georgia,serif}
.hn-status{font:600 14px/1.6 Manrope,Arial,sans-serif;color:#1e3341;margin:0 0 14px;min-height:1.6em}
.hn-exhibit{display:grid;grid-template-columns:1.05fr .95fr;border:1px solid #bca37d;min-height:545px}
.hn-house-figure{margin:0;background:#183342;min-width:0;position:relative;padding:28px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.hn-instrument{display:flex;justify-content:space-between;gap:15px;color:#ffe1ae;font:700 12px Manrope,Arial,sans-serif;letter-spacing:.12em;z-index:2;position:relative}
.hn-instrument span{background:#183342cc;padding:2px 6px}
.hn-sky{position:absolute;inset:0 0 39%;background:linear-gradient(135deg,#7c9aa7,#dec49f);transition:background .25s}
.hn-sky[data-hn-sky="breakfast"]{background:linear-gradient(#b0bdba,#eed8b0)}
.hn-sky[data-hn-sky="noon"]{background:linear-gradient(#8fb8d1,#e1e3ce)}
.hn-sky[data-hn-sky="afternoon"]{background:linear-gradient(#95acaf,#d9a672)}
.hn-sky[data-hn-sky="evening"]{background:linear-gradient(#715b7d,#d18d76)}
.hn-sky[data-hn-sky="night"]{background:linear-gradient(#131f3c,#274264)}
.hn-orb{position:absolute;right:11%;top:18%;height:74px;width:74px;border-radius:100%;background:#fff1ba;box-shadow:0 0 45px #fff1ba99;transition:transform .3s,opacity .3s}
.hn-sky[data-hn-sky="noon"] .hn-orb{transform:translate(-130px,-10px)}
.hn-sky[data-hn-sky="afternoon"] .hn-orb{transform:translate(-220px,10px)}
.hn-sky[data-hn-sky="evening"] .hn-orb{transform:translate(-275px,50px);opacity:.6}
.hn-sky[data-hn-sky="night"] .hn-orb{background:#e3e8ed;box-shadow:0 0 24px #e3e8ed88;opacity:.6;transform:translate(-150px,-5px) scale(.7)}
.hn-skyline{position:absolute;bottom:0;left:0;right:0;height:30px;background:#304d5a88}
.hn-roof{position:absolute;left:9%;width:82%;height:85px;top:22%;transform:skewY(-7deg);border:4px solid #283b40;border-bottom:none;background:#536775a8;z-index:1}
.hn-house-scene{position:relative;margin:125px 25px 25px;z-index:1;height:260px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr 1fr;border:3px solid #dfcaa7;background:#152d3d}
.hn-room{border:1px solid #8cabaabb;background:#1f3a48;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;color:#b7c4c8;transition:background .2s,box-shadow .2s,color .2s}
.hn-room.is-focused{background:#2e4b59;color:#f4f0e8;box-shadow:inset 0 0 0 4px #eaca92}
.hn-room b{font:700 12px Manrope,Arial,sans-serif;letter-spacing:.1em}
.hn-mark{font:500 31px Editorial,Georgia,serif;color:#8fa3ab;position:relative;display:inline-grid;place-items:center;min-width:1.4em}
.hn-room.is-focused .hn-mark{color:#f1ddae}
/* A dashed ring marks the room in use; it pulses three times when an hour is chosen, then rests (no endless motion). */
.hn-room.is-focused .hn-mark:after{content:"";position:absolute;width:1.6em;height:1.6em;border:2px dashed #e9b97c;border-radius:50%;pointer-events:none;animation:hn-pulse 3.3s ease-in-out 3}
@keyframes hn-pulse{50%{transform:scale(1.35);opacity:.35}}
.hn-model-caption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 12px;color:#ffe1ae;font:650 12px/1.5 Manrope,Arial,sans-serif;letter-spacing:.08em;z-index:2}
.hn-model-caption small{font:400 12px/1.5 Manrope,Arial,sans-serif;letter-spacing:.02em;color:#e0ddd7}
.hn-narrative{background:#f8f5ef;padding:clamp(28px,4vw,49px);min-width:0}
.hn-narrative .eyebrow{color:var(--hn-bronze)}
.hn-narrative-time{font:650 12px/1.7 Manrope,Arial,sans-serif;letter-spacing:.12em;color:var(--hn-bronze);margin-top:28px}
.hn-narrative h3{font:500 clamp(33px,3.2vw,48px)/1.1 Editorial,Georgia,serif;margin:9px 0 18px;text-wrap:balance}
.hn-narrative-lead{font:400 16px/1.8 Manrope,Arial,sans-serif;color:#3f505c}
.hn-source-note{border-left:3px solid #bb9259;background:#eae2d6;padding:20px 22px;margin-top:22px}
.hn-source-note>p:not(.eyebrow){font:400 15px/1.75 Manrope,Arial,sans-serif;color:#33454f}
.hn-source-note a{font:650 13px Manrope,Arial,sans-serif;color:#6b4a22}
.hn-more{margin:16px 0 0;display:grid;gap:8px}
.hn-more[hidden],.hn-more a[hidden]{display:none}
.hn-more a,.hn-card-more a{font:650 14px/1.5 Manrope,Arial,sans-serif;color:#1e3341;text-decoration:underline;text-underline-offset:3px}
.hn-limit{font:400 14px/1.7 Manrope,Arial,sans-serif;color:#53616a;margin-top:16px}
.hn-navigation{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.hn-navigation button{padding:12px 19px;border:1px solid #1e3341;background:#1e3341;color:#fff;border-radius:23px;min-height:44px;font:650 13px Manrope,Arial,sans-serif}
.hn-navigation button:first-child{background:transparent;color:#1e3341}
.hn-noscript{color:#1e3341;background:#fff8e7;padding:20px;font:400 15px/1.7 Manrope,Arial,sans-serif}
.hn-field-notes{padding-block:101px 108px}.hn-notes-heading{max-width:770px}
.hn-notes-heading .eyebrow{color:var(--hn-bronze)}
.hn-notes-heading>p:last-child{font:400 15px/1.8 Manrope,Arial,sans-serif;color:#53616a}
.hn-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:36px}
.hn-source-card{padding:25px;border:1px solid #dbd0c0;background:#faf7f1;display:flex;flex-direction:column}
.hn-source-card .hn-card-time{font:700 12px Manrope,Arial,sans-serif;letter-spacing:.1em;color:var(--hn-bronze);text-transform:uppercase;margin:0}
.hn-source-card h3{font:500 27px/1.15 Editorial,Georgia,serif;margin:13px 0}
.hn-source-card>p{font:400 15px/1.75 Manrope,Arial,sans-serif;color:#4c5961;margin:0 0 12px}
.hn-source-card>.hn-card-lesson{color:#1e3341;border-left:2px solid #bb9259;padding-left:12px}
.hn-card-more{display:grid;gap:6px}
.hn-source-card>.hn-card-limit{font-size:14px;color:#53616a}
.hn-card-source{margin-top:auto;padding-top:6px;font:650 13px Manrope,Arial,sans-serif;color:#6b4a22}
.hn-close{background:#13232e;color:#f4f0e8;padding-block:87px 82px}
.hn-close .eyebrow{color:#eaca92}.hn-close h2{margin:17px 0}
.hn-close p:not(.eyebrow){font:400 15px/1.85 Manrope,Arial,sans-serif;max-width:740px;color:#e0e5e4}
.hn-close nav{display:flex;flex-wrap:wrap;gap:21px;margin:27px 0}
.hn-close nav a{color:#eaca92;font:650 13px Manrope,Arial,sans-serif;text-decoration:none;padding-block:4px}
.hn-close small{font:400 13px/1.6 Manrope,Arial,sans-serif;color:#c5d2d3}
@media(max-width:1070px){.hn-hero-layout,.hn-exhibit{grid-template-columns:1fr}.hn-clock-art{margin-top:43px;max-width:340px}.hn-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.hn-house-figure{min-height:520px}.hn-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hn-framing{grid-template-columns:1fr}}
@media(max-width:680px){.hn-hero-layout{padding-block:86px 62px}.hn-hero h1{font-size:clamp(43px,10.6vw,65px)}.hn-clock-art{max-height:245px;padding:15px}.hn-clock-ring{max-width:180px}.hn-clock-ring>span{font-size:17px}.hn-framing{display:block;padding-block:61px}.hn-framing h2{margin:15px 0}.hn-day{padding-block:56px 65px}.hn-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.hn-rail button{padding:10px;min-height:73px}.hn-rail strong{font-size:17px}.hn-house-figure{padding:15px;min-height:370px}.hn-roof{top:18%;height:58px}.hn-house-scene{margin:100px 0 20px;height:195px}.hn-room{gap:8px}.hn-mark{font-size:20px}.hn-narrative{padding:24px}.hn-field-notes{padding-block:70px}.hn-source-grid{grid-template-columns:1fr}.hn-close{padding-block:65px}}
@media(max-width:365px){.hn-rail strong{font-size:15px}.hn-instrument{letter-spacing:.06em}.hn-house-scene{height:182px}.hn-room b{letter-spacing:.04em}}
@media(prefers-reduced-motion:reduce){.hf-house-night *,.hf-house-night *:before,.hf-house-night *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.hn-hero,.hn-day{display:none!important}.hn-source-grid{display:block}.hn-source-card{margin-bottom:16px;break-inside:avoid}.hn-close{background:#fff;color:#111}}
