/* Five text roles. Poppins Light and Medium follow the February 2025 brand guide. */
:root{--sg-bg:#fff;--sg-fg:#2a2457;--sg-accent:#7169b2;--brand-lavender:#dcd0ff;--brand-violet:#2a2457;--type-small:13px;--type-body:16px;--type-sub:22px;--type-section:32px;--type-display:clamp(36px,6.5vw,88px)}
body{font-family:Poppins,Arial,sans-serif;font-weight:300}
body:not(.experience-home) main :is(p,.et_pb_text_inner,.et_pb_blurb_description,li,dd){font-family:Poppins,Arial,sans-serif!important;font-size:var(--type-body)!important;font-weight:300!important;line-height:1.65!important;letter-spacing:0!important}
body:not(.experience-home) main :is(h1,h2,h3,h4,h5,h6,.heading-look-h4){font-family:Poppins,Arial,sans-serif!important;font-weight:500!important;line-height:1.15!important;letter-spacing:-.035em!important;text-transform:none!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:manual;text-wrap:balance;max-width:100%}
body:not(.experience-home) main h1{font-size:var(--type-display)!important}
body:not(.experience-home) main :is(h2,.heading-look-h4){font-size:var(--type-section)!important}
body:not(.experience-home) main :is(h3,h4,h5,h6,.df-post-title){font-size:var(--type-sub)!important}
body:not(.experience-home) main :is(h1,h2,h3,h4,h5,h6,p,.heading-look-h4) :is(a,span,strong,em){font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}
body:not(.experience-home) main :is(strong,b){font-weight:500!important}
body:not(.experience-home) main :is(a,button,input,textarea,label,select){font-family:Poppins,Arial,sans-serif}
body:not(.experience-home) main :is(input,textarea,select){font-size:var(--type-body)!important;line-height:1.5!important;font-weight:300!important}
body:not(.experience-home) main :is(.et_pb_button,.et_pb_contact_submit,.service-link,.geo-services a){font-size:var(--type-small)!important;font-weight:500!important;line-height:1.4!important}
body:not(.experience-home) main :is(.et_pb_column,.et_pb_text,.et_pb_blurb,.service-card){min-width:0}
body:not(.experience-home) main a{overflow-wrap:anywhere}
body:not(.experience-home) main :is(h1,h2,h3,h4) a{overflow-wrap:normal}
.site-controls,.site-menu{font-weight:500}.site-controls a,.site-controls button,.site-controls .site-brand{font-size:var(--type-small)}
.et-l--footer :is(p,a,span){font-size:var(--type-small)!important;line-height:1.6!important;font-weight:300!important}
:root[data-theme=dark] body:not(.experience-home) main :is(.heading-look-h4,.heading-look-h4 a,.et_pb_module_header a){color:var(--sg-fg)!important}
@media(max-width:700px){
 body:not(.experience-home) main :is(h1,h2,h3,h4,h5,h6,.heading-look-h4){letter-spacing:-.025em!important}
 body:not(.experience-home) main .et_pb_row{width:calc(100% - 40px)!important;max-width:none!important}
 body:not(.experience-home) main .et_pb_row .et_pb_row{width:100%!important}
 body:not(.experience-home) main .et_pb_column{margin-bottom:24px!important}
 .project-context,.geo-intro,.service-page{width:auto!important;max-width:none!important;margin-left:20px!important;margin-right:20px!important;padding-left:0!important;padding-right:0!important}
}
/* One editorial project pilot. All seven original photographs and credits remain. */
.editorial-project{padding:0!important;margin:0!important;width:100%!important;max-width:none!important;color:var(--sg-fg)}
.project-opening{display:grid;grid-template-columns:42% 58%;min-height:min(760px,calc(100svh - 76px))}
.project-cover-copy{background:var(--brand-lavender);color:var(--brand-violet);padding:clamp(24px,4vw,64px);display:flex;flex-direction:column;justify-content:space-between;gap:48px}
.editorial-project .project-eyebrow{font-size:var(--type-small)!important;letter-spacing:.08em!important;font-weight:500!important;text-transform:uppercase;margin:0}
.editorial-project h1{padding:0;margin:0}.editorial-project h1 span{display:block}.editorial-project .project-title-line{font-size:inherit}
.project-cover-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.editorial-project .project-tagline{margin:0;max-width:16ch;font-size:var(--type-sub)!important;font-weight:500!important;line-height:1.3!important}
.editorial-project .project-jump{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0;border:1px solid currentColor;border-radius:50%;font-size:32px;line-height:1;color:inherit;text-decoration:none}
.editorial-project figure{margin:0;overflow:hidden}.editorial-project figure a{display:block;height:100%}.editorial-project figure img{display:block;width:100%;height:100%;object-fit:cover}
.project-cover-image{height:min(760px,calc(100svh - 76px));min-height:560px}.project-cover-image img{object-position:50% 42%}
.project-facts{display:grid;grid-template-columns:1fr 2fr 1fr;gap:32px;padding:32px 5vw;border-bottom:1px solid var(--sg-line)}
.project-facts p{padding:0;margin:0}.project-facts .et_pb_text_inner{background:none!important}
.project-story{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:100px 7vw;scroll-margin-top:100px}.project-story-copy p{max-width:56ch;margin:0 0 24px}.project-story-copy p:first-child{display:none}
.project-story-heading h2{margin-top:20px;max-width:8ch}
.project-diptych{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:5vw;padding:0 7vw 100px}.project-diptych figure:first-child{margin-top:120px}.project-diptych img{aspect-ratio:2/3}
.project-panorama img{height:auto!important;aspect-ratio:3/2}
.project-contact-sheet{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;padding:100px 5vw;background:var(--brand-lavender)}.project-contact-sheet figure:nth-child(2){margin-top:70px}.project-contact-sheet figure:nth-child(3){margin-top:140px}.project-contact-sheet img{aspect-ratio:2/3;height:auto!important}
.project-credits{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:80px 7vw}.project-credits h2{margin:0}.project-credits p{padding:0}
.editorial-project .project-context{margin:0 7vw 80px;padding:32px 0;border-top:1px solid var(--sg-line);max-width:none}.editorial-project .project-context h2{font-size:var(--type-sub)!important;max-width:25ch}.editorial-project .project-context p{max-width:65ch}
.project-next{padding:48px 7vw;background:var(--brand-violet)}.editorial-project .project-next a{display:flex;justify-content:space-between;gap:32px;color:#fff!important;font-size:var(--type-section);font-weight:500;line-height:1.25}
:root[data-theme=dark] .editorial-project .project-cover-copy,:root[data-theme=dark] .editorial-project .project-cover-copy :is(h1,p,span,a){color:var(--brand-violet)!important}
.editorial-project a:focus-visible{outline:3px solid #7169b2;outline-offset:5px}
@media(max-width:700px){
 .project-opening{grid-template-columns:1fr;min-height:0}.project-cover-copy{padding:28px 20px;gap:28px}.editorial-project h1{font-size:var(--type-display)!important}.editorial-project h1 span{display:inline}.editorial-project h1 span:first-child::after{content:' ';white-space:pre}.project-cover-bottom{align-items:center}.editorial-project .project-tagline{font-size:var(--type-body)!important;max-width:24ch}
 .project-cover-image{height:auto;min-height:0}.project-cover-image img{height:auto!important;aspect-ratio:4/5;object-position:50% 40%}
 .project-facts{grid-template-columns:1fr 1fr;gap:24px;padding:28px 20px}.fact-year{grid-column:1/-1}.project-story{grid-template-columns:1fr;gap:20px;padding:56px 20px}.project-story-heading h2{max-width:none}.project-story-copy p:last-child{margin-bottom:0}
 .project-diptych{gap:12px;padding:0 20px 56px}.project-diptych figure:first-child{margin-top:40px}.project-contact-sheet{grid-template-columns:1fr 1fr;gap:12px;padding:40px 20px}.project-contact-sheet figure:nth-child(2){margin-top:40px}.project-contact-sheet figure:nth-child(3){margin-top:0;grid-column:1/-1;width:75%;justify-self:center}
 .project-credits{grid-template-columns:1fr;gap:20px;padding:48px 20px}.editorial-project .project-context{margin-bottom:48px}.project-next{padding:32px 20px}
}
body:not(.experience-home) main :is(h1,h2,h3,h4,h5,h6,.heading-look-h4){color:var(--sg-fg)!important}
body.cube-editorial .editorial-project .project-cover-copy :is(h1,p,span,a){color:var(--brand-violet)!important}

body:not(.experience-home) main .prefix{font-size:var(--type-display)!important;font-weight:500!important;line-height:1.1!important;letter-spacing:-.035em!important;word-break:normal!important;overflow-wrap:normal!important}
body:not(.experience-home) main :is(.df_button_left,.df_button_right){font-size:var(--type-sub)!important;font-weight:500!important;line-height:1.3!important}
body:not(.experience-home) main .portfolio-controls button{font-size:var(--type-small)!important;font-weight:500!important}
body:not(.experience-home) main div.heading-look-h4{font-size:var(--type-sub)!important}
/* Shared editorial system for every photography and film project. */
body.project-editorial .project-cover-copy :is(h1,p,span,a){color:var(--brand-violet)!important}
body.project-editorial .project-cover-copy h1{font-size:clamp(36px,4.4vw,68px)!important;overflow-wrap:anywhere!important;line-height:1.08!important}
.project-story-copy--complete p:first-child{display:block}
.project-editorial .project-story-heading h2{max-width:100%;font-size:var(--type-sub)!important}
.project-editorial .project-diptych img,.project-editorial .project-contact-sheet img{aspect-ratio:auto;height:auto!important}
.project-editorial .project-panorama img{aspect-ratio:auto;max-height:100svh;object-fit:contain}
.project-motion{background:#000}.project-motion video{display:block;width:100%;max-height:85svh;object-fit:contain}
@media(max-width:700px){body.project-editorial .project-cover-copy h1{font-size:36px!important}.project-editorial .project-story-heading h2{overflow-wrap:anywhere!important}.project-contact-sheet figure:only-child{grid-column:1/-1;width:75%;justify-self:center}}
/* Complete image groups: no isolated gallery photographs at any breakpoint. */
.project-image-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(12px,3vw,48px);padding:48px 5vw}
.project-image-group--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-image-group:nth-of-type(even){background:var(--brand-lavender)}
.editorial-project .project-image-group figure{margin:0;width:100%;align-self:start}
.editorial-project .project-image-group figure:nth-child(2){margin-top:clamp(16px,3vw,48px)}
.editorial-project .project-image-group img{height:auto!important;aspect-ratio:auto;object-fit:contain}
@media(max-width:700px){.project-image-group{padding:24px 16px;gap:10px}.editorial-project .project-image-group figure:nth-child(2){margin-top:16px}}
/* Photo overview: complete final rows on desktop and mobile. */
main .dsm-gallery.grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;height:auto!important}
main .dsm-gallery.grid>:is(.grid-sizer,.gutter-sizer){display:none!important}
main .dsm-gallery.grid>.grid-item{grid-column:span 2;position:static!important;width:auto!important;padding:0!important;transform:none!important}
main .dsm-gallery.grid>.gallery-desktop-tail{grid-column:span 3}
@media(max-width:700px){main .dsm-gallery.grid>.grid-item{grid-column:span 3}main .dsm-gallery.grid>.gallery-mobile-tail{grid-column:span 2}}
/* The profile introduction follows the single opening portfolio sequence. */
body:not(.experience-home) main .profile-intro-text-only>.et_pb_column{width:100%!important;margin-right:0!important;float:none!important}
.profile-intro-text-only .et_pb_text_inner{max-width:70ch}
/* Match the approved outdoor header crop while retaining the original file. */
.service-page .service-hero.outdoor-header{display:block;width:100%;height:auto;min-height:0;max-height:none;object-fit:cover;object-position:50% 68%;aspect-ratio:441/230}
/* Five outdoor and seven fashion projects: share the last row across three cards. */
@media(min-width:701px){.service-page .service-grid[data-project-topic]{grid-template-columns:repeat(6,minmax(0,1fr));gap:32px}.service-grid[data-project-topic]>article{grid-column:span 3;min-width:0}.service-grid[data-project-topic]>article:nth-last-child(-n+3){grid-column:span 2}}
.service-grid[data-project-topic] .service-photo{aspect-ratio:4/3;object-fit:cover;height:auto}
/* A concise editorial invitation replaces the repeated service-page contact paragraphs. */
.service-page .service-inquiry{display:grid;grid-template-columns:1fr 1fr;gap:6vw;background:var(--brand-lavender);color:var(--brand-violet);padding:56px clamp(24px,4vw,56px);margin:40px 0 0}
.service-page .service-inquiry .inquiry-eyebrow{font-size:var(--type-small)!important;font-weight:500!important;letter-spacing:.08em!important;margin:0 0 28px;padding:0}
body:not(.experience-home) main.service-page .service-inquiry h2{font-size:var(--type-display)!important;line-height:1.05!important;letter-spacing:-.045em!important;margin:0 0 36px;text-wrap:initial}
.service-page .service-inquiry .inquiry-button{display:flex;align-items:center;justify-content:space-between;gap:32px;background:var(--brand-violet);color:white!important;text-decoration:none;font-weight:500;font-size:var(--type-body);padding:16px 22px;min-height:60px;width:100%;max-width:340px}
.inquiry-button span:last-child{font-size:var(--type-section)}
.service-page .service-inquiry .inquiry-email{font-size:var(--type-small);padding:12px 0;overflow-wrap:anywhere;min-height:44px;color:var(--brand-violet)}
.service-inquiry .inquiry-brief{align-self:center;min-width:0}.service-page .service-inquiry .inquiry-intro{font-size:var(--type-sub)!important;line-height:1.4!important;font-weight:500!important;max-width:26ch;padding:0;margin:0 0 28px}
.inquiry-brief dl{margin:0}.inquiry-brief dl>div{border-top:1px solid #2a24572e;padding:18px 0}.inquiry-brief dt{font-size:var(--type-body);font-weight:500;line-height:1.4;display:flex;align-items:center;gap:16px}.inquiry-brief dt span{font-size:var(--type-small);color:#7169b2}.service-page .inquiry-brief dd{margin:8px 0 0 34px;font-size:var(--type-small)!important;line-height:1.6!important}
.service-page .inquiry-explore{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;padding:12px 0 28px}.inquiry-explore a{font-size:var(--type-small);display:flex;align-items:center;gap:16px}
:root[data-theme=dark] .service-page .service-inquiry,:root[data-theme=dark] .service-page .service-inquiry :is(h2,p,dt,dd,a){color:var(--brand-violet)!important}
:root[data-theme=dark] .service-page .service-inquiry .inquiry-button,:root[data-theme=dark] .service-page .service-inquiry .inquiry-button span{color:#fff!important}
@media(max-width:700px){.service-page .service-inquiry{grid-template-columns:1fr;padding:28px 20px;gap:32px;margin-top:24px}body:not(.experience-home) main.service-page .service-inquiry h2{margin-bottom:24px}.service-page .service-inquiry .inquiry-eyebrow{margin-bottom:20px}.service-page .service-inquiry .inquiry-intro{font-size:var(--type-sub)!important}.service-page .service-inquiry .inquiry-button{max-width:none}.service-page .inquiry-explore{flex-direction:column;gap:0}}

:root[data-theme=dark] .service-page .service-inquiry .inquiry-brief span{color:var(--brand-violet)!important}
/* Respect the source orientation: portraits always remain 4:5 or taller. */
.service-grid[data-project-topic] .service-photo[data-image-orientation=portrait]{aspect-ratio:4/5;object-fit:cover;height:auto;object-position:center}
.editorial-project .project-cover-image:has(img[data-image-orientation=portrait]){height:auto!important;min-height:0;align-self:start}
.editorial-project .project-cover-image:has(img[data-image-orientation=portrait]) a{height:auto}
.editorial-project .project-cover-image img[data-image-orientation=portrait]{aspect-ratio:4/5;height:auto!important;object-fit:cover;object-position:50% 40%}
body:not(.experience-home) main :is(.service-photo,.service-hero,.df-post-image-wrap img,.dsm-gallery img)[data-image-orientation=portrait]{aspect-ratio:4/5!important;height:auto!important;min-height:0!important;max-height:none!important;object-fit:cover}
.service-page .service-hero[data-image-orientation=portrait]{max-width:640px;margin:35px auto 10px}
.service-inquiry{scroll-margin-top:100px}
/* Medium page labels; light contact details, with their original letter case. */
.et-l--footer a[data-footer-page-link],.et-l--footer .footer-contact-heading{font-size:var(--type-small)!important;font-weight:500!important;line-height:1.6!important}
.et-l--footer .footer-contact-details,.et-l--footer .footer-contact-details :is(a,span,strong){font-size:var(--type-small)!important;font-weight:300!important;line-height:1.6!important;text-transform:none!important;letter-spacing:0!important;overflow-wrap:anywhere}
