/*
Theme Name: Avenue Wedding
Theme URI: https://www.prowebavenue.com/
Author: ProWebAvenue
Description: Elegant three-page wedding theme with FAQs, Locations, and RSVP on every page.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: avenue-wedding
*/
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Libre+Baskerville:ital,wght@0,400;1,400&display=swap');
:root{--olive:#555638;--ink:#1b1918;--cream:#f6f2ee;--border:#d4ccc4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f3ef;color:var(--ink);font-family:'Libre Baskerville',Georgia,serif;font-size:13px;line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.06}h1{font-size:clamp(52px,6.3vw,90px)}h2{font-size:clamp(38px,4.5vw,62px)}h3{font-size:32px}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.site-header{background:#f9f6f3;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:7px 5%;position:relative;z-index:10}.brand{text-decoration:none;font:italic 31px 'Cormorant Garamond',serif;white-space:nowrap}.nav{display:flex;align-items:center;gap:clamp(12px,2vw,29px);flex-wrap:wrap}.nav a{text-decoration:none;font-size:10px;white-space:nowrap}.nav a:hover,.nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.outline-btn,.line-btn{display:inline-block;padding:10px 26px;border:1px solid currentColor;text-decoration:none;text-align:center;text-transform:uppercase;letter-spacing:.12em;font-size:10px;background:transparent}.outline-btn:hover,.line-btn:hover{background:var(--olive);color:#fff}.hero{position:relative;min-height:270px;background-size:cover;background-position:center;display:flex;align-items:center}.hero-inner{width:100%;max-width:1150px;margin:auto;padding:30px 6%;position:relative;z-index:1}.home-hero{min-height:320px;background-position:center}.home-hero .hero-inner{display:flex;justify-content:flex-end}.hero-copy{text-align:center;color:#fff;width:54%;text-shadow:0 1px 5px #222}.eyebrow{letter-spacing:.5em;text-transform:uppercase;font-size:11px}.hero-copy h1{margin:14px 0;font-size:clamp(48px,6vw,78px)}.hero-copy .outline-btn{margin-top:14px}.split{display:grid;grid-template-columns:1fr 1fr;min-height:290px}.story-copy{padding:38px max(30px,8%);max-width:650px;margin:auto}.story-copy h2{letter-spacing:.1em}.story-copy .intro{font-style:italic;font-size:17px}.story-photo{background:url('assets/images/home-story.jpg') center/cover;min-height:300px}.countdown{text-align:center;padding:26px 15px 30px;background:url('assets/images/wedding-date-bridesmaids.jpg') center/cover}.countdown h2{font-size:42px;letter-spacing:.12em;margin:3px 0 13px}.count-items{display:flex;justify-content:center;gap:0}.count-items>div{min-width:110px;padding:0 22px;border-right:1px solid #8a837b}.count-items>div:last-child{border:0}.count-num{display:block;font:48px 'Cormorant Garamond',serif;line-height:1}.count-label{letter-spacing:.25em;text-transform:uppercase;font-size:9px}.schedule{padding:25px 20px 32px;text-align:center}.schedule h2{font-size:32px;letter-spacing:.2em}.schedule-content{max-width:760px;margin:20px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.branch{font-size:85px;color:#8e816c;font-family:Georgia,serif;font-style:italic}.schedule-list{border-left:1px solid #8c8078;padding-left:40px;text-align:left}.schedule-line{display:flex;gap:24px;letter-spacing:.12em;font-size:11px;padding:4px}.schedule-line strong{min-width:90px}.faq-hero{background-image:linear-gradient(90deg,transparent 25%,rgba(0,0,0,.5)),url('assets/images/faq-hero.jpg');background-position:center}.faq-hero .hero-inner{text-align:right;color:#fff}.faq-hero h1{max-width:580px;margin:0 0 5px auto}.faq-hero p{font-style:italic;font-size:17px}.faq-section{display:grid;grid-template-columns:43% 57%;gap:7%;align-items:center;padding:22px 6% 25px 6%;background:#f6f2ee}.faq-section img{width:100%;height:280px;object-fit:cover}.faq-list{padding-right:11%}.faq-list details{border-bottom:1px solid #bcb3aa;padding:10px 0}.faq-list summary{font-size:15px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px}.faq-list summary:after{content:'+';font-size:24px;line-height:1}.faq-list details[open] summary:after{content:'−'}.faq-list details p{margin:10px 0 3px;color:#4c4741}.details-band{background:linear-gradient(rgba(29,31,21,.4),rgba(29,31,21,.45)),url('assets/images/finer-details-dress-hands.jpg') center/cover;color:#fff;text-align:center;padding:20px 6% 25px}.details-band h2{margin-bottom:18px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;max-width:800px;margin:auto}.detail-item{padding:0 38px}.detail-item:first-child{border-right:1px solid #e0d8cf}.detail-icon{font-size:31px;line-height:1.1}.detail-item h3{font-size:23px;text-transform:uppercase;letter-spacing:.1em;margin:7px 0}.detail-item p{font-size:12px;max-width:310px;margin:0 auto 12px}.detail-item .outline-btn{padding:7px 22px;text-transform:none;letter-spacing:0;font-size:12px}.rsvp-section{display:grid;grid-template-columns:46% 54%;background:#f7f3ef;min-height:430px}.rsvp-photo{background:url('assets/images/rsvp-bride.jpg') center/cover}.rsvp-panel{padding:16px 9% 25px;text-align:center}.rsvp-panel h2{font-size:68px;margin:0}.rsvp-panel .heart{font-size:22px;line-height:1}.rsvp-panel .subtitle{font-size:15px;font-style:italic;line-height:1.6;margin:10px 0}.rsvp-form{max-width:460px;margin:auto}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{display:block;width:100%;margin:5px 0;padding:9px 12px;background:transparent;border:1px solid #b8b0a9;border-radius:0;font-size:12px;color:#222}.rsvp-form textarea{height:50px;resize:vertical}.rsvp-form button{width:100%;border:0;background:var(--olive);color:#fff;font:30px 'Cormorant Garamond',serif;padding:5px}.rsvp-form button:hover{background:#333522}.form-note{font-size:11px;margin-top:8px}.gallery-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.gallery-strip img{width:100%;height:190px;object-fit:cover}.gallery-banner{height:310px;background:linear-gradient(transparent,rgba(0,0,0,.35)),url('assets/images/gallery-banner-closeup.jpg') center/cover;display:flex;justify-content:center;align-items:flex-end;padding-bottom:35px;color:#fff}.gallery-banner .outline-btn{font-size:12px}.location-hero{background:url('assets/images/location-map.jpg') center/cover;min-height:245px}.location-layout{display:grid;grid-template-columns:1fr 260px;align-items:center;gap:30px}.location-title h1{margin-bottom:6px}.location-title p{font-size:17px;font-style:italic;max-width:320px}.venue-card{background:rgba(250,246,240,.94);padding:18px;text-align:center;box-shadow:0 2px 10px #0002}.venue-card h3{font-style:italic;font-size:25px;margin:0 0 8px}.venue-card p{font-size:11px}.venue-card .outline-btn{padding:8px 18px}.location-services{padding:20px 4% 17px}.location-services>h2{text-align:center;letter-spacing:.12em;font-size:42px;margin:0}.location-services>.sub{text-align:center;margin:0 0 15px}.hotel-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.hotel-card{display:grid;grid-template-columns:55% 45%;background:#f2eee9;min-height:140px}.hotel-card img{width:100%;height:140px;object-fit:cover}.hotel-content{text-align:center;padding:8px 10px}.hotel-content .detail-icon{font-size:24px}.hotel-content h3{font-size:24px;font-style:italic;margin:2px}.hotel-content p{font-size:11px;margin:4px 0 10px}.solid-btn{display:inline-block;text-decoration:none;background:var(--olive);color:#fff;text-transform:uppercase;letter-spacing:.12em;padding:7px 20px;font-size:11px}.tux-row{display:grid;grid-template-columns:36% 1fr 23%;gap:25px;align-items:center;background:#f1ede9;margin-top:24px}.tux-row img{width:100%;height:145px;object-fit:cover}.tux-row h2{font-size:35px;margin:0}.tux-row p{font-size:12px}.tux-book{padding:12px}.tux-book p{margin:8px 0 0}.site-footer{background:#282423;color:#f4eeeb;padding:30px 6%}.footer-columns{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:25px;max-width:1050px;margin:auto}.site-footer h3{font:17px Georgia,serif}.site-footer p,.site-footer a{font-size:11px;color:#e5dcd5}.site-footer a{display:block;text-decoration:none;margin:3px 0}.copyright{text-align:center;background:#121110;color:#ddd;font-size:10px;padding:13px}.hidden{display:none!important}@media(max-width:800px){.site-header{flex-wrap:wrap;justify-content:center}.nav{justify-content:center}.hero-copy{width:65%}.faq-section{gap:4%}.faq-list{padding-right:0}.hotel-card{grid-template-columns:1fr}.hotel-card img{height:130px}.tux-row{grid-template-columns:30% 1fr}.tux-book{grid-column:1/-1;text-align:center}.footer-columns{grid-template-columns:1fr 1fr}}@media(max-width:600px){.nav{gap:10px}.nav a{font-size:9px}.brand{font-size:27px}.home-hero{min-height:300px}.hero-copy{width:100%;background:#0005;padding:15px}.split,.faq-section,.rsvp-section,.detail-grid,.hotel-grid,.location-layout{grid-template-columns:1fr}.story-photo{min-height:260px}.schedule-content{grid-template-columns:1fr;gap:0}.schedule-list{border:0;padding:0}.branch{display:none}.faq-section img{height:240px}.faq-section{padding:15px}.faq-list{padding:8px 8px 15px}.detail-item{padding:15px}.detail-item:first-child{border:0;border-bottom:1px solid #eee7}.rsvp-photo{min-height:400px}.rsvp-panel{padding:20px 8% 30px}.gallery-strip img{height:120px}.location-hero{padding:15px}.venue-card{max-width:320px}.tux-row{grid-template-columns:1fr}.tux-row img{height:190px}.tux-row>div{padding:12px}.count-items>div{min-width:0;padding:0 10px}.count-num{font-size:36px}.footer-columns{grid-template-columns:1fr 1fr}}
/* Keep hero titles as live text, not text embedded in screenshots. */
.home-hero{background-color:#201e1c;background-size:auto 100%;background-repeat:no-repeat;background-position:left center}.faq-hero{background-color:#25251f;background-size:cover}

/* v1.1 approved design refinements */
@media(min-width:801px){
 .home-hero{min-height:750px;height:750px;background-position:left center;background-size:cover}
 .home-hero .hero-inner{max-width:1500px}
 .home-hero .hero-copy{width:52%;padding-left:3%}
 .home-hero .hero-copy h1{font-size:clamp(65px,6.2vw,110px)}
 .split{min-height:410px}
 .story-copy{padding-top:40px;padding-bottom:40px}
 .story-photo{min-height:410px}
}
.story-copy p{margin-bottom:16px}
.story-copy .intro{margin-bottom:18px}
.story-rule{display:inline-block;margin-top:2px}
@media(max-width:800px){.home-hero{min-height:520px;background-position:35% center}.home-hero .hero-inner{align-self:flex-end}.home-hero .hero-copy{margin:0 auto;background:#202219a8;padding:20px}}

/* v1.2: photographic-only section backgrounds; typography remains editable HTML. */
.countdown{background-position:center 45%;background-size:cover;position:relative;isolation:isolate;color:#211c1a;padding:35px 15px 38px}
.countdown:before{content:"";position:absolute;inset:0;background:rgba(249,244,238,.73);z-index:-1}
.details-band{background-position:center 52%;background-size:cover;position:relative;isolation:isolate;padding:28px 6% 32px}
.details-band:before{content:"";position:absolute;inset:0;background:rgba(21,22,17,.55);z-index:-1}
.gallery-banner{background-position:center 46%;background-size:cover}
.gallery-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;background:#f7f3ef;padding:4px 0}
.gallery-four img{display:block;width:100%;height:210px;object-fit:cover}
@media(max-width:600px){.gallery-four{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-four img{height:165px}}

/* v1.3: full-height wedding date photo and portrait gallery matching the supplied reference. */
@media(min-width:801px){.countdown{height:738px;min-height:738px;display:flex;flex-direction:column;justify-content:center;align-items:center;background-size:contain;background-repeat:no-repeat;background-position:center center;background-color:#eee5df}.countdown:before{background:rgba(249,244,238,.48)}}
@media(max-width:800px){.countdown{min-height:clamp(390px,80vw,738px);display:flex;flex-direction:column;justify-content:center;align-items:center;background-size:cover;background-position:center}}
.gallery-portrait-section{background:#333630;padding:0}
.gallery-portrait-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-x:contain}
.gallery-portrait-card{position:relative;flex:0 0 calc((100% - 20px)/3);aspect-ratio:620/944;margin:0;overflow:hidden;scroll-snap-align:start;background:#242721}
.gallery-portrait-card img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-feature-caption{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:white;text-align:center;background:rgba(0,0,0,.19);text-shadow:0 1px 6px #222}
.gallery-feature-caption span{font-size:12px;letter-spacing:.22em}.gallery-feature-caption small{font-style:italic;font-size:13px}.gallery-feature-caption .outline-btn{margin-top:38px;padding:11px 30px;text-shadow:none}
.gallery-scroll-hint{text-align:right;padding:6px 20px 8px;margin:0;color:#f5f0e9;font-size:11px;letter-spacing:.06em}
@media(max-width:800px){.gallery-portrait-card{flex-basis:calc((100% - 10px)/2)}}
@media(max-width:540px){.gallery-portrait-card{flex-basis:85%}}

/* v1.4: full-height 620 x 944 Our Story portrait photo, with no image crop. */
@media(min-width:801px){.split#story{min-height:944px;grid-template-columns:1fr 1fr}.split#story .story-photo{height:944px;min-height:944px;background-size:auto 944px;background-position:center center;background-repeat:no-repeat;background-color:#252c2a}.split#story .story-copy{align-self:center}}
@media(max-width:800px){.split#story .story-photo{min-height:0;height:auto;aspect-ratio:620/944;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#252c2a}}

/* v1.5: edge-to-edge imagery — remove letterboxing and artificial section gutters. */
.split#story,.countdown,.schedule,.details-band{margin-top:0;margin-bottom:0}
.split#story{gap:0}
.split#story .story-photo{background-color:transparent;background-size:cover;background-position:center center}
.countdown{background-color:transparent;background-size:cover;background-position:center center}
@media(min-width:801px){.split#story .story-photo{background-color:transparent;background-size:cover;background-position:center center}.countdown{background-color:transparent;background-size:cover;background-position:center center}}
@media(max-width:800px){.split#story .story-photo{background-color:transparent;background-size:cover;background-position:center center}}

/* v1.6: Finer Details matches the supplied 738px photograph height. */
@media (min-width:801px){
  .details-band{height:738px;min-height:738px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px 6%;background-position:center center;background-size:cover}
  .details-band .detail-grid{width:100%;margin-left:auto;margin-right:auto}
}
@media (max-width:800px){.details-band{height:auto;min-height:0;padding:55px 6%}}

/* v1.7: Keep Finer Details heading and information grouped together vertically. */
@media (min-width:801px){
  .details-band{gap:24px;justify-content:center}
  .details-band h2{margin:0;line-height:1.1}
  .details-band .detail-grid{margin:0 auto;align-items:start}
}
@media (max-width:800px){
  .details-band h2{margin-bottom:22px}
  .details-band .detail-grid{margin:0 auto}
}

/* v1.8: Center the Finer Details heading directly above its two content columns. */
@media(min-width:801px){
 .details-band{height:738px;min-height:738px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:40px 6%}
 .details-band>h2{flex:0 0 auto;margin:0!important;line-height:1.1}
 .details-band>.detail-grid{flex:0 0 auto;width:min(100%,800px);margin:0!important;align-items:start}
}

/* v1.9 — expanded locations and FAQs page design */
.location-hero,.faq-hero{min-height:738px;}
.location-hero .hero-inner,.faq-hero .hero-inner{max-width:1400px;}
.location-services{padding:55px 5% 65px;}
.location-services>.sub{margin-bottom:30px;}
.hotel-grid{display:grid;grid-template-columns:1fr;gap:26px;max-width:1250px;margin:auto;}
.hotel-card{display:grid;grid-template-columns:45% 55%;min-height:600px;background:#f2eee9;}
.hotel-card img{width:100%;height:600px;object-fit:cover;}
.hotel-content{padding:65px 8%;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.hotel-content h3{font-size:clamp(35px,4vw,58px);}
.hotel-content p{font-size:15px;line-height:1.8;max-width:480px;}
.hotel-content .solid-btn{margin-top:20px;}
.tux-row{display:grid;grid-template-columns:40% 60%;gap:0;margin:40px auto 0;max-width:1250px;align-items:stretch;}
.tux-row img{height:600px;object-fit:cover;}
.tux-content{padding:55px 8%;}
.tux-content h2{font-size:clamp(38px,4vw,55px);}
.tux-content p{font-size:15px;line-height:1.8;}
.tux-options{margin:24px 0;display:grid;gap:12px;}
.tux-option{display:flex;justify-content:space-between;gap:20px;padding-bottom:10px;border-bottom:1px solid #c7bfb5;}
.tux-option a{color:#4e5134;text-decoration:underline;}
.faq-hero{background:#efe0ce url('assets/images/faq-couple.jpg') left center/auto 100% no-repeat;}
.faq-hero .hero-inner{padding-left:42%;}
.faq-hero .hero-inner,.faq-hero h1,.faq-hero p{color:#27251f;text-shadow:none;text-align:center;}
.faq-hero h1{font-size:clamp(46px,5vw,76px);}
.faq-section{grid-template-columns:43% 50%;gap:7%;padding:50px 6%;}
.faq-couple-photo{height:500px;background:url('assets/images/faq-couple.jpg') center/contain no-repeat;}
@media(max-width:800px){.location-hero,.faq-hero{min-height:520px}.hotel-card{grid-template-columns:1fr;min-height:0}.hotel-card img{height:330px}.hotel-content{padding:35px}.tux-row{grid-template-columns:1fr}.tux-row img{height:330px}.faq-hero .hero-inner{padding-left:45%}}
@media(max-width:600px){.location-hero,.faq-hero{min-height:440px}.faq-hero{background-position:left center;background-size:auto 100%}.faq-hero .hero-inner{padding:25px 4% 25px 48%}.faq-hero h1{font-size:35px}.faq-hero p{font-size:13px}.faq-section{grid-template-columns:1fr}.faq-couple-photo{height:340px}.tux-content{padding:30px}.tux-option{flex-direction:column;gap:3px}}

/* v2.0 FAQ page: floral hero, full-height couple/photo and editable HTML FAQ text */
.faq-hero{min-height:738px;background:linear-gradient(90deg,rgba(15,16,12,.08),rgba(15,16,12,.42)),url('assets/images/faq-hero.jpg') center center/cover no-repeat;}
.faq-hero .hero-inner{padding:40px 6%;max-width:1400px;text-align:right;}
.faq-hero h1,.faq-hero p,.faq-hero .hero-inner{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.45);text-align:right;}
.faq-hero h1{max-width:600px;margin-left:auto;font-size:clamp(52px,6vw,92px);}
.faq-section{min-height:738px;display:grid;grid-template-columns:50% 50%;gap:0;padding:0;background:#f3dfca;align-items:stretch;}
.faq-couple-photo{height:auto;min-height:738px;background:url('assets/images/faq-couple.jpg') center bottom/auto 100% no-repeat;}
.faq-list{align-self:center;padding:55px clamp(24px,5vw,90px) 55px 15px;}
.faq-list details{border:0;padding:13px 0;}
.faq-list summary{display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:baseline;gap:22px;font-weight:bold;color:#4d572b;font-size:clamp(15px,1.45vw,21px);text-transform:uppercase;letter-spacing:.025em;}
.faq-list summary:after{content:'›';display:flex;align-items:center;justify-content:center;flex:none;border-radius:50%;width:28px;height:28px;font:24px/1 Georgia,serif;background:#596331;color:#fff;transform:none;}
.faq-list details[open] summary:after{content:'⌄';font-size:20px;}
.faq-list details p{font-size:clamp(13px,1.15vw,17px);line-height:1.6;color:#201e1b;margin:5px 0 0 50px;}
@media(max-width:800px){.faq-hero{min-height:540px}.faq-section{min-height:580px}.faq-couple-photo{min-height:580px;background-size:auto 100%}.faq-list{padding:35px 24px 35px 0}}
@media(max-width:600px){.faq-hero{min-height:440px}.faq-hero .hero-inner{padding:35px 7%;}.faq-hero h1{font-size:clamp(42px,11vw,60px)}.faq-section{display:flex;flex-direction:column}.faq-couple-photo{min-height:520px;background-size:auto 100%;background-position:center bottom}.faq-list{padding:20px 7% 40px}.faq-list details p{margin-left:48px}}

/* Avenue Wedding v2.1 — full-width FAQ portrait and polished live-text layout */
.faq-section{display:block;position:relative;min-height:738px;padding:0;background:#efddca url('assets/images/faq-couple-wide.jpg') center center/cover no-repeat;}
.faq-couple-photo{display:none!important;}
.faq-list{position:relative;margin:0 4.5% 0 auto;width:43%;max-width:710px;min-height:738px;display:flex;flex-direction:column;justify-content:center;padding:42px clamp(15px,2.2vw,36px);background:transparent;}
.faq-list details{padding:12px 0;border:0;}
.faq-list summary{font-size:clamp(15px,1.3vw,20px);line-height:1.35;align-items:flex-start;gap:14px;}
.faq-list summary:after{width:26px;height:26px;margin-top:0;}
.faq-list details p{margin:7px 0 0 40px;font-size:clamp(13px,1.08vw,16px);line-height:1.65;max-width:550px;}
@media(max-width:1050px){.faq-section{background-position:43% center}.faq-list{width:48%;margin-right:2%;padding:30px 12px}.faq-list summary{font-size:15px}.faq-list details p{font-size:13px}}
@media(max-width:700px){.faq-section{background-size:auto 480px;background-position:33% top;min-height:0;padding-top:480px;background-color:#efddca}.faq-list{width:100%;max-width:none;min-height:0;margin:0;padding:30px 7% 40px;background:#efddca}.faq-list details{padding:12px 0}.faq-list details p{font-size:14px}}

/* v2.2 — FAQ hero uses the entire supplied 1200 × 330 composition, without cropping. */
body .faq-hero{
  width:100%;height:auto;min-height:0;aspect-ratio:1200 / 330;
  background-image:url('assets/images/faq-hero.jpg');
  background-size:100% 100%;background-position:center;background-repeat:no-repeat;
  display:flex;align-items:center;
}
body .faq-hero .hero-inner{width:100%;max-width:none;padding:2% 6% 2% 58%;text-align:center;}
body .faq-hero h1{font-size:clamp(30px,4.4vw,76px);line-height:1.04;margin:0 auto 8px;max-width:650px;text-align:center;}
body .faq-hero p{font-size:clamp(12px,1.3vw,19px);margin:0 auto;text-align:center;}
/* Keep the image at a fixed size when accordion answers change the content height. */
body .faq-section{position:relative;isolation:isolate;min-height:738px;background:#efddca;display:block;padding:0;}
body .faq-section::before{
  content:"";position:absolute;z-index:-1;left:0;right:0;top:0;
  height:738px;background:url('assets/images/faq-couple-wide.jpg') center center / cover no-repeat;
  pointer-events:none;
}
body .faq-list{position:relative;z-index:1;min-height:738px;}
@media(max-width:1050px){body .faq-hero .hero-inner{padding-left:56%;padding-right:4%}body .faq-hero h1{font-size:clamp(26px,4.2vw,56px)}}
@media(max-width:700px){
 body .faq-hero{aspect-ratio:1200 / 330;min-height:0;background-size:100% 100%;}
 body .faq-hero .hero-inner{padding:2% 3% 2% 57%;}
 body .faq-hero h1{font-size:clamp(16px,4vw,28px);margin-bottom:3px;}
 body .faq-hero p{font-size:clamp(8px,1.65vw,12px);line-height:1.3;}
 body .faq-section{padding-top:480px;min-height:0;}
 body .faq-section::before{height:480px;background-size:auto 480px;background-position:33% top;}
 body .faq-list{min-height:0;background:#efddca;}
}

/* v2.3 FAQ corrections: uninterrupted floral photograph across the hero,
   natural dark overlay at the right for readable live HTML text. */
body .faq-hero{
  width:100%; height:clamp(300px,28vw,460px); min-height:0; aspect-ratio:auto;
  background-image:linear-gradient(90deg,rgba(23,24,18,0) 0%,rgba(23,24,18,.12) 35%,rgba(23,24,18,.77) 64%,rgba(23,24,18,.91) 100%),url('assets/images/faq-hero.jpg');
  background-size:cover; background-position:center center; background-repeat:no-repeat;
  display:flex;align-items:center;
}
body .faq-hero .hero-inner{width:100%;max-width:none;padding:0 5% 0 55%;text-align:center;color:#fff;}
body .faq-hero h1{color:#fff;font-size:clamp(36px,4.4vw,74px);line-height:1.06;margin:0 auto 14px;max-width:700px;text-align:center;}
body .faq-hero p{color:#fff;font-size:clamp(14px,1.35vw,21px);line-height:1.4;text-align:center;margin:0 auto;}
/* Use an absolutely positioned, non-resizing photo layer. FAQ answers change
   the accordion content, not the image height, position or scale. */
body .faq-section{position:relative;isolation:isolate;min-height:738px;background:#efddca;padding:0;display:block;}
body .faq-section::before{content:'';position:absolute;z-index:-1;inset:0 0 auto;height:738px;background:url('assets/images/faq-couple-wide.jpg') center bottom / cover no-repeat;pointer-events:none;}
body .faq-list{position:relative;z-index:1;width:43%;max-width:710px;margin:0 4.5% 0 auto;min-height:738px;display:flex;flex-direction:column;justify-content:center;padding:32px clamp(16px,2vw,34px);background:transparent;}
@media(max-width:700px){
 body .faq-hero{height:clamp(240px,55vw,360px);background-position:38% center;}
 body .faq-hero .hero-inner{padding:0 4% 0 45%;}
 body .faq-hero h1{font-size:clamp(22px,5vw,36px);margin-bottom:6px;}
 body .faq-hero p{font-size:clamp(10px,2.3vw,14px);}
 body .faq-section{min-height:0;padding-top:450px;}
 body .faq-section::before{height:450px;background-size:auto 450px;background-position:34% top;}
 body .faq-list{width:100%;max-width:none;min-height:0;margin:0;padding:26px 6% 38px;background:#efddca;}
}

/* v2.4: bring FAQ content visually together with the hero, as in approved reference. */
@media (min-width:701px){
 body .faq-hero{height:clamp(390px,30vw,500px);}
 body .faq-hero .hero-inner{transform:translateY(35px);}
 body .faq-section{min-height:738px;overflow:hidden;}
 body .faq-section::before{height:calc(100% + 120px);top:-120px;bottom:auto;background-position:center bottom;background-size:cover;}
 body .faq-list{justify-content:flex-start;min-height:738px;padding-top:38px;padding-bottom:35px;}
}
@media (min-width:701px) and (max-width:1050px){
 body .faq-hero .hero-inner{transform:translateY(22px);}
 body .faq-list{padding-top:28px;}
}
