/*
Theme Name: Studio DJC Creative 2.0
Theme URI: https://studiodjc.com
Author: Studio DJC Creative
Description: Custom dark editorial photography theme for Studio DJC Creative.
Version: 0.15.5
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: studio-djc
*/

body.admin-bar .site-header{top:32px}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header .current-menu-item>a,.site-header [aria-current="page"]{color:#c9abff}.wp-site-content{min-height:65vh}.djc-content{width:min(900px,88vw);margin:0 auto;padding:10vw 0}.djc-content h1{font:400 clamp(3.2rem,8vw,7rem)/.9 Georgia,serif;letter-spacing:-.055em}.djc-content h2{font:400 clamp(2rem,4vw,3.6rem)/1 Georgia,serif}.djc-content p,.djc-content li{font-size:1.08rem;color:#c3c3c3}.djc-content img{max-width:100%;height:auto}.djc-entry-hero{min-height:58vh;display:flex;align-items:end;padding:8vw;background:#111 center/cover;position:relative;isolation:isolate}.djc-entry-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(0,0,0,.92));z-index:-1}.djc-entry-hero h1{font:400 clamp(3rem,8vw,8rem)/.85 Georgia,serif;letter-spacing:-.06em;max-width:1100px;margin:.2em 0}.djc-meta{color:#aaa;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.djc-archive{padding:9vw 4vw}.djc-archive h1{font:400 clamp(3.5rem,8vw,8rem) Georgia,serif}.djc-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.djc-post-card{min-height:430px;background:#141414;display:flex;flex-direction:column;text-decoration:none}.djc-post-card img{width:100%;height:280px;object-fit:cover}.djc-post-card-copy{padding:1.4rem}.djc-post-card h2{font:400 1.7rem/1.05 Georgia,serif;margin:.3em 0}.djc-pagination{margin-top:3rem}.djc-pagination .page-numbers{padding:.7rem;color:white}.djc-gallery-empty{padding:3rem;border:1px solid #333;color:#aaa}.wp-block-image img,.wp-block-gallery img{border-radius:0}.djc-footer-nav{display:flex;gap:1.2rem}.djc-footer-nav a{text-decoration:none}@media(max-width:782px){body.admin-bar .site-header{top:46px}}@media(max-width:800px){.djc-post-grid{grid-template-columns:1fr}.djc-entry-hero{min-height:50vh}.site-header .menu-button{display:block}.site-header nav{display:none}.site-header nav.open{display:flex}}
.page-about .djc-entry-hero{min-height:82vh}.page-about .djc-entry-hero:before{background:linear-gradient(transparent 45%,rgba(0,0,0,.88))}@media(max-width:800px){.page-about .djc-entry-hero{min-height:72vh}}

/* 0.9.0 regression repairs and accessibility polish. */
.hero-audience{max-width:720px;margin:.7rem 0 0;color:#c7c7c7;font-size:clamp(1rem,1.4vw,1.2rem)}
.testimonials-heading{display:block!important;max-width:900px}.testimonials-heading .eyebrow{margin:0 0 1rem}.testimonials-heading h2{margin:.05em 0 .35em!important}.testimonials-heading>p:last-child{margin:0!important}
.collection-model-link{display:inline-flex;align-items:center;gap:.55rem}.collection-model-link svg{width:1.15rem;height:1.15rem;fill:currentColor;flex:none}
.about-page-hero{position:relative}.about-page-hero>div{position:relative;z-index:1;pointer-events:none}.about-page-game-link{position:absolute;inset:0;z-index:2}.about-page-game-link:focus-visible{outline:2px solid #c9abff;outline-offset:-8px}
.cv-work-strip figure,.cv-work-strip figure:nth-child(2){height:auto!important;aspect-ratio:3/2;margin-top:0!important;display:grid;place-items:center;background:#111}.cv-work-strip img{width:100%;height:100%;object-fit:cover!important}
@media(max-width:800px){.testimonials{padding-top:16vw}.testimonials-heading{margin-bottom:10vw}.hero-audience{max-width:92%}.cv-work-strip figure{aspect-ratio:auto}}

/* Gallery hub refinements: Events banner composition. */
body .events-feature{align-items:flex-start;text-align:left;background-image:url('https://studiodjc.com/wp-content/uploads/2026/04/IMG_6469.jpeg');background-position:center 48%}
body .events-feature:before{background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.08) 62%),linear-gradient(transparent 40%,rgba(0,0,0,.88))}
body .events-feature:after{content:none;display:none}
body .events-feature .eyebrow,body .events-feature b,body .events-feature small{max-width:650px}
@media(max-width:800px){body .events-feature{align-items:flex-start;text-align:left;background-position:center 48%}body .events-feature .eyebrow,body .events-feature b,body .events-feature small{max-width:88%}}

/* 0.9.9 — poem-led editorial treatment for Until the Light Fades. */
.collection-poetic{--poetic-forest:#10251c;--poetic-deep:#07140f;--poetic-mint:#b9d8c7;--poetic-mist:#e9f0eb;--poetic-paper:#f4f6f2;--poetic-sage:#719984;--poetic-ink:#102019;--poetic-cream:#fbfcf7;background:var(--poetic-paper);color:var(--poetic-ink);overflow:hidden}
.collection-poetic .collection-spread-hero{height:100svh;min-height:720px}.collection-poetic .collection-hero-image{object-position:50% 37%!important}.collection-poetic .collection-hero-shade{background:linear-gradient(180deg,rgba(7,20,15,.53) 0%,transparent 34%,rgba(7,20,15,.09) 52%,rgba(7,20,15,.94) 100%)}.collection-poetic .collection-hero-copy{width:min(1500px,92vw);padding-bottom:7vh}.collection-poetic .collection-kicker{font-size:clamp(.68rem,.9vw,.9rem);letter-spacing:.25em}.collection-poetic .collection-hero-copy h1{font-size:clamp(5rem,12.6vw,12.5rem);line-height:.76;letter-spacing:-.068em;max-width:1320px}.collection-poetic .collection-hero-copy h1::first-line{color:inherit}.collection-poetic .collection-hero-deck{display:flex;justify-content:space-between;align-items:end;gap:40px;border-top:1px solid rgba(255,255,255,.4);padding-top:22px}.collection-poetic .collection-hero-deck p{font:400 clamp(1.15rem,2vw,1.9rem)/1.25 Georgia,serif;max-width:730px}.collection-poetic .collection-tags{font:700 .7rem/1 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.poetic-verse{padding:12vw 6vw;background:var(--poetic-paper)}.poetic-inner{width:min(1280px,100%);margin:auto}.poetic-marker{display:block;margin-bottom:4rem;color:var(--poetic-sage);font:700 .68rem/1 Arial,sans-serif;letter-spacing:.25em;text-transform:uppercase}.poetic-verse p{font:400 clamp(2.6rem,6.2vw,6.7rem)/1.04 Georgia,serif;letter-spacing:-.045em;margin:0;max-width:1200px}.poetic-verse p+p{margin-top:.7em}.poetic-verse em{color:var(--poetic-sage);font-weight:400}.poetic-verse.compact .poetic-inner{max-width:980px}.poetic-verse.compact p{font-size:clamp(2rem,4.2vw,4.5rem);line-height:1.12}.poetic-verse.dark{background:var(--poetic-forest);color:var(--poetic-cream)}.poetic-verse.dark .poetic-marker,.poetic-verse.dark em{color:var(--poetic-mint)}
.poetic-photograph{background:var(--poetic-deep)}.poetic-photograph figure{margin:0}.poetic-zoomable{position:relative;overflow:hidden;cursor:zoom-in}.poetic-photo-frame{height:min(92vh,1050px)}.poetic-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.poetic-zoomable:hover img{transform:scale(1.022)}.poetic-caption{display:flex;justify-content:space-between;gap:30px;padding:18px 4.5vw 52px;background:var(--poetic-deep);color:#b9c9bf;font:400 .75rem/1.4 Arial,sans-serif;letter-spacing:.06em}.poetic-caption span:last-child{text-align:right}.poetic-photograph.one img{object-position:50% 42%}.poetic-photograph.two img{object-position:50% 45%}.poetic-photograph.three img{object-position:50% 44%}.poetic-photograph.four img{object-position:50% 41%}
.poetic-whisper{padding:15vw 6vw;background:var(--poetic-mint);color:var(--poetic-forest);position:relative;overflow:hidden}.poetic-whisper:before{content:'“';position:absolute;left:-.01em;top:-.36em;font:400 42vw/1 Georgia,serif;color:rgba(255,255,255,.27)}.poetic-whisper blockquote{position:relative;width:min(1250px,100%);margin:auto;font:400 clamp(3.2rem,8vw,8.3rem)/.93 Georgia,serif;letter-spacing:-.055em}.poetic-whisper em{color:var(--poetic-cream);font-weight:400}
.poetic-closing{padding:13vw 6vw;background:var(--poetic-mist)}.poetic-closing-inner{width:min(1350px,100%);margin:auto;display:grid;grid-template-columns:.65fr 1.35fr;gap:9vw;align-items:start}.poetic-closing-label{font:700 .68rem/1 Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--poetic-sage)}.poetic-closing-copy p{font:400 clamp(2.2rem,4.7vw,5rem)/1.06 Georgia,serif;letter-spacing:-.04em;margin:0}.poetic-closing-copy p+p{margin-top:.75em}.poetic-closing-copy em{color:var(--poetic-sage);font-weight:400}.poetic-closing .collection-model-link{margin-top:3.5rem;color:var(--poetic-ink);border-bottom:1px solid var(--poetic-ink);padding-bottom:8px;font:700 .72rem/1 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.poetic-finale{height:100svh;min-height:720px;position:relative;display:flex;align-items:flex-end;isolation:isolate;background:var(--poetic-forest);color:var(--poetic-cream)}.poetic-finale>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;z-index:-3}.poetic-finale:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(7,20,15,.92) 100%);z-index:-2}.poetic-finale-copy{padding:0 5vw 6vw;width:100%}.poetic-finale h2{font:400 clamp(4.7rem,11vw,11rem)/.8 Georgia,serif;letter-spacing:-.067em;margin:0}.poetic-finale h2 em{color:var(--poetic-mint);font-weight:400}.poetic-finale-footer{margin-top:3rem;padding-top:22px;border-top:1px solid rgba(255,255,255,.4);display:flex;justify-content:space-between;font:400 .7rem/1.5 Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase}
@media(max-width:800px){.collection-poetic .collection-spread-hero{min-height:680px}.collection-poetic .collection-hero-image{object-position:53% center!important}.collection-poetic .collection-hero-copy{width:90vw;padding-bottom:6vh}.collection-poetic .collection-hero-copy h1{font-size:clamp(4rem,18vw,5.6rem);line-height:.79}.collection-poetic .collection-hero-deck{display:block}.collection-poetic .collection-hero-deck p{font-size:1.05rem}.collection-poetic .collection-tags{margin-top:16px;white-space:normal}.poetic-verse{padding:24vw 7vw}.poetic-marker{margin-bottom:2.5rem}.poetic-verse p{font-size:clamp(2.6rem,12.5vw,4.4rem)}.poetic-verse.compact p{font-size:clamp(2.2rem,10.5vw,3.8rem)}.poetic-photo-frame{height:72vh}.poetic-photograph.one img{object-position:51% center}.poetic-photograph.two img{object-position:56% center}.poetic-photograph.three img{object-position:53% center}.poetic-photograph.four img{object-position:51% center}.poetic-caption{display:block;padding:15px 6vw 44px;line-height:1.5}.poetic-caption span{display:block}.poetic-caption span:last-child{text-align:left;margin-top:5px}.poetic-whisper{padding:28vw 7vw}.poetic-whisper blockquote{font-size:clamp(3rem,14vw,5rem)}.poetic-closing{padding:24vw 7vw}.poetic-closing-inner{display:block}.poetic-closing-label{margin-bottom:3rem}.poetic-closing-copy p{font-size:clamp(2.4rem,11vw,4rem)}.poetic-finale{min-height:690px}.poetic-finale>img{object-position:50% center}.poetic-finale h2{font-size:clamp(4rem,20vw,6.7rem)}.poetic-finale-footer{display:block;line-height:1.6}}
@media(prefers-reduced-motion:reduce){.poetic-photo-frame img{transition:none}}
.collection-poetic .collection-hero-copy h1 em{color:var(--poetic-mint);font-weight:400}

/* 0.12.2: Keep the subject's face visible in the shallow desktop Portraits strip. */
@media(min-width:851px){.portraits-page .expect-wide img{object-position:50% 8%}}

/* Use a deliberate focal point for the replacement Lavender Hour portfolio panorama. */
@media(min-width:801px){.portrait-portfolio-wide img{object-position:50% 28%}}
