/* Blog and temple pages extend the existing brand. */
.journal-feature-copy>.image-credit{font-size:.875rem;line-height:1.6;margin:0 0 18px}
.image-credit a,.temple-hero-image figcaption a,.article-photo figcaption a{text-decoration:underline;text-underline-offset:3px}
.nav-links{gap:24px}.nav-links a{white-space:nowrap}.nav-links [aria-current="page"],.mobile-menu [aria-current="page"]{color:var(--pink);text-decoration:underline;text-underline-offset:6px}
.editorial-page h1,.editorial-page h2,.journal-feature h3{overflow-wrap:break-word}
.editorial-page p{font-size:1.125rem;line-height:1.8}
.editorial-page .eyebrow{font-size:.875rem;letter-spacing:1.7px;color:var(--pink)}
.journal-breadcrumbs{padding:28px 0;font-size:.875rem;color:var(--muted)}
.journal-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px 0;list-style:none;padding:0;margin:0}
.journal-breadcrumbs li+li:before{content:'/';padding:0 12px;color:var(--muted)}
.journal-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:4px}
.journal-heading{padding:0 0 65px;background:var(--soft)}
.journal-heading .eyebrow{margin-top:22px}
.journal-heading h1{font-size:clamp(3.25rem,6.5vw,6rem);max-width:850px}
.journal-heading h1 em{color:var(--berry)}
.journal-heading>div>p{margin-top:24px;max-width:660px}
.journal-list{padding-top:65px}
.journal-feature{display:grid;grid-template-columns:1.05fr 1fr;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--soft)}
.journal-feature-image{min-width:0;overflow:hidden;display:block;background:var(--berry)}
.journal-feature-image img{height:560px;object-fit:cover;object-position:center 43%;transition:transform .4s}
.journal-feature-image:hover img{transform:scale(1.02)}
.journal-feature-copy{padding:clamp(28px,4vw,60px);align-self:center;min-width:0}
.journal-kicker{display:block;color:var(--berry);font-size:.875rem;letter-spacing:.7px;line-height:1.6;font-weight:600;margin-bottom:18px}
.journal-feature h2,.journal-feature h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(2rem,3.3vw,3.3rem);line-height:1.2;letter-spacing:-.03em}
.journal-feature h2 a:hover,.journal-feature h3 a:hover{color:var(--berry);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.journal-feature-copy>p{font-size:1.0625rem;line-height:1.8;margin:22px 0}
.journal-feature-copy .journal-meta,.article-heading .journal-meta{font-size:.875rem;line-height:1.6}
.journal-meta a{text-decoration:underline;text-underline-offset:4px}
.journal-feature.compact .journal-feature-image img{height:450px}
.journal-secondary-link{display:block;color:var(--berry);font-size:.875rem;text-decoration:underline;text-underline-offset:4px;margin-top:26px;line-height:1.6}
.journal-service-link{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:65px;padding-top:55px;border-top:1px solid var(--line)}
.journal-service-link h2{font-size:clamp(2rem,3vw,3rem)}
.journal-service-link p{max-width:650px;margin-top:20px}
.journal-service-link>.btn{flex-shrink:0}
.temple-hero{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0;background:var(--berry);border-radius:24px;overflow:hidden;color:#fff}
.temple-hero-copy{padding:clamp(30px,4vw,64px);align-self:center;min-width:0}
.temple-hero-copy .eyebrow{color:var(--lime);line-height:1.6}
.temple-hero h1{font-size:clamp(3rem,4.6vw,4.75rem);line-height:1.13;letter-spacing:-.035em}
.temple-hero h1 em{color:#ffd6e7}
.temple-hero-copy>p{color:#f8e4ee;margin:26px 0 30px}
.temple-hero-copy>.temple-availability{font-size:.875rem;line-height:1.7;margin-bottom:0}
.temple-hero .btn{font-size:1rem}
.temple-hero-image{margin:0;display:flex;flex-direction:column;background:var(--soft);color:var(--ink)}
.temple-hero-image img{height:auto;aspect-ratio:3/4;width:100%;object-fit:contain}
.temple-hero-image figcaption{padding:15px 22px;font-size:.875rem;line-height:1.6;color:var(--muted);flex:1}
.temple-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}
.temple-intro p+p{margin-top:22px}
.temple-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin-top:55px}
.temple-details article{padding-top:30px;border-top:2px solid var(--pink)}
.temple-details article>span{font-size:.875rem;font-weight:600;color:var(--berry)}
.temple-details h3{font-family:'Playfair Display',Georgia,serif;font-size:1.875rem;font-weight:500;margin:18px 0 16px}
.temple-details p{font-size:1rem}
.temple-planning{background:var(--soft);padding:85px 0}
.journal-checklist{padding-left:23px;margin:25px 0;font-size:1.0625rem;color:var(--ink)}
.journal-checklist li{padding:0 0 10px 5px}
.temple-intro .text-link{margin-top:25px}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}
.journal-faq details{border-bottom:1px solid var(--line);padding:24px 0}
.journal-faq details:first-child{border-top:1px solid var(--line)}
.journal-faq summary{font-size:1.0625rem;font-weight:600;line-height:1.6;cursor:pointer;padding-right:10px}
.journal-faq summary::marker{color:var(--pink)}
.journal-faq details p{font-size:1rem;margin-top:16px}
.temple-cta{background:var(--berry);color:#fff;text-align:center;padding:75px 0}
.temple-cta .eyebrow{color:var(--lime)}
.temple-cta p{color:#f8e4ee;margin:25px 0 30px}
.journal-light-link{display:block;text-decoration:underline;text-underline-offset:5px;font-size:.9375rem;margin-top:24px}
.article-heading{padding-bottom:48px}
.article-heading>.eyebrow{margin-top:28px}
.article-heading h1{font-size:clamp(2.75rem,5.5vw,5.4rem);max-width:1120px;line-height:1.14;letter-spacing:-.035em}
.article-heading h1 em{color:var(--berry)}
.article-heading .article-deck{margin-top:26px;max-width:770px;font-size:1.25rem}
.article-heading .journal-meta{margin-top:24px}
.article-layout{display:grid;grid-template-columns:260px minmax(0,760px);justify-content:space-between;gap:65px;padding-top:42px;padding-bottom:85px;border-top:1px solid var(--line)}
.article-aside{align-self:start;position:sticky;top:30px}
.article-aside nav{display:flex;flex-direction:column;align-items:flex-start;gap:14px;font-size:.9375rem}
.article-aside .journal-kicker{margin-bottom:5px;text-transform:uppercase;letter-spacing:1px}
.article-aside nav a{line-height:1.6}
.article-aside nav a:hover{color:var(--pink);text-decoration:underline;text-underline-offset:4px}
.article-aside-cta{margin-top:35px;padding-top:28px;border-top:1px solid var(--line)}
.article-aside-cta p{font-size:.9375rem;margin-bottom:12px}
.article-prose{min-width:0}
.article-prose>p{margin-bottom:22px}
.article-prose .article-opening{color:var(--ink);font-size:1.25rem;line-height:1.8}
.article-photo{margin:35px 0 50px;background:var(--soft);border-radius:18px;overflow:hidden}
.article-photo img{height:auto;aspect-ratio:3/4;object-fit:contain}
.article-photo figcaption{font-size:.875rem;line-height:1.65;padding:18px 22px;color:var(--muted)}
.article-prose section{margin:0 0 45px;scroll-margin-top:30px}
.article-number{display:block;color:var(--pink);text-transform:uppercase;letter-spacing:1px;font-size:.875rem;font-weight:600;margin-bottom:16px}
.article-prose h2{font-size:clamp(1.875rem,2.8vw,2.75rem);line-height:1.22;letter-spacing:-.03em;margin-bottom:22px}
.article-prose section p+p{margin-top:20px}
.article-prose section a{color:var(--berry);text-decoration:underline;text-underline-offset:4px}
.article-prose ul{margin:24px 0;padding-left:25px;font-size:1.0625rem;line-height:1.8;color:var(--ink)}
.article-prose li{padding-left:4px;margin-bottom:10px}
.article-end{background:var(--soft);border-left:3px solid var(--pink);padding:35px;margin:50px 0 35px;border-radius:0 16px 16px 0}
.article-end p{margin-bottom:25px}
@media(max-width:1150px){
 .nav-links{display:none}.site-nav>.btn{margin-left:auto}.nav-mobile{display:block;position:relative}
 .nav-mobile summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:42px;height:44px;border:1px solid var(--line);border-radius:50%}
 .nav-mobile summary::-webkit-details-marker{display:none}
 .mobile-menu{position:absolute;right:0;top:55px;z-index:70;background:white;border-radius:15px;box-shadow:0 8px 35px #29132622;padding:15px 23px;min-width:240px;display:flex;flex-direction:column;gap:3px;border:1px solid var(--line)}
 .mobile-menu a{padding:10px 0;font-size:1rem}
 .temple-intro,.faq-layout{gap:40px}.temple-hero-copy{padding:34px}
 .journal-service-link{align-items:flex-start;flex-direction:column;gap:25px}
 .article-layout{grid-template-columns:210px minmax(0,1fr);gap:40px}
}
@media(max-width:800px){
 .temple-hero{grid-template-columns:1fr}.temple-hero-copy{padding:45px 35px}.temple-hero h1{font-size:clamp(2.9rem,7vw,4.5rem)}
 .temple-hero-image img{max-width:560px;margin:auto}
 .temple-hero-image figcaption{max-width:560px;margin:auto;width:100%}
 .journal-feature{grid-template-columns:1fr}.journal-feature-image img,.journal-feature.compact .journal-feature-image img{height:420px}
 .journal-feature-copy{padding:35px}.journal-feature h2,.journal-feature h3{font-size:2.5rem}
 .temple-intro,.faq-layout{grid-template-columns:1fr;gap:30px}
 .temple-details{gap:24px}.temple-details h3{font-size:1.6rem}
 .article-layout{grid-template-columns:1fr;gap:40px}.article-aside{position:static}
 .article-aside nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;padding-bottom:28px;border-bottom:1px solid var(--line)}
 .article-aside .journal-kicker{grid-column:1/-1}.article-aside-cta{display:none}
 .temple-planning{padding:65px 0}
}
@media(max-width:560px){
 .journal-breadcrumbs{padding:22px 0}.journal-breadcrumbs li+li:before{padding:0 9px}
 .journal-heading{padding-bottom:42px}.journal-heading .eyebrow{margin-top:15px}
 .journal-heading h1{font-size:clamp(2.65rem,12vw,4rem);line-height:1.13}
 .journal-list{padding-top:36px}.journal-feature-image img,.journal-feature.compact .journal-feature-image img{height:340px}
 .journal-feature-copy{padding:28px 23px}.journal-feature h2,.journal-feature h3{font-size:2rem}
 .journal-feature-copy>p,.editorial-page p{font-size:1rem}.journal-feature-copy .journal-meta,.article-heading .journal-meta{font-size:.875rem}
 .journal-service-link{margin-top:42px;padding-top:36px}.journal-service-link .btn{max-width:100%}
 .temple-hero-copy{padding:36px 26px}.temple-hero h1{font-size:clamp(2.5rem,10vw,3.3rem)}
 .editorial-page .eyebrow{font-size:.875rem;line-height:1.6;letter-spacing:1px}
 .temple-details{grid-template-columns:1fr;margin-top:35px;gap:28px}.temple-details article{padding-top:25px}.temple-details h3{font-size:1.875rem}
 .temple-hero-copy>.temple-availability{font-size:.875rem}.temple-cta{padding:55px 0}.temple-cta h2{font-size:2.7rem}
 .article-heading{padding-bottom:32px}.article-heading h1{font-size:clamp(2.4rem,9.7vw,3.5rem)}
 .article-heading .article-deck,.article-prose .article-opening{font-size:1.125rem}
 .article-layout{padding-top:28px;padding-bottom:55px;gap:32px}.article-aside nav{grid-template-columns:1fr;gap:12px}
 .article-photo{margin:30px 0 38px}.article-prose h2{font-size:1.875rem}.article-prose ul{font-size:1rem}
 .article-end{padding:27px 22px}.article-prose section{margin-bottom:35px}
}

/* Preserve the full temple roof and pillars in the supplied landscape reference. */
.temple-hero-image{justify-content:center}
.temple-hero-image img,.article-photo img{aspect-ratio:1635/1095;height:auto}
.temple-hero-image figcaption{flex:0}
.journal-feature-image{display:flex;align-items:center;background:var(--soft)}
.journal-feature-image img,.journal-feature.compact .journal-feature-image img{height:auto;aspect-ratio:1635/1095;object-fit:contain}

/* Dance floor guide: the existing berry, pink and lime palette, with a real reel. */
.journal-feature+.journal-feature{margin-top:32px}
.dance-blog-card{grid-template-columns:minmax(210px,.65fr) minmax(0,1.35fr);background:var(--berry);color:#fff}
.dance-blog-card .journal-feature-image{background:var(--ink);justify-content:center}
.dance-blog-card .journal-feature-image img,.dance-blog-card.compact .journal-feature-image img{width:auto;max-width:100%;height:440px;aspect-ratio:361/640;object-fit:contain}
.dance-blog-card .journal-kicker{color:var(--lime)}
.dance-blog-card .journal-feature-copy>p{color:#f8e4ee}
.dance-blog-card h2 a:hover,.dance-blog-card h3 a:hover{color:var(--lime)}
.dance-blog-card .btn{background:var(--lime);color:var(--ink)}
.dance-blog-card a:focus-visible,.dance-hero a:focus-visible{outline-color:var(--lime)}
.dance-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,361px);gap:35px;background:var(--berry);color:white;border-radius:24px;padding:45px;align-items:center}
.dance-hero-copy{min-width:0;padding:8px 20px 8px 8px}
.dance-hero-copy .eyebrow{color:var(--lime);max-width:490px;line-height:1.7}
.dance-hero h1{font-size:clamp(2.6rem,4.5vw,4.7rem);line-height:1.12;letter-spacing:-.035em}
.dance-hero h1 em{color:#ffd6e7}
.dance-hero-copy>p{color:#f8e4ee;margin-top:24px;max-width:650px}
.dance-hero-copy .dance-hero-price{font-size:1.125rem;line-height:1.7}
.dance-hero-price strong{color:#fff}
.dance-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:28px}
.dance-actions .btn{font-size:1rem}
.dance-hero-copy .journal-meta{font-size:.875rem;line-height:1.7;margin-top:30px}
.dance-reel{margin:0;background:var(--ink);border-radius:16px;overflow:hidden;width:100%;max-width:361px;justify-self:center}
.dance-reel img{height:auto;width:100%;aspect-ratio:361/640;object-fit:contain}
.dance-reel figcaption{font-size:.875rem;line-height:1.65;padding:16px 20px;color:#fff}
.dance-reel figcaption a{color:var(--lime);display:inline-flex;gap:6px;align-items:center;text-decoration:underline;text-underline-offset:4px}
.dance-pricing-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px;align-items:center}
.dance-pricing-intro>p{margin-top:24px}
.dance-pricing-intro .dance-price-note{font-size:.875rem}
.dance-price-panel{min-width:0}
.dance-price-table{width:100%;border-collapse:collapse;font-size:1rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dance-price-table caption{text-align:left;font-weight:600;font-size:1.125rem;padding-bottom:20px}
.dance-price-table th,.dance-price-table td{text-align:left;padding:24px 18px;vertical-align:middle;border-bottom:1px solid var(--line)}
.dance-price-table thead th{font-size:.875rem;font-weight:500;color:var(--muted);padding-top:16px;padding-bottom:16px}
.dance-price-table tbody th{font-weight:400}
.dance-price-table strong{display:block;font-size:1.375rem;font-weight:600;white-space:nowrap}
.dance-price-table span{display:block;font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:4px}
.dance-grand-row{background:var(--soft)}
.dance-grand-row th{border-left:3px solid var(--pink)}
.dance-price-panel .dance-value{background:var(--lime);color:var(--ink);border-radius:14px;padding:22px 25px;margin-top:20px;font-size:1rem;line-height:1.7}
.dance-value>strong:first-child{display:block;margin-bottom:5px}
.dance-article-layout{padding-top:60px}
.dance-page .article-prose strong{color:var(--ink)}
.dance-page .article-prose h2 em{color:var(--berry)}
.dance-page .article-prose .dance-area-list{display:flex;flex-wrap:wrap;list-style:none;gap:10px;padding:0;margin:25px 0}
.dance-page .dance-area-list li{padding:8px 16px;background:var(--soft);border:1px solid var(--line);border-radius:100px;font-size:1rem;margin:0}
.dance-faq-section{padding:80px 0;background:var(--soft);scroll-margin-top:30px}
.dance-faq-section .faq-layout>div>p{margin-top:24px}
.dance-back{padding-top:35px;padding-bottom:35px}
.footer-desc.footer-service-areas{max-width:440px;font-size:.875rem;line-height:1.8}
@media(max-width:1100px){
 .dance-hero{grid-template-columns:minmax(0,1fr) minmax(220px,300px);padding:30px;gap:25px}
 .dance-hero-copy{padding:8px 0}.dance-hero h1{font-size:clamp(2.55rem,4.5vw,4rem)}
 .dance-pricing-layout{gap:38px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
 .dance-price-table th,.dance-price-table td{padding:22px 12px}.dance-price-table strong{font-size:1.2rem}
}
@media(max-width:800px){
 .dance-hero{grid-template-columns:1fr;padding:38px;gap:32px}
 .dance-hero h1{font-size:clamp(2.55rem,6.5vw,4rem)}
 .dance-pricing-layout{grid-template-columns:1fr;gap:35px}
 .dance-blog-card{grid-template-columns:minmax(170px,.65fr) minmax(0,1fr)}
 .dance-blog-card .journal-feature-image img,.dance-blog-card.compact .journal-feature-image img{height:auto;width:100%;aspect-ratio:361/640}
 .dance-blog-card .journal-feature-copy{padding:28px}.dance-blog-card h2,.dance-blog-card h3{font-size:2rem}
 .dance-faq-section{padding:60px 0}
}
@media(max-width:560px){
 .dance-hero{padding:28px 22px;border-radius:18px;gap:30px}.dance-hero h1{font-size:clamp(2.3rem,8.7vw,3.2rem)}
 .dance-hero-copy .eyebrow{font-size:.875rem;letter-spacing:.8px}.dance-hero-copy>p{margin-top:20px}
 .dance-actions{align-items:flex-start;flex-direction:column;gap:20px}
 .dance-blog-card{grid-template-columns:1fr}
 .dance-blog-card .journal-feature-image img,.dance-blog-card.compact .journal-feature-image img{height:390px;width:auto;max-width:100%}
 .dance-price-table th,.dance-price-table td{padding:19px 9px}.dance-price-table strong{font-size:1.125rem}
 .dance-price-table span{font-size:.875rem}.dance-price-table tbody th{width:46%}
 .dance-price-table caption{font-size:1rem}.dance-price-panel .dance-value{padding:20px}
 .dance-article-layout{padding-top:32px}.dance-faq-section{padding:50px 0}
 .dance-page .dance-area-list li{font-size:.9375rem;padding:7px 13px}
 .dance-page .temple-cta h2{font-size:clamp(2rem,8vw,2.7rem)}
 .dance-reel figcaption{padding:14px}.dance-reel figcaption a{font-size:.875rem}
}

/* Dance floor booking and owner-supplied care terms. */
.dance-booking-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:32px;align-items:start;padding-bottom:30px}
.dance-booking-panel{padding:36px;border:1px solid var(--line);border-radius:20px;min-width:0}
.dance-booking-panel h2{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:25px}
.dance-booking-panel p{font-size:1rem;margin:20px 0;line-height:1.75}
.dance-payment-panel{background:var(--soft)}
#dance-booking-form>label{display:block;font-weight:600;font-size:1rem;margin:22px 0 9px}
#dance-booking-form>label span{font-weight:400}
#dance-booking-form>input,#dance-booking-form>select,#dance-booking-form>textarea{display:block;width:100%;min-width:0;max-width:100%;padding:13px 14px;border:1px solid #b9aab4;border-radius:9px;font:inherit;font-size:1rem;background:white;color:var(--ink);min-height:48px}
#dance-booking-form>textarea{resize:vertical}
#dance-booking-form input:focus-visible,#dance-booking-form select:focus-visible,#dance-booking-form textarea:focus-visible{outline:3px solid var(--berry);outline-offset:3px}
#dance-booking-form>.dance-policy-check{display:flex;align-items:flex-start;gap:12px;font-weight:400;line-height:1.7;margin:28px 0}
.dance-policy-check input{width:20px;height:20px;flex-shrink:0;margin-top:4px;accent-color:var(--berry)}
.dance-policy-check a,.dance-booking-note a,.dance-price-note a{text-decoration:underline;text-underline-offset:3px}
.dance-booking-panel .dance-booking-note,.dance-booking-note{font-size:.875rem;line-height:1.7}
.dance-booking-totals{margin:20px 0 25px}
.dance-booking-totals>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}
.dance-booking-totals dt{font-size:1rem}.dance-booking-totals dd{margin:0;text-align:right;font-size:1.125rem;font-weight:600}
.dance-booking-totals>div:last-child{border-top:2px solid var(--berry);border-bottom:0;margin-top:5px}
.dance-zelle{background:white;padding:24px;border-radius:14px;margin:25px 0;border:1px solid var(--line)}
.dance-zelle h3,.dance-policy-grid h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:1.6rem;line-height:1.3}
.dance-zelle .dance-payment-memo{padding:16px;background:var(--soft);font-size:1rem;overflow-wrap:anywhere;color:var(--ink)}
.dance-zelle button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.dance-policy-intro{max-width:800px;margin:25px 0 40px}
.dance-policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.dance-policy-grid article{padding-top:24px;border-top:2px solid var(--pink)}
.dance-policy-grid p{font-size:1rem;margin-top:18px}
.dance-policy>.dance-booking-note{margin-top:30px}
.dance-booking-areas{padding:25px 0 65px}.dance-booking-areas h2{font-size:2rem}.dance-booking-areas p{margin:20px 0 25px}
.dance-size-book{display:inline-block;margin-top:12px;font-size:.875rem;color:var(--berry);text-decoration:underline;text-underline-offset:4px}
@media(max-width:850px){.dance-booking-grid{grid-template-columns:1fr}.dance-booking-panel{padding:30px}}
@media(max-width:560px){.dance-booking-panel{padding:23px 20px}.dance-policy-grid{grid-template-columns:1fr;gap:28px}.dance-zelle{padding:20px 16px}.dance-booking-totals>div{gap:12px}.dance-booking-totals dd{font-size:1rem}.dance-booking-grid{gap:24px}}
