.sevens-section{--sp-accent:#9a6479;box-sizing:border-box;width:100%;max-width:1600px;margin-inline:auto;padding:80px 64px;background:#090a10;color:#f4f3f1;font-family:inherit;overflow-wrap:anywhere}
.sevens-section *,.sevens-section *::before,.sevens-section *::after{box-sizing:border-box}
.sevens-section .sevens-section__header{margin-bottom:40px}
.sevens-section .sevens-section__eyebrow{margin:0 0 24px;color:var(--sp-accent);font-size:.75rem;line-height:1.5;letter-spacing:.1em}
.sevens-section .sevens-section__heading{font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,5.6rem);font-weight:400;line-height:1.03;letter-spacing:-.035em;margin:0 0 24px;color:inherit;overflow-wrap:anywhere}
.sevens-section .sevens-section__intro{max-width:62ch;font-size:1rem;line-height:1.7;margin:0;white-space:normal}
.sevens-section .sevens-section__grid{display:grid;grid-template-columns:repeat(var(--sp-columns,3),minmax(0,1fr));gap:28px;align-items:start}
.sevens-media .sevens-section__grid{grid-template-columns:repeat(var(--sp-columns,2),minmax(0,1fr))}
.sevens-section .sevens-section__image-frame{display:block;position:relative;aspect-ratio:16/9;overflow:hidden;background:#181920;min-width:0}
.sevens-section .sevens-section__image-frame img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:var(--sp-focus,50% 25%)}
.sevens-section .sevens-section__card-title{margin:20px 0 10px;font-size:1.2rem;line-height:1.5;color:inherit}
.sevens-section .sevens-section__card-copy{font-size:.9rem;line-height:1.7;margin:10px 0;color:inherit}
.sevens-section .sevens-section__button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:44px;max-width:100%;padding:14px 22px;border:1px solid var(--sp-accent);border-radius:2px;background:transparent;color:inherit;font:inherit;font-size:.8rem;text-decoration:none;cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.sevens-section .sevens-section__button:hover{background:var(--sp-accent);color:#fff}
.sevens-section a:focus-visible,.sevens-section button:focus-visible{outline:3px solid #aba6f8;outline-offset:5px}
.sevens-media .sevens-media__preview{appearance:none;display:block;position:relative;width:100%;height:100%;min-height:160px;border:0;padding:0;background:#171820;color:inherit;cursor:pointer}
.sevens-media .sevens-media__player button{position:absolute;inset:0}
.sevens-media .sevens-media__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:64px;height:64px;border:1px solid #fff;border-radius:50%;background:rgba(9,10,16,.65);color:#fff;font-size:22px}
.sevens-media .sevens-media__notice{font-size:.75rem;line-height:1.6;color:#b7b7c3}
.sevens-media .sevens-media__player iframe,.sevens-media .sevens-media__player video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.sevens-gallery .sevens-gallery__item{margin:0;min-width:0}
.sevens-gallery .sevens-section__image-frame{aspect-ratio:3/4}
.sevens-gallery .sevens-gallery__item--wide{grid-column:span 2}
.sevens-gallery .sevens-gallery__item--wide .sevens-section__image-frame{aspect-ratio:16/9}
.sevens-gallery .sevens-gallery__dialog{box-sizing:border-box;max-width:calc(100vw - 32px);width:1100px;max-height:calc(100svh - 32px);padding:20px;border:1px solid #555;background:#090a10;color:#fff;overflow:auto;overscroll-behavior:contain}
.sevens-gallery .sevens-gallery__dialog::backdrop{background:rgba(0,0,0,.88)}
.sevens-gallery .sevens-gallery__view img{display:block;width:100%;height:65svh;object-fit:contain;margin-top:16px;position:static}
.sevens-gallery .sevens-gallery__caption{font-size:.9rem;line-height:1.5}
.sevens-gallery .sevens-gallery__controls{display:flex;gap:16px;justify-content:space-between}
.sevens-contact .sevens-contact__details{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:24px 0}
.sevens-contact .sevens-contact__details a{color:inherit;text-decoration:none;min-height:32px;line-height:1.6}
.sevens-contact .sevens-contact__details a:hover{text-decoration:underline}
.sevens-contact .sevens-contact__actions{display:flex;flex-wrap:wrap;gap:16px;margin:32px 0}
.sevens-contact--image{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:56px;align-items:center}
.sevens-contact .sevens-contact__portrait{aspect-ratio:3/4}
@media(max-width:1100px){.sevens-section{padding:56px 32px}.sevens-section .sevens-section__grid{grid-template-columns:repeat(clamp(1,var(--sp-columns,2),2),minmax(0,1fr))}.sevens-contact--image{gap:28px}}
@media(max-width:767px){.sevens-section{padding:40px 24px}.sevens-contact{padding-bottom:112px}.sevens-section .sevens-section__grid{grid-template-columns:minmax(0,1fr);gap:32px}.sevens-gallery .sevens-gallery__item--wide{grid-column:auto}.sevens-contact--image{grid-template-columns:minmax(0,1fr)}.sevens-gallery .sevens-gallery__dialog{padding:14px}.sevens-gallery .sevens-gallery__view img{height:55svh}}
/* Gallery 0.5: four-frame compositions, subsequent groups via slider. */
.sevens-gallery.sevens-gallery--mosaic{--sg-intro:300px;display:grid;grid-template-columns:minmax(0,var(--sg-intro)) minmax(0,1fr);gap:48px;align-items:center}
.sevens-gallery--mosaic .sevens-gallery__intro,.sevens-gallery--mosaic .sevens-gallery__main{min-width:0}
.sevens-gallery--mosaic .sevens-section__heading{font-size:clamp(2.2rem,3.2vw,3.8rem)}
.sevens-gallery--mosaic .sevens-gallery__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:24px;touch-action:auto}
.sevens-gallery--mosaic .sevens-gallery__slide{flex:0 0 100%;min-width:0;height:480px;display:grid;grid-template-columns:minmax(0,1.6fr) repeat(clamp(1,var(--sp-columns,2),2),minmax(0,1fr));grid-template-rows:repeat(clamp(1,var(--sp-columns,2),2),minmax(0,1fr));gap:16px;scroll-snap-align:start}
.sevens-gallery--mosaic [hidden]{display:none!important}
.sevens-gallery--mosaic .sevens-gallery__item{position:relative;min-height:0;min-width:0;margin:0;overflow:hidden}
.sevens-gallery--mosaic .sevens-gallery__item:nth-child(1){grid-column:1;grid-row:1/span 2}
.sevens-gallery--mosaic .sevens-gallery__item:nth-child(2){grid-column:2/span 2;grid-row:1}
.sevens-gallery--mosaic .sevens-gallery__item:nth-child(3){grid-column:2;grid-row:2}
.sevens-gallery--mosaic .sevens-gallery__item:nth-child(4){grid-column:3;grid-row:2}
.sevens-gallery--mosaic .sevens-gallery__item:only-child{grid-column:1/-1}
.sevens-gallery--mosaic .sevens-gallery__item .sevens-section__image-frame{width:100%;height:100%;aspect-ratio:auto}
.sevens-gallery--mosaic .sevens-gallery__item figcaption{position:absolute;bottom:0;left:0;right:0;margin:0;padding:18px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.7));font-size:.7rem;color:#fff;pointer-events:none}
.sevens-gallery--mosaic .sevens-gallery__pager{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px}
.sevens-gallery--mosaic .sevens-gallery__page-label{font-size:.8rem;letter-spacing:.08em}
.sevens-gallery--mosaic .sevens-gallery__page-actions{display:flex;gap:12px}
.sevens-gallery--mosaic .sevens-gallery__page-actions button{padding:8px;min-width:44px;border-radius:50%}
.sevens-gallery--mosaic .sevens-gallery__page-actions button:disabled{opacity:.35;cursor:default}
@media(max-width:1100px){.sevens-gallery.sevens-gallery--mosaic{grid-template-columns:minmax(0,1fr);gap:32px}.sevens-gallery--mosaic .sevens-gallery__slide{height:440px}}
@media(max-width:767px){.sevens-gallery--mosaic .sevens-gallery__slide{height:360px;gap:10px}.sevens-gallery--mosaic .sevens-gallery__item figcaption{font-size:.65rem;padding:12px 6px 6px}}

.sevens-gallery--enhanced .sevens-gallery__track{touch-action:pan-y}

.sevens-gallery--mosaic:not(.sevens-gallery--captions) .sevens-gallery__item figcaption{display:none}
/* Contact 0.6: full-section image, left fade, right editable signature. */
.sevens-contact.sevens-contact--cinematic{--sc-bg:#090a10;--sc-content-width:46%;--sc-focus-x:75%;--sc-focus-y:18%;--sc-fade-solid:22%;--sc-fade-end:78%;--sc-fade-opacity:100%;--sc-signature-x:76%;--sc-signature-y:68%;--sc-signature-width:36%;--sc-signature-rotation:-12deg;position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;min-height:520px;overflow:hidden}
.sevens-contact--cinematic .sevens-contact__background{position:absolute;inset:0;z-index:-3;pointer-events:none}
.sevens-contact--cinematic .sevens-contact__background img{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--sc-focus-x) var(--sc-focus-y)}
.sevens-contact--cinematic .sevens-contact__fade{position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:var(--sc-fade-opacity);background:linear-gradient(to right,var(--sc-fade-color,var(--sc-bg)) 0%,var(--sc-fade-color,var(--sc-bg)) var(--sc-fade-solid),transparent max(var(--sc-fade-solid),var(--sc-fade-end)))}
.sevens-contact--cinematic .sevens-contact__content{width:var(--sc-content-width);max-width:100%;min-width:0;position:relative;z-index:1}
.sevens-contact--cinematic .sevens-section__header{margin-bottom:24px}
.sevens-contact--cinematic .sevens-section__heading{font-size:clamp(2rem,3.8vw,4.4rem)}
.sevens-contact--cinematic .sevens-contact__signature{position:absolute;left:var(--sc-signature-x);top:var(--sc-signature-y);width:var(--sc-signature-width);max-width:90%;margin:0;z-index:2;color:#9a6479;font-family:Georgia,serif;font-style:italic;font-size:clamp(1.5rem,3.5vw,3.8rem);font-weight:400;line-height:1.05;text-align:center;transform:translate(-50%,-50%) rotate(var(--sc-signature-rotation));overflow-wrap:anywhere;pointer-events:none}
.sevens-contact--cinematic .sevens-contact__signature span{display:block}
@media(max-width:1100px){.sevens-contact.sevens-contact--cinematic{min-height:440px;--sc-content-width:52%;--sc-fade-solid:20%;--sc-fade-end:85%}}
@media(max-width:767px){
 .sevens-contact.sevens-contact--cinematic{min-height:520px;--sc-content-width:100%;--sc-fade-solid:10%;--sc-fade-end:100%;--sc-signature-width:70%;--sc-signature-rotation:-8deg}
 .sevens-contact--cinematic .sevens-contact__background{opacity:.55}
 .sevens-contact--cinematic .sevens-contact__signature{position:relative;left:auto;top:auto;align-self:flex-end;width:var(--sc-signature-width);max-width:90%;margin:64px 0 0;transform:rotate(var(--sc-signature-rotation));font-size:1.5rem}
 .sevens-contact--cinematic.sevens-contact--mobile-overlay .sevens-contact__signature{position:absolute;left:var(--sc-signature-x);top:var(--sc-signature-y);margin:0;transform:translate(-50%,-50%) rotate(var(--sc-signature-rotation))}
}

/* Fill every gallery frame automatically; original image stays in the lightbox. */
.sevens-gallery.sevens-gallery--mosaic .sevens-gallery__item .sevens-section__image-frame img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;object-fit:cover!important;object-position:center center!important}

/* Contact: full viewport, including inside a centered boxed Elementor container. */
.sevens-contact.sevens-contact--fullscreen{
 width:var(--sc-viewport-width,100vw)!important;max-width:none!important;
 margin-left:calc(50% - var(--sc-viewport-width,100vw)/2)!important;
 margin-right:calc(50% - var(--sc-viewport-width,100vw)/2)!important;
 min-height:100vh!important;box-sizing:border-box;background-color:var(--sc-bg);
}
.sevens-contact--fullscreen .sevens-contact__background img{
 width:100%!important;height:100%!important;max-height:none!important;
 object-fit:var(--sc-image-fit,cover)!important;object-position:var(--sc-focus-x) var(--sc-focus-y)!important;
}

.sevens-section{min-width:0;height:auto;container:sevens-portfolio / inline-size}
.sevens-media .sevens-section__grid>article{min-width:0}
.sevens-gallery--mosaic .sevens-gallery__slide{height:clamp(320px,35vw,480px)}
.sevens-gallery__pager,.sevens-gallery__controls{flex-wrap:wrap}
.sevens-section__image-frame img{max-height:none;max-width:none}
.sevens-contact.sevens-contact--fullscreen{min-height:100vh!important;min-height:100svh!important}
@media(max-width:767px){
 .sevens-gallery--mosaic .sevens-gallery__slide{height:clamp(280px,90vw,420px)}
 .sevens-gallery--mosaic .sevens-gallery__pager{gap:8px}
 .sevens-contact--cinematic .sevens-contact__content{width:100%}
 .sevens-contact--cinematic .sevens-contact__signature{margin-top:32px}
 .sevens-contact--cinematic .sevens-contact__fade{background:linear-gradient(to right,var(--sc-fade-color,var(--sc-bg)),transparent),linear-gradient(to top,var(--sc-bg),transparent 75%)}
}

@container sevens-portfolio (max-width:650px){
 .sevens-media .sevens-section__grid{grid-template-columns:minmax(0,1fr)}
 .sevens-gallery--mosaic .sevens-gallery__slide{height:clamp(280px,70cqw,420px);gap:10px}
}

.elementor-widget-sevens_artist_media,.elementor-widget-sevens_artist_gallery{min-width:0;container:sevens-portfolio-host / inline-size}
@container sevens-portfolio-host (max-width:1100px){.sevens-gallery.sevens-gallery--mosaic{grid-template-columns:minmax(0,1fr);gap:32px}}
@media(max-width:1100px){.elementor-widget-sevens_artist_about,.elementor-widget-sevens_artist_work,.elementor-widget-sevens_artist_media,.elementor-widget-sevens_artist_gallery,.elementor-widget-sevens_artist_contact{height:auto!important;max-height:none!important}}

/* Mobile sections follow content height, without inherited desktop whitespace. */
@media(max-width:767px){
 .sevens-gallery.sevens-gallery{height:auto!important;min-height:0!important;max-height:none!important;padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;align-self:stretch!important;width:100%!important;max-width:100%!important;flex-basis:auto!important}
 .elementor-widget-sevens_artist_gallery{height:auto!important;min-height:0!important;max-height:none!important;flex-grow:0!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;align-self:stretch!important;width:100%!important;max-width:100%!important;flex-basis:auto!important}
}

/* Match the hero: an absolute full-section image, independent of theme image sizing. */
.sevens-contact.sevens-contact--cinematic .sevens-contact__background{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none}
.sevens-contact.sevens-contact--cinematic .sevens-contact__background img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:var(--sc-focus-x) var(--sc-focus-y)!important}
