/* Site-level additions for the template. Everything here was lifted from the
   reference pages' inline <style> blocks (marquee + featured-partner tier cards),
   renamed where needed, plus one small "about" panel that reuses existing tokens. */

/* ---- Scrolling name banner (from .hh-marquee inline block) ---- */
.hh-marquee{position:relative;overflow:hidden;background:var(--c-surface);border-bottom:1px solid var(--c-rule);padding-block:.625rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.hh-marquee:focus-visible{outline:2px solid var(--c-accent);outline-offset:-3px}
.hh-marquee__track{display:flex;width:max-content;animation:hh-marquee-drift 72s linear infinite;will-change:transform}
.hh-marquee:hover .hh-marquee__track,.hh-marquee:focus-within .hh-marquee__track{animation-play-state:paused}
.hh-marquee__group{display:flex;align-items:center;flex-shrink:0;gap:var(--s-6);margin:0;padding:0 var(--s-6) 0 0;list-style:none}
.hh-marquee__item{margin:0;white-space:nowrap;font-family:var(--font-serif);font-style:italic;font-size:var(--fs-lead);line-height:1.4;color:var(--c-accent);letter-spacing:.005em}
/* Separator: neutral clay dot (replaces the reference's coffee-bean shape + ::after slit) */
.hh-marquee__sep{flex-shrink:0;width:7px;height:7px;margin:0;border-radius:50%;background:var(--c-clay);opacity:.7}
@keyframes hh-marquee-drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
.hh-marquee{-webkit-mask-image:none;mask-image:none;overflow-x:auto;scrollbar-width:thin}
.hh-marquee__track{animation:none;margin-inline:auto;padding-inline:var(--pad-x,1.25rem)}
.hh-marquee__group{padding:0}
.hh-marquee__group--dup,.hh-marquee__item[aria-hidden="true"],.hh-marquee__item[aria-hidden="true"]+.hh-marquee__sep,.hh-marquee__group>.hh-marquee__sep:last-child{display:none}
}

/* ---- Row of rounded cream cards (from featured-partner .fp-tiers inline block, scoping attrs removed) ---- */
.fp-tiers{margin:0 0 var(--s-4);gap:var(--s-4);grid-template-columns:1fr;padding:0;list-style:none;display:grid}
@media (width>=600px){.fp-tiers{gap:var(--s-3);grid-template-columns:repeat(3,1fr)}.fp-tier{padding:var(--s-3)}}
.fp-tier{padding:var(--s-4);border:1px solid var(--c-rule);border-radius:var(--r-lg);background:var(--c-surface)}
.fp-tier-name{margin:0 0 var(--s-2);font-family:var(--font-sans);font-size:1rem;font-weight:600}
.fp-tier-items{margin:var(--s-2) 0 0;font-size:var(--fs-small);padding-left:1.1rem}
.fp-tier-items li{margin:0 0 var(--s-1)}
/* small clay small-caps label inside a card (same recipe as .fp-price-label) */
.fp-tier-label{margin:0 0 var(--s-2);font-family:var(--font-sans);font-size:var(--fs-eyebrow);letter-spacing:.1em;text-transform:uppercase;color:var(--c-clay);font-weight:600;line-height:1.3}

/* ---- Beige "about" panel: same recipe as the hero .page-header panel ---- */
.nlp-about{margin:var(--s-7) 0 var(--s-6);background:var(--c-latte);border-radius:24px;padding:clamp(1.5rem,3vw,2.75rem)}
.nlp-about h2{margin:0 0 var(--s-3)}
.nlp-about .kicker{color:var(--c-terra)}
.nlp-about p:last-child{margin-bottom:0}

/* ---- Additions for the multi-page draft (reuse existing tokens only) ---- */
@media (width>=600px){
  .fp-tiers--two,.fp-tiers--four{grid-template-columns:repeat(2,1fr)}
  .fp-tiers--two .fp-tier,.fp-tiers--four .fp-tier{padding:var(--s-4)}
}
.fp-tier{display:flex;flex-direction:column}
.fp-tier-text{margin:0 0 var(--s-3);font-size:var(--fs-small);line-height:1.55}
.fp-tier-more{margin:auto 0 0;font-size:var(--fs-small);font-weight:600}
.fp-tier-more a{display:inline-flex;align-items:center;min-height:44px}
.fp-tier .fp-price-value{margin-top:var(--s-1)}
.page-header .btn-row{margin-top:var(--s-5)}
.nlp-list{margin:0 0 var(--s-5);padding-left:1.2rem}
.nlp-list li{margin:0 0 var(--s-2)}
.nlp-list li::marker{color:var(--c-clay)}
.fp-price .nlp-list{font-size:var(--fs-small)}
.nlp-photo{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;margin:0 0 var(--s-6);background:var(--c-surface);border:1px dashed var(--c-rule-strong);border-radius:var(--r-lg);color:var(--c-muted);font-size:var(--fs-small)}
.nlp-note{margin:var(--s-6) 0 0;color:var(--c-muted);font-size:var(--fs-small)}
.nlp-section{margin-top:var(--s-7)}

/* ---- Atmosphere photos (warm-graded, decorative) ---- */
.nlp-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-3);margin:var(--s-7) 0 var(--s-6)}
.nlp-mosaic img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg);background:var(--c-surface)}
@media (width<=599px){.nlp-mosaic{grid-template-columns:1fr 1fr}.nlp-mosaic img:first-child{grid-column:1/-1;aspect-ratio:16/10}}
.nlp-band{margin:var(--s-7) 0 var(--s-6)}
.nlp-band img{width:100%;height:auto;aspect-ratio:16/7;object-fit:cover;border-radius:1.25rem;background:var(--c-surface)}
@media (width<=599px){.nlp-band img{aspect-ratio:4/3}}

/* ---- Pricing tiers ---- */
.fp-tier--featured{background:var(--c-card);border:2px solid var(--c-accent);box-shadow:var(--lc-soft)}
.fp-tier--featured .fp-tier-label{color:var(--c-accent)}
.fp-tier .fp-per{font-family:var(--font-sans);font-size:var(--fs-small);color:var(--c-muted);letter-spacing:0}
.fp-tier .btn{width:100%;margin-top:var(--s-4);padding-inline:var(--s-3);font-size:.75rem}
.fp-tier .fp-tier-items{margin-bottom:0}
.fp-tier-actions{margin-top:auto}
.nlp-target-note{display:none;margin:var(--s-4) 0 0;padding:var(--s-3) var(--s-4);background:var(--c-tint);border-left:3px solid var(--c-accent);border-radius:var(--r-sm) var(--r-lg) var(--r-lg) var(--r-sm);font-size:var(--fs-small)}
.nlp-target-note:target{display:block}

/* ---- Mock booking panel (static preview; swap for a Cal.com/Calendly inline embed) ---- */
.nlp-booking{margin:0 0 var(--s-6);padding:var(--s-6) var(--s-5);background:var(--c-card);border-top:3px solid var(--c-accent);border-radius:0 0 1.25rem 1.25rem;box-shadow:var(--lc-soft)}
.nlp-booking-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--s-2) var(--s-4);margin-bottom:var(--s-4)}
.nlp-booking-title{margin:0;font-size:var(--fs-h3);line-height:1.2}
.nlp-booking-meta{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:0 0 var(--s-5);padding:0;list-style:none}
.nlp-booking-meta li{padding:.3rem .75rem;border-radius:999px;background:var(--c-surface);font-size:var(--fs-small);line-height:1.3}
.nlp-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-3)}
.nlp-cal-month{margin:0;font-family:var(--font-serif);font-size:1.25rem;font-weight:500}
.nlp-cal-nav{display:flex;gap:var(--s-2)}
.nlp-cal-nav button{width:2.25rem;height:2.25rem;border:1px solid var(--c-rule);border-radius:50%;background:var(--c-card);color:var(--c-ink);font-size:1rem;cursor:pointer}
.nlp-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;text-align:center}
.nlp-cal-dow{font-size:var(--fs-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted);font-weight:600;padding-bottom:var(--s-1)}
.nlp-cal span.nlp-cal-empty,.nlp-cal span.nlp-cal-off{display:flex;align-items:center;justify-content:center;aspect-ratio:1;font-size:var(--fs-small);color:#736a5f}
.nlp-day{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border:0;border-radius:50%;background:var(--c-tint);color:var(--c-accent);font:600 var(--fs-small)/1 var(--font-sans);cursor:pointer;transition:background-color .15s}
.nlp-day:hover{background:#d9e3d6}
.nlp-day[aria-pressed="true"]{background:var(--c-accent);color:var(--c-paper)}
.nlp-slots-label{margin:var(--s-5) 0 var(--s-3);font-size:var(--fs-small);color:var(--c-muted)}
.nlp-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:var(--s-2);margin:0 0 var(--s-5)}
.nlp-slot{min-height:44px;border:1px solid var(--c-accent);border-radius:999px;background:var(--c-card);color:var(--c-accent);font:600 var(--fs-small)/1 var(--font-sans);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .15s,color .15s}
.nlp-slot:hover,.nlp-slot[aria-pressed="true"]{background:var(--c-accent);color:var(--c-paper)}
.nlp-booking .btn{width:100%}
.nlp-booking-foot{margin:var(--s-3) 0 0;font-size:var(--fs-small);color:var(--c-muted);text-align:center}

/* ---- "Coming soon" note ---- */
.nlp-dialog{max-width:min(28rem,calc(100vw - 2.5rem));padding:var(--s-6) var(--s-5);border:0;border-top:3px solid var(--c-accent);border-radius:0 0 1.25rem 1.25rem;background:var(--c-card);color:var(--c-ink);box-shadow:0 30px 60px -30px #14100c80}
.nlp-dialog::backdrop{background:#1e1a1673}
.nlp-dialog-title{margin:0 0 var(--s-3);font-size:var(--fs-h3)}
.nlp-dialog-text{margin:0 0 var(--s-5)}
.fp-tier .fp-price-value{white-space:nowrap}
.fp-tier .fp-price-value .fp-per{display:block;margin-bottom:.15rem;line-height:1.2}
.fp-tier .btn{letter-spacing:.06em}
.nlp-note{margin-bottom:var(--s-6)}

/* ---- The Boardroom Edit: editorial touches ---- */
.nlp-hero-tagline{margin:calc(-1 * var(--s-2)) 0 var(--s-4);font-family:var(--font-serif);font-style:italic;font-size:var(--fs-lead);line-height:1.4;color:var(--c-accent)}
.nlp-edit-label{margin-bottom:var(--s-3)}
.prose .nlp-edit-label+h2{margin-top:0}
.nlp-band--skyline{margin-top:0}
.nlp-band--skyline img{aspect-ratio:16/6}
@media (width<=599px){.nlp-band--skyline img{aspect-ratio:16/9}}
.nlp-pullquote{margin:var(--s-7) 0;padding:var(--s-5) 0 var(--s-5) var(--s-5);border-left:3px solid var(--c-clay)}
.nlp-pullquote-text{margin:0 0 var(--s-4);font-family:var(--font-serif);font-style:italic;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);line-height:1.25;letter-spacing:-.01em;color:var(--c-accent);text-wrap:balance}
.nlp-pullquote figcaption{font-size:var(--fs-eyebrow);letter-spacing:.1em;text-transform:uppercase;color:var(--c-clay);font-weight:600;line-height:1.7}
.nlp-note{margin-bottom:var(--s-6)}
.site-footer .brand-tagline{max-width:22rem}
.page .prose>p.nlp-edit-label:first-child{font-family:var(--font-sans);font-size:var(--fs-eyebrow);line-height:1.3}
/* Owner portrait (About) and About teaser photo (Home) */
.nlp-portrait{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;margin:0 0 var(--s-6);border-radius:24px;background:var(--c-surface)}
.nlp-about--photo{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(1.25rem,3vw,2.25rem);align-items:start}
.nlp-about__photo{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:18px}
@media (max-width:720px){.nlp-about--photo{grid-template-columns:1fr}}
/* Sticky-bar booking button (small, dark green) */
.nlp-book-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.45rem .95rem;margin-left:var(--s-3);border-radius:var(--r-md);background:var(--c-accent);border:1px solid var(--c-accent);color:var(--c-paper);font-family:var(--font-sans);font-size:.8125rem;font-weight:600;line-height:1.15;text-decoration:none;white-space:nowrap;flex:none}
.nlp-book-btn:hover,.nlp-book-btn:focus-visible{background:var(--c-accent-hover);border-color:var(--c-accent-hover);color:var(--c-paper)}
.nlp-book-btn:visited{color:var(--c-paper)}
@media (max-width:1099px){.hh-bar .nlp-book-btn{margin-left:auto;margin-right:var(--s-2)}}
@media (max-width:520px){.nlp-book-btn{font-size:.72rem;padding:.4rem .6rem;white-space:normal;max-width:9.5rem;text-align:center}}
.nlp-book-row{margin:var(--s-5) 0 var(--s-6)}
/* Numbered How it works */
.nlp-howit__list{list-style:none;padding:0;margin:var(--s-4) 0 0;display:grid;gap:var(--s-4)}
.nlp-howit__list>li{position:relative;background:var(--c-card);border:1px solid var(--c-rule);border-radius:18px;padding:var(--s-5) var(--s-5) var(--s-5) 5.25rem}
.nlp-howit__n{position:absolute;left:var(--s-5);top:var(--s-5);font-family:var(--font-serif,Newsreader,serif);font-size:2rem;line-height:1;color:var(--c-clay)}
.nlp-howit__list h3{margin:0 0 var(--s-2)}
.nlp-howit__list p{margin:0}
/* FAQ */
.nlp-faq__item{border-top:1px solid var(--c-rule);padding:var(--s-3) 0}
.nlp-faq__item:last-of-type{border-bottom:1px solid var(--c-rule)}
.nlp-faq summary{cursor:pointer;font-family:var(--font-serif,Newsreader,serif);font-size:1.2rem;color:var(--c-ink);list-style-position:outside}
.nlp-faq summary:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}
.nlp-faq__a{padding-top:var(--s-2)}
.nlp-faq__a p{margin:0}
/* About chapters */
.nlp-chapter{border-top:1px solid var(--c-rule);padding-top:var(--s-5)}
@media (max-width:1099px){.hh-bar .hh-brand{order:0}.hh-bar .nlp-book-btn{order:1}.hh-bar .hh-menu-btn{order:2}.hh-bar .hh-nav{order:3}}
@media (min-width:1100px){.hh-bar .nlp-book-btn{margin-left:0}}
@media (max-width:520px){
  .nlp-book-btn{font-size:.78rem;padding:.4rem .7rem;white-space:nowrap;max-width:none;min-height:40px;margin-right:var(--s-2)}
  .nlp-sm-hide,.hh-menu-label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .hh-menu-btn{padding:0 .75rem}
  html .hh-header .hh-brand .brand-name{font-size:1.2rem}
}
.city-art{display:none}
