/* P02a: one static visual source for client composition and script-free public SSR.
   Container breakpoints follow the reviewed source cascade, not host viewport.
   P03b exception: only Compact cover heights retain the source host-screen rules. */
.hn-presentation{color:var(--hn-ink);background:var(--hn-paper);width:100%;margin:0 auto;container-name:hn-page;container-type:inline-size;font:400 14px/1.5 'DM Sans',Arial,sans-serif;text-align:left;font-synthesis:none}
.hn-presentation *{box-sizing:border-box}
.hn-presentation :is(h1,h2,h3,p){margin:0;overflow-wrap:anywhere}
.hn-presentation :is(a,button){font-family:inherit;color:inherit;text-decoration:none;cursor:pointer}
.hn-presentation.hn-presentation :where(button){border:0;background:none;padding:0;min-height:0;border-radius:0;font:inherit;color:inherit;box-shadow:none}
.hn-presentation.hn-presentation :where(button:hover:not(:disabled)){background:none}
.hn-presentation :is(a,button):focus-visible{outline:2px solid #53744e;outline-offset:4px}
.hn-presentation .hn-page-main{margin:0;width:100%;padding:0}
.hn-presentation .hn-page-descriptor{font-weight:700;text-transform:uppercase}
.hn-page-compact .hn-page-identity-badge{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:4px solid var(--hn-paper);background:var(--hn-soft);color:inherit;margin:0 auto 13px}
.hn-presentation .hn-page-symbol-name{display:flex;align-items:center;gap:10px;min-width:0}
.hn-presentation .hn-page-symbol-name>svg{flex-shrink:0}
.hn-presentation .hn-page-symbol-name>span{min-width:0;overflow-wrap:anywhere}
.hn-page-spacious .hn-page-social-tagline{font:400 10px/1.6 'DM Sans',Arial,sans-serif;max-width:380px;overflow-wrap:anywhere;margin:12px 0 0}
.hn-presentation :is(.hn-page-introduction,.hn-page-lead,.hn-page-description,.hn-page-header-note,.hn-page-footer small){white-space:pre-line;overflow-wrap:anywhere}
.hn-presentation .hn-page-grid{display:grid;min-width:0}
.hn-presentation .hn-page-card{min-width:0;color:var(--hn-card-ink);background:var(--hn-card-surface);overflow-wrap:anywhere}
.hn-presentation .hn-page-description{opacity:var(--hn-card-description-opacity)}
.hn-presentation .hn-page-link-icon{flex-shrink:0;display:grid;place-items:center}
.hn-presentation .hn-page-credit{display:flex;justify-content:center;align-items:center;gap:5px;font-size:8px;opacity:.6}
.hn-presentation .hn-page-credit-logo{position:relative;display:block;width:55px;aspect-ratio:513/120;background:currentColor;-webkit-mask:url(/herenook-logo.svg) center/100% 100% no-repeat;mask:url(/herenook-logo.svg) center/100% 100% no-repeat}
/* The brand dot keeps its own colour over the ink-coloured mark (circle at 62,59 r10 of 513x120). */
.hn-presentation .hn-page-credit-logo::after{content:"";position:absolute;left:10.136%;top:40.833%;width:3.899%;height:16.667%;border-radius:50%;background:#c17d5f}
@media (forced-colors:active){.hn-presentation .hn-page-credit-logo{forced-color-adjust:none;background:CanvasText}}
.hn-presentation .hn-page-correction{margin-top:10px;font-size:11px;line-height:1.7}
.hn-presentation .hn-page-selected{outline:2px solid #859e6d;outline-offset:3px}

/* Native Menu: source NookCanvas service-peek, landing-menu and ExtraDetail. */
.hn-presentation .hn-menu-compact-action{display:block;width:100%;text-align:left}
.hn-presentation.hn-page-compact .hn-menu-compact-action{padding:13px}
.hn-presentation .hn-menu-card-heading{display:flex;align-items:center;gap:9px}
.hn-presentation .hn-menu-card-heading>.hn-page-card-copy{flex:1;min-width:0}
.hn-page-compact .hn-menu-card .hn-page-link-icon{background:#f4eed5;color:#97834e}
.hn-page-compact .hn-menu-card .hn-page-description{display:block;font-size:9px;line-height:1.7;margin-top:3px}
.hn-presentation .hn-menu-peek{display:block;border-top:1px solid #e5e8df;margin-top:12px;padding-top:7px}
.hn-presentation .hn-menu-peek>span{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:9px;padding:4px 0}
.hn-presentation .hn-menu-peek strong{font-size:9px;font-weight:500;white-space:nowrap;margin-left:auto}
.hn-presentation.hn-page-spacious .hn-menu-card>h3{font-size:30px;margin-top:12px}
.hn-presentation .hn-menu-items{width:100%;min-width:0}
.hn-presentation .hn-menu-items>article{width:100%;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #cbd1c0;padding:20px 0}
.hn-presentation .hn-menu-items>article>div{min-width:0}
.hn-presentation .hn-menu-items h4{font:500 20px/1.5 var(--hn-display);margin:0;overflow-wrap:anywhere}
.hn-presentation .hn-menu-items p{font-size:11px;line-height:1.7;margin-top:8px;white-space:pre-line;opacity:.75}
.hn-presentation .hn-menu-items strong{font-size:11px;white-space:nowrap;flex-shrink:0}
.hn-presentation .hn-menu-note{font-size:12px;line-height:1.8;padding:14px;background:#f4f1e6;border-radius:8px;margin-bottom:20px;white-space:pre-line;color:#453f32}
.hn-page-spacious .hn-menu-card>.hn-menu-note{font-size:10px;margin-top:14px}
.hn-presentation .hn-menu-visitor section>h3{font:600 25px/1.5 var(--hn-display);margin:22px 0 6px}
.hn-presentation .hn-menu-visitor article{padding:16px 0;border-bottom:1px solid #e4e2d4}
.hn-presentation .hn-menu-visitor article>div{display:flex;gap:12px;justify-content:space-between;align-items:baseline;flex-wrap:wrap}
.hn-presentation .hn-menu-visitor h4{font-size:14px;margin:0;overflow-wrap:anywhere}
.hn-presentation .hn-menu-visitor b{font-size:12px;white-space:nowrap}
.hn-presentation .hn-menu-visitor article p{font-size:12px;line-height:1.8;margin:8px 0;white-space:pre-line}
.hn-presentation .hn-menu-visitor small{font-size:10px;white-space:pre-line}
@container hn-page (max-width:420px){.hn-presentation .hn-menu-items>article{flex-wrap:wrap}}

/* Port of prototype Detail/visitor-info and Spacious landing-faq. */
.hn-page-compact .hn-info-card .hn-page-link-icon{background:#f4e5d7;color:#aa7854}
.hn-presentation .hn-info-steps{list-style:none;padding:0;margin:12px 0;width:100%}
.hn-presentation .hn-info-steps>li{display:flex;gap:16px;padding:14px 0}
.hn-presentation .hn-info-steps>li>span{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;background:var(--hn-soft);color:var(--hn-card-ink);border-radius:50%;font-size:12px}
.hn-presentation .hn-info-steps>li>div{min-width:0}
.hn-presentation .hn-info-steps h4{font:600 21px/1.4 var(--hn-display);margin:0;overflow-wrap:anywhere}
.hn-presentation .hn-info-steps p,.hn-presentation .hn-info-faq p{font-size:13px;line-height:1.8;margin-top:10px;white-space:pre-line;overflow-wrap:anywhere}
.hn-presentation .hn-info-faq{width:100%;margin:12px 0}
.hn-presentation .hn-info-faq details{padding:15px 0;border-bottom:1px solid #899b7840}
.hn-presentation .hn-info-faq summary{cursor:pointer;font-size:12px;font-weight:600;overflow-wrap:anywhere}
/* Spacious source is landing-faq, not Compact Detail/visitor-info disclosure. */
/* Spacious information wears the authored section ink when it reads on the card (else the readable card ink). */
.hn-page-spacious .hn-info-card{--hn-card-ink:var(--hn-card-authored-ink,currentColor)}
.hn-page-spacious .hn-info-card>h3{margin-bottom:14px}
.hn-page-spacious .hn-info-faq{margin:0}
.hn-page-spacious .hn-info-faq details{width:100%;padding:13px 0;border-bottom:1px solid #cbd1c0;font-size:11px}
.hn-page-spacious .hn-info-faq summary{font-size:inherit;font-weight:400}
.hn-page-spacious .hn-info-faq p{font-size:11px}
.hn-presentation summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.hn-presentation .hn-info-dialog{border:1px solid #d9dfd1;background:var(--hn-soft);border-radius:18px;padding:0;color:var(--hn-card-ink);width:480px;max-width:calc(100vw - 30px);max-height:90dvh;overflow:auto;box-shadow:0 25px 110px #142c2540}
.hn-presentation .hn-info-dialog::backdrop{background:#142c2566}
.hn-presentation .hn-info-dialog>header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 25px;border-bottom:1px solid #e1e6d7;background:var(--hn-soft);z-index:2}
.hn-presentation .hn-info-dialog h2{font:600 24px/1.3 var(--hn-display);letter-spacing:-.035em}
.hn-presentation .hn-info-dialog-body{padding:12px 25px 25px}
.hn-presentation.hn-presentation .hn-info-dialog [data-hn-information-close]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:7px}
.hn-presentation .hn-info-dialog:not([data-enhanced]){position:static;width:100%;max-width:none;max-height:none;margin:0;box-shadow:none;border:0;border-top:1px solid #d9dfd1;border-radius:0}
.hn-presentation.hn-presentation .hn-info-dialog:not([data-enhanced]) [data-hn-information-close]{display:none}
.hn-presentation .hn-info-dialog[data-enhanced]:not([open]){display:none}
/* Dialogs open in the top layer, sized by the window, so their own rules follow the window, never the page width:
   a Compact page is at most 580px wide, so a page-container query would turn every dialog into a phone sheet on desktop. */
@media (max-width:650px){.hn-presentation .hn-info-dialog{max-width:calc(100vw - 20px);max-height:94dvh}.hn-presentation .hn-info-dialog>header{padding:18px}.hn-presentation .hn-info-dialog h2{font-size:21px}}

.hn-presentation.hn-page-compact{max-width:580px;padding-bottom:20px}
.hn-page-compact .hn-page-identity{padding:28px 28px 7px;text-align:center}
.hn-page-compact .hn-page-descriptor{font-size:8px;letter-spacing:.1em;opacity:.8;margin-bottom:7px}
.hn-page-compact .hn-page-identity h1{font:600 27px/1.15 var(--hn-display);letter-spacing:-.035em;margin-bottom:11px}
.hn-page-compact .hn-page-introduction{font-size:11px;line-height:1.75;opacity:.8}
.hn-page-compact .hn-page-sections{padding:0 17px}
.hn-page-compact .hn-page-section{margin-bottom:21px;border-radius:9px}
.hn-page-compact .hn-page-tinted{padding:12px}
.hn-page-compact .hn-page-section-heading h2{font:600 10px 'DM Sans',Arial,sans-serif;letter-spacing:.04em;margin-bottom:10px;opacity:.6}
.hn-page-compact .hn-page-lead{font-size:11px;line-height:1.75;margin:0 0 10px;opacity:.8}
.hn-page-compact .hn-page-grid{gap:9px}
.hn-page-compact .hn-page-arrangement-grid .hn-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.hn-page-compact .hn-page-card{border:1px solid #d6ddcc;border-radius:10px;transition:box-shadow .15s}
.hn-page-compact .hn-page-card:hover{box-shadow:0 2px 10px #243c3210}
.hn-page-compact .hn-page-compact-destination{display:flex;align-items:center;gap:9px;padding:13px;width:100%;text-align:left}
.hn-page-compact.hn-presentation .hn-page-compact-destination{padding:13px;border-radius:10px}
.hn-page-compact .hn-page-card-copy{flex:1;min-width:0}
.hn-page-compact .hn-page-link-icon{width:32px;height:32px;border-radius:8px;background:#e5eddb;color:#577947}
.hn-page-compact .hn-page-link-icon svg{width:18px;height:18px}
.hn-page-compact .hn-page-card h3{font-size:11px;line-height:1.45;font-weight:650}
.hn-page-compact .hn-page-description{font-size:9px;line-height:1.7;display:block;margin-top:3px}
.hn-page-compact .hn-page-arrangement-grid .hn-page-compact-destination{flex-wrap:wrap}
.hn-page-compact .hn-page-arrangement-grid .hn-page-card-copy{flex-basis:80%}
.hn-page-compact .hn-page-correction{padding:0 13px 13px;margin:0}
.hn-page-compact .hn-page-footer{margin-top:22px}

.hn-presentation.hn-page-spacious{max-width:1120px}
.hn-page-spacious .hn-page-topline{display:flex;align-items:center;gap:24px;padding:25px 40px;border-bottom:1px solid #8d9b762e}
.hn-page-spacious .hn-page-wordmark{font:600 23px var(--hn-display);padding:1px 6px;min-width:0;overflow-wrap:anywhere}
.hn-page-spacious .hn-page-topline nav{display:flex;gap:20px;margin-left:auto;font-size:10px;flex-shrink:0}
.hn-page-spacious .hn-page-topline nav a{padding:1px 6px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hn-page-spacious .hn-page-header-note{font-size:9px;line-height:1.5;letter-spacing:.04em;max-width:140px;text-align:right;opacity:.65;flex-shrink:0;margin-left:auto}
.hn-page-spacious .hn-page-identity{display:grid;grid-template-columns:1fr;padding:40px 40px 32px;align-items:center}
.hn-page-spacious .hn-page-identity-copy{padding:20px 0}
.hn-page-spacious .hn-page-descriptor{font-size:9px;letter-spacing:.13em;color:#70816a;display:block;margin-bottom:24px}
.hn-page-spacious .hn-page-identity h1{font:500 clamp(34px,5.3cqw,66px)/1.06 var(--hn-display);letter-spacing:-.045em;white-space:pre-line;margin:0 0 24px;max-width:650px}
.hn-page-spacious .hn-page-introduction{font-size:13px;line-height:1.9;max-width:380px;opacity:.84}
.hn-page-spacious .hn-page-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:17px;margin-top:28px}
.hn-page-spacious.hn-presentation .hn-page-opening-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;overflow-wrap:anywhere;white-space:normal;text-align:center;padding:9px 13px;border:1px solid #d8ddcf;border-radius:6px;background:#2d5039;color:#fff;font-size:11px;font-weight:650;box-shadow:0 6px 18px #243c3214}
.hn-page-spacious.hn-presentation .hn-page-opening-action:hover:not(:disabled){background:#23432e}
.hn-page-spacious .hn-page-explore{display:flex;align-items:center;gap:7px;padding:1px 6px;font-size:10px}
.hn-page-spacious .hn-page-sections{padding:0 40px}
.hn-page-spacious .hn-page-section{padding:36px 0;scroll-margin-top:20px}
.hn-page-spacious .hn-page-section-heading{margin-bottom:22px;position:relative}
.hn-page-spacious .hn-page-number{font-size:8px;letter-spacing:.16em;opacity:.65;display:block;margin-bottom:12px;text-transform:uppercase;overflow-wrap:anywhere}
.hn-page-spacious .hn-page-section-heading h2{font:500 29px/1.2 var(--hn-display);letter-spacing:-.025em;max-width:580px}
.hn-page-spacious .hn-page-lead{font-size:12px;line-height:1.8;margin:12px 0 0;max-width:580px}
.hn-page-spacious .hn-page-grid{gap:18px;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch}
/* Spacious grid contract. spacious-grid.ts gives every card a span on 6 tracks: a third (2), a half (3) or the
   whole row (6), so no row ever ends with an empty column, whatever Nooklets a section holds. Cards on a row share
   one height so their actions line up; every card's preview is bounded (below), so that shared height is capped and
   no card can stretch into a tall empty box beside a bigger one. */
.hn-page-spacious .hn-page-slot{display:contents}
.hn-page-spacious .hn-page-slot>.hn-page-card{grid-column:span var(--hn-span3,6);min-width:0}
.hn-page-spacious .hn-page-card{padding:24px;border:1px solid #c9cfbd;border-radius:9px;display:flex;flex-direction:column;align-items:flex-start}
.hn-page-spacious .hn-page-link-icon{margin-bottom:24px;opacity:.75}
.hn-page-spacious .hn-page-link-icon svg{width:23px;height:23px}
.hn-page-spacious .hn-page-card-copy{width:100%;display:contents}
.hn-page-spacious .hn-page-card h3{font:500 24px/1.25 var(--hn-display);letter-spacing:-.02em}
.hn-page-spacious .hn-page-description{font-size:11px;line-height:1.9;margin:14px 0 22px}
.hn-page-spacious.hn-presentation .hn-page-text-action{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;border-top:1px solid #cbd1c0;padding:18px 0 0;margin-top:auto;font-size:11px}
.hn-page-spacious .hn-page-footer{display:flex;align-items:center;gap:20px;border-top:1px solid #87967745;margin:30px 40px 0;padding:28px 0}
.hn-page-spacious .hn-page-footer-name{font:500 22px var(--hn-display);overflow-wrap:anywhere;min-width:0}
.hn-page-spacious .hn-page-footer>small{font-size:9px;opacity:.7;margin-left:auto}
.hn-page-spacious .hn-page-credit{margin-left:auto;flex-shrink:0}

@container hn-page (max-width:849px){
  .hn-page-spacious .hn-page-topline{padding:20px 25px}
  .hn-page-spacious .hn-page-topline nav{display:none}
  .hn-page-spacious .hn-page-identity{padding:30px 25px}
  .hn-page-spacious .hn-page-identity h1{font-size:43px}
  .hn-page-spacious .hn-page-introduction{font-size:12px}
  .hn-page-spacious .hn-page-sections{padding:0 25px}
  .hn-page-spacious .hn-page-slot>.hn-page-card{grid-column:span var(--hn-span2,6)}
  .hn-page-spacious .hn-page-footer{margin-left:25px;margin-right:25px;flex-wrap:wrap}
}
@container hn-page (max-width:539px){
  .hn-page-compact .hn-page-identity{padding-left:22px;padding-right:22px}
  .hn-page-compact .hn-page-identity h1{font-size:25px}
  .hn-page-compact.hn-presentation .hn-page-compact-destination{gap:7px}
  .hn-page-spacious .hn-page-topline{padding:19px 20px;gap:12px;flex-wrap:wrap}
  .hn-page-spacious .hn-page-wordmark{font-size:20px;flex:1}
  .hn-page-spacious .hn-page-header-note{max-width:none;flex-basis:100%;text-align:left;margin-left:0}
  .hn-page-spacious .hn-page-identity{padding:24px 20px}
  .hn-page-spacious .hn-page-identity-copy{padding:5px 0}
  .hn-page-spacious .hn-page-descriptor{margin-bottom:20px}
  .hn-page-spacious .hn-page-sections{padding:0 20px}
  .hn-page-spacious .hn-page-section{padding:28px 0}
  .hn-page-spacious .hn-page-section-heading h2{font-size:27px}
  .hn-page-spacious .hn-page-slot>.hn-page-card{grid-column:1/-1}
  .hn-page-spacious .hn-page-footer{margin:20px 20px 0;padding:22px 0;gap:14px}
  .hn-page-spacious .hn-page-footer>small{margin-left:0;flex-basis:100%}
}
@media(prefers-reduced-motion:reduce){.hn-presentation *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Bounded previews. Each Spacious card shows a short preview with a fixed ceiling; the full content opens in its dialog.
   Products: 3 square thumbnails · Good to know: 2 entries · Menu: 3 items · Hours: today · Announcement: 3 lines. */
.hn-page-spacious .hn-page-slot .hn-card-preview{max-height:300px;overflow:hidden}
.hn-page-spacious .hn-page-slot .hn-page-card>.hn-page-description,.hn-page-spacious .hn-page-slot .hn-page-card-copy>.hn-page-description{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.hn-page-spacious .hn-page-slot .hn-location-multi-head{display:block}.hn-page-spacious .hn-page-slot .hn-location-multi-head>.hn-page-link-icon{width:fit-content}
.hn-page-spacious .hn-page-slot .hn-location-list{gap:6px}
.hn-page-spacious .hn-page-slot .hn-location-list>li{padding:8px 8px 8px 12px;gap:6px 8px}
.hn-page-spacious .hn-page-slot .hn-location-list-copy{flex:1 1 110px;gap:1px}
.hn-page-spacious .hn-page-slot .hn-location-list-copy>:is(strong,.hn-location-list-address){display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.hn-page-spacious .hn-page-slot .hn-location-list .hn-location-place-actions{gap:6px;flex-wrap:nowrap}
.hn-page-spacious .hn-page-slot .hn-location-list .hn-location-place-actions a{flex:0 0 44px;width:44px;height:44px;padding:0;gap:0;justify-content:center;font-size:0}
.hn-page-spacious .hn-page-slot .hn-page-card>h3,.hn-page-spacious .hn-page-slot .hn-page-card-copy>h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hn-page-spacious .hn-page-slot .hn-page-card>:is(.hn-trust-overline,.hn-menu-overline,.hn-enquiry-expectation,small){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hn-page-spacious .hn-page-slot .hn-announcement-intro{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hn-page-spacious .hn-products-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,88px));gap:10px;width:100%;margin:4px 0 12px}
.hn-page-spacious .hn-products-thumb{display:grid;place-items:center;width:100%;max-width:88px;aspect-ratio:1;border-radius:10px;background:#f1efe7;color:#a2705c;overflow:hidden}
/* A media tile is never an empty hole: it shows a placeholder tone while its photo loads, and the fallback if it fails. */
.hn-page-spacious .hn-gallery-photos .hn-content-photo{background:color-mix(in srgb,currentColor 9%,transparent)}
.hn-page-spacious .hn-products-thumb .hn-content-photo-fallback{min-height:0;padding:0}.hn-page-spacious .hn-products-thumb .hn-content-photo-fallback>span{display:none}
.hn-page-spacious .hn-products-count{width:100%;margin:0 0 18px;font-size:14px;line-height:1.55}
.hn-page-spacious .hn-products-count>b{display:block;font-weight:600}
.hn-page-spacious .hn-products-count>span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--hn-muted)}
.hn-page-spacious .hn-products-list{list-style:none;padding:0;margin:4px 0 10px;width:100%}
.hn-page-spacious .hn-products-list>li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #cbd1c055;font-size:14px}
.hn-page-spacious .hn-products-list>li>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hn-page-spacious .hn-products-list small{flex-shrink:0;font-size:13px;color:var(--hn-muted)}
.hn-page-spacious .hn-info-preview{list-style:none;padding:0;margin:2px 0 16px;width:100%}
.hn-page-spacious .hn-info-preview>li{padding:12px 0;border-bottom:1px solid #cbd1c0}
.hn-page-spacious .hn-info-preview-steps>li{display:flex;gap:14px}
.hn-page-spacious .hn-info-preview-steps>li>span{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;background:var(--hn-soft);color:var(--hn-card-ink);border-radius:50%;font-size:12px}
.hn-page-spacious .hn-info-preview-steps>li>div{min-width:0}
.hn-page-spacious .hn-info-preview h4{margin:0;font:600 17px/1.4 var(--hn-display);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hn-page-spacious .hn-info-preview p{margin:5px 0 0;font-size:14px;line-height:1.6;color:var(--hn-muted);white-space:pre-line;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hn-page-spacious .hn-info-preview-faq>li{font-size:15px;line-height:1.5;font-weight:600;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hn-page-spacious .hn-page-slot .hn-menu-card .hn-menu-items>article{padding:12px 0}
.hn-page-spacious .hn-page-slot .hn-menu-card .hn-menu-items :is(h4,p){display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.hn-page-spacious .hn-page-slot .hn-menu-card>.hn-menu-note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hn-page-spacious .hn-hours-today{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;margin:0 0 12px;border:1px solid #cbd1c077;border-radius:10px}
.hn-page-spacious .hn-hours-today b{display:block;font-size:14px;font-weight:600}
.hn-page-spacious .hn-hours-today [data-hn-hours-today]{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;color:var(--hn-muted);overflow-wrap:anywhere}
.hn-page-spacious .hn-page-slot :is(.hn-documents-utility-item,.hn-recommendations-utility-item){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* A card alone on its row takes the full width and lays out side by side: title on the left, preview and action on the right.
   The Announcement is always this full-width strip. Phones keep the stacked card. */
@container hn-page (min-width:850px){.hn-page-spacious .hn-wide3>.hn-page-card{display:flow-root;padding:28px 32px}.hn-page-spacious .hn-wide3>.hn-page-card>:is(svg,.hn-page-link-icon,.hn-enquiry-icon){float:left;clear:left}.hn-page-spacious .hn-wide3>.hn-page-card>:is(h3,.hn-trust-overline,.hn-menu-overline,.hn-announcement-date,.hn-location-multi-head),.hn-page-spacious .hn-wide3>.hn-page-card>.hn-page-card-copy>h3{float:left;clear:left;width:32%}.hn-page-spacious .hn-wide3>.hn-page-card>:not(svg,.hn-page-link-icon,.hn-enquiry-icon,h3,.hn-trust-overline,.hn-menu-overline,.hn-announcement-date,.hn-location-multi-head,.hn-page-card-copy,dialog),.hn-page-spacious .hn-wide3>.hn-page-card>.hn-page-card-copy>:not(h3){margin-left:calc(32% + 40px);width:auto}.hn-page-spacious .hn-wide3>.hn-page-card>.hn-page-description,.hn-page-spacious .hn-wide3>.hn-page-card>.hn-page-card-copy>.hn-page-description{margin-top:4px}}
@container hn-page (min-width:540px) and (max-width:849px){.hn-page-spacious .hn-wide2>.hn-page-card{display:flow-root;padding:28px 32px}.hn-page-spacious .hn-wide2>.hn-page-card>:is(svg,.hn-page-link-icon,.hn-enquiry-icon){float:left;clear:left}.hn-page-spacious .hn-wide2>.hn-page-card>:is(h3,.hn-trust-overline,.hn-menu-overline,.hn-announcement-date,.hn-location-multi-head),.hn-page-spacious .hn-wide2>.hn-page-card>.hn-page-card-copy>h3{float:left;clear:left;width:32%}.hn-page-spacious .hn-wide2>.hn-page-card>:not(svg,.hn-page-link-icon,.hn-enquiry-icon,h3,.hn-trust-overline,.hn-menu-overline,.hn-announcement-date,.hn-location-multi-head,.hn-page-card-copy,dialog),.hn-page-spacious .hn-wide2>.hn-page-card>.hn-page-card-copy>:not(h3){margin-left:calc(32% + 40px);width:auto}.hn-page-spacious .hn-wide2>.hn-page-card>.hn-page-description,.hn-page-spacious .hn-wide2>.hn-page-card>.hn-page-card-copy>.hn-page-description{margin-top:4px}}

/* P03b preparation: only actual application-resolved media adds these compositions.
   Fixed containers reserve geometry without hydration; enhanced error presentation is opt-in below. */
.hn-presentation .hn-page-compact-cover{height:169px;position:relative;margin:14px 14px 0;border-radius:9px;overflow:hidden;background:var(--hn-soft)}
.hn-presentation :is(.hn-page-compact-cover,.hn-page-cover).hn-cover-focus-top>img{object-position:50% 0%}
.hn-presentation :is(.hn-page-compact-cover,.hn-page-cover).hn-cover-focus-bottom>img{object-position:50% 100%}
.hn-presentation :is(.hn-page-compact-cover,.hn-page-cover)>img{width:100%;height:100%;object-fit:cover;display:block;color:var(--hn-ink);font:400 12px/1.5 'DM Sans',Arial,sans-serif;overflow-wrap:anywhere}
.hn-page-compact .hn-page-with-cover{padding-top:0}
.hn-page-compact .hn-page-with-cover .hn-page-identity-badge{position:relative;margin-top:-23px}
.hn-page-compact .hn-page-with-cover .hn-page-identity-copy:not(:has(.hn-page-identity-badge)){padding-top:28px}
.hn-presentation .hn-page-identity-logo{overflow:hidden}
.hn-presentation .hn-page-compact-logo{display:block;width:100%;height:100%;object-fit:contain}
.hn-presentation .hn-page-logo{display:block;width:30px;height:30px;object-fit:contain;border-radius:6px;flex-shrink:0}
.hn-page-spacious .hn-page-with-cover{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:34px}
.hn-presentation .hn-page-cover{position:relative;margin:0;padding:0;overflow:hidden;min-width:0;width:100%;height:40cqw;min-height:340px;max-height:490px;background:var(--hn-soft)}
.hn-presentation .hn-page-cover-caption{position:absolute;bottom:16px;left:16px;right:16px;max-height:calc(100% - 32px);overflow:auto;padding:12px 15px;background:#fffdf8e8;color:var(--hn-caption-ink,inherit);backdrop-filter:blur(8px);font:500 14px var(--hn-display);border-radius:3px;overflow-wrap:anywhere;white-space:pre-line}
@container hn-page (max-width:849px){
  .hn-page-spacious .hn-page-with-cover{gap:24px}
  .hn-presentation .hn-page-cover{min-height:280px}
}
@container hn-page (max-width:539px){
  .hn-page-spacious .hn-page-with-cover{grid-template-columns:minmax(0,1fr);gap:20px}
  .hn-presentation .hn-page-cover{height:310px;min-height:0;max-height:none}
}
/* Explicit authored shapes follow the source cascade even at narrow container widths. */
.hn-presentation .hn-page-cover-soft{border-radius:110px 8px 8px 8px}
.hn-presentation .hn-page-cover-arch{border-radius:160px 160px 8px 8px}
.hn-presentation .hn-page-cover-square{border-radius:6px}
/* Compact source heights are host-screen rules, pending matched host/canvas capture. */
@media(max-width:650px){.hn-presentation .hn-page-compact-cover{height:156px}}
@media(min-width:1600px){.hn-presentation .hn-page-compact-cover{height:192px}}

/* Opt-in error enhancement; hidden fallback never paints during loading/success.
   Without the initializer, native img alt/failure behavior remains (not equivalent). */
.hn-presentation [data-hn-media-frame]>[hidden]{display:none!important}
.hn-presentation .hn-page-logo-frame{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:6px;overflow:hidden}
.hn-presentation .hn-page-logo-frame[data-hn-media-state="failed"]{background:var(--hn-soft)}
.hn-presentation .hn-page-compact-logo-frame{display:grid;place-items:center;width:100%;height:100%;overflow:hidden}
.hn-presentation .hn-page-logo-fallback{display:grid;place-items:center;width:100%;height:100%;color:inherit}
.hn-presentation [data-hn-media-frame="cover"][data-hn-media-state="failed"]{background:#fffdf8}
.hn-presentation .hn-page-cover-fallback{position:absolute;inset:clamp(32px,20cqw,80px) clamp(12px,8cqw,32px) var(--hn-media-caption-space,24px);overflow:auto;color:#243c32;font:400 12px/1.6 'DM Sans',Arial,sans-serif;text-align:center;overflow-wrap:anywhere;white-space:pre-line}
.hn-presentation .hn-page-compact-cover .hn-page-cover-fallback{inset:16px 20px 20px}

/* Background port: Compact .nook keeps cover; later Spacious .landing-nook
   background shorthand resets size/repeat to auto/repeat at default top-left.
   Both paint under linear-gradient(#fffdf8dd,#fffdf8dd). Native image + wash reserve
   no flow geometry. Both remain hidden without enhancement or on load failure,
   preserving the exact authored paper/ink; explicit section colors stay opaque. */
.hn-presentation.hn-page-has-background{position:relative;isolation:isolate}
.hn-presentation.hn-page-has-background>.hn-page-main{position:relative;z-index:1}
.hn-presentation>.hn-page-background-layer{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.hn-presentation>.hn-page-background-layer>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:0% 0%}
.hn-page-spacious>.hn-page-background-layer>svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden}
.hn-presentation .hn-page-background-wash{position:absolute;inset:0;background-image:linear-gradient(#fffdf8dd,#fffdf8dd)}
.hn-presentation .hn-page-unavailable-label{display:block;font-weight:650;margin-bottom:8px}
.hn-presentation .hn-page-unavailable-alt{display:block}
.hn-presentation [data-hn-media-frame="cover"][data-hn-media-state="failed"] .hn-page-cover-caption{max-height:35%}
.hn-presentation :is(.hn-page-cover-fallback,.hn-page-cover-caption):focus-visible{outline:2px solid #53744e;outline-offset:-2px}
/* Source port: TrustUpdates announcement peek and letter. Detail colours remain
   deliberately readable independently of the owner's section colour. */
.hn-presentation .hn-announcement-compact{display:block;width:100%;text-align:left;color:inherit;font:inherit;background:none;border:0;padding:0;text-decoration:none;cursor:pointer}
.hn-presentation.hn-page-compact .hn-announcement-card{padding:13px}
.hn-presentation.hn-page-spacious .hn-announcement-card{background:#f5e8c9;border-color:#ddcba5}
.hn-presentation.hn-page-spacious .hn-announcement-card>h3{font-size:29px;margin-top:18px}
.hn-presentation.hn-page-spacious .hn-announcement-card>.hn-trust-overline{margin:0}
.hn-presentation .hn-announcement-date{display:flex;gap:7px;font-size:10px;margin-top:18px}
.hn-presentation .hn-announcement-intro{font-size:11px;line-height:1.9;margin-top:14px}
.hn-presentation .hn-announcement-sample{font-size:10px;margin-top:8px}
.hn-presentation .hn-announcement-heading{display:flex;align-items:center;gap:12px}
.hn-presentation .hn-announcement-heading .hn-page-link-icon{background:#f3e7bd;color:#665435}
.hn-presentation .hn-trust-announcement-peek{margin-top:14px;border-left:3px solid #b79a5e;padding:4px 0 2px 14px}
.hn-presentation .hn-trust-announcement-peek p{font-size:13px;line-height:1.7;margin:10px 0 2px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hn-presentation .hn-trust-announcement-peek small{display:block;font-size:10px;margin-top:8px}
.hn-presentation .hn-trust-date-pill{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:600}
.hn-presentation .hn-trust-overline{display:block;font-size:10px;letter-spacing:.16em;font-weight:700;margin-bottom:12px}
.hn-presentation .hn-trust-announcement{color:#29463a;text-align:left;overflow-wrap:anywhere;background:#fbf5e9;border:1px solid #e5dbc6;border-top:4px solid #af9262;border-radius:4px 4px 20px 20px;padding:30px}
.hn-presentation .hn-trust-announcement .hn-trust-overline{color:#80633f}
.hn-presentation .hn-trust-when{display:flex;align-items:center;gap:12px;border-block:1px solid #e3dbc9;padding:17px 0;margin:23px 0;color:#80633f}
.hn-presentation .hn-trust-when small{font-size:9px;letter-spacing:.13em;display:block;margin-bottom:5px}
.hn-presentation .hn-trust-when strong{font-size:13px;font-weight:600}
.hn-presentation .hn-trust-letter p{font-size:15px;line-height:1.85;margin:0 0 17px;white-space:pre-wrap}
.hn-presentation .hn-trust-signoff{font-family:Lora,Georgia,serif;font-size:15px;margin:24px 0}
.hn-presentation .hn-announcement-next{display:block;padding:12px 16px;border:1px solid #d4decb;border-radius:10px;background:#fffdf8;color:#29463a;text-decoration:none;font-size:13px;font-weight:600}
.hn-presentation .hn-trust-example{display:block;border-top:1px solid #e1e5d9;margin-top:14px;padding-top:12px;font-size:10px;line-height:1.6;color:#786947}
.hn-presentation .hn-trust-muted{font-size:12px;line-height:1.7;color:#687361}
@container hn-page (max-width:540px){.hn-presentation .hn-trust-announcement{padding:20px}}
/* Opening hours: SuitePanels HoursDetail and landing-hours source port. */
.hn-presentation .hn-hours-card>svg{margin-bottom:24px;opacity:.75}
.hn-presentation.hn-page-spacious .hn-hours-card>h3{margin-bottom:17px}
.hn-presentation .hn-hours-weekday{display:flex;justify-content:space-between;gap:12px;width:100%;font-size:10px;border-bottom:1px solid #cbd1c055;padding:7px 0}
.hn-presentation .hn-hours-weekday strong{text-align:right;overflow-wrap:anywhere}
.hn-presentation .hn-hours-card>small{font-size:9px;margin-top:12px}
.hn-presentation .hn-hours-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #e0e5d7;font-size:13px}
.hn-presentation .hn-hours-row>span{text-align:right;max-width:62%;line-height:1.8}
.hn-presentation .hn-hours-visitor>p{font-size:12px;line-height:1.8;margin:15px 0}
.hn-presentation .hn-hours-note{white-space:pre-wrap}
.hn-presentation .hn-hours-now{display:flex;align-items:center;gap:13px;padding:17px;background:#f0f4e8;color:#29463a;border-radius:10px;margin-bottom:18px}
.hn-presentation .hn-hours-now p{font-size:11px;color:#58654d;margin:7px 0}
.hn-presentation .hn-hours-dot{width:9px;height:9px;border-radius:50%;background:#a98b5e;flex-shrink:0}
.hn-presentation .hn-hours-dot.open{background:#578347}
.hn-presentation .hn-hours-special{margin-top:28px}
.hn-presentation .hn-hours-special h3{font:600 20px Lora,serif;margin-bottom:12px}
.hn-presentation .hn-hours-special>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #e3e7da;font-size:12px}
.hn-presentation .hn-hours-special span{text-align:right}
.hn-presentation .hn-hours-special small{display:block;font-size:10px;margin-top:6px}
/* Source port: crafted-experiences.css Booking, with isolated production names. */
.hn-page-compact .hn-booking-card{border-color:#a9bda1}
.hn-page-compact .hn-booking-card .hn-page-link-icon{background:#ede5f2;color:#8b6aa3}
.hn-presentation .hn-crafted-booking{background:#fffdf8;border:1px solid #dce3d4;border-radius:16px;overflow:hidden;color:#294c3b;padding:22px}
.hn-presentation .hn-crafted-booking h3{font:600 22px/1.35 Lora,serif;margin:0;overflow-wrap:anywhere}
.hn-presentation .hn-crafted-booking-banner{display:flex;align-items:center;gap:15px;margin-bottom:24px}
.hn-presentation .hn-crafted-booking-banner>span{display:grid;place-items:center;background:#eee8f3;color:#826b96;width:52px;height:52px;flex-shrink:0;border-radius:14px}
.hn-presentation .hn-crafted-booking-banner small{display:block;font-size:9px;letter-spacing:.12em;color:#7a896d;margin-bottom:6px}
.hn-presentation .hn-crafted-booking-note{padding:18px;background:#f0f3e9;border-radius:10px}
.hn-presentation .hn-crafted-booking-note>span{font-size:11px;font-weight:700;color:#738165}
.hn-presentation .hn-crafted-booking-note p{font-size:14px;line-height:1.75;margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.hn-presentation .hn-crafted-provider{display:flex;gap:10px;margin:22px 0 0}
.hn-presentation .hn-crafted-provider svg{flex-shrink:0;margin-top:3px}
.hn-presentation .hn-crafted-provider strong{font-size:13px}
.hn-presentation .hn-crafted-provider p{font-size:12px;line-height:1.7;color:#76836c;margin:5px 0}
.hn-presentation .hn-crafted-action{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;margin-top:20px;background:#2d503b;color:#fffdf8;border-radius:10px;text-decoration:none;font:600 13px/1.5 'DM Sans',sans-serif;min-height:44px;box-sizing:border-box;overflow-wrap:anywhere}
.hn-presentation .hn-crafted-action:hover{background:#3d654a}
.hn-presentation .hn-crafted-action:focus-visible{outline:3px solid #8ba971;outline-offset:3px}
.hn-presentation .hn-crafted-footnote{display:block;font-size:11px;line-height:1.7;color:#77836c;margin:10px 0 0}
@container hn-page (max-width:480px){.hn-presentation .hn-crafted-booking{padding:17px}.hn-presentation .hn-crafted-booking h3{font-size:19px}}
/* Source: NookCanvas service-peek, LandingCanvas landing-services, visitor-services. */
.hn-presentation .hn-services-compact{display:block;width:100%;text-align:left}
.hn-presentation.hn-page-compact .hn-services-compact{padding:13px}
.hn-presentation .hn-services-heading{display:flex;align-items:center;gap:9px}
.hn-presentation .hn-services-heading>span:last-child{flex:1;min-width:0}
.hn-page-compact .hn-services-card .hn-page-link-icon{background:#e5eddb;color:#577947}
.hn-page-compact .hn-services-card .hn-page-description{display:block;font-size:9px;line-height:1.7;margin-top:3px}
.hn-presentation .hn-services-peek{display:block;border-top:1px solid #e5e8df;margin-top:12px;padding-top:7px}
.hn-presentation .hn-services-peek>span{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:9px;padding:4px 0}
.hn-presentation .hn-services-peek b{font-size:9px;font-weight:500;white-space:nowrap;margin-left:auto}
.hn-presentation.hn-page-spacious .hn-services-card{grid-column:1/-1;display:block;border:0;padding:0;background:none;color:inherit}
.hn-presentation .hn-services-intro{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:16px}
.hn-presentation .hn-services-intro h3{font-size:17px}
.hn-presentation .hn-services-intro>button{font-size:10px}
.hn-presentation .hn-services-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.hn-presentation .hn-services-columns-1{grid-template-columns:minmax(0,1fr)}
.hn-presentation .hn-services-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.hn-presentation .hn-service-card{display:flex;flex-direction:column;min-width:0;border:1px solid #c4cbb7;background:var(--hn-card-surface);color:var(--hn-card-ink);padding:22px;border-radius:6px}
.hn-presentation .hn-service-index{display:flex;justify-content:space-between;font-size:9px;opacity:.7;margin-bottom:34px}
.hn-presentation .hn-service-card h4{font:500 25px/1.15 var(--hn-display);letter-spacing:-.025em;margin:0;overflow-wrap:anywhere}
.hn-presentation .hn-service-card p{font-size:11px;line-height:1.85;opacity:var(--hn-card-description-opacity);margin:15px 0 22px;flex:1;white-space:pre-line}
.hn-presentation .hn-service-facts{border-top:1px solid #c4cbb780;padding-top:15px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:11px}
.hn-presentation .hn-service-facts small{display:flex;gap:5px;align-items:center;font-size:9px;opacity:.7;margin-left:auto}
.hn-presentation .hn-service-card>:is(a,button){display:flex;align-items:center;justify-content:space-between;border-top:1px solid #c4cbb780;margin-top:15px;padding-top:15px;font-size:10px;text-align:left}
.hn-presentation .hn-service-detail{border:1px solid #dce4d2;border-radius:12px;padding:19px;margin-bottom:14px;color:#294c3b;background:#fffdf8}
.hn-presentation .hn-service-detail-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:9px}
.hn-presentation .hn-service-detail h3{font:600 20px Lora,serif}
.hn-presentation .hn-service-detail b{font-size:12px;white-space:nowrap}
.hn-presentation .hn-service-detail p{font-size:13px;color:#77856d;line-height:1.7;margin:14px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.hn-presentation .hn-service-detail small{display:flex;align-items:center;gap:6px;font-size:11px;color:#829371}
.hn-presentation .hn-service-price-note{border-left:2px solid #bdcba9;padding-left:11px}
.hn-presentation .hn-service-detail .hn-booking-expectation{font-size:11px;line-height:1.7;color:#62765b;margin-top:10px}
.hn-presentation .hn-crafted-expectation{font-size:12px;line-height:1.7;color:#7a775f;margin:14px 0}
@container hn-page (max-width:849px){.hn-presentation .hn-services-columns-auto,.hn-presentation .hn-services-columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container hn-page (max-width:539px){.hn-presentation .hn-services-grid{grid-template-columns:minmax(0,1fr)}.hn-presentation .hn-service-index{margin-bottom:23px}.hn-presentation .hn-service-card h4{font-size:27px}.hn-presentation .hn-service-card p{font-size:12px}}
/* Source ContactCards: only local icons and real external channel destinations. */
.hn-presentation.hn-page-spacious :is(.hn-contact-card,.hn-booking-card)>svg{margin-bottom:24px;opacity:.75}
.hn-presentation .hn-contact-actions{display:grid;gap:12px;text-align:left}
.hn-presentation .hn-contact-intro{margin:0 0 8px;font-size:14px;line-height:1.6;color:inherit;white-space:pre-wrap}
.hn-presentation .hn-contact-actions .hn-contact-action{display:flex;align-items:center;gap:14px;width:100%;box-sizing:border-box;padding:18px;border:1px solid #dce3d4;border-radius:14px;background:#fffdf8;color:#294c3b;text-decoration:none;text-align:left;font:inherit;transition:background .15s,border-color .15s,box-shadow .15s;cursor:pointer}
.hn-presentation .hn-contact-actions .hn-contact-action:hover{background:#f2f5ec;border-color:#9aaf8e;box-shadow:0 3px 12px #294c3b09}
.hn-presentation .hn-contact-actions .hn-contact-action:focus-visible{outline:3px solid #426b50;outline-offset:3px}
.hn-presentation .hn-contact-channel-icon{width:42px;height:42px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;background:#e9eee1;color:#4f7251}
.hn-presentation .hn-contact-channel-icon.whatsapp{background:#e3f1e6;color:#28774b}
.hn-presentation .hn-contact-channel-icon.email{background:#ece9f3;color:#77618f}
.hn-presentation .hn-contact-channel-copy{min-width:0;flex:1;display:grid;gap:5px}
.hn-presentation .hn-contact-channel-copy strong{font:600 14px/1.4 'DM Sans',sans-serif}
.hn-presentation .hn-contact-address{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.hn-presentation .hn-contact-channel-copy small{font-size:11px;line-height:1.5;color:#74806c;overflow-wrap:anywhere;white-space:pre-wrap}
.hn-presentation .hn-contact-actions .hn-contact-action.unavailable{cursor:default;background:#f5f3ee}
.hn-presentation .hn-contact-channel-copy .hn-contact-invalid{color:#a54b39}
.hn-presentation .hn-contact-empty{padding:20px;border:1px dashed #dce3d4;border-radius:12px;font-size:13px}
.hn-presentation.hn-page-compact .hn-contact-card{padding:16px}
/* Follows the Nook's type style like every other Compact card heading. */
.hn-presentation .hn-contact-card .hn-contact-title{display:block;border:0;background:none;color:inherit;text-align:left;font:inherit;font-size:16px;line-height:1.4;font-weight:600;padding:0 0 12px;cursor:pointer}
.hn-presentation.hn-page-compact .hn-contact-card>.hn-contact-actions .hn-contact-action{padding:12px;gap:10px}
.hn-presentation.hn-page-compact .hn-contact-card>.hn-contact-actions .hn-contact-channel-icon{width:34px;height:34px}
.hn-presentation .hn-contact-dialog .hn-contact-intro{color:#617264}
.hn-presentation .hn-contact-quick{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 22px}
.hn-presentation .hn-contact-quick .hn-contact-quick-action{display:inline-flex;align-items:center;gap:8px;min-height:44px;box-sizing:border-box;padding:6px 16px 6px 6px;border:1px solid #dce3d4;border-radius:999px;background:#fffdf8;color:#294c3b;font:600 14px/1.2 'DM Sans',sans-serif;text-decoration:none;cursor:pointer}
.hn-presentation .hn-contact-quick .hn-contact-quick-action:hover{background:#f2f5ec;border-color:#9aaf8e}
.hn-presentation .hn-contact-quick .hn-contact-quick-action:focus-visible{outline:3px solid #426b50;outline-offset:3px}
.hn-presentation .hn-contact-quick-icon{width:32px;height:32px;flex-shrink:0;border-radius:999px;display:grid;place-items:center;background:#e9eee1;color:#4f7251}
.hn-presentation .hn-contact-quick-icon.whatsapp{background:#e3f1e6;color:#28774b}
.hn-presentation .hn-contact-quick-icon.email{background:#ece9f3;color:#77618f}
@container hn-page (max-width:420px){.hn-presentation .hn-contact-quick .hn-contact-quick-action{flex:1 1 calc(50% - 4px);justify-content:flex-start}}
/* Source Location shop branch; artwork is labelled illustration, never a map. */
.hn-page-compact .hn-location-card .hn-page-link-icon{background:#f4eed5;color:#97834e}
.hn-presentation.hn-page-spacious .hn-location-card{background:var(--hn-location-tone);color:#294c3b}
.hn-presentation.hn-page-spacious .hn-location-card>svg{margin-bottom:24px;opacity:.75}
.hn-presentation.hn-page-spacious .hn-location-card>.hn-page-description{opacity:1;margin-bottom:0}
.hn-presentation .hn-location-art{height:90px;width:100%;position:relative;overflow:hidden;display:grid;place-items:center;margin:20px 0 7px}
.hn-presentation .hn-location-art>span{position:absolute;inset:20px -20px;border:1px solid #90a67f;border-radius:50%;transform:rotate(-25deg)}
.hn-presentation .hn-location-art>span:nth-child(2){inset:5px 10px;transform:rotate(25deg)}
.hn-presentation .hn-location-art>span:nth-child(3){inset:35px -50px;transform:rotate(12deg)}
.hn-presentation .hn-location-art>svg{position:relative;background:var(--hn-location-tone);z-index:1}
.hn-presentation .hn-location-card>small{font-size:8px;opacity:.7}
.hn-presentation.hn-page-spacious .hn-location-card>.hn-page-text-action{margin-top:24px;padding-top:17px}
.hn-presentation .hn-location-detail{color:#294c3b}
.hn-presentation .hn-location-detail>p{white-space:pre-wrap;font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.hn-presentation .hn-location-illustration{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;border-radius:12px;background:#eef1df;color:#617447;padding:35px;font-family:Lora,serif;font-size:20px;margin-bottom:25px}
/* LocationExperience basic area selector and CoverageResult; no map/geocoding. */
.hn-presentation .hn-location-areas>label{display:block;font:600 12px/1.6 "DM Sans",sans-serif;margin:14px 0 6px}
.hn-presentation .hn-location-areas>select{display:block;width:100%;max-width:100%;min-height:44px;padding:10px 12px;border:1px solid #ccd7c1;border-radius:9px;background:#fffef9;color:#294c3b;font:400 13px/1.5 "DM Sans",sans-serif}
.hn-presentation .hn-location-area-note{font:400 11px/1.7 "DM Sans",sans-serif;color:#65765b}
.hn-presentation .hn-location-choice{font-size:12px;margin:12px 0;overflow-wrap:anywhere}.hn-presentation .hn-location-choice:empty{display:none}
.hn-presentation .hn-location-result{background:#edf3e7;border:1px solid #ccdaba;padding:13px;border-radius:10px;margin-top:12px;overflow-wrap:anywhere}
.hn-presentation [data-hn-location-result][hidden]{display:none!important}.hn-presentation .hn-location-result strong{font-size:12px}.hn-presentation .hn-location-result p{font-size:11px;line-height:1.7;margin:5px 0;white-space:pre-wrap}
.hn-presentation .hn-location-result.hn-location-uncertain{background:#faf2e6;border-color:#e2d4b9}
.hn-presentation .hn-location-next{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:11px 15px;margin-top:12px;border-radius:9px;background:#294c3b;color:#fffef9;text-decoration:none;font:600 12px/1.5 "DM Sans",sans-serif;white-space:normal;text-align:center;box-sizing:border-box}
.hn-presentation .hn-location-next.hn-location-next-neutral{background:#fffef9;color:#294c3b;border:1px solid #cbd6bf}
.hn-location-directions{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;background:#fffdf8;color:#203b31;border:1px solid #d8ddcf;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:650;text-decoration:none}
.hn-media-compact{display:block;width:100%;padding:0;background:transparent;border:0;text-align:left;color:inherit;text-decoration:none;font:inherit;cursor:pointer}
.hn-presentation.hn-page-compact .hn-media-compact{padding:13px}
.hn-media-heading{display:flex;align-items:center;gap:9px}.hn-media-heading>span:last-child{min-width:0}
.hn-linked-video .hn-page-link-icon{background:#ede5f2;color:#8b6aa3}.hn-linked-audio .hn-page-link-icon{background:#f4e5d7;color:#aa7854}
.hn-media-peek{position:relative;display:block;margin-top:14px;border-radius:7px;overflow:hidden;min-height:65px;background:#e8eedd}
.hn-media-peek>.hn-media-peek-label{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:8px;color:#fffdf8;background:#243c32e0;border-radius:20px;padding:7px 11px;font-size:10px}
.hn-page-spacious .hn-linked-media-card>svg{display:block;margin-bottom:24px;opacity:.75}
.hn-linked-media-detail>p{font-size:13px;line-height:1.8;color:#65775d;margin:12px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.hn-media-original{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;min-height:39px;margin-top:12px;background:#fffdf8;color:#203b31;border:1px solid #d8ddcf;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:650;text-decoration:none}
.hn-media-transcript{margin-top:22px;border-top:1px solid #dbe2d1;padding-top:16px}.hn-media-transcript summary{cursor:pointer;font-size:12px;font-weight:650}.hn-media-transcript p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.9;color:#203b31}
@container hn-page (max-width:650px){.hn-media-heading{gap:7px}}
.hn-products-compact{display:block;width:100%;background:transparent;border:0;text-align:left;color:inherit;text-decoration:none;font:inherit;cursor:pointer}
.hn-presentation.hn-page-compact .hn-products-compact{padding:13px}
.hn-products-heading{display:flex;align-items:center;gap:9px}.hn-products-heading>span:last-child{min-width:0}
.hn-products-peek{display:grid;gap:10px;margin-top:17px}.hn-products-peek>span{display:flex;align-items:center;gap:10px;font-size:11px;min-width:0}.hn-products-peek small{display:block;font-size:9px;margin-top:5px;opacity:.75}
.hn-products-card .hn-page-link-icon{background:#f4e5df;color:#a2705c}
.hn-page-spacious .hn-products-card>svg{display:block;margin-bottom:24px;opacity:.75}.hn-presentation .hn-products-utility-item{display:flex;align-items:center;width:100%;gap:8px;font-size:11px;line-height:1.9;opacity:var(--hn-card-description-opacity,.8);margin-top:14px}.hn-presentation .hn-products-utility-item:last-of-type{margin-bottom:22px}
.hn-crafted-products{display:grid;gap:20px}.hn-crafted-product{background:#fffdf8;border:1px solid #dce3d4;border-radius:16px;overflow:hidden;color:#294c3b}
.hn-crafted-product-mark{display:flex;gap:10px;align-items:center;padding:18px 22px;background:#eef1e7;color:#708360;font-size:12px}
.hn-crafted-product-body{padding:22px}.hn-crafted-product-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.hn-presentation .hn-products-dialog .hn-crafted-product h3{font:600 22px/1.35 Lora,serif;margin:0;overflow-wrap:anywhere}.hn-crafted-price{font-size:14px;line-height:1.5;font-weight:600}
.hn-crafted-availability{display:inline-flex;align-items:center;gap:6px;margin:12px 0 6px;font-size:11px;color:#4c754e}.hn-crafted-availability i{height:6px;width:6px;border-radius:50%;background:currentColor}.hn-crafted-availability.unavailable{color:#93684d}.hn-crafted-availability.enquire{color:#827447}
.hn-crafted-detail{margin:16px 0}.hn-crafted-detail>span{font-size:11px;font-weight:700;color:#738165}.hn-crafted-detail p{font-size:14px;line-height:1.75;margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.hn-crafted-products .hn-crafted-action.disabled{background:#eceee7;color:#77826d}.hn-crafted-empty{padding:24px;border:1px dashed #dce3d4;border-radius:14px;font-size:13px;color:#76836c}
@container hn-page (max-width:650px){.hn-products-heading{gap:7px}}
@container hn-page (max-width:480px){.hn-crafted-product-body{padding:17px}.hn-presentation .hn-products-dialog .hn-crafted-product h3{font-size:19px}}
.hn-recommendations-card .hn-page-link-icon{background:#ede5f2;color:#8b6aa3}.hn-presentation .hn-recommendations-card .hn-page-compact-destination{gap:9px}
.hn-page-spacious .hn-recommendations-card>svg{display:block;margin-bottom:24px;opacity:.75}.hn-presentation .hn-recommendations-utility-item{display:flex;align-items:center;width:100%;gap:8px;font-size:11px;line-height:1.9;opacity:var(--hn-card-description-opacity,.8);margin-top:14px}.hn-presentation .hn-recommendations-utility-item:last-of-type{margin-bottom:22px}
.hn-crafted-recommendations{display:grid;gap:20px}.hn-crafted-recommendation{background:#fffdf8;border:1px solid #dce3d4;border-radius:16px;overflow:hidden;color:#294c3b;padding:22px}
.hn-crafted-recommendation-heading{display:flex;align-items:center;gap:16px}.hn-crafted-recommendation-heading>div{min-width:0}
.hn-presentation .hn-recommendations-dialog .hn-crafted-recommendation h3{font:600 22px/1.35 Lora,serif;margin:0;overflow-wrap:anywhere}
.hn-crafted-heart{display:grid;place-items:center;background:#f3e9e0;color:#a4775c;min-width:46px;height:46px;border-radius:12px}
.hn-crafted-eyebrow{display:block;font-size:9px;letter-spacing:.12em;color:#82916d;margin-bottom:7px}
.hn-crafted-reason{padding:18px 0 0;margin-top:18px;border-top:1px solid #e2e6d9}.hn-crafted-reason>span{font-size:11px;font-weight:700;color:#738165}.hn-presentation .hn-crafted-reason p{font-size:14px;line-height:1.75;margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.hn-crafted-disclosure{display:flex;gap:9px;background:#f5f1e7;border-radius:9px;padding:12px;margin-top:18px;color:#766c4d}.hn-crafted-disclosure svg{flex-shrink:0;margin-top:2px}.hn-crafted-disclosure strong{font-size:11px}.hn-presentation .hn-crafted-disclosure p{font-size:11px;line-height:1.6;margin:4px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}
.hn-crafted-recommendations .hn-crafted-action.disabled{background:#eceee7;color:#77826d}
@container hn-page (max-width:650px){.hn-presentation .hn-recommendations-card .hn-page-compact-destination{gap:7px}}
@container hn-page (max-width:480px){.hn-crafted-recommendation{padding:17px}.hn-presentation .hn-recommendations-dialog .hn-crafted-recommendation h3{font-size:19px}}
/* Source CraftedExperiences photo branches, with real ready derivatives and failure states. */
.hn-content-photo{display:block;position:relative;overflow:hidden;min-width:0}
.hn-content-photo>img{display:block;width:100%;height:100%;object-fit:cover}
.hn-content-photo>[hidden]{display:none!important}
.hn-content-photo-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;min-height:64px;background:#edf0e6;color:#52674b;font:12px/1.5 var(--hn-body-font,sans-serif);padding:12px;box-sizing:border-box;overflow-wrap:anywhere}
.hn-crafted-product-art{background:#f0f1e9;padding:20px}.hn-crafted-product-art .hn-content-photo{height:210px}.hn-crafted-product-art .hn-content-photo>img{object-fit:contain}
.hn-recommendation-photo{width:84px;height:84px;flex-shrink:0;background:#f1f0e8;border-radius:12px}.hn-recommendation-photo>img{object-fit:contain}
.hn-product-peek-photo{width:45px;height:45px;flex-shrink:0;border-radius:6px}.hn-product-peek-photo .hn-content-photo-fallback{min-height:0;padding:4px}.hn-product-peek-photo .hn-content-photo-fallback>span{display:none}
.hn-recommendations-peek{display:flex;gap:9px;margin-top:12px}.hn-recommendations-peek:empty{display:none}.hn-recommendations-peek>.hn-content-photo{width:calc(50% - 5px);height:85px;border-radius:6px;background:#f4f2eb}.hn-recommendations-peek img{object-fit:contain}
.hn-presentation .hn-recommendations-card .hn-page-compact-destination{display:block}.hn-recommendations-heading{display:flex;gap:9px;align-items:center}.hn-recommendations-heading>span:last-child{min-width:0}
/* Link photo (optional). Compact: a square thumbnail where the link icon sits. Spacious: a wide banner on top of the card;
   a card alone on its row puts the banner in the left column, above the title. No photo: the icon card is unchanged. */
.hn-page-compact .hn-page-link-thumb{width:48px;height:48px;flex-shrink:0;border-radius:8px;background:#eef1e8}
.hn-page-compact .hn-page-link-thumb .hn-content-photo-fallback{min-height:0;padding:4px}.hn-page-compact .hn-page-link-thumb .hn-content-photo-fallback>span{display:none}
.hn-page-spacious .hn-page-link-banner{width:100%;aspect-ratio:16/9;max-height:240px;border-radius:7px;margin-bottom:20px;flex-shrink:0;background:color-mix(in srgb,currentColor 8%,transparent)}
@container hn-page (max-width:539px){.hn-page-spacious .hn-page-link-photo{padding-top:16px}.hn-page-spacious .hn-page-link-banner{margin-bottom:18px}}
@container hn-page (min-width:850px){.hn-page-spacious .hn-wide3>.hn-page-card>.hn-page-link-banner{float:left;clear:left;width:32%;margin:0 0 18px}}
@container hn-page (min-width:540px) and (max-width:849px){.hn-page-spacious .hn-wide2>.hn-page-card>.hn-page-link-banner{float:left;clear:left;width:32%;margin:0 0 18px}}
/* Card photo (optional) on Information cards and Links, in the owner's style. hn-card-photo-banner: a wide photo on top
   (a Link's banner keeps its own rules above). hn-card-photo-side: a small square on the right of the heading.
   hn-photo-style-background: the photo fills the card under a dark wash; text turns light. No photo: the card is unchanged. */
.hn-presentation .hn-card-photo-banner{width:100%;aspect-ratio:16/9;max-height:240px;border-radius:7px;margin-bottom:20px;flex-shrink:0;background:color-mix(in srgb,currentColor 8%,transparent)}
.hn-page-compact .hn-card-photo-banner{aspect-ratio:21/9;max-height:160px;margin-bottom:14px}
.hn-page-compact .hn-info-card>.hn-card-photo-banner{margin:-1px 0 14px}
.hn-presentation .hn-card-photo-side{width:96px;height:96px;flex:0 0 auto;border-radius:9px;background:color-mix(in srgb,currentColor 8%,transparent)}
.hn-presentation span.hn-card-photo-side{flex:0 0 auto}
.hn-page-compact .hn-card-photo-side{width:56px;height:56px;border-radius:8px}
.hn-presentation .hn-card-photo-side .hn-content-photo-fallback{min-height:0;padding:4px}.hn-presentation .hn-card-photo-side .hn-content-photo-fallback>span{display:none}
.hn-presentation .hn-card-side-heading{display:flex;align-items:flex-start;gap:16px;width:100%;margin-bottom:14px}
.hn-presentation .hn-card-side-heading>:is(h3,.hn-page-card-copy){flex:1;min-width:0;margin-top:0}.hn-page-spacious .hn-card-side-heading>.hn-page-card-copy{display:block}
.hn-page-compact .hn-card-photo-side.hn-card-photo-side{margin-left:auto}
.hn-page-compact .hn-page-card .hn-page-compact-destination>.hn-page-card-copy{flex:1;min-width:0}
@container hn-page (max-width:539px){.hn-page-spacious .hn-card-photo-side{width:76px;height:76px}.hn-page-spacious .hn-card-photo-banner{margin-bottom:18px}}
@container hn-page (min-width:850px){.hn-page-spacious .hn-wide3>.hn-page-card>.hn-card-photo-banner{float:left;clear:left;width:32%;margin:0 0 18px}.hn-page-spacious .hn-wide3>.hn-page-card>.hn-card-side-heading{float:left;clear:left;width:32%;margin:0 0 14px;flex-direction:column}}
@container hn-page (min-width:540px) and (max-width:849px){.hn-page-spacious .hn-wide2>.hn-page-card>.hn-card-photo-banner{float:left;clear:left;width:32%;margin:0 0 18px}.hn-page-spacious .hn-wide2>.hn-page-card>.hn-card-side-heading{float:left;clear:left;width:32%;margin:0 0 14px;flex-direction:column}}
.hn-presentation .hn-page-card.hn-photo-style-background{position:relative;overflow:hidden;isolation:isolate;color:#fff;--hn-card-authored-ink:#fff;--hn-card-description-opacity:.92;background:#1d241f;border-color:transparent}
.hn-presentation .hn-page-card>.hn-card-backdrop{position:absolute;inset:0;z-index:-2;width:auto;height:auto;margin:0!important;float:none!important;border-radius:inherit}
.hn-presentation .hn-page-card.hn-photo-style-background::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(18,24,20,.6) 0%,rgba(18,24,20,.78) 50%,rgba(18,24,20,.88) 100%)}
.hn-presentation .hn-photo-style-background :is(h3,h4,p,summary,small,.hn-page-description,.hn-entry-title,.hn-entry-teaser,.hn-more-label,.hn-more-less,.hn-page-text-action,.hn-page-compact-destination,.hn-inplace-head){color:#fff}
.hn-presentation .hn-photo-style-background :is(.hn-entry,.hn-more,details,summary,.hn-inplace-list){border-color:rgba(255,255,255,.3)}
.hn-presentation .hn-photo-style-background .hn-more[data-hn-primary]>summary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4)}
.hn-presentation .hn-photo-style-background .hn-page-link-icon{background:rgba(255,255,255,.16);color:#fff}
.hn-presentation .hn-photo-style-background .hn-info-step-number{background:rgba(255,255,255,.2);color:#fff}
.hn-presentation .hn-photo-style-background .hn-entry[open]{background:transparent}
.hn-presentation .hn-photo-style-background .hn-content-photo-fallback{display:none!important}
/* Section photo (optional): a wide banner under the section heading, before its cards. */
.hn-presentation .hn-page-section-photo{width:100%;aspect-ratio:21/9;max-height:340px;margin-top:18px;border-radius:12px;background:color-mix(in srgb,currentColor 8%,transparent)}
.hn-page-compact .hn-page-section-photo{aspect-ratio:2/1;max-height:220px;margin:4px 0 14px;border-radius:10px}
@container hn-page (max-width:539px){.hn-page-spacious .hn-page-section-photo{aspect-ratio:16/9;margin-top:14px}}
/* Service thumbnail (optional), like a product's: beside the name in Compact rows, on top of the Spacious service card. */
.hn-presentation .hn-service-row-name.hn-service-row-photo{display:flex;align-items:center;gap:12px}
.hn-presentation .hn-service-thumb{width:44px;height:44px;flex-shrink:0;border-radius:7px;background:color-mix(in srgb,currentColor 8%,transparent)}
.hn-presentation .hn-service-entry:has(.hn-service-row-photo) .hn-entry-summary{align-items:center}
.hn-presentation .hn-service-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:22px}
.hn-presentation .hn-service-card-top>.hn-service-index{margin:0}
.hn-presentation .hn-service-card-thumb{width:72px;height:72px;flex-shrink:0;border-radius:10px;background:color-mix(in srgb,currentColor 8%,transparent)}
.hn-presentation :is(.hn-service-thumb,.hn-service-card-thumb) .hn-content-photo-fallback{min-height:0;padding:4px}.hn-presentation :is(.hn-service-thumb,.hn-service-card-thumb) .hn-content-photo-fallback>span{display:none}
.hn-media-peek>.hn-media-peek-label{max-width:calc(100% - 20px);flex-wrap:wrap}
.hn-media-peek>.hn-content-photo>img{height:auto;max-height:360px;object-fit:contain;background:#eef0e8}.hn-media-detail-photo{border-radius:10px;margin-bottom:18px;background:#f0f1e9}.hn-media-detail-photo>img{height:auto;max-height:440px;object-fit:contain}
@container hn-page (max-width:650px){.hn-media-detail-photo>img{max-height:340px}}
@container hn-page (max-width:480px){.hn-crafted-product-art .hn-content-photo{height:170px}.hn-recommendation-photo{width:64px;height:64px}}
/* Native Gallery: original Compact strip, Spacious split panel, grid and lightbox. */
.hn-presentation.hn-page-compact .hn-gallery-compact{display:block;width:100%;padding:13px;text-align:left;color:inherit;text-decoration:none;border:0;background:transparent;font:inherit}
.hn-gallery-heading{display:flex;gap:9px;align-items:center}.hn-gallery-heading>span:last-child{min-width:0}.hn-gallery-heading .hn-page-link-icon{background:#e6eedd;color:#62814e}
/* Real external media player: no third-party resource exists before visitor consent. */
.hn-presentation.hn-presentation .hn-media-load,.hn-presentation.hn-presentation .hn-media-stop{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid #cbd6bf;border-radius:9px;background:#edf2e5;color:#294c3b;font:600 12px/1.5 "DM Sans",sans-serif;margin:12px 0;white-space:normal;text-align:center}
.hn-media-embed>[hidden]{display:none!important}.hn-media-player-slot:empty,.hn-media-player-status:empty{display:none}.hn-media-player-slot{width:100%;min-width:0;margin-top:16px}.hn-media-player-slot iframe{display:block;border:0;width:100%;max-width:100%;border-radius:10px;background:#f0f1ec}.hn-media-embed-video iframe{aspect-ratio:16/9;height:auto;min-height:200px}.hn-media-embed-audio iframe{height:352px}.hn-presentation .hn-media-player-status{font-size:11px;line-height:1.7;color:#61745b;overflow-wrap:anywhere}
/* Source SocialLinks and bundled BrandMark, with owned logo derivatives only. */
.hn-social-brand{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle;color:#202124;line-height:1}.hn-social-brand>span,.hn-social-brand svg,.hn-social-brand img{display:block;width:100%;height:100%;object-fit:contain}.hn-social-brand>span>svg{fill:currentColor}.hn-social-brand>[hidden]{display:none}
.hn-social-links{margin:20px auto;text-align:center;color:var(--hn-ink);min-width:0}.hn-social-links nav{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.hn-presentation .hn-social-links nav>a,.hn-presentation .hn-social-links nav>button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:10px;border:1px solid color-mix(in srgb,var(--hn-ink) 22%,transparent);border-radius:50%;color:inherit;background:color-mix(in srgb,var(--hn-lift,#fffdf8) 40%,transparent);transition:background .15s,transform .15s;text-decoration:none;font:inherit;max-width:100%;overflow-wrap:anywhere}
.hn-social-links nav>a:hover,.hn-social-links nav>button:hover{background:#fffdf8;transform:translateY(-2px)}.hn-social-links nav>a:focus-visible,.hn-social-links nav>button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.hn-presentation .hn-social-links nav>.hn-social-add{border-radius:8px;font-size:12px}.hn-presentation .hn-social-links nav>.hn-social-named{border-radius:12px}.hn-social-links-spacious{margin:28px 0 0;text-align:left}.hn-social-links-spacious nav{justify-content:flex-start}.hn-social-selected{outline:2px solid #86a266;outline-offset:5px;border-radius:10px}
@media(prefers-reduced-motion:reduce){.hn-social-links nav>a,.hn-social-links nav>button{transition:none}.hn-social-links nav>a:hover,.hn-social-links nav>button:hover{transform:none}}
/* DocumentExperience source: real authored text reader and local TXT downloads. */
.hn-presentation.hn-page-compact .hn-documents-compact{display:block;width:100%;padding:13px;text-align:left;color:inherit;text-decoration:none;border:0;background:transparent;font:inherit}
.hn-documents-heading{display:flex;gap:9px;align-items:center}.hn-documents-heading>span:last-child{min-width:0}.hn-documents-heading .hn-page-link-icon{background:#f7eed7;color:#9b7741}
.hn-documents-peek{display:grid;margin-top:12px;padding-top:7px;border-top:1px solid #dce3d4;font-size:9px}.hn-documents-peek>span{padding:4px 0}.hn-documents-peek>span,.hn-documents-utility-item{display:flex;gap:6px;align-items:baseline;justify-content:space-between;overflow-wrap:anywhere}.hn-documents-peek small,.hn-documents-utility-item small{font-size:9px;opacity:.7;flex-shrink:0}
.hn-page-spacious .hn-documents-card>svg{margin-bottom:24px;opacity:.65}.hn-presentation.hn-page-spacious .hn-documents-utility-item{width:100%;font-size:11px;line-height:1.9;margin-top:14px}.hn-presentation.hn-page-spacious .hn-documents-utility-item:last-of-type{margin-bottom:22px}
.hn-presentation .hn-document-collection-note{margin:0 0 18px;color:#687763;font-size:13px;line-height:1.6}.hn-document-list{display:grid;gap:12px}
.hn-presentation .hn-document-file-card{display:flex;align-items:flex-start;gap:16px;width:100%;padding:18px;border:1px solid #dce3d4;border-radius:14px;background:#fffdf8;color:#294c3b;text-align:left;font:inherit;text-decoration:none;box-sizing:border-box}.hn-document-file-card:hover{background:#f2f5ed;border-color:#9aae8c}
.hn-document-file-icon{width:46px;min-height:58px;flex-shrink:0;border-radius:10px;background:#eaf0e1;color:#577746;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.hn-document-file-icon small{font:700 8px/1.2 "DM Sans",sans-serif;letter-spacing:.04em}
.hn-document-file-copy{display:grid;gap:6px;min-width:0;flex:1}.hn-document-file-copy strong{font:600 15px/1.45 "DM Sans",sans-serif;overflow-wrap:anywhere}.hn-document-file-meta{font-size:11px;color:#7b8672}.hn-document-file-purpose{font-size:12px;line-height:1.6;color:#63735e;overflow-wrap:anywhere}.hn-document-file-action{display:flex;gap:6px;align-items:center;font-size:11px;font-weight:600;margin-top:5px;color:#426b50}
.hn-document-empty{padding:25px;display:grid;justify-items:center;gap:12px;text-align:center;border:1px dashed #dce3d4;border-radius:14px;color:#63735e}
.hn-document-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.hn-document-toolbar>span{font-size:11px;color:#76816b}
.hn-presentation .hn-document-toolbar>a{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:#426b50;padding:6px 0;font:650 12px/1.5 "DM Sans",sans-serif;text-decoration:none}
.hn-presentation .hn-document-footer>button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d8dfcf;border-radius:9px;background:#fffdf8;color:#294c3b;padding:10px 14px;font:600 12px/1.5 "DM Sans",sans-serif;text-decoration:none;white-space:normal}
.hn-document-footer>button:disabled{opacity:.55;cursor:not-allowed}.hn-document-file-card:focus-visible,.hn-document-toolbar>a:focus-visible,.hn-document-footer>button:focus-visible{outline:3px solid #426b50;outline-offset:3px}
.hn-document-paper{padding:28px;border:1px solid #e0e4d9;border-radius:8px;background:#fff;color:#3e5144;box-shadow:0 6px 20px #294c3b06}.hn-document-eyebrow{font-size:10px;letter-spacing:.1em;color:#63735e}.hn-presentation .hn-document-paper h3{font:600 23px/1.35 Lora,Georgia,serif;margin:16px 0;color:#294c3b}.hn-presentation .hn-document-purpose{font-size:13px;line-height:1.6;color:#6f7c65;padding-bottom:18px;border-bottom:1px solid #e4e8dc;overflow-wrap:anywhere}.hn-document-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.85;color:#3e5144}
.hn-document-footer{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:20px;flex-wrap:wrap}.hn-presentation .hn-document-footer>p{font-size:11px;line-height:1.6;color:#77836f;flex:1;min-width:150px}.hn-document-download-status:empty{display:none}.hn-presentation .hn-document-download-status:not(:empty){padding:14px 16px;border-radius:10px;background:#edf1e5;color:#536a48;font-size:12px;line-height:1.6;margin-top:16px}
.hn-presentation .hn-document-pdf{display:block;width:100%;height:min(68vh,720px);min-height:320px;border:1px solid #dce3d4;border-radius:10px;background:#fff}
.hn-presentation .hn-document-footer>a{display:inline-flex;align-items:center;gap:8px;padding:11px 15px;border:1px solid #d8dfcf;border-radius:9px;background:#fffdf8;color:#294c3b;text-decoration:none;font:600 12px/1.5 "DM Sans",sans-serif}
.hn-presentation .hn-document-footer>a:focus-visible{outline:3px solid #426b50;outline-offset:3px}.hn-document-unavailable{opacity:.65}
@container hn-page (max-width:480px){.hn-presentation .hn-document-file-card{padding:14px;gap:12px}.hn-document-file-copy strong{font-size:14px}.hn-document-file-icon{width:38px;min-height:50px}.hn-document-paper{padding:20px}.hn-presentation .hn-document-paper h3{font-size:20px}}
.hn-gallery-peek{display:flex;gap:5px;margin-top:12px}.hn-gallery-peek>span{width:calc((100% - 10px)/3);min-width:0}.hn-gallery-peek .hn-content-photo,.hn-gallery-peek .hn-gallery-unavailable{height:64px;border-radius:5px}
.hn-gallery-unavailable{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#e8eedd;color:#52674b;min-height:64px;font-size:11px;text-align:center;padding:10px;overflow-wrap:anywhere}
.hn-page-spacious .hn-gallery-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.5fr;gap:35px;padding:25px;background:#dfe7d5;border:1px solid #c6d0b9;color:#294c3b}
.hn-gallery-copy{padding:12px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;min-width:0}.hn-presentation.hn-page-spacious .hn-gallery-copy h3{font-size:31px;margin-top:18px}
.hn-menu-overline{font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.hn-gallery-overline{font-size:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hn-presentation .hn-gallery-copy>p{font-size:11px;line-height:1.85;margin:18px 0;opacity:.8;white-space:pre-wrap;overflow-wrap:anywhere}
.hn-presentation.hn-page-spacious .hn-gallery-open{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:9px 13px;border:1px solid #d8ddcf;border-radius:9px;background:#fffdf8aa;font:650 10px/1.5 var(--hn-body-font,sans-serif);color:#294c3b;text-decoration:none;margin-top:8px}
.hn-gallery-photo-trigger{display:block;min-width:0;padding:0;border:0;background:transparent;text-decoration:none}.hn-gallery-photos{display:flex;gap:8px;min-height:260px}.hn-gallery-photos>span{flex:1;min-width:0}.hn-gallery-photos .hn-content-photo,.hn-gallery-photos .hn-gallery-unavailable{height:100%;max-height:390px;border-radius:5px}
.hn-visitor-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hn-visitor-gallery>a{padding:0;text-align:left;color:inherit;text-decoration:none;min-width:0}.hn-visitor-gallery .hn-content-photo,.hn-visitor-gallery .hn-gallery-unavailable{height:160px;border-radius:9px}.hn-gallery-caption{font-size:11px;display:block;margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.hn-gallery-lightbox>.hn-content-photo>img{width:100%;height:auto;max-height:50vh;object-fit:contain;border-radius:9px}.hn-presentation .hn-gallery-lightbox>p{text-align:center;font-size:12px;margin:15px 0;white-space:pre-wrap;overflow-wrap:anywhere}.hn-gallery-lightbox nav{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:15px}.hn-gallery-lightbox nav a{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;min-height:39px;border:1px solid #d8ddcf;border-radius:9px;color:#294c3b;text-decoration:none;font-size:12px;background:#fffdf8}
.hn-gallery-open:focus-visible,.hn-gallery-photo-trigger:focus-visible,.hn-gallery-compact:focus-visible,.hn-visitor-gallery a:focus-visible,.hn-gallery-lightbox a:focus-visible{outline:3px solid #426b50;outline-offset:3px}
@container hn-page (max-width:650px){.hn-gallery-heading,.hn-recommendations-heading{gap:7px}}
@container hn-page (max-width:849px){.hn-page-spacious .hn-gallery-card{gap:16px}.hn-gallery-copy{padding:3px}.hn-presentation.hn-page-spacious .hn-gallery-copy h3{font-size:26px}}
@container hn-page (max-width:539px){.hn-page-spacious .hn-gallery-card{grid-template-columns:1fr;padding:19px}.hn-presentation.hn-page-spacious .hn-gallery-copy h3{font-size:30px}.hn-gallery-photos{min-height:240px;max-height:310px}.hn-presentation .hn-gallery-copy>p{font-size:12px}}
/* Native audio uses real browser controls, never the mock's timer simulation. */
.hn-native-audio audio{display:block;width:100%;margin:16px 0;accent-color:#426b50}
.hn-native-audio-error{font-size:13px;color:#a44634;line-height:1.6}.hn-native-audio-error[hidden]{display:none}
.hn-native-video video { display: block; width: 100%; max-height: 70vh; aspect-ratio: 16 / 9; object-fit: contain; border-radius: 14px; background: #18231e; }
/* Tall (9:16) video: reels, Shorts and TikToks play upright, as tall as the screen allows, never pillarboxed in a wide box. */
.hn-native-video[data-hn-video-frame="tall"] video, .hn-media-embed-video[data-hn-video-frame="tall"] iframe { aspect-ratio: 9 / 16; width: min(100%, calc(min(76svh, 680px) * 9 / 16)); height: auto; min-height: 0; max-height: none; margin-inline: auto; }
.hn-native-video[data-hn-video-frame="tall"] .hn-media-expectation { text-align: center; }
/* Spacious cover thumbnail: a bounded preview that opens the player. Tall covers keep a portrait shape. */
.hn-media-thumb-open { display: block; width: 100%; padding: 0; border: 0; background: none; text-align: left; cursor: pointer; color: inherit; }
.hn-media-thumb { margin: 4px 0 18px; }
.hn-media-thumb > .hn-content-photo > img { width: 100%; height: auto; max-height: none; aspect-ratio: 16 / 9; object-fit: cover; }
.hn-linked-media-card[data-hn-video-frame="tall"] .hn-media-thumb { width: min(100%, 240px); }
.hn-linked-media-card[data-hn-video-frame="tall"] .hn-media-thumb > .hn-content-photo > img { aspect-ratio: 4 / 5; }
.hn-linked-media-card[data-hn-video-frame="tall"] .hn-media-peek > .hn-content-photo > img { max-height: 420px; }
.hn-presentation .hn-enquiry-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;border-radius:16px}
.hn-enquiry-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,currentColor 8%,transparent)}
.hn-presentation .hn-enquiry-card h3{font-size:20px;line-height:1.4}
.hn-presentation .hn-enquiry-card .hn-page-description{font-size:14px;line-height:1.7;margin:0}
.hn-enquiry-expectation{display:block;font-size:12px;line-height:1.6;opacity:.7;white-space:pre-wrap}
.hn-presentation.hn-presentation .hn-enquiry-card .hn-page-text-action{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;box-sizing:border-box;min-height:44px;margin-top:6px;margin-bottom:0;padding:10px 18px;border:1px solid currentColor;border-radius:10px;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer;text-decoration:none;background:color-mix(in srgb,currentColor 5%,transparent)}
.hn-presentation.hn-presentation .hn-enquiry-card .hn-page-text-action:hover{background:color-mix(in srgb,currentColor 12%,transparent)}
.hn-enquiry-card .hn-page-text-action:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.hn-enquiry-card .hn-page-text-action[aria-disabled]{opacity:.6;cursor:default}
/* Guided chat card, closed. guided-chat.css loads only when a visitor opens the chat, so the card itself is styled here
   (Compact cards have no padding of their own). */
.hn-presentation .hn-guided-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;border-radius:16px}
.hn-presentation .hn-guided-card h3{font-size:20px;line-height:1.4}
.hn-presentation .hn-guided-card .hn-page-description{margin:0;font-size:14px;line-height:1.7}
.hn-presentation.hn-presentation .hn-guided-card .hn-page-text-action{display:flex;align-items:center;justify-content:center;gap:8px;width:fit-content;max-width:100%;box-sizing:border-box;min-height:44px;margin-top:6px;margin-bottom:0;padding:10px 18px;border:1px solid currentColor;border-radius:999px;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer;text-decoration:none;background:color-mix(in srgb,currentColor 5%,transparent)}
.hn-presentation.hn-presentation .hn-guided-card .hn-page-text-action:hover{background:color-mix(in srgb,currentColor 12%,transparent)}
.hn-guided-peek{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%}
.hn-guided-peek span{max-width:88%;padding:8px 12px;border-radius:16px 16px 16px 6px;background:color-mix(in srgb,currentColor 7%,transparent);font-size:14px;line-height:1.45}
.hn-guided-peek span+span{border-top-left-radius:6px}
/* Content must wrap inside its own card, including long user-entered names. */
.hn-presentation .hn-page-card :is(a,button){max-width:100%;white-space:normal;overflow-wrap:anywhere}
.hn-presentation :is(.hn-menu-peek>span,.hn-products-peek>span,.hn-documents-peek>span,.hn-contact-action,.hn-document-file-card){min-width:0}
.hn-presentation :is(.hn-menu-peek>span,.hn-products-peek>span,.hn-documents-peek>span){flex-wrap:wrap}
@container hn-page (max-width:420px){.hn-page-compact .hn-page-arrangement-grid .hn-page-grid{grid-template-columns:minmax(0,1fr)}}
/* The one Reviews card (ReviewSourcesCard.tsx) and its Google source (GoogleReviewsCard.tsx).
   Restyle freely, but wherever Google reviews show keep Google's attribution visible: the Google Maps
   logo, each author's name and link, "Original review" and "Report to Google". */
.hn-presentation .hn-page-card.hn-review-sources{display:block;grid-column:1/-1;container-type:inline-size;min-width:0}
.hn-page-spacious .hn-page-card.hn-review-sources{padding:28px 32px}
.hn-presentation .hn-review-head>h3{margin:0}
.hn-presentation .hn-review-head>.hn-page-description{max-width:62ch;margin:8px 0 0;font-size:15px;line-height:1.6;white-space:pre-line;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hn-presentation .hn-review-sources .hn-inplace-head .hn-page-description{white-space:pre-line;overflow-wrap:anywhere}
.hn-presentation .hn-review-sources .hn-inplace-head .hn-page-link-icon{background:#f4eed5;color:#8e743f}
.hn-review-sources>[data-review-context]{margin-top:18px;min-width:0}
.hn-google-source{min-width:0}
/* Source line: logo, the source's own score, and which business it is. No box: card surfaces are always
   light (cardColors falls back to the palette's soft color), so Google's dark-ink logo reads on its own. */
.hn-google-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-bottom:14px;border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.hn-google-summary .hn-review-source{display:flex;align-items:center;gap:8px}
.hn-google-attribution{display:inline-flex;flex-shrink:0;white-space:nowrap}
.hn-google-attribution img{display:block;width:98px;height:18px;max-width:none;object-fit:contain}
.hn-review-source-sample{font-size:11px;line-height:1.5;font-weight:600;color:#5b4c22;background:#fff6db;border:1px solid #d2c7a0;padding:2px 8px;border-radius:20px}
.hn-google-score{display:flex;align-items:center;gap:8px}
.hn-google-score>strong{font:500 22px/1 var(--hn-display,Lora,serif);letter-spacing:-.01em}
.hn-google-score>small,.hn-google-business{font-size:13px;line-height:1.4;color:var(--hn-muted)}
.hn-google-business{flex-basis:100%;overflow-wrap:anywhere}
.hn-google-stars{display:inline-flex;gap:2px;color:#a07f3c}
.hn-google-stars>span{position:relative;display:inline-flex;width:14px;height:14px}
.hn-google-stars>span>span{position:absolute;inset:0 auto 0 0;overflow:hidden}
.hn-google-stars svg{flex-shrink:0;max-width:none}
/* Reviews: one column on phones and Compact, up to three side by side in a wide Spacious card. */
.hn-google-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.hn-google-quote{min-width:0;padding:18px 0;border-bottom:1px solid color-mix(in srgb,currentColor 10%,transparent)}
.hn-google-quote>header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.hn-google-avatar{display:grid;place-items:center;background:#e9ede1;color:#43543e;border-radius:50%;width:34px;height:34px;flex-shrink:0;font-size:12px;font-weight:600}
.hn-google-quote header>div{min-width:0}
.hn-google-quote header :is(strong,a){display:block;font-size:15px;font-weight:600;line-height:1.3;color:inherit;overflow-wrap:anywhere}
.hn-google-quote header a{text-decoration:none}.hn-google-quote header a:hover{text-decoration:underline;text-underline-offset:3px}
.hn-google-quote header small{display:block;font-size:12px;margin-top:2px;color:var(--hn-muted)}
.hn-google-quote>p{font-size:15px;line-height:1.65;margin:8px 0 10px;white-space:pre-line;overflow-wrap:anywhere}
.hn-review-sources>[data-review-context] .hn-google-quote>p{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.hn-page-spacious .hn-review-sources>[data-review-context] .hn-google-quote>p{-webkit-line-clamp:5}
.hn-google-quote footer{display:flex;gap:4px 14px;flex-wrap:wrap;align-items:center;font-size:12px;line-height:1.4;color:var(--hn-muted)}
.hn-presentation .hn-google-quote footer a{display:inline-flex;align-items:center;min-height:32px;color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px}
.hn-google-original>summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0;font-size:13px;font-weight:600}
.hn-google-sample{padding:12px 14px;border:1px dashed #b9ac7c;background:#fff6db;color:#5b4c22;border-radius:8px;font-size:13px;line-height:1.6;margin:0 0 16px}
.hn-google-unavailable{font-size:14px;line-height:1.6;margin:16px 0;color:var(--hn-muted)}
/* Actions: the same padded buttons in both layouts; they wrap to full width on a phone. */
.hn-presentation :is(.hn-google-actions,.hn-review-actions){display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.hn-presentation :is(.hn-google-actions,.hn-review-actions)>a,.hn-presentation .hn-review-sources>.hn-review-edit{flex:0 1 auto;min-width:200px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:10px 18px;border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:10px;color:inherit;background:transparent;font:600 14px/1.3 'DM Sans',Arial,sans-serif;text-align:center;text-decoration:none;cursor:pointer}
.hn-presentation :is(.hn-google-actions,.hn-review-actions)>a:hover{background:color-mix(in srgb,currentColor 5%,transparent)}
.hn-presentation :is(.hn-google-actions>.hn-google-write,.hn-review-actions>.hn-review-write-action){background:#2d5039;color:#fff;border-color:#2d5039}
.hn-presentation :is(.hn-google-actions>.hn-google-write,.hn-review-actions>.hn-review-write-action):hover{background:#24412e}
.hn-presentation .hn-review-sources>.hn-review-edit{width:100%;margin-top:18px}
.hn-review-sources :is(a,button,summary):focus-visible{outline:2px solid currentColor;outline-offset:3px}
/* Google's ordering note: quiet, last, never mid-card. */
.hn-google-order{margin:16px 0 0;font-size:12px;line-height:1.5;color:var(--hn-muted);opacity:.85}
.hn-page-compact .hn-google-quotes{grid-template-columns:1fr}
.hn-reviews-dialog .hn-google-quotes{grid-template-columns:1fr}
@container(max-width:760px){.hn-google-quotes{grid-template-columns:1fr}}
/* Source tabs: a segmented control. Each tab carries its own source's rating and count; there is no combined score. */
.hn-presentation .hn-review-tabs{display:flex;gap:4px;padding:4px;margin:0 0 16px;border-radius:12px;background:color-mix(in srgb,currentColor 7%,transparent)}
.hn-presentation .hn-review-tabs button{flex:1;min-width:0;min-height:44px;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:var(--hn-muted);font:600 14px/1.3 'DM Sans',Arial,sans-serif;white-space:normal;cursor:pointer}
.hn-presentation .hn-review-tabs [aria-selected=true]{background:#fffdf8;color:inherit;box-shadow:0 1px 3px rgb(0 0 0/.12)}
/* HereNook previews in Compact: Report sits quietly at the end of its review. */
.hn-page-compact .hn-review-sources>[data-review-context] .hn-review-preview-entry>a{display:flex;justify-content:flex-end;align-items:center;min-height:44px;padding:0;font-size:13px;color:var(--hn-muted)}
/* Compact and phones: the actions take the full width, stacked when they don't fit side by side. */
.hn-page-compact :is(.hn-google-actions,.hn-review-actions)>a{flex:1 1 200px}
@container(max-width:520px){.hn-presentation :is(.hn-google-actions,.hn-review-actions)>a{flex:1 1 100%}}
/* Public contact saving is a native disclosure, shared with the Studio preview. */
.hn-presentation .hn-save-contact{position:relative;width:min(100%,30rem);margin:24px 0;text-align:left;font:14px/1.5 ui-sans-serif,system-ui,sans-serif}
.hn-page-compact .hn-save-contact{margin:24px auto}
.hn-page-spacious .hn-save-contact{margin:22px 0 0}
.hn-presentation .hn-save-contact-trigger{display:flex;align-items:center;justify-content:center;gap:8px;width:fit-content;max-width:100%;min-height:40px;padding:9px 13px;border:1px solid color-mix(in srgb,var(--hn-ink),transparent 65%);border-radius:8px;background:transparent;color:var(--hn-ink);font:600 12px/1.4 'DM Sans',Arial,sans-serif;cursor:pointer;list-style:none}
.hn-page-compact .hn-save-contact-trigger{margin:auto}
.hn-presentation .hn-save-contact-trigger::-webkit-details-marker{display:none}
.hn-presentation .hn-save-contact-trigger:hover{background:var(--hn-soft)}
.hn-presentation .hn-save-contact-trigger:focus-visible,.hn-presentation .hn-save-contact-download:focus-visible{outline:3px solid #315df5;outline-offset:4px}
.hn-presentation .hn-save-contact-card{margin-top:14px;padding:24px;border:1px solid #d5dfd3;border-radius:20px;background:#fffdf8;color:#243c32;box-shadow:0 12px 32px #213e3410;overflow-wrap:anywhere}
.hn-presentation .hn-save-contact-eyebrow{color:#5a715f;font-size:10px;font-weight:700;letter-spacing:.14em}
.hn-presentation .hn-save-contact-card h2{margin:10px 0 8px;color:#243c32;font:500 28px/1.15 Georgia,serif;letter-spacing:-.03em}
.hn-presentation .hn-save-contact-card p{margin:4px 0;color:#526352;font:14px/1.5 ui-sans-serif,system-ui,sans-serif}
.hn-presentation .hn-save-contact-card dl{display:grid;gap:12px;margin:20px 0;padding:18px 0;border-block:1px solid #dde4d8}
.hn-presentation .hn-save-contact-card dt{color:#697965;font-size:11px;font-weight:600}
.hn-presentation .hn-save-contact-card dd{margin:3px 0 0;color:#243c32}
.hn-presentation .hn-save-contact-download{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 16px;border-radius:12px;background:#2d513a;color:#fffdf8;text-decoration:none;font-weight:600}
.hn-presentation .hn-save-contact small{display:block;margin-top:12px;color:#697965;font:12px/1.5 ui-sans-serif,system-ui,sans-serif}

.hn-presentation .hn-save-contact-trigger svg{width:16px;height:16px;flex-shrink:0}
.hn-presentation .hn-save-contact>small{font:11px/1.5 'DM Sans',Arial,sans-serif;margin-top:7px;opacity:.75;color:var(--hn-ink)}

/* Readability layer (Oct 2026): phone-legible type, 44px targets, calmer rhythm
   and accessible secondary ink. Appended overrides; the reviewed source-port rules
   above stay intact. Muted text is 84% of the text colour around it (currentColor
   resolves where the variable is used), so it follows the page, a contrast section
   or a card's own ink instead of leaking page ink onto a light card. */
.hn-presentation{--hn-muted:color-mix(in srgb,currentColor 84%,transparent)}
.hn-presentation :is(h1,h2,h3,h4){text-wrap:balance}
.hn-presentation :is(.hn-page-introduction,.hn-page-lead,.hn-page-description){text-wrap:pretty}
.hn-presentation .hn-page-credit{font-size:11px;opacity:.85;gap:6px}
.hn-presentation .hn-page-credit-logo{width:64px}

/* Compact: one calm column for phones. */
.hn-page-compact .hn-page-identity{padding:30px 24px 8px}
.hn-page-compact .hn-page-with-cover{padding-top:0}
.hn-page-compact .hn-page-descriptor{font-size:11px;letter-spacing:.12em;opacity:1;color:var(--hn-muted);margin-bottom:10px}
.hn-page-compact .hn-page-identity h1{font-size:32px;line-height:1.12;margin-bottom:12px}
.hn-page-compact .hn-page-introduction{font-size:15px;line-height:1.65;opacity:1;color:var(--hn-muted);max-width:34em;margin-inline:auto}
.hn-page-compact .hn-page-sections{padding:0 16px}
.hn-page-compact .hn-page-section{margin-bottom:30px}
.hn-page-compact .hn-page-section-heading h2{font:600 20px/1.3 var(--hn-display);letter-spacing:-.01em;opacity:1;margin:0 2px 12px}
.hn-page-compact .hn-page-lead{font-size:14px;line-height:1.65;opacity:1;color:var(--hn-muted);margin:-4px 2px 14px}
.hn-page-compact .hn-page-grid{gap:12px}
.hn-page-compact.hn-presentation .hn-page-compact-destination{padding:16px;gap:12px}
.hn-page-compact .hn-page-link-icon{width:40px;height:40px;border-radius:11px}
.hn-page-compact .hn-page-link-icon svg{width:20px;height:20px}
.hn-page-compact .hn-page-card h3{font-size:16px;line-height:1.35;font-weight:600}
.hn-page-compact .hn-page-description,.hn-page-compact :is(.hn-menu-card,.hn-services-card) .hn-page-description{font-size:13px;line-height:1.5;margin-top:3px}
.hn-presentation.hn-page-compact :is(.hn-menu-compact-action,.hn-services-compact,.hn-announcement-card,.hn-media-compact,.hn-products-compact,.hn-gallery-compact,.hn-documents-compact){padding:16px}
.hn-presentation :is(.hn-menu-card-heading,.hn-services-heading,.hn-announcement-heading,.hn-media-heading,.hn-products-heading,.hn-gallery-heading,.hn-documents-heading,.hn-recommendations-heading){gap:12px}
.hn-presentation :is(.hn-menu-peek,.hn-services-peek,.hn-documents-peek){margin-top:14px;padding-top:8px}
.hn-presentation :is(.hn-menu-peek,.hn-services-peek,.hn-documents-peek)>span{font-size:13px;padding:7px 0;flex-wrap:nowrap}
.hn-presentation :is(.hn-menu-peek strong,.hn-services-peek b){font-size:13px;font-weight:600}
.hn-products-peek>span{font-size:14px}.hn-products-peek small{font-size:12px}
.hn-gallery-peek{gap:6px}.hn-gallery-peek .hn-content-photo,.hn-gallery-peek .hn-gallery-unavailable{height:auto;aspect-ratio:1}
.hn-presentation .hn-trust-announcement-peek p{font-size:14px}
.hn-presentation .hn-trust-announcement-peek small,.hn-presentation .hn-trust-date-pill{font-size:12px}
.hn-media-peek>.hn-media-peek-label{font-size:12px}
/* Horizontal swipes belong to the gallery lightbox; vertical scroll and zoom stay native. */
.hn-presentation .hn-gallery-lightbox{touch-action:pan-y pinch-zoom}
/* Ask about this photo: opens the Gallery's Guided chat with this photo at the top. Full width on phones, thumb-sized. */
.hn-presentation .hn-gallery-ask{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;margin:4px 0 0;padding:11px 16px;border:0;border-radius:12px;
  background:var(--hn-ink);color:var(--hn-paper);font:inherit;font-size:14px;font-weight:600;line-height:1.2;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.hn-presentation .hn-gallery-ask[aria-busy="true"]{opacity:.7;cursor:progress}
.hn-presentation .hn-gallery-ask:focus-visible{outline:3px solid #426b50;outline-offset:3px}
@container hn-page (min-width:651px){.hn-presentation .hn-gallery-ask{width:auto;margin:4px auto 0;padding-inline:22px}}

/* Spacious: a readable editorial page on phones and desktops. */
.hn-page-spacious .hn-page-topline nav{font-size:14px;gap:4px}
.hn-page-spacious .hn-page-topline nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;max-width:180px}
.hn-page-spacious .hn-page-header-note{font-size:12px;opacity:1;color:var(--hn-muted);max-width:200px}
.hn-page-spacious .hn-page-descriptor{font-size:11px;color:var(--hn-muted)}
.hn-page-spacious .hn-page-introduction{font-size:17px;line-height:1.7;max-width:520px;opacity:1;color:var(--hn-muted)}
.hn-page-spacious.hn-presentation .hn-page-opening-action{min-height:48px;padding:12px 22px;font-size:15px;border-radius:8px}
.hn-page-spacious .hn-page-explore{min-height:44px;padding:0 8px;font-size:15px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.hn-page-spacious .hn-page-social-tagline{font-size:13px}
.hn-page-spacious .hn-page-section{padding:44px 0}
.hn-page-spacious .hn-page-number{font-size:11px;letter-spacing:.14em;opacity:1;color:var(--hn-muted)}
.hn-page-spacious .hn-page-section-heading h2{font-size:clamp(28px,3.6cqw,38px);max-width:680px}
.hn-page-spacious .hn-page-lead{font-size:16px;line-height:1.7;max-width:620px}
.hn-page-spacious .hn-page-description{font-size:15px;line-height:1.7}
.hn-page-spacious.hn-presentation .hn-page-text-action{min-height:44px;padding-top:12px;font-size:14px;font-weight:600}
.hn-page-spacious .hn-page-footer-name{font-size:24px}
.hn-page-spacious .hn-page-footer>small{font-size:13px;opacity:1;color:var(--hn-muted)}
@container hn-page (max-width:849px){.hn-page-spacious .hn-page-identity h1{font-size:46px}.hn-page-spacious .hn-page-introduction{font-size:16px}}
@container hn-page (max-width:539px){
  .hn-page-spacious .hn-page-identity h1{font-size:40px}
  .hn-page-spacious .hn-page-wordmark{font-size:21px}
  .hn-page-spacious .hn-page-header-note{max-width:none}
  .hn-page-spacious .hn-page-section{padding:34px 0}
  .hn-page-spacious .hn-page-section-heading h2{font-size:28px}
  .hn-page-spacious .hn-page-hero-actions{gap:10px}
  .hn-page-spacious.hn-presentation .hn-page-opening-action{width:100%}
  .hn-page-spacious .hn-page-explore{width:100%;justify-content:center}
}

/* Nooklets: one scale for every card. */
.hn-presentation .hn-menu-items h4{font-size:20px;line-height:1.35}
.hn-presentation .hn-menu-items p{font-size:14px;line-height:1.65;opacity:1;color:var(--hn-muted)}
.hn-presentation .hn-menu-items strong{font-size:14px;font-weight:600}
.hn-presentation .hn-menu-items>article{padding:18px 0}
@container hn-page (max-width:420px){.hn-presentation .hn-menu-items>article{flex-wrap:nowrap}}
.hn-presentation .hn-menu-note,.hn-page-spacious .hn-menu-card>.hn-menu-note{font-size:14px;line-height:1.65}
.hn-menu-overline,.hn-gallery-overline,.hn-presentation .hn-trust-overline,.hn-crafted-eyebrow{font-size:11px}
.hn-presentation .hn-info-steps p,.hn-presentation .hn-info-faq p,.hn-page-spacious .hn-info-faq p{font-size:15px;line-height:1.7}
.hn-presentation .hn-info-faq summary,.hn-page-spacious .hn-info-faq details{font-size:15px}
.hn-presentation .hn-info-faq summary{min-height:44px;padding:11px 0;font-weight:600}
.hn-presentation .hn-info-faq details,.hn-page-spacious .hn-info-faq details{padding:2px 0}
.hn-presentation .hn-hours-weekday{font-size:13px;padding:9px 0}
.hn-presentation .hn-hours-card>small,.hn-presentation .hn-location-card>small{font-size:12px;opacity:1;color:var(--hn-muted)}
.hn-presentation .hn-hours-row{font-size:15px}
.hn-presentation .hn-service-index{font-size:11px;opacity:1;color:var(--hn-muted)}
.hn-presentation .hn-service-card p{font-size:14px;line-height:1.7}
.hn-presentation .hn-service-facts{font-size:13px}
.hn-presentation .hn-service-facts small{font-size:12px;opacity:1;color:var(--hn-muted)}
.hn-presentation .hn-service-card>:is(a,button){min-height:44px;font-size:14px;font-weight:600}
.hn-presentation .hn-services-intro>button{font-size:13px}
.hn-presentation .hn-announcement-date{font-size:12px}
.hn-presentation .hn-announcement-intro{font-size:15px;line-height:1.7}
.hn-presentation .hn-announcement-sample{font-size:12px}
.hn-presentation .hn-gallery-copy>p{font-size:15px;line-height:1.7}
.hn-presentation.hn-page-spacious .hn-gallery-open{min-height:44px;font-size:14px}
.hn-presentation :is(.hn-products-utility-item,.hn-recommendations-utility-item),.hn-presentation.hn-page-spacious .hn-documents-utility-item{font-size:14px}
.hn-presentation .hn-crafted-booking-banner small{font-size:11px}
.hn-presentation .hn-enquiry-card{padding:20px;gap:10px}
.hn-page-compact .hn-enquiry-card{border-radius:10px}
.hn-presentation .hn-enquiry-icon{width:40px;height:40px;border-radius:11px}
.hn-page-compact .hn-enquiry-card h3{font:600 18px/1.35 var(--hn-display)}
.hn-page-spacious .hn-enquiry-card h3{font:500 24px/1.25 var(--hn-display);letter-spacing:-.02em}
.hn-presentation .hn-enquiry-card .hn-page-description{font-size:14px}
.hn-page-spacious .hn-enquiry-card .hn-page-description{font-size:15px}
.hn-presentation .hn-save-contact>small{font-size:12px}
.hn-presentation .hn-save-contact-trigger{min-height:44px}
.hn-enquiry-expectation{opacity:1;color:var(--hn-muted)}
.hn-presentation .hn-contact-channel-copy small{font-size:12px;color:#5f6b58}
.hn-presentation .hn-contact-card .hn-contact-title{display:flex;align-items:center;min-height:44px;padding:0;margin-bottom:8px}
.hn-presentation :is(.hn-documents-utility-item,.hn-documents-peek) small{font-size:11px;opacity:1;color:var(--hn-muted)}

/* Gentle motion: a small lift on cards; sections settle in on scroll where the
   browser supports scroll-driven animation. CSS only; off for reduced motion. */
@media (prefers-reduced-motion:no-preference){
  .hn-presentation .hn-page-card{transition:transform .25s ease,box-shadow .25s ease}
  .hn-presentation .hn-page-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #243c3212}
  @supports (animation-timeline:view()){
    .hn-presentation .hn-page-section{animation:hn-settle linear both;animation-timeline:view();animation-range:entry 0% entry 35%}
  }
}
@media print{.hn-presentation .hn-page-section{animation:none}}
@keyframes hn-settle{from{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}

/* PDF reader: clear actions in the top bar, a large reader on laptops and desktops,
   and on phones the pages drawn full screen inside the Nook (an embedded viewer is too
   small to read there, and iPhone Safari shows only its first page). Sized by the screen, not the page,
   so Compact Nooks on a desktop also get the large reader. */
.hn-presentation .hn-document-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.hn-presentation .hn-document-actions>a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:8px 14px;border:1px solid #cdd6c4;border-radius:9px;
  background:#fffdf8;color:#294c3b;font:600 13px/1.3 'DM Sans',Arial,sans-serif;text-decoration:none}
.hn-presentation .hn-document-actions>.hn-document-open{background:#2d503b;border-color:#2d503b;color:#fffdf8}
.hn-presentation .hn-document-actions>a:focus-visible{outline:3px solid #426b50;outline-offset:3px}
/* The reader panel follows the screen (viewport units), and is its own size container. */
.hn-presentation .hn-documents-dialog[data-enhanced][open]{width:min(1040px,calc(100vw - 32px));max-width:none;max-height:94dvh;container:hn-reader/inline-size}
.hn-presentation .hn-documents-dialog .hn-document-pdf{height:calc(94dvh - 210px);min-height:420px}
.hn-presentation .hn-documents-dialog .hn-document-paper{max-width:760px;margin-inline:auto}
@container hn-reader (max-width:599px){
  .hn-presentation .hn-document-reader .hn-document-pdf,.hn-presentation .hn-document-reader .hn-document-pdf~.hn-help{display:none}
  .hn-presentation .hn-document-actions{width:100%;flex-direction:column;margin-left:0}
  .hn-presentation .hn-document-actions>a{min-height:48px;font-size:15px}
}
/* Phones and touch screens: HereNook draws the PDF's pages itself (pdf-pages.ts), full screen
   with the title bar, Close and Download always in reach. Open in new tab returns only if that fails. */
.hn-presentation .hn-documents-dialog[data-hn-pdf-reader]:not([data-hn-pdf-reader=failed]) :is(.hn-document-pdf,.hn-help,.hn-document-open){display:none}
.hn-presentation .hn-documents-dialog[data-hn-pdf-fullscreen=true][open]{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;box-shadow:none}
.hn-presentation .hn-documents-dialog[data-hn-pdf-fullscreen=true] .hn-info-dialog-body{padding:12px 10px 32px}
.hn-presentation .hn-documents-dialog[data-hn-pdf-reader=pages] .hn-document-toolbar{margin-bottom:12px}
.hn-presentation .hn-documents-dialog[data-hn-pdf-reader=pages] .hn-document-actions{width:auto;flex-direction:row;margin-left:auto}
.hn-presentation .hn-pdf-status{margin:0 0 10px;font:500 13px/1.4 'DM Sans',Arial,sans-serif;color:#5f6b58}
.hn-presentation .hn-pdf-pages{display:grid;gap:12px}
.hn-presentation .hn-pdf-page{position:relative;width:100%;overflow:hidden;border:1px solid #dce3d4;border-radius:6px;background:#fff;box-shadow:0 2px 10px #142c2512}
.hn-presentation .hn-pdf-page canvas{display:block;width:100%;height:100%}
.hn-presentation .hn-pdf-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Free-photo credits (Pexels): one quiet footer line, never container-width dependent. */
.hn-presentation .hn-page-photo-credits{margin:8px 0 0;font-size:9px;line-height:1.5;color:var(--hn-muted);text-align:center;overflow-wrap:anywhere}
.hn-presentation .hn-page-photo-credits a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.hn-page-spacious .hn-page-photo-credits{flex-basis:100%;margin:-8px 0 0;text-align:right}

/* Mixed-script text (#39): owners write in English, Persian, Arabic and more, often in one line.
   plaintext = dir="auto" plus isolation, per paragraph and per inline run, so "Afra Bakery · نانوایی افرا"
   and a Persian sentence after an English one keep their order and punctuation. LTR-only text is unchanged. */
.hn-presentation :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,figcaption,blockquote,small,strong,b,em,span,a,button,label,summary){unicode-bidi:plaintext}
/* Several shops in one Location (#28): a list with Call and Directions on each row, details on one shared map. */
.hn-presentation .hn-location-multi{display:flex;flex-direction:column;gap:12px}
.hn-presentation .hn-location-multi-head{display:flex;align-items:center;gap:12px}
.hn-presentation .hn-location-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.hn-presentation .hn-location-list>li{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;padding:12px 14px;border:1px solid #dce3d4;border-radius:12px;background:#fffdf8;text-align:left}
.hn-presentation .hn-location-list-copy{display:grid;gap:3px;min-width:0;flex:1 1 140px}
.hn-presentation .hn-location-list-copy strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.hn-presentation .hn-location-list-address{font-size:13px;line-height:1.45;color:#5f6b58;overflow-wrap:anywhere}
.hn-presentation .hn-location-soon{display:inline-block;justify-self:start;margin-left:6px;padding:2px 8px;border-radius:999px;background:#fff2de;color:#714a2b;font:600 11px/1.5 'DM Sans',sans-serif;vertical-align:middle}
.hn-presentation .hn-location-list-copy .hn-location-soon{margin-left:0}
.hn-presentation .hn-location-place-actions{display:flex;flex-wrap:wrap;gap:8px}
.hn-presentation .hn-location-place-actions a{display:inline-flex;align-items:center;gap:6px;min-height:44px;box-sizing:border-box;padding:8px 14px;border:1px solid #dce3d4;border-radius:999px;background:#fffdf8;color:#294c3b;font:600 14px/1.2 'DM Sans',sans-serif;text-decoration:none}
.hn-presentation .hn-location-place-actions a:hover{background:#f2f5ec;border-color:#9aaf8e}
.hn-presentation .hn-location-place-actions a:focus-visible{outline:3px solid #426b50;outline-offset:3px}
.hn-presentation .hn-location-place{display:grid;gap:6px;padding:16px 0;border-top:1px solid #e4e7de}
.hn-presentation .hn-location-place h3{margin:0;font-size:18px;line-height:1.3}
.hn-presentation .hn-location-place p{margin:0;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
.hn-presentation .hn-location-place-notes{color:#5f6b58}
.hn-page-spacious.hn-presentation .hn-location-multi>.hn-page-text-action{margin-top:4px}
.hn-page-compact.hn-presentation .hn-location-multi{padding:16px}
.hn-page-compact.hn-presentation .hn-location-multi>.hn-page-text-action{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;border:1px solid #dce3d4;background:transparent;color:inherit;font:600 14px/1.2 'DM Sans',sans-serif;text-decoration:none}
@container hn-page (max-width:420px){.hn-presentation .hn-location-list>li{align-items:flex-start}.hn-presentation .hn-location-place-actions a{flex:1 1 auto;justify-content:center}}

/* Read in place (Oct 2026): a Nooklet's content opens where it sits, never behind an anchor or a modal.
   Native <details> (ReadInPlace.tsx): questions, steps, services and "Show all" open in place on phones and desktops,
   in both layouts; immersive content (reader, photo, player, booking) stays a dialog, a bottom sheet on phones. */
.hn-presentation .hn-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hn-page-compact .hn-inplace-card{padding:16px}
.hn-presentation .hn-inplace-head{display:flex;align-items:center;gap:12px;width:100%;min-width:0;text-align:left}
.hn-presentation button.hn-inplace-head{padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}
.hn-presentation .hn-inplace-head>.hn-page-card-copy,.hn-presentation .hn-inplace-head>span:last-child{flex:1;min-width:0}
.hn-page-spacious .hn-inplace-card>:is(.hn-inplace-list,.hn-more,.hn-document-rows){align-self:stretch;width:100%}
/* One entry: a 44px summary row with a chevron, then its content. */
.hn-presentation .hn-inplace-list{display:grid;margin-top:12px;border-top:1px solid color-mix(in srgb,currentColor 14%,transparent)}
.hn-page-spacious .hn-inplace-card>h3+.hn-inplace-list{margin-top:4px}
.hn-presentation .hn-entry{border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent);min-width:0}
.hn-presentation .hn-entry>summary{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 2px;cursor:pointer;list-style:none;text-align:left;border-radius:6px}
.hn-presentation .hn-entry>summary::-webkit-details-marker,.hn-presentation .hn-more>summary::-webkit-details-marker{display:none}
.hn-presentation .hn-entry-summary{display:flex;align-items:center;gap:12px;flex:1;min-width:0;font-size:15px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.hn-presentation .hn-entry-text{display:grid;min-width:0}
.hn-presentation .hn-entry-title{min-width:0}
.hn-presentation :is(.hn-entry-chevron,.hn-more-chevron){flex-shrink:0;opacity:.7}
@media (prefers-reduced-motion:no-preference){.hn-presentation :is(.hn-entry-chevron,.hn-more-chevron){transition:transform .2s ease}}
.hn-presentation .hn-entry[open]>summary>.hn-entry-chevron,.hn-presentation .hn-more[open]>summary>.hn-more-chevron{transform:rotate(180deg)}
.hn-presentation .hn-entry>summary:focus-visible,.hn-presentation .hn-more>summary:focus-visible,.hn-presentation .hn-inplace-card:focus-visible{outline:3px solid #426b50;outline-offset:2px}
.hn-presentation .hn-inplace-card:focus:not(:focus-visible){outline:none}
.hn-presentation .hn-entry-body{padding:0 2px 16px;min-width:0}
.hn-presentation .hn-entry-body>p{margin:0;font-size:15px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere;color:var(--hn-muted,inherit)}
.hn-presentation .hn-info-step-number{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--hn-soft);color:var(--hn-card-ink);font-size:13px;font-weight:600}
.hn-presentation .hn-info-step .hn-entry-body{padding-left:42px}
/* A step not yet open shows its first two lines under the title; open, the full text replaces them. */
.hn-presentation .hn-entry-teaser{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:3px;font-size:14px;font-weight:400;line-height:1.55;color:var(--hn-muted,inherit);white-space:pre-line}
.hn-presentation .hn-entry[open] .hn-entry-teaser{display:none}
/* "Show all" and "Read more": a full-width control on Compact, a text action on Spacious. Open, it moves below what it revealed. */
.hn-presentation .hn-more{margin-top:12px;min-width:0}
.hn-presentation .hn-more>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:10px;cursor:pointer;list-style:none;font-size:14px;font-weight:600;line-height:1.3;text-align:center}
.hn-presentation .hn-more>summary:hover{background:color-mix(in srgb,currentColor 5%,transparent)}
.hn-presentation .hn-more-less,.hn-presentation .hn-more[open]>summary>.hn-more-label{display:none}
.hn-presentation .hn-more[open]>summary>.hn-more-less{display:inline}
.hn-presentation .hn-more[open]{display:flex;flex-direction:column}
.hn-presentation .hn-more[open]>summary{order:2;margin-top:12px}
.hn-presentation .hn-more-body{min-width:0}
.hn-presentation .hn-more-body>.hn-inplace-list{margin-top:0;border-top:0}
.hn-page-spacious .hn-inplace-card>.hn-more{margin-top:auto;padding-top:12px}
.hn-page-spacious .hn-inplace-card>.hn-more>summary{justify-content:space-between;padding:12px 0 0;border:0;border-top:1px solid #cbd1c0;border-radius:0;text-align:left}
.hn-page-spacious .hn-inplace-card>.hn-more>summary:hover{background:none;text-decoration:underline;text-underline-offset:4px}
/* A "swap" block replaces the card's short preview with the full content while open. */
.hn-presentation .hn-inplace-card:has(.hn-more-swap[open]) .hn-inplace-preview{display:none}
.hn-page-spacious .hn-products-preview{display:contents}
/* Spacious rows share a height; while a visitor has something open, the other cards keep their own height. */
.hn-page-spacious .hn-page-grid:has(:is(.hn-entry,.hn-more)[open]:not([data-hn-preopen])) .hn-page-slot>.hn-page-card{align-self:start}
.hn-page-spacious .hn-page-slot .hn-entry:not([open])>summary .hn-entry-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Announcement: the opening paragraph on the card, the full letter in place. */
.hn-presentation .hn-announcement-head{margin-bottom:6px}
.hn-page-compact .hn-announcement-card>.hn-trust-date-pill{margin-top:8px}
.hn-presentation .hn-announcement-card>.hn-announcement-intro{margin:12px 0 0;font-size:15px;line-height:1.7;white-space:pre-line}
.hn-presentation .hn-announcement-card>.hn-announcement-intro:not(.hn-announcement-whole){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hn-presentation .hn-announcement-card>.hn-announcement-next{display:inline-flex;margin-top:12px}
.hn-presentation .hn-announcement-card .hn-trust-announcement{padding:20px;margin-top:4px}
/* Services: name and price rows that open their details. */
.hn-presentation .hn-service-row,.hn-presentation .hn-service-entry .hn-entry-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.hn-presentation .hn-service-row{min-height:48px;align-items:center;padding:10px 2px;border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent);font-size:15px;font-weight:600}
.hn-presentation :is(.hn-service-row,.hn-service-entry) b{flex-shrink:0;font-size:14px;font-weight:600;white-space:nowrap}
.hn-presentation .hn-service-row-name{min-width:0;overflow-wrap:anywhere}
.hn-presentation .hn-inplace-card .hn-service-detail{border:0;border-radius:0;padding:0;margin:0;background:none;color:inherit}
.hn-presentation .hn-inplace-card .hn-service-detail p{margin:0 0 10px;font-size:15px;line-height:1.7;color:var(--hn-muted,inherit)}
.hn-presentation .hn-service-includes>span{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.75;margin-bottom:4px}
.hn-presentation .hn-inplace-card .hn-service-detail small{font-size:13px;color:var(--hn-muted,inherit);margin-bottom:10px}
.hn-presentation .hn-inplace-card .hn-service-detail .hn-crafted-action{display:inline-flex;margin-top:4px}
.hn-presentation .hn-service-card>.hn-more{margin-top:auto;width:100%}
.hn-presentation .hn-service-card>.hn-more>summary{justify-content:space-between;padding:10px 0 0;border:0;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:0}
.hn-presentation .hn-service-card>.hn-more .hn-service-detail{padding-top:4px}
/* Menu: the full menu in place. */
.hn-presentation .hn-inplace-card .hn-menu-visitor section>h3{font-size:19px;margin:16px 0 2px}
.hn-presentation .hn-inplace-card .hn-menu-visitor h4{font-size:15px}
.hn-presentation .hn-inplace-card .hn-menu-visitor b{font-size:14px}
.hn-presentation .hn-inplace-card .hn-menu-visitor article{padding:12px 0}
.hn-presentation .hn-inplace-card .hn-menu-visitor article p{font-size:14px;line-height:1.65;margin:6px 0}
.hn-presentation .hn-inplace-card .hn-menu-visitor small{font-size:12px;color:var(--hn-muted,inherit)}
.hn-page-compact .hn-menu-card>.hn-menu-peek{margin-top:12px}
.hn-page-compact .hn-menu-card>.hn-menu-note{margin:10px 0 0;font-size:14px;line-height:1.6;color:var(--hn-muted,inherit)}
/* Hours: open now on every card; the week in place. */
.hn-page-compact .hn-hours-today{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:10px}
.hn-page-compact .hn-hours-today b{display:block;font-size:14px;font-weight:600}
.hn-page-compact .hn-hours-today [data-hn-hours-today]{display:block;font-size:14px;line-height:1.5;color:var(--hn-muted,inherit);overflow-wrap:anywhere}
.hn-presentation .hn-hours-today small[data-hn-hours-exception]{display:block;margin-top:2px;font-size:12px;font-weight:600}
.hn-presentation .hn-hours-today small[hidden]{display:none}
.hn-presentation .hn-inplace-card .hn-hours-row{padding:10px 0;font-size:15px}
.hn-presentation .hn-inplace-card .hn-hours-special{margin-top:16px}
.hn-presentation .hn-inplace-card .hn-hours-special h4{font-size:15px;margin:0 0 4px}
.hn-presentation .hn-inplace-card .hn-hours-special>div{font-size:14px}
.hn-presentation .hn-inplace-card .hn-hours-special small{font-size:12px}
.hn-presentation .hn-inplace-card :is(.hn-hours-note,.hn-hours-disclaimer){margin:12px 0 0;font-size:13px;line-height:1.6;color:var(--hn-muted,inherit)}
/* Documents: one tap to read or download. */
.hn-presentation .hn-document-rows{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.hn-presentation .hn-more-body>.hn-document-rows{margin-top:0}
.hn-presentation .hn-document-row{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 12px;border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:12px;background:color-mix(in srgb,#fffdf8 70%,transparent);color:inherit;text-decoration:none;text-align:left}
.hn-presentation a.hn-document-row:hover{border-color:color-mix(in srgb,currentColor 35%,transparent)}
.hn-presentation a.hn-document-row:focus-visible{outline:3px solid #426b50;outline-offset:2px}
.hn-presentation .hn-document-row-icon{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:9px;background:#f7eed7;color:#9b7741}
.hn-presentation .hn-document-row-copy{display:grid;gap:2px;flex:1;min-width:0}
.hn-presentation .hn-document-row-copy strong{font-size:15px;line-height:1.35;overflow-wrap:anywhere}
.hn-presentation .hn-document-row-copy small{font-size:12px;line-height:1.45;color:var(--hn-muted,inherit);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hn-presentation .hn-document-row-action{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:13px;font-weight:600}
.hn-presentation .hn-document-unavailable{opacity:.65}
/* Gallery: every photo opens the lightbox at that photo; the full gallery opens in place. */
.hn-presentation :is(.hn-gallery-peek,.hn-gallery-photos)>span>a{display:block;height:100%;border-radius:inherit;color:inherit}
.hn-presentation :is(.hn-gallery-peek,.hn-gallery-photos)>span>a:focus-visible,.hn-presentation .hn-visitor-gallery a:focus-visible{outline:3px solid #426b50;outline-offset:2px}
.hn-presentation .hn-visitor-gallery>span{min-width:0}
.hn-presentation .hn-visitor-gallery>span>a{display:block;color:inherit;text-decoration:none}
.hn-page-spacious .hn-gallery-card>.hn-gallery-more{grid-column:1/-1;margin-top:0}
.hn-page-spacious .hn-gallery-card>.hn-gallery-more>summary{background:#fffdf8aa}
.hn-presentation .hn-gallery-more .hn-visitor-gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.hn-presentation .hn-gallery-more .hn-visitor-gallery :is(.hn-content-photo,.hn-gallery-unavailable){height:auto;aspect-ratio:1}
/* Products, recommendations, contact and location: the full content where the preview was. */
.hn-presentation .hn-inplace-card .hn-crafted-products,.hn-presentation .hn-inplace-card .hn-crafted-recommendations{gap:12px}
.hn-presentation .hn-inplace-card .hn-contact-actions{gap:10px}
.hn-page-compact .hn-contact-card.hn-inplace-card>h3.hn-contact-title{cursor:auto;margin:0 0 8px}
.hn-presentation .hn-inplace-card .hn-location-detail{padding-top:4px}
.hn-presentation .hn-inplace-card .hn-location-place h4{margin:0;font-size:16px;line-height:1.3}
.hn-presentation .hn-inplace-card .hn-location-directions{display:inline-flex;margin-top:10px}
/* Dialogs that stay (reader, photo, player, booking) are served closed; without script a #link shows one inline. */
.hn-presentation .hn-info-dialog:not([data-enhanced]):target{display:block}
/* On phones a dialog is a bottom sheet: full width, thumb-reachable close, Back closes it (information-details.ts). */
@media (max-width:650px){
  .hn-presentation .hn-info-dialog[data-enhanced][open]:not([data-hn-pdf-fullscreen=true]){width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;border-radius:18px 18px 0 0;border-bottom:0}
}
@media (prefers-reduced-motion:no-preference){
  @media (max-width:650px){.hn-presentation .hn-info-dialog[data-enhanced][open]:not([data-hn-pdf-fullscreen=true]){animation:hn-sheet .22s ease-out}}
}
@keyframes hn-sheet{from{transform:translateY(32px);opacity:.4}to{transform:none;opacity:1}}
.hn-presentation .hn-service-card>.hn-service-card-action:not(:empty){margin-top:auto;padding-top:12px}
.hn-presentation .hn-service-card>.hn-service-card-action .hn-crafted-action{display:inline-flex}
.hn-presentation .hn-service-card>.hn-service-card-action:not(:empty)+.hn-more{margin-top:12px}
.hn-page-spacious .hn-page-slot .hn-document-row-copy :is(strong,small){display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
/* Video (VideoCard.tsx): one card holds a row of videos, like a row of reels. Phones first: the row swipes, the
   next tile peeks in and the edge fades while there is more; mouse and trackpad users also get arrows (video-row.ts).
   One video is one well-proportioned poster. Every tile opens a full-screen player. */
.hn-presentation.hn-page-compact .hn-video-card{padding:16px;--hn-video-bleed:16px}
.hn-presentation .hn-video-heading{display:flex;align-items:center;gap:12px}.hn-presentation .hn-video-heading>span:last-child{min-width:0}
.hn-presentation .hn-video-caption{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hn-presentation .hn-video-card>.hn-card-preview{align-self:stretch;width:100%;min-width:0;margin-top:14px}
.hn-presentation.hn-page-spacious .hn-video-card>.hn-card-preview{margin-top:0}
.hn-video-strip{position:relative}
.hn-presentation .hn-video-row{display:flex;gap:10px;margin:0 calc(-1 * var(--hn-video-bleed,0px));padding:0 var(--hn-video-bleed,0px) 2px;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--hn-video-bleed,0px);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.hn-presentation .hn-video-row::-webkit-scrollbar{display:none}
.hn-video-strip:not([data-hn-video-more-end=false]) .hn-video-row{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
.hn-video-strip[data-hn-video-more-start=true]:not([data-hn-video-more-end=false]) .hn-video-row{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent)}
.hn-video-strip[data-hn-video-more-start=true][data-hn-video-more-end=false] .hn-video-row{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px);mask-image:linear-gradient(90deg,transparent,#000 36px)}
.hn-presentation .hn-video-row>li{flex:0 0 auto;width:var(--hn-video-tile,136px);min-width:0;scroll-snap-align:start}
.hn-video-strip[data-hn-video-row-shape=wide]{--hn-video-tile:232px}.hn-video-strip[data-hn-video-row-shape=mixed]{--hn-video-tile:160px}
.hn-presentation.hn-presentation .hn-video-open{display:block;width:100%;padding:0;border:0;border-radius:12px;background:none;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer}
.hn-presentation .hn-video-open:focus-visible{outline:3px solid #426b50;outline-offset:3px}
.hn-presentation .hn-video-poster{position:relative;display:block;overflow:hidden;isolation:isolate;aspect-ratio:9/16;border-radius:12px;background:linear-gradient(160deg,#33443c,#18231e)}
.hn-video-strip[data-hn-video-row-shape=wide] .hn-video-poster,.hn-video-card[data-hn-video-frame=wide] .hn-video-single .hn-video-poster{aspect-ratio:16/9}
.hn-video-strip[data-hn-video-row-shape=mixed] .hn-video-poster,.hn-video-card[data-hn-video-frame=tall] .hn-video-single .hn-video-poster{aspect-ratio:4/5}
.hn-presentation .hn-video-poster>:is(.hn-content-photo,.hn-video-moment,.hn-video-tone,.hn-video-backdrop){position:absolute;inset:0;width:100%;height:100%;border-radius:0;max-height:none}
.hn-presentation .hn-video-poster .hn-content-photo>img,.hn-presentation .hn-video-moment{display:block;width:100%;height:100%;max-height:none;object-fit:cover;background:none;transition:transform .35s ease,opacity .3s ease}
.hn-presentation .hn-video-moment{opacity:0}.hn-presentation .hn-video-moment[data-hn-video-ready]{opacity:1}
.hn-presentation .hn-video-tone{display:grid;place-items:center;color:#ffffff70}
.hn-presentation .hn-video-poster>.hn-video-link-cover{position:absolute;inset:0;display:block;background:center/cover no-repeat}
.hn-presentation .hn-video-backdrop{display:none}
.hn-presentation .hn-video-poster::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 52%,#0000008a);pointer-events:none}
.hn-presentation .hn-video-play{position:absolute;left:10px;bottom:10px;z-index:2;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fffffff2;color:#18231e;box-shadow:0 2px 12px #0000003d}
.hn-presentation .hn-video-play svg{fill:currentColor;margin-left:2px}
.hn-presentation .hn-video-duration{position:absolute;right:10px;bottom:19px;z-index:2;color:#fff;font-size:12px;font-weight:650;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #0009}
.hn-presentation .hn-video-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:8px;font-size:13px;line-height:1.35;font-weight:600;color:var(--hn-card-ink)}
.hn-presentation .hn-video-single .hn-video-title{font-size:14px;margin-top:10px}
.hn-presentation .hn-video-single .hn-video-play{left:14px;bottom:14px;width:46px;height:46px}.hn-presentation .hn-video-single .hn-video-play svg{width:20px;height:20px}
.hn-presentation .hn-video-single .hn-video-duration{right:14px;bottom:30px;font-size:13px}
@media (hover:hover){.hn-presentation .hn-video-open:hover .hn-video-poster :is(img,.hn-video-moment){transform:scale(1.035)}.hn-presentation .hn-video-open:hover .hn-video-poster .hn-video-backdrop{transform:scale(1.15)}}
.hn-presentation.hn-presentation .hn-video-scroll{position:absolute;top:calc(var(--hn-video-tile,136px) * .89);z-index:3;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #0000001a;border-radius:50%;background:#fffffff2;color:#18231e;box-shadow:0 3px 14px #0000002e;transform:translateY(-50%);cursor:pointer;transition:opacity .15s}
.hn-video-strip[data-hn-video-row-shape=wide] .hn-video-scroll{top:calc(var(--hn-video-tile) * .28)}.hn-video-strip[data-hn-video-row-shape=mixed] .hn-video-scroll{top:calc(var(--hn-video-tile) * .62)}
.hn-presentation .hn-video-scroll[data-hn-video-scroll=previous]{left:-8px}.hn-presentation .hn-video-scroll[data-hn-video-scroll=next]{right:-8px}
.hn-presentation .hn-video-scroll[hidden]{display:none}.hn-presentation .hn-video-scroll:disabled{opacity:0;pointer-events:none}
@media (hover:hover) and (pointer:fine){.hn-presentation .hn-video-hint{display:none}}
/* Spacious: a bounded preview (the shared 300px ceiling) and no bleed past the card's padding. */
.hn-page-spacious .hn-video-card{--hn-video-tile:132px}
.hn-page-spacious .hn-video-strip[data-hn-video-row-shape=wide]{--hn-video-tile:220px}.hn-page-spacious .hn-video-strip[data-hn-video-row-shape=mixed]{--hn-video-tile:150px}
.hn-page-spacious .hn-video-single .hn-video-poster{max-height:280px}
.hn-page-spacious .hn-video-card[data-hn-video-frame=tall] .hn-video-single .hn-video-poster{aspect-ratio:auto;height:280px}
.hn-page-spacious .hn-video-card[data-hn-video-frame=tall] .hn-video-single .hn-video-backdrop{display:block;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);object-fit:cover;filter:blur(22px) brightness(.62) saturate(1.1);transition:transform .35s ease}
.hn-page-spacious .hn-video-card[data-hn-video-frame=tall] .hn-video-single .hn-content-photo{background:none}
.hn-page-spacious .hn-video-card[data-hn-video-frame=tall] .hn-video-single :is(.hn-content-photo>img,.hn-video-moment){object-fit:contain}
.hn-page-spacious .hn-page-slot .hn-video-card .hn-video-title{-webkit-line-clamp:2}

/* The player: full screen on every device; tall videos fill a phone. Back, Escape or ✕ closes it (information-details.ts);
   swipe, arrow keys or the side arrows move between videos (gallery-swipe.ts). */
.hn-presentation.hn-presentation .hn-info-dialog.hn-video-player[data-enhanced][open]{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#0b100e;color:#ece9e1;overflow:hidden auto;overscroll-behavior:contain;scrollbar-width:none;box-shadow:none;animation:none}
.hn-presentation .hn-video-player::-webkit-scrollbar{display:none}
@media (prefers-reduced-motion:no-preference){.hn-presentation.hn-presentation .hn-info-dialog.hn-video-player[data-enhanced][open]{animation:hn-player .2s ease-out}}
@keyframes hn-player{from{opacity:0}to{opacity:1}}
.hn-presentation .hn-video-player::backdrop{background:#000}
.hn-presentation .hn-video-player:not([data-enhanced]){background:#0b100e;color:#ece9e1}
.hn-presentation .hn-video-player[data-enhanced]>header{position:absolute;inset:0 0 auto;z-index:3;align-items:flex-start;padding:max(14px,env(safe-area-inset-top)) 14px 34px 20px;border:0;background:linear-gradient(#000000b8,#0000);pointer-events:none}
.hn-presentation .hn-video-player>header>*{pointer-events:auto}
.hn-presentation .hn-video-player-title{min-width:0;padding-top:6px}
.hn-presentation .hn-video-player h2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#fff;font-size:17px;line-height:1.3;letter-spacing:-.01em;text-shadow:0 1px 4px #0008}
.hn-presentation .hn-video-player-title>span{display:block;margin-top:3px;color:#ffffffbf;font-size:12px;font-variant-numeric:tabular-nums}
.hn-presentation.hn-presentation .hn-video-player [data-hn-information-close]{width:44px;height:44px;border:0;border-radius:50%;background:#ffffff2e;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hn-presentation .hn-video-player .hn-video-player-body{position:relative;padding:0}
.hn-presentation .hn-video-player[data-enhanced] .hn-video-player-stage{position:relative;display:flex;align-items:center;justify-content:center;height:100dvh;background:#000}
.hn-presentation .hn-video-player .hn-native-video{width:100%;height:100%;margin:0}
.hn-presentation .hn-video-player:not([data-enhanced]) .hn-native-video{height:min(80vh,720px)}
.hn-presentation .hn-video-player .hn-native-video video,.hn-presentation .hn-video-player .hn-native-video[data-hn-video-frame=tall] video{display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;margin:0;border-radius:0;object-fit:contain;background:#000}
.hn-presentation .hn-video-player .hn-native-audio-error{position:absolute;left:20px;right:20px;bottom:88px;margin:0;padding:10px 14px;border-radius:10px;background:#000000b3;color:#fff;text-align:center}
.hn-presentation .hn-video-player :is(.hn-media-embed,.hn-media-expectation,.hn-page-correction){width:min(100%,600px);padding:0 22px;color:#e4e1d8;text-align:center}
.hn-presentation .hn-video-player .hn-media-embed .hn-media-player-slot iframe{width:100%;aspect-ratio:16/9;background:#111}
/* Once the visitor loads the player (its Close player button shows), the video owns the viewer: the consent note steps aside and
   the player runs edge to edge. The status line stays for screen readers only. Closing the player restores the note. */
.hn-presentation .hn-video-player .hn-media-embed:has(> .hn-media-stop:not([hidden])) { width:100%; padding:0; }
.hn-presentation .hn-video-player .hn-media-embed:has(> .hn-media-stop:not([hidden])) > .hn-media-expectation { display:none; }
.hn-presentation .hn-video-player .hn-media-embed:has(> .hn-media-stop:not([hidden])) .hn-media-player-slot { margin-top:0; }
.hn-presentation .hn-video-player .hn-media-embed:has(> .hn-media-stop:not([hidden])) .hn-media-player-slot iframe { border-radius:0; }
.hn-presentation .hn-video-player .hn-media-embed:has(> .hn-media-stop:not([hidden])) .hn-media-player-status { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.hn-presentation .hn-video-player .hn-media-embed:has(> .hn-media-stop:not([hidden])) .hn-media-stop { margin:18px auto 0; display:block; }
.hn-presentation .hn-video-player .hn-media-embed[data-hn-video-frame=tall] .hn-media-player-slot iframe{width:auto;height:min(calc(100dvh - 190px),760px);aspect-ratio:9/16;margin-inline:auto}
.hn-presentation .hn-video-player .hn-media-player-status{color:#d6d3c9}
.hn-presentation .hn-video-handoff{display:grid;justify-items:center;gap:6px;width:100%}
.hn-presentation .hn-video-handoff .hn-media-detail-photo{width:min(100% - 44px,420px);margin:0;background:none}.hn-presentation .hn-video-handoff .hn-media-detail-photo>img{max-height:min(62dvh,560px);border-radius:12px}
.hn-presentation .hn-video-player-nav a{position:absolute;top:calc(50dvh - 22px);z-index:2;display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff3d;border-radius:50%;background:#0000005c;color:#fff;box-shadow:0 2px 10px #0000003d;text-decoration:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.hn-presentation .hn-video-player:not([data-enhanced]) .hn-video-player-nav a{position:static;display:inline-grid;margin:12px 6px 0 0;background:#ffffff26}
.hn-presentation .hn-video-player-nav a:first-child{left:12px}.hn-presentation .hn-video-player-nav a:last-child{right:12px}
.hn-presentation .hn-video-player-nav a:focus-visible{outline:3px solid #fff;outline-offset:2px}
.hn-presentation .hn-video-player-nav span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hn-presentation .hn-video-player-notes{max-width:640px;margin:0 auto;padding:18px 20px max(28px,env(safe-area-inset-bottom))}
.hn-presentation .hn-video-player-notes:empty{display:none}
.hn-presentation .hn-video-player-notes .hn-media-caption{margin:0 0 12px;color:#e4e1d8;font-size:14px;line-height:1.7;white-space:pre-wrap}
.hn-presentation .hn-video-player-notes .hn-media-original{background:#ffffff14;border-color:#ffffff2e;color:#fff}
.hn-presentation .hn-video-player-notes .hn-media-transcript{border-color:#ffffff24}.hn-presentation .hn-video-player-notes .hn-media-transcript :is(summary,p){color:#ece9e1}
/* Horizontal swipes belong to the player; vertical scroll (to the notes) and zoom stay native. */
.hn-presentation .hn-video-player-body{touch-action:pan-y pinch-zoom}
@media (min-width:900px){.hn-presentation .hn-video-player .hn-video-player-nav a{width:52px;height:52px;top:calc(50dvh - 26px)}.hn-presentation .hn-video-player .hn-video-player-nav a:first-child{left:24px}.hn-presentation .hn-video-player .hn-video-player-nav a:last-child{right:24px}}
/* Spacious on phones: the row runs to the card's edges and the third tile clearly peeks in, as on Compact. */
@container hn-page (max-width:539px){.hn-presentation.hn-page-spacious .hn-video-card{--hn-video-tile:120px}.hn-presentation.hn-page-spacious .hn-video-card>.hn-video-strip{width:auto;margin-inline:-24px}.hn-presentation.hn-page-spacious .hn-video-strip .hn-video-row{padding-inline:24px;scroll-padding-inline:24px}.hn-presentation.hn-page-spacious .hn-video-strip .hn-video-scroll[data-hn-video-scroll=previous]{left:16px}.hn-presentation.hn-page-spacious .hn-video-strip .hn-video-scroll[data-hn-video-scroll=next]{right:16px}}
/* ── Social feed (kind 'social', SocialFeedCard.tsx) ──────────────────────────────────────────────────────
   Top posts per platform, as our own cached thumbnails (same origin) with a caption's first line; a tap opens
   the post on Instagram or Facebook. Compact: one swipeable scroll-snap row per platform, no script.
   Spacious: a full-row card with a 5-tile grid, which becomes the same swipeable row on phones.
   Reels are 9:16, everything else 4:5. A tile is never an empty hole: a tone shows while it loads, then an icon if it fails. */
.hn-presentation .hn-page-card.hn-socialfeed-card{display:block;grid-column:1/-1;padding:22px;min-width:0}
.hn-page-spacious .hn-page-card.hn-socialfeed-card{padding:26px}
.hn-socialfeed-card .hn-socialfeed-intro h3{margin:0 0 6px}
.hn-socialfeed-card .hn-socialfeed-intro p{font-size:13px;line-height:1.7;white-space:pre-line;overflow-wrap:anywhere;margin:0}
.hn-socialfeed-card .hn-socialfeed-sample{font-size:11px;line-height:1.5;font-weight:600;color:#5b4c22;background:#fff6db;border:1px solid #d2c7a0;padding:6px 10px;border-radius:8px;margin:0 0 14px}
.hn-socialfeed-card .hn-socialfeed-group{margin-top:18px;min-width:0}
.hn-socialfeed-card .hn-socialfeed-head{display:flex;align-items:center;justify-content:space-between;gap:4px 12px;flex-wrap:wrap;margin-bottom:6px}
.hn-socialfeed-card .hn-socialfeed-platform{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;min-width:0}
.hn-socialfeed-card .hn-socialfeed-platform small{font-weight:400;opacity:.75;overflow-wrap:anywhere}
.hn-socialfeed-card :is(.hn-socialfeed-head>a,.hn-socialfeed-see){display:inline-flex;align-items:center;min-height:44px;font-size:12px;font-weight:600;color:inherit;text-underline-offset:3px}
.hn-socialfeed-card :is(.hn-socialfeed-row,.hn-socialfeed-grid){list-style:none;margin:0;padding:0}
.hn-socialfeed-card .hn-socialfeed-row{display:flex;gap:10px;align-items:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:6px}
.hn-socialfeed-card .hn-socialfeed-row>.hn-socialfeed-tile{flex:0 0 clamp(124px,40%,170px);scroll-snap-align:start}
.hn-socialfeed-card .hn-socialfeed-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:start}
@container hn-page (max-width:650px){
  .hn-page-spacious .hn-socialfeed-card .hn-socialfeed-grid{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:6px}
  .hn-page-spacious .hn-socialfeed-card .hn-socialfeed-grid>.hn-socialfeed-tile{flex:0 0 clamp(124px,40%,170px);scroll-snap-align:start}
}
.hn-socialfeed-card .hn-socialfeed-tile{min-width:0}
.hn-socialfeed-card :is(.hn-socialfeed-tile>a,.hn-socialfeed-static){display:block;color:inherit;text-decoration:none}
.hn-socialfeed-card .hn-socialfeed-tile>a:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:12px}
.hn-socialfeed-card .hn-socialfeed-thumb{position:relative;display:block;width:100%;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:color-mix(in srgb,currentColor 9%,transparent)}
.hn-socialfeed-card .hn-socialfeed-tall .hn-socialfeed-thumb{aspect-ratio:9/16}
.hn-socialfeed-card .hn-socialfeed-tile:nth-child(even) .hn-socialfeed-thumb{background:color-mix(in srgb,currentColor 14%,transparent)}
.hn-socialfeed-card .hn-socialfeed-thumb>img{display:block;width:100%;height:100%;object-fit:cover}
.hn-socialfeed-card .hn-socialfeed-placeholder{position:absolute;inset:0;display:grid;place-items:center;opacity:.55}
.hn-socialfeed-card .hn-socialfeed-placeholder[hidden]{display:none}
.hn-socialfeed-card .hn-socialfeed-play{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#000000a0;color:#fff}
.hn-socialfeed-card .hn-socialfeed-caption{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:7px;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.hn-socialfeed-card .hn-socialfeed-empty{font-size:13px;line-height:1.7;margin:14px 0}
.hn-page-spacious .hn-socialfeed-card>.hn-page-text-action{margin-top:20px}
.hn-presentation .hn-socialfeed-follow{grid-column:1/-1;margin:0}
.hn-presentation .hn-socialfeed-follow>a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:600;color:inherit;text-underline-offset:3px}
/* Visitor view switch (public pages only): quiet two-option toggle under the footer, in the page's own colours. */
.hn-view-switch{display:flex;width:max-content;max-width:calc(100% - 32px);margin:6px auto 28px;padding:3px;border:1px solid color-mix(in srgb,var(--hn-view-ink) 22%,transparent);border-radius:999px;color:var(--hn-view-ink);font:500 13px/1 system-ui,-apple-system,"Segoe UI",sans-serif}
.hn-view-switch>*{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border-radius:999px;color:inherit;text-decoration:none;white-space:nowrap}
.hn-view-switch>[aria-current]{background:var(--hn-view-ink);color:var(--hn-view-paper)}
.hn-view-switch>a{color:var(--hn-view-quiet,var(--hn-view-ink))}
.hn-view-switch>a:hover{color:var(--hn-view-ink);background:color-mix(in srgb,var(--hn-view-ink) 8%,transparent)}
.hn-view-switch>a:focus-visible{color:var(--hn-view-ink);outline:2px solid var(--hn-view-ink);outline-offset:2px}

/* Contrast layer (Oct 2026): one rule for secondary text inside cards on any page
   colour. Cards paint --hn-card-ink (set per section to reach 4.5:1 on the card);
   secondary text is --hn-muted of that ink, never a fixed grey and never faded twice. */
.hn-presentation :is(.hn-page-credit,.hn-page-photo-credits){color:var(--hn-chrome-ink,currentColor)}
.hn-presentation .hn-page-photo-credits{color:color-mix(in srgb,var(--hn-chrome-ink,currentColor) 84%,transparent)}
.hn-presentation .hn-service-card .hn-service-detail p{opacity:1}
.hn-presentation .hn-service-includes>span{opacity:1;color:var(--hn-muted)}
.hn-presentation :is(.hn-crafted-detail>span,.hn-crafted-reason>span,.hn-crafted-booking-note>span,.hn-crafted-footnote,.hn-crafted-provider p,.hn-crafted-empty,.hn-crafted-booking-banner small,.hn-crafted-eyebrow,.hn-crafted-expectation,.hn-crafted-product-mark,.hn-location-area-note,.hn-document-toolbar>span,.hn-document-purpose,.hn-document-footer>p){color:var(--hn-muted)}
.hn-presentation :is(.hn-crafted-products,.hn-crafted-recommendations) .hn-crafted-action.disabled{color:#646d5c}
.hn-profile-portrait{display:block;max-width:100%}.hn-info-heading{display:flex;align-items:center;gap:16px;margin-bottom:12px}.hn-info-heading h3{min-width:0;margin:0}.hn-info-heading>a{flex-shrink:0}.hn-info-portrait{padding-bottom:16px}.hn-info-dialog-body>.hn-profile-portrait{margin:0 auto 24px}.hn-save-contact-card>.hn-profile-portrait{margin-bottom:12px}
.hn-page-spacious .hn-info-heading{width:100%;max-height:108px;overflow:hidden}.hn-page-spacious .hn-info-heading h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
/* NativeReviews.jsx ReviewPreview/ReviewCard; next-design.css38–42.
   Operational review rows and aggregate are injected, never document content. */
.hn-native-reviews{container-type:inline-size;min-width:0;color:inherit}
.hn-native-reviews .hn-review-preview{padding:26px;border:1px solid #c8d0bb;background:#fffdf8b8;border-radius:8px}
.hn-native-reviews .hn-review-preview-top{display:flex;gap:24px;justify-content:space-between;align-items:flex-start;margin-bottom:25px}
.hn-native-reviews .hn-review-preview-top>div:first-child{min-width:0}
.hn-native-reviews .hn-review-eyebrow{font-size:8px;letter-spacing:.13em;font-weight:700;text-transform:uppercase}
.hn-native-reviews .hn-review-preview-top h3{font:500 28px/1.2 var(--hn-display,Lora,serif);margin:12px 0}
.hn-native-reviews .hn-review-preview-top p{font-size:11px;line-height:1.8;opacity:.7;max-width:430px;white-space:pre-line;overflow-wrap:anywhere}
.hn-native-reviews .hn-review-score{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0;min-width:90px}
.hn-native-reviews .hn-review-score>strong{font:500 48px/1 Lora,serif;letter-spacing:-.04em}
.hn-native-reviews .hn-review-score>small{font-size:10px}
.hn-native-reviews .hn-review-stars{display:inline-flex;gap:3px;color:#8e743f}
.hn-native-reviews .hn-review-preview-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hn-native-reviews .hn-native-review{min-width:0;border-bottom:1px solid #dfe3d7;padding:24px 0}
.hn-native-reviews .hn-native-review>header{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.hn-native-reviews .hn-review-avatar{display:grid;place-items:center;background:#e9ede1;color:#5f7454;border-radius:50%;width:35px;height:35px;flex-shrink:0;font-size:11px}
.hn-native-reviews .hn-native-review header>div{flex:1;min-width:0}
.hn-native-reviews .hn-native-review strong{font-size:12px;font-weight:600;overflow-wrap:anywhere}
.hn-native-reviews .hn-native-review header small{display:block;font-size:10px;color:#6a7763;margin-top:3px}
.hn-native-reviews .hn-native-review time{font-size:9px;color:#7f8975;white-space:nowrap}
.hn-native-reviews .hn-native-review>p{font-size:13px;line-height:1.9;margin:13px 0 17px;white-space:pre-line;overflow-wrap:anywhere}
.hn-native-reviews .hn-review-preview-quotes .hn-native-review{border-top:1px solid #dce0d3;border-bottom:0;padding:20px 0 8px}
.hn-native-reviews .hn-review-preview-quotes time{display:none}
.hn-native-reviews .hn-review-preview-quotes .hn-native-review>p{font-size:11px}
.hn-native-reviews .hn-review-preview-quotes .hn-native-review header small{font-size:9px}
.hn-native-reviews .hn-native-review footer{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:auto}
.hn-native-reviews .hn-native-review footer small{font-size:9px;color:#7d8773}
.hn-native-reviews .hn-native-review footer button{font-size:10px;display:flex;align-items:center;gap:5px;color:#687a5a;min-height:32px}
.hn-native-reviews .hn-review-feedback{font-size:10px;background:#edf1e6;color:#4f6743;border-radius:5px;padding:6px 9px;display:inline-block;margin:4px 5px 10px 0}
.hn-native-reviews .hn-review-owner-response{border-left:2px solid #b9c7a7;background:#f1f4eb;padding:13px 17px;margin:17px 0}
.hn-native-reviews .hn-review-owner-response>span{font-size:10px;font-weight:600;color:#647756}
.hn-native-reviews .hn-review-owner-response p{font-size:12px;line-height:1.8;margin-top:6px;white-space:pre-line;overflow-wrap:anywhere}
.hn-native-reviews .hn-review-preview-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #d7ddcd;margin-top:20px;padding-top:20px}
.hn-native-reviews .hn-review-preview-actions button{font-size:10px}
.hn-native-reviews .hn-review-preview-actions>button{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:9px 13px;border:1px solid #d8ddcf;border-radius:9px;background:#fffdf8;color:inherit;font-weight:650;cursor:pointer}
.hn-native-reviews .hn-review-preview-actions>.hn-review-write-action{background:#2d5039;color:white;border-color:#2d5039}
.hn-native-reviews button:disabled{opacity:.4;cursor:not-allowed}
.hn-native-reviews button:focus-visible{outline:2px solid #426b50;outline-offset:4px}
.hn-native-reviews .hn-reviews-first{padding:32px 0;text-align:center}
.hn-native-reviews .hn-reviews-first h4{font:500 25px Lora,serif}
.hn-native-reviews .hn-reviews-first p{font-size:12px;color:#728267;line-height:1.8;margin:12px 0}
.hn-native-reviews .hn-reviews-unavailable{font-size:11px;line-height:1.8;margin:16px 0}
.hn-native-reviews.hn-reviews-compact .hn-review-preview{padding:5px;border:0;background:transparent}
.hn-native-reviews.hn-reviews-compact .hn-review-preview-top{gap:10px}
.hn-native-reviews.hn-reviews-compact .hn-review-preview-top h3{font-size:21px}
.hn-native-reviews.hn-reviews-compact .hn-review-preview-quotes{grid-template-columns:1fr}
.hn-native-reviews.hn-reviews-compact .hn-review-score{min-width:65px}
.hn-native-reviews.hn-reviews-compact .hn-review-score>strong{font-size:32px}
.hn-native-reviews.hn-reviews-compact .hn-review-preview-actions{flex-wrap:wrap}
.hn-native-reviews.hn-reviews-compact .hn-review-preview-top p{font-size:10px}
.hn-native-reviews.hn-reviews-compact .hn-native-review>p{font-size:12px}
@container(max-width:849px){.hn-native-reviews .hn-review-preview-quotes{grid-template-columns:1fr 1fr}.hn-native-reviews .hn-review-preview-quotes>.hn-native-review:nth-child(3){display:none}}
@container(max-width:539px){.hn-native-reviews .hn-review-preview-quotes{grid-template-columns:1fr}.hn-native-reviews .hn-review-preview-quotes>.hn-native-review:nth-child(n+2){display:none}.hn-native-reviews .hn-review-preview{padding:20px}.hn-native-reviews .hn-review-preview-top h3{font-size:25px}.hn-native-reviews .hn-review-preview-top{gap:12px}.hn-native-reviews .hn-review-score{min-width:65px}.hn-native-reviews .hn-review-score>strong{font-size:36px}.hn-native-reviews .hn-review-preview-actions{flex-wrap:wrap}}

/* One card, source-specific collections. Never a combined rating. */
.hn-review-sources{min-width:0}.hn-review-tabs{display:flex;gap:6px;margin:14px 0}.hn-review-tabs button{flex:1;min-width:0;min-height:44px;padding:9px 10px;border:1px solid #b9c5b6;border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:12px;font-weight:600;line-height:1.4;white-space:normal}.hn-review-tabs [aria-selected=true]{background:var(--hn-card-surface,#edf0e7);border-color:currentColor}.hn-reviews-source[hidden]{display:none!important}.hn-native-score{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0}.hn-native-score>strong{width:100%;font-size:12px}.hn-native-score>span:not(.hn-review-stars){font-size:24px;font-weight:700}.hn-review-verification{font-size:11px;opacity:.75}.hn-review-sources>[data-review-context] .hn-native-review>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.hn-review-sources>[data-review-context] .hn-review-owner-response p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.hn-review-sources>[data-review-context] .hn-native-review{padding:12px 0}.hn-review-sources>[data-review-context] .hn-native-review header{margin-bottom:8px}.hn-review-sources>[data-review-context] .hn-native-review time,.hn-review-sources>[data-review-context] .hn-native-review footer{display:none}.hn-review-sources>[data-review-context] .hn-review-preview-entry>a{display:inline-block;min-height:32px;padding:6px 0;font-size:12px}.hn-page-spacious .hn-review-sources>[data-review-context] .hn-native-review>p{-webkit-line-clamp:2}.hn-page-spacious .hn-review-sources>[data-review-context] .hn-review-owner-response p{-webkit-line-clamp:1}.hn-reviews-dialog{max-width:760px}.hn-reviews-dialog p{overflow-wrap:anywhere;white-space:pre-line}.hn-reviews-dialog .hn-info-dialog-body{display:block}.hn-review-write,.hn-review-report{margin:14px 0}.hn-review-write summary,.hn-review-report summary{cursor:pointer;padding:12px 0;min-height:44px;box-sizing:border-box}.hn-reviews-dialog form{display:grid;gap:12px;padding:12px 0}.hn-reviews-dialog form[hidden]{display:none}.hn-reviews-dialog label{display:block;font-size:13px;font-weight:600;margin:12px 0}.hn-reviews-dialog input,.hn-reviews-dialog select,.hn-reviews-dialog textarea{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;font:inherit;font-size:16px;font-weight:400;line-height:1.5;padding:10px;margin-top:6px;border:1px solid #b9c5b6;border-radius:8px;background:#fffdf8;color:#243c32}.hn-reviews-dialog button{min-height:44px;padding:10px 14px;border-radius:8px;border:1px solid #879e8a;background:#edf0e7;color:#243c32}.hn-reviews-dialog .hn-native-review p{white-space:pre-line}.hn-reviews-dialog [role=status]{font-size:13px;min-height:20px}.hn-review-source-editor fieldset{min-width:0;padding:16px;margin:20px 0;border:1px solid #d9ddcf;border-radius:12px}.hn-source-order{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.hn-source-order button{min-height:44px}.hn-owner-review{padding:20px;margin:20px 0;border:1px solid #d9ddcf;border-radius:14px;background:#fffdf8;overflow-wrap:anywhere}.hn-owner-review header{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.hn-owner-review>p{white-space:pre-line}.hn-owner-review label{display:block;margin:12px 0}.hn-owner-review input,.hn-owner-review textarea,.hn-review-source-editor input,.hn-review-source-editor textarea{display:block;width:100%;box-sizing:border-box;min-width:0;padding:12px;font-size:16px}.hn-owner-review button{min-height:44px}.hn-owner-reviews{max-width:860px}.hn-owner-review>a{display:inline-block;font-size:12px;line-height:1.6;margin-top:10px}

/* Three readable previews remain visible at phone width; full text and replies
   stay in the dialog. Report retains a separate 44 px target. */
.hn-page-spacious .hn-review-sources>[data-review-context] .hn-review-preview-entry{position:relative;padding-right:50px;border-bottom:1px solid #dfe3d7}
.hn-page-spacious .hn-review-sources>[data-review-context] .hn-review-preview-entry>.hn-native-review{padding:10px 0;border:0}
.hn-page-spacious .hn-review-sources>[data-review-context] .hn-native-review>header{margin:0 0 4px;gap:6px}
.hn-page-spacious .hn-review-sources>[data-review-context] .hn-review-avatar{width:24px;height:24px;font-size:9px}
.hn-page-spacious .hn-review-sources>[data-review-context] .hn-native-review header small,.hn-page-spacious .hn-review-sources>[data-review-context] .hn-review-feedback{display:none}
.hn-page-spacious .hn-review-sources>[data-review-context] .hn-native-review>p{margin:4px 0 0;line-height:1.5;-webkit-line-clamp:1}
.hn-page-spacious .hn-review-sources>[data-review-context] .hn-review-owner-response{padding:4px 6px;margin:5px 0 0}
.hn-page-spacious .hn-review-sources>[data-review-context] .hn-review-owner-response p{margin:2px 0 0;line-height:1.4}
.hn-page-spacious .hn-review-sources>[data-review-context] .hn-review-preview-entry>a{position:absolute;right:0;top:8px;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;font-size:11px}

/* Native HereNook Booking picker (NativeBookingPicker.tsx): phone first, 44px+ targets. */
.hn-presentation .hn-nb-dialog .hn-info-dialog-body{padding:14px 20px 22px}
.hn-presentation .hn-nb-host{--nb-ink:#243c32;--nb-brand:#2d5039;--nb-muted:#5b6e63;--nb-line:#cfd8c6;--nb-soft:#f6f7f0;--nb-paper:#fffdf8;--nb-pick:#e3eddc;color:var(--nb-ink);font:400 15px/1.5 'DM Sans',Arial,sans-serif;min-width:0}
.hn-presentation .hn-nb-host .hn-crafted-booking-note{margin-bottom:16px}
.hn-presentation .hn-nb{display:flex;flex-direction:column;gap:16px;min-width:0}
.hn-presentation .hn-nb button,.hn-presentation .hn-nb input,.hn-presentation .hn-nb textarea{font-family:inherit;color:inherit;box-sizing:border-box}
.hn-presentation .hn-nb button{cursor:pointer}
.hn-presentation .hn-nb button:disabled{cursor:default;opacity:.6}
.hn-presentation .hn-nb :focus-visible{outline:3px solid #6f9a5f;outline-offset:2px}
.hn-presentation .hn-nb .hn-nb-title:focus-visible{outline:none}
.hn-presentation .hn-nb-title{font:600 22px/1.25 Lora,Georgia,serif;margin:0;outline:none}
.hn-presentation .hn-nb-services{display:flex;gap:8px;overflow-x:auto;margin:0 -20px;padding:2px 20px 4px;scrollbar-width:none}
.hn-presentation .hn-nb-services>button{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:56px;max-width:210px;padding:8px 14px;border-radius:16px;border:1px solid var(--nb-line);background:var(--nb-paper);text-align:left}
.hn-presentation .hn-nb-services>button strong{font-size:14px;overflow-wrap:anywhere}
.hn-presentation .hn-nb-services>button span{font-size:12px;opacity:.8}
.hn-presentation .hn-nb-services>button[aria-pressed=true]{border:2px solid var(--nb-brand);background:var(--nb-pick);padding:7px 13px}
.hn-presentation .hn-nb-soonest{display:flex;flex-direction:column;gap:6px;border-radius:22px;background:var(--nb-brand);color:var(--nb-paper);padding:20px}
.hn-presentation .hn-nb-soonest>span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#cfe0c8;overflow-wrap:anywhere}
.hn-presentation .hn-nb-soonest>strong{font:600 30px/1.1 Lora,Georgia,serif}
.hn-presentation .hn-nb-soonest>small{font-size:14px;color:#dbe8d5}
.hn-presentation .hn-nb-soonest>button{margin-top:10px;min-height:48px;border:0;border-radius:14px;background:var(--nb-paper);color:var(--nb-brand);font-size:16px;font-weight:700}
.hn-presentation .hn-nb-day header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}
.hn-presentation .hn-nb-day h4{margin:0;font-size:15px;font-weight:700}
.hn-presentation .hn-nb-day header>span{font-size:12px;color:var(--nb-muted)}
.hn-presentation .hn-nb-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.hn-presentation .hn-nb-time{min-height:44px;min-width:0;padding:0 14px;border-radius:12px;border:1px solid var(--nb-line);background:var(--nb-soft);font-size:15px;font-weight:500}
.hn-presentation .hn-nb-time:hover{border-color:var(--nb-brand)}
.hn-presentation .hn-nb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hn-presentation .hn-nb-grid .hn-nb-time{min-width:0;min-height:48px;font-weight:600}
.hn-presentation .hn-nb-strip{display:flex;gap:6px;overflow-x:auto;margin:0 -20px;padding:2px 20px 4px;scrollbar-width:none}
.hn-presentation .hn-nb-strip>button{flex:none;width:52px;min-height:88px;border-radius:16px;border:1px solid #d8ddcf;background:var(--nb-paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.hn-presentation .hn-nb-strip>button>span{font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.hn-presentation .hn-nb-strip>button>strong{font-size:18px}
.hn-presentation .hn-nb-strip>button>i{display:flex;align-items:flex-end;width:8px;height:24px;border-radius:4px;background:#e2e7da;overflow:hidden}
.hn-presentation .hn-nb-strip>button>i>b{display:block;width:100%;border-radius:4px;background:var(--nb-brand)}
.hn-presentation .hn-nb-strip>button.hn-nb-full{background:#f4f4ef;color:#7d8a82;border-color:#e3e6dc}
.hn-presentation .hn-nb-strip>button[aria-pressed=true]{background:var(--nb-ink);color:var(--nb-paper);border-color:var(--nb-ink)}
.hn-presentation .hn-nb-strip>button[aria-pressed=true]>i>b{background:#b8d4a8}
.hn-presentation .hn-nb-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:14px;background:#eef0e7}
.hn-presentation .hn-nb-parts>button{min-height:48px;border:0;border-radius:11px;background:transparent;color:var(--nb-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.hn-presentation .hn-nb-parts>button strong{font-size:14px}
.hn-presentation .hn-nb-parts>button span{font-size:11px;opacity:.85}
.hn-presentation .hn-nb-parts>button[aria-pressed=true]{background:var(--nb-paper);color:var(--nb-ink);box-shadow:0 1px 4px #243c3226}
.hn-presentation .hn-nb-none{border-radius:14px;border:1px dashed #b9c7b0;padding:12px 16px;font-size:14px;color:#4a5d52;text-align:center}
.hn-presentation .hn-nb-none>button{display:block;margin:4px auto 0;min-height:44px;border:0;background:none;color:var(--nb-brand);font-weight:700;font-size:14px}
.hn-presentation .hn-nb-primary{min-height:54px;border:0;border-radius:16px;background:var(--nb-brand);color:var(--nb-paper)!important;font-size:17px;font-weight:700;padding:0 18px}
.hn-presentation .hn-nb-secondary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;border-radius:14px;border:1px solid var(--nb-brand);background:var(--nb-paper);color:var(--nb-brand)!important;font-size:16px;font-weight:700;text-decoration:none;box-sizing:border-box}
.hn-presentation .hn-nb-link{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;border:0;background:none;color:var(--nb-muted)!important;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.hn-presentation.hn-presentation .hn-info-dialog .hn-nb-link[data-hn-information-close]{width:100%;height:auto;min-height:44px;border-radius:0}
.hn-presentation .hn-nb-back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:44px;border:0;background:none;color:var(--nb-brand);font-size:15px;font-weight:700;padding:0;margin-bottom:-8px}
.hn-presentation .hn-nb-summary{display:flex;flex-direction:column;gap:4px;border-radius:20px;border:1px solid #dfe5d6;background:var(--nb-soft);padding:16px 18px}
.hn-presentation .hn-nb-summary>span{font-size:13px;color:var(--nb-muted);overflow-wrap:anywhere}
.hn-presentation .hn-nb-summary>strong{font:600 22px/1.25 Lora,Georgia,serif}
.hn-presentation .hn-nb-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}
.hn-presentation .hn-nb-field small{font-weight:400;color:var(--nb-muted);font-size:13px;margin-left:4px}
.hn-presentation .hn-nb-field input,.hn-presentation .hn-nb-field textarea{width:100%;min-width:0;min-height:48px;border-radius:12px;border:1px solid var(--nb-line);background:var(--nb-paper);padding:10px 14px;font-size:16px;font-weight:400}
.hn-presentation .hn-nb-field textarea{resize:vertical}
.hn-presentation .hn-nb-code{letter-spacing:.4em;font-size:22px!important;text-align:center}
.hn-presentation .hn-nb-quiet{display:block;margin:0;font-size:13px;color:var(--nb-muted);line-height:1.55}
.hn-presentation .hn-nb-quiet>svg{vertical-align:-2px}
.hn-presentation .hn-nb-zone{margin:0;font-size:12px;color:var(--nb-muted);text-align:center}
.hn-presentation .hn-nb-hint{margin:-10px 0 0;font-size:12px;color:var(--nb-muted);text-align:center}
.hn-presentation .hn-nb-preview{margin:0;padding:8px 12px;border-radius:10px;background:#fff6dc;color:#6a5520;font-size:12px;text-align:center}
.hn-presentation .hn-nb-error{margin:0;padding:10px 12px;border-radius:10px;background:#fbeae5;color:#8a3424;font-size:14px}
.hn-presentation .hn-nb-notice{margin:0;padding:10px 12px;border-radius:10px;background:#fff6dc;color:#5e4b17;font-size:14px}
.hn-presentation .hn-nb-loading,.hn-presentation .hn-nb-empty{margin:0;padding:18px 0;color:var(--nb-muted);text-align:center}
.hn-presentation .hn-nb-done{align-items:center;text-align:center;padding-top:16px}
.hn-presentation .hn-nb-tick{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--nb-pick);color:var(--nb-brand)}
.hn-presentation .hn-nb-done .hn-nb-title{font-size:28px}
.hn-presentation .hn-nb-done-when{margin:0;font-size:16px}
@media (prefers-reduced-motion:no-preference){.hn-presentation .hn-nb-time,.hn-presentation .hn-nb-services>button,.hn-presentation .hn-nb-strip>button{transition:border-color .15s,background .15s}}
/* Page header (Oct 2026): the approved Willow & Finch header on every Nook, Compact and Spacious.
   A top bar (logo or mark; round Save contact and Share), then the owner's choice of a large
   ringed portrait, or the cover artwork with the portrait over it; then the person and role,
   eyebrow, serif business name, one-line tagline and round social links. Colours come from the
   page's own ink, paper and accent, so dark custom pages work too. Gardensphere keeps its own. */
.hn-presentation .hn-page-identity.hn-id{position:relative;display:block;padding:0 0 10px;text-align:center}
.hn-presentation .hn-id .hn-id-bar{position:absolute;z-index:3;top:12px;left:14px;right:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}
.hn-presentation .hn-id .hn-id-bar>*{pointer-events:auto}
.hn-presentation :is(.hn-id .hn-id-mark,.hn-id-action){position:relative;display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;margin:0;padding:0;border:1px solid #1f2e2729;border-radius:50%;background:#fffdf8ee;color:#263a31;box-shadow:0 3px 10px #1c2a2418;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden;text-decoration:none}
.hn-presentation .hn-id .hn-id-mark :is(.hn-page-compact-logo-frame,.hn-page-compact-logo){display:block;width:100%;height:100%;margin:0;border:0;border-radius:0;object-fit:cover}
.hn-presentation .hn-id .hn-id-mark-monogram{font:600 15px/1 var(--hn-display);letter-spacing:-.02em}
.hn-presentation .hn-id-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}
.hn-presentation .hn-id-action{overflow:visible;cursor:pointer}
.hn-presentation .hn-id-action svg{width:20px;height:20px;stroke-width:1.8}
.hn-presentation .hn-id-action:hover{background:#eef2ea}
.hn-presentation .hn-id-action:focus-visible{outline:3px solid var(--hn-ink);outline-offset:3px}
.hn-presentation .hn-id-action-preview{cursor:default}
@media (hover:hover){.hn-presentation .hn-id-action::after{content:attr(data-label);position:absolute;top:calc(100% + 7px);right:0;padding:5px 9px;border-radius:7px;background:var(--hn-ink);color:var(--hn-paper);font:600 11px/1.2 'DM Sans',Arial,sans-serif;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s}.hn-presentation .hn-id-action:is(:hover,:focus-visible)::after{opacity:1;visibility:visible}}
/* Artwork: the cover runs edge to edge in Compact and on Spacious phones; a framed banner on wider Spacious pages. */
.hn-presentation .hn-id-cover{position:relative;margin:0;height:156px;overflow:hidden;background:var(--hn-soft)}
.hn-presentation .hn-id-cover>img{display:block;width:100%;height:100%;object-fit:cover;color:var(--hn-ink);font:400 12px/1.5 'DM Sans',Arial,sans-serif}
.hn-presentation .hn-id-cover.hn-cover-focus-top>img{object-position:50% 0%}
.hn-presentation .hn-id-cover.hn-cover-focus-bottom>img{object-position:50% 100%}
.hn-presentation .hn-id-cover .hn-page-cover-fallback{inset:16px 20px 64px}
.hn-presentation .hn-id-cover .hn-page-cover-caption{top:14px;bottom:auto;left:14px;right:auto;max-width:min(62%,360px);padding:8px 11px;font-size:12px;line-height:1.4}
/* The portrait: the owner's logo or photo, or their initials, in a paper ring. */
.hn-presentation .hn-id-portrait{position:relative;z-index:1;display:grid;place-items:center;width:112px;height:112px;margin:32px auto 0;border:5px solid var(--hn-paper);border-radius:50%;background:color-mix(in srgb,var(--hn-accent) 13%,var(--hn-paper));box-shadow:0 8px 26px #19262224;overflow:hidden}
.hn-presentation .hn-id-style-artwork .hn-id-portrait{margin-top:-52px}
.hn-presentation .hn-id-portrait>img{display:block;width:100%;height:100%;object-fit:cover}
.hn-presentation .hn-id-portrait>.hn-id-monogram{font:500 40px/1 var(--hn-display);letter-spacing:-.03em;color:color-mix(in srgb,var(--hn-accent) 55%,var(--hn-ink))}
.hn-presentation .hn-id-portrait>[hidden]{display:none}
.hn-presentation .hn-id-body{padding:0 22px}
.hn-presentation .hn-page-identity.hn-id .hn-id-copy{max-width:560px;margin:0 auto;padding:0;text-align:center}
.hn-presentation .hn-id .hn-id-person{display:flex;flex-direction:column;gap:1px;margin:12px 0 0;font:400 13px/1.5 'DM Sans',Arial,sans-serif;color:var(--hn-muted)}
.hn-presentation .hn-id .hn-id-person strong{font-size:16px;font-weight:600;color:var(--hn-ink)}
.hn-presentation .hn-id .hn-page-descriptor.hn-id-eyebrow{display:block;margin:24px 0 10px;font:600 11px/1.5 'DM Sans',Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--hn-id-accent,var(--hn-muted));opacity:1}
.hn-presentation .hn-id .hn-page-descriptor.hn-id-eyebrow-long{font-size:13px;font-weight:500;letter-spacing:.01em;text-transform:none;text-wrap:balance}
.hn-presentation .hn-id h1{max-width:560px;margin:0 auto;font:500 36px/1.1 var(--hn-display);letter-spacing:-.04em;white-space:normal;text-wrap:balance;color:var(--hn-ink)}
.hn-presentation .hn-id .hn-id-copy>h1:first-child,.hn-presentation .hn-id .hn-id-person+h1{margin-top:22px}
.hn-presentation .hn-id .hn-id-tagline{max-width:440px;margin:13px auto 0;font-size:15px;line-height:1.6;color:var(--hn-muted);opacity:1;white-space:pre-line;text-wrap:balance}
.hn-presentation .hn-id .hn-page-introduction.hn-id-about{max-width:34em;margin:18px auto 0;font-size:15px;line-height:1.65;color:var(--hn-muted);opacity:1;text-align:start;text-wrap:pretty}
.hn-presentation .hn-id .hn-page-hero-actions{justify-content:center;margin-top:22px}
.hn-presentation .hn-id .hn-social-links{margin:22px auto 0;text-align:center}
.hn-presentation .hn-id .hn-social-links nav{justify-content:center;gap:8px}
.hn-presentation .hn-id .hn-social-brand{color:inherit}
.hn-presentation .hn-id .hn-social-links nav>a:not(.hn-social-named){width:44px;height:44px;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--hn-ink) 8%,var(--hn-paper))}
.hn-presentation .hn-id .hn-social-links nav>a:not(.hn-social-named):hover{background:color-mix(in srgb,var(--hn-ink) 14%,var(--hn-paper))}
.hn-presentation .hn-id .hn-page-social-tagline{margin:12px auto 0;max-width:420px;text-align:center}
@container hn-page (min-width:540px){
  .hn-presentation .hn-id-cover{height:190px}
  .hn-presentation .hn-id-portrait{width:126px;height:126px}
  .hn-presentation .hn-id-style-artwork .hn-id-portrait{margin-top:-60px}
  .hn-presentation .hn-id h1{font-size:44px}
  .hn-presentation .hn-id .hn-id-tagline{font-size:16px}
  .hn-presentation .hn-id .hn-page-introduction.hn-id-about{text-align:center}
}
/* Spacious keeps its top line (logo, name, sections, note); the buttons sit at its end. */
.hn-page-spacious .hn-page-topline .hn-id-actions{margin-left:auto}
.hn-page-spacious .hn-page-topline :is(nav,.hn-page-header-note)~.hn-id-actions{margin-left:12px}
.hn-page-spacious .hn-page-identity.hn-id{padding:28px 40px 26px}
@container hn-page (min-width:540px){
  .hn-page-spacious .hn-id-cover{height:clamp(220px,30cqw,380px);border-radius:26px}
  .hn-page-spacious .hn-id-cover-arch{border-radius:50% 50% 24px 24px/64% 64% 24px 24px}
  .hn-page-spacious .hn-id-cover-square{border-radius:6px}
  .hn-page-spacious .hn-id-portrait{width:148px;height:148px;border-width:6px}
  .hn-page-spacious .hn-id-style-artwork .hn-id-portrait{margin-top:-74px}
  .hn-page-spacious .hn-id-portrait>.hn-id-monogram{font-size:52px}
  .hn-page-spacious .hn-id h1{max-width:760px;font-size:clamp(44px,5.6cqw,68px)}
  .hn-page-spacious .hn-id .hn-id-tagline{max-width:600px;font-size:clamp(17px,1.8cqw,21px)}
  .hn-page-spacious .hn-id .hn-page-introduction.hn-id-about{font-size:16px;max-width:36em}
  .hn-page-spacious .hn-id .hn-page-descriptor.hn-id-eyebrow{margin-top:26px}
}
@container hn-page (max-width:539px){
  .hn-page-spacious .hn-page-identity.hn-id{padding:0 0 10px}
  .hn-page-spacious .hn-page-topline{flex-wrap:wrap}
  .hn-page-spacious .hn-page-topline .hn-page-header-note{order:3}
  .hn-page-spacious .hn-page-topline .hn-id-actions,.hn-page-spacious .hn-page-topline :is(nav,.hn-page-header-note)~.hn-id-actions{order:2;margin-left:auto}
  .hn-page-spacious .hn-page-topline .hn-page-wordmark{min-width:0;flex:0 1 auto}
  .hn-page-spacious .hn-page-topline .hn-page-wordmark>.hn-page-logo-frame{display:none}
  .hn-page-spacious .hn-page-topline .hn-page-wordmark>span:not(.hn-page-logo-frame){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .hn-page-spacious .hn-id .hn-page-hero-actions{margin-top:20px}
}

/* Share and Save contact sheets: bottom sheets on phones (above), centred cards on wider screens. */
.hn-presentation .hn-sheet{--hn-sheet-muted:color-mix(in srgb,var(--hn-card-ink) 76%,var(--hn-soft));--hn-sheet-line:color-mix(in srgb,var(--hn-card-ink) 14%,transparent);--hn-sheet-action:color-mix(in srgb,var(--hn-accent) 68%,#000);width:500px;text-align:left}
.hn-presentation .hn-sheet>header{align-items:flex-start;padding:24px 26px 4px;border-bottom:0}
.hn-presentation .hn-sheet h2{font:500 30px/1.15 var(--hn-display);letter-spacing:-.04em;margin:0}
.hn-presentation.hn-presentation .hn-sheet [data-hn-information-close]{width:42px;height:42px;border:1px solid var(--hn-sheet-line);border-radius:50%;background:transparent;color:inherit}
.hn-presentation .hn-sheet .hn-info-dialog-body{padding:14px 26px 26px}
.hn-presentation .hn-sheet-eyebrow{display:block;margin:2px 0 8px;font:700 11px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--hn-sheet-muted)}
.hn-presentation .hn-sheet-label{display:block;margin:18px 0 7px;font:700 11px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;color:var(--hn-sheet-muted)}
.hn-presentation .hn-sheet-primary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:0;border-radius:11px;background:var(--hn-sheet-action);color:#fffdf8;font:650 14px/1.2 'DM Sans',Arial,sans-serif;text-decoration:none;cursor:pointer}
.hn-presentation .hn-sheet-primary:hover{background:color-mix(in srgb,var(--hn-sheet-action) 82%,#000)}
.hn-presentation .hn-sheet-primary[hidden]{display:none}
.hn-presentation .hn-sheet :is(a,button,input,summary):focus-visible{outline:3px solid var(--hn-card-ink);outline-offset:3px}
.hn-presentation .hn-sheet-monogram{display:grid;place-items:center;background:color-mix(in srgb,var(--hn-accent) 14%,var(--hn-soft));color:color-mix(in srgb,var(--hn-accent) 60%,var(--hn-card-ink));font:500 28px/1 var(--hn-display)}
.hn-presentation .hn-share-preview{display:flex;align-items:center;gap:15px;padding:14px;border:1px solid var(--hn-sheet-line);border-radius:16px;background:color-mix(in srgb,var(--hn-accent) 6%,var(--hn-soft))}
.hn-presentation .hn-share-preview-photo{width:68px;height:68px;flex:none;border-radius:13px;object-fit:cover}
.hn-presentation .hn-share-preview strong{display:block;font:600 17px/1.3 'DM Sans',Arial,sans-serif;overflow-wrap:anywhere}
.hn-presentation .hn-share-preview p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:4px 0 0;font-size:13px;line-height:1.45;color:var(--hn-sheet-muted)}
.hn-presentation .hn-share-native{width:100%;margin-top:16px}
.hn-presentation .hn-share-link{display:flex;gap:8px}
.hn-presentation .hn-share-link input{flex:1;min-width:0;min-height:46px;padding:0 12px;border:1px solid var(--hn-sheet-line);border-radius:11px;background:color-mix(in srgb,#fff 70%,var(--hn-soft));color:var(--hn-card-ink);font:600 14px/1 'DM Sans',Arial,sans-serif;text-overflow:ellipsis}
.hn-presentation .hn-share-status{min-height:20px;margin:6px 0 0;font-size:13px;color:var(--hn-sheet-muted)}
.hn-presentation .hn-share-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0 16px}
.hn-presentation .hn-share-options a{display:grid;justify-items:center;align-content:center;gap:6px;min-height:74px;padding:9px 2px;border:1px solid var(--hn-sheet-line);border-radius:12px;background:color-mix(in srgb,#fff 60%,var(--hn-soft));color:var(--hn-card-ink);font:600 12px/1.2 'DM Sans',Arial,sans-serif;text-align:center;text-decoration:none}
.hn-presentation .hn-share-options a:hover{background:color-mix(in srgb,var(--hn-accent) 8%,var(--hn-soft))}
.hn-presentation .hn-share-option-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--hn-accent) 11%,var(--hn-soft))}
.hn-presentation .hn-share-option-icon svg{width:18px;height:18px}
.hn-presentation .hn-share-qr>summary{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid color-mix(in srgb,var(--hn-card-ink) 26%,transparent);border-radius:11px;font:650 14px/1.2 'DM Sans',Arial,sans-serif;list-style:none;cursor:pointer}
.hn-presentation .hn-share-qr>summary::-webkit-details-marker{display:none}
.hn-presentation .hn-share-qr[open] .hn-share-qr-show,.hn-presentation .hn-share-qr:not([open]) .hn-share-qr-hide{display:none}
.hn-presentation .hn-share-qr svg{display:block;width:min(230px,100%);height:auto;margin:16px auto 0;border:10px solid #fffdf8;border-radius:14px;box-shadow:0 0 0 1px var(--hn-sheet-line)}
.hn-presentation .hn-share-qr p{margin:10px 0 0;text-align:center;font-size:13px;color:var(--hn-sheet-muted)}
.hn-presentation .hn-contact-sheet-intro{margin:0 0 18px;font-size:14px;line-height:1.55;color:var(--hn-sheet-muted)}
.hn-presentation .hn-contact-sheet-card{padding:4px 18px;border:1px solid var(--hn-sheet-line);border-radius:16px;background:color-mix(in srgb,#fff 60%,var(--hn-soft))}
.hn-presentation .hn-contact-sheet-person{display:flex;align-items:center;gap:14px;padding:14px 0}
.hn-presentation .hn-contact-sheet-photo{width:58px;height:58px;flex:none;border-radius:50%;object-fit:cover}
.hn-presentation .hn-contact-sheet-person strong{display:block;font:500 21px/1.25 var(--hn-display);letter-spacing:-.02em;overflow-wrap:anywhere}
.hn-presentation .hn-contact-sheet-person span{display:block;margin-top:2px;font-size:13px;color:var(--hn-sheet-muted)}
.hn-presentation .hn-contact-sheet-card dl{margin:0}
.hn-presentation .hn-contact-sheet-card dl>div{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--hn-sheet-line)}
.hn-presentation .hn-contact-sheet-card dt{font-size:12px;color:var(--hn-sheet-muted)}
.hn-presentation .hn-contact-sheet-card dd{margin:0;font-size:13px;font-weight:600;overflow-wrap:anywhere}
.hn-presentation .hn-contact-sheet-confirm{display:flex;width:100%;min-height:50px;margin-top:18px}
.hn-presentation .hn-contact-sheet-note{display:block;margin:12px 2px 0;font-size:12px;line-height:1.5;color:var(--hn-sheet-muted)}
@media (max-width:420px){.hn-presentation .hn-sheet>header{padding:20px 18px 2px}.hn-presentation .hn-sheet .hn-info-dialog-body{padding:12px 18px 22px}.hn-presentation .hn-sheet h2{font-size:27px}.hn-presentation .hn-sheet .hn-share-options{gap:5px}.hn-presentation .hn-sheet .hn-share-options a{font-size:11px}}
/* HereNook mark (top left on every Nook) and its "About HereNook" sheet with a small cinematic scene. */
.hn-presentation .hn-id-brand img{display:block;width:22px;height:22px}
.hn-page-spacious .hn-page-topline>.hn-id-brand{margin-right:-10px}
.hn-presentation .hn-id-portrait :is(>svg,>.hn-id-monogram>svg){width:44px;height:44px;color:color-mix(in srgb,var(--hn-accent) 60%,var(--hn-ink))}
.hn-presentation .hn-brand-sheet{width:880px;--hn-sheet-action:#244b3a}
.hn-presentation .hn-brand-sheet>header{align-items:center;padding:20px 24px 4px}
.hn-presentation .hn-brand-sheet-logo{display:block;width:132px;height:auto}
.hn-presentation .hn-info-dialog-body.hn-brand-sheet-body{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0}
.hn-presentation .hn-brand-sheet-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:26px 34px 34px}
.hn-presentation .hn-brand-sheet h2{font:500 46px/1.06 var(--hn-display);letter-spacing:-.05em}
.hn-presentation .hn-brand-sheet h2 em{font-style:italic;font-weight:400;color:#477359}
.hn-presentation .hn-brand-sheet-intro{margin:16px 0 22px;max-width:30em;font-size:15px;line-height:1.65;color:var(--hn-sheet-muted)}
.hn-presentation .hn-brand-sheet-actions{display:flex;flex-wrap:wrap;gap:10px}
.hn-presentation .hn-brand-sheet-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:1px solid var(--hn-sheet-line);border-radius:11px;color:inherit;font:650 14px/1.2 'DM Sans',Arial,sans-serif;text-decoration:none}
.hn-presentation .hn-brand-sheet-secondary:hover{background:color-mix(in srgb,var(--hn-card-ink) 6%,transparent)}
.hn-presentation .hn-brand-scene{position:relative;isolation:isolate;display:grid;place-items:center;min-height:440px;margin:0 14px 14px 0;border-radius:18px;overflow:hidden;perspective:900px;
  background:radial-gradient(120% 90% at 80% 0%,#3d6150 0,transparent 55%),radial-gradient(90% 80% at 0% 100%,#5b3b2c 0,transparent 60%),linear-gradient(160deg,#10231e,#173229 48%,#0d1c18)}
.hn-presentation .hn-brand-scene::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hn-presentation .hn-brand-glow{position:absolute;z-index:0;border-radius:50%;filter:blur(38px);opacity:.75;mix-blend-mode:screen}
.hn-presentation .hn-brand-glow-a{width:240px;height:240px;top:-40px;right:-30px;background:#e2a77f}
.hn-presentation .hn-brand-glow-b{width:220px;height:220px;bottom:-60px;left:-40px;background:#7fa898}
.hn-presentation .hn-brand-glow-c{width:150px;height:150px;top:42%;left:52%;background:#d8e7a6;opacity:.35}
.hn-presentation .hn-brand-orbit{position:absolute;z-index:1;width:330px;height:330px;border:1px solid #fffdf82e;border-radius:50%;transform:rotateX(64deg) rotateZ(-18deg)}
.hn-presentation .hn-brand-orbit-wide{width:470px;height:470px;border-color:#fffdf817}
.hn-presentation .hn-brand-stage{position:relative;z-index:2;width:210px;height:300px;transform-style:preserve-3d;transform:rotateY(-16deg) rotateX(8deg) rotateZ(-3deg)}
.hn-presentation .hn-brand-card{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:14px 14px 16px;border-radius:24px;background:#fffdf8;box-shadow:0 30px 60px #0008,0 0 0 1px #fffdf81f;overflow:hidden;text-align:center}
.hn-presentation .hn-brand-card-back{transform:translate3d(46px,-26px,-60px) rotateZ(7deg);background:#e9eee3;opacity:.62;filter:saturate(.8)}
.hn-presentation .hn-brand-card-art{display:block;width:100%;height:78px;flex:none;border-radius:14px;object-fit:cover;background:linear-gradient(125deg,#c9d5ae 0 34%,#6f8fa1 34% 58%,#e6b89c 58% 80%,#d6d4b6 80%)}
.hn-presentation .hn-brand-card-avatar{display:block;width:56px;height:56px;margin:-28px 0 4px;border:4px solid #fffdf8;border-radius:50%;object-fit:cover;object-position:50% 20%;background:#e8dccb;box-shadow:0 6px 16px #2a1a1238}
.hn-presentation .hn-brand-card-person{margin-bottom:6px;color:#4f5f55;font:600 9px/1.3 'DM Sans',Arial,sans-serif}
.hn-presentation .hn-brand-card small{color:#7b8b7d;font:700 7px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.2em}
.hn-presentation .hn-brand-card strong{margin:2px 0 8px;color:#253d33;font:500 21px/1.15 Lora,Georgia,serif;letter-spacing:-.03em;white-space:nowrap}
.hn-presentation .hn-brand-card-chips{display:flex;gap:5px;margin-bottom:12px}
.hn-presentation .hn-brand-card-chips i{display:block;width:16px;height:16px;border-radius:50%;background:#e4ebdf}
.hn-presentation .hn-brand-card-row{display:block;width:100%;height:26px;margin-top:6px;border-radius:8px;background:#eff2e8}
.hn-presentation .hn-brand-card-row-main{background:#244b3a}
.hn-presentation .hn-brand-card-line{display:block;width:70%;height:8px;margin-top:10px;border-radius:4px;background:#d5ddd0}
.hn-presentation .hn-brand-shine{position:absolute;inset:-40% -60%;background:linear-gradient(105deg,transparent 42%,#ffffff9e 50%,transparent 58%);transform:translateX(-60%);pointer-events:none}
.hn-presentation .hn-brand-spark{position:absolute;z-index:2;top:16%;left:16%;color:#f0c08f;font:400 30px/1 Georgia,serif;text-shadow:0 0 18px #f0c08f}
.hn-presentation .hn-brand-scene-note{position:absolute;z-index:4;bottom:18px;left:0;right:0;margin:0;color:#fffdf8d9;font:italic 400 15px/1.3 Lora,Georgia,serif;text-align:center}
@media (prefers-reduced-motion:no-preference){
  .hn-presentation .hn-brand-sheet[open] .hn-brand-stage{animation:hn-brand-float 7s ease-in-out infinite}
  .hn-presentation .hn-brand-sheet[open] .hn-brand-shine{animation:hn-brand-shine 5.5s ease-in-out 1s infinite}
  .hn-presentation .hn-brand-sheet[open] .hn-brand-glow-a{animation:hn-brand-drift 11s ease-in-out infinite alternate}
  .hn-presentation .hn-brand-sheet[open] .hn-brand-glow-b{animation:hn-brand-drift 13s ease-in-out -4s infinite alternate-reverse}
  .hn-presentation .hn-brand-sheet[open] .hn-brand-orbit{animation:hn-brand-orbit 24s linear infinite}
  .hn-presentation .hn-brand-sheet[open] .hn-brand-spark{animation:hn-brand-twinkle 3.2s ease-in-out infinite}
}
@keyframes hn-brand-float{0%,100%{transform:rotateY(-16deg) rotateX(8deg) rotateZ(-3deg) translateY(0)}50%{transform:rotateY(-9deg) rotateX(4deg) rotateZ(-1deg) translateY(-10px)}}
@keyframes hn-brand-shine{0%,55%{transform:translateX(-60%)}85%,100%{transform:translateX(60%)}}
@keyframes hn-brand-drift{to{transform:translate(-36px,28px) scale(1.12)}}
@keyframes hn-brand-orbit{to{transform:rotateX(64deg) rotateZ(342deg)}}
@keyframes hn-brand-twinkle{0%,100%{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}
@media (max-width:650px){
  .hn-presentation .hn-brand-sheet .hn-info-dialog-body.hn-brand-sheet-body{grid-template-columns:minmax(0,1fr)}
  .hn-presentation .hn-brand-sheet .hn-brand-scene{order:-1;min-height:230px;margin:6px 16px 0}
  .hn-presentation .hn-brand-sheet .hn-brand-stage{width:132px;height:190px}
  .hn-presentation .hn-brand-sheet .hn-brand-card{padding:9px 9px 10px;border-radius:17px}
  .hn-presentation .hn-brand-sheet .hn-brand-card-art{height:48px;border-radius:10px}
  .hn-presentation .hn-brand-sheet .hn-brand-card-avatar{width:38px;height:38px;margin-top:-19px;border-width:3px}
  .hn-presentation .hn-brand-sheet .hn-brand-card-person{margin-bottom:3px;font-size:7px}
  .hn-presentation .hn-brand-sheet .hn-brand-card strong{font-size:15px;margin-bottom:5px}
  .hn-presentation .hn-brand-sheet .hn-brand-card-chips{margin-bottom:6px}.hn-presentation .hn-brand-sheet .hn-brand-card-chips i{width:11px;height:11px}
  .hn-presentation .hn-brand-sheet .hn-brand-card-row{height:16px;margin-top:4px;border-radius:6px}
  .hn-presentation .hn-brand-sheet .hn-brand-orbit{width:240px;height:240px}.hn-presentation .hn-brand-sheet .hn-brand-orbit-wide{width:340px;height:340px}
  .hn-presentation .hn-brand-sheet .hn-brand-scene-note{display:none}
  .hn-presentation .hn-brand-sheet .hn-brand-sheet-copy{padding:20px 18px 24px}
  .hn-presentation .hn-brand-sheet h2{font-size:36px}
  .hn-presentation .hn-brand-sheet .hn-brand-sheet-actions{width:100%}.hn-presentation .hn-brand-sheet .hn-brand-sheet-actions>a{flex:1 1 140px}
}
/* Hidden layout toggle (founder, 22 Oct): Spacious and Compact icons tucked just under Save contact and Share.
   Absolutely placed, so it takes no space and nothing shifts; invisible until the pointer is over the top bar or the
   toggle itself, or a link in it has keyboard focus. It steps aside while a button's own label shows in that spot.
   Touch screens have no hover, so there it rests very faint instead. Links only: no script. */
.hn-presentation .hn-id-actions{position:relative}
.hn-presentation .hn-layout-toggle{position:absolute;z-index:4;top:calc(100% + 10px);right:0;display:flex;gap:2px;padding:3px;border:1px solid #1f2e2729;border-radius:999px;background:#fffdf8ee;color:#263a31;box-shadow:0 3px 10px #1c2a2418;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0}
.hn-presentation .hn-layout-toggle::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:12px}
.hn-presentation .hn-layout-toggle>*{position:relative;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:inherit;text-decoration:none}
.hn-presentation .hn-layout-toggle svg{width:17px;height:17px;stroke-width:1.8}
.hn-presentation .hn-layout-toggle>[aria-current]{background:#263a31;color:#fffdf8}
.hn-presentation .hn-layout-toggle>a:hover{background:#e3e9df}
.hn-presentation .hn-layout-toggle>a:focus-visible{outline:3px solid var(--hn-ink);outline-offset:2px}
.hn-presentation :is(.hn-page-topline,.hn-id-bar,.hn-id-actions):hover .hn-layout-toggle,.hn-presentation .hn-layout-toggle:focus-within{opacity:1}
.hn-presentation .hn-id-actions:has(>.hn-id-action:is(:hover,:focus-visible)) .hn-layout-toggle:not(:focus-within){opacity:0;pointer-events:none}
@media (hover:none){.hn-presentation .hn-layout-toggle{opacity:.3}}
@media (hover:hover){.hn-presentation .hn-layout-toggle>*::after{content:attr(data-label);position:absolute;top:calc(100% + 9px);left:50%;padding:5px 9px;border-radius:7px;background:var(--hn-ink);color:var(--hn-paper);font:600 11px/1.2 'DM Sans',Arial,sans-serif;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%);transition:opacity .15s}.hn-presentation .hn-layout-toggle>:is(:hover,:focus-visible)::after{opacity:1;visibility:visible}}
@media (prefers-reduced-motion:no-preference){.hn-presentation .hn-layout-toggle{transition:opacity .2s ease}}
/* On a narrow Spacious page the header note wraps to its own full-width row, right where the toggle sits. */
@container hn-page (max-width:539px){.hn-page-spacious .hn-page-topline:has(.hn-layout-toggle) .hn-page-header-note{box-sizing:border-box;padding-right:88px}}
/* Multi-page Nooks (founder, 22 Oct 2026: design B "Pills that stick" + option C's Next card). No script.
   The bar (slim line + page pills) is sticky on every page. On Home it starts tucked 64px up under the header,
   which paints above it with a page-coloured last strip, so the slim line slides out exactly as the header
   scrolls away. The active pill is filled in the Nook's ink; the row scrolls sideways and starts on it. */
.hn-page-multi .hn-page-topline,.hn-page-multi .hn-page-identity{position:relative;z-index:9}
/* The top line paints above the header: the hidden layout toggle hangs below it over the cover, and must stay clickable. */
.hn-page-multi .hn-page-topline{z-index:10}
.hn-page-multi .hn-page-identity{background:linear-gradient(to bottom,transparent calc(100% - 64px),var(--hn-paper) 0)}
.hn-presentation .hn-pages{position:sticky;top:0;z-index:8;background:var(--hn-paper);color:var(--hn-ink);border-bottom:1px solid color-mix(in srgb,var(--hn-ink) 9%,transparent);box-shadow:0 10px 22px -18px #1c2a2459}
.hn-presentation .hn-pages-home{margin-top:-64px}
.hn-presentation .hn-pages-slim{display:flex;align-items:center;gap:12px;height:64px;padding:0 40px;min-width:0}
.hn-presentation .hn-pages-portrait{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;overflow:hidden;background:color-mix(in srgb,var(--hn-accent) 13%,var(--hn-paper));color:color-mix(in srgb,var(--hn-accent) 60%,var(--hn-ink))}
.hn-presentation .hn-pages-portrait img{width:100%;height:100%;object-fit:cover}
.hn-presentation .hn-pages-monogram{font:500 16px/1 var(--hn-display)}
.hn-presentation .hn-pages-id{display:grid;min-width:0}
.hn-presentation .hn-pages-id>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hn-presentation .hn-pages-name{font:500 20px/1.2 var(--hn-display);letter-spacing:-.01em}
.hn-presentation .hn-pages-line{font-size:13px;line-height:1.35;opacity:.8}
.hn-presentation .hn-pages-row{display:flex;gap:10px;padding:4px 40px 14px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:40px}
.hn-presentation .hn-pages-row::-webkit-scrollbar{display:none}
.hn-presentation .hn-pages-row>*{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border:1px solid color-mix(in srgb,var(--hn-ink) 16%,transparent);border-radius:999px;background:color-mix(in srgb,var(--hn-soft) 75%,transparent);color:var(--hn-ink);font:600 15px/1.2 'DM Sans',Arial,sans-serif;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis}
.hn-presentation .hn-pages-row>a:hover{border-color:color-mix(in srgb,var(--hn-ink) 40%,transparent)}
.hn-presentation .hn-pages-row>[aria-current]{background:var(--hn-ink);border-color:var(--hn-ink);color:var(--hn-paper);scroll-snap-align:center;scroll-initial-target:nearest}
.hn-presentation .hn-pages-row>a:focus-visible{outline:2px solid var(--hn-ink);outline-offset:2px}
/* Anchored cards and sections land below the stuck bar, not under it. */
.hn-page-multi :is(.hn-page-section,.hn-page-card,[id]){scroll-margin-top:150px}
.hn-presentation .hn-page-next{display:grid;gap:6px;margin:12px 40px 0;padding:24px 28px;border-radius:18px;background:var(--hn-ink);color:var(--hn-paper);text-decoration:none;box-shadow:0 10px 26px -18px #1c2a2480}
.hn-presentation .hn-page-next-eyebrow{font:700 12px/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;opacity:.82}
.hn-presentation .hn-page-next>strong{font:500 30px/1.15 var(--hn-display);letter-spacing:-.02em;overflow-wrap:anywhere}
.hn-presentation .hn-page-next-line{font-size:15px;line-height:1.45;opacity:.88}
.hn-presentation .hn-page-next:hover>strong>span{display:inline-block;transform:translateX(4px)}
.hn-presentation .hn-page-next:focus-visible{outline:3px solid var(--hn-ink);outline-offset:3px}
/* Studio's canvas and previews show every section; a quiet label marks where each page begins. */
.hn-presentation .hn-page-divider{margin:28px 0 0;padding:8px 0;border-top:1px dashed color-mix(in srgb,var(--hn-ink) 30%,transparent);font:700 11px/1.3 'DM Sans',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
@container hn-page (max-width:849px){
  .hn-presentation :is(.hn-pages-slim,.hn-pages-row){padding-left:25px;padding-right:25px}
  .hn-presentation .hn-pages-row{scroll-padding-inline:25px}
  .hn-presentation .hn-page-next{margin-left:25px;margin-right:25px}
}
@container hn-page (max-width:539px){
  .hn-presentation :is(.hn-pages-slim,.hn-pages-row){padding-left:20px;padding-right:20px}
  .hn-presentation .hn-pages-row{gap:8px;scroll-padding-inline:20px}
  .hn-presentation .hn-pages-row>*{padding:0 17px}
  .hn-presentation .hn-page-next{margin-left:20px;margin-right:20px;padding:22px 22px}
  .hn-presentation .hn-page-next>strong{font-size:27px}
}
@media (prefers-reduced-motion:no-preference){
  @view-transition{navigation:auto}
  .hn-presentation .hn-page-next>strong>span{transition:transform .2s ease}
}
/* Spacious top line, 540px and wider: the business name keeps its natural width and breaks only between words,
   never letter by letter. The header note narrows and wraps first, and the section links shrink to an ellipsis.
   Phones keep their own top line (name ellipsis, note on its own row). */
@container hn-page (min-width:540px){
  .hn-page-spacious .hn-page-topline>.hn-page-wordmark{flex-shrink:0;max-width:100%;overflow-wrap:normal}
  .hn-page-spacious .hn-page-topline>.hn-page-header-note{flex-shrink:1;min-width:96px;overflow-wrap:normal}
  .hn-page-spacious .hn-page-topline>nav{flex-shrink:1;min-width:0}
  /* Block, not inline-flex: only a block shows the ellipsis. Same 44px target. */
  .hn-page-spacious .hn-page-topline>nav>a{display:block;flex-shrink:1;min-width:0;line-height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
