/* Bundled styles: base -> v2 -> v3 -> responsive gallery patch. */
/* 3 Nuggets Adventures — scoped Elementor styles */
.tn-site {
  --tn-cream: oklch(0.98 0.018 90);
  --tn-ink: oklch(0.27 0.05 245);
  --tn-on-color: oklch(0.995 0.005 90);
  --tn-teal: oklch(0.66 0.12 192);
  --tn-teal-deep: oklch(0.42 0.09 205);
  --tn-sun: oklch(0.88 0.16 90);
  --tn-coral: oklch(0.7 0.17 32);
  --tn-sky: oklch(0.86 0.07 225);
  --tn-mint: oklch(0.9 0.08 170);
  --tn-shadow-soft: 0 18px 40px -18px color-mix(in oklab, var(--tn-ink) 35%, transparent);
  --tn-shadow-pop: 0 6px 0 0 color-mix(in oklab, var(--tn-ink) 85%, transparent);
  box-sizing: border-box;
  color: var(--tn-ink);
  font-family: "Nunito", ui-rounded, system-ui, sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
.tn-site *, .tn-site *::before, .tn-site *::after { box-sizing: inherit; }
.tn-site h1,.tn-site h2,.tn-site h3,.tn-site h4,.tn-display { font-family: "Fredoka", ui-rounded, system-ui, sans-serif; letter-spacing: -.01em; margin-top: 0; color: inherit; }
.tn-site p { margin-top: 0; }
.tn-site a { color: inherit; text-decoration: none; }
.tn-site img { max-width: 100%; height: auto; display: block; }
.tn-container { width: min(100% - 3rem, 80rem); margin-inline: auto; }
.tn-narrow { max-width: 54rem; }
.tn-center { text-align: center; }
.tn-block { display:block; }
.tn-mt-8 { margin-top: 2rem; }
.tn-mt-12 { margin-top: 3rem; }
.tn-small { font-size:.875rem; }
.tn-text-coral { color:var(--tn-coral); }
.tn-text-teal-deep { color:var(--tn-teal-deep); }
.tn-bg-cream { background:var(--tn-cream); }
.tn-bg-white { background:#fff; }
.tn-bg-sky { background:var(--tn-sky); }
.tn-bg-mint { background:var(--tn-mint); }
.tn-bg-sun { background:var(--tn-sun); }
.tn-bg-coral { background:var(--tn-coral); color:var(--tn-on-color); }
.tn-bg-teal { background:var(--tn-teal); color:var(--tn-on-color); }
.tn-bg-teal-deep { background:var(--tn-teal-deep); color:var(--tn-on-color); }

.tn-btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border-radius:999px; padding:.9rem 1.6rem; font-family:"Fredoka",ui-rounded,sans-serif; font-weight:600; letter-spacing:.04em; text-transform:uppercase; font-size:.95rem; border:2px solid var(--tn-ink); transition:transform .2s ease,box-shadow .2s ease; box-shadow:var(--tn-shadow-pop); line-height:1.2; cursor:pointer; }
.tn-btn:hover { transform:translateY(-3px); box-shadow:0 9px 0 0 color-mix(in oklab,var(--tn-ink) 85%,transparent); }
.tn-btn:active { transform:translateY(3px); box-shadow:0 2px 0 0 var(--tn-ink); }
.tn-btn-coral { background:var(--tn-coral); color:var(--tn-on-color)!important; }
.tn-btn-sun { background:var(--tn-sun); color:var(--tn-ink)!important; }
.tn-btn-teal { background:var(--tn-teal); color:var(--tn-on-color)!important; }
.tn-btn-white { background:var(--tn-on-color); color:var(--tn-ink)!important; }
.tn-btn-sm { padding:.55rem 1.1rem; font-size:.8rem; }
.tn-buttons { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
.tn-buttons-center { justify-content:center; }
.tn-eyebrow { display:inline-block; font-family:"Fredoka",ui-rounded,sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.16em; font-size:.8rem; padding:.4rem .9rem; border-radius:999px; background:color-mix(in oklab,var(--tn-on-color) 70%,transparent); color:var(--tn-ink); }
.tn-section-title { font-size:clamp(2.5rem,5vw,4rem); line-height:.98; font-weight:700; margin:1rem 0 0; }
.tn-lead-muted { margin:1.5rem auto 0; max-width:44rem; font-size:1.125rem; color:color-mix(in oklab,var(--tn-ink) 72%,transparent); }
.tn-pop-card { background:#fff; border-radius:2rem; border:2px solid var(--tn-ink); box-shadow:0 8px 0 0 var(--tn-ink); transition:transform .25s ease,box-shadow .25s ease; }
.tn-pop-card:hover { transform:translateY(-6px) rotate(-.4deg); box-shadow:0 14px 0 0 var(--tn-ink); }
.tn-reveal { opacity:0; transform:translateY(28px); transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1); }
.tn-reveal.is-in { opacity:1; transform:none; }
.tn-float { animation:tn-float 6s ease-in-out infinite; }
.tn-float-slow { animation:tn-float 9s ease-in-out infinite; }
@keyframes tn-float { 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-14px) rotate(4deg)} }
@keyframes tn-spin { to { transform:rotate(360deg); } }

.tn-divider { position:relative; z-index:3; width:100%; margin-bottom:-1px; line-height:0; pointer-events:none; }
.tn-divider svg { width:100%; height:clamp(4rem,8vw,9rem); display:block; }
.tn-divider-flip svg { transform:scaleX(-1); }
.tn-divider-cream { color:var(--tn-cream); }.tn-divider-white{color:#fff}.tn-divider-sky{color:var(--tn-sky)}.tn-divider-mint{color:var(--tn-mint)}.tn-divider-sun{color:var(--tn-sun)}.tn-divider-coral{color:var(--tn-coral)}.tn-divider-teal{color:var(--tn-teal)}.tn-divider-teal-deep{color:var(--tn-teal-deep)}

/* Header */
.tn-header-wrap { position:relative; z-index:100; padding:.75rem .75rem 0; }
.tn-header { position:sticky; top:.75rem; z-index:100; width:min(100%,80rem); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:1rem; border:2px solid var(--tn-ink); background:#fff; border-radius:999px; padding:.5rem 1.5rem; transition:box-shadow .2s ease; }
.tn-header.is-scrolled { box-shadow:var(--tn-shadow-soft); }
.tn-logo { flex:0 0 auto; display:flex; align-items:center; }
.tn-logo img { height:3rem; width:auto; max-width:8rem; object-fit:contain; }
.tn-nav-desktop { display:flex; align-items:center; }
.tn-menu,.tn-menu-mobile,.tn-footer-menu { list-style:none; margin:0; padding:0; }
.tn-menu { display:flex; align-items:center; gap:.2rem; }
.tn-menu > li { position:relative; }
.tn-menu > li > a { display:block; border-radius:999px; padding:.55rem .75rem; font-family:"Fredoka"; font-size:.95rem; font-weight:600; }
.tn-menu > li.current-menu-item > a,.tn-menu > li.current-menu-ancestor > a,.tn-menu > li > a:hover { background:var(--tn-mint); }
.tn-menu .menu-item-has-children > a::after { content:"▾"; margin-left:.3rem; font-size:.72rem; }
.tn-menu .sub-menu { visibility:hidden; opacity:0; position:absolute; left:0; top:100%; width:14rem; margin:.75rem 0 0; padding:.5rem; list-style:none; border:2px solid var(--tn-ink); border-radius:1.5rem; background:#fff; box-shadow:var(--tn-shadow-soft); transition:.2s ease; }
.tn-menu li:hover > .sub-menu,.tn-menu li:focus-within > .sub-menu { visibility:visible; opacity:1; }
.tn-menu .sub-menu a { display:block; padding:.65rem .9rem; border-radius:1rem; font-family:"Fredoka"; font-weight:500; }
.tn-menu .sub-menu a:hover { background:var(--tn-sky); }
.tn-header-actions { display:flex; align-items:center; gap:.5rem; }
.tn-mobile-toggle { display:none; width:2.75rem; height:2.75rem; border-radius:999px; border:2px solid var(--tn-ink); background:var(--tn-teal); color:#fff; font-size:1.25rem; font-family:"Fredoka"; cursor:pointer; }
.tn-mobile-panel { position:fixed; left:.75rem; right:.75rem; top:5rem; z-index:99; max-height:calc(100vh - 6rem); overflow:auto; border:2px solid var(--tn-ink); background:#fff; border-radius:2rem; padding:1.25rem; box-shadow:var(--tn-shadow-soft); }
.tn-menu-mobile > li > a { display:block; padding:.65rem 1rem; border-radius:1rem; font-family:"Fredoka"; font-size:1.5rem; font-weight:600; }
.tn-menu-mobile > li > a:hover { background:var(--tn-sun); }
.tn-menu-mobile .sub-menu { list-style:none; margin:0 0 .5rem 1rem; padding:0; }
.tn-menu-mobile .sub-menu a { display:block; padding:.45rem 1rem; border-radius:1rem; font-family:"Fredoka"; font-size:1rem; }
.tn-menu-mobile .sub-menu a:hover { background:var(--tn-sky); }

/* Footer */
.tn-footer-divider { margin-top:-6rem; }
.tn-footer { padding:1.5rem 0 2.5rem; }
.tn-footer-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr 1.3fr; gap:3rem; }
.tn-footer h2 { color:var(--tn-sun); font-size:1.25rem; margin:0 0 1rem; }
.tn-footer-logo { display:inline-block; padding:1rem; border-radius:2rem; background:#fff; }
.tn-footer-logo img { height:4rem; width:auto; }
.tn-footer-tagline { margin:1.25rem 0 0; font-family:"Fredoka"; font-size:1.5rem; }
.tn-footer address { margin-top:1rem; font-style:normal; opacity:.9; }
.tn-footer .tn-buttons { margin-top:1.25rem; gap:.75rem; }
.tn-footer-menu li { margin:.4rem 0; }
.tn-footer-menu a:hover { color:var(--tn-sun); }
.tn-hours { font-size:.875rem; margin:.75rem 0 0; }
.tn-hours div { display:grid; grid-template-columns:3rem 1fr; gap:.4rem; }
.tn-hours dt { font-weight:700; }.tn-hours dd { margin:0; }
.tn-mailing-form { display:flex; gap:.75rem; margin-top:1rem; }
.tn-mailing-form input,.tn-contact-form input,.tn-contact-form textarea { min-width:0; width:100%; border:2px solid var(--tn-ink); border-radius:1rem; background:#fff; padding:.8rem 1rem; color:var(--tn-ink); font:inherit; }
.tn-mailing-form input { border-radius:999px; flex:1; }
.tn-footer-bottom { margin-top:3rem; padding-top:1.5rem; border-top:1px solid color-mix(in oklab,var(--tn-on-color) 20%,transparent); display:flex; justify-content:space-between; gap:1rem; align-items:center; font-size:.875rem; opacity:.85; }
.tn-footer-bottom p { margin:0; }.tn-footer-bottom div { display:flex; gap:1rem; }

/* Hero */
.tn-hero { position:relative; margin-top:-5rem; overflow:hidden; padding-top:8rem; }
.tn-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:3rem; padding-bottom:.5rem; }
.tn-hero-no-image { grid-template-columns:1fr; max-width:64rem; text-align:left; }
.tn-hero-title { margin:1.25rem 0 0; font-size:clamp(3.5rem,7vw,6rem); line-height:.95; font-weight:700; }
.tn-hero-body { margin-top:1.5rem; max-width:34rem; font-size:1.125rem; font-weight:600; color:color-mix(in oklab,var(--tn-ink) 82%,transparent); }
.tn-hero-image-wrap { position:relative; width:100%; max-width:36rem; margin:auto; }
.tn-hero-image-back { position:absolute; inset:-1.25rem; transform:rotate(3deg); border-radius:42% 58% 38% 62% / 55% 40% 60% 45%; background:var(--tn-sun); }
.tn-hero-image { position:relative; width:100%; aspect-ratio:4/3.3; object-fit:cover; border:4px solid var(--tn-ink); border-radius:58% 42% 55% 45% / 48% 55% 45% 52%; }
.tn-hero-star { position:absolute; left:6%; top:9rem; width:2.5rem; height:2.5rem; color:var(--tn-sun); }
.tn-hero-squiggle { position:absolute; right:8%; top:8rem; width:7rem; color:var(--tn-coral); }

/* Centered intro */
.tn-intro { padding:4rem 0; }

/* Cards */
.tn-card-grid-section,.tn-pricing-section,.tn-icon-section,.tn-blog-section { padding:4rem 0 6rem; }
.tn-card-grid { display:grid; gap:2rem; margin-top:3rem; }
.tn-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tn-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tn-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tn-card { display:flex; flex-direction:column; height:100%; overflow:hidden; color:var(--tn-ink); }
.tn-card.tn-bg-coral,.tn-card.tn-bg-teal,.tn-card.tn-bg-teal-deep { color:var(--tn-on-color); }
.tn-card-image { margin:.75rem; border-radius:1.6rem; overflow:hidden; }
.tn-card-image img { width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.tn-card:hover .tn-card-image img { transform:scale(1.06); }
.tn-card-emoji { display:grid; place-items:center; min-height:13rem; font-size:5rem; }
.tn-card-body { display:flex; flex:1; flex-direction:column; padding:.75rem 1.75rem 1.75rem; }
.tn-card-body h3 { font-size:2.25rem; line-height:1; margin:0; }
.tn-card-lead { margin:.5rem 0 0; font-family:"Fredoka"; font-size:1.1rem; font-weight:600; }
.tn-card-text { margin:.5rem 0 0; opacity:.88; flex:1; }
.tn-card-body .tn-btn { align-self:flex-start; margin-top:1.25rem; }

/* Split sections */
.tn-split { padding:1.5rem 0 5rem; }
.tn-split-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:3rem; }
.tn-split-grid.tn-image-right .tn-split-media { order:2; }
.tn-split-grid.tn-image-right .tn-split-copy { order:1; }
.tn-split-media { position:relative; }
.tn-split-media img { width:100%; max-height:36rem; object-fit:cover; border:4px solid var(--tn-ink); margin:auto; }
.tn-shape-blob { border-radius:58% 42% 55% 45% / 48% 55% 45% 52%; }
.tn-shape-blob2 { border-radius:42% 58% 38% 62% / 55% 40% 60% 45%; }
.tn-shape-round { border-radius:2.5rem; }.tn-shape-square{border-radius:0}
.tn-split-body { margin-top:1.25rem; font-size:1.125rem; }
.tn-float-badge { position:absolute; bottom:1.5rem; left:0; transform:translateX(-.5rem) rotate(-3deg); border:2px solid var(--tn-ink); border-radius:1.5rem; background:var(--tn-sun); color:var(--tn-ink); padding:.75rem 1.25rem; font-family:"Fredoka"; font-weight:700; box-shadow:var(--tn-shadow-pop); }

/* Pricing */
.tn-pricing-grid { display:grid; gap:2rem; margin-top:3.5rem; align-items:start; }
.tn-price-card { position:relative; display:flex; flex-direction:column; padding:2rem; color:var(--tn-ink); }
.tn-price-card.tn-bg-coral,.tn-price-card.tn-bg-teal { color:var(--tn-on-color); }
.tn-price-card.tn-featured { transform:translateY(-1rem); }
.tn-price-card.tn-featured:hover { transform:translateY(-1.35rem) rotate(-.4deg); }
.tn-price-badge { position:absolute; top:-1rem; left:2rem; transform:rotate(-3deg); border:2px solid var(--tn-ink); border-radius:999px; background:var(--tn-sun); color:var(--tn-ink); padding:.3rem 1rem; font-family:"Fredoka"; font-size:.8rem; font-weight:700; text-transform:uppercase; }
.tn-price-head { margin:-.5rem -.5rem 0; padding:1.25rem; border-radius:1.5rem; background:color-mix(in oklab,var(--tn-on-color) 22%,transparent); }
.tn-price-head h3 { font-size:1.55rem; margin:0; }
.tn-price { margin:.25rem 0 0; font-size:3.6rem; line-height:1; }
.tn-price-blurb { margin:1.25rem 0 0; font-weight:600; }
.tn-feature-list { list-style:none; padding:0; margin:1rem 0 0; display:grid; gap:.5rem; flex:1; }
.tn-feature-list li { display:flex; gap:.5rem; font-size:.95rem; }
.tn-fine-print { margin-top:1.5rem; border:2px dashed color-mix(in oklab,currentColor 40%,transparent); border-radius:1rem; padding:1rem; font-size:.875rem; font-weight:700; }
.tn-fine-print p { margin:0; }.tn-fine-print p+p{margin-top:.25rem}
.tn-price-card>.tn-btn { margin-top:1.5rem; }
.tn-mode-simple .tn-price-card { min-height:23rem; }
.tn-mode-simple .tn-price-head { background:transparent; padding:0; margin:0; }
.tn-mode-simple .tn-price { color:var(--tn-coral); font-size:4rem; margin-top:.75rem; }
.tn-mode-compact .tn-price-card { padding:1.75rem; }
.tn-mode-compact .tn-price-head { background:transparent; padding:0; margin:0; }
.tn-mode-compact .tn-price { color:var(--tn-coral); font-size:3.2rem; }

/* Icon cards */
.tn-icon-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; margin-top:3rem; }
.tn-icon-card { padding:1.75rem; color:var(--tn-ink); }
.tn-icon-card.tn-bg-coral,.tn-icon-card.tn-bg-teal { color:var(--tn-on-color); }
.tn-round-icon { display:grid; place-items:center; width:4rem; height:4rem; border-radius:999px; border:2px solid var(--tn-ink); background:#fff; color:var(--tn-ink); font-size:1.8rem; }
.tn-icon-card h3 { margin:1.25rem 0 .5rem; font-size:1.5rem; }.tn-icon-card p{margin:0;opacity:.9}

/* Gallery */
.tn-gallery-section { padding:2rem 0 6rem; }
.tn-gallery-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; }
.tn-gallery-heading .tn-section-title { max-width:42rem; }
.tn-gallery-filters { display:flex; flex-wrap:wrap; gap:.5rem; margin:2rem 0 0; }
.tn-gallery-filters button { border:2px solid var(--tn-ink); border-radius:999px; background:#fff; color:var(--tn-ink); padding:.5rem 1.25rem; font-family:"Fredoka"; font-weight:600; cursor:pointer; }
.tn-gallery-filters button.is-active { background:var(--tn-sun); }
.tn-gallery { margin-top:2.5rem; gap:1rem; }
.tn-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.tn-gallery-mosaic { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:12rem; }
.tn-gallery-mosaic .tn-gallery-item:first-child { grid-column:span 2; grid-row:span 2; }
.tn-gallery-mosaic .tn-gallery-item:nth-child(4) { grid-column:span 2; }
.tn-gallery-masonry { columns:3; column-gap:1.25rem; }
.tn-gallery-masonry .tn-gallery-item { margin-bottom:1.25rem; break-inside:avoid; }
.tn-gallery-item { padding:0; border:4px solid var(--tn-ink); border-radius:2rem; overflow:hidden; background:transparent; cursor:pointer; width:100%; }
.tn-gallery-grid .tn-gallery-item,.tn-gallery-mosaic .tn-gallery-item { height:100%; }
.tn-gallery-item img { width:100%; height:100%; min-height:10rem; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.tn-gallery-masonry .tn-gallery-item img { height:auto; }
.tn-gallery-item:hover img { transform:scale(1.06); }
.tn-gallery-item[hidden] { display:none!important; }
.tn-lightbox { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:1rem; background:color-mix(in oklab,var(--tn-ink) 90%,transparent); }
.tn-lightbox[hidden] { display:none; }
.tn-lightbox img { max-height:85vh; max-width:min(95vw,70rem); border:4px solid var(--tn-on-color); border-radius:2rem; }
.tn-lightbox-close { position:absolute; right:1.25rem; top:1.25rem; border:2px solid var(--tn-ink); border-radius:999px; background:var(--tn-sun); padding:.55rem 1rem; font-family:"Fredoka"; font-weight:700; cursor:pointer; }

/* Blog */
.tn-blog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; margin-top:2.5rem; }
.tn-blog-card { overflow:hidden; }
.tn-blog-copy { padding:2rem; }
.tn-blog-date { margin:0; color:var(--tn-teal-deep); font-family:"Fredoka"; font-size:.8rem; font-weight:600; text-transform:uppercase; letter-spacing:.12em; }
.tn-blog-card h3 { font-size:2rem; margin:.65rem 0 0; line-height:1.05; }
.tn-blog-card .tn-btn { margin-top:1.25rem; }
.tn-blog-featured .tn-first { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
.tn-blog-image { overflow:hidden; min-height:22rem; }.tn-blog-image img{width:100%;height:100%;object-fit:cover}
.tn-category-pills,.tn-post-tags { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:2rem; }
.tn-category-pills span,.tn-post-tags span { border-radius:999px; border:2px solid var(--tn-ink); background:#fff; color:var(--tn-ink); padding:.3rem .8rem; font-family:"Fredoka"; font-size:.8rem; font-weight:600; }
.tn-category-pills span.is-active { background:var(--tn-sun); }
.tn-post-tags span { border:0; background:var(--tn-mint); }

/* CTA */
.tn-cta { position:relative; overflow:hidden; padding:2rem 0 6rem; }
.tn-cta-title { font-size:clamp(3rem,6vw,5rem); line-height:.96; margin:0; }
.tn-cta-body { margin:1.5rem auto 0; max-width:38rem; font-size:1.125rem; }
.tn-cta-emoji { font-size:4rem; margin-bottom:1rem; }
.tn-cta-sun { position:absolute; right:-3rem; top:1rem; width:13rem; color:color-mix(in oklab,var(--tn-coral) 30%,transparent); animation:tn-spin 22s linear infinite; }
.tn-cta-sun svg { width:100%; }

/* Contact */
.tn-contact-section { padding:1rem 0 7rem; }
.tn-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.tn-contact-form-card,.tn-contact-card { padding:2rem; }
.tn-contact-form { display:grid; gap:1rem; }.tn-contact-form h2,.tn-contact-card h2{font-size:1.9rem;margin:0}
.tn-contact-form label { display:grid; gap:.3rem; font-weight:700; }
.tn-contact-side { display:grid; gap:2rem; }
.tn-contact-card address { margin-top:1rem; font-style:normal; font-size:1.05rem; }
.tn-contact-card h3 { margin:1.5rem 0 .25rem; }
.tn-contact-card .tn-buttons { margin-top:1.5rem; }
.tn-map-wrap { margin-top:2.5rem; }.tn-map-wrap iframe{width:100%;height:20rem;border:4px solid var(--tn-ink);border-radius:2rem}

/* Single post */
.tn-post-hero { position:relative; margin-top:-5rem; padding-top:8rem; }
.tn-post-hero .tn-container { padding-bottom:2rem; }
.tn-post-content { padding:1rem 0 7rem; font-size:1.125rem; line-height:1.75; }
.tn-post-content h2 { margin:2.5rem 0 .8rem; color:var(--tn-teal-deep); font-size:2rem; }
.tn-post-content ul { padding-left:0; list-style:none; display:grid; gap:.5rem; }
.tn-post-content li { background:#fff; border-radius:1rem; padding:.8rem 1.25rem; }

@media (max-width:1180px){
  .tn-nav-desktop { display:none; }.tn-mobile-toggle{display:grid;place-items:center}.tn-header-actions .tn-btn-coral{display:none}
  .tn-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px){
  .tn-hero-grid,.tn-split-grid,.tn-contact-grid{grid-template-columns:1fr}.tn-split-grid.tn-image-right .tn-split-media,.tn-split-grid.tn-image-right .tn-split-copy{order:initial}
  .tn-hero-title{font-size:clamp(3.2rem,11vw,5rem)}
  .tn-cols-3,.tn-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tn-icon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tn-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tn-gallery-masonry{columns:2}
  .tn-gallery-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:12rem}.tn-gallery-mosaic .tn-gallery-item:first-child{grid-column:span 2;grid-row:span 2}.tn-gallery-mosaic .tn-gallery-item:nth-child(4){grid-column:span 2}
  .tn-blog-featured .tn-first{display:block}.tn-blog-image{min-height:18rem}
}
@media (max-width:640px){
  .tn-container{width:min(100% - 2rem,80rem)}
  .tn-header{padding:.45rem .65rem}.tn-logo img{height:2.65rem}.tn-header-actions .tn-btn{display:none}.tn-mobile-toggle{display:grid}
  .tn-hero{padding-top:7.5rem}.tn-hero-squiggle{display:none}.tn-hero-grid{gap:2rem}.tn-hero-title{font-size:3.5rem}
  .tn-card-grid,.tn-pricing-grid,.tn-icon-grid,.tn-blog-grid{grid-template-columns:1fr!important}.tn-price-card.tn-featured{transform:none}.tn-price-card.tn-featured:hover{transform:translateY(-6px) rotate(-.4deg)}
  .tn-footer-grid{grid-template-columns:1fr}.tn-footer-bottom{align-items:flex-start;flex-direction:column}.tn-mailing-form{flex-direction:column}
  .tn-gallery-heading{align-items:flex-start;flex-direction:column}.tn-gallery-grid{grid-template-columns:1fr}.tn-gallery-masonry{columns:1}.tn-gallery-mosaic{grid-template-columns:1fr;grid-auto-rows:auto}.tn-gallery-mosaic .tn-gallery-item:first-child,.tn-gallery-mosaic .tn-gallery-item:nth-child(4){grid-column:auto;grid-row:auto}.tn-gallery-mosaic .tn-gallery-item img{aspect-ratio:4/3}
  .tn-cta-title{font-size:3.2rem}.tn-footer-divider{margin-top:-4rem}
}
@media (prefers-reduced-motion:reduce){.tn-site *,.tn-site *::before,.tn-site *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.tn-reveal{opacity:1;transform:none}}

/* v2: Lovable-source matched, isolated Elementor Container layouts. */
.tn-home-section, .tn-home-section * {box-sizing:border-box}
.tn-home-section{--tn-cream:oklch(0.98 0.018 90);--tn-ink:oklch(0.27 0.05 245);--tn-on-color:oklch(0.995 0.005 90);--tn-teal:oklch(0.66 0.12 192);--tn-teal-deep:oklch(0.42 0.09 205);--tn-sun:oklch(0.88 0.16 90);--tn-coral:oklch(0.7 0.17 32);--tn-sky:oklch(0.86 0.07 225);--tn-mint:oklch(0.9 0.08 170);--tn-shadow-pop:0 6px 0 0 var(--tn-ink); color:var(--tn-ink);font-family:"Nunito",sans-serif;}
.tn-home-section .tn-site{--tn-cream:oklch(0.98 0.018 90);--tn-ink:oklch(0.27 0.05 245);--tn-on-color:oklch(0.995 0.005 90);--tn-teal:oklch(0.66 0.12 192);--tn-teal-deep:oklch(0.42 0.09 205);--tn-sun:oklch(0.88 0.16 90);--tn-coral:oklch(0.7 0.17 32);--tn-sky:oklch(0.86 0.07 225);--tn-mint:oklch(0.9 0.08 170)}
.tn-home-section .elementor-widget,.tn-home-section .elementor-widget-container {min-width:0}
.tn-home-section .tn-atomic-copy h1,.tn-home-section .tn-atomic-copy h2,.tn-home-section .tn-atomic-copy h3{color:inherit}
.tn-home-section .tn-eyebrow{background:color-mix(in oklab,var(--tn-on-color) 70%,transparent);line-height:1.35}
.tn-home-section .tn-atomic-heading {font-family:"Fredoka",sans-serif;font-size:clamp(3rem,4.2vw,3.75rem);font-weight:700;line-height:.95;letter-spacing:-.01em;margin:1rem 0 0}
.tn-home-section .tn-atomic-desc{font-family:"Nunito",sans-serif;font-size:1.125rem;line-height:1.5;margin:1.25rem 0 0}
.tn-home-section .tn-atomic-desc p{margin:0}
.tn-home-section .tn-atomic-squiggle{color:var(--tn-coral);width:9rem;height:1.5rem;margin:1rem 0 0}
.tn-home-section .tn-atomic-squiggle svg{width:100%;height:100%}
.tn-home-section .tn-atomic-price{display:inline-flex;align-items:baseline;gap:.75rem;border:2px solid var(--tn-ink);background:#fff;border-radius:1.5rem;padding:1rem 1.5rem;margin-top:1.5rem}
.tn-home-section .tn-atomic-price span{font-family:"Fredoka";font-size:.875rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.tn-home-section .tn-atomic-price strong{font-family:"Fredoka";font-size:2.25rem;line-height:1;color:var(--tn-coral)}
.tn-home-section .tn-buttons{margin-top:2rem}
.tn-home-section .tn-buttons .tn-btn{min-width:0}
/* Image widget: unchanged hero outlines, backdrop, shape and source labels */
.tn-blob-frame{position:relative;max-width:36rem;width:100%;margin:1.25rem auto 1.5rem}
.tn-blob-backing{position:absolute;inset:-1.25rem;transform:rotate(3deg);background:var(--tn-sun);border-radius:42% 58% 38% 62% / 55% 40% 60% 45%;pointer-events:none}
.tn-blob-photo-wrap{position:relative;width:100%;overflow:hidden;border-radius:58% 42% 55% 45% / 48% 55% 45% 52%}
.tn-blob-photo{display:block;width:100%!important;height:auto!important;aspect-ratio:4/3.3;object-fit:cover;border:4px solid var(--tn-ink)}
.tn-blob-photo.tn-shape-blob{border-radius:58% 42% 55% 45% / 48% 55% 45% 52%}
.tn-blob-photo.tn-shape-blob2{border-radius:42% 58% 38% 62% / 55% 40% 60% 45%}
.tn-blob-photo.tn-shape-round{border-radius:2rem}
.tn-blob-photo.tn-shape-circle{border-radius:50%}
.tn-blob-photo.tn-shape-square{border-radius:0}
.tn-img-zoom img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.tn-img-zoom:hover img{transform:scale(1.06)}
.tn-blob-left,.tn-blob-right{position:absolute;font-family:"Fredoka",sans-serif;font-weight:700;z-index:2;border:2px solid var(--tn-ink);box-shadow:var(--tn-shadow-pop)}
.tn-blob-left{bottom:-1.5rem;left:-1rem;border-radius:1.5rem;background:#fff;color:var(--tn-teal-deep);font-size:1.125rem;padding:.75rem 1.25rem;transform:rotate(-6deg)}
.tn-blob-right{top:1.5rem;right:-.5rem;border-radius:999px;background:var(--tn-coral);color:#fff;padding:.75rem 1.25rem;transform:rotate(8deg)}
/* Elementor content controls for each independent card and image */
.tn-offer-shell,.tn-package-shell,.tn-promise-shell{height:100%}
.tn-single-offer{display:flex;flex-direction:column;height:100%;color:var(--tn-ink)!important;overflow:hidden}
.tn-single-offer.tn-bg-coral,.tn-single-offer.tn-bg-teal{color:var(--tn-on-color)!important}
.tn-single-offer-photo{overflow:hidden;margin:.75rem;border-radius:1.6rem;flex:0 0 auto}
.tn-single-offer-photo img{display:block;aspect-ratio:16/10;object-fit:cover;width:100%;height:auto!important}
.tn-single-offer-body{display:flex;flex:1;flex-direction:column;padding:.75rem 1.75rem 1.75rem}
.tn-single-offer h3{font-size:2.25rem;line-height:1;margin:0;font-weight:700}
.tn-single-offer .tn-offer-lead{font-family:"Fredoka",sans-serif;font-size:1.125rem;font-weight:600;margin:.5rem 0 0}
.tn-single-offer .tn-offer-description{font-family:"Nunito",sans-serif;margin:.5rem 0 0;opacity:.85;flex:1}
.tn-single-offer .tn-offer-description p{margin:0}
.tn-single-offer .tn-btn{align-self:start;margin-top:1.25rem}
.tn-single-package{position:relative;display:block;height:100%;padding:1.75rem;color:var(--tn-ink)!important}
.tn-single-package h3{font-family:"Fredoka",sans-serif;font-size:1.5rem;font-weight:700;line-height:1.15;margin:0}
.tn-single-package-price{font-size:3rem;line-height:1.05;margin:.5rem 0 0;color:var(--tn-coral)}
.tn-single-package .tn-single-package-lead{margin:.75rem 0 0;color:var(--tn-ink);opacity:.78}
.tn-single-package .tn-package-features{list-style:none;margin:1rem 0 0;padding:0;font-size:.875rem;line-height:1.6}
.tn-single-package .tn-package-features li{padding:0;margin:0}
.tn-single-package-badge{position:absolute;z-index:2;right:1.5rem;top:-1rem;transform:rotate(3deg);padding:.3rem 1rem;border:2px solid var(--tn-ink);border-radius:999px;background:var(--tn-teal);color:white;font-family:"Fredoka",sans-serif;font-size:.8rem;font-weight:700}
.tn-package-photo{max-height:12rem;object-fit:cover;border-radius:1.5rem;margin-bottom:1rem;width:100%}
.tn-single-promise{height:100%;padding:1.75rem;color:var(--tn-ink)!important}
.tn-single-promise .tn-single-promise-icon{width:4rem;height:4rem;display:grid;place-items:center;border:2px solid var(--tn-ink);border-radius:50%;background:white;font-size:1.8rem}
.tn-single-promise-icon img{width:100%;height:100%;object-fit:contain}
.tn-single-promise h3{font-size:1.5rem;line-height:1.15;margin:1.25rem 0 .5rem}
.tn-single-promise p{margin:0;opacity:.9}
.tn-gallery-tile{height:100%;width:100%;border:4px solid var(--tn-ink);border-radius:2rem;overflow:hidden}
.tn-gallery-tile a{display:block;width:100%;height:100%}
.tn-gallery-tile img{width:100%;height:100%!important;min-height:10rem;display:block;object-fit:cover}
.tn-wave-shell{line-height:0;overflow:hidden}
.tn-wave-shell .tn-divider svg{height:clamp(4rem,7vw,9rem)}
/* The layout/measurements mirror the original Tailwind design (max-width 80rem, 3rem padding, 3rem gaps). */
.tn-home-section{padding:0}
.tn-home-section.tn-home-hero{background:var(--tn-sky);padding-top:8rem;margin-top:-5rem;position:relative;overflow:hidden}
.tn-home-hero:before{content:"✷";font-size:10rem;line-height:1;position:absolute;left:-3rem;top:6rem;color:var(--tn-sun);animation:tn-spin 22s linear infinite}
.tn-home-hero:after{content:"✦";font-size:2rem;line-height:1;position:absolute;right:45%;top:7rem;color:var(--tn-coral)}
.tn-home-layout{width:min(calc(100% - 3rem),80rem)!important;display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:3rem!important;align-items:center!important;margin-inline:auto!important}
.tn-home-hero .tn-home-layout{padding-bottom:.5rem}
.tn-home-hero .tn-atomic-heading{font-size:clamp(3.75rem,7vw,6rem);line-height:.95;margin-top:1.25rem}
.tn-home-hero .tn-atomic-desc{font-weight:600;max-width:34rem;margin-top:1.5rem}
.tn-home-hero .tn-eyebrow{color:var(--tn-teal-deep)}
.tn-home-intro{background:var(--tn-cream);padding:4rem 1.5rem}
.tn-home-intro>.elementor-widget{max-width:56rem;margin-inline:auto}
.tn-home-intro .tn-atomic-copy{text-align:center}
.tn-home-intro .tn-eyebrow{background:var(--tn-mint)}
.tn-home-intro .tn-atomic-heading{font-size:clamp(2.25rem,4.5vw,3.75rem);line-height:.95;margin-top:1.25rem}
.tn-home-intro .tn-atomic-desc{max-width:42rem;margin:1.5rem auto 0;color:color-mix(in oklab,var(--tn-ink) 70%,transparent)}
.tn-home-offers{background:var(--tn-cream);padding:0 1.5rem 5rem}
.tn-home-offer-grid{width:min(100%,80rem)!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem!important;margin-inline:auto!important;align-items:stretch}
.tn-home-offer-grid>.elementor-widget,.tn-home-packages-grid>.elementor-widget,.tn-home-promise-grid>.elementor-widget{height:100%}
.tn-home-play{background:var(--tn-sun);padding:0 0 5rem}
.tn-home-play .tn-home-layout{padding-top:1.5rem}
.tn-home-play .tn-blob-frame{max-width:100%}
.tn-home-play .tn-atomic-heading,.tn-home-membership .tn-atomic-heading{font-size:clamp(3rem,4.5vw,3.75rem)}
.tn-home-party{background:var(--tn-coral);padding-bottom:6rem;color:#fff}
.tn-home-party .tn-party-copy{max-width:52rem;margin:1rem auto 0;width:calc(100% - 3rem)}
.tn-home-party .tn-party-copy .tn-atomic-copy{text-align:center;color:#fff}
.tn-home-party .tn-party-copy .tn-atomic-heading{color:#fff}
.tn-home-party .tn-package-actions{margin:2rem auto 0}
.tn-home-party .tn-package-actions .tn-buttons{justify-content:center;margin-top:1rem}
.tn-home-party .tn-party-copy .tn-atomic-desc{max-width:40rem;margin:1rem auto 0}
.tn-home-packages-grid{width:min(calc(100% - 3rem),80rem)!important;margin:3rem auto 0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem!important;align-items:stretch}
.tn-home-membership{background:var(--tn-mint);padding:1.5rem 0 5rem}
.tn-home-membership .tn-home-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.tn-home-membership .tn-blob-frame{max-width:28rem}
.tn-home-membership .tn-blob-photo{aspect-ratio:1/1}
.tn-home-promise{background:var(--tn-cream);padding:1.5rem 1.5rem 5rem}
.tn-home-promise .tn-home-heading,.tn-home-blog .tn-home-heading{max-width:52rem;width:100%;margin-inline:auto}
.tn-home-promise .tn-home-heading .tn-atomic-copy,.tn-home-blog .tn-home-heading .tn-atomic-copy{text-align:center}
.tn-home-promise .tn-eyebrow{background:var(--tn-sky)}
.tn-home-promise .tn-atomic-desc{color:color-mix(in oklab,var(--tn-ink) 70%,transparent)}
.tn-home-promise-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem!important;width:min(100%,80rem)!important;margin:3rem auto 0!important;align-items:stretch}
.tn-home-gallery{background:var(--tn-teal);padding:1.5rem 1.5rem 5rem;color:#fff}
.tn-home-gallery .tn-atomic-copy{color:#fff}
.tn-home-gallery .tn-gallery-heading{width:min(100%,80rem)!important;margin:auto!important;display:grid!important;grid-template-columns:1fr auto;gap:1.5rem!important;align-items:end}
.tn-home-gallery .tn-gallery-heading>.elementor-widget:first-child{max-width:42rem}
.tn-home-gallery .tn-atomic-heading{color:#fff}
.tn-home-gallery .tn-gallery-heading>.elementor-widget:last-child .tn-buttons{margin:0}
.tn-home-gallery-grid{width:min(100%,80rem)!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,12rem);gap:1rem!important;margin:2.5rem auto 0!important}
.tn-home-gallery-grid>.elementor-widget:nth-child(1){grid-column:span 2;grid-row:span 2}
.tn-home-gallery-grid>.elementor-widget:nth-child(4){grid-column:span 2}
.tn-home-blog{background:var(--tn-cream);padding:1.5rem 1.5rem 5rem}
.tn-home-blog .tn-eyebrow{background:var(--tn-sun)}
.tn-home-blog .tn-blog-section{padding:0!important;background:transparent}
.tn-home-blog .tn-blog-section .tn-blog-grid{margin-top:2.5rem}
.tn-home-cta{background:var(--tn-sun);padding:2rem 1.5rem 6rem;position:relative;overflow:hidden}
.tn-home-cta:after{content:"☼";position:absolute;top:1rem;right:-3rem;color:color-mix(in oklab,var(--tn-coral) 30%,transparent);font-size:13rem;line-height:1;pointer-events:none;animation:tn-spin 22s linear infinite}
.tn-home-cta>.elementor-widget{max-width:56rem;width:100%;margin:auto;position:relative;z-index:1}
.tn-home-cta .tn-atomic-copy{text-align:center}
.tn-home-cta .tn-atomic-heading{font-size:clamp(3rem,5.5vw,4.5rem)}
.tn-home-cta .tn-atomic-desc{max-width:38rem;margin:1.5rem auto 0}
.tn-home-cta .tn-buttons{justify-content:center;margin-top:2.5rem}
/* Preserve source motion, but do not hide editable elements in Elementor's editor. */
.elementor-editor-active .tn-reveal,body.elementor-editor-active .tn-reveal{opacity:1;transform:none}
@media(min-width:1181px){.tn-header-wrap{position:sticky;top:0}.tn-header{position:relative}}
@media(max-width:900px){
.tn-home-layout{grid-template-columns:1fr!important}
.tn-home-promise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.tn-home-packages-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.tn-home-hero .tn-atomic-heading{font-size:clamp(3.75rem,9vw,5.5rem)}
}
@media(max-width:767px){
.tn-home-section.tn-home-hero{padding-top:7.5rem}
.tn-home-layout{width:calc(100% - 2rem)!important;gap:2rem!important}
.tn-home-hero .tn-atomic-heading{font-size:clamp(3.25rem,12vw,4rem)}
.tn-home-hero .tn-blob-frame{max-width:90%;margin:2rem auto}
.tn-home-intro{padding:4rem 1rem}
.tn-home-intro .tn-atomic-heading{font-size:clamp(2.25rem,10vw,3rem)}
.tn-home-offers{padding:0 1rem 5rem}
.tn-home-offer-grid{grid-template-columns:1fr!important}
.tn-home-party .tn-package-actions{width:calc(100% - 2rem)}
.tn-home-packages-grid{width:calc(100% - 2rem)!important;grid-template-columns:1fr!important}
.tn-home-membership .tn-blob-frame{max-width:25rem}
.tn-home-promise-grid{grid-template-columns:1fr!important}
.tn-home-gallery .tn-gallery-heading{grid-template-columns:1fr!important}
.tn-home-gallery .tn-gallery-heading>.elementor-widget:last-child{justify-self:start}
.tn-home-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,9rem)}
.tn-home-gallery-grid>.elementor-widget:nth-child(1){grid-column:span 1;grid-row:span 2}
.tn-home-gallery-grid>.elementor-widget:nth-child(4){grid-column:span 2}
.tn-home-cta .tn-atomic-heading{font-size:clamp(3rem,11vw,4rem)}
}
@media(prefers-reduced-motion:reduce){.tn-home-section *{transition:none!important;animation:none!important}.tn-reveal{opacity:1;transform:none}}
/* Subpages: source style preserved, independently editable atomic Elementor widgets. */
.tn-sub-bg-cream{background:var(--tn-cream)}.tn-sub-bg-sky{background:var(--tn-sky)}
.tn-sub-bg-sun{background:var(--tn-sun)}.tn-sub-bg-mint{background:var(--tn-mint)}
.tn-sub-bg-teal{background:var(--tn-teal);color:#fff}.tn-sub-bg-coral{background:var(--tn-coral);color:#fff}
.tn-sub-bg-teal-deep{background:var(--tn-teal-deep);color:#fff}.tn-sub-bg-white{background:#fff}
.tn-subpage-hero{padding-top:8rem;margin-top:-5rem;overflow:hidden}
.tn-subpage-layout{width:min(calc(100% - 3rem),80rem)!important;display:grid!important;grid-template-columns:1.05fr 1fr;align-items:center;gap:3rem!important;margin:0 auto!important;padding-bottom:1rem}
.tn-subpage-layout .tn-atomic-heading{font-size:clamp(3.5rem,7vw,6rem)}
.tn-subpage-hero-no-image .tn-subpage-layout{grid-template-columns:1fr;max-width:64rem}
.tn-subpage-block{padding:3rem 0 5rem}
.tn-subpage-block>.elementor-widget:first-child .tn-wave-shell{margin-top:-3rem}
.tn-subpage-block .tn-subpage-layout{padding:1.5rem 0 0}
.tn-subpage-block .tn-subpage-grid{width:min(calc(100% - 3rem),80rem)!important;margin:1rem auto!important}
.tn-subpage-title{max-width:54rem;width:calc(100% - 3rem);margin:0 auto 3rem!important;text-align:center}
.tn-subpage-title .tn-atomic-copy{text-align:center}
.tn-subpage-grid{display:grid!important;gap:2rem!important;align-items:stretch}
.tn-subpage-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tn-subpage-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tn-subpage-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tn-subpage-block .tn-single-package-price{font-size:3.6rem}
.tn-subpage-block .tn-single-package .tn-btn{margin-top:1.5rem}
/* Edge-to-edge waves on padded sections, as in the source React app. */
.tn-home-promise>.elementor-widget:first-child,.tn-home-gallery>.elementor-widget:first-child,.tn-home-blog>.elementor-widget:first-child,.tn-home-cta>.elementor-widget:first-child{margin-left:-1.5rem!important;margin-right:-1.5rem!important;width:calc(100% + 3rem)!important}
.tn-home-promise>.elementor-widget:first-child,.tn-home-gallery>.elementor-widget:first-child,.tn-home-blog>.elementor-widget:first-child{margin-top:-1.5rem!important}
.tn-home-cta>.elementor-widget:first-child{margin-top:-2rem!important}
@media(max-width:900px){.tn-subpage-layout{grid-template-columns:1fr!important}.tn-subpage-grid-4,.tn-subpage-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.tn-subpage-layout{width:calc(100% - 2rem)!important}.tn-subpage-grid{grid-template-columns:1fr!important;width:calc(100% - 2rem)!important}.tn-subpage-hero .tn-atomic-heading{font-size:clamp(3.25rem,12vw,4rem)}.tn-subpage-block .tn-subpage-layout{padding:1rem 0}.tn-home-promise>.elementor-widget:first-child,.tn-home-gallery>.elementor-widget:first-child,.tn-home-blog>.elementor-widget:first-child,.tn-home-cta>.elementor-widget:first-child{margin-left:-1.5rem!important;margin-right:-1.5rem!important}}
/* Native Elementor card: actual editable image/heading/subheading/paragraph/button widgets. */
.tn-native-offer-card{background:white;display:flex!important;flex-direction:column!important;overflow:hidden;height:100%;color:var(--tn-ink)!important;border-radius:2rem;border:2px solid var(--tn-ink);box-shadow:0 8px 0 0 var(--tn-ink);transition:transform .25s ease,box-shadow .25s ease}
.tn-native-offer-card.tn-bg-sun{background:var(--tn-sun)}.tn-native-offer-card.tn-bg-coral{background:var(--tn-coral);color:white!important}.tn-native-offer-card.tn-bg-sky{background:var(--tn-sky)}.tn-native-offer-card.tn-bg-mint{background:var(--tn-mint)}.tn-native-offer-card.tn-bg-teal{background:var(--tn-teal);color:white!important}
.tn-native-offer-card:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 14px 0 0 var(--tn-ink)}
.tn-native-offer-photo{margin:.75rem!important;overflow:hidden;border-radius:1.6rem;width:calc(100% - 1.5rem)!important}
.tn-native-offer-photo .elementor-widget-image,.tn-native-offer-photo .elementor-widget-container{width:100%;height:100%}
.tn-native-offer-photo img{width:100%;height:auto!important;display:block;aspect-ratio:16/10;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.tn-native-offer-card:hover .tn-native-offer-photo img{transform:scale(1.06)}
.tn-native-offer-content{padding:.75rem 1.75rem 1.75rem!important;display:flex!important;flex-direction:column!important;flex:1!important;gap:0!important}
.tn-native-offer-content .elementor-widget{margin:0!important}
.tn-native-offer-title .elementor-heading-title{font-family:"Fredoka",sans-serif;font-size:2.25rem;line-height:1;color:inherit;font-weight:700}
.tn-native-offer-lead .elementor-heading-title{font-family:"Fredoka",sans-serif;font-size:1.125rem;line-height:1.4;color:inherit;font-weight:600;margin-top:.5rem}
.tn-native-offer-description{font-family:"Nunito",sans-serif;line-height:1.5;opacity:.85;flex:1!important;margin-top:.5rem!important;color:inherit}
.tn-native-offer-description p{margin:0;color:inherit}
.tn-native-offer-button{margin-top:1.25rem!important;align-self:flex-start!important}
.tn-native-offer-button .elementor-button{display:inline-flex;align-items:center;border:2px solid var(--tn-ink);border-radius:999px;padding:.55rem 1.1rem;background:#fff;color:var(--tn-ink);font-family:"Fredoka",sans-serif;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 6px 0 0 var(--tn-ink);transition:transform .2s ease,box-shadow .2s ease}
.tn-native-offer-button .elementor-button:hover{transform:translateY(-3px);box-shadow:0 9px 0 0 var(--tn-ink)}
.tn-native-gallery-photo{border:4px solid var(--tn-ink);border-radius:2rem;overflow:hidden;width:100%;height:100%;min-width:0}
.tn-native-gallery-photo .elementor-widget,.tn-native-gallery-photo .elementor-widget-container{width:100%;height:100%}
.tn-native-gallery-photo img{display:block;width:100%;height:100%!important;min-height:10rem;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.tn-native-gallery-photo:hover img{transform:scale(1.06)}

.tn-home-blog .tn-blog-card.tn-first{background:var(--tn-sky)}
.tn-home-blog .tn-blog-card:not(.tn-first){background:#fff}
/* Source-matched Pricing pages: colorful heading panels, full price/feature controls. */
.tn-single-package.tn-package-full .tn-package-head{padding:1.25rem;margin:-.5rem -.5rem 0;border-radius:1.5rem;background:var(--tn-sun)}
.tn-single-package.tn-package-full.tn-bg-coral{background:var(--tn-coral);color:white!important}
.tn-single-package.tn-package-full.tn-bg-teal{background:var(--tn-teal);color:white!important}
.tn-single-package.tn-package-full.tn-bg-coral .tn-package-head,.tn-single-package.tn-package-full.tn-bg-teal .tn-package-head{background:color-mix(in oklab,white 15%,transparent)}
.tn-single-package.tn-package-full.tn-bg-coral .tn-single-package-price,.tn-single-package.tn-package-full.tn-bg-teal .tn-single-package-price{color:white}
.tn-single-package.tn-package-full.tn-bg-coral .tn-single-package-lead,.tn-single-package.tn-package-full.tn-bg-teal .tn-single-package-lead{color:white}
.tn-single-package.tn-package-full .tn-single-package-price{font-size:3.5rem}
.tn-single-package.tn-package-play{padding:2rem}
.tn-single-package.tn-package-play .tn-package-head{background:transparent;margin:0;padding:0}
.tn-single-package.tn-package-play h3{text-transform:uppercase}
.tn-single-package.tn-package-play .tn-single-package-price{font-size:3.75rem;margin-top:.75rem;color:var(--tn-coral)}
.tn-single-package.tn-package-play .tn-package-features{margin-top:1.5rem;font-weight:700;line-height:1.7}
.tn-single-package.tn-package-play .tn-btn{align-self:flex-start}
/* Last layout refinements: full-bleed CTA wave and source sticky nav. */
.tn-home-cta>.elementor-widget:first-child{max-width:none!important}
.tn-header-wrap{position:sticky;top:0}
.tn-native-gallery-photo .elementor-widget-container a{display:block;width:100%;height:100%}

/* Three Nuggets Adventure v3 — page-by-page native Elementor layout.
 * Palette, organic geometry, motion and typography derived from the
 * user's original Lovable source, not recreated from a generic theme.
 */
.tn-v3 {
  --tn-cream:oklch(.98 .018 90);--tn-ink:oklch(.27 .05 245);
  --tn-on-color:oklch(.995 .005 90);--tn-teal:oklch(.66 .12 192);
  --tn-teal-deep:oklch(.42 .09 205);--tn-sun:oklch(.88 .16 90);
  --tn-coral:oklch(.7 .17 32);--tn-sky:oklch(.86 .07 225);
  --tn-mint:oklch(.9 .08 170);
  font-family:'Nunito',ui-rounded,system-ui,sans-serif;
  color:var(--tn-ink);box-sizing:border-box;min-width:0;
}
.tn-v3 *, .tn-v3 *:before, .tn-v3 *:after {box-sizing:border-box}
.tn-v3 h1,.tn-v3 h2,.tn-v3 h3,.tn-v3 h4,.tn-v3 .tn-rich-text {font-family:'Fredoka',ui-rounded,system-ui,sans-serif;letter-spacing:-.01em;color:inherit;margin:0}
.tn-v3 p{margin:0}
.tn-v3 a{text-decoration:none}
.tn-v3 .tn-text-coral,.tn-v3 .tn-rich-text .tn-text-coral{color:var(--tn-coral)}
.tn-v3 .tn-text-teal-deep{color:var(--tn-teal-deep)}
.tn-v3 .elementor-widget-text-editor p:last-child{margin-bottom:0}
.tn-v3 .elementor-widget-heading,.tn-v3 .elementor-widget-tn-rich-heading,.tn-v3 .elementor-widget-text-editor{width:100%;min-width:0}
.tn-v3 .elementor-heading-title{color:inherit;font-family:inherit;line-height:inherit}
.tn-v3-heading .elementor-heading-title {font-family:'Fredoka',ui-rounded,sans-serif;letter-spacing:-.01em}
.tn-v3-bg-cream {background:var(--tn-cream)}
.tn-v3-bg-sky{background:var(--tn-sky)}
.tn-v3-bg-sun{background:var(--tn-sun)}
.tn-v3-bg-mint{background:var(--tn-mint)}
.tn-v3-bg-teal{background:var(--tn-teal);color:#fff}
.tn-v3-bg-coral{background:var(--tn-coral);color:#fff}
.tn-v3-bg-white{background:#fff}
.tn-v3-hero {margin-top:-5rem!important;padding-top:8rem!important;overflow:hidden}
.tn-v3-hero-inner{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);width:min(calc(100% - 3rem),80rem)!important;margin:0 auto!important;gap:2.5rem!important;align-items:center;min-height:21rem;padding-bottom:2.5rem}
.tn-v3-hero-inner.tn-v3-hero-one{grid-template-columns:1fr;min-height:17rem}
.tn-v3-copy{display:flex!important;flex-direction:column!important;align-items:flex-start;gap:0!important;min-width:0}
.tn-v3-hero .tn-v3-hero-copy{max-width:39rem}
.tn-v3-label{width:auto!important;max-width:100%;align-self:flex-start;margin-bottom:1rem!important}
.tn-v3-label .elementor-heading-title,.tn-v3-label .tn-rich-text{display:inline-block;width:auto;background:color-mix(in oklab,var(--tn-on-color) 72%,transparent);border-radius:999px;padding:.4rem .9rem;color:var(--tn-ink);font-family:'Fredoka',sans-serif;font-size:.8rem!important;font-weight:600!important;text-transform:uppercase;letter-spacing:.16em;line-height:1.2!important}
.tn-v3-display .elementor-heading-title,.tn-v3-display .tn-rich-text{font-family:'Fredoka',sans-serif;font-weight:700;font-size:clamp(3rem,5vw,5rem);line-height:.95;letter-spacing:-.01em}
.tn-v3-hero .tn-v3-display .tn-rich-text{max-width:12em}
.tn-v3-lead{max-width:44rem;margin-top:1.5rem!important;font-size:1.125rem;font-weight:400;line-height:1.65;color:color-mix(in oklab,var(--tn-ink) 78%,transparent)}
.tn-v3-actions{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start;flex-wrap:wrap!important;gap:1rem!important;margin-top:2rem!important;width:100%}
.tn-v3-button{width:auto!important;max-width:100%;flex:none!important}
.tn-v3-button .elementor-button{font-family:'Fredoka',ui-rounded,sans-serif!important;font-size:.95rem!important;font-weight:600!important;letter-spacing:.04em!important;text-transform:uppercase;border-radius:999px!important;border:2px solid var(--tn-ink)!important;box-shadow:0 6px 0 0 var(--tn-ink)!important;padding:.9rem 1.6rem!important;transition:transform .2s ease,box-shadow .2s ease!important;line-height:1.2!important}
.tn-v3-button .elementor-button:hover{transform:translateY(-3px);box-shadow:0 9px 0 0 var(--tn-ink)!important}
.tn-v3-button .elementor-button:active{transform:translateY(3px);box-shadow:0 2px 0 0 var(--tn-ink)!important}
.tn-v3-button-coral .elementor-button{background:var(--tn-coral)!important;color:white!important}
.tn-v3-button-sun .elementor-button{background:var(--tn-sun)!important;color:var(--tn-ink)!important}
.tn-v3-button-teal .elementor-button{background:var(--tn-teal)!important;color:white!important}
.tn-v3-button-white .elementor-button{background:#fff!important;color:var(--tn-ink)!important}
.tn-v3-hero-inner .tn-blob-frame{max-width:100%;margin:auto;overflow:visible}
.tn-v3-hero-inner .tn-blob-photo{aspect-ratio:4/3!important;width:100%;object-fit:cover}
.tn-v3-hero-inner .tn-blob-photo-wrap{width:100%}
.tn-v3-hero>.elementor-widget:last-child{width:100%;line-height:0}
.tn-v3-hero>.elementor-widget:last-child .tn-wave-shell{background:transparent!important}
.tn-v3-hero>.elementor-widget:last-child .tn-divider svg{height:clamp(4rem,8vw,9rem)}
.tn-v3-hero>.elementor-widget:last-child .tn-divider{color:var(--tn-cream)}
.tn-v3-hero:before{content:'★';color:var(--tn-sun);position:absolute;left:6%;top:9rem;font-size:2rem;z-index:2;pointer-events:none;animation:tn-float 6s ease-in-out infinite}
.tn-v3-hero:after{content:'〰〰';color:var(--tn-coral);font-size:2rem;font-weight:700;position:absolute;right:8%;top:8rem;z-index:2;pointer-events:none;animation:tn-float 9s ease-in-out infinite}
.tn-v3-section{padding:2rem 0 7rem!important;display:flex!important;flex-direction:column!important;gap:0!important;align-items:stretch!important}
.tn-v3-section-with-wave{padding-top:0!important}
.tn-v3-section-with-wave>.elementor-widget:first-child{margin-bottom:1.5rem!important;width:100%;line-height:0}
.tn-v3-section-with-wave>.elementor-widget:first-child .tn-wave-shell{background:transparent!important}
.tn-v3-section-with-wave>.elementor-widget:first-child .tn-divider svg{height:clamp(4rem,8vw,9rem)}
.tn-v3-section>.tn-v3-copy{width:min(calc(100% - 3rem),60rem)!important;margin:0 auto 3.5rem!important}
.tn-v3-center{text-align:center;align-items:center!important}
.tn-v3-center .tn-v3-label{align-self:center}
.tn-v3-center .tn-v3-lead{max-width:51rem}
.tn-v3-center .tn-v3-actions{justify-content:center!important}
.tn-v3-section .tn-v3-display .tn-rich-text,.tn-v3-section .tn-v3-display .elementor-heading-title{font-size:clamp(2.8rem,4.2vw,4rem)}
.tn-v3-grid{width:min(calc(100% - 3rem),80rem)!important;margin-left:auto!important;margin-right:auto!important;display:grid!important;grid-auto-flow:row;gap:2rem!important;align-items:stretch}
.tn-v3-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tn-v3-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tn-v3-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.tn-v3-card{background:#fff;border:2px solid var(--tn-ink);border-radius:2rem;box-shadow:0 8px 0 0 var(--tn-ink);padding:2rem;min-width:0;transition:transform .25s ease,box-shadow .25s ease}
.tn-v3-card:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 14px 0 0 var(--tn-ink)}
/* Every price, heading, extra note, feature and CTA is its own Elementor widget. */
.tn-v3-price-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;position:relative;height:100%;background:#fff;color:var(--tn-ink);padding:1.5rem}
.tn-v3-price-head{padding:1.25rem!important;border-radius:1.5rem;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:.25rem!important}
.tn-v3-price-head .elementor-widget{margin:0!important}
.tn-v3-price-name .elementor-heading-title{font-size:1.6rem;line-height:1.13;font-weight:700}
.tn-v3-price-amount .elementor-heading-title{font-size:3.5rem;line-height:1;font-weight:700}
.tn-v3-price-blurb{font-size:.96rem;font-weight:600;line-height:1.5;margin-top:1.25rem!important}
.tn-v3-features{display:flex!important;flex-direction:column!important;gap:.4rem!important;align-items:stretch!important;flex:1;margin-top:1rem!important}
.tn-v3-feature{font-size:.89rem;line-height:1.42}
.tn-v3-feature p{margin:0!important}
.tn-v3-feature span{margin-right:.45rem}
.tn-v3-price-extra{padding:.9rem 1rem;border-radius:1rem;border:2px dashed color-mix(in oklab,var(--tn-ink) 35%,transparent);font-size:.88rem;font-weight:700;margin-top:1.5rem!important}
.tn-v3-price-extra p{margin:0!important}
.tn-v3-price-cta{margin-top:1.5rem!important;width:100%!important;align-self:stretch!important}
.tn-v3-price-cta .elementor-button{width:100%;font-size:.82rem!important}
.tn-v3-price-card.tn-v3-price-color-coral{background:var(--tn-coral);color:#fff}
.tn-v3-price-card.tn-v3-price-color-teal{background:var(--tn-teal);color:#fff}
.tn-v3-price-card.tn-v3-price-color-coral .tn-v3-price-head,.tn-v3-price-card.tn-v3-price-color-teal .tn-v3-price-head{background:rgba(255,255,255,.15)}
.tn-v3-price-badge{position:absolute!important;z-index:5;top:-1.05rem;left:1.5rem;transform:rotate(-4deg);margin-bottom:0!important}
.tn-v3-price-badge .elementor-heading-title{background:var(--tn-sun)!important;border:2px solid var(--tn-ink);font-size:.7rem!important;padding:.3rem .9rem}
.tn-v3-price-color-teal .tn-v3-price-badge .elementor-heading-title{background:var(--tn-coral)!important;color:#fff}
.tn-v3-featured{margin-top:-.5rem}
.tn-v3-price-party:nth-child(4),.tn-v3-price-party:nth-child(5),.tn-v3-price-party:nth-child(6){align-self:start}
.tn-v3-price-party .tn-v3-price-head{background:var(--tn-sun)}
.tn-v3-price-party.tn-v3-price-color-sky .tn-v3-price-head{background:var(--tn-sky)}
.tn-v3-price-party.tn-v3-price-color-mint .tn-v3-price-head{background:var(--tn-mint)}
.tn-v3-price-party.tn-v3-price-color-coral .tn-v3-price-head{background:rgba(255,255,255,.15)}
.tn-v3-price-party.tn-v3-price-color-teal .tn-v3-price-head{background:rgba(255,255,255,.15)}
.tn-v3-price-play{padding:2rem;background:var(--tn-sun);border-radius:0 0 1.75rem 1.75rem}
.tn-v3-price-play.tn-v3-price-color-mint{background:var(--tn-mint)}
.tn-v3-price-play.tn-v3-price-color-sky{background:var(--tn-sky)}
.tn-v3-price-play .tn-v3-price-head{padding:0!important;background:transparent!important}
.tn-v3-price-play .tn-v3-price-name .elementor-heading-title{text-transform:uppercase;font-size:1.6rem}
.tn-v3-price-play .tn-v3-price-amount .elementor-heading-title{font-size:4rem;color:var(--tn-coral);margin-top:.5rem}
.tn-v3-price-play .tn-v3-features{font-weight:700;margin:1.5rem 0 2rem!important}
.tn-v3-price-play .tn-v3-price-cta{align-self:flex-start!important;width:auto!important}
.tn-v3-price-play .tn-v3-price-cta .elementor-button{width:auto;background:#fff!important;color:var(--tn-ink)!important}
.tn-v3-play-photos{margin-top:3.25rem!important}
.tn-v3-figure{width:100%;min-width:0}
.tn-v3-figure img{display:block;width:100%;border:4px solid var(--tn-ink);border-radius:2rem;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.tn-v3-figure:hover img{transform:scale(1.025)}
.tn-v3-two-col{width:min(calc(100% - 3rem),80rem)!important;margin:0 auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem!important;align-items:center}
.tn-v3-two-col>.tn-v3-copy{width:100%}
.tn-v3-two-col .tn-blob-frame{margin:auto;max-width:28rem}
.tn-v3-gift{min-height:25rem;align-items:stretch}
.tn-v3-gift>.tn-v3-copy{margin:1.75rem auto 0!important;max-width:55rem;color:#fff}
.tn-v3-gift .tn-v3-lead{color:#fff}
.tn-v3-gift .tn-v3-label .elementor-heading-title{background:transparent!important;color:#fff;font-size:3.5rem!important}
.tn-v3-addons .tn-v3-narrow-photo img{max-height:31rem;object-fit:cover}
.tn-v3-camps>.tn-v3-grid{max-width:64rem}
.tn-v3-offer-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;min-height:15rem;padding:2.4rem}
.tn-v3-offer-title .elementor-heading-title{font-size:2rem;font-weight:700}
.tn-v3-offer-copy{font-size:1.13rem;margin-top:1rem!important;flex:1}
.tn-v3-offer-cta{margin-top:1.5rem!important;align-self:flex-start}
.tn-v3-offer-photo{margin-bottom:1rem!important}
.tn-v3-offer-photo img{height:auto;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:1.5rem}
.tn-v3-benefit{display:flex!important;flex-direction:column!important;gap:0!important;align-items:flex-start!important;min-height:15rem;padding:2rem}
.tn-v3-benefit-title{margin-top:1.1rem!important}
.tn-v3-benefit-title .elementor-heading-title{font-size:1.5rem;font-weight:700}
.tn-v3-benefit-copy{margin-top:.75rem!important;font-size:.99rem;line-height:1.5}
.tn-v3-icon{margin:0!important;width:auto!important}
.tn-v3-icon .elementor-heading-title{font-size:2.2rem;border:2px solid var(--tn-ink);background:white;border-radius:50%;width:4rem;height:4rem;display:flex;align-items:center;justify-content:center;line-height:1}
.tn-v3-about-story{padding-bottom:5.5rem!important}
.tn-v3-about-story .tn-v3-two-col{margin-top:1.5rem!important}
.tn-v3-about-story .tn-v3-story-lead{font-family:'Fredoka',sans-serif;font-size:1.45rem;line-height:1.45;font-weight:500}
.tn-v3-about-story .tn-v3-lead{max-width:none;font-size:1.02rem}
.tn-v3-about-story .tn-v3-lead p+p{margin-top:1rem}
.tn-v3-about-mission .tn-v3-card{padding:2.5rem;min-height:35rem;align-items:flex-start;gap:0}
.tn-v3-mission-card .tn-v3-label .elementor-heading-title{background:color-mix(in oklab,var(--tn-on-color) 76%,transparent)}
.tn-v3-mission-card .tn-v3-text{font-size:1.13rem;line-height:1.65;margin-top:1.5rem!important;color:#fff}
.tn-v3-mission-card .tn-v3-vision-photo{margin-top:2.5rem!important}
.tn-v3-vision-photo img{border-radius:1.5rem;border:2px solid var(--tn-ink);width:100%}
/* Gallery: CSS columns rather than a rigid card grid, matching source. */
.tn-v3-gallery-page{padding-top:2rem}
.tn-v3-filter{width:min(calc(100% - 3rem),80rem);margin:0 auto 2rem;display:flex;flex-wrap:wrap;gap:.5rem}
.tn-v3-filter-button{background:#fff;color:var(--tn-ink);font-family:'Fredoka',sans-serif;font-weight:600;font-size:1rem;border:2px solid var(--tn-ink);border-radius:999px;padding:.5rem 1.2rem;cursor:pointer;transition:transform .2s ease,background .2s ease}
.tn-v3-filter-button:hover{transform:translateY(-3px)}
.tn-v3-filter-button.is-active{background:var(--tn-sun)}
.tn-v3-gallery-photos{width:min(calc(100% - 3rem),80rem)!important;margin:0 auto!important;display:block!important;columns:3;column-gap:1.25rem}
.tn-v3-photo{display:block!important;break-inside:avoid;page-break-inside:avoid;width:100%;min-width:0;margin-bottom:1.25rem!important;overflow:hidden;border:4px solid var(--tn-ink);border-radius:2rem;transition:transform .25s ease;cursor:zoom-in}
.tn-v3-photo[hidden]{display:none!important}
.tn-v3-photo .elementor-widget,.tn-v3-photo .elementor-widget-container,.tn-v3-photo .elementor-image,.tn-v3-photo a{display:block;width:100%;line-height:0}
.tn-v3-photo img{display:block;width:100%;height:auto!important;max-width:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.tn-v3-photo:hover img{transform:scale(1.06)}
.tn-v3-lightbox{z-index:999999;position:fixed;inset:0;display:grid;place-items:center;background:rgba(9,38,53,.92);padding:1rem}
.tn-v3-lightbox[hidden]{display:none!important}
.tn-v3-lightbox img{max-width:min(100%,1000px);max-height:85vh;border:4px solid white;border-radius:1.5rem;object-fit:contain}
.tn-v3-lightbox button{position:absolute;right:1.25rem;top:1.25rem;border:2px solid var(--tn-ink);border-radius:999px;background:var(--tn-sun);color:var(--tn-ink);font-weight:700;padding:.6rem 1rem;cursor:pointer}
/* Blog: independent image, date, title, excerpts, tags and links. */
.tn-v3-blog-categories{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:.5rem!important;width:min(calc(100% - 3rem),80rem)!important;margin:0 auto 2.5rem!important}
.tn-v3-blog-categories .tn-v3-label{margin:0!important}
.tn-v3-blog-categories .tn-v3-label .elementor-heading-title{background:#fff;border:2px solid var(--tn-ink);font-size:.95rem!important;letter-spacing:0;padding:.55rem 1rem;text-transform:none}
.tn-v3-blog-categories .tn-v3-category-active .elementor-heading-title{background:var(--tn-sun)}
.tn-v3-blog-card{width:min(calc(100% - 3rem),80rem)!important;overflow:hidden;padding:0;display:flex!important;flex-direction:column!important;align-items:stretch!important}
.tn-v3-blog-featured{display:grid!important;grid-template-columns:1fr 1fr;align-items:stretch!important;margin:0 auto 2.5rem!important}
.tn-v3-blog-photo,.tn-v3-blog-photo .elementor-widget-container{height:100%}
.tn-v3-blog-photo img{height:100%!important;width:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.tn-v3-blog-card:hover img{transform:scale(1.06)}
.tn-v3-blog-details{padding:2rem;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important}
.tn-v3-blog-featured .tn-v3-blog-details{padding:3rem}
.tn-v3-post-date .elementor-heading-title{color:var(--tn-teal-deep);text-transform:uppercase;letter-spacing:.12em;font-size:.83rem;font-weight:700}
.tn-v3-post-heading{margin-top:.75rem!important}
.tn-v3-post-heading .elementor-heading-title{font-size:clamp(1.9rem,3vw,3.4rem);font-weight:700;line-height:1.1}
.tn-v3-post-excerpt{margin-top:1rem!important;font-size:1.04rem;line-height:1.6;color:color-mix(in oklab,var(--tn-ink) 70%,transparent)}
.tn-v3-post-tags{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:.4rem!important;margin-top:1rem!important}
.tn-v3-post-tags .tn-v3-label{margin:0!important}
.tn-v3-post-tags .tn-v3-label .elementor-heading-title{padding:.35rem .8rem;letter-spacing:0;text-transform:none;background:var(--tn-mint);font-size:.73rem!important}
.tn-v3-post-button{margin-top:1.5rem!important}
.tn-v3-blog-page>.tn-v3-grid .tn-v3-blog-card{width:100%!important}
.tn-v3-blog-page>.tn-v3-grid .tn-v3-blog-photo{padding:.75rem .75rem 0}
.tn-v3-blog-page>.tn-v3-grid .tn-v3-blog-photo img{aspect-ratio:16/9;border-radius:1.5rem}
/* Contact: live, editable, signed WP form; media and map are native Elementor widgets. */
.tn-v3-contact-grid{align-items:start}
.tn-v3-contact-right{display:flex!important;flex-direction:column!important;gap:2rem!important}
.tn-v3-contact-heading .elementor-heading-title{font-size:1.9rem;font-weight:700;line-height:1.1}
.tn-v3-contact-grid>.tn-v3-card{padding:2rem}
.tn-v3-contact-info,.tn-v3-mailing-card{display:flex!important;flex-direction:column!important;gap:0!important;padding:2rem}
.tn-v3-contact-address{font-size:1.08rem;margin-top:1.25rem!important;line-height:1.6}
.tn-v3-contact-address a{text-decoration:underline}
.tn-v3-hours-heading{margin-top:1.6rem!important}
.tn-v3-hours-heading .elementor-heading-title{font-size:1.5rem;font-weight:700}
.tn-v3-hours-note{font-size:.85rem;margin:.25rem 0 1rem!important}
.tn-v3-hours-rows{display:flex!important;flex-direction:column!important;gap:.25rem!important}
.tn-v3-hours-row{display:grid!important;grid-template-columns:3rem 1fr;gap:.5rem!important}
.tn-v3-day .elementor-heading-title{font-size:.9rem;font-family:'Nunito',sans-serif;font-weight:800}
.tn-v3-hours-value .elementor-heading-title{font-size:.9rem;font-family:'Nunito',sans-serif;font-weight:400}
.tn-v3-contact-info .tn-v3-actions{margin-top:1.5rem!important}
.tn-v3-contact-info .tn-v3-button .elementor-button{font-size:.75rem!important;padding:.65rem 1rem!important}
.tn-v3-mailing-card .tn-v3-text{margin:.75rem 0!important;font-size:1rem}
.tn-v3-map-frame{width:min(calc(100% - 3rem),80rem)!important;margin:2.5rem auto 0!important;overflow:hidden;border:4px solid var(--tn-ink);border-radius:2rem;min-height:20rem}
.tn-v3-map-frame iframe{display:block;width:100%;min-height:20rem;border:0}
.tn-v3-form{width:100%;display:flex;flex-direction:column;gap:1.25rem;font-family:'Nunito',sans-serif;color:var(--tn-ink);margin-top:2rem}
.tn-v3-form label{display:flex;flex-direction:column;gap:.5rem;font-weight:700;font-size:1rem}
.tn-v3-form input:not([type='hidden']),.tn-v3-form textarea{display:block;width:100%;border:2px solid var(--tn-ink);background:#fff;border-radius:1.4rem;padding:.85rem 1rem;font-size:1.1rem;color:var(--tn-ink);outline-offset:3px}
.tn-v3-form textarea{min-height:9rem;resize:vertical}
.tn-v3-submit{align-self:flex-start;font-family:'Fredoka',sans-serif;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em;border:2px solid var(--tn-ink);background:var(--tn-coral);color:#fff;border-radius:999px;padding:1rem 1.6rem;box-shadow:0 6px 0 0 var(--tn-ink);transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}
.tn-v3-submit:hover{transform:translateY(-3px);box-shadow:0 9px 0 0 var(--tn-ink)}
.tn-v3-form-newsletter{flex-direction:row;align-items:center;gap:.75rem;margin-top:.6rem}
.tn-v3-form-newsletter input[type=email]{min-width:0;flex:1;font-size:.95rem;padding:.85rem 1rem}
.tn-v3-form-newsletter .tn-v3-submit{flex:none;background:var(--tn-sun);color:var(--tn-ink)}
.tn-v3-honeypot{position:absolute!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap;width:1px;height:1px;left:-9999px}
.tn-v3-form-success{border-left:4px solid #0b7e72;padding:1rem;background:#e4fff6;color:#163e40;margin:1rem 0}
.tn-v3-form-error{border-left:4px solid #b04030;padding:1rem;background:#fff0ee;color:#66251f;margin:1rem 0}
.tn-v3-legal>.elementor-widget{max-width:48rem;width:calc(100% - 3rem);margin:0 auto;font-size:1.12rem;line-height:1.7}
.tn-v3-legal>.elementor-widget p+p{margin-top:1rem}
/* Focus, editor predictability, responsive design and reduced motion. */
.tn-v3 :focus-visible{outline:3px solid var(--tn-teal-deep);outline-offset:4px}
.elementor-editor-active .tn-v3 *,body.elementor-editor-active .tn-v3 *{scroll-margin-top:5rem}
@media(max-width:1100px){
 .tn-v3-hero-inner{gap:2rem!important}
 .tn-v3-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tn-v3-hero-inner .tn-blob-frame{max-width:30rem}
}
@media(max-width:900px){
 .tn-v3-hero-inner{grid-template-columns:repeat(2,minmax(0,1fr));min-height:16rem}
 .tn-v3-hero .tn-v3-display .tn-rich-text{font-size:clamp(2.6rem,5.3vw,4.5rem)}
 .tn-v3-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tn-v3-price-party:nth-child(3){grid-column:1}
 .tn-v3-two-col{gap:2rem!important}
}
@media(max-width:767px){
 .tn-v3-hero{padding-top:7.5rem!important}
 .tn-v3-hero-inner{grid-template-columns:1fr!important;gap:2.5rem!important;width:calc(100% - 2rem)!important}
 .tn-v3-hero-inner .tn-blob-frame{max-width:min(85%,28rem)}
 .tn-v3-hero .tn-v3-display .tn-rich-text{font-size:clamp(2.85rem,12vw,4rem)}
 .tn-v3-hero:after{display:none}
 .tn-v3-hero:before{top:7rem;left:auto;right:3rem}
 .tn-v3-section{padding-bottom:5rem!important}
 .tn-v3-section>.tn-v3-copy,.tn-v3-grid,.tn-v3-two-col{width:calc(100% - 2rem)!important}
 .tn-v3-display .tn-rich-text,.tn-v3-display .elementor-heading-title{font-size:clamp(2.7rem,10vw,3.4rem)}
 .tn-v3-grid-2,.tn-v3-grid-3,.tn-v3-grid-4,.tn-v3-two-col{grid-template-columns:1fr!important}
 .tn-v3-card{padding:1.4rem}
 .tn-v3-gallery-photos{columns:1;width:calc(100% - 2rem)!important}
 .tn-v3-blog-featured{display:flex!important;flex-direction:column!important}
 .tn-v3-blog-featured .tn-v3-blog-photo img{aspect-ratio:16/10}
 .tn-v3-blog-featured .tn-v3-blog-details{padding:1.5rem}
 .tn-v3-contact-grid{gap:1.5rem!important}
 .tn-v3-form-newsletter{flex-wrap:wrap}
 .tn-v3-form-newsletter .tn-v3-submit{width:auto}
 .tn-v3-about-mission .tn-v3-card{min-height:0}
 .tn-v3-hero-inner .tn-blob-frame{margin-bottom:1rem}
}
@media(min-width:768px) and (max-width:1024px){.tn-v3-gallery-photos{columns:2}}
@media(prefers-reduced-motion:reduce){.tn-v3 *, .tn-v3 *::before, .tn-v3 *::after{animation:none!important;transition:none!important}.tn-reveal{opacity:1!important;transform:none!important}}
/* Shared footer converted to native Elementor child widgets. */
.tn-v3-footer-wave{line-height:0;display:block!important;background:var(--tn-cream)}
.tn-v3-footer-wave .tn-wave-shell{background:var(--tn-cream)!important}
.tn-v3-footer-wave .tn-divider svg{height:clamp(4rem,8vw,9rem)}
.tn-v3-site-footer{--tn-cream:oklch(.98 .018 90);--tn-ink:oklch(.27 .05 245);--tn-teal-deep:oklch(.42 .09 205);--tn-sun:oklch(.88 .16 90);background:var(--tn-teal-deep);color:white;padding:4rem 0 2rem!important;display:flex!important;flex-direction:column!important;gap:4rem!important;font-family:'Nunito',sans-serif}
.tn-v3-footer-grid{width:min(calc(100% - 3rem),80rem)!important;margin:0 auto!important;display:grid!important;grid-template-columns:1.3fr 1fr 1fr 1.3fr;gap:3rem!important;align-items:start!important}
.tn-v3-footer-grid>.tn-v3{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:.4rem!important}
.tn-v3-footer-grid h3,.tn-v3-footer-grid h4{font-family:'Fredoka',sans-serif;margin:0;font-weight:500}
.tn-v3-footer-logo{width:6.5rem!important;margin-bottom:1.2rem!important}
.tn-v3-footer-logo img{width:6.5rem;height:5.8rem;object-fit:contain;background:#fff;border-radius:1.5rem;padding:.7rem}
.tn-v3-footer-tagline{margin-bottom:1rem!important}
.tn-v3-footer-tagline .elementor-heading-title{font-size:1.45rem;font-weight:500;line-height:1.25;color:#fff}
.tn-v3-footer-heading{margin-bottom:.75rem!important}
.tn-v3-footer-heading .elementor-heading-title{font-family:'Fredoka',sans-serif;font-size:1.2rem;color:var(--tn-sun)}
.tn-v3-footer-grid .tn-v3-text{font-size:.93rem;color:#fff}
.tn-v3-footer-link .elementor-heading-title{font-family:'Nunito',sans-serif;font-size:.95rem;color:#fff;line-height:1.5;font-weight:400}
.tn-v3-footer-link a{color:#fff;text-decoration:none}
.tn-v3-footer-link a:hover{text-decoration:underline}
.tn-v3-footer-brand .tn-v3-actions{margin-top:1rem!important;gap:.75rem!important}
.tn-v3-footer-brand .tn-v3-button .elementor-button{font-size:.72rem!important;padding:.6rem 1rem!important}
.tn-v3-footer-hours-note{margin-bottom:.4rem!important;font-size:.85rem!important}
.tn-v3-footer-grid .tn-v3-hours-rows{width:100%}
.tn-v3-footer-grid .tn-v3-day .elementor-heading-title,.tn-v3-footer-grid .tn-v3-hours-value .elementor-heading-title{font-size:.86rem;font-family:'Nunito',sans-serif;color:white}
.tn-v3-footer-grid .tn-v3-day .elementor-heading-title{font-weight:800}
.tn-v3-footer-grid .tn-v3-form{margin-top:1rem!important}
.tn-v3-footer-grid .tn-v3-form-newsletter input[type=email]{padding:.6rem 1rem;font-size:.9rem}
.tn-v3-footer-grid .tn-v3-submit{padding:.65rem 1rem;white-space:nowrap;font-size:.79rem}
.tn-v3-footer-bottom{width:min(calc(100% - 3rem),80rem)!important;margin:0 auto!important;padding-top:1.5rem!important;border-top:1px solid rgba(255,255,255,.2);display:flex!important;flex-direction:row!important;justify-content:space-between!important;gap:1rem!important;align-items:center!important}
.tn-v3-footer-bottom>.tn-v3-text{font-size:.85rem;opacity:.8;width:auto}
.tn-v3-footer-legal{display:flex!important;flex-direction:row!important;gap:1.25rem!important;align-items:center!important}
.tn-v3-footer-legal .tn-v3-footer-link .elementor-heading-title{font-size:.85rem;color:white}
@media(max-width:900px){.tn-v3-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.tn-v3-footer-grid{width:calc(100% - 2rem)!important;grid-template-columns:1fr;gap:2.5rem!important}.tn-v3-footer-bottom{width:calc(100% - 2rem)!important;flex-direction:column!important;align-items:flex-start!important}.tn-v3-site-footer{padding-top:2.5rem!important}}
#open-play,#membership,#gift-cards,#packages,#add-ons{scroll-margin-top:7rem}
.tn-blob-photo-wrap.tn-shape-circle{border-radius:50%!important}
.tn-blob-photo-wrap.tn-shape-round{border-radius:2rem!important}
.tn-blob-photo-wrap.tn-shape-square{border-radius:0!important}
.tn-blob-photo-wrap.tn-shape-blob2{border-radius:42% 58% 38% 62% / 55% 40% 60% 45%!important}
/* Home page: v3 has no combined text, pricing, commitment or blog cards. */
.tn-home-section .tn-v3-home-copy-wrap{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:100%}
.tn-home-section .tn-v3-copy .tn-v3-display .tn-rich-text,.tn-home-section .tn-v3-copy .tn-v3-display .elementor-heading-title{font-size:clamp(2.9rem,4.5vw,3.85rem);line-height:.95}
.tn-home-section .tn-v3-copy .tn-v3-lead{font-family:'Nunito',sans-serif;line-height:1.5;font-size:1.125rem;max-width:44rem}
.tn-home-hero .tn-v3-copy .tn-v3-display .tn-rich-text{font-size:clamp(3.75rem,7vw,6rem)}
.tn-home-hero .tn-v3-copy .tn-v3-lead{font-weight:600;max-width:34rem}
.tn-home-intro .tn-v3-copy{align-items:center!important;text-align:center}
.tn-home-intro .tn-v3-copy .tn-v3-label{align-self:center}
.tn-home-intro .tn-v3-copy .tn-v3-display .tn-rich-text{max-width:55rem;text-align:center}
.tn-home-intro .tn-v3-copy .tn-v3-lead{text-align:center;margin-inline:auto}
.tn-home-play .tn-v3-copy .tn-v3-display .tn-rich-text,.tn-home-membership .tn-v3-copy .tn-v3-display .tn-rich-text{font-size:clamp(3rem,4.5vw,3.75rem)}
.tn-home-party .tn-v3-copy{align-items:center!important;text-align:center}
.tn-home-party .tn-v3-copy .tn-v3-label{align-self:center}
.tn-home-party .tn-v3-copy .tn-v3-lead{color:#fff;text-align:center;margin-inline:auto}
.tn-home-party .tn-v3-copy .tn-v3-display .tn-rich-text{color:#fff}
.tn-home-party .tn-v3-price-home{color:var(--tn-ink);background:#fff}
.tn-home-party .tn-v3-price-home.tn-v3-price-color-sun{background:var(--tn-sun)}
.tn-home-party .tn-v3-price-home .tn-v3-price-head{background:transparent!important;padding:0!important}
.tn-home-party .tn-v3-price-home .tn-v3-price-amount .elementor-heading-title{font-size:3.5rem;color:var(--tn-coral)}
.tn-home-party .tn-v3-price-home .tn-v3-feature .elementor-widget-container{font-size:.92rem}
.tn-home-party .tn-v3-price-home .tn-v3-price-cta .elementor-button{background:var(--tn-coral)!important;color:white}
.tn-home-promise .tn-v3-copy,.tn-home-blog .tn-v3-copy{align-items:center!important;text-align:center}
.tn-home-promise .tn-v3-label,.tn-home-blog .tn-v3-label{align-self:center}
.tn-home-gallery .tn-v3-copy .tn-rich-text{color:white}
.tn-home-gallery .tn-v3-copy .tn-v3-actions{margin-top:0!important}
.tn-home-cta .tn-v3-copy{align-items:center!important;text-align:center}
.tn-home-cta .tn-v3-copy .tn-v3-lead{margin:1.5rem auto 0!important}
.tn-home-cta .tn-v3-actions{justify-content:center!important}
.tn-v3-home-badges{display:flex!important;flex-direction:row!important;align-items:center!important;gap:.6rem!important;align-self:flex-start;margin-top:1.5rem!important;border:2px solid var(--tn-ink);border-radius:1.5rem;background:#fff;padding:.75rem 1rem}
.tn-v3-home-badges .tn-v3-label{margin:0!important}
.tn-v3-home-badges .tn-v3-label .elementor-heading-title{background:transparent;padding:0}
.tn-v3-home-price{width:auto!important}
.tn-v3-home-price .elementor-heading-title{font-family:'Fredoka',sans-serif;font-size:2.1rem;font-weight:700;color:var(--tn-coral)}
.tn-v3-home-posts{width:min(calc(100% - 3rem),80rem)!important;margin:2rem auto 0!important}
.tn-v3-home-posts .tn-v3-blog-card{width:100%!important}
.tn-v3-home-posts .tn-v3-blog-card:first-child{background:var(--tn-sky)}
.tn-v3-home-posts .tn-v3-blog-photo{display:none}
.tn-home-blog .tn-v3-home-copy-wrap{max-width:50rem;margin:0 auto}
@media(max-width:767px){.tn-home-hero .tn-v3-copy .tn-v3-display .tn-rich-text{font-size:clamp(3.25rem,12vw,4rem)}.tn-home-hero .tn-v3-copy .tn-v3-actions{gap:.65rem!important}.tn-home-cta .tn-v3-copy .tn-v3-display .tn-rich-text{font-size:clamp(3rem,11vw,4rem)}}
/* Functional editable blog category filters. */
.tn-v3-blog-filter{width:min(calc(100% - 3rem),80rem);margin:0 auto 2.5rem;display:flex;flex-wrap:wrap;gap:.5rem}
.tn-v3-blog-filter-button{padding:.55rem 1.05rem;border:2px solid var(--tn-ink);border-radius:999px;background:#fff;color:var(--tn-ink);font:600 .95rem 'Fredoka',sans-serif;cursor:pointer;transition:background .2s,transform .2s}
.tn-v3-blog-filter-button:hover{transform:translateY(-3px)}
.tn-v3-blog-filter-button.is-active{background:var(--tn-sun)}
.tn-v3-blog-page .tn-v3-blog-card[hidden]{display:none!important}
.tn-v3-blog-page>.tn-v3-grid:has(.tn-v3-blog-card[hidden]){margin-bottom:0!important}
.tn-v3-blog-card:not(.tn-v3-blog-featured) .tn-v3-post-tags{display:none!important}

/* v3.1 — Elementor Container-aware homepage gallery, exactly the original
   source grid (two-by-two primary photograph, two top tiles, wide bottom tile).
   A photo is a native editable Image widget INSIDE an Elementor Container. */
.tn-home-gallery .tn-home-gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,12rem)!important;
  grid-auto-rows:12rem!important;
  gap:1rem!important;
  align-items:stretch!important;
}
.tn-home-gallery-grid>.tn-native-gallery-photo{
  display:block!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  border:4px solid var(--tn-ink)!important;
  border-radius:2rem!important;
  height:100%!important;
  width:100%!important;
}
.tn-home-gallery-grid>.tn-native-gallery-photo:nth-child(1){grid-column:span 2!important;grid-row:span 2!important}
.tn-home-gallery-grid>.tn-native-gallery-photo:nth-child(4){grid-column:span 2!important;grid-row:span 1!important}
.tn-home-gallery-grid .tn-native-gallery-image,
.tn-home-gallery-grid .tn-native-gallery-image .elementor-widget-container,
.tn-home-gallery-grid .tn-native-gallery-image .elementor-image,
.tn-home-gallery-grid .tn-native-gallery-image a{height:100%!important;width:100%!important;display:block!important;line-height:0}
.tn-home-gallery-grid .tn-native-gallery-image img{
  display:block!important;width:100%!important;height:100%!important;
  min-height:0!important;object-fit:cover!important;
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.tn-home-gallery-grid>.tn-native-gallery-photo:hover img{transform:scale(1.06)}
/* Match the original gallery text contrast even with Elementor's global type colors. */
.tn-home-gallery .tn-v3-home-copy-wrap,
.tn-home-gallery .tn-v3-home-copy-wrap .tn-rich-text,
.tn-home-gallery .tn-v3-home-copy-wrap .elementor-heading-title{color:var(--tn-on-color)!important}
.tn-home-gallery .tn-v3-label .elementor-heading-title{color:var(--tn-ink)!important}
/* Original homepage party cards: 3 compact PREVIEWS, five features, NO inner buttons.
   Buttons are separate editable widgets below the grid. */
.tn-home-party .tn-home-packages-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important}
.tn-home-party .tn-home-packages-grid>.tn-v3-price-home{padding:1.75rem!important;min-height:0!important}
.tn-home-party .tn-v3-price-home .tn-v3-price-name .elementor-heading-title{font-size:1.5rem!important;line-height:1.15!important;color:var(--tn-ink)!important}
.tn-home-party .tn-v3-price-home .tn-v3-price-amount .elementor-heading-title{font-size:3rem!important;line-height:1.05!important;color:var(--tn-coral)!important}
.tn-home-party .tn-v3-price-home .tn-v3-price-blurb{color:var(--tn-ink)!important;opacity:.78!important;font-weight:400!important;font-size:.95rem!important;margin-top:.75rem!important}
.tn-home-party .tn-v3-price-home .tn-v3-features{margin-top:1rem!important;gap:.36rem!important;flex:0 0 auto!important}
.tn-home-party .tn-v3-price-home .tn-v3-feature{font-size:.875rem!important;color:var(--tn-ink)!important;line-height:1.5!important}
.tn-home-party .tn-v3-price-home .tn-v3-feature span{color:var(--tn-ink)!important}
.tn-home-party .tn-v3-price-home .tn-v3-price-cta,.tn-home-party .tn-v3-price-home .tn-v3-price-extra{display:none!important}
.tn-home-party .tn-v3-price-home.tn-v3-price-color-sun{background:var(--tn-sun)!important}
.tn-home-party .tn-v3-price-home.tn-v3-price-color-white{background:#fff!important}
.tn-home-party .tn-v3-price-badge{left:auto!important;right:1.5rem!important;transform:rotate(3deg)!important}
.tn-home-party .tn-v3-price-badge .elementor-heading-title{background:var(--tn-teal)!important;color:var(--tn-on-color)!important}
.tn-home-party .tn-package-actions{margin:3rem auto 0!important}
.tn-home-party .tn-package-actions .tn-v3-actions{display:flex!important;justify-content:center!important}
/* Keep text colors from changing unexpectedly with Elementor Site Settings. */
.tn-v3-price-party .tn-v3-price-head .elementor-heading-title{color:inherit!important}
.tn-v3-price-party:not(.tn-v3-price-color-coral):not(.tn-v3-price-color-teal) .tn-v3-price-head .elementor-heading-title{color:var(--tn-ink)!important}
.tn-v3-bg-teal .tn-v3-display .tn-rich-text,.tn-v3-bg-coral .tn-v3-display .tn-rich-text{color:var(--tn-on-color)}
/* Remove a package without leaving an off-center orphan row.
   Five cards: three on the first row and two centered beneath, matching
   the source card widths and preserving mobile responsiveness. */
.tn-v3-party-pricing .tn-v3-packages{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.tn-v3-party-pricing .tn-v3-packages>.tn-v3-price-card{grid-column:span 2!important;align-self:start}
.tn-v3-party-pricing .tn-v3-packages>.tn-v3-price-card:nth-child(4){grid-column:2 / span 2!important}
.tn-v3-party-pricing .tn-v3-packages>.tn-v3-price-card:nth-child(5){grid-column:4 / span 2!important}
@media(max-width:900px){
 .tn-home-party .tn-home-packages-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .tn-v3-party-pricing .tn-v3-packages{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .tn-v3-party-pricing .tn-v3-packages>.tn-v3-price-card,
 .tn-v3-party-pricing .tn-v3-packages>.tn-v3-price-card:nth-child(4),
 .tn-v3-party-pricing .tn-v3-packages>.tn-v3-price-card:nth-child(5){grid-column:auto!important}
 .tn-v3-party-pricing .tn-v3-packages>.tn-v3-price-card:last-child:nth-child(odd){grid-column:1 / -1!important;max-width:calc(50% - 1rem);width:100%;justify-self:center}
}
@media(max-width:767px){
 .tn-home-gallery .tn-home-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important;grid-auto-rows:minmax(10rem,35vw)!important}
 .tn-home-gallery-grid>.tn-native-gallery-photo:nth-child(1),
 .tn-home-gallery-grid>.tn-native-gallery-photo:nth-child(4){grid-column:span 1!important;grid-row:span 1!important}
 .tn-home-party .tn-home-packages-grid{grid-template-columns:1fr!important}
 .tn-v3-party-pricing .tn-v3-packages{grid-template-columns:1fr!important}
 .tn-v3-party-pricing .tn-v3-packages>.tn-v3-price-card,
 .tn-v3-party-pricing .tn-v3-packages>.tn-v3-price-card:nth-child(4),
 .tn-v3-party-pricing .tn-v3-packages>.tn-v3-price-card:nth-child(5),
 .tn-v3-party-pricing .tn-v3-packages>.tn-v3-price-card:last-child:nth-child(odd){grid-column:1!important;max-width:none;width:100%}
}

/* v3.2 — gallery proportions derived from the original Lovable 4-column / 2-row mosaic.
   Aspect ratio reserves layout space before remote images load (reduces CLS). */
.tn-home-gallery .tn-home-gallery-grid {
  width:min(calc(100% - 3rem),80rem)!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:minmax(0,1fr)!important;
  aspect-ratio:2.1 / 1!important;
  gap:1rem!important;
  align-items:stretch!important;
  overflow:visible!important;
}
.tn-home-gallery .tn-home-gallery-grid > .tn-native-gallery-photo {
  min-width:0!important; min-height:0!important; width:100%!important; height:100%!important;
  margin:0!important; padding:0!important; overflow:hidden!important;
  border:4px solid var(--tn-ink)!important; border-radius:2rem!important;
  display:block!important; position:relative!important;
  background:color-mix(in oklab,var(--tn-teal) 70%,white)!important;
}
.tn-home-gallery .tn-home-gallery-grid > .tn-native-gallery-photo:nth-child(1) {grid-column:span 2!important;grid-row:span 2!important}
.tn-home-gallery .tn-home-gallery-grid > .tn-native-gallery-photo:nth-child(4) {grid-column:span 2!important;grid-row:span 1!important}
.tn-home-gallery-grid > .tn-native-gallery-photo > .elementor-widget,
.tn-home-gallery-grid > .tn-native-gallery-photo > .elementor-widget > .elementor-widget-container,
.tn-home-gallery-grid .tn-native-gallery-image,
.tn-home-gallery-grid .tn-native-gallery-image .elementor-widget-container,
.tn-home-gallery-grid .tn-native-gallery-image a {display:block!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important}
.tn-home-gallery-grid .tn-native-gallery-image img {display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center;transition:transform .65s cubic-bezier(.2,.7,.2,1)!important}
.tn-home-gallery-grid > .tn-native-gallery-photo:hover img {transform:scale(1.06)}
/* Elementor image widget > Style > Object Position can override via its own specific style. */
@media (max-width:767px) {
  .tn-home-gallery .tn-home-gallery-grid {width:calc(100% - 2rem)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;aspect-ratio:1 / 1!important;gap:.8rem!important}
  .tn-home-gallery .tn-home-gallery-grid > .tn-native-gallery-photo:nth-child(1),
  .tn-home-gallery .tn-home-gallery-grid > .tn-native-gallery-photo:nth-child(4) {grid-column:span 1!important;grid-row:span 1!important}
  .tn-home-gallery .tn-home-gallery-grid > .tn-native-gallery-photo{border-width:3px!important;border-radius:1.3rem!important}
}
@media (max-width:360px) {
  .tn-home-gallery .tn-home-gallery-grid {gap:.65rem!important}
  .tn-home-gallery .tn-home-gallery-grid > .tn-native-gallery-photo {border-radius:1rem!important}
}
@media(prefers-reduced-motion:reduce) {
  .tn-home-gallery-grid .tn-native-gallery-image img {transition:none!important}
  .tn-home-gallery-grid>.tn-native-gallery-photo:hover img {transform:none!important}
}
