:root{color-scheme:dark;--photo-petrol:#06151c;--photo-ivory:#f4eee2;--photo-gold:#d7b86c;--photo-copy:#b6c2c5}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 18% 12%,rgba(25,224,189,.2),transparent 27rem),radial-gradient(circle at 74% 16%,rgba(53,167,255,.2),transparent 30rem),linear-gradient(135deg,#04121b 0%,#092735 46%,#06151c 100%);color:var(--photo-ivory);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.network,.world,.grain{pointer-events:none}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--photo-gold);outline-offset:6px}
.photo-section{padding:clamp(90px,12vw,170px) 26px;scroll-margin-top:80px}
.photo-container{width:min(1060px,100%);margin-inline:auto}
.photo-kicker{margin:0 0 27px;color:var(--photo-gold);font-size:10px;font-weight:600;letter-spacing:2.6px;text-transform:uppercase;line-height:1.8}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px;line-height:1.07;margin:0 0 30px;text-wrap:balance}
h1{font-size:clamp(47px,7.5vw,106px)}
h2{font-size:clamp(38px,5.7vw,74px)}
h1 em,h2 em{font-weight:400;color:var(--photo-gold)}
p{line-height:1.85}
.photography-hero{position:relative;text-align:center;padding-top:clamp(100px,13vw,180px);padding-bottom:clamp(100px,13vw,175px);background:transparent}
.photo-lead{max-width:620px;margin:0 auto 35px;color:var(--photo-copy);font-size:clamp(15px,1.6vw,18px)}
.photo-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;max-width:100%;padding:17px 24px;border:1px solid rgba(215,184,108,.65);border-radius:2px;color:var(--photo-ivory);font-size:12px;font-weight:500;line-height:1.5;transition:background 200ms,border-color 200ms}
.photo-button:hover{background:rgba(215,184,108,.12);border-color:var(--photo-gold)}
.photo-button span{color:var(--photo-gold);font-size:20px}
.photo-caption{font-family:Georgia,'Times New Roman',serif;font-size:14px;font-style:italic;color:#83979c;margin:26px 0 0}
.photography-story{background:var(--photo-ivory);color:#21323a}
.story-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,8vw,110px);align-items:center}
.photography-story .photo-kicker{color:#857039}
.photography-story h2 em{color:#907642}
.story-copy{color:#59676b;font-size:14px}
.story-copy .story-quote{font-family:Georgia,'Times New Roman',serif;font-size:clamp(23px,2.5vw,30px);line-height:1.5;color:#21323a;margin:0 0 24px}
.story-copy p:last-child{margin-bottom:0}
.story-copy .story-promise{margin:30px 0 10px;font-size:14px;font-weight:600;color:#21323a}
.photography-care{background:transparent}
.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin-top:60px}
.care-grid article{border-top:1px solid rgba(215,184,108,.33);padding-top:22px}
.care-number{font-family:Georgia,'Times New Roman',serif;font-size:31px;color:var(--photo-gold);opacity:.6}
.care-grid h3{font-size:17px;font-weight:500;margin:25px 0 15px}
.care-grid p{font-size:13px;color:var(--photo-copy);margin:0}
.photography-how{background:transparent}
.booking-intro{max-width:580px;font-size:14px;color:var(--photo-copy);margin:0}
.booking-steps{list-style:none;padding:0;margin:48px 0 38px;display:grid;grid-template-columns:repeat(3,1fr);gap:38px}
.booking-steps li{border-top:1px solid rgba(215,184,108,.33);padding-top:22px}
.booking-number{display:block;font-family:Georgia,'Times New Roman',serif;font-size:31px;color:var(--photo-gold);opacity:.6}
.booking-steps h3{font-size:16px;font-weight:500;margin:25px 0 15px;line-height:1.5}
.booking-steps p{font-size:13px;color:var(--photo-copy);margin:0}
.photography-contact{text-align:center;border-top:1px solid rgba(215,184,108,.12);background:transparent}
.photography-contact p:not(.photo-kicker){max-width:480px;margin:0 auto 34px;color:var(--photo-copy);font-size:14px}
.photo-phone{display:block;width:fit-content;margin:28px auto 0;color:var(--photo-gold);font-size:14px;letter-spacing:2px}
.photography-footer{display:flex;justify-content:space-between;gap:22px;padding:30px clamp(24px,5vw,88px);border-top:1px solid rgba(215,184,108,.12);color:#81959a;font-size:10px;line-height:1.7}
.photo-section:not(.photography-story)>.photo-container{padding:clamp(28px,5vw,64px);border:1px solid var(--line,rgba(114,255,231,.2));background:var(--panel,rgba(4,18,26,.68));backdrop-filter:blur(18px)}
.care-grid article,.booking-steps li{border:1px solid var(--line,rgba(114,255,231,.2));background:var(--panel,rgba(4,18,26,.68));padding:22px;backdrop-filter:blur(18px)}
@media(max-width:700px){.story-grid{grid-template-columns:1fr}.care-grid{grid-template-columns:1fr;gap:34px;margin-top:42px}.care-grid h3{margin-top:14px}.care-grid p{max-width:420px}.booking-steps{grid-template-columns:1fr;gap:30px}.booking-steps li{display:grid;grid-template-columns:35px 1fr;gap:18px}.booking-steps h3{margin:0 0 10px}.booking-number{font-size:27px}.photography-footer{flex-direction:column;padding-bottom:80px}h1,h2{letter-spacing:-1.3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-button,.reveal{transition:none!important}}
