/* Shared editorial system — mirrors the private gallery without changing page content. */
:root{
  --editorial-bg:#f4efe3;--editorial-panel:#fbf7ee;--editorial-ink:#123247;
  --editorial-muted:#68808d;--editorial-blue:#75b9d8;--editorial-line:rgba(18,50,71,.16);
  --black:var(--editorial-bg);--deep:#ece4d6;--card:var(--editorial-panel);
  --white:var(--editorial-ink);--muted:var(--editorial-muted);--ice:var(--editorial-blue);
  --ice-bright:#9dd7ed;--ice-dim:#4f8dab;--ice-glow:rgba(117,185,216,.15);
  --border:var(--editorial-line);--border-bright:rgba(79,141,171,.45);
  color-scheme:light;
}
:root[data-theme="dark"]{
  --editorial-bg:#09111d;--editorial-panel:#111d2b;--editorial-ink:#eef6f8;
  --editorial-muted:#93a9b6;--editorial-blue:#9fd8ee;--editorial-line:rgba(159,216,238,.16);
  --black:var(--editorial-bg);--deep:#0d1724;--card:var(--editorial-panel);
  --white:var(--editorial-ink);--muted:var(--editorial-muted);--ice:var(--editorial-blue);
  --ice-bright:#c4edfa;--ice-dim:#5f9db9;--ice-glow:rgba(159,216,238,.12);
  --border:var(--editorial-line);--border-bright:rgba(159,216,238,.38);
  color-scheme:dark;
}
html{background:var(--editorial-bg)}
body.site-home,body.site-about,body.site-video,body.site-booking,body.site-clients{
  background:var(--editorial-bg);color:var(--editorial-ink);transition:background-color .25s,color .25s;
}
body::before{opacity:.13!important;mix-blend-mode:multiply}
:root[data-theme="dark"] body::before{mix-blend-mode:screen;opacity:.07!important}
.site-theme-toggle{display:inline-flex;align-items:center;gap:8px;flex:none;border:1px solid var(--editorial-line);border-radius:999px;background:color-mix(in srgb,var(--editorial-panel) 82%,transparent);color:var(--editorial-ink);padding:10px 13px;font:600 .58rem/1 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.site-theme-toggle:hover,.site-theme-toggle:focus-visible{border-color:var(--editorial-blue);background:var(--editorial-panel)}
.site-theme-toggle .theme-icon{color:var(--editorial-blue);font-size:.9rem}

/* Marketing pages */
body.site-home nav,body.site-about nav,body.site-video nav{background:color-mix(in srgb,var(--editorial-bg) 90%,transparent);border-bottom:1px solid var(--editorial-line);backdrop-filter:blur(18px);padding-top:20px;padding-bottom:20px}
body.site-home nav.scrolled,body.site-about nav.scrolled,body.site-video nav.scrolled{background:color-mix(in srgb,var(--editorial-bg) 94%,transparent);border-bottom-color:var(--editorial-line)}
.nav-logo-text{color:var(--editorial-ink)}.nav-logo-text span{color:var(--editorial-muted)}
.nav-links a,.portfolio-menu summary{color:var(--editorial-muted)}.nav-links a:hover,.portfolio-menu summary:hover{color:var(--editorial-blue)}
.portfolio-dropdown{background:var(--editorial-panel);border-color:var(--editorial-line);border-radius:14px;box-shadow:0 24px 70px rgba(14,40,54,.14)}
.nav-cta,.btn-ice{clip-path:none;border-radius:999px;background:var(--editorial-blue);color:#102b3b!important;padding-left:30px;padding-right:30px}
.btn-ghost{clip-path:none;border-radius:999px;color:var(--editorial-ink);border-color:var(--editorial-line);background:color-mix(in srgb,var(--editorial-panel) 58%,transparent)}
.btn-ghost:hover{background:var(--editorial-panel);border-color:var(--editorial-blue)}
.menu-toggle{border-radius:999px;color:var(--editorial-ink);background:var(--editorial-panel)}

#home{min-height:100svh;height:auto;align-items:flex-end;background:var(--editorial-bg)}
#home .hero-bg{background-image:linear-gradient(90deg,rgba(244,239,227,.96) 0%,rgba(244,239,227,.72) 48%,rgba(244,239,227,.18) 100%),url('portfolio-concert-photography.jpg');background-position:center 42%;background-size:cover;filter:saturate(.72)}
:root[data-theme="dark"] #home .hero-bg{background-image:linear-gradient(90deg,rgba(9,17,29,.96) 0%,rgba(9,17,29,.78) 48%,rgba(9,17,29,.25) 100%),url('portfolio-concert-photography.jpg');filter:saturate(.66) brightness(.75)}
#home .hero-overlay{background:linear-gradient(0deg,var(--editorial-bg) 0%,transparent 24%)}
#home .frost-particles{display:none}
.hero-content{max-width:1100px;padding-bottom:clamp(64px,10vh,110px)}
.hero-eyebrow,.label,.eyebrow{color:var(--editorial-blue)}
.hero-title,.sec-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;letter-spacing:-.035em;text-transform:none;color:var(--editorial-ink);text-shadow:none}
.hero-title{font-size:clamp(4.4rem,10vw,9.5rem);line-height:.78;max-width:980px}.hero-title .ice{color:var(--editorial-blue)}
.hero-tagline,.sec-body{color:var(--editorial-muted)}
.hero-tagline{font-size:clamp(1.15rem,2.2vw,1.55rem)}
section,#gallery-wrap,#contact-wrap,#about-wrap{border-top:1px solid var(--editorial-line)}
#services,#events,#book,#video-portfolio{background:var(--editorial-bg)}
.services-intro{max-width:760px;margin-left:auto;margin-right:auto}
.services-grid{gap:18px;border:0}.svc{display:block;background:var(--editorial-panel);border:1px solid var(--editorial-line);border-radius:18px;padding:42px;color:inherit;text-decoration:none}.svc:hover,.svc:focus-visible{border-color:var(--editorial-blue);transform:translateY(-3px);outline:none}.svc-link{display:inline-block;margin-top:22px;color:var(--editorial-blue);font:600 .62rem/1 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.svc-num{color:color-mix(in srgb,var(--editorial-blue) 22%,transparent)}.svc-name,.video-meta h3,.etitle{font-family:'Cormorant Garamond',Georgia,serif;color:var(--editorial-ink);font-weight:600;text-transform:none}
.svc-name{font-size:1.7rem}.svc-desc,.einfo{color:var(--editorial-muted)}
.video-grid{gap:18px;max-width:none}.video-frame{border-radius:18px;background:var(--editorial-panel);border:1px solid var(--editorial-line)}.video-meta{padding:18px 4px}.video-meta h3{font-size:1.55rem}
.video-control{border-radius:999px;background:color-mix(in srgb,var(--editorial-bg) 80%,transparent);color:var(--editorial-ink);border-color:var(--editorial-line)}
.event{grid-template-columns:100px 1fr auto;background:var(--editorial-panel);border:1px solid var(--editorial-line);border-radius:16px;padding:28px;margin-bottom:14px;color:inherit;text-decoration:none;cursor:pointer}.event:hover,.event:focus-visible{border-color:var(--editorial-blue);outline:none;transform:translateY(-2px)}.event:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--editorial-blue) 28%,transparent)}.event:hover .etag,.event:focus-visible .etag{border-color:var(--editorial-blue);color:var(--editorial-blue)}.eday{font-family:'Cormorant Garamond',Georgia,serif;color:var(--editorial-ink)}.etag{clip-path:none;border-radius:999px;color:var(--editorial-ink)}
.gallery-grid{gap:10px}.gi{border:0;border-radius:14px;background:var(--editorial-panel)}.gi img{filter:saturate(.82)}
#client-galleries{background:var(--editorial-panel);margin:0 clamp(22px,5vw,64px) 100px;border:1px solid var(--editorial-line);border-radius:24px;padding:clamp(45px,7vw,90px)}
.contact-grid{max-width:1100px}.ci{padding-bottom:24px;border-bottom:1px solid var(--editorial-line)}
footer{background:var(--editorial-panel);border-top-color:var(--editorial-line)}.footer-logo{font-family:'Cormorant Garamond',Georgia,serif;color:var(--editorial-ink)}

/* About and video pages */
body.site-about main{padding-top:88px!important}.about-grid{align-items:start}.about-img{border-radius:22px;border:0;filter:saturate(.8)}.about-img-deco,.about-frost{display:none}.about-stats{gap:10px}.stat{background:var(--editorial-panel);border:1px solid var(--editorial-line);border-radius:14px;padding:18px}.stat-n{font-family:'Cormorant Garamond',Georgia,serif;color:var(--editorial-blue)}.about-quote{border:0;background:var(--editorial-panel);border-radius:18px;padding:28px;color:var(--editorial-ink)}
body.site-video #video-portfolio{padding-top:180px}

/* Booking */
body.site-booking .topbar{background:color-mix(in srgb,var(--editorial-bg) 94%,transparent);border-color:var(--editorial-line);backdrop-filter:blur(18px)}
body.site-booking .brand{color:var(--editorial-ink)}body.site-booking .brand span,body.site-booking .back{color:var(--editorial-muted)}
body.site-booking main{max-width:1320px}.site-booking h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;letter-spacing:-.045em;color:var(--editorial-ink);line-height:.86}.site-booking h1 em{color:var(--editorial-blue);font-style:italic}
.site-booking .schedule-grid{gap:18px;border:0;background:transparent}.site-booking .schedule{border:1px solid var(--editorial-line);border-radius:20px;background:var(--editorial-panel);min-height:460px}.site-booking .schedule h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:2.05rem;text-transform:none}.site-booking .details{border-color:var(--editorial-line)}.site-booking .details strong{color:var(--editorial-ink)}.site-booking .action{border-radius:999px;background:var(--editorial-blue);color:#102b3b}.site-booking .note{border-radius:16px;background:var(--editorial-panel)}.site-booking .footer{background:var(--editorial-panel)}
.price-list{margin-top:72px;scroll-margin-top:24px}.price-list-heading{max-width:650px;margin-bottom:28px}.price-list-heading h2{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(3rem,7vw,5.6rem);font-weight:400;letter-spacing:-.045em;color:var(--editorial-ink)}.price-list-heading>p:last-child{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.2rem;color:var(--editorial-muted)}.price-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.price-item{padding:30px;border:1px solid var(--editorial-line);border-radius:18px;background:var(--editorial-panel);scroll-margin-top:24px}.price-item>span{color:var(--editorial-blue);font-size:.58rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.price-item h3{margin:18px 0 8px;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.7rem;line-height:1.05;color:var(--editorial-ink)}.price-item strong{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.5rem;font-weight:600;color:var(--editorial-ink)}.price-item p{min-height:3.5em;color:var(--editorial-muted);font-size:.82rem;line-height:1.7}.price-link{color:var(--editorial-blue);font-size:.62rem;font-weight:600;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}.price-link:hover,.price-link:focus-visible{text-decoration:underline}

/* Client portal */
body.site-clients{--bg:var(--editorial-bg);--panel:var(--editorial-panel);--line:var(--editorial-line);--muted:var(--editorial-muted);--ice:var(--editorial-blue)}
.site-clients header{background:color-mix(in srgb,var(--editorial-bg) 94%,transparent);backdrop-filter:blur(18px)}.site-clients .brand{color:var(--editorial-ink)}
.site-clients h1,.site-clients .login-panel h2,.site-clients .album-cover{font-family:'Playfair Display','Cormorant Garamond',Georgia,serif;color:var(--editorial-ink)}
.site-clients .login-panel,.site-clients .album-card,.site-clients .photo-card,.site-clients .upload-panel{background:var(--editorial-panel);border-color:var(--editorial-line);border-radius:18px}
.site-clients input:not([type=checkbox]),.site-clients textarea{background:var(--editorial-bg);color:var(--editorial-ink);border-color:var(--editorial-line);border-radius:10px}
.site-clients label{color:var(--editorial-ink)}.site-clients .primary{background:var(--editorial-blue);color:#102b3b;border-color:var(--editorial-blue);border-radius:999px}.site-clients button{border-radius:999px}.site-clients .intro img{border-radius:20px;filter:saturate(.8)}
.site-clients .album-card img,.site-clients .album-cover{border-radius:18px 18px 0 0}.site-clients .photo-card img{border-radius:18px 18px 0 0}.site-clients footer{background:var(--editorial-panel)}
.site-clients dialog{background:var(--editorial-panel);color:var(--editorial-ink);border-color:var(--editorial-line);border-radius:20px}

@media(max-width:1100px){.site-theme-toggle .theme-copy{display:none}.site-theme-toggle{padding:10px}}
@media(max-width:900px){
  body.site-home nav,body.site-about nav,body.site-video nav{padding:14px 20px}.nav-links.is-open{background:var(--editorial-panel);border-bottom:1px solid var(--editorial-line)}
  .nav-logo-text{font-size:1rem}.nav-cta{padding:11px 16px}.hero-content{padding-left:24px;padding-right:24px}.hero-title{font-size:clamp(3.4rem,14vw,6rem)}
  .event{grid-template-columns:68px minmax(0,1fr)}#client-galleries{margin:0 20px 70px}.site-booking .schedule{min-height:0}.price-list-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .site-theme-toggle{padding:9px}.site-theme-toggle .theme-copy{display:none}.hero-title{font-size:clamp(2.45rem,10.4vw,3.2rem);line-height:.86;max-width:100%;overflow-wrap:normal}.hero-eyebrow{max-width:290px}.hero-ctas{gap:10px}.svc{padding:30px 24px}.event{padding:20px 14px}.etag{grid-column:2}.gallery-grid{gap:7px}.gi,.gallery-grid>.gi{height:240px!important}
  .site-clients header{padding-left:16px;padding-right:16px}.site-clients .private-label{display:none}.site-clients .brand{font-size:15px}.site-booking .topbar{padding:18px}.site-booking .brand{font-size:1rem}.site-booking .back{font-size:.55rem}.price-list-grid{grid-template-columns:1fr}.price-item p{min-height:0}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
