:root{--muted:#53544b}body{font-size:17px;line-height:1.6}p{line-height:1.6}.intro,.statement p:last-child,.section-heading>p,.hair-text p,.steps p,.inquiry-copy>p:not(.eyebrow),.bridal-copy>p:not(.eyebrow),.about p:not(.eyebrow){font-size:17px;line-height:1.6}.eyebrow{font-size:11px}nav{font-size:11px;gap:22px}.nav-cta{background:var(--ink);color:var(--ivory);padding:12px 16px}.button,.text-link{font-size:11px;font-weight:600}.contact{font-size:16px}.service-subheading{font-weight:600}.bridal-copy>p:not(.eyebrow),.about p:not(.eyebrow){max-width:600px}.bridal{gap:7%;grid-template-columns:1.15fr .85fr}.hair>.button{margin-top:40px}.events{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr;gap:40px;align-items:start}.service-copy h2{margin:24px 0}.service-copy p{margin-top:20px}.events figure{max-width:650px;margin:0 auto;width:100%}.events img{width:100%;max-height:650px;object-fit:cover;object-position:center 35%}.events>.button{justify-self:center;margin-top:0}.service-copy{max-width:850px}.pricing{background:var(--cream)}.pricing h2{margin-top:20px}#price-list{max-width:none;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}#price-list>.price-group{display:block;border:0;padding:0}.price-group h3,.price-information h3{font:600 12px/1.6 Manrope,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;margin-bottom:20px}.price-item{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #c3c1b6;padding:18px 0;font-size:16px}.price-item strong{font-weight:600;white-space:nowrap}.price-information{border-top:1px solid #c3c1b6;margin-top:45px;padding-top:30px}.price-information p{margin-top:8px}.reviews{border-top:1px solid var(--line)}.reviews h2,.faq h2{margin:22px 0 40px}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.reviews-grid figure{padding:25px 0;border-top:1px solid var(--line)}blockquote{margin:0;font-size:17px;line-height:1.6}.reviews figcaption{font-size:14px;font-weight:600;color:var(--ink);margin-top:25px}.faq-list{max-width:900px}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-weight:600;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:24px;line-height:1}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{margin-top:18px;max-width:780px;color:var(--muted)}label{font-size:12px;line-height:1.5}input,textarea{font-size:17px}.service-options{border:0;padding:0;margin:0;min-width:0}.service-options legend{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:15px}.service-options legend span{display:block;font-weight:400;text-transform:none;letter-spacing:0;margin-top:4px}.check-option{flex-direction:row;align-items:start;font-size:16px;text-transform:none;letter-spacing:0;gap:12px;margin:15px 0;cursor:pointer}.check-option input{appearance:auto;width:20px;height:20px;flex:0 0 20px;margin:3px 0 0;accent-color:var(--ink)}.party-counts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0;padding:20px;border:1px solid #aaa99e}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.form-note{font-size:14px}.field-error{color:#842f25;font-size:15px}.form-success{font-size:16px}#form-result{padding:18px;border:1px solid #aaa99e;line-height:1.6}.button:disabled{opacity:.6;cursor:wait}footer>a{font-size:12px;overflow-wrap:anywhere}
@media(max-width:1100px){nav{gap:14px;font-size:10px}#price-list{grid-template-columns:1fr}.reviews-grid{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.menu{display:block;background:none;border:0;border-bottom:1px solid;padding:5px 0;font-size:12px}nav{display:none;position:absolute;top:90px;left:0;width:100%;padding:25px 6%;background:var(--ivory);border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:18px;font-size:13px}}
@media(max-width:700px){body{font-size:16px}.intro,.statement p:last-child,.section-heading>p,.hair-text p,.steps p,.inquiry-copy>p:not(.eyebrow),.bridal-copy>p:not(.eyebrow),.about p:not(.eyebrow){font-size:16px;line-height:1.6}nav{top:75px}.eyebrow{font-size:10px}.bridal{grid-template-columns:1fr;gap:32px}.reviews-grid{grid-template-columns:1fr;gap:12px}blockquote{font-size:16px}.price-item{font-size:16px}.party-counts{grid-template-columns:1fr}.check-option{font-size:16px}input,textarea{font-size:16px}.button,.text-link,.hair-text .text-link{font-size:11px}.hero-note{font-size:8px;flex-wrap:wrap}.hero-image figcaption{font-size:8px}.hair-grid figcaption,.about figcaption{font-size:10px}.form-grid{grid-template-columns:1fr}.contact{font-size:15px}.inquiry{gap:35px}}

/* Expanded portfolio: complete portrait photographs, consistent spacing. */
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px;align-items:start}.gallery figure,.gallery .offset,.gallery .beauty,.gallery .feature-bride,.gallery .detail-curls,.gallery figure:nth-child(n+4){grid-column:auto;margin:0;width:auto}.gallery img,.gallery .offset img,.gallery .beauty img,.gallery .feature-bride img,.gallery .detail-curls img{width:100%;height:auto;object-fit:contain}.gallery figcaption{font-size:13px;line-height:1.5}.gallery figcaption span{font-size:10px}@media(max-width:700px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}.gallery figcaption{font-size:12px}}

.bridal-gallery{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:35px}.bridal-gallery img{width:100%;height:auto}.bridal-book{grid-column:1/-1;justify-self:center;margin-top:35px}@media(max-width:700px){.bridal-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:10px}}

.event-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}.events .event-gallery figure{max-width:none;margin:0}.events .event-gallery img{width:100%;height:auto;max-height:none;object-fit:contain}@media(max-width:700px){.event-gallery{gap:16px}}

/* One quiet preview row per section, with equal image frames. */
.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start;scroll-margin-top:110px}
.photo-gallery:not(.expanded)>figure:nth-child(n+4){display:none}
.photo-gallery figure,.events .photo-gallery figure{width:100%;max-width:none;margin:0;min-width:0}
.photo-gallery img,.gallery .offset img,.gallery .beauty img,.gallery .feature-bride img,.gallery .detail-curls img,.events .photo-gallery img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center;max-height:none}
.photo-gallery img[data-photo="1531"],.photo-gallery img[data-photo="2524"],.photo-gallery img[data-photo="4128"]{object-position:center 65%}
.photo-gallery img[data-photo="8645"]{object-position:center 28%}
.gallery-toggle{justify-self:center;grid-column:1/-1;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ink);cursor:pointer;padding:12px 4px;margin-top:28px;font:600 12px/1.5 Manrope,Arial,sans-serif;letter-spacing:1px}
.portfolio>.gallery-toggle{display:block;margin:30px auto 0}.photo-gallery figcaption{min-height:3em}
@media(max-width:700px){.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;scroll-margin-top:90px}.photo-gallery:not(.expanded)>figure:nth-child(n+3){display:none}}

/* Fine warm frames and balanced photo compositions. */
main img{border:1px solid #bcb19b;padding:7px;background:var(--ivory);box-shadow:0 5px 20px rgba(52,53,46,.07)}
.hair-grid{grid-template-columns:1fr .8fr 1fr;align-items:center}
.hair-grid figure,.hair-grid .hair-second{margin:0;padding:0;min-width:0;align-self:start}
.hair-grid img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.hair-grid figcaption{text-align:center;min-height:2em}
.hair>.button{display:flex;width:max-content;max-width:100%;margin:40px auto 0}
.photo-gallery{grid-template-columns:repeat(6,minmax(0,1fr))}
.photo-gallery.photo-gallery>figure{grid-column:span 2}
.photo-gallery.expanded>figure:last-child:nth-child(3n+1){grid-column:3/span 2}
.photo-gallery.expanded>figure:nth-last-child(2):nth-child(3n+1){grid-column:2/span 2}
.photo-gallery.expanded>figure:last-child:nth-child(3n+2){grid-column:4/span 2}
@media(max-width:700px){main img{padding:5px}.hair-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.hair-grid .hair-text{grid-column:1/-1;grid-row:2}.hair>.button{margin-top:28px}.photo-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-gallery.expanded>figure:nth-last-child(2):nth-child(3n+1),.photo-gallery.expanded>figure:last-child:nth-child(3n+2){grid-column:span 2}.photo-gallery.expanded>figure:last-child:nth-child(odd){grid-column:2/span 2}.photo-gallery.expanded>figure:last-child:nth-child(even){grid-column:span 2}}

/* Client revision: quiet opening, paired portfolio, compact reading rhythm. */
main>section:nth-of-type(odd){background:var(--ivory)}
main>section:nth-of-type(even){background:var(--cream)}
.section{padding-top:72px;padding-bottom:72px}
.hero{min-height:0;padding:140px 7% 55px;gap:7%;align-items:center}
.hero-copy{padding:0;align-self:center}
.hero h1.intro{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(30px,3vw,46px);line-height:1.25;letter-spacing:-.5px;margin:25px 0;color:var(--ink)}
.hero-note{padding-top:30px;margin-top:0}
.hero-image{height:auto;width:100%;max-width:470px;justify-self:center;margin:0}
.hero-image img{height:auto;aspect-ratio:4/5;object-fit:contain}
.hero-image figcaption{position:static;color:var(--muted);text-align:center;font-size:9px;margin-top:12px}
.about{display:block;text-align:center}
.about>div{max-width:750px;margin:auto}
.about p:not(.eyebrow){max-width:650px;margin:15px auto 0}
.about h2{margin:20px 0}
#portfolio-photos{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1050px;margin:auto}
#portfolio-photos.photo-gallery>figure,#portfolio-photos.expanded>figure{grid-column:auto}
#portfolio-photos:not(.expanded)>figure:nth-child(n+3){display:none}
#portfolio-photos figcaption{min-height:0}
#portfolio-photos img[data-photo="0999"]{object-position:center 45%}
.section-heading{margin-bottom:35px}
#price-list{gap:28px;margin-top:28px}
.price-group h3,.price-information h3{font:400 30px/1.15 'Cormorant Garamond',Georgia,serif;letter-spacing:0;margin-bottom:8px}
.price-item{font:400 16px/1.5 Manrope,Arial,sans-serif;padding:10px 0}
.price-item strong{font-weight:500}
.price-information{margin-top:25px;padding-top:20px}
.experience h2 em{display:block;white-space:nowrap;font-size:clamp(28px,4.2vw,64px)}
.reviews h2,.faq h2{margin-bottom:25px}
.reviews-grid{gap:16px 30px}
.reviews-grid figure{padding:18px 0}
.reviews figcaption{margin-top:10px}
.inquiry h2 em{font-style:normal}
.form-grid label,.service-options legend{font-family:Manrope,Arial,sans-serif;font-size:14px;font-weight:400}
.check-option,.check-option span{font-family:Manrope,Arial,sans-serif;font-size:16px;font-weight:400;letter-spacing:0;text-transform:none}
footer>a:not(.brand){font:400 16px/1.6 Manrope,Arial,sans-serif;letter-spacing:0}
@media(max-width:1100px){header nav{gap:12px;font-size:10px}.brand{font-size:23px}}
@media(max-width:950px){.menu{display:block}header nav{display:none;position:absolute;top:90px;left:0;width:100%;padding:25px 6%;background:var(--ivory)}header nav.open{display:flex;flex-direction:column;align-items:stretch;font-size:13px}}
@media(max-width:700px){.section{padding-top:50px;padding-bottom:50px}.hero{padding:105px 7% 38px;gap:28px}.hero h1.intro{font-size:32px;margin:18px 0}.hero-copy{padding:0}.hero-image{max-width:340px;margin:0 auto}.hero-note{padding-top:15px}.hero-image figcaption{font-size:8px}.about{text-align:left}.about p:not(.eyebrow){margin-top:15px}.experience h2{font-size:36px}.experience h2 em{font-size:clamp(24px,7.1vw,32px);letter-spacing:-.5px}.reviews-grid{gap:4px}.reviews-grid figure{padding:16px 0}.film{margin:0 8%}.film video{height:auto;aspect-ratio:3/4}header nav{top:75px}.price-group h3{font-size:28px}#price-list{gap:22px}.gallery figcaption{font-size:11px}.form-grid label{font-size:14px}.check-option{font-size:16px}footer{gap:18px}}

/* Final client refinements: consistent type and no extra price-row spacing. */
.events .service-copy>p:not(.eyebrow){font-family:Manrope,Arial,sans-serif;font-size:17px;font-weight:400;line-height:1.5}
.events h2{font-style:normal}
.price-item{padding:0;line-height:1.35;border-bottom:0;min-height:0}
.price-group h3{margin-bottom:4px}
.price-information{margin-top:18px;padding-top:14px}
.price-information p{margin-top:0;line-height:1.35}
.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.inquiry{display:block}
.inquiry h2{white-space:nowrap;font-size:clamp(22px,5.1vw,68px);line-height:1.1;letter-spacing:-.6px}
.inquiry-copy>p:not(.eyebrow){max-width:650px}
.inquiry form{max-width:900px;margin-top:35px}
@media(max-width:700px){.events .service-copy>p:not(.eyebrow){font-size:16px}.reviews-grid{grid-template-columns:1fr}.inquiry h2{font-size:6.1vw;letter-spacing:-.35px}.inquiry form{margin-top:28px}}
/* Video audit: keep section titles on one line on phones, without overflow. */
.portfolio h2,.reviews h2{white-space:nowrap;font-size:clamp(27px,4.4vw,64px)}
.reviews figcaption{margin-top:0}
.reviews h2{margin-bottom:18px}
@media(max-width:700px){
.portfolio h2,.reviews h2{font-size:7.1vw;letter-spacing:-.4px}
.bridal h2,.events h2{white-space:nowrap;font-size:7.5vw;letter-spacing:-.4px}
.reviews-grid figure{padding:12px 0}
}

/* October 13 client revision: typography follows The Experience. */
.hero h1.intro{font-size:clamp(36px,3.8vw,56px);line-height:1.04;margin:25px 0 8px;letter-spacing:-1px}
.hero .hero-subheading{font:italic 400 clamp(27px,2.8vw,40px)/1.15 'Cormorant Garamond',Georgia,serif;letter-spacing:-.5px;color:var(--ink);margin:0}
.events .service-copy>p.service-subheading{font:italic 400 clamp(25px,2.4vw,34px)/1.15 'Cormorant Garamond',Georgia,serif;letter-spacing:-.4px;margin:0;color:var(--ink)}
.events .service-copy>p.service-subheading+p{margin-top:0}
#price-list{border-top:1px solid var(--line);padding-top:32px;gap:70px}
#price-list>.price-group{padding:0}
.price-group h3,.price-information h3{font:400 24px/1.15 'Cormorant Garamond',Georgia,serif;letter-spacing:0;text-transform:uppercase;margin:0 0 12px}
.price-item{font-size:17px;line-height:1.6;gap:16px}
.price-item strong{font-weight:400}
.price-information{margin-top:28px;padding-top:24px}
@media(max-width:1100px){#price-list{gap:28px}}
@media(max-width:700px){
.hero h1.intro{font-size:36px;line-height:1.04;margin:18px 0 8px;letter-spacing:-.7px}
.hero .hero-subheading{font-size:28px;line-height:1.15}
.events .service-copy>p.service-subheading{font-size:26px;line-height:1.15;margin:0}
.events .service-copy>p.service-subheading+p{margin-top:0}
.price-group h3,.price-information h3{font-size:22px;margin-bottom:8px}
.price-item{font-size:16px;line-height:1.6}
#price-list{padding-top:28px;gap:28px}
}

/* October 14: closer title/subtitle spacing at the marked sections. */
.bridal h2{margin-bottom:8px}
.bridal-copy>p.service-subheading{margin-top:0}
.inquiry h2{margin-bottom:8px}
.section-heading>p{margin-top:8px}
@media(min-width:701px){.portfolio .section-heading{align-items:center}}

/* October 15: small reading gap after the Events subtitle. */
.events .service-copy>p.service-subheading+p{margin-top:12px}

/* Final handover accessibility: keyboard access and reduced motion. */
summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #82745d;outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
