/* Shared public structure; each theme controls its own palette and composition. */
body[class^="theme-"]{--surface:#18231e;--button-ink:#102019;--ink:#f1f0e8;--muted:#b7c2b9;--paper:#101713;--line:#35443a;--accent:#b6cbb5;background:var(--paper);color:var(--ink)}
body[class^="theme-"] .card{background:var(--surface)}
body[class^="theme-"] .cta{color:var(--button-ink)}
body[class^="theme-"] .menu-toggle{color:var(--ink)}
body[class^="theme-"] .hero{max-width:none;padding-block:80px}
body[class^="theme-"] .hero>div{min-width:0}
body[class^="theme-"] .hero:not(.hero-with-image)>div{max-width:900px;margin-inline:auto}
body[class^="theme-"] .hero-title{overflow-wrap:anywhere}
body[class^="theme-"] .hero p{max-width:640px}
body[class^="theme-"] main>section:not(.hero){padding-block:52px}
body[class^="theme-"] .card-body a{display:inline-block;color:var(--accent);margin-top:8px}
body[class^="theme-"] .contact-list a:not(.cta){border-bottom:1px solid var(--line);padding-bottom:6px;overflow-wrap:anywhere;max-width:100%}
body[class^="theme-"] a:focus-visible,body[class^="theme-"] button:focus-visible{outline-color:var(--accent)}
body[class^="theme-"] .about{padding-inline:30px}
body[class^="theme-"] .hero-image{min-width:0}

/* Classic: olive, serif, symmetric studio presentation. */
.theme-classic{--paper:#202a22!important;--surface:#2b372d!important;--ink:#f4eedc!important;--muted:#c6c8b8!important;--line:#485343!important;--accent:#d4c49b!important;--button-ink:#242c22!important}
.theme-classic main{text-align:center}
.theme-classic .hero p,.theme-classic .about p{margin-inline:auto}
.theme-classic .hero-actions{justify-content:center}
.theme-classic .section-heading{flex-direction:column;justify-content:center}
.theme-classic .contact-list{align-items:center}
.theme-classic .card{border-radius:2px}
.theme-classic .package-card ul{list-style-position:inside;padding-left:0}
.theme-classic footer{justify-content:center;text-align:center;flex-wrap:wrap}
.theme-classic .hero-with-image{grid-template-columns:1fr}
.theme-classic .hero-image{max-height:440px;aspect-ratio:21/9;border-radius:2px}
.theme-classic .hero-with-image>div{max-width:900px;margin-inline:auto}

/* Cinematic: wide image hero with a readable gradient overlay. */
.theme-cinematic{--paper:#0b100e!important;--surface:#141d18!important;--ink:#f5f4ec!important;--muted:#bbc4bd!important;--line:#34433a!important;--accent:#d4ded0!important;--button-ink:#111b15!important}
.theme-cinematic .hero{position:relative;isolation:isolate;padding:90px 42px;min-height:540px;display:flex;align-items:center;border-radius:8px;overflow:hidden;background:radial-gradient(ellipse at 90% 10%,#345440,#111b15 70%)}
.theme-cinematic .hero>div{position:relative;z-index:2;max-width:780px!important;margin:0!important}
.theme-cinematic .hero .hero-image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;max-height:none;aspect-ratio:auto;border-radius:0;object-fit:cover}
.theme-cinematic .hero-with-image::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#08100ef0,#08100ebd 50%,#08100e66)}
.theme-cinematic .hero h1{font-size:clamp(42px,6.5vw,88px)}
.theme-cinematic .hero p,.theme-cinematic .hero .eyebrow{color:#e0e8df!important}
.theme-cinematic .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.theme-cinematic .portfolio-grid .card{border:0;background:transparent}
.theme-cinematic .portfolio-grid img{aspect-ratio:16/10}
.theme-cinematic .portfolio-grid .card-body{padding:20px 0}
.theme-cinematic .studio-metrics{background:#141f19;border-radius:6px;padding:24px 0}

/* Editorial: magazine hierarchy and alternating photo/story rows. */
.theme-editorial{--paper:#252521!important;--surface:#30302a!important;--ink:#f2eee1!important;--muted:#c6c3b5!important;--line:#535246!important;--accent:#d7cead!important;--button-ink:#26251f!important}
.theme-editorial .site-header{border-bottom:3px double var(--line)}
.theme-editorial .hero{border-bottom:3px double var(--line)}
.theme-editorial h1{font-size:clamp(44px,6.2vw,82px);letter-spacing:-3px}
.theme-editorial .hero-with-image{grid-template-columns:1.1fr 1fr;gap:60px}
.theme-editorial .hero-image{border-radius:0;aspect-ratio:3/4}
.theme-editorial .section-heading h2{font-size:clamp(32px,4vw,52px)}
.theme-editorial .portfolio-grid{grid-template-columns:1fr;gap:40px}
.theme-editorial .portfolio-grid .card{display:grid;grid-template-columns:1.2fr 1fr;border:0;border-radius:0;background:transparent;align-items:center}
.theme-editorial .portfolio-grid .card:nth-child(even) .portfolio-photo-button{grid-column:2;grid-row:1}
.theme-editorial .portfolio-grid .card:nth-child(even) .card-body{grid-column:1;grid-row:1}
.theme-editorial .portfolio-grid .card-body{padding:36px}
.theme-editorial .portfolio-grid h3{font-size:clamp(28px,3.5vw,44px)}
.theme-editorial .package-card{border-radius:0;border-top:3px solid var(--accent)}
.theme-editorial .studio-metrics{text-align:left;justify-content:space-between}
.theme-editorial .about{border-left:3px solid var(--accent);margin-block:30px}

/* Midnight: centered typography, charcoal and restrained green detail. */
.theme-midnight{--paper:#101412!important;--surface:#19211c!important;--ink:#f1f1e9!important;--muted:#b8c4bb!important;--line:#344439!important;--accent:#b6d0ba!important;--button-ink:#122218!important}
.theme-midnight main{text-align:center}
.theme-midnight h1,.theme-midnight h2,.theme-midnight h3{font-family:system-ui,sans-serif;font-weight:450;letter-spacing:-1px}
.theme-midnight h1{font-size:clamp(40px,5.7vw,72px);line-height:1.12}
.theme-midnight .hero p,.theme-midnight .about p{margin-inline:auto}
.theme-midnight .hero-actions{justify-content:center}
.theme-midnight .hero-with-image{grid-template-columns:1fr 1fr;text-align:left;gap:48px}
.theme-midnight .hero-with-image .hero-actions{justify-content:flex-start}
.theme-midnight .section-heading{justify-content:center;flex-direction:column}
.theme-midnight .card{border-radius:12px}
.theme-midnight .package-card ul{list-style-position:inside;padding-left:0}
.theme-midnight .contact-list{align-items:center}
.theme-midnight footer{text-align:center;justify-content:center;flex-wrap:wrap}
.theme-midnight .studio-metrics{border-block:1px solid var(--line);padding:24px 0}

/* Bronze: warm dark brown and thin bronze framing. */
.theme-bronze{--paper:#1c1613!important;--surface:#2b211b!important;--ink:#f4ead8!important;--muted:#cbbba8!important;--line:#61503f!important;--accent:#d1ab78!important;--button-ink:#281c12!important}
.theme-bronze main{text-align:center}
.theme-bronze .hero{border:1px solid var(--line);padding:64px 38px;margin-block:24px;background:radial-gradient(ellipse at top,#3e3023,var(--paper) 75%)}
.theme-bronze .hero p,.theme-bronze .about p{margin-inline:auto}
.theme-bronze .hero-actions{justify-content:center}
.theme-bronze .hero-image{padding:8px;border:1px solid var(--accent);border-radius:0}
.theme-bronze .hero-with-image{grid-template-columns:1fr 1fr;gap:36px}
.theme-bronze .section-heading{flex-direction:column}
.theme-bronze .card{border-radius:0;border-color:var(--line)}
.theme-bronze .card-body,.theme-bronze .package-card{padding:28px}
.theme-bronze .package-card ul{list-style-position:inside;padding-left:0}
.theme-bronze .cta,.theme-bronze .outline{border-radius:0;letter-spacing:1px}
.theme-bronze .contact-list{align-items:center}
.theme-bronze footer{justify-content:center;text-align:center;flex-wrap:wrap}
.theme-bronze .studio-metrics h2{color:var(--accent)}

@media(max-width:700px){
    body[class^="theme-"] .hero{padding-block:40px}
    body[class^="theme-"] main>section:not(.hero){padding-block:32px}
    .theme-midnight .hero-with-image,.theme-editorial .hero-with-image,.theme-bronze .hero-with-image{grid-template-columns:1fr;gap:24px}
    .theme-midnight .hero-with-image{text-align:center}
    .theme-midnight .hero-with-image .hero-actions{justify-content:center}
    .theme-cinematic .hero{padding:40px 20px;min-height:480px}
    .theme-cinematic .portfolio-grid{grid-template-columns:1fr}
    .theme-editorial .portfolio-grid .card{grid-template-columns:1fr}
    .theme-editorial .portfolio-grid .card:nth-child(even) .portfolio-photo-button,.theme-editorial .portfolio-grid .card:nth-child(even) .card-body{grid-column:auto;grid-row:auto}
    .theme-editorial .portfolio-grid .card-body{padding:22px 0}
    .theme-bronze .hero{padding-inline:20px}
    body[class^="theme-"] .about{padding-inline:16px}
    .theme-classic .hero-image,.theme-editorial .hero-image{aspect-ratio:4/3}
    body[class^="theme-"] .brand{white-space:normal;overflow-wrap:anywhere;flex-shrink:1}
}
/* Package selection leads the public page in every theme. */
body[class^="theme-"] .hero{padding-block:48px}
body[class^="theme-"] .hero h1{font-size:clamp(38px,4.7vw,62px)}
body[class^="theme-"] .hero .hero-actions{gap:12px;margin-top:22px}
.browse-packages{gap:12px}
body.theme-cinematic .hero{min-height:380px;padding-block:48px}
body.theme-bronze .hero{padding-block:42px;margin-block:16px}
body[class^="theme-"] main>.featured-packages{padding-top:36px}
.package-intro{max-width:640px;color:var(--muted);font-size:14px;line-height:1.7;margin-bottom:0}
.theme-classic .package-intro,.theme-midnight .package-intro,.theme-bronze .package-intro{margin-inline:auto}
.package-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:24px}
body[class^="theme-"] .package-card{border-top:3px solid var(--accent);padding:28px;gap:4px}
body[class^="theme-"] .package-card h3{font-size:27px;margin-bottom:12px}
body[class^="theme-"] .package-card .price{font-size:32px;line-height:1.3;color:var(--accent);margin-bottom:10px}
.package-card .package-duration{padding-block:10px;border-block:1px solid var(--line);font-size:13px}
.package-card ul{line-height:1.9;margin-block:12px 20px}
.package-card details{text-align:left;padding:10px 0;border-bottom:1px solid var(--line)}
.package-card summary{font-size:13px;font-weight:600;color:var(--ink)}
.package-description p{padding-top:10px}
body[class^="theme-"] main>.website-statistics{padding-block:24px}
body.theme-midnight .studio-metrics{border:0;padding-block:8px}
@media(max-width:700px){body[class^="theme-"] .hero{padding-block:30px}body.theme-cinematic .hero{min-height:0;padding-block:30px}body.theme-bronze .hero{padding-block:30px}body[class^="theme-"] .hero .hero-actions>.browse-packages{flex-basis:100%}body[class^="theme-"] .package-card{padding:22px}.package-grid{gap:18px}.package-intro{font-size:13px}}
/* Photo catalogue: editorial heading, clear facets, visual package cards. */
.catalogue-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;text-align:left;margin-bottom:28px}.catalogue-heading h2{font-size:clamp(32px,4.3vw,52px);line-height:1.15}.catalogue-heading .package-intro{margin:0;max-width:640px}.catalogue-total{white-space:nowrap;border:1px solid var(--line);border-radius:30px;padding:8px 16px;color:var(--accent);font-size:12px}
.catalogue-filters{border:1px solid var(--line);background:var(--surface);padding:22px;border-radius:12px;text-align:left;margin-bottom:24px}.catalogue-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.catalogue-filter-grid label{display:grid;gap:6px;font-size:12px;color:var(--muted);min-width:0}.catalogue-filter-grid input,.catalogue-filter-grid select{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;min-height:44px;padding:10px 12px;width:100%;min-width:0;font:inherit;font-size:14px;outline-offset:3px;color-scheme:dark}.catalogue-filter-grid input::placeholder{color:var(--muted);opacity:.8}.catalogue-filter-grid input:focus-visible,.catalogue-filter-grid select:focus-visible{outline:2px solid var(--accent)}.catalogue-filter-actions{display:flex;gap:20px;align-items:center;margin-top:18px}.catalogue-reset{font-size:12px;text-decoration:underline}.catalogue-results{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted);font-size:12px;margin-bottom:18px;text-align:left}.catalogue-results p{margin:0;color:var(--ink)}.catalogue-results span{font-size:11px}
.package-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
body[class^="theme-"] .package-card.catalogue-card{padding:0;gap:0;border-top:1px solid var(--line);text-align:left}.catalogue-cover{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.catalogue-cover>img{aspect-ratio:16/10;object-fit:cover;width:100%;display:block;transition:transform .3s ease}.catalogue-cover>span{position:absolute;bottom:12px;left:12px;padding:5px 9px;background:#0a100bd9;color:#f4f3eb;border-radius:5px;font-size:10px}.catalogue-card:hover .catalogue-cover>img{transform:scale(1.03)}.catalogue-cover-placeholder{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:radial-gradient(ellipse at top,var(--line),var(--paper));color:var(--accent)}.catalogue-cover-placeholder>span{font-size:40px}.catalogue-cover-placeholder strong{font:26px Georgia,serif}.catalogue-cover-placeholder small{font-size:9px;letter-spacing:2px}.catalogue-card-content{display:flex;flex-direction:column;flex:1;padding:24px}.catalogue-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.catalogue-badges span{font-size:10px;letter-spacing:.4px;color:var(--accent);border:1px solid var(--line);border-radius:5px;padding:4px 8px}.catalogue-card .catalogue-price-label{font-size:11px;margin-bottom:2px}.catalogue-card .catalogue-includes{font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-top:12px;color:var(--ink)}.catalogue-card .price{font-size:28px!important}.catalogue-card ul{text-align:left;padding-left:16px!important;list-style-position:outside!important;font-size:12px;line-height:1.7}.catalogue-card-content>.cta{margin-top:auto;gap:12px}.catalogue-card details{margin-bottom:14px}.catalogue-card h3{overflow-wrap:anywhere}.catalogue-empty{grid-column:1/-1;text-align:center;background:var(--surface);padding:46px 22px;border:1px dashed var(--line);border-radius:10px}.catalogue-empty>span{font-size:38px;color:var(--accent);display:block;margin-bottom:12px}.catalogue-empty p{color:var(--muted);font-size:14px}.catalogue-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;align-items:center;margin-top:26px;font-size:12px}
body[class^="theme-"] .hero{padding-block:36px}body[class^="theme-"] .hero h1{font-size:clamp(34px,4.2vw,56px)}body.theme-cinematic .hero{min-height:320px;padding-block:36px}body.theme-bronze .hero{padding-block:36px}
@media(max-width:1000px){.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.catalogue-heading{align-items:flex-start;flex-direction:column;gap:14px}.catalogue-filter-grid{grid-template-columns:1fr}.catalogue-filters{padding:16px}.package-grid{grid-template-columns:1fr}.catalogue-results{align-items:flex-start;flex-direction:column;gap:5px}.catalogue-card-content{padding:20px}.catalogue-heading h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.catalogue-cover>img{transition:none}.catalogue-card:hover .catalogue-cover>img{transform:none}}
@media(max-width:700px){.catalogue-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalogue-search,.catalogue-filter-grid label:last-child{grid-column:1/-1}.catalogue-filter-grid input,.catalogue-filter-grid select{font-size:13px;padding:10px 8px}.catalogue-filter-actions{gap:14px}}
.catalogue-filter-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr)}
@media(max-width:700px){.catalogue-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-search{grid-column:1/-1}.catalogue-filter-grid label:last-child{grid-column:auto}}

@media(max-width:700px){.catalogue-filter-grid{grid-template-columns:1fr}.catalogue-search,.catalogue-filter-grid label:last-child{grid-column:auto}}

/* Contact cards and customer assistance follow the active website palette. */
body[class^="theme-"] .studio-contact{display:grid;grid-template-columns:1fr;gap:16px;text-align:center;align-items:start}
.contact-heading p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:340px;margin-bottom:20px}
.contact-grid{width:100%;max-width:680px;margin-inline:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px}
.contact-item{display:flex;flex-direction:column;gap:3px;min-width:0;padding:0;border:0;background:transparent;overflow-wrap:anywhere}
.contact-socials{grid-column:1/-1;display:flex;justify-content:center;flex-wrap:wrap;gap:16px 32px}.contact-socials:empty{display:none}.contact-item small{font-size:10px;letter-spacing:1.5px;color:var(--muted)}
.contact-item strong{font-size:14px;font-weight:550}.contact-item span{font-size:12px;color:var(--accent)}
a.contact-item:hover strong{text-decoration:underline}.contact-booking{justify-self:center}.contact-heading h2{margin-bottom:0}.contact-address{grid-column:1/-1}.contact-address p{font-size:14px;margin:0}
.studio-support{position:fixed;right:24px;bottom:24px;z-index:100;width:min(280px,calc(100vw - 32px));font:14px/1.5 system-ui,sans-serif;text-align:left}
.studio-support summary{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin-left:auto;padding:10px 14px;border:1px solid var(--line);border-radius:40px;background:var(--accent);color:var(--button-ink);box-shadow:0 8px 28px #0004;font-weight:600;font-size:12px;min-height:42px;list-style:none}
.studio-support summary::-webkit-details-marker{display:none}.support-toggle{font-size:20px;line-height:1}.studio-support[open] .support-toggle{transform:rotate(45deg)}
.support-panel{position:absolute;bottom:calc(100% + 12px);right:0;width:100%;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 16px 50px #0006}
.support-heading{display:flex;gap:12px;align-items:center;margin-bottom:20px}.support-heading strong{display:block;font-size:15px}.support-heading small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.support-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--accent);color:var(--button-ink);font-size:13px;font-weight:700;flex-shrink:0}
.support-panel p{font-weight:600;margin:0 0 8px}.support-panel .support-description{color:var(--muted);font-size:13px;font-weight:400;margin-bottom:20px}
.support-link{display:flex;justify-content:center;border-radius:8px;padding:13px;background:var(--accent);color:var(--button-ink);font-weight:650}.support-note{display:block;color:var(--muted);text-align:center;font-size:10px;margin-top:10px}
.studio-support summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}body[class^="theme-"] footer{padding-bottom:100px}
@media(max-width:700px){body[class^="theme-"] .studio-contact{grid-template-columns:1fr;gap:24px}.contact-heading h2{font-size:32px}.contact-item{padding:0}.studio-support{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.support-panel{max-height:calc(100dvh - 110px);overflow:auto}}
@media(max-width:400px){.contact-grid{grid-template-columns:1fr}}

/* Simple, readable studio introduction across all themes. */
body[class^="theme-"] .about h2{font-family:system-ui,sans-serif;font-size:clamp(24px,3vw,30px);font-weight:600;letter-spacing:0;line-height:1.35;color:var(--ink);margin-bottom:16px}
body[class^="theme-"] .about .website-copy{font-family:system-ui,sans-serif;font-size:15px;font-weight:400;letter-spacing:0;line-height:1.8;color:var(--muted);max-width:640px;margin-bottom:22px}
body[class^="theme-"] .about .eyebrow{font-family:system-ui,sans-serif;font-size:11px;font-weight:500;letter-spacing:1px;line-height:1.5}
