/* Scoped to the standalone services page; reuse the existing brand and navigation. */
.wedding-services-page .nav{position:relative;background:var(--forest);border-bottom:1px solid var(--gold)}
.wedding-services-page .nav nav a[aria-current]{opacity:1;text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--gold)}
.wedding-services-page main{max-width:1120px;margin:auto;padding:0 clamp(18px,4vw,48px)}
.services-skip{position:absolute;top:-80px;left:18px;z-index:30;padding:12px;background:var(--paper);color:var(--forest)}
.services-skip:focus{top:12px}
.wedding-services-page :is(a,button,summary):focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.services-intro{text-align:center;padding:clamp(48px,7vw,88px) 0 36px;max-width:880px;margin:auto}
.services-intro h1{font:400 clamp(42px,7vw,74px)/1.08 var(--serif);color:var(--forest);margin:18px 0 24px}
.services-lead{font-size:clamp(17px,2vw,20px);line-height:1.8;color:var(--ink);margin:0 auto 22px;max-width:800px}
.services-area{font-size:14px;line-height:1.9;color:var(--muted);max-width:770px;margin:0 auto}
.services-cta{border:1px solid var(--gold);padding:clamp(24px,4vw,40px);background:var(--cream)}
.services-cta h2{font:400 clamp(29px,4vw,42px)/1.18 var(--serif);margin:10px 0 0}
.services-cta-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 36px}
.services-cta .btn{min-height:48px;text-align:center;justify-content:center;line-height:1.5;white-space:normal}
.services-list{display:grid;gap:16px;margin-bottom:40px;overflow-anchor:none}
.services-section{border:1px solid var(--line);background:var(--paper);border-radius:3px}
.services-section[open]{border-color:var(--gold)}
.services-section summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:clamp(22px,4vw,32px);cursor:pointer;min-height:100px;touch-action:manipulation}
.services-section summary::-webkit-details-marker{display:none}
.services-section summary h2{color:var(--forest);font:400 clamp(26px,3.4vw,34px)/1.2 var(--serif);margin:0 0 9px}
.services-section summary p{margin:0;color:var(--muted);font-size:14px;line-height:1.65;max-width:750px}
.services-indicator{position:relative;width:28px;height:28px;flex:none;border:1px solid var(--gold);border-radius:50%}
.services-indicator::before,.services-indicator::after{content:'';position:absolute;top:12px;left:7px;width:12px;height:1px;background:#8d6735}
.services-indicator::after{transform:rotate(90deg);transition:transform .22s ease}
.services-section[open] .services-indicator::after{transform:rotate(0)}
.services-content{min-height:0;overflow:hidden}
.services-inner{padding:0 clamp(22px,4vw,32px) 28px;color:var(--muted);font-size:16px;line-height:1.85}
.services-inner>p:first-child{padding-top:23px;border-top:1px solid var(--line);margin-top:0}
.services-inner>h3{color:var(--forest);font:400 clamp(24px,3vw,30px)/1.3 var(--serif);margin:24px 0 16px}
.services-inner>h3:first-child{padding-top:23px;border-top:1px solid var(--line);margin-top:0}
.services-inner p{margin:0 0 18px}
.services-inner p:last-child{margin-bottom:0}
.services-inner a:not(.services-reel a){color:#73552e;text-decoration:underline;text-underline-offset:3px}
.services-inner blockquote{margin:26px 0;padding:8px 0 8px 22px;border-left:2px solid var(--gold);color:var(--forest);font:400 clamp(25px,3vw,32px)/1.4 var(--serif)}
.services-venues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 36px;margin:26px 0}
.services-venues h3{font:500 16px/1.5 var(--sans);color:var(--forest);margin:0 0 7px}
.services-venues ul{padding-left:20px;margin:0}
.services-reel{margin:28px 0 0;max-width:760px}
.services-reel>a{display:block;position:relative;overflow:hidden;background:var(--forest);border:1px solid var(--gold)}
.services-reel img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center}
.services-reel>a>span{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;color:var(--cream);font-size:14px;letter-spacing:.04em}
.services-reel figcaption{margin-top:10px;font-size:13px;line-height:1.6}
.services-cta-bottom{text-align:center;background:var(--forest);color:var(--paper);padding:clamp(32px,6vw,64px);margin:0 0 64px}
.services-cta-bottom .kicker{color:var(--gold)}
.services-cta-bottom h2{max-width:680px;margin:12px auto 20px;font-size:clamp(32px,4.5vw,49px)}
.services-cta-bottom>p:not(.kicker){max-width:680px;margin:0 auto 28px;line-height:1.8;font-size:16px;color:var(--cream)}
/* Native details remain independent and indexable. */
@supports selector(details::details-content){
 .services-section::details-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .24s ease,content-visibility .24s;transition-behavior:allow-discrete}
 .services-section[open]::details-content{grid-template-rows:1fr}
}
@media(min-width:901px) and (max-width:1150px){.wedding-services-page .nav nav{gap:20px}}
@media(max-width:700px){.services-cta-top{flex-direction:column;align-items:stretch;text-align:center;gap:20px}.services-cta .btn{width:100%}.services-venues{grid-template-columns:1fr}.services-section summary{gap:12px}.services-section summary h2{font-size:27px}.services-section summary p{font-size:13px}.services-intro .kicker{font-size:10px;letter-spacing:.13em}.services-intro{padding-top:42px}.services-reel>a>span{padding:13px 14px}.services-cta-bottom{margin-bottom:40px}}
@media(prefers-reduced-motion:reduce){.services-section::details-content,.services-indicator::after{transition:none}.wedding-services-page{scroll-behavior:auto}}
/* The homepage's mobile logo lives in its hero; this standalone page uses the header. */
@media(max-width:600px){.wedding-services-page .nav{justify-content:space-between}.wedding-services-page .nav>.brand{display:flex}}

.wedding-services-page .services-cta .btn.gold{color:var(--ink)}

/* Enhanced mobile presentation; the indexable desktop accordions are retained. */
.services-mobile-grid{display:none}
@media(max-width:700px){
 .services-mobile-ready .services-list{display:none}
 .services-mobile-ready .services-mobile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:40px}
 .services-mobile-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;aspect-ratio:1.54;min-height:124px;width:100%;padding:14px 12px 30px;border:1px solid var(--line);border-radius:12px;background:var(--cream);color:var(--forest);font-family:var(--sans);cursor:pointer;touch-action:manipulation}
 .services-mobile-card svg{width:19px;height:19px;flex:none;margin-bottom:12px;color:#8d6735}
 .services-card-title{font-size:14px;line-height:1.3;font-weight:500}
 .services-card-note{margin-top:5px;font-size:11px;line-height:1.35;color:var(--muted)}
 .services-card-arrow{position:absolute;right:13px;bottom:12px;color:var(--gold);font-size:15px}
 .services-card-arrow svg{display:block;width:15px;height:15px;margin:0;color:inherit}
 .services-mobile-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:var(--cream);color:var(--forest);overflow:hidden}
 .services-mobile-dialog[open]{display:flex;flex-direction:column}
 .services-mobile-dialog::backdrop{background:var(--forest)}
 .services-dialog-bar{display:flex;justify-content:flex-end;flex:none;padding:calc(10px + env(safe-area-inset-top)) 18px 10px;border-bottom:1px solid var(--line);background:var(--cream)}
 .services-dialog-close{display:flex;align-items:center;gap:12px;min-height:44px;border:1px solid var(--gold);border-radius:4px;padding:8px 14px;background:transparent;color:var(--forest);font:500 14px var(--sans);cursor:pointer}
 .services-dialog-close span{font-size:25px;line-height:1}
 .services-dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:24px 20px calc(28px + env(safe-area-inset-bottom))}
 .services-dialog-body>div:first-child h2{font:400 32px/1.15 var(--serif);margin:0 0 14px}
 .services-dialog-body>div:first-child p{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 24px}
 .services-dialog-body .services-inner{padding:0;font-size:16px}
}
