/* Wedding service and related guides: consistent reading rhythm and package layouts. */
main:has(.wedding-service-hero) .wrap{width:min(960px,90%)}
.wedding-service-hero{padding:48px 0 40px;background:linear-gradient(135deg,#fffdf9,#f6eee7)}
.wedding-service-hero .breadcrumbs{margin-bottom:28px}
.wedding-service-hero h1{max-width:920px;font-size:clamp(2.35rem,4.5vw,4.3rem);line-height:1.14;letter-spacing:-.035em;text-wrap:balance}
.wedding-service-hero h1 em{display:inline-block;margin-top:8px}
.wedding-service-hero>.wrap>p{max-width:72ch;margin-top:24px;font-size:1.06rem;line-height:1.8;color:#625a56}
.wedding-hero-actions{margin-top:28px;gap:18px 28px;align-items:center;flex-wrap:wrap}
.wedding-hero-actions .btn,.wedding-hero-actions .text-link{white-space:normal;text-align:center}
.wedding-page-nav{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:32px;padding-top:22px;border-top:1px solid #dfd3c8;font-size:.9rem}
.wedding-page-nav a{text-decoration:underline;text-underline-offset:4px;color:#790d20}
main:has(.wedding-service-hero)>.section{padding:36px 0}
main:has(.wedding-service-hero)>.section+.section>.wrap{border-top:1px solid #e6dcd3;padding-top:32px}
main:has(.wedding-service-hero) .prose h2{font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.25;margin:0 0 20px;max-width:30ch}
main:has(.wedding-service-hero) .prose p{max-width:76ch;line-height:1.8;margin-bottom:18px}
main:has(.wedding-service-hero) .prose p:last-child{margin-bottom:0}
main:has(.wedding-service-hero) .prose a:not(.btn){text-decoration:underline;text-underline-offset:4px;text-decoration-color:#bc9050}
main:has(.wedding-service-hero) h2[id]{scroll-margin-top:140px}
main:has(.wedding-service-hero) .prose details,.article .article-faq details{border:1px solid #ded3c9;border-radius:8px;padding:20px 24px;margin:0 0 14px;background:#fffdf9}
main:has(.wedding-service-hero) .prose summary,.article .article-faq summary{font:600 1rem/1.6 var(--sans);padding:0;gap:20px}
main:has(.wedding-service-hero) .prose details p,.article .article-faq details p{margin:14px 0 0;font-size:.97rem;color:#554b45}
main:has(.wedding-service-hero)>.section:last-child{background:#f4ece6;margin-top:20px;padding:40px 0 48px}
main:has(.wedding-service-hero)>.section:last-child>.wrap{border:0;padding-top:0}
.wedding-package-scroll{overflow-x:auto;max-width:100%;margin:28px 0;border:1px solid #ded7cf;border-radius:10px;background:#fffdf9}
.wedding-package-scroll:focus-visible{outline:3px solid #a30f29;outline-offset:4px}
.wedding-package-table{width:100%;min-width:650px;border-collapse:collapse;text-align:left;font-size:.95rem;line-height:1.65}
.wedding-package-table th,.wedding-package-table td{padding:20px;vertical-align:top;border-bottom:1px solid #e6dfd6}
.wedding-package-table th{background:#f4eee7;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:#6f1528}
.wedding-package-table tr:last-child td{border-bottom:0}
.wedding-package-table td:first-child{font-weight:600;width:21%;color:#331c20}
.wedding-package-table td:nth-child(2){white-space:nowrap;color:#790d20;font-weight:600}
.article{width:min(850px,90%);max-width:850px}
.article h1{font-size:clamp(2.2rem,4vw,3.7rem);line-height:1.15;letter-spacing:-.035em;text-wrap:balance;overflow-wrap:break-word}
.article .article-intro{font-size:1.15rem;line-height:1.8;color:#554b45}
.article .prose h2{font-size:clamp(1.65rem,3vw,2.2rem);line-height:1.3;margin:40px 0 18px}
.article .prose p,.article .prose li{line-height:1.85}
.article .prose ul,.article .prose ol{padding-left:1.4em;margin:18px 0 30px}
.article .prose li{padding-left:.25em;margin:12px 0}
.article .wedding-comparison{margin:40px 0;padding:0;border-top:1px solid #dfd3c8}
.article .wedding-comparison h2{margin-top:30px}
.article .article-toc{padding:24px;background:#f7f0e8;border:1px solid #e6dcd3;border-radius:8px;gap:12px}
.article .article-toc a{line-height:1.6;color:#554b45}
.article .article-next .btn{text-decoration:none}
@media(max-width:700px){
 .wedding-service-hero{padding:30px 0}
 .wedding-service-hero h1{font-size:clamp(2.05rem,8.3vw,3.1rem)}
 .wedding-service-hero>.wrap>p{font-size:1rem}
 .wedding-hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:18px}
 .wedding-hero-actions .btn{width:100%}
 .wedding-page-nav{gap:14px 20px;font-size:.85rem}
 main:has(.wedding-service-hero)>.section{padding:24px 0}
 main:has(.wedding-service-hero)>.section+.section>.wrap{padding-top:24px}
 main:has(.wedding-service-hero) .prose details,.article .article-faq details{padding:18px}
 .wedding-package-scroll{border:0;background:transparent;overflow:visible}
 .wedding-package-table{min-width:0;font-size:.95rem}
 .wedding-package-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .wedding-package-table tbody{display:block}
 .wedding-package-table tr{display:block;margin-bottom:18px;border:1px solid #ded7cf;border-radius:8px;overflow:hidden;background:#fffdf9}
 .wedding-package-table td{display:block;width:auto;padding:14px 18px;white-space:normal;border:0;font-weight:400}
 .wedding-package-table td:first-child{width:auto;background:#f4eee7;font-weight:600;font-size:1.08rem}
 .wedding-package-table td:nth-child(2){white-space:normal}
 .wedding-package-table td::before{content:attr(data-label);display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:#6f1528;margin-bottom:5px}
 .wedding-package-table td:first-child::before{display:none}
 .article h1{font-size:clamp(2.05rem,8vw,3rem)}
 .article .article-intro{font-size:1.05rem}
 .article .article-toc{padding:20px}
 .article .article-next .btn{white-space:normal;text-align:center}
}
