.service-page{background:#0d0d0d}
.service-header{background:rgba(13,13,13,.92);border-bottom:1px solid var(--line)}
.service-hero{position:relative;min-height:88svh;display:flex;align-items:flex-end;overflow:hidden;padding:132px 0 62px}
.service-hero-media,.service-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-hero-media img{object-position:52% center;animation:serviceHeroZoom 14s ease-in-out infinite alternate}
@keyframes serviceHeroZoom{from{transform:scale(1.015)}to{transform:scale(1.075)}}
.service-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2) 10%,rgba(0,0,0,.52) 48%,rgba(0,0,0,.9) 100%)}
.service-hero-content{position:relative;z-index:2}
.service-hero h1{max-width:11ch;font-size:clamp(3rem,12vw,6.6rem)}
.service-lead{max-width:42rem;font-size:1.04rem;color:#eee}
.breadcrumbs{display:flex;gap:8px;align-items:center;font-size:.76rem;color:#d5cec2;margin-bottom:18px}
.breadcrumbs a{text-decoration:none;color:var(--gold)}
.service-intro-grid{display:grid;gap:28px}
.service-intro-grid h2{max-width:13ch}
.service-prose{max-width:58ch;color:#d8d1c5}
.service-prose p:first-child{margin-top:0}
.service-prose strong{color:var(--ivory)}
.service-pills{display:flex;gap:9px;overflow-x:auto;padding:20px 0 4px;scrollbar-width:none}
.service-pills::-webkit-scrollbar{display:none}
.service-pills span{white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:9px 13px;color:#ddd;background:#121212}
.wedding-cards{display:grid;gap:18px;margin-top:28px}
.wedding-card{position:relative;overflow:hidden;border-radius:24px;border:1px solid var(--line);background:#111;min-height:470px}
.wedding-card picture,.wedding-card picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wedding-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04) 32%,rgba(0,0,0,.86) 100%)}
.wedding-card-copy{position:absolute;z-index:2;left:18px;right:18px;bottom:18px}
.wedding-card-copy span{display:block;color:var(--gold);font:800 .72rem Manrope,sans-serif;letter-spacing:.16em;margin-bottom:6px}
.wedding-card-copy h3{font-size:2rem;margin-bottom:5px}
.wedding-card-copy p{margin:0;color:#e3ddd3}
.service-band{background:var(--gold);color:#111;padding:64px 0}
.service-band .eyebrow{color:#111;opacity:.62}
.service-band h2{max-width:12ch}
.service-band-grid p{max-width:54rem}
.btn-dark{background:#111;color:#fff}
.image-feature{position:relative;min-height:82svh;display:flex;align-items:flex-end;overflow:hidden;padding:70px 0}
.image-feature>picture,.image-feature>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.image-feature>picture img{object-position:center}
.image-feature-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.84) 86%)}
.image-feature-copy{position:relative;z-index:2}
.image-feature-copy h2{max-width:12ch}
.image-feature-copy p{max-width:52rem;color:#eee}
.image-feature-copy a:not(.btn){text-underline-offset:3px}
.related-grid{display:grid;gap:12px;margin-top:28px}
.related-card{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;padding:20px;border:1px solid var(--line);border-radius:18px;text-decoration:none;background:linear-gradient(135deg,rgba(255,255,255,.018),rgba(213,166,46,.035));transition:transform .25s,border-color .25s,background .25s}
.related-card span{grid-row:1/3;color:var(--gold);font-weight:800;font-size:.72rem;letter-spacing:.14em;padding-top:3px}
.related-card strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.45rem;line-height:1.1}
.related-card small{color:var(--muted);font-size:.83rem}
.related-card:hover{transform:translateY(-3px);border-color:rgba(213,166,46,.58);background:rgba(213,166,46,.05)}
.faq-list{display:grid;gap:10px;margin-top:28px}
.faq-list details{border-top:1px solid var(--line);padding:18px 0}
.faq-list summary{cursor:pointer;font-weight:800;list-style:none;padding-right:34px;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:0;top:-4px;color:var(--gold);font-size:1.6rem;font-weight:400}
.faq-list details[open] summary:after{content:"−"}
.faq-list p{color:var(--muted);max-width:58rem;margin-bottom:0}
.service-contact{background:#121212;border-top:1px solid var(--line);padding:80px 0 110px}
.service-contact-grid{display:grid;gap:28px}
.service-contact-actions{display:grid;gap:10px;align-content:start}
.service-contact-actions address{margin-top:14px}
@media(max-width:759px){
  .service-hero{min-height:90svh;padding-top:120px}
  .service-hero h1{font-size:clamp(3.1rem,16vw,4.9rem);max-width:9ch}
  .wedding-card{min-height:430px}
  .wedding-card:nth-child(2) picture img{object-position:center}
  .related-grid{grid-template-columns:1fr}
}
@media(min-width:760px){
  .service-intro-grid{grid-template-columns:.9fr 1.1fr;align-items:start}
  .wedding-cards{grid-template-columns:repeat(3,1fr)}
  .wedding-card{min-height:540px}
  .service-band-grid{display:grid;grid-template-columns:.55fr 1fr;gap:0 40px;align-items:start}
  .service-band-grid .eyebrow{grid-column:1/-1}
  .service-band-grid .btn{justify-self:start;margin-top:14px}
  .related-grid{grid-template-columns:repeat(2,1fr)}
  .service-contact-grid{grid-template-columns:1.2fr .8fr;align-items:start}
}
@media(min-width:980px){
  .service-hero{min-height:92vh;padding-bottom:80px}
  .service-hero-media img{object-position:center 58%}
  .wedding-card{min-height:610px}
  .related-grid{grid-template-columns:repeat(3,1fr)}
}
@media(prefers-reduced-motion:reduce){.service-hero-media img{animation:none!important}}

.service-split--reverse{grid-template-columns:1fr}
@media(min-width:760px){.service-split--reverse{grid-template-columns:.95fr 1.05fr}.service-split--reverse .split-media{order:2}.service-split--reverse .split-copy{order:1}}
.outdoor-experience-cards a.wedding-card{text-decoration:none;color:inherit}
@media(min-width:760px){.outdoor-experience-cards{grid-template-columns:repeat(2,1fr)}.outdoor-experience-cards .wedding-card{min-height:500px}}
@media(min-width:1100px){.outdoor-experience-cards{grid-template-columns:repeat(4,1fr)}.outdoor-experience-cards .wedding-card{min-height:560px}}


/* v34 — definitive mobile readability fix for image cards */
@media (max-width:759px){
  .wedding-cards{gap:24px}
  .wedding-card{
    min-height:520px;
    height:auto;
    border-radius:22px;
  }
  .wedding-card:after{
    background:linear-gradient(180deg,rgba(0,0,0,.02) 28%,rgba(0,0,0,.34) 55%,rgba(0,0,0,.96) 100%);
  }
  .wedding-card-copy{
    left:18px;
    right:18px;
    bottom:22px;
    max-width:calc(100% - 36px);
  }
  .wedding-card-copy h3{
    font-size:clamp(1.85rem,9vw,2.35rem);
    line-height:1.02;
    margin:0 0 8px;
  }
  .wedding-card-copy p{
    display:block;
    margin:0;
    font-size:.96rem;
    line-height:1.48;
    color:#f2eee7;
    overflow:visible;
    max-height:none;
    white-space:normal;
  }
  .wedding-card-copy span{margin-bottom:8px}
}

/* Slightly taller only when cards contain longer copy, without affecting desktop */
@media (max-width:420px){
  .wedding-card{min-height:540px}
}


/* v35 — mobile service hero title fix: prevent giant/broken headings */
@media (max-width:759px){
  .service-hero-content{width:100%;min-width:0}
  .service-hero h1{
    width:100%;
    max-width:100%;
    font-size:clamp(2.7rem,12vw,3.8rem);
    line-height:.92;
    letter-spacing:-.025em;
    word-break:normal;
    overflow-wrap:normal;
    hyphens:none;
  }
  .service-lead{font-size:1rem;line-height:1.55;max-width:100%}
}
@media (max-width:380px){
  .service-hero h1{font-size:clamp(2.5rem,11.5vw,3.2rem)}
}
