/* Netnook design tokens and section layouts. Bootstrap supplies the responsive grid. */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/inter-700.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/space-grotesk-400.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/space-grotesk-500.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/space-grotesk-600.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/space-grotesk-700.woff2') format('woff2')}
:root {
  --nn-accent: #feca00;
  --nn-accent-ink: #6e5600;
  --nn-bg: #131313;
  --nn-dark: #0e0e0e;
  --nn-card: #1c1b1b;
  --nn-box: #201f1f;
  --nn-raised: #2a2a2a;
  --nn-text: #e5e2e1;
  --nn-muted: #c8c6c5;
  --nn-warm: #d2c5ab;
  --nn-line: rgba(78,70,50,.4);
  --nn-body-font: Inter, sans-serif;
  --nn-display-font: 'Space Grotesk', sans-serif;
  --nn-gutter: 32px;
  --nn-header-height: 80px;
  --bs-body-font-family: var(--nn-body-font);
  --bs-body-color: var(--nn-text);
  --bs-body-bg: var(--nn-bg);
}
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--nn-header-height) + 20px); }
body { background: var(--nn-bg); color: var(--nn-text); font: 400 16px/1.5 var(--nn-body-font); }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--nn-accent); }
button, input, textarea { font: inherit; }
:focus-visible { outline: 3px solid var(--nn-accent); outline-offset: 5px; }
h1, h2, h3, h4 { font-family: var(--nn-display-font); margin: 0; }
h2 { font-size: 32px; line-height: 40px; font-weight: 700; letter-spacing: -.8px; text-transform: uppercase; }
h3 { font-size: 20px; line-height: 28px; font-weight: 600; text-transform: uppercase; }
p { margin: 0; }
.nn-container { max-width: 1280px; padding-inline: 48px; }
.nn-grid { --bs-gutter-x: var(--nn-gutter); --bs-gutter-y: var(--nn-gutter); }
.nn-section { padding-block: 96px; }
.section-dark { background: var(--nn-dark); }
.nn-section.section-dark { border-block: 1px solid rgba(78,70,50,.2); }
.section-heading { max-width: 672px; margin-bottom: 32px; }
.section-heading h2 { margin-block: 8px; }
.section-description { color: var(--nn-muted); line-height: 24px; }
.eyebrow { color: var(--nn-accent); font: 600 12px/16px var(--nn-display-font); letter-spacing: 1.2px; text-transform: uppercase; }
.nn-icon { display: block; flex-shrink: 0; max-width: none; }
.icon-box { width: 48px; height: 48px; background: var(--nn-box); display: flex; align-items: center; justify-content: center; border-radius: 8px; flex: 0 0 auto; }
.icon-box-small { width: 40px; height: 40px; }
.nn-card { background: var(--nn-card); border: 1px solid var(--nn-line); border-radius: 12px; }
.button-row { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.nn-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 12px 24px; border: 1px solid transparent; border-radius: 8px; font: 600 14px/20px var(--nn-display-font); letter-spacing: .7px; text-transform: uppercase; text-align: center; }
.nn-button-primary { color: var(--nn-accent-ink); background: var(--nn-accent); box-shadow: 0 0 18px rgba(254,202,0,.22); }
.nn-button-primary:hover { color: var(--nn-accent-ink); background: #ffdb4a; }
.nn-button-secondary { color: var(--nn-text); background: var(--nn-raised); border-color: var(--nn-line); }
.nn-button-secondary:hover { color: var(--nn-text); border-color: var(--nn-accent); }
.nn-button-small { padding: 7px 16px; min-height: 36px; letter-spacing: .35px; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 10000; padding: 12px 20px; color: #131313; background: var(--nn-accent); }
.skip-link:focus { top: 12px; }
/* Header: flat WordPress menu, Bootstrap collapse at the mobile breakpoint. */
.site-header { position: sticky; top: 0; z-index: 100; background: rgba(14,14,14,.9); backdrop-filter: blur(12px); box-shadow: 0 1px 8px rgba(0,0,0,.6); }
.site-header .navbar { min-height: 80px; padding-block: 15px; justify-content: space-between; }
.site-brand { flex-shrink: 0; }
.site-brand img { display: block; width: 117px; height: 50px; object-fit: contain; }
.site-brand .custom-logo-link { display: block; }
.site-header .navbar-collapse { flex-grow: 0; width: calc(100% - 190px); justify-content: space-between; }
.header-links { padding: 0; margin: 0 auto; display: flex; align-items: center; gap: 24px; list-style: none; }
.header-links a { color: var(--nn-warm); font: 600 14px/20px var(--nn-display-font); letter-spacing: .35px; }
.header-links a:hover, .header-links a[aria-current] { color: var(--nn-accent); }
.header-actions { display: flex; gap: 16px; align-items: center; }
.appearance-toggle { border: 0; background: #ffebbd; border-radius: 50%; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; }
.navbar-toggler { padding: 6px; border: 1px solid var(--nn-line); }
.navbar-toggler-icon { filter: invert(1); }
body.admin-bar .site-header { top: 32px; }
/* Hero uses the wider container from the reference. */
.hero-section { position: relative; overflow: hidden; }
.hero-section::before { content: ''; position: absolute; width: 720px; max-width: 95%; height: 360px; top: -128px; left: 50%; transform: translateX(-50%); background: rgba(254,202,0,.1); border-radius: 50%; filter: blur(65px); pointer-events: none; }
.hero-container { padding-inline: 48px; max-width: 1536px; position: relative; }
.hero-row { --bs-gutter-x: 32px; --bs-gutter-y: 32px; }
.hero-content { position: relative; z-index: 1; }
.status-tag { display: inline-block; background: var(--nn-raised); border: 1px solid var(--nn-line); padding: 6px 14px; border-radius: 999px; font: 600 12px/16px var(--nn-display-font); letter-spacing: .6px; }
.hero-content h1 { font: 700 48px/1.05 var(--nn-display-font); text-transform: uppercase; letter-spacing: -1.2px; margin-block: 23px 19px; }
.hero-content h1 span { display: inline-block; color: var(--nn-accent); padding-top: 5px; text-shadow: 0 0 12px rgba(254,202,0,.3); }
.hero-description { color: var(--nn-muted); max-width: 576px; }
.hero-buttons { margin-top: 32px; }
.hero-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; padding: 0; margin: 40px 0 0; list-style: none; }
.hero-badges li { position: relative; display: flex; align-items: center; gap: 6px; border: 1px solid rgba(78,70,50,.3); background: var(--nn-card); padding: 6px 12px; border-radius: 8px; color: var(--nn-muted); font: 600 11px/14px var(--nn-display-font); letter-spacing: 1.1px; text-transform: uppercase; }
.hero-badges li + li::before { content: '•'; position: absolute; left: -18px; color: #4e4632; }
.media-frame { position: relative; overflow: hidden; background: var(--nn-card); border: 1px solid var(--nn-line); border-radius: 16px; margin: 0; }
.hero-media { height: 422px; box-shadow: 0 0 35px rgba(254,202,0,.18); }
.hero-media > img { position: absolute; height: 100%; width: 163.06%; max-width: none; left: -31.53%; top: 0; }
/* Feature and service cards. */
.feature-card { padding: 24px; display: flex; flex-direction: column; justify-content: space-between; min-height: 301px; height: 100%; }
.feature-card h3 { margin-block: 16px; letter-spacing: .5px; }
.feature-card p { color: var(--nn-muted); font-size: 14px; line-height: 20px; }
.feature-stats { display: flex; justify-content: space-between; align-items: center; gap: 8px; border-top: 1px solid var(--nn-line); margin-top: 16px; padding-top: 12px; font: 600 10px/14px var(--nn-display-font); }
.feature-stats span:first-child { color: var(--nn-muted); }
.feature-stats span:last-child { color: var(--nn-accent); text-align: right; }
.service-card { min-height: 244px; height: 100%; padding: 24px; display: flex; flex-direction: column; align-items: flex-start; gap: 10.8px; }
.service-card h3 { margin-top: 0; }
.service-card p { color: var(--nn-muted); font-size: 14px; line-height: 23px; flex: 1; }
.service-tag { display: inline-flex; align-items: center; gap: 4px; color: var(--nn-accent); font: 600 11px/14px var(--nn-display-font); letter-spacing: .55px; padding-top: 8px; }
/* Rates: real description lists, all prices editable in WordPress. */
.rate-panel { padding: 32px; border-radius: 16px; min-height: 557px; display: flex; flex-direction: column; justify-content: space-between; }
.night-panel { min-height: 553px; }
.rate-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid rgba(78,70,50,.3); }
.rate-panel-heading .eyebrow { font-size: 11px; letter-spacing: .55px; line-height: 14px; }
.rate-panel h3 { font-size: 32px; line-height: 40px; font-weight: 700; }
.hours-chip { font: 600 11px/14px var(--nn-display-font); letter-spacing: .55px; color: var(--nn-muted); background: var(--nn-box); border: 1px solid rgba(78,70,50,.3); padding: 4px 12px; border-radius: 999px; white-space: nowrap; }
.rate-list { margin: 16px 0 0; }
.rate-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 16px 0; border-bottom: 1px solid rgba(78,70,50,.2); }
.rate-row dt { font-weight: 400; min-width: 0; }
.rate-label { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font: 600 20px/28px var(--nn-display-font); }
.rate-description { display: block; margin-top: 2.5px; font: 400 12px/16px var(--nn-body-font); color: var(--nn-muted); }
.rate-row dd { margin: 0; flex-shrink: 0; color: var(--nn-accent); font: 700 32px/40px var(--nn-display-font); }
.rate-row-featured { background: var(--nn-raised); border: 1px solid rgba(78,70,50,.2); border-bottom: 0; padding: 24px 16px 16px; border-radius: 12px; box-shadow: 0 0 15px rgba(254,202,0,.12); }
.rate-row-featured dd { font-size: 48px; line-height: 56px; }
.rate-row-featured .rate-description { color: var(--nn-accent); font-weight: 500; }
.rate-row-featured + .rate-row { padding-top: 24px; }
.value-badge { padding: 2px 8px; border-radius: 4px; background: var(--nn-accent); color: var(--nn-accent-ink); font: 700 10px/20px var(--nn-display-font); text-transform: uppercase; }
.snack-note { display: flex; gap: 8px; align-items: center; padding-block: 16px; font-size: 12px; line-height: 16px; color: var(--nn-muted); border-top: 1px solid rgba(78,70,50,.2); }
.rate-footer { margin-top: 28px; padding-top: 16px; border-top: 1px solid rgba(78,70,50,.3); display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 12px; line-height: 16px; color: var(--nn-muted); }
.rate-footer a { font-family: var(--nn-display-font); color: var(--nn-accent); text-transform: uppercase; font-weight: 600; flex-shrink: 0; }
.rates-disclaimer { margin-top: 40px; font-size: 12px; line-height: 16px; color: var(--nn-muted); text-align: center; }
/* Printing studio and community imagery preserve the Figma crops. */
.prints-section .section-heading { margin: 0; }
.prints-section .eyebrow { display: inline-block; border-radius: 999px; border: 1px solid rgba(254,202,0,.3); background: rgba(254,202,0,.15); padding: 4px 12px; font-size: 11px; line-height: 14px; letter-spacing: .55px; }
.prints-section h2 { margin-block: 16px; }
.prints-checklist { padding: 0; margin: 24px 0; list-style: none; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.prints-checklist li { display: flex; gap: 8px; align-items: center; font-size: 14px; line-height: 20px; color: var(--nn-warm); }
.prints-note { font-size: 12px; line-height: 16px; color: var(--nn-muted); margin-bottom: 28px; }
.prints-media { height: 452px; }
.prints-media > img { position: absolute; top: 0; left: -21.93%; width: 143.87%; height: 100%; max-width: none; }
.photo-overlay { position: absolute; inset: 0; padding: 24px; display: flex; flex-direction: column; justify-content: flex-end; background: linear-gradient(to top,rgba(14,14,14,.9),rgba(14,14,14,0) 50%); }
.photo-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.photo-tags span { background: rgba(42,42,42,.9); border: 1px solid var(--nn-line); border-radius: 6px; padding: 4px 10px; font: 600 11px/14px var(--nn-display-font); color: #e5e2e1; }
.community-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.community-heading .section-heading { margin: 0; }
.community-follow { min-height: 38px; padding: 10px 20px; font-size: 12px; line-height: 16px; letter-spacing: .6px; background: var(--nn-box); }
.community-tags { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 40px 0 32px; }
.community-tags li { padding: 6px 14px; border: 1px solid var(--nn-line); border-radius: 999px; background: var(--nn-box); color: var(--nn-warm); font: 600 11px/14px var(--nn-display-font); letter-spacing: .55px; }
.community-media { width: 100%; height: 425.2px; }
.community-media > img { display: block; width: 100%; height: 100%; }
.event-caption .eyebrow { font-size: 11px; line-height: 14px; letter-spacing: 0; }
.event-caption h3 { margin-block: 4px; color: #e5e2e1; }
.event-caption > p:last-child { font-size: 12px; line-height: 16px; color: #c8c6c5; }
.community-cards { display: flex; flex-direction: column; gap: 32px; }
.community-card { border-radius: 16px; padding: 36px 24px; }
.icon-box-accent { background: rgba(254,202,0,.2); border: 1px solid rgba(254,202,0,.4); width: 40px; height: 40px; }
.community-card h3 { margin-block: 12px 8px; }
.community-card p { font-size: 12px; line-height: 16px; color: var(--nn-muted); }
/* Location uses the supplied static map artwork with a working directions link. */
.location-card { padding: 32px; border-radius: 16px; }
.location-brand { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.icon-box-brand { background: var(--nn-accent); border-radius: 4px; width: 32px; height: 32px; }
.location-details { margin: 0; padding-top: 8px; display: flex; flex-direction: column; gap: 12px; }
.location-details > div { display: flex; align-items: flex-start; gap: 12px; }
.icon-box-detail { width: 32px; height: 32px; margin-top: 2px; }
.location-details dd { margin: 0; min-width: 0; }
.detail-label { display: block; font: 600 11px/14px var(--nn-display-font); letter-spacing: .55px; color: var(--nn-warm); text-transform: uppercase; }
.location-details p { font-size: 14px; line-height: 20px; color: var(--nn-text); overflow-wrap: anywhere; }
.location-details strong { color: var(--nn-accent); }
.location-actions { margin-top: 24px; padding-top: 16px; border-top: 1px solid rgba(78,70,50,.3); gap: 12px; }
.location-actions .nn-button { flex: 1 1 auto; padding-inline: 15px; }
.map-media { height: 382px; display: flex; align-items: center; justify-content: center; }
.map-image { position: absolute; width: 100%; height: 177.72%; top: -38.86%; left: 0; }
.map-overlay { position: absolute; inset: 0; background: rgba(14,14,14,.4); backdrop-filter: blur(1px); }
.map-marker { display: flex; gap: 12px; align-items: center; position: relative; background: rgba(14,14,14,.9); border: 1px solid rgba(254,202,0,.4); border-radius: 12px; padding: 16px; color: #e5e2e1; backdrop-filter: blur(6px); box-shadow: 0 25px 50px -12px rgba(0,0,0,.25); }
.map-marker h3 { font-size: 20px; line-height: 28px; }
.map-marker p { font-size: 12px; line-height: 16px; color: #c8c6c5; }
.map-marker-icon { width: 40px; height: 40px; background: var(--nn-accent); border-radius: 50%; }
.map-tags { position: absolute; bottom: 16px; left: 16px; right: 16px; display: flex; flex-wrap: wrap; gap: 8px; }
.map-tags > span { display: flex; align-items: center; gap: 4px; border: 1px solid var(--nn-line); border-radius: 6px; background: rgba(14,14,14,.9); padding: 4px 12px; color: #e5e2e1; font: 500 11px/14px var(--nn-display-font); }
/* Final call to action and footer. */
.cta-section { padding: 80px 48px; }
.cta-panel { position: relative; max-width: 1156px; padding: 64px; margin-inline: auto; background: #1a180e; border: 1px solid rgba(254,202,0,.4); border-radius: 24px; overflow: hidden; box-shadow: 0 0 40px rgba(254,202,0,.12); }
.cta-panel::after { content: ''; position: absolute; width: 320px; height: 320px; right: -80px; bottom: -80px; border-radius: 50%; filter: blur(45px); background: rgba(254,202,0,.2); pointer-events: none; }
.cta-content { position: relative; max-width: 672px; z-index: 1; }
.cta-content h2 { font-size: 48px; line-height: 56px; margin-block: 16px; color: #e5e2e1; }
.cta-content > p:not(.eyebrow) { color: #c8c6c5; line-height: 24px; margin-bottom: 24px; }
.cta-content .nn-button { padding: 14px 32px; min-height: 48px; }
.site-footer { padding-block: 32px; }
.site-footer h2 { font-size: 20px; line-height: 28px; letter-spacing: .5px; font-weight: 600; margin-bottom: 12px; }
.site-footer p { color: var(--nn-muted); font-size: 12px; line-height: 16px; }
.footer-brand { display: flex; gap: 8px; align-items: center; font: 600 20px/28px var(--nn-display-font); letter-spacing: 1px; margin-bottom: 12px; }
.footer-brand .icon-box { width: 28px; height: 28px; border-radius: 4px; background: var(--nn-accent); }
.footer-hours { display: flex; align-items: center; gap: 8px; margin-top: 12px; color: var(--nn-accent); font: 600 11px/14px var(--nn-display-font); }
.footer-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 12px; line-height: 16px; color: var(--nn-warm); }
.footer-contact { margin: 0; display: flex; flex-direction: column; gap: 8px; font-style: normal; font-size: 12px; line-height: 16px; color: var(--nn-muted); }
.footer-contact > div { display: flex; gap: 8px; align-items: flex-start; }
.footer-contact a { overflow-wrap: anywhere; }
.facility-card { background: var(--nn-card); border-radius: 12px; padding: 16px; }
.facility-stat { display: flex; gap: 12px; align-items: center; justify-content: space-between; }
.facility-stat span { color: var(--nn-muted); font: 600 11px/14px var(--nn-display-font); letter-spacing: .55px; }
.facility-stat strong { color: var(--nn-accent); font: 600 20px/28px var(--nn-display-font); }
.facility-bar { height: 6px; border-radius: 999px; background: var(--nn-accent); margin-block: 8px; }
.facility-card p { color: var(--nn-warm); }
.footer-bottom { margin-top: 32px; padding-top: 24px; display: flex; justify-content: space-between; gap: 24px; }
.footer-legal { display: flex; gap: 24px; font-size: 12px; line-height: 16px; color: var(--nn-muted); }
.content-page { padding-block: 80px; min-height: 60vh; }
.content-page h1 { font-size: clamp(32px,5vw,48px); line-height: 1.2; margin-bottom: 24px; }
.entry { margin-bottom: 48px; }
.entry-content > * + * { margin-top: 20px; }
.entry img { max-width: 100%; height: auto; }
.entry-content a { text-decoration: underline; color: var(--nn-accent); }
.entry-content .alignwide { max-width: 100%; }
.wp-caption, .gallery-caption { max-width: 100%; color: var(--nn-muted); }
.bypostauthor { border-left: 2px solid var(--nn-accent); }
.alignleft { float: left; margin: 0 24px 16px 0; }
.alignright { float: right; margin: 0 0 16px 24px; }
.aligncenter { display: block; margin-inline: auto; }
/* Responsive adaptation: Figma supplies one desktop frame, so smaller sizes reflow. */
@media (min-width: 1200px) {
  .hero-row > .col-lg-5 { width: calc(100% - 800px); }
  .hero-row > .col-lg-7 { width: 800px; }
  .hero-description { width: 576px; }
  .services-section { padding-bottom: 96px; }
  .rate-panel { height: 557px; }
  .night-panel { height: 553px; }
}
@media (max-width: 1199.98px) {
  .nn-container, .hero-container { padding-inline: 32px; }
  .hero-content h1 { font-size: 44px; }
  .hero-description { max-width: 100%; }
  .hero-buttons { gap: 10px; }
  .hero-buttons .nn-button { padding-inline: 16px; }
  .hero-badges { gap: 8px; margin-top: 24px; }
  .hero-badges li + li::before { content: none; }
  .community-heading { align-items: flex-start; flex-direction: column; }
  .location-card { padding: 24px; }
  .location-actions .nn-button { font-size: 12px; }
  .rate-panel-heading { flex-wrap: wrap; }
  .rate-label { font-size: 18px; }
  .rate-footer { flex-wrap: wrap; }
}
@media (max-width: 991.98px) {
  .nn-section { padding-block: 64px; }
  .hero-container { max-width: 1280px; }
  .hero-content { padding-bottom: 8px; }
  .hero-media { height: clamp(260px,50vw,422px); }
  .hero-media > img { width: 100%; height: 100%; left: 0; object-fit: cover; }
  .site-header .navbar-collapse { flex-basis: 100%; width: 100%; padding: 24px 0 8px; }
  .header-links { flex-direction: column; align-items: flex-start; gap: 0; margin: 0 0 16px; }
  .header-links li, .header-links a { display: block; width: 100%; }
  .header-links a { padding: 12px 0; }
  .header-actions { justify-content: space-between; }
  .prints-media { height: 452px; }
  .community-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .community-media { height: auto; aspect-ratio: 1.835; }
  .location-card { min-height: 0; padding: 32px; }
  .location-actions .nn-button { font-size: 14px; }
  .cta-section { padding: 64px 32px; }
  .cta-panel { padding: 48px; }
  .footer-bottom { margin-top: 40px; flex-wrap: wrap; }
  .rate-panel { min-height: 0; }
}
@media (max-width: 767.98px) {
  :root { --nn-gutter: 24px; }
  .nn-container, .hero-container { padding-inline: 24px; }
  h2 { font-size: 28px; line-height: 34px; }
  .hero-content h1 { font-size: 42px; }
  .status-tag { font-size: 10px; letter-spacing: .2px; }
  .prints-media { height: 360px; }
  .community-cards { grid-template-columns: 1fr; gap: 24px; }
  .community-card { padding: 24px; }
  .map-media { height: 360px; }
  .map-marker { padding: 12px; gap: 8px; margin-inline: 10px; }
  .map-marker h3 { font-size: 17px; }
  .cta-section { padding-inline: 24px; }
  .cta-panel { padding: 32px; }
  .cta-content h2 { font-size: 38px; line-height: 44px; }
  body.admin-bar .site-header { top: 46px; }
  .feature-card { min-height: 0; }
  .service-card { min-height: 0; }
}
@media (max-width: 479.98px) {
  .nn-section { padding-block: 48px; }
  .hero-content h1 { font-size: 38px; }
  .hero-buttons { align-items: stretch; flex-direction: column; }
  .hero-badges { gap: 8px; }
  .hero-badges li { font-size: 9px; letter-spacing: .5px; padding-inline: 8px; }
  .rate-panel { padding: 24px 20px; }
  .rate-panel h3 { font-size: 28px; }
  .rate-panel-heading { gap: 8px; }
  .rate-row dd { font-size: 28px; }
  .rate-row-featured { padding: 16px 10px; }
  .rate-row-featured dd { font-size: 36px; line-height: 44px; }
  .rate-label { font-size: 17px; line-height: 24px; gap: 4px; }
  .value-badge { font-size: 8px; line-height: 16px; padding-inline: 5px; }
  .rate-description { font-size: 11px; }
  .prints-checklist { gap: 12px 8px; }
  .prints-checklist li { font-size: 12px; }
  .prints-media { height: 300px; }
  .community-media { min-height: 280px; }
  .community-media > img { object-fit: cover; }
  .event-caption { padding: 16px; }
  .event-caption h3 { font-size: 18px; line-height: 24px; }
  .location-card { padding: 24px 20px; }
  .location-brand { font-size: 18px; }
  .location-actions { align-items: stretch; flex-direction: column; }
  .location-actions .nn-button { width: 100%; }
  .map-marker p { font-size: 11px; }
  .map-marker h3 { font-size: 15px; line-height: 22px; }
  .map-tags { gap: 6px; bottom: 12px; left: 12px; right: 12px; }
  .map-tags > span { font-size: 9px; padding-inline: 8px; }
  .cta-panel { padding: 24px; }
  .cta-content h2 { font-size: 32px; line-height: 40px; }
  .cta-content .nn-button { width: 100%; padding-inline: 16px; }
}
@media (max-width: 600px) { body.admin-bar .site-header { top: 0; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }
/* Optional light appearance is a functional enhancement; dark is the Figma default. */
html[data-netnook-theme='light'] {
  --nn-bg: #f8f6ef; --nn-dark: #efebe0; --nn-card: #fffdf7; --nn-box: #f3efdf; --nn-raised: #ece6d5;
  --nn-text: #201f1b; --nn-muted: #545044; --nn-warm: #645a40; --nn-line: rgba(78,70,50,.2);
}
html[data-netnook-theme='light'] .site-header { background: rgba(239,235,224,.95); }
html[data-netnook-theme='light'] .site-brand { background: #131313; border-radius: 6px; padding-inline: 6px; }
html[data-netnook-theme='light'] .navbar-toggler-icon { filter: none; }

.night-panel .hours-chip { background: rgba(254,202,0,.15); border-color: rgba(254,202,0,.3); color: var(--nn-accent); }

@media (min-width: 992px) { .header-links { position: absolute; left: 50%; transform: translateX(-50%); } .header-actions { margin-left: auto; } }
