*{box-sizing:border-box}
:root{
  --ink:#171413;--muted:#716663;--cream:#f7f1ec;--paper:#fffaf7;
  --rose:#ead6d5;--rose-soft:#f3e4e3;--gold:#c89b45;--gold2:#f1d38b;
  --line:rgba(23,20,19,.12);--shadow:0 24px 70px rgba(34,25,22,.10)
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.65}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;background:rgba(255,250,247,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;font-family:"Cormorant Garamond",serif;font-size:25px;background:linear-gradient(135deg,#fff7e4,#b9822d 48%,#ffe7a3 62%,#b67d27);color:#fff;text-shadow:0 1px 2px #6e4916}
.brand strong{display:block;font-family:"Cormorant Garamond",serif;font-size:24px;line-height:1}
.brand small{font-size:9px;letter-spacing:1.5px;color:var(--muted)}
.brand small b{color:#a97829}
nav{display:flex;gap:28px;align-items:center;font-size:13px}
nav a{transition:.2s}
nav a:hover{color:#9b6c24}
.nav-book{padding:11px 18px;border:1px solid var(--gold);border-radius:999px;background:linear-gradient(135deg,#fff1c9,#c4933d 45%,#f4d98e 62%,#a97220);color:white;text-shadow:0 1px 2px rgba(80,50,10,.4)}
.menu-toggle{display:none;border:0;background:none;font-size:24px}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:730px}
.hero-copy{padding:9vw 7vw 7vw 10vw;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#fffaf7,#f1e5df)}
.eyebrow{font-size:11px;letter-spacing:2.4px;color:#98712f;font-weight:600;margin:0 0 14px}
h1,h2,h3{font-family:"Cormorant Garamond",serif;line-height:1.03;margin:0}
h1{font-size:clamp(58px,7vw,98px);font-weight:600;letter-spacing:-2px}
h1 em{font-weight:500;color:#a66f2d}
.lead{font-size:18px;max-width:620px;color:#5f5551;margin:28px 0}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.btn{display:inline-flex;justify-content:center;align-items:center;border-radius:999px;padding:14px 23px;font-size:12px;font-weight:600;letter-spacing:.3px;border:1px solid transparent}
.btn.gold{background:linear-gradient(120deg,#a86f1f,#f4d88f 42%,#bd8a32 58%,#f8e3aa);color:#fff;text-shadow:0 1px 2px rgba(50,30,5,.35);box-shadow:0 10px 28px rgba(168,111,31,.2)}
.btn.dark{background:#181513;color:#fff}
.btn.gold-outline{border-color:var(--gold);background:#fffaf7}
.btn.full{width:100%;cursor:pointer}
.text-link{font-size:13px;border-bottom:1px solid var(--gold);padding-bottom:4px}
.mini-note{margin-top:34px;color:#786e69;font-size:12px}
.mini-note span{color:#b57f28;margin-right:7px}
.hero-image{position:relative;min-height:730px;background:#15110f;overflow:hidden}
.hero-aesthetic img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-aesthetic:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.45))}
.hero-caption{position:absolute;z-index:2;bottom:36px;left:38px;color:#fff}
.hero-caption span{display:block;font-family:"Cormorant Garamond",serif;font-size:34px;letter-spacing:1px}
.hero-caption small{font-size:11px;letter-spacing:2px}
.intro-band{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:80px 10vw;background:#1b1715;color:#fff}
.intro-band>div{display:flex;gap:24px;align-items:flex-start}
.number{font-size:11px;color:#d9b66e;letter-spacing:2px}
.intro-band h2{font-size:47px}
.intro-band p{margin:0;color:#cfc5bf;max-width:620px}
.section{padding:105px 9vw}
.section-head{margin-bottom:48px}
.section-head h2{font-size:58px}
.section-head>p:last-child{color:var(--muted);margin-top:12px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.service-grid article{background:var(--paper);padding:36px 30px;min-height:220px}
.service-grid article>span{font-size:10px;color:#aa7c35;letter-spacing:2px}
.service-grid h3{font-size:31px;margin:24px 0 8px}
.service-grid p{margin:0;color:var(--muted);font-size:14px}
.photo-bonus{margin-top:34px;padding:35px 40px;display:flex;justify-content:space-between;align-items:center;gap:30px;background:linear-gradient(120deg,#f1dedb,#fffaf7 52%,#ead5c6);border:1px solid rgba(177,127,52,.28);box-shadow:var(--shadow)}
.photo-bonus h3{font-size:35px;max-width:700px}
.photo-bonus p{max-width:760px;color:#665b56;margin:10px 0 0}
.experience{display:grid;grid-template-columns:1fr 1fr;background:#f0e2dc}
.experience-image{min-height:570px}
.experience-image img{width:100%;height:100%;object-fit:cover}
.experience-copy{padding:9vw 8vw;display:flex;flex-direction:column;justify-content:center}
.experience-copy h2{font-size:58px}
.experience-copy>p:not(.eyebrow){color:var(--muted);max-width:600px}
.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.pill-row span{padding:8px 14px;border:1px solid rgba(155,109,40,.28);border-radius:999px;background:#fff8f2;font-size:11px}
.split{display:flex;justify-content:space-between;align-items:end;gap:30px}
.instagram{font-size:12px;border-bottom:1px solid var(--gold);padding-bottom:4px}
.mosaic{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;align-items:start}
.mosaic figure{margin:0;background:#fff;padding:12px;box-shadow:0 12px 35px rgba(31,22,18,.08)}
.mosaic img{width:100%;height:auto;object-fit:contain}
.instagram-card{margin-top:35px;padding:28px 32px;border:1px solid var(--line);background:#fffaf7;display:flex;align-items:center;justify-content:space-between;gap:25px}
.ig-copy{display:flex;gap:18px;align-items:center}
.ig-icon{font-size:38px;color:#a8782f}
.instagram-card h3{font-size:30px}
.instagram-card p{margin:5px 0 0;color:var(--muted);font-size:13px}
.reels{margin-top:80px}
.reels-head h3{font-size:42px}
.reel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px;align-items:start}
.reel-card{background:#fff;border:1px solid var(--line);height:520px;display:flex;justify-content:center;align-items:flex-start;overflow:hidden;border-radius:14px}
.reel-card blockquote{margin:0!important;min-width:0!important;max-width:100%!important;width:100%!important;transform:scale(.72);transform-origin:top center}
.embed-note{font-size:11px;color:#8a7e78;margin-top:15px}
.photoshoot{display:grid;grid-template-columns:1fr 1fr;background:#d9c4bb}
.photoshoot-copy{padding:9vw}
.photoshoot-copy h2{font-size:61px}
.photoshoot-copy p{max-width:600px;color:#594e49}
.photoshoot-copy .small{font-size:12px}
.photo-stack{padding:70px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}
.photo-stack img{width:100%;height:auto;object-fit:contain;background:#f8f3ef}
.photo-stack img:last-child{margin-top:80px}
.booking{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;background:#fffaf7}
.booking-copy h2{font-size:60px}
.booking-copy>p:not(.eyebrow){color:var(--muted)}
.contact-card{margin-top:30px;padding:24px;border-left:2px solid var(--gold);display:grid;gap:5px;background:#f8efea}
.contact-card strong{font-family:"Cormorant Garamond",serif;font-size:27px}
.contact-card a{font-size:13px}
.contact-card span{font-size:11px;color:var(--muted)}
.booking-form{padding:35px;background:#f4e7e1;border:1px solid rgba(166,112,39,.18);box-shadow:var(--shadow)}
.booking-form label{display:block;font-size:11px;font-weight:600;letter-spacing:.4px;margin-bottom:17px}
input,select,textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid rgba(35,28,25,.18);background:#fffdfb;color:var(--ink);font:inherit;font-size:13px;border-radius:4px}
input:focus,select:focus,textarea:focus{outline:1px solid var(--gold);border-color:var(--gold)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field-help{display:block;font-size:10px;color:#7f726b;margin-top:5px;font-weight:400;letter-spacing:0}
input[type=date],input[type=time]{min-height:48px}
input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:sepia(.5)}
.form-note{font-size:10px!important;color:#786c66;margin:12px 0 0}
footer{padding:40px 9vw;background:#171311;color:#fff;display:grid;grid-template-columns:1fr auto;gap:20px}
footer strong{display:block;font-family:"Cormorant Garamond",serif;font-size:27px}
footer span{display:block;color:#bdb1aa;font-size:11px}
.footer-links{display:flex;gap:22px;font-size:12px;align-items:center}
footer small{grid-column:1/-1;color:#756a64;font-size:10px}
@media(max-width:900px){
  nav{gap:15px}
  .hero{grid-template-columns:1fr}
  .hero-copy{padding:80px 8vw}
  .hero-image{min-height:600px}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .experience,.photoshoot,.booking{grid-template-columns:1fr}
  .experience-image{min-height:450px}
  .reel-grid{grid-template-columns:1fr}
  .booking{gap:35px}
}
@media(max-width:650px){
  .site-header{padding:14px 5vw}
  .brand strong{font-size:20px}
  .brand small{font-size:7px}
  nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fffaf7;padding:20px 6vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
  nav.open{display:flex}
  .menu-toggle{display:block}
  .hero-copy{padding:65px 7vw}
  h1{font-size:58px}
  .hero-image{min-height:500px}
  .intro-band{grid-template-columns:1fr;padding:60px 7vw}
  .section{padding:75px 6vw}
  .section-head h2,.experience-copy h2,.booking-copy h2{font-size:48px}
  .service-grid{grid-template-columns:1fr}
  .photo-bonus,.instagram-card{align-items:flex-start;flex-direction:column}
  .photo-bonus h3{font-size:31px}
  .mosaic{grid-template-columns:1fr}
  .split{align-items:flex-start;flex-direction:column}
  .photo-stack{padding:45px 6vw}
  .two{grid-template-columns:1fr}
  footer{grid-template-columns:1fr}
  .footer-links{justify-content:flex-start}
}

/* v4 additions */
.photo-bonus{position:relative;overflow:hidden}
.camera-badge{width:92px;min-width:92px;height:78px;border-radius:18px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#fff9f0,#e7c9ce);border:1px solid rgba(173,124,48,.35);box-shadow:0 10px 25px rgba(40,25,20,.10)}
.camera-body{width:58px;height:40px;border-radius:9px;background:linear-gradient(145deg,#1f1b19,#6d5a52);position:relative;border:2px solid rgba(255,255,255,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.camera-body:before{content:"";position:absolute;top:-7px;left:10px;width:20px;height:8px;border-radius:4px 4px 0 0;background:#40342f}
.camera-lens{position:absolute;left:19px;top:9px;width:21px;height:21px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff1c8 0 7%,#c89443 10%,#5d4530 38%,#181513 70%);border:2px solid #d7b36b}
.camera-flash{position:absolute;right:6px;top:6px;width:7px;height:5px;border-radius:2px;background:#f1d68d}
.camera-word{position:absolute;bottom:4px;right:7px;font-size:7px;letter-spacing:1.5px;color:#8c6528;font-weight:700}
.photographer-link{display:inline-block;margin-top:18px;font-size:12px;color:#8e652a;border-bottom:1px solid rgba(142,101,42,.45);padding-bottom:3px}
.quick-contact{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.quick-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid rgba(155,109,40,.3);border-radius:999px;background:#fffaf7;font-size:11px;font-weight:600}
.quick-btn:hover{border-color:var(--gold);transform:translateY(-1px)}
.contact-note{font-size:10px!important;color:#8b7d75!important;margin-top:3px}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.form-status{min-height:20px;font-size:12px;margin:12px 0 0;font-weight:600}
.form-status.sending{color:#8b6a34}
.form-status.success{color:#4e6d4d}
.form-status.fallback{color:#8b6a34}
button:disabled{opacity:.65;cursor:wait}
@media(max-width:650px){.camera-badge{width:82px;min-width:82px}.photo-bonus{gap:18px}}

/* Version 5 — compact reels + client reviews */
.reviews-section{background:#f8efea}
.review-stars{font-size:24px;letter-spacing:5px;color:#b88436;white-space:nowrap}
.reviews-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:start;margin-top:35px}
.review-welcome{padding:42px 38px;background:#1b1715;color:#fff;min-height:420px;position:relative;overflow:hidden}
.quote-mark{font-family:"Cormorant Garamond",serif;font-size:110px;line-height:.7;color:#d7b27a;opacity:.65}
.review-welcome h3{font-size:40px;margin:24px 0 12px}
.review-welcome>p{color:#d6cbc6;line-height:1.8}
.review-promise{display:flex;gap:14px;margin-top:35px;padding-top:25px;border-top:1px solid rgba(255,255,255,.18)}
.review-promise span{color:#d7b27a}.review-promise p{margin:0;color:#eee3dd}
.review-form{padding:35px;background:#fff;border:1px solid rgba(166,112,39,.18);box-shadow:var(--shadow)}
.review-form label{display:block;font-size:11px;font-weight:600;letter-spacing:.4px;margin-bottom:17px}
.review-form input,.review-form select,.review-form textarea{width:100%;box-sizing:border-box;margin-top:8px}
@media(max-width:1100px){.reel-grid{grid-template-columns:repeat(2,1fr)}.reel-card{height:560px}.reel-card blockquote{transform:scale(.82)}}
@media(max-width:760px){.reviews-layout{grid-template-columns:1fr}.review-welcome{min-height:auto}.review-stars{margin-top:15px}.reel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reel-card{height:430px}.reel-card blockquote{transform:scale(.62)}}

/* Version 6 — animated scrolling + public testimonial wall */
html{scroll-behavior:smooth}
body{overflow-x:hidden}
.hero-copy,.hero-image,.experience-image,.experience-copy,.photoshoot-copy,.photo-stack,.booking-copy,.booking-form{will-change:transform,opacity}

.reveal-section{opacity:0;transform:translateY(34px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.75,.2,1)}
.reveal-section.is-visible{opacity:1;transform:none}
.reveal-card{opacity:0;transform:translateY(24px) scale(.985);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.2,1)}
.reveal-card.is-visible{opacity:1;transform:none}
.service-grid .reveal-card:nth-child(2),.mosaic .reveal-card:nth-child(2),.reel-grid .reveal-card:nth-child(2){transition-delay:.08s}
.service-grid .reveal-card:nth-child(3),.mosaic .reveal-card:nth-child(3),.reel-grid .reveal-card:nth-child(3){transition-delay:.16s}
.service-grid .reveal-card:nth-child(4),.mosaic .reveal-card:nth-child(4),.reel-grid .reveal-card:nth-child(4){transition-delay:.24s}
.service-grid .reveal-card:nth-child(5){transition-delay:.32s}.service-grid .reveal-card:nth-child(6){transition-delay:.40s}

.hero-caption{animation:softFloat 5.8s ease-in-out infinite}
.camera-badge{animation:softFloat 5s ease-in-out infinite}
@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

.reviews-section{background:linear-gradient(180deg,#f8efea,#fffaf7)}
.review-marquee-shell{position:relative;padding:28px 0 34px;border-top:1px solid rgba(166,112,39,.18);border-bottom:1px solid rgba(166,112,39,.18);overflow:hidden}
.review-marquee-shell:before,.review-marquee-shell:after{content:"";position:absolute;top:50px;bottom:95px;width:70px;z-index:3;pointer-events:none}
.review-marquee-shell:before{left:0;background:linear-gradient(90deg,#fffaf7,rgba(255,250,247,0))}
.review-marquee-shell:after{right:0;background:linear-gradient(270deg,#fffaf7,rgba(255,250,247,0))}
.review-marquee-topline{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-bottom:22px;font-size:10px;letter-spacing:2px;color:#8a6a42}
.marquee-dot{color:#b88436}
.testimonial-embed-wrap{width:100%;min-height:220px;padding:6px 0}
.review-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:22px}
.review-note{text-align:center;font-size:10px;color:#85766e;margin:13px 18px 0}

/* Reels stay compact: four together on desktop */
.reel-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.reel-card{height:455px;border-radius:16px;box-shadow:0 12px 34px rgba(31,22,18,.06)}
.reel-card blockquote{transform:scale(.64);transform-origin:top center}

@media(max-width:1100px){
  .reel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reel-card{height:500px}.reel-card blockquote{transform:scale(.74)}
}
@media(max-width:760px){
  .review-marquee-shell:before,.review-marquee-shell:after{width:28px}
  .reel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .reel-card{height:395px}.reel-card blockquote{transform:scale(.57)}
  .review-actions .btn{width:100%;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal-section,.reveal-card{opacity:1!important;transform:none!important}
}

/* Version 7 — private review submission + approved review chain */
.reviews-loading,.reviews-empty{max-width:760px;margin:26px auto;text-align:center;padding:28px 20px;font-size:13px;color:#786962;background:rgba(255,255,255,.72);border:1px solid rgba(166,112,39,.16);border-radius:16px}
.reviews-marquee{width:100%;overflow:hidden;padding:8px 0 14px;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.reviews-track{display:flex;width:max-content;gap:16px;align-items:stretch;animation:reviewChain 42s linear infinite;padding:8px 0}
.reviews-marquee:hover .reviews-track{animation-play-state:paused}
.review-card{width:330px;min-width:330px;min-height:195px;display:flex;flex-direction:column;justify-content:space-between;padding:26px 25px;background:rgba(255,255,255,.94);border:1px solid rgba(166,112,39,.18);border-radius:18px;box-shadow:0 14px 34px rgba(49,33,25,.07)}
.review-card:before{content:"“";font-family:"Cormorant Garamond",serif;font-size:58px;line-height:.55;color:#c89a52;opacity:.75;margin-bottom:10px}
.review-card-text{font-family:"Cormorant Garamond",serif;font-size:21px;line-height:1.35;margin:0;color:#302824;overflow-wrap:anywhere}
.review-card-footer{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:22px;padding-top:16px;border-top:1px solid rgba(166,112,39,.12)}
.review-card-footer strong{font-size:12px;letter-spacing:.4px;color:#3c302a}
.review-card-detail{font-size:9px;letter-spacing:1.4px;color:#b88436;white-space:nowrap}
.review-submit-layout{margin-top:46px}
.review-form textarea{resize:vertical;min-height:145px}
.review-form input:focus,.review-form textarea:focus{outline:2px solid rgba(184,132,54,.26);outline-offset:1px;border-color:#b88436}
@keyframes reviewChain{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 8px))}}
@media(max-width:760px){
  .review-card{width:285px;min-width:285px;padding:22px 20px}
  .review-card-text{font-size:19px}
  .reviews-track{animation-duration:36s;gap:12px}
  .reviews-marquee{mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
}
@media(prefers-reduced-motion:reduce){.reviews-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.reviews-track{animation:none!important}}
