.visual-shell{max-width:1200px;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);margin:0 auto}.visual-header{border-bottom:1px solid #d9d0bf;justify-content:space-between;align-items:center;padding:24px clamp(20px,5vw,50px);display:flex}.visual-brand{letter-spacing:.31em;font-size:12px;font-weight:800}.visual-subtitle{letter-spacing:.18em;color:#857c70;margin-top:6px;font-size:9px}.visual-preview{color:#77695a;white-space:nowrap;border:1px solid #c5b8a7;border-radius:99px;padding:7px 10px;font-size:10px}.visual-layout{grid-template-columns:230px minmax(0,1fr);min-height:calc(100dvh - 88px);display:grid}.visual-side{border-right:1px solid #d9d0bf;flex-direction:column;gap:6px;padding:40px 17px;display:flex}.visual-side-title,.visual-overline{letter-spacing:.14em;color:#977a62;font-size:10px;font-weight:750}.visual-side-title{padding:0 15px 13px}.visual-nav{text-align:left;color:#696456;background:0 0;border:0;border-radius:12px;width:100%;padding:14px 15px;font-size:13px;font-weight:600}.visual-nav span{min-width:28px;font-size:18px;display:inline-block}.visual-nav.active{color:#faf4e9;background:#282922}.visual-nav:hover:not(.active){background:#e9e1d4}.visual-side-note{color:#81796f;margin-top:auto;padding:25px 12px;font-size:11px;line-height:1.7}.visual-content{min-width:0;padding:clamp(26px,5vw,62px)}.visual-section-header h1{letter-spacing:-.06em;margin:10px 0 4px;font-size:clamp(38px,6vw,60px);font-weight:650}.visual-intro{color:#71695e;margin:0 0 35px;font-size:14px;line-height:1.65}.visual-welcome{color:#fffaf0;background:#292b25;border-radius:21px;justify-content:space-between;align-items:center;gap:14px;padding:clamp(24px,4vw,40px);display:flex}.visual-welcome .visual-overline{color:#c5ab89}.visual-welcome h2{letter-spacing:-.04em;margin:16px 0 9px;font-size:clamp(24px,4vw,37px);font-weight:600}.visual-welcome p{color:#cdc6b9;max-width:365px;margin:0;font-size:13px;line-height:1.7}.visual-mark{color:#ddc5a5;letter-spacing:-.12em;padding-right:13px;font-family:Georgia,serif;font-size:42px}.visual-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.visual-tile{text-align:left;background:#fffaf0;border:1px solid #d8cebe;border-radius:17px;flex-direction:column;align-items:flex-start;gap:13px;min-width:0;padding:21px;display:flex}.visual-tile strong{letter-spacing:-.03em;font-size:21px;font-weight:650}.visual-tile>span:last-child{color:#827667;font-size:12px;line-height:1.5}.visual-tile:hover{border-color:#9a8167}.visual-empty{text-align:center;border:1px dashed #c9bfae;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;min-height:200px;margin-top:22px;padding:28px;display:flex}.visual-empty-icon{color:#967e66;font-size:29px}.visual-empty h3{margin:9px 0;font-size:19px;font-weight:650}.visual-empty p{color:#7d7568;max-width:450px;margin:0;font-size:13px;line-height:1.6}.visual-bar{background:#fffaf0;border:1px solid #ddd2c1;border-radius:13px;justify-content:space-between;gap:12px;padding:19px;font-size:12px;display:flex}.visual-bar span:last-child{color:#8e8072}.visual-restricted{letter-spacing:.07em;border:1px solid #d3c5b3;border-radius:12px;padding:15px 20px;font-size:11px;font-weight:700}.visual-bottom-nav{display:none}@media (max-width:750px){.visual-header{padding:20px 20px 17px}.visual-layout{display:block}.visual-side{display:none}.visual-content{padding:27px 18px 108px}.visual-section-header h1{font-size:43px}.visual-intro{margin-bottom:22px}.visual-welcome{padding:25px 22px}.visual-mark{font-size:30px}.visual-grid{grid-template-columns:1fr;gap:9px;margin-top:12px}.visual-tile{gap:6px;padding:15px 19px}.visual-tile strong{font-size:18px}.visual-bottom-nav{z-index:2;padding:8px max(7px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));background:#fffaf2;border-top:1px solid #ddd2c2;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.visual-bottom-nav button{color:#8b8175;background:0 0;border:0;border-radius:9px;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:10px;display:flex}.visual-bottom-nav button span{font-size:21px}.visual-bottom-nav button.active{color:#272923;background:#eee5d8;font-weight:800}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}.visual-back{color:#795b41;cursor:pointer;background:0 0;border:0;padding:0 0 14px;font-size:14px;font-weight:700;display:block}.visual-tile:disabled{opacity:.58;cursor:not-allowed}.hn-cal-list{gap:11px;display:grid}.hn-cal-bar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.hn-cal-bar button{color:#806342;background:#fffaf2;border:1px solid #d7c8b7;border-radius:9px;padding:8px 12px}.hn-cal-event{background:#fffaf0;border:1px solid #d3c2ab;border-radius:13px;overflow:hidden}.hn-cal-event-head{text-align:left;color:#292923;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:17px;display:flex}.hn-cal-event-head>span{flex-direction:column;gap:7px;display:flex}.hn-cal-event-head small{color:#96744c;font-size:11px}.hn-cal-event-head strong{font-size:23px}.hn-cal-event-head span span{color:#776b5d;font-size:12px}.hn-cal-event-head>b{color:#927049;font-size:23px}.hn-cal-maps{text-align:center;color:#8b6b43;border-top:1px solid #e4d5bf;padding:12px;font-size:12px;font-weight:700;text-decoration:none;display:block}.hn-cal-details{white-space:pre-wrap;color:#5d574e;border-top:1px solid #e5d8c7;padding:16px;font-size:13px;line-height:1.65}.hn-cal-details p{margin:11px 0}.hn-cal-hours{grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:7px;display:grid}.hn-cal-hours>div{border:1px solid #e1d3c1;padding:10px}.hn-cal-hours small,.hn-cal-hours strong{display:block}.hn-cal-hours small{color:#867968;font-size:10px}.hn-cal-hours strong{margin-top:6px}.hn-cal-error{color:#9d3d2c}.hn-cal-empty{text-align:center;color:#786c61;padding:26px}.hn-repertoire{gap:14px;padding-bottom:40px;display:grid}.hn-rep-toolbar{justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.hn-rep-toolbar button{color:#806342;background:#fffaf2;border:1px solid #d7c8b7;border-radius:9px;padding:9px 12px}.hn-repertoire h2{color:#292923;margin:18px 0 5px;font-size:20px}.hn-rep-group{padding:0 3px}.hn-rep-group h3{letter-spacing:.12em;color:#8a6743;border-bottom:1px solid #d9cabb;padding:8px 0;font-size:12px}.hn-rep-row{border-bottom:1px solid #e3d6c7;justify-content:space-between;align-items:center;gap:15px;padding:13px 5px;display:flex}.hn-rep-row>div{gap:5px;min-width:0;display:grid}.hn-rep-row strong{color:#35332e;font-size:13px}.hn-rep-row small{color:#857769;font-size:11px;display:block}.hn-rep-row a{color:#85623d;flex-shrink:0;font-size:11px;font-weight:700}@media (max-width:390px){.hn-rep-row{gap:8px}.hn-rep-row a{font-size:10px}}.hn-family{gap:17px;min-width:0;padding-bottom:35px;display:grid}.hn-family-toolbar{justify-content:space-between;align-items:center;gap:10px;display:flex}.hn-family-toolbar strong{letter-spacing:.12em;color:#536354;font-size:11px}.hn-family-toolbar button{color:#4f624f;background:#fffaf2;border:1px solid #d9ccbc;border-radius:11px;padding:10px 12px;font-size:12px;font-weight:650}.hn-family-toolbar button:focus-visible,.hn-family-album:focus-visible,.hn-family-book:focus-visible{outline-offset:3px;outline:3px solid #6c987e}.hn-family-intro{color:#706e65;margin:0;font-size:13px;line-height:1.6}.hn-family-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.hn-family-album{text-align:left;background:#233b31;border:0;border-radius:17px;width:100%;min-width:0;padding:0;display:block;overflow:hidden;box-shadow:0 1px 5px #182a1f19}.hn-family-album-art{aspect-ratio:4/5;color:#fff;background:linear-gradient(150deg,#84978a 0%,#476b5b 42%,#173d33 100%);align-items:flex-end;display:flex;position:relative;overflow:hidden}.hn-family-album-art:after{content:"";pointer-events:none;background:linear-gradient(#0000 0%,#07171048 32%,#071710db 100%);position:absolute;inset:34% 0 0}.hn-family-album-photo{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.hn-family-monogram{color:#ffffff36;place-items:center;font:italic clamp(70px,15vw,145px) Georgia,serif;display:grid;position:absolute;inset:0}.hn-family-album-caption{z-index:1;text-shadow:0 1px 7px #0005;gap:5px;width:100%;min-width:0;padding:24px 16px 17px;display:grid;position:relative}.hn-family-album-caption strong{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:clamp(18px,3vw,24px);line-height:1.05}.hn-family-album-caption small{color:#f2f5ee;font-size:11px}.hn-family-album:hover .hn-family-album-art{filter:brightness(1.06)}.hn-family-cover{isolation:isolate;color:#fff;background:linear-gradient(150deg,#84978a,#456b58 45%,#15362c);border-radius:18px;flex-direction:column;justify-content:flex-end;min-height:clamp(330px,56vw,570px);display:flex;position:relative;overflow:hidden}.hn-family-cover-photo{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.hn-family-cover-placeholder{color:#ffffff29;place-items:center;font:italic clamp(155px,31vw,300px) Georgia,serif;display:grid;position:absolute;inset:0}.hn-family-cover:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(#0000 0%,#09160f59 33%,#07130bef 100%);position:absolute;inset:34% 0 0}.hn-family-cover-text{z-index:1;text-align:left;padding:clamp(23px,5vw,45px);position:relative}.hn-family-cover-text h2{letter-spacing:-.04em;overflow-wrap:anywhere;margin:0;font-size:clamp(36px,7vw,64px);font-weight:700;line-height:1.05}.hn-family-cover-text p{color:#eaf0e9;margin:11px 0 0;font-size:13px;font-weight:550}.hn-family-empty{color:#626c63;background:#fffaf2;border:1px solid #e0d9ce;border-radius:14px;margin:0;padding:20px;font-size:13px;line-height:1.7}.hn-family-book{isolation:isolate;text-align:left;color:#f9f7ef;background:linear-gradient(130deg,#173a31,#0b241f);border:0;border-radius:18px;gap:10px;width:100%;margin-top:6px;padding:clamp(26px,5vw,38px);display:grid;position:relative;overflow:hidden}.hn-family-book:before{content:"";pointer-events:none;border-left:1px solid #e5d8b63b;border-right:1px solid #e5d8b61f;width:27%;position:absolute;inset:13px 13px 13px auto;transform:skewY(-7deg)}.hn-family-book-eyebrow{z-index:1;letter-spacing:.2em;color:#d1c3a9;font-size:10px;font-weight:700;position:relative}.hn-family-book strong{z-index:1;letter-spacing:-.045em;font:clamp(29px,5vw,42px) Georgia,serif;position:relative}.hn-family-book-info{z-index:1;color:#e2e5dc;font-size:13px;line-height:1.55;position:relative}.hn-family-book small{z-index:1;color:#d7d5c5;font-size:11px;font-weight:650;position:relative}.hn-family-book:hover{background:linear-gradient(130deg,#1c4539,#11322a)}.hn-family-book-reader{color:#fff;background:radial-gradient(at 82% 16%,#68846b99,#0000 55%),linear-gradient(150deg,#426756,#102920 75%);border-radius:18px;flex-direction:column;justify-content:flex-end;min-height:clamp(350px,58vw,540px);padding:clamp(27px,6vw,57px);display:flex}.hn-family-book-reader h2{letter-spacing:-.065em;margin:22px 0;font:clamp(40px,10vw,78px)/.95 Georgia,serif}.hn-family-book-rule{background:#d6c69c;width:90px;height:1px;margin-bottom:18px}.hn-family-book-reader p{color:#e2e8de;margin:0;font-size:13px}@media (max-width:520px){.hn-family-grid{gap:9px}.hn-family-album{border-radius:12px}.hn-family-album-caption{padding:22px 11px 13px}.hn-family-album-caption strong{font-size:19px}.hn-family-album-caption small{font-size:10px}.hn-family-cover{border-radius:14px}.hn-family-cover-text{padding:27px 23px}}@media (prefers-reduced-motion:reduce){.hn-family-album:hover .hn-family-album-art{filter:none}}
