:root{--bg:#080a09;--panel:#0d100e;--ivory:#f2ede4;--muted:#b5aea3;--bronze:#bd9d66;--line:rgba(255,255,255,.12);--max:1320px;--ease:cubic-bezier(.22,.8,.22,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ivory);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}
body.menu-open,body.gallery-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;width:100%;height:auto}
.lang-gr{display:none!important}.gr .lang-en{display:none!important}.gr .lang-gr{display:revert!important}
.container{width:min(var(--max),calc(100% - 96px));margin:auto}
.nav{position:fixed;inset:0 0 auto;z-index:100;height:78px;padding:0 max(24px,4vw);display:flex;align-items:center;justify-content:space-between;gap:32px;background:rgba(7,9,8,.9);backdrop-filter:blur(20px);border-bottom:1px solid var(--line)}
.brand{font:500 22px/1 "Cormorant Garamond",serif;letter-spacing:.08em;white-space:nowrap}.brand small{display:block;margin-top:7px;font:400 7px/1.2 Manrope;letter-spacing:.3em;text-transform:uppercase;color:#aaa49b}
.desktop-menu{display:flex;align-items:center;gap:24px;font-size:9px;letter-spacing:.17em;text-transform:uppercase}.desktop-menu>a{opacity:.72;transition:.25s}.desktop-menu>a:hover{opacity:1;color:var(--bronze)}.desktop-menu>a.active{opacity:1;color:var(--bronze)}
.lang-switch{display:flex;gap:8px;align-items:center}.lang-switch button{border:0;padding:2px;background:none;color:#fff;cursor:pointer;opacity:.4}.lang-switch button.active{opacity:1;color:#d2b77f}.lang-switch i{font-style:normal;color:#777}
.menu-toggle{display:none;border:0;background:none;color:#fff;letter-spacing:.18em;text-transform:uppercase}.mobile-menu{display:none}
.hero{position:relative;background:#070908}.hero h1{font:400 clamp(64px,7.5vw,118px)/.78 "Cormorant Garamond",serif;letter-spacing:-.035em;margin:0}.eyebrow{font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--bronze);margin:0 0 22px}.hero-media{margin:0;overflow:hidden}.hero-media img{height:100%;object-fit:cover}.button{min-height:46px;padding:13px 17px;border:1px solid rgba(189,157,102,.72);background:transparent;color:#f4eee5;font-size:8px;letter-spacing:.19em;text-transform:uppercase;display:inline-flex;align-items:center;gap:14px;cursor:pointer}.button:hover{background:var(--bronze);color:#111}
.section{padding:112px 0;border-top:1px solid var(--line);scroll-margin-top:76px}.section-head{display:grid;grid-template-columns:.84fr 1.16fr;gap:82px;align-items:end;margin-bottom:64px}.section h2,.contact h2{font:400 clamp(50px,5vw,80px)/.94 "Cormorant Garamond",serif;letter-spacing:-.02em;margin:0}.lead{font:400 21px/1.58 "Cormorant Garamond",serif;color:#cec6bb;margin:0}.lead p{margin:0 0 22px}.lead p:last-child{margin-bottom:0}
.projects{display:grid;gap:80px}.project{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:56px;align-items:center}.project.reverse{grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr)}.project.reverse img{order:2}.project>img{aspect-ratio:16/10;object-fit:cover;background:#111}.project>div>span,.film-card span,.services article>span,.gallery-card>span{font-size:8px;line-height:1.6;letter-spacing:.18em;text-transform:uppercase;color:#918a80}.project h3,.film-card h3,.services h3,.gallery-card h3{font:400 40px/1 "Cormorant Garamond",serif;margin:10px 0 16px}.project p{font:400 19px/1.58 "Cormorant Garamond",serif;color:#beb6aa;margin:0}
.gallery-links{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:86px}.gallery-card{min-height:170px;padding:30px;display:grid;grid-template-columns:1fr auto;align-items:end;text-align:left;border:1px solid #2b2d29;background:var(--panel);color:var(--ivory);cursor:pointer}.gallery-card>span{grid-column:1/-1;align-self:start}.gallery-card h3{margin:26px 0 0}.gallery-card b{font-size:22px;color:var(--bronze)}.gallery-card:hover{border-color:var(--bronze)}
.food{background:#0b0d0c}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.food-grid figure{margin:0}.food-grid img{aspect-ratio:3/2;object-fit:cover;background:#111}.food-grid figcaption{margin-top:10px;font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:#938d84}
.portrait-intro{max-width:580px}.portrait-note{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 24px}.portraits .eyebrow{font-size:12px;line-height:1.6;letter-spacing:.2em}.portrait-gallery-button{font-size:12px;line-height:1.6;letter-spacing:.1em}.portrait-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.portrait-preview figure{margin:0;min-width:0}.portrait-image-button{display:block;position:relative;width:100%;padding:0;border:0;background:#111;color:var(--ivory);cursor:pointer;text-align:left}.portrait-image-button img{aspect-ratio:2/3;object-fit:contain}.portrait-open-label{display:flex;justify-content:space-between;gap:16px;padding:17px 20px;font-size:14px;line-height:1.5;background:var(--panel);border-bottom:1px solid var(--line)}.portrait-open-label b{color:var(--bronze)}.portrait-image-button:hover .portrait-open-label{border-color:var(--bronze)}.portrait-preview figcaption,.gallery-grid.portrait-gallery figcaption{font-size:12px;line-height:1.7;letter-spacing:.06em;color:var(--muted);margin:12px 0 0}.gallery-grid.portrait-gallery{max-width:1180px;align-items:start}.gallery-grid.portrait-gallery img{aspect-ratio:2/3;object-fit:contain}.portrait-image-button:focus-visible,.portrait-gallery-button:focus-visible,#galleryClose:focus-visible{outline:2px solid var(--bronze);outline-offset:5px}body.gallery-open .sound-toggle{visibility:hidden}
.film-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.film-card{position:relative;background:var(--panel);border:1px solid #252823;transition:border-color .3s,transform .3s}.film-card:hover{transform:translateY(-4px);border-color:var(--bronze)}.film-media{position:relative;display:block;width:100%;padding:0;border:0;margin:0;background:#111;cursor:pointer;aspect-ratio:16/9;overflow:hidden}.film-media img{height:100%;object-fit:cover;transition:transform .6s var(--ease)}.film-card:hover .film-media img{transform:scale(1.035)}.film-media.is-embed{cursor:default;aspect-ratio:16/9}.film-media.is-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.film-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;border:1px solid rgba(247,241,232,.75);background:rgba(6,7,6,.45);backdrop-filter:blur(6px);display:grid;place-items:center;color:#f7f1e8;font-size:16px;transition:.3s}.film-card:hover .film-play{background:var(--bronze);color:#111;border-color:var(--bronze)}.film-card>div{position:relative;padding:26px 28px 28px}.film-card h3{font-size:34px}.film-card p{font:400 17px/1.5 "Cormorant Garamond",serif;color:#bcb4a9;margin:0 0 10px}.film-credit{font:400 12px/1.4 Manrope,sans-serif!important;letter-spacing:.1em;text-transform:uppercase;color:#8f887d!important;margin:0 0 16px!important}.film-external{display:inline-flex;align-items:center;gap:6px;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);opacity:.85}.film-external:hover{opacity:1}
.about{background:#0c0f0d}.services-intro{margin-top:72px;padding-top:42px;border-top:1px solid var(--line)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.services article{padding:30px;background:#0a0c0b;border:1px solid #282b26;min-height:260px}.services h3{font-size:31px;margin-top:24px}.services p{font:400 17px/1.52 "Cormorant Garamond",serif;color:#b8b0a5;margin:0}
.credits{margin-top:30px}.credits summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#3d332b;border:1px solid var(--bronze);font-size:9px;letter-spacing:.17em;text-transform:uppercase}.credits summary::-webkit-details-marker{display:none}.credits[open] summary b{transform:rotate(45deg)}.credits summary b{font-size:22px;font-weight:300;transition:.25s;color:var(--bronze)}.credit-list{columns:2;column-gap:50px;margin:0;padding:34px 18px 12px}.credit-list li{break-inside:avoid;margin:0 0 12px;font:400 17px/1.4 "Cormorant Garamond",serif;color:#c4bcb1}
.contact{padding:110px 0 38px;text-align:center;border-top:1px solid var(--line)}.contact h2{font-size:clamp(56px,6vw,94px)}.contact-links{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-top:38px}.contact-links a{padding-bottom:7px;border-bottom:1px solid #5d5952;font-size:8px;letter-spacing:.17em;text-transform:uppercase}.contact footer{margin-top:80px;padding-top:26px;border-top:1px solid var(--line);font-size:7px;letter-spacing:.17em;color:#8e8981}
.sound-toggle{position:fixed;z-index:170;right:22px;bottom:22px;display:flex;align-items:center;gap:10px;padding:12px 15px;border:1px solid rgba(189,157,102,.7);background:rgba(7,9,8,.9);backdrop-filter:blur(14px);color:#efe8dd;font-size:8px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}.sound-toggle i{width:8px;height:8px;border-radius:50%;background:#824b38}.sound-toggle.playing i{background:#d2b77f;box-shadow:0 0 12px rgba(210,183,127,.6)}

/* gallery modal + lightbox viewer */
.gallery-modal{position:fixed;inset:0;z-index:160;background:rgba(4,5,4,.99);overflow:auto;opacity:0;visibility:hidden;pointer-events:none;transition:.35s}.gallery-modal.open{opacity:1;visibility:visible;pointer-events:auto}.gallery-bar{position:sticky;top:0;z-index:2;padding:20px max(18px,4vw);display:flex;justify-content:space-between;align-items:center;gap:24px;background:rgba(4,5,4,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.gallery-bar .eyebrow{margin-bottom:8px}.gallery-bar h2{font:400 clamp(38px,4vw,64px)/1 "Cormorant Garamond",serif;margin:0}.gallery-bar p:not(.eyebrow){font:400 16px/1.45 "Cormorant Garamond",serif;color:#aaa398;margin:8px 0 0}.gallery-bar button{flex:0 0 48px;width:48px;height:48px;border-radius:50%;border:1px solid #7f6a48;background:#0c0e0d;color:#fff;font-size:25px;cursor:pointer}.gallery-grid{width:min(1500px,calc(100% - 48px));margin:34px auto 80px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.gallery-grid figure{margin:0;cursor:pointer}.gallery-grid img{aspect-ratio:16/10;object-fit:cover;background:#111;transition:opacity .3s}.gallery-grid figure:hover img{opacity:.85}.gallery-grid figcaption{margin-top:10px;font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:#938d84}
.gallery-viewer{position:fixed;inset:0;z-index:180;background:rgba(2,3,2,.98);display:none;align-items:center;justify-content:center;padding:80px 90px}.gallery-viewer.open{display:flex}.gallery-viewer figure{margin:0;max-width:min(1400px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center}.gallery-viewer img{width:auto;max-width:100%;max-height:78vh;object-fit:contain}.gallery-viewer figcaption{margin-top:16px;font-size:12px;letter-spacing:.08em;color:var(--muted)}.viewer-nav{position:fixed;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(247,241,232,.35);background:rgba(8,9,8,.7);color:#f7f1e8;font-size:26px;cursor:pointer;display:grid;place-items:center}.viewer-nav:hover{border-color:var(--bronze);color:var(--bronze)}.viewer-prev{left:24px}.viewer-next{right:24px}.viewer-close{position:fixed;top:22px;right:24px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(247,241,232,.35);background:rgba(8,9,8,.7);color:#f7f1e8;font-size:22px;cursor:pointer}.viewer-count{position:fixed;top:32px;left:28px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}

@media(max-width:1050px){.container{width:calc(100% - 56px)}.desktop-menu{gap:15px}.section-head{gap:48px}}
@media(max-width:1050px){.nav{height:70px;padding:0 20px}.brand{font-size:18px}.desktop-menu{display:none}.menu-toggle{display:block}.mobile-menu{position:fixed;inset:70px 0 0;z-index:99;padding:28px 24px 96px;background:#080a09;display:flex;flex-direction:column;gap:22px;overflow-y:auto;visibility:hidden;transform:translateY(-110%);transition:.32s}.mobile-menu.open{transform:none;visibility:visible}.mobile-menu>a{font:400 36px/1 "Cormorant Garamond",serif}}
@media(max-width:820px){.portrait-preview{grid-template-columns:1fr;gap:34px}.container{width:calc(100% - 40px)}}
@media(max-width:820px){.container{width:calc(100% - 40px)}.section{padding:80px 0;scroll-margin-top:68px}.section-head{grid-template-columns:1fr;gap:26px;margin-bottom:46px}.section h2{font-size:52px}.lead{font-size:20px}.projects{gap:64px}.project,.project.reverse{grid-template-columns:1fr;gap:24px}.project.reverse img{order:0}.project h3{font-size:37px}.gallery-links,.food-grid,.film-grid,.services,.gallery-grid{grid-template-columns:1fr}.credit-list{columns:1}.sound-toggle{right:14px;bottom:14px}.gallery-grid{width:calc(100% - 28px);gap:30px}.gallery-grid img{aspect-ratio:auto}.gallery-bar{align-items:flex-start}.gallery-bar h2{font-size:38px}.gallery-viewer{padding:100px 24px}.viewer-prev{left:8px}.viewer-next{right:8px}}
@media(max-width:480px){.brand small{font-size:6px}.section h2,.contact h2{font-size:45px;overflow-wrap:break-word}.contact h2{font-size:50px}.gallery-card{min-height:150px;padding:24px}.services article{min-height:0}.project>img{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1!important;transform:none!important}.hero-cinematic .hero-media img{animation:none!important}}
@media(min-width:821px){.hero h1{font-size:clamp(54px,5.2vw,88px);line-height:.8}}
@media(max-width:480px){.nav{gap:10px;padding:0 16px}.brand{font-size:clamp(13px,4vw,18px);letter-spacing:.06em}.menu-toggle{padding:8px 0;font-size:11px;flex-shrink:0}}

/* V16 cinematic opening */
@keyframes heroKenBurns{from{transform:scale(1)}to{transform:scale(1.07)}}
.hero.hero-cinematic{position:relative;display:block;height:100svh;min-height:620px;padding:0;overflow:hidden;background:#050706}
.hero-cinematic .hero-media{position:absolute;inset:0;margin:0;width:100%;height:100%;min-height:0;overflow:hidden}
.hero-cinematic .hero-media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
.hero-cinematic .hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,6,7,.28) 0%,rgba(4,6,7,.02) 38%,rgba(4,6,7,.58) 100%),linear-gradient(90deg,rgba(4,6,7,.38) 0%,transparent 54%)}
.hero-cinematic .hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center;animation:heroKenBurns 28s ease-out forwards}
.hero-overlay{position:absolute;z-index:2;left:max(24px,6vw);bottom:clamp(78px,11vh,128px);max-width:min(850px,84vw);color:#f7f1e8;text-shadow:0 3px 24px rgba(0,0,0,.54)}
.hero.hero-cinematic .hero-overlay h1{margin:0;font:500 clamp(45px,6.7vw,108px)/.88 "Cormorant Garamond",serif;letter-spacing:.015em}
.hero-overlay p{margin:18px 0 0;font:400 clamp(19px,2vw,31px)/1.1 "Cormorant Garamond",serif;letter-spacing:.08em}
.hero-scroll{position:absolute;z-index:2;right:max(24px,4vw);bottom:40px;width:48px;height:48px;border:1px solid rgba(247,241,232,.65);border-radius:50%;display:grid;place-items:center;font-size:18px;animation:heroScrollBob 2.6s ease-in-out infinite}
@keyframes heroScrollBob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
.portfolio-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#090b0a;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scroll-margin-top:70px}
.portfolio-index>a{min-height:230px;padding:38px clamp(24px,4vw,64px);display:flex;flex-direction:column;justify-content:flex-end;border-right:1px solid var(--line);transition:.3s}
.portfolio-index>a:last-child{border-right:0}.portfolio-index>a:hover{background:#101310}.portfolio-index span{font-size:12px;letter-spacing:.2em;color:var(--bronze)}
.portfolio-index strong{margin-top:24px;font:500 clamp(36px,4vw,62px)/.9 "Cormorant Garamond",serif;letter-spacing:.06em}
.portfolio-index small{margin-top:18px;font-size:12px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
@media(max-width:820px){.hero.hero-cinematic{display:block;height:100svh;min-height:560px;padding:0}.hero-cinematic .hero-media{height:100%;min-height:0}.hero-cinematic .hero-media img{object-position:43% center}.hero-overlay{left:22px;right:22px;bottom:92px;max-width:none}.hero.hero-cinematic .hero-overlay h1{font-size:clamp(38px,11.6vw,58px);line-height:.86;max-width:8ch}.hero-overlay p{font-size:21px;line-height:1.25;letter-spacing:.04em}.hero-scroll{left:20px;right:auto;bottom:22px}.portfolio-index{grid-template-columns:1fr}.portfolio-index>a{min-height:170px;border-right:0;border-bottom:1px solid var(--line);padding:28px 22px}.portfolio-index>a:last-child{border-bottom:0}.portfolio-index strong{font-size:47px}.portrait-preview{grid-template-columns:1fr}}

/* Premium refinements: About portrait + contact only */
.about-portrait{width:min(390px,100%);margin:10px auto 72px;text-align:center}.about-photo-wrap{position:relative;overflow:hidden;border:1px solid rgba(189,157,102,.28);box-shadow:0 24px 70px rgba(0,0,0,.28)}.about-photo-wrap>img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border:0;box-shadow:none}.about-signature{padding-top:20px}.about-signature .signature-mark{display:block;width:min(300px,88%);height:auto;aspect-ratio:auto;object-fit:contain;border:0;box-shadow:none;margin:0 auto;filter:none}.about-signature span{display:block;margin-top:10px;font-size:8px;letter-spacing:.25em;color:var(--bronze)}
.premium-contact{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:16px;max-width:980px;margin:48px auto 0;text-align:left}.contact-links.premium-contact .contact-item{position:relative;min-height:145px;padding:24px 26px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(189,157,102,.025));transition:border-color .3s,transform .3s}.contact-links.premium-contact .contact-item:hover{border-color:rgba(189,157,102,.72);transform:translateY(-3px)}.contact-links.premium-contact .contact-item>span{display:block;margin-bottom:22px;font-size:8px;letter-spacing:.25em;text-transform:uppercase;color:var(--bronze)}.contact-links.premium-contact a{display:block;width:max-content;max-width:100%;padding:4px 0;border:0;font:400 19px/1.3 "Cormorant Garamond",serif;letter-spacing:.01em;text-transform:none;color:#eee8df;overflow-wrap:anywhere}.contact-links.premium-contact a:hover{color:var(--bronze)}.copy-contact{position:absolute;right:18px;bottom:17px;border:0;background:none;color:#817a70;font-size:7px;letter-spacing:.2em;cursor:pointer}.copy-contact:hover{color:var(--bronze)}
@media(max-width:820px){.about-portrait{width:min(300px,78vw);margin-bottom:54px}.premium-contact{grid-template-columns:1fr;gap:12px}.contact-links.premium-contact .contact-item{min-height:130px}.contact-links.premium-contact a{font-size:21px}}


/* Premium clickable cues — gallery cards, production list and social links */
.gallery-card{position:relative;overflow:hidden;transition:border-color .3s ease,transform .3s ease,background .3s ease}
.gallery-card:hover{transform:translateY(-2px);background:linear-gradient(145deg,#0b0e0c,#11110f)}
.gallery-card .card-action{align-self:end;justify-self:end;display:inline-flex;align-items:center;gap:10px;margin:0;font:500 7px/1 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#d9c08d;border:1px solid rgba(189,157,102,.52);border-radius:999px;padding:9px 12px;background:rgba(189,157,102,.035);white-space:nowrap}
.gallery-card .card-action i{width:6px;height:6px;border-radius:50%;background:var(--bronze);box-shadow:0 0 0 4px rgba(189,157,102,.10)}
.gallery-card:hover .card-action{background:var(--bronze);color:#0b0d0c;border-color:var(--bronze)}
.gallery-card:hover .card-action i{background:#0b0d0c;box-shadow:none}

.credits{margin-top:34px}
.credits summary{padding:0;min-height:86px;background:linear-gradient(145deg,rgba(255,255,255,.018),rgba(189,157,102,.035));border:1px solid rgba(189,157,102,.58);transition:border-color .3s ease,background .3s ease}
.credits summary:hover{border-color:var(--bronze);background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(189,157,102,.065))}
.credits-title{padding:22px 24px;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#e8e1d7}
.credits-action{margin-right:18px;display:inline-flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid rgba(189,157,102,.50);border-radius:999px;color:#d9c08d;font-size:7px;font-weight:500;letter-spacing:.16em;white-space:nowrap}
.credits-action i{width:6px;height:6px;border-radius:50%;background:var(--bronze);transition:transform .25s ease}
.credits .when-open{display:none}.credits[open] .when-closed{display:none}.credits[open] .when-open{display:inline}
.credits[open] .credits-action i{transform:scale(.65)}

.contact-links.premium-contact .social-item{padding-bottom:20px}
.contact-links.premium-contact .social-item>a{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.contact-links.premium-contact .social-item>a:last-child{border-bottom:0}
.contact-links.premium-contact .social-item>a em{font-style:normal}
.contact-links.premium-contact .social-item>a b{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(189,157,102,.45);border-radius:999px;padding:7px 10px;font:500 7px/1 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#c9b17f;transition:.25s}
.contact-links.premium-contact .social-item>a b:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--bronze)}
.contact-links.premium-contact .social-item>a:hover b{background:var(--bronze);color:#0b0d0c;border-color:var(--bronze)}
.contact-links.premium-contact .social-item>a:hover b:before{background:#0b0d0c}

/* Use the supplied final About portrait exactly as provided, without adding another frame */
.about-photo-wrap{border:0;box-shadow:none;overflow:visible;background:transparent}
.about-photo-wrap>img{aspect-ratio:auto;object-fit:contain;background:transparent}

@media(max-width:820px){
  .gallery-card{min-height:160px}.gallery-card .card-action{font-size:6px;padding:8px 10px}
  .credits summary{align-items:flex-start;flex-direction:column;gap:0;padding:0}.credits-title{padding:20px 20px 8px}.credits-action{margin:0 0 18px 20px}
  .contact-links.premium-contact .social-item>a{font-size:21px}
}

/* Premium gallery CTA emphasis — 2026-09-12 */
.gallery-card .card-action{
  font-size:9px;
  font-weight:600;
  letter-spacing:.14em;
  padding:12px 16px;
  border-width:1.5px;
  border-color:rgba(205,169,104,.78);
  background:rgba(189,157,102,.09);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015),0 0 0 1px rgba(189,157,102,.05);
}
.gallery-card .card-action i{
  width:8px;
  height:8px;
  box-shadow:0 0 0 5px rgba(189,157,102,.13);
}
@media(max-width:480px){
  .gallery-card .card-action{
    font-size:8px;
    padding:11px 14px;
    letter-spacing:.13em;
  }
}

/* Final September 2026 refinements — approved hero, portrait sizing, CV */
.hero-cinematic .hero-media::after{
  background:
    linear-gradient(180deg,rgba(4,6,7,.18) 0%,rgba(4,6,7,.03) 48%,rgba(4,6,7,.58) 100%),
    linear-gradient(90deg,rgba(4,6,7,.90) 0%,rgba(4,6,7,.78) 30%,rgba(4,6,7,.35) 54%,rgba(4,6,7,.06) 78%,rgba(4,6,7,.16) 100%);
}
.hero-cinematic .hero-media img{object-position:center center;animation:heroKenBurns 30s ease-out forwards}
.hero-overlay{left:max(24px,5.5vw);bottom:clamp(82px,10vh,118px);max-width:min(760px,58vw);text-shadow:0 3px 28px rgba(0,0,0,.66)}
.hero.hero-cinematic .hero-overlay h1{font:500 clamp(48px,5vw,78px)/.98 "Cormorant Garamond",serif;letter-spacing:.005em;max-width:12.5ch}
.hero-overlay p{margin:24px 0 0;font:500 10px/1.4 Manrope,sans-serif;letter-spacing:.26em;text-transform:uppercase;color:#e9e1d6}
.hero-cta{display:inline-flex;align-items:center;gap:26px;margin-top:28px;min-height:48px;padding:13px 17px;border:1px solid rgba(238,229,217,.58);font:500 8px/1.25 Manrope,sans-serif;letter-spacing:.20em;text-transform:uppercase;color:#f6efe6;background:rgba(5,7,7,.18);transition:.25s}
.hero-cta:hover{border-color:var(--bronze);background:rgba(189,157,102,.14);color:#fff}
.hero-cta i{font-style:normal;font-size:17px;line-height:1;color:var(--bronze)}

.about-portrait{width:min(225px,100%);margin:6px auto 32px}
.about-signature{padding-top:14px}
.about-signature .signature-mark{width:min(210px,88%)}
.about-quote-wrap{max-width:760px;margin:0 auto 66px;text-align:center}
.about-quote{margin:0;font:400 clamp(25px,2.4vw,36px)/1.22 "Cormorant Garamond",serif;color:#ddd5ca}

.credits-intro,.credits-commercial{margin:0;padding:28px 18px 0;max-width:930px}
.credits-intro h3,.credits-commercial h3{margin:0 0 10px;font:500 23px/1.15 "Cormorant Garamond",serif;color:#f0e8de}
.credits-intro p,.credits-commercial p{margin:0;font:400 16px/1.65 Manrope,sans-serif;color:#a9a198}
.credits-commercial{padding-top:18px;padding-bottom:16px}
.credit-list{padding-top:26px}

@media(max-width:820px){
  .hero.hero-cinematic{min-height:690px}
  .hero-cinematic .hero-media img{object-position:67% center;animation:none}
  .hero-cinematic .hero-media::after{
    background:
      linear-gradient(180deg,rgba(4,6,7,.30) 0%,rgba(4,6,7,.15) 34%,rgba(4,6,7,.66) 100%),
      linear-gradient(90deg,rgba(4,6,7,.88) 0%,rgba(4,6,7,.67) 62%,rgba(4,6,7,.24) 100%);
  }
  .hero-overlay{left:22px;right:22px;bottom:84px;max-width:none}
  .hero.hero-cinematic .hero-overlay h1{font-size:clamp(39px,10.9vw,49px);line-height:1.00;max-width:11.6ch;letter-spacing:0}
  .hero-overlay p{margin-top:20px;font-size:9px;line-height:1.55;letter-spacing:.18em;max-width:33ch}
  .hero-cta{margin-top:22px;min-height:50px;padding:13px 14px;font-size:8px;letter-spacing:.16em;gap:18px;max-width:100%}
  .hero-scroll{display:none}
  .about-portrait{width:min(175px,52vw);margin-bottom:26px}
  .about-signature .signature-mark{width:min(165px,90%)}
  .about-quote-wrap{margin:0 auto 52px;padding:0 10px}
  .about-quote{font-size:25px;line-height:1.25}
  .credits-title{font-size:8px;line-height:1.55;letter-spacing:.14em}
  .credits-intro,.credits-commercial{padding-left:20px;padding-right:20px}
  .credits-intro h3,.credits-commercial h3{font-size:25px}
  .credits-intro p,.credits-commercial p{font-size:15px;line-height:1.65}
  .credit-list{padding-left:20px;padding-right:20px}
  .credit-list li{font-size:18px;line-height:1.45}
}

/* Hero closing statement: editorial title, not a button */
.hero-statement{
  display:block;
  margin-top:24px;
  color:var(--ivory, #f3efe7);
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(1.55rem, 2.05vw, 2.25rem);
  line-height:1.08;
  font-weight:500;
  letter-spacing:.005em;
  max-width:560px;
  pointer-events:none;
}
@media (max-width: 700px){
  .hero-statement{
    margin-top:18px;
    font-size:clamp(1.35rem, 7vw, 1.85rem);
    line-height:1.08;
    max-width:92vw;
  }
}


/* About section refinement: cleaner layout, fewer quotes */
.about .section-head{display:block}
.about-layout{display:grid;grid-template-columns:minmax(210px,245px) minmax(0,1fr);gap:44px;align-items:start;margin:32px 0 44px}.about-layout .about-portrait{width:100%;margin:0}.about-layout .about-signature{text-align:left}.about-layout .about-signature .signature-mark{margin:0}.about-copy .lead{max-width:none;margin:0}.about-copy .lead p:first-child{margin-top:0}.about-copy .lead p:last-child{margin-bottom:0}.about-quote-wrap{display:none!important}@media (max-width: 900px){.about-layout{grid-template-columns:1fr;gap:26px;margin:26px 0 34px}.about-layout .about-portrait{width:min(210px,58vw)}.about-layout .about-signature{text-align:left}.about-layout .about-signature .signature-mark{margin:0}}

/* Mobile hero: show the office clearly instead of an over-cropped full-screen background */
@media (max-width: 820px){
  .hero.hero-cinematic{
    height:auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:visible;
    background:#050706;
  }
  .hero-cinematic .hero-media{
    position:relative;
    inset:auto;
    width:100%;
    height:46svh;
    min-height:330px;
    max-height:440px;
    order:1;
    overflow:hidden;
  }
  .hero-cinematic .hero-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:35% center;
    animation:none!important;
    filter:none;
  }
  .hero-cinematic .hero-media::after{
    background:linear-gradient(180deg,rgba(4,6,7,.06) 0%,rgba(4,6,7,.02) 66%,rgba(4,6,7,.34) 100%);
  }
  .hero-overlay{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    order:2;
    max-width:none;
    width:100%;
    padding:34px 22px 42px;
    background:#050706;
    text-shadow:none;
  }
  .hero.hero-cinematic .hero-overlay h1{
    max-width:11ch;
    font-size:clamp(40px,11.2vw,54px);
    line-height:.98;
  }
  .hero-overlay p{
    margin-top:18px;
    max-width:none;
    font-size:9px;
    line-height:1.55;
    letter-spacing:.17em;
  }
  .hero-statement{
    margin-top:20px;
    max-width:12ch;
    font-size:clamp(28px,7.6vw,38px);
    line-height:1.05;
  }
  .hero-scroll{display:none}
}


/* FINAL 2026-09-13 — hero + gallery reliability */
.hero-cinematic .hero-media picture{display:block;width:100%;height:100%}
.hero-cinematic .hero-media picture img{display:block;width:100%;height:100%;object-fit:cover}
.gallery-grid figure.image-load-error{min-height:160px;display:grid;place-items:center;border:1px solid rgba(189,157,102,.22)}
@media (max-width:820px){
  .hero-cinematic .hero-media{height:auto;min-height:0;max-height:none;aspect-ratio:1/1}
  .hero-cinematic .hero-media picture{height:100%}
  .hero-cinematic .hero-media picture img{height:100%;object-fit:cover;object-position:center center}
  .hero-cinematic .hero-media::after{background:linear-gradient(180deg,rgba(4,6,7,.02) 0%,rgba(4,6,7,.01) 72%,rgba(4,6,7,.22) 100%)}
  .hero-overlay{padding-top:30px}
}


/* Final closing quote — Henri Cartier-Bresson */
.final-quote{max-width:980px;margin:78px auto 42px;padding:44px 24px 0;border-top:1px solid rgba(189,157,102,.30);text-align:center}
.final-quote blockquote{margin:0}
.final-quote p{margin:0 auto;max-width:30ch;font:400 clamp(30px,3vw,46px)/1.15 "Cormorant Garamond",serif;color:#e8e0d5}
.final-quote cite{display:block;margin-top:22px;font:500 9px/1.4 Manrope,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze);font-style:normal}
@media(max-width:820px){.final-quote{margin:54px auto 30px;padding:34px 8px 0}.final-quote p{font-size:clamp(27px,8vw,36px);line-height:1.18;max-width:20ch}.final-quote cite{margin-top:18px;font-size:8px;letter-spacing:.18em}}


/* FINAL APPROVED HERO — 2026-09-13
   Preserve the complete composition: no crop, no extra line/button/overlay. */
.hero.hero-cinematic{
  position:relative;
  display:block;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden;
  background:#b89170;
}
.hero-cinematic .hero-media{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0;
  aspect-ratio:auto!important;
  overflow:hidden;
}
.hero-cinematic .hero-media picture{
  display:block!important;
  width:100%!important;
  height:auto!important;
}
.hero-cinematic .hero-media picture img,
.hero-cinematic .hero-media img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  animation:none!important;
  filter:none!important;
}
.hero-cinematic .hero-media::before,
.hero-cinematic .hero-media::after{display:none!important}
.hero-overlay,.hero-scroll,.hero-statement,.hero-cta{display:none!important}
@media(max-width:820px){
  .hero.hero-cinematic{height:auto!important;min-height:0!important;background:#b89170}
  .hero-cinematic .hero-media{height:auto!important;min-height:0!important;aspect-ratio:auto!important}
  .hero-cinematic .hero-media picture,.hero-cinematic .hero-media picture img{height:auto!important}
}

/* Merged About + Career — premium unified profile */
.merged-profile-head{align-items:end}
.merged-career-title .career-years{display:inline-block;font-size:1.18em;line-height:.82;font-weight:400;letter-spacing:-.035em;color:#f2ece4;margin-right:.06em}
.merged-tagline{margin:0 0 .28em;font:500 11px/1.45 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze);text-align:left}
.merged-about-layout{margin-top:8px}
@media(max-width:820px){.merged-profile-head{gap:18px}.merged-tagline{font-size:9px;letter-spacing:.18em;margin-top:-4px}.merged-career-title .career-years{font-size:1.15em}.merged-about-layout{margin-top:0}}


/* PREMIUM REFINEMENT — 2026-09-14
   Same structure, more deliberate Italian-editorial detailing. */
.about-layout.merged-about-layout{margin-bottom:18px}

.about-photo-wrap{
  position:relative!important;
  padding:7px!important;
  border:1px solid rgba(189,157,102,.38)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(189,157,102,.028))!important;
  box-shadow:0 22px 60px rgba(0,0,0,.32)!important;
  overflow:visible!important;
}
.about-photo-wrap>img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/4!important;
  object-fit:cover!important;
  background:#080a09;
}
.about-photo-wrap::before,
.about-photo-wrap::after{
  content:"";
  position:absolute;
  width:34px;
  height:34px;
  pointer-events:none;
}
.about-photo-wrap::before{
  left:-7px;top:-7px;
  border-left:1px solid var(--bronze);
  border-top:1px solid var(--bronze);
}
.about-photo-wrap::after{
  right:-7px;bottom:-7px;
  border-right:1px solid var(--bronze);
  border-bottom:1px solid var(--bronze);
}
.about-signature{padding-top:18px!important}
.about-signature span{color:#c7a66c!important}

/* CV now belongs immediately to the profile introduction */
.credits.about-cv{margin:22px 0 64px}
.credits.about-cv summary{
  position:relative;
  overflow:hidden;
  border-color:rgba(189,157,102,.72);
  background:linear-gradient(135deg,rgba(255,255,255,.018),rgba(189,157,102,.055));
}
.credits.about-cv summary::after{
  content:"";
  position:absolute;
  left:24px;right:24px;bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(189,157,102,.72),transparent);
}
.services-intro{margin-top:0!important}

/* One restrained graphic language for boxed elements */
.services article,
.gallery-card,
.film-card,
.contact-links.premium-contact .contact-item{
  position:relative;
  overflow:hidden;
  border-color:rgba(189,157,102,.25);
}
.services article::after,
.gallery-card::after,
.film-card::after,
.contact-links.premium-contact .contact-item::after{
  content:"";
  position:absolute;
  left:22px;right:22px;bottom:0;
  height:1px;
  background:linear-gradient(90deg,rgba(189,157,102,0),rgba(189,157,102,.66),rgba(189,157,102,0));
  pointer-events:none;
}
.services article::before,
.film-card::before,
.contact-links.premium-contact .contact-item::before{
  content:"";
  position:absolute;
  right:20px;bottom:-2px;
  width:5px;height:5px;border-radius:50%;
  background:var(--bronze);
  box-shadow:0 0 0 4px rgba(189,157,102,.08);
  pointer-events:none;
}
.services article{
  background:linear-gradient(145deg,#090b0a,#0d100e);
  transition:transform .3s ease,border-color .3s ease,background .3s ease;
}
.services article:hover{transform:translateY(-2px);border-color:rgba(189,157,102,.62);background:linear-gradient(145deg,#0a0d0b,#11130f)}

@media(max-width:900px){
  .about-layout .about-portrait{width:min(230px,62vw)!important;margin-inline:auto!important}
  .about-layout .about-signature{text-align:center!important}
  .about-layout .about-signature .signature-mark{margin-inline:auto!important}
  .credits.about-cv{margin:18px 0 50px}
  .credits.about-cv summary::after{left:18px;right:18px}
}

/* Mobile hero uses the exact approved composition rather than a different text layout. */
@media(max-width:820px){
  .hero-cinematic .hero-media picture img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}

/* FINAL MOBILE POLISH — 2026-09-14
   Full hero visibility, compact square About portrait, stronger linear card language. */

/* Keep the fixed navigation from covering the top of the hero on phones. */
@media(max-width:820px){
  .hero.hero-cinematic{
    margin-top:78px!important;
    background:#b89170!important;
  }
  .hero-cinematic .hero-media,
  .hero-cinematic .hero-media picture{
    width:100%!important;
    height:auto!important;
    aspect-ratio:auto!important;
    overflow:visible!important;
  }
  .hero-cinematic .hero-media picture img,
  .hero-cinematic .hero-media img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center top!important;
    transform:none!important;
  }
}

/* About portrait: return to the smaller, square editorial treatment. */
.about-layout .about-portrait{
  width:min(265px,100%)!important;
  margin:6px auto 52px!important;
}
.about-layout .about-photo-wrap{
  padding:5px!important;
  overflow:hidden!important;
  border:1px solid rgba(189,157,102,.32)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.28)!important;
}
.about-layout .about-photo-wrap>img{
  width:100%!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  object-position:center 22%!important;
}
.about-layout .about-signature{padding-top:14px!important}
.about-layout .about-signature .signature-mark{width:min(220px,84%)!important}
.about-layout .about-signature span{margin-top:7px!important;font-size:7px!important;letter-spacing:.23em!important}
@media(max-width:820px){
  .about-layout .about-portrait{
    width:min(190px,54vw)!important;
    margin:4px auto 42px!important;
  }
  .about-layout .about-signature .signature-mark{width:min(180px,90%)!important}
}

/* A more visible, consistent linear signature for all key cards/boxes. */
.portfolio-index>a,
.services article,
.gallery-card,
.film-card,
.contact-links.premium-contact .contact-item,
.credits.about-cv summary{
  position:relative!important;
  isolation:isolate;
}

/* Bottom editorial line + small lens mark. */
.portfolio-index>a::after,
.services article::after,
.gallery-card::after,
.film-card::after,
.contact-links.premium-contact .contact-item::after{
  content:""!important;
  position:absolute!important;
  left:24px!important;
  right:24px!important;
  bottom:18px!important;
  height:1px!important;
  background:linear-gradient(90deg,rgba(189,157,102,.88) 0 44px,rgba(189,157,102,.18) 44px 100%)!important;
  opacity:1!important;
  z-index:0!important;
  pointer-events:none!important;
}
.portfolio-index>a::before,
.services article::before,
.film-card::before,
.contact-links.premium-contact .contact-item::before{
  content:""!important;
  position:absolute!important;
  right:24px!important;
  bottom:13px!important;
  width:10px!important;
  height:10px!important;
  border:1px solid rgba(189,157,102,.72)!important;
  border-radius:50%!important;
  background:#0a0c0b!important;
  box-shadow:0 0 0 4px rgba(189,157,102,.07)!important;
  z-index:1!important;
  pointer-events:none!important;
}

/* Small architectural corner line, deliberately subtle but visible. */
.portfolio-index>a > * ,
.services article > *,
.gallery-card > *,
.film-card > *,
.contact-links.premium-contact .contact-item > *{
  position:relative;
  z-index:2;
}
.portfolio-index>a{padding-bottom:56px!important}
.services article{padding-bottom:56px!important}
.gallery-card{padding-bottom:56px!important}
.film-card>div{padding-bottom:48px!important}
.contact-links.premium-contact .contact-item{padding-bottom:46px!important}

/* Extra thin corner detail for the three main index panels. */
.portfolio-index>a .index-mark{display:none}
.portfolio-index>a{
  background-image:
    linear-gradient(var(--bronze),var(--bronze)),
    linear-gradient(var(--bronze),var(--bronze));
  background-size:34px 1px,1px 34px;
  background-position:right 24px top 24px,right 24px top 24px;
  background-repeat:no-repeat;
}

@media(max-width:820px){
  .portfolio-index>a{padding:30px 22px 58px!important;min-height:188px!important}
  .portfolio-index>a::after,
  .services article::after,
  .gallery-card::after,
  .film-card::after,
  .contact-links.premium-contact .contact-item::after{
    left:20px!important;right:20px!important;bottom:16px!important;
  }
  .portfolio-index>a::before,
  .services article::before,
  .film-card::before,
  .contact-links.premium-contact .contact-item::before{
    right:20px!important;bottom:11px!important;
  }
  .portfolio-index>a{
    background-size:28px 1px,1px 28px;
    background-position:right 20px top 20px,right 20px top 20px;
  }
}


/* FINAL — visual-only chapter cards: no jump links */
.portfolio-index{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  background:#090b0a;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  scroll-margin-top:70px;
}
.portfolio-chapter{
  position:relative;
  isolation:isolate;
  min-height:250px;
  padding:38px clamp(24px,4vw,64px) 58px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  border-right:1px solid rgba(255,255,255,.10);
  background-position:center;
  background-size:cover;
  cursor:default;
}
.portfolio-chapter:last-child{border-right:0}
.portfolio-chapter::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(180deg,rgba(5,7,6,.16) 0%,rgba(5,7,6,.40) 45%,rgba(5,7,6,.90) 100%),
    linear-gradient(90deg,rgba(5,7,6,.60) 0%,rgba(5,7,6,.20) 72%,rgba(5,7,6,.12) 100%);
}
.portfolio-chapter::after{
  content:"";
  position:absolute;
  top:22px;
  right:22px;
  width:30px;
  height:30px;
  border-top:1px solid rgba(205,169,104,.72);
  border-right:1px solid rgba(205,169,104,.72);
}
.portfolio-chapter.chapter-spaces{
  background-image:url("images/villa-new-01.webp");
  background-position:center 54%;
}
.portfolio-chapter.chapter-people{
  background-image:url("images/portrait-color-02.webp");
  background-position:center 36%;
}
.portfolio-chapter.chapter-motion{
  background-image:url("images/film-lycabettus.jpg");
  background-position:center 46%;
}
.portfolio-chapter > span,
.portfolio-chapter > strong,
.portfolio-chapter > small{
  position:relative;
  z-index:2;
}
.portfolio-chapter > span{
  font-size:12px;
  letter-spacing:.22em;
  color:#d0ad6e;
  text-shadow:0 2px 16px rgba(0,0,0,.85);
}
.portfolio-chapter > strong{
  margin-top:22px;
  font:500 clamp(38px,4vw,64px)/.9 "Cormorant Garamond",serif;
  letter-spacing:.06em;
  color:#f7f1e8;
  text-shadow:0 3px 24px rgba(0,0,0,.82);
}
.portfolio-chapter > small{
  margin-top:18px;
  max-width:92%;
  font-size:12px;
  line-height:1.6;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#d8c6a4;
  text-shadow:0 2px 16px rgba(0,0,0,.9);
}
.chapter-line{
  position:absolute;
  left:clamp(24px,4vw,64px);
  right:24px;
  bottom:21px;
  height:1px;
  z-index:2;
  background:linear-gradient(90deg,rgba(205,169,104,.92) 0 46px,rgba(205,169,104,.26) 46px 100%);
}
.chapter-line::after{
  content:"";
  position:absolute;
  right:0;
  top:-4px;
  width:8px;
  height:8px;
  border:1px solid rgba(205,169,104,.76);
  border-radius:50%;
  background:rgba(8,10,9,.72);
  box-shadow:0 0 0 4px rgba(189,157,102,.08);
}
@media(hover:hover) and (pointer:fine){
  .portfolio-chapter{transition:filter .35s ease,transform .35s ease}
  .portfolio-chapter:hover{filter:brightness(1.05)}
}
@media(max-width:820px){
  .portfolio-index{grid-template-columns:1fr}
  .portfolio-chapter{
    min-height:215px;
    padding:28px 22px 56px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .portfolio-chapter:last-child{border-bottom:0}
  .portfolio-chapter > strong{font-size:48px}
  .portfolio-chapter > small{font-size:11px;letter-spacing:.10em}
  .portfolio-chapter::after{top:18px;right:18px;width:26px;height:26px}
  .chapter-line{left:22px;right:20px;bottom:17px}
  .portfolio-chapter.chapter-spaces{background-position:center 54%}
  .portfolio-chapter.chapter-people{background-position:center 30%}
  .portfolio-chapter.chapter-motion{background-position:center 50%}
}


/* ITALIAN EDITORIAL / PREMIUM REFINEMENT — 2026-09-14
   More breathing room, restrained image-led section intros, no structural redesign. */

/* Mobile hero: slightly taller and more important, without turning into a full-screen block. */
@media(max-width:820px){
  .hero.hero-cinematic{
    margin-top:78px!important;
    margin-bottom:14px!important;
    background:#b89170!important;
    overflow:hidden!important;
  }
  .hero-cinematic .hero-media{
    overflow:hidden!important;
  }
  .hero-cinematic .hero-media picture{
    display:block!important;
    width:100%!important;
    overflow:hidden!important;
  }
  .hero-cinematic .hero-media picture img,
  .hero-cinematic .hero-media img{
    width:114%!important;
    max-width:none!important;
    height:auto!important;
    margin-left:-7%!important;
    object-fit:contain!important;
    object-position:center top!important;
    transform:none!important;
  }
}

/* A little breathing room between the hero and the chapter cards. */
.portfolio-index{
  margin-top:0;
}
@media(max-width:820px){
  .portfolio-index{
    border-top:1px solid rgba(189,157,102,.28)!important;
  }
}

/* Section intro imagery — one strong frame, not a wall of imagery. */
.editorial-strip{
  position:relative;
  margin:0 0 72px;
  padding:0;
  overflow:hidden;
  background:#0a0c0b;
  border:1px solid rgba(189,157,102,.20);
  box-shadow:0 18px 52px rgba(0,0,0,.18);
}
.editorial-strip img{
  display:block;
  width:100%;
  height:clamp(190px,25vw,330px);
  object-fit:cover;
  filter:saturate(.88) contrast(.97) brightness(.93);
}
.editorial-strip::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(7,9,8,.02),rgba(7,9,8,.18)),
    linear-gradient(90deg,rgba(7,9,8,.18),transparent 38%,transparent 78%,rgba(7,9,8,.14));
}
.editorial-strip::after{
  content:"";
  position:absolute;
  left:30px;
  right:30px;
  bottom:20px;
  height:1px;
  z-index:2;
  background:linear-gradient(90deg,rgba(189,157,102,.88) 0 58px,rgba(189,157,102,.22) 58px 100%);
}
.editorial-strip > i{
  position:absolute;
  z-index:3;
  right:30px;
  bottom:15px;
  width:10px;
  height:10px;
  border:1px solid rgba(189,157,102,.72);
  border-radius:50%;
  background:rgba(8,10,9,.76);
  box-shadow:0 0 0 4px rgba(189,157,102,.07);
}
.editorial-strip.editorial-spaces img{object-position:center 52%}
.editorial-strip.editorial-food img{object-position:center 48%}
.editorial-strip.editorial-people img{object-position:center 32%}
.editorial-strip.editorial-motion img{object-position:center 52%}

/* Let the section title breathe before the editorial frame. */
#spaces .section-head,
#food .section-head,
#people .section-head,
#motion .section-head{
  margin-bottom:38px;
}

/* Small editorial accent next to major section headings. */
#spaces .section-head > div:first-child,
#food .section-head > div:first-child,
#people .section-head > div:first-child,
#motion .section-head > div:first-child{
  position:relative;
  padding-left:20px;
}
#spaces .section-head > div:first-child::before,
#food .section-head > div:first-child::before,
#people .section-head > div:first-child::before,
#motion .section-head > div:first-child::before{
  content:"";
  position:absolute;
  left:0;
  top:3px;
  width:1px;
  height:62px;
  background:linear-gradient(180deg,var(--bronze),rgba(189,157,102,.08));
}

/* Mobile: wider cinematic strips, but still with air around the typography. */
@media(max-width:820px){
  .editorial-strip{
    margin:0 0 52px;
  }
  .editorial-strip img{
    height:240px;
  }
  .editorial-strip::after{
    left:20px;
    right:20px;
    bottom:16px;
  }
  .editorial-strip > i{
    right:20px;
    bottom:11px;
  }
  #spaces .section-head,
  #food .section-head,
  #people .section-head,
  #motion .section-head{
    margin-bottom:30px;
  }
  #spaces .section-head > div:first-child,
  #food .section-head > div:first-child,
  #people .section-head > div:first-child,
  #motion .section-head > div:first-child{
    padding-left:16px;
  }
  #spaces .section-head > div:first-child::before,
  #food .section-head > div:first-child::before,
  #people .section-head > div:first-child::before,
  #motion .section-head > div:first-child::before{
    height:48px;
  }
}


/* FINAL — HERO IDENTITY BAND
   Name removed from the image and placed in the black breathing space before 01 SPACES. */
.hero-identity-band{
  position:relative;
  display:grid;
  place-items:center;
  min-height:148px;
  padding:34px 28px;
  background:#070908;
  border-top:1px solid rgba(255,255,255,.055);
  border-bottom:1px solid rgba(189,157,102,.22);
}
.hero-identity-band::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:72px;
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(189,157,102,.78),transparent);
}
.hero-identity-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  max-width:1100px;
  text-align:center;
  white-space:nowrap;
}
.hero-identity-name{
  font:500 13px/1.2 Manrope,sans-serif;
  letter-spacing:.31em;
  color:#f2ece3;
}
.hero-identity-dash{
  font:300 18px/1 "Cormorant Garamond",serif;
  color:rgba(189,157,102,.92);
}
.hero-identity-role{
  font:500 9px/1.25 Manrope,sans-serif;
  letter-spacing:.27em;
  color:#b8afa5;
}

/* The hero now finishes cleanly into the black identity band. */
.hero.hero-cinematic{
  margin-bottom:0!important;
}
.portfolio-index{
  margin-top:0!important;
}

@media(max-width:820px){
  .hero-identity-band{
    min-height:132px;
    padding:30px 24px 32px;
  }
  .hero-identity-inner{
    flex-direction:column;
    gap:9px;
    white-space:normal;
  }
  .hero-identity-name{
    font-size:11px;
    letter-spacing:.25em;
  }
  .hero-identity-dash{
    width:34px;
    height:1px;
    overflow:hidden;
    font-size:0;
    background:rgba(189,157,102,.78);
  }
  .hero-identity-role{
    font-size:8px;
    letter-spacing:.22em;
  }
}


/* Premium colour and caption refresh */
.gallery-bar p:not(.eyebrow){max-width:720px;font:400 18px/1.6 "Cormorant Garamond",serif;color:#c3bbaf}
.gallery-grid figcaption,.gallery-viewer figcaption,.food-grid figcaption,.portrait-preview figcaption{font:400 13px/1.7 "Cormorant Garamond",serif;letter-spacing:.03em;text-transform:none;color:#b6ad9f}
.gallery-grid figcaption{margin-top:12px;padding-right:8px}
.gallery-viewer figcaption{max-width:min(920px,100%);text-align:center;margin-top:18px;padding:0 10px}
.food-grid figcaption{margin-top:12px}
@media(max-width:820px){.gallery-bar p:not(.eyebrow){font-size:17px}.gallery-grid figcaption,.gallery-viewer figcaption,.food-grid figcaption,.portrait-preview figcaption{font-size:12px;line-height:1.65}}


/* Italian editorial second pass */
.gallery-bar p:not(.eyebrow){max-width:680px;font:400 17px/1.72 "Cormorant Garamond",serif;color:#beb4a6}
.gallery-grid figcaption,.gallery-viewer figcaption,.food-grid figcaption,.portrait-preview figcaption{font:400 12px/1.82 "Cormorant Garamond",serif;letter-spacing:.035em;text-transform:none;color:#aba292}
.gallery-grid figcaption{margin-top:14px;max-width:92%}
.gallery-viewer figcaption{max-width:min(860px,100%);text-align:center;margin-top:20px;padding:0 18px}
.food-grid figcaption{margin-top:14px}
@media(max-width:820px){.gallery-bar p:not(.eyebrow){font-size:16px;line-height:1.74}.gallery-grid figcaption,.gallery-viewer figcaption,.food-grid figcaption,.portrait-preview figcaption{font-size:11.5px;line-height:1.78}}
/* 2026-09-15 — unified galleries, original page flow preserved */
.gallery-links.gallery-links-single{grid-template-columns:1fr}
.gallery-links.gallery-links-single .gallery-card{width:100%}

/* 2026-09-15 — PEOPLE: show complete portrait frames, never crop */
.editorial-strip.editorial-people{
  background:#090b0a;
}
.editorial-strip.editorial-people img{
  width:100%!important;
  height:clamp(420px,58vw,760px)!important;
  object-fit:contain!important;
  object-position:center center!important;
}
#people .portrait-preview .portrait-image-button img,
.gallery-grid.portrait-gallery img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}
@media(max-width:820px){
  .editorial-strip.editorial-people img{
    height:min(78vh,720px)!important;
  }
}
/* Food cue inside SPACES chapter card — visual only, no layout changes elsewhere */
.chapter-spaces{position:relative;overflow:hidden}
.chapter-spaces .chapter-food-thumb{position:absolute;right:18px;top:50%;transform:translateY(-50%);width:78px;height:52px;object-fit:cover;border:1px solid rgba(185,148,78,.55);opacity:.92;filter:saturate(.9) contrast(1.04);pointer-events:none}
@media(max-width:720px){.chapter-spaces .chapter-food-thumb{width:64px;height:44px;right:12px}.chapter-spaces small{padding-right:72px}}

/* Premium category line-icons — additive only */
.category-icon{width:34px;height:34px;color:var(--bronze);opacity:.9;display:inline-flex;align-items:center;justify-content:center}
.category-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.gallery-card>.category-icon{position:absolute;top:26px;right:28px}
.category-heading{position:relative}
.category-heading>.category-icon{position:absolute;right:0;top:0;width:38px;height:38px}
@media(max-width:600px){.gallery-card>.category-icon{top:22px;right:22px;width:29px;height:29px}.category-heading>.category-icon{width:31px;height:31px;right:2px;top:1px}}
\n\n/* 2026-09-16 — premium category imagery/icons, existing layout preserved */
.gallery-card.gallery-card-photo{
  min-height:260px;
  background-size:cover!important;
  background-position:center!important;
  border-color:rgba(189,157,102,.38)!important;
}
.gallery-card.gallery-card-photo::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,6,6,.84) 0%,rgba(5,6,6,.58) 52%,rgba(5,6,6,.20) 100%),linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.50));
}
.gallery-card.gallery-card-photo.gallery-card-spaces{background-image:url("images/villa-new-01.webp")!important}
.gallery-card.gallery-card-photo.gallery-card-food{background-image:url("images/food-cinematic-chicken.webp")!important}
.gallery-card.gallery-card-photo > *{position:relative;z-index:2}
.gallery-card.gallery-card-photo h3{font-size:46px;text-shadow:0 2px 18px rgba(0,0,0,.65)}
.gallery-card.gallery-card-photo>.category-icon{width:42px;height:42px;top:28px;right:30px;color:#d0aa67;filter:drop-shadow(0 2px 8px rgba(0,0,0,.65))}
.editorial-icon{position:absolute;z-index:4;top:28px;right:30px;width:46px;height:46px;color:#d0aa67;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 2px 8px rgba(0,0,0,.7))}
.editorial-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.editorial-icon-drone{width:54px}
@media(max-width:820px){
 .gallery-card.gallery-card-photo{min-height:220px!important;padding:24px!important}
 .gallery-card.gallery-card-photo h3{font-size:38px}
 .gallery-card.gallery-card-photo>.category-icon{width:34px;height:34px;top:22px;right:22px}
 .editorial-icon{top:20px;right:20px;width:38px;height:38px}.editorial-icon-drone{width:44px}
}

/* Premium editorial treatment — Design & Detail only */
.project.editorial-detail{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:72px;padding:34px 0 38px;border-top:1px solid rgba(189,157,102,.22);border-bottom:1px solid rgba(255,255,255,.08)}
.project.editorial-detail>img{order:2;aspect-ratio:auto;object-fit:contain;background:#0a0c0b;box-shadow:0 24px 70px rgba(0,0,0,.24)}
.project.editorial-detail>div{position:relative;padding-left:26px}
.project.editorial-detail>div::before{content:"";position:absolute;left:0;top:3px;width:1px;height:46px;background:var(--bronze);opacity:.78}
.project.editorial-detail>div>span{color:#a78f68;letter-spacing:.24em}
.project.editorial-detail h3{font-size:clamp(44px,4vw,62px);line-height:.92;margin:14px 0 22px;letter-spacing:-.015em}
.project.editorial-detail p{max-width:420px;font-size:20px;line-height:1.65;color:#c9c0b4}
@media(max-width:820px){.project.editorial-detail{grid-template-columns:1fr;gap:26px;padding:28px 0 32px}.project.editorial-detail>img{order:0;width:100%}.project.editorial-detail>div{padding-left:20px}.project.editorial-detail h3{font-size:42px}.project.editorial-detail p{font-size:19px}}


/* 2026-09-17 — requested cleanup only: music control moved into the black top bar */
.nav .sound-toggle{
  position:absolute!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;
  transform:translate(-50%,-50%);z-index:2;padding:9px 12px!important;
  background:rgba(7,9,8,.28)!important;backdrop-filter:none!important;
  border-color:rgba(189,157,102,.46)!important;white-space:nowrap;
}
@media(max-width:1050px){
  .nav .sound-toggle{font-size:7px!important;letter-spacing:.13em!important;padding:8px 10px!important;gap:8px!important}
  .nav .sound-toggle i{width:6px!important;height:6px!important}
}
@media(max-width:480px){
  .nav .sound-toggle{font-size:6px!important;letter-spacing:.10em!important;padding:7px 8px!important;gap:6px!important}
}

/* Astir Palace reconstruction documentary cards */
.film-drive-cover{width:100%;aspect-ratio:4/3;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(145deg,#171513,#090909);border:1px solid rgba(183,137,94,.32);color:#f3eee8;letter-spacing:.08em}.film-drive-cover span{font-size:.72rem;color:#b7895e;margin-bottom:1rem}.film-drive-cover strong{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.05rem,2vw,1.55rem);line-height:1.25}.film-drive-cover em{font-style:normal;font-size:.68rem;color:#aaa;margin-top:1rem}

/* 2026-09-18 — premium bronze accents + mobile readability pass */
:root{--bronze:#c58b58;--muted:#c1b8ac}
.eyebrow,.portfolio-index span,.gallery-card b,.film-external,.about-signature span,.contact-links.premium-contact .contact-item>span,.final-quote cite{color:var(--bronze)}
@media(max-width:820px){
  body{font-size:16px}
  .eyebrow{font-size:11px;line-height:1.5;letter-spacing:.24em}
  .lead{font-size:21px;line-height:1.62;color:#d8d0c5}
  .project p{font-size:19px;line-height:1.62;color:#cec5b9}
  .project>div>span,.film-card span,.services article>span,.gallery-card>span{font-size:10px;line-height:1.55;color:#b9afa3}
  .food-grid figcaption,.gallery-grid figcaption{font-size:10px;line-height:1.55;letter-spacing:.11em;color:#bdb3a7}
  .film-card p{font-size:18px;line-height:1.58;color:#cec5ba}
  .film-credit{font-size:10px!important;line-height:1.5!important;color:#b7ada1!important}
  .film-external{font-size:10px;line-height:1.5}
  .gallery-bar p:not(.eyebrow){font-size:18px;line-height:1.55;color:#c8beb2}
  .button{font-size:10px;line-height:1.35;letter-spacing:.15em;min-height:50px}
  .portrait-note{font-size:17px;line-height:1.75;color:#c9c0b5}
  .contact footer{font-size:9px;line-height:1.55;color:#aaa198}
}
@media(max-width:480px){
  .section h2,.contact h2{line-height:1.02}
  .gallery-card h3{line-height:1.02}
  .portfolio-index small{font-size:11px;line-height:1.65}
}
\n\n/* v17 — premium interactive refinement + motion gallery polish */
.film-grid{gap:34px 30px}
.film-card{overflow:hidden;border-color:rgba(255,255,255,.10);background:linear-gradient(155deg,rgba(255,255,255,.025),rgba(189,157,102,.018));box-shadow:0 18px 50px rgba(0,0,0,.12)}
.film-card:hover{transform:translateY(-5px);border-color:rgba(189,157,102,.62);box-shadow:0 24px 70px rgba(0,0,0,.22)}
.film-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,5,5,.20),transparent 46%);pointer-events:none;transition:opacity .35s ease}
.film-card:hover .film-media::after{opacity:.55}
.film-play{z-index:2;width:70px;height:70px;font-size:0;border:1px solid rgba(255,255,255,.64);background:rgba(12,12,11,.30);box-shadow:0 10px 32px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.film-play::before{content:"";display:block;margin-left:4px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:12px solid #f7f1e8;filter:drop-shadow(0 1px 2px rgba(0,0,0,.28));transition:border-left-color .25s ease,transform .25s ease}
.film-card:hover .film-play{transform:translate(-50%,-50%) scale(1.06);background:rgba(189,157,102,.92);border-color:rgba(230,205,158,.95);box-shadow:0 12px 38px rgba(0,0,0,.28),0 0 0 6px rgba(189,157,102,.10)}
.film-card:hover .film-play::before{border-left-color:#111;transform:scale(1.04)}
.film-external,.button,.gallery-card,.sound-toggle,.lang-toggle,.menu-toggle{transition:transform .25s ease,border-color .25s ease,background-color .25s ease,color .25s ease,box-shadow .25s ease,opacity .25s ease}
.film-external{position:relative;padding:10px 14px;border:1px solid rgba(189,157,102,.34);border-radius:999px;letter-spacing:.14em}
.film-external:hover{transform:translateY(-1px);background:rgba(189,157,102,.11);border-color:rgba(189,157,102,.78);box-shadow:0 8px 24px rgba(0,0,0,.14)}
.button{border-radius:999px;padding-left:20px;padding-right:20px;background:rgba(255,255,255,.015);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.20)}
.gallery-card:hover{transform:translateY(-3px)}
@media(max-width:820px){.film-grid{gap:24px}.film-play{width:62px;height:62px}.film-external{padding:10px 13px}}

/* v18 — dedicated Motion gallery, single play control, mobile safety */
html,body{max-width:100%;overflow-x:hidden}
.film-play{font-size:0!important}
.home-page #motion .film-card:nth-child(n+5){display:none}
.motion-more-wrap{display:flex;justify-content:center;margin-top:48px}
.motion-more-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:54px;padding:15px 24px;border:1px solid rgba(189,157,102,.62);border-radius:999px;background:rgba(255,255,255,.018);color:#f3ede4;font:500 8px/1.2 Manrope,sans-serif;letter-spacing:.19em;text-transform:uppercase;transition:.25s}
.motion-more-button b{font-size:18px;font-weight:300;color:var(--bronze);transition:transform .25s}
.motion-more-button:hover{transform:translateY(-2px);border-color:var(--bronze);background:rgba(189,157,102,.10);box-shadow:0 12px 34px rgba(0,0,0,.20)}
.motion-more-button:hover b{transform:translateX(4px)}
.motion-back{display:inline-flex;margin:0 0 34px;padding:10px 0;color:var(--bronze);font:500 8px/1.2 Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.motion-page main>section:not(#motion):not(#contact){display:none!important}
.motion-page #motion{padding-top:128px}
.motion-page #motion .film-card{display:block!important}
.motion-page .motion-more-wrap{display:none!important}
@media(max-width:820px){
  .container{width:min(100% - 36px,1180px)}
  .section-head,.project,.project.reverse{min-width:0}
  .film-card,.film-card>div,.section-head>*{min-width:0;max-width:100%}
  .film-card h3,.film-card p,.film-credit,.film-external,.lead{overflow-wrap:anywhere;word-break:normal}
  .motion-more-wrap{margin-top:34px}
  .motion-more-button{width:100%;max-width:420px;padding:15px 18px;gap:14px;letter-spacing:.13em}
  .motion-page #motion{padding-top:104px}
}


/* v24 — home motion is one cover; all films live inside motion.html */
.home-motion-cover .motion-gallery-cover{position:relative;display:block;width:100%;overflow:hidden;border:1px solid rgba(189,157,102,.28);background:#0b0c0b;text-decoration:none}
.home-motion-cover .motion-gallery-cover img{display:block;width:100%;aspect-ratio:16/8.2;object-fit:cover;transition:transform .65s var(--ease),filter .4s ease}
.home-motion-cover .motion-gallery-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,5,5,.62),rgba(4,5,5,.04) 58%);pointer-events:none}
.home-motion-cover .motion-cover-overlay{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;padding:28px 32px;color:#f3ede4;border-top:1px solid rgba(255,255,255,.08)}
.home-motion-cover .motion-cover-overlay b{font:500 10px/1.2 Manrope,sans-serif;letter-spacing:.20em;text-transform:uppercase}
.home-motion-cover .motion-cover-overlay i{font:300 28px/1 Manrope,sans-serif;font-style:normal;color:var(--bronze);transition:transform .25s ease}
.home-motion-cover .motion-gallery-cover:hover img{transform:scale(1.018);filter:brightness(.94)}
.home-motion-cover .motion-gallery-cover:hover .motion-cover-overlay i{transform:translateX(6px)}
@media(max-width:820px){.home-motion-cover .motion-gallery-cover img{aspect-ratio:16/10.5}.home-motion-cover .motion-cover-overlay{padding:20px 18px}.home-motion-cover .motion-cover-overlay b{font-size:9px;letter-spacing:.16em}}

/* v25 — unified premium collection CTAs + gallery home exits */
.collection-cta,
.portrait-gallery-button,
.motion-collection-cta,
.gallery-home-button,
.collection-home-button{
  width:100%;
  min-height:72px;
  margin-top:24px;
  padding:18px 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  border:1px solid rgba(189,157,102,.72)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.012)!important;
  color:#f1ebe3!important;
  font:500 10px/1.3 Manrope,sans-serif!important;
  letter-spacing:.17em!important;
  text-transform:uppercase;
  text-align:center;
  text-decoration:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018);
  transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease;
}
.collection-cta b,.portrait-gallery-button b,.motion-collection-cta b{font-size:19px;font-weight:300;color:var(--bronze)}
.collection-cta:hover,.portrait-gallery-button:hover,.motion-collection-cta:hover,.gallery-home-button:hover,.collection-home-button:hover{transform:translateY(-2px);border-color:var(--bronze)!important;background:rgba(189,157,102,.075)!important;box-shadow:0 14px 38px rgba(0,0,0,.18)}
.gallery-links.gallery-links-single{display:block!important}
.gallery-links.gallery-links-single .gallery-card{display:grid!important;margin:0!important}
.home-motion-cover .motion-gallery-cover{margin-bottom:0}
.home-motion-cover .motion-cover-overlay{background:linear-gradient(to top,rgba(4,5,5,.34),rgba(4,5,5,.02) 58%)!important;padding:0!important}
.gallery-home-exit{padding:56px clamp(20px,5vw,72px) 72px;display:flex;justify-content:center}
.gallery-home-button{max-width:760px;cursor:pointer}
.collection-home-exit{margin:72px auto 24px;max-width:760px}
.collection-home-button{margin-top:0}
@media(max-width:820px){
  .collection-cta,.portrait-gallery-button,.motion-collection-cta,.gallery-home-button,.collection-home-button{min-height:64px;padding:16px 18px;font-size:9px!important;letter-spacing:.13em!important;gap:16px}
  .gallery-home-exit{padding:42px 18px 58px}
  .collection-home-exit{margin:52px 0 18px}
}

/* v26 — separate Architecture Details collection */
.gallery-card.gallery-card-photo.gallery-card-details{background-image:url("images/architecture-premium-03.webp")!important}
.spaces-gallery-choices{align-items:stretch}
.gallery-choice{display:flex;flex-direction:column;gap:18px;min-width:0}
.gallery-choice .gallery-card{width:100%;flex:1}
.gallery-choice .collection-cta{width:100%;justify-content:center}
@media(max-width:760px){.spaces-gallery-choices{grid-template-columns:1fr!important}.gallery-choice{gap:14px}}

/* v28 — Architecture editorial moved inside its collection */
.spaces-editorial-in-gallery{width:min(1320px,calc(100% - 48px));margin:54px auto 10px}.spaces-editorial-in-gallery[hidden]{display:none!important}.gallery-editorial-intro{margin-bottom:72px}.gallery-editorial-intro h2{font:400 clamp(44px,6vw,82px)/.98 "Cormorant Garamond",serif;margin:14px 0 24px}.gallery-editorial-intro h2 i{font-weight:400}.gallery-editorial-intro>p:not(.eyebrow){max-width:850px;font:400 clamp(20px,2vw,28px)/1.55 "Cormorant Garamond",serif;color:#c8c0b5}.gallery-editorial-intro>img{display:block;width:100%;margin-top:38px;max-height:760px;object-fit:contain}.gallery-editorial-project{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:56px;align-items:center;margin:0 0 88px}.gallery-editorial-project.reverse{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)}.gallery-editorial-project.reverse img{order:2}.gallery-editorial-project img{width:100%;max-height:720px;object-fit:contain}.gallery-editorial-project span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#b98a62}.gallery-editorial-project h3{font:400 clamp(38px,4vw,62px)/1 "Cormorant Garamond",serif;margin:16px 0}.gallery-editorial-project p{font:400 20px/1.65 "Cormorant Garamond",serif;color:#bdb5aa}.spaces-editorial-in-gallery + .gallery-grid{margin-top:70px;border-top:1px solid rgba(189,157,102,.18);padding-top:48px}
@media(max-width:820px){.spaces-editorial-in-gallery{width:calc(100% - 28px);margin-top:34px}.gallery-editorial-intro{margin-bottom:58px}.gallery-editorial-project,.gallery-editorial-project.reverse{grid-template-columns:1fr;gap:24px;margin-bottom:64px}.gallery-editorial-project.reverse img{order:0}.gallery-editorial-project p{font-size:18px}.spaces-editorial-in-gallery + .gallery-grid{margin-top:44px;padding-top:36px}}

/* v30 — full opening image + cinematic equipment breathing band */
.hero.hero-cinematic{position:relative!important;overflow:hidden!important}
.hero-signature{
  position:absolute;left:45.6%;top:56.2%;z-index:3;
  font:italic 500 clamp(14px,1.45vw,25px)/1.1 "Cormorant Garamond",serif;
  letter-spacing:.045em;color:#211a16;
  text-shadow:0 1px 0 rgba(255,255,255,.18);
}
.hero-identity-band{
  min-height:230px!important;padding:54px 28px!important;
  background:#050606 url("images/studio-gear-band.webp") center/cover no-repeat!important;
  isolation:isolate;
}
.hero-identity-band::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(3,4,4,.80),rgba(3,4,4,.48) 50%,rgba(3,4,4,.80)),linear-gradient(180deg,rgba(3,4,4,.22),rgba(3,4,4,.72));
}
.hero-identity-band::before{z-index:2}
.hero-identity-inner{position:relative;z-index:2}
.hero-identity-role{
  font:500 clamp(10px,1vw,14px)/1.3 Manrope,sans-serif!important;
  letter-spacing:.25em!important;color:#eee8df!important;
  text-shadow:0 2px 18px rgba(0,0,0,.9);
}
@media(max-width:820px){
  .hero.hero-cinematic{margin-top:78px!important}
  .hero-cinematic .hero-media picture img{width:100%!important;height:auto!important;object-fit:contain!important}
  .hero-signature{left:45.5%;top:55.5%;font-size:clamp(9px,2.6vw,13px);letter-spacing:.025em}
  .hero-identity-band{min-height:190px!important;padding:48px 20px!important;background-position:center!important}
  .hero-identity-inner{flex-direction:row!important;white-space:nowrap!important}
  .hero-identity-role{font-size:7.5px!important;letter-spacing:.15em!important}
}

/* v31 — final brighter hero artwork; preserve full frame and embedded signature */
.hero-signature{display:none!important}
.hero.hero-cinematic{height:auto!important;min-height:0!important}
.hero-cinematic .hero-media{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:1536/786!important}
.hero-cinematic .hero-media picture,.hero-cinematic .hero-media picture img,.hero-cinematic .hero-media img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;animation:none!important}
.hero-cinematic .hero-media::before,.hero-cinematic .hero-media::after{display:none!important}
.hero-identity-band{background-image:url("images/studio-gear-band.webp")!important;background-size:cover!important;background-position:center!important}
@media(max-width:820px){
 .hero.hero-cinematic{height:auto!important;min-height:0!important}
 .hero-cinematic .hero-media{aspect-ratio:1536/786!important}
 .hero-cinematic .hero-media picture img,.hero-cinematic .hero-media img{height:100%!important;object-fit:contain!important}
}

/* v33 — responsive readability pass: desktop composition preserved, mobile type enlarged */
@media (max-width:820px){
  /* On phones the approved wide artwork is enlarged enough for its embedded quote to read comfortably. */
  .hero.hero-cinematic{overflow:hidden!important;background:#b89170!important}
  .hero-cinematic .hero-media{aspect-ratio:1.62/1!important;overflow:hidden!important}
  .hero-cinematic .hero-media picture,
  .hero-cinematic .hero-media picture img,
  .hero-cinematic .hero-media img{height:100%!important}
  .hero-cinematic .hero-media picture img,
  .hero-cinematic .hero-media img{
    width:122%!important;
    max-width:none!important;
    margin-left:-11%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .hero-identity-band{
    min-height:220px!important;
    padding:58px 18px!important;
    background-position:center 46%!important;
  }
  .hero-identity-band::after{
    background:linear-gradient(90deg,rgba(3,4,4,.70),rgba(3,4,4,.30) 50%,rgba(3,4,4,.70)),linear-gradient(180deg,rgba(3,4,4,.12),rgba(3,4,4,.55))!important;
  }
  .hero-identity-inner{width:100%!important;justify-content:center!important;white-space:normal!important;text-align:center!important}
  .hero-identity-role{
    font-size:clamp(10px,2.75vw,12px)!important;
    line-height:1.55!important;
    letter-spacing:.11em!important;
    color:#fffaf2!important;
    text-shadow:0 2px 12px #000,0 0 28px rgba(0,0,0,.95)!important;
  }
}
@media (min-width:821px){
  .hero-identity-role{font-size:clamp(11px,1vw,14px)!important;color:#fffaf2!important}
}

/* v34 — Italian editorial polish: premium covers, subtle studio atmosphere, mobile clarity */
.gallery-card.gallery-card-photo.gallery-card-spaces{
  background-image:url("images/villa-new-22.webp")!important;
  background-position:center 58%!important;
}
.gallery-card.gallery-card-photo.gallery-card-food{
  background-image:url("images/food-premium-02.webp")!important;
  background-position:center 48%!important;
}
.gallery-card.gallery-card-photo::before{
  background:linear-gradient(90deg,rgba(5,6,6,.90) 0%,rgba(5,6,6,.66) 48%,rgba(5,6,6,.18) 100%),linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.48))!important;
}
.gallery-card.gallery-card-photo h3{
  max-width:78%;
  color:#fffaf2!important;
  text-shadow:0 3px 22px rgba(0,0,0,.82)!important;
}

/* Black areas are no longer empty: one very faint camera/light atmosphere. */
#spaces,#food,#people,.home-motion-cover{position:relative;isolation:isolate;overflow:hidden}
#spaces::before,#food::before,#people::before,.home-motion-cover::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  width:min(820px,82vw);height:330px;right:-8vw;top:82px;
  background:url("images/studio-gear-band.webp") center/cover no-repeat;
  opacity:.055;filter:grayscale(1) contrast(.82) brightness(1.08);
  -webkit-mask-image:linear-gradient(90deg,transparent,black 24%,black 72%,transparent);
  mask-image:linear-gradient(90deg,transparent,black 24%,black 72%,transparent);
}
#food::before{left:-12vw;right:auto;top:110px;transform:scaleX(-1)}
#people::before{top:170px;right:-14vw;opacity:.045}
.home-motion-cover::before{top:70px;left:-10vw;right:auto;opacity:.045}

/* Studio band: keep gear visible but soft; remove the muddy duplicate lettering in the artwork. */
.hero-identity-band{position:relative!important;background-position:center 58%!important}
.hero-identity-band::after{
  content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:1!important;
  background:linear-gradient(90deg,rgba(4,5,5,.40),rgba(4,5,5,.58) 30%,rgba(4,5,5,.62) 70%,rgba(4,5,5,.38))!important;
}
.hero-identity-inner{z-index:3!important}
.hero-identity-role{color:#fffaf2!important;text-shadow:0 2px 14px rgba(0,0,0,.9)!important}

@media(max-width:820px){
  .section{padding:92px 0!important}
  .section-head{gap:22px!important;margin-bottom:40px!important}
  .section h2,.contact h2{font-size:clamp(42px,12vw,58px)!important;line-height:.98!important;letter-spacing:-.025em!important}
  .lead{font-size:19px!important;line-height:1.58!important;color:#e0d8cd!important}
  .gallery-card.gallery-card-photo{min-height:300px!important;padding:28px!important}
  .gallery-card.gallery-card-photo h3{font-size:clamp(39px,11.2vw,52px)!important;line-height:.94!important;max-width:88%!important;letter-spacing:-.025em!important}
  .gallery-card.gallery-card-photo::before{
    background:linear-gradient(90deg,rgba(5,6,6,.92) 0%,rgba(5,6,6,.69) 58%,rgba(5,6,6,.24) 100%),linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.50))!important;
  }
  #spaces::before,#food::before,#people::before,.home-motion-cover::before{
    width:118vw;height:250px;right:-34vw;top:56px;opacity:.065;
  }
  #food::before{left:-38vw;right:auto;top:82px}
  #people::before{top:120px;right:-38vw;opacity:.055}
  .home-motion-cover::before{top:60px;left:-38vw;right:auto;opacity:.05}
  .hero-identity-band{min-height:250px!important;padding:56px 18px!important;background-size:auto 100%!important;background-position:center!important}
  .hero-identity-band::after{background:rgba(4,5,5,.50)!important}
  .hero-identity-role{font-size:clamp(10px,3.1vw,13px)!important;letter-spacing:.095em!important;line-height:1.5!important;white-space:normal!important}
}
@media(max-width:430px){
  .gallery-card.gallery-card-photo{min-height:320px!important}
  .gallery-card.gallery-card-photo h3{font-size:clamp(38px,11vw,47px)!important;max-width:92%!important}
  .collection-cta{font-size:10px!important;letter-spacing:.105em!important}
}

/* v35 — final premium Italian editorial / mobile alignment pass */
.gallery-card.gallery-card-photo.gallery-card-food{
  background-image:url("images/food-premium-01.webp")!important;
  background-position:center 48%!important;
}

/* Editorial black sections: photographic atmosphere, never empty black. */
#spaces::before,#food::before,#people::before,.home-motion-cover::before,
.about::before,.contact::before{
  opacity:.105!important;
  filter:grayscale(1) sepia(.10) contrast(.92) brightness(1.18)!important;
}
.about,.contact{position:relative;isolation:isolate;overflow:hidden}
.about::before,.contact::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  width:min(760px,90vw);height:360px;right:-15vw;top:120px;
  background:url("images/studio-gear-band.webp") center/cover no-repeat;
  opacity:.075;filter:grayscale(1) sepia(.1) brightness(1.1);
  -webkit-mask-image:linear-gradient(90deg,transparent,black 30%,black 72%,transparent);
  mask-image:linear-gradient(90deg,transparent,black 30%,black 72%,transparent);
}

/* More luxurious, legible collection typography. */
.gallery-card.gallery-card-photo h3{line-height:.96!important;letter-spacing:-.025em!important;max-width:86%!important}
.collection-cta{letter-spacing:.11em!important}

@media(max-width:820px){
  /* Hero artwork: keep the complete message in-frame on phones, no clipped words. */
  .hero-cinematic .hero-media{aspect-ratio:1.48/1!important}
  .hero-cinematic .hero-media picture img,
  .hero-cinematic .hero-media img{
    width:108%!important;margin-left:-4%!important;
    object-fit:cover!important;object-position:center center!important;
  }

  /* About: portrait locks to the left editorial grid; copy follows the same axis. */
  .about-layout{display:block!important;margin-top:24px!important}
  .about-layout .about-portrait{
    width:min(230px,64vw)!important;
    margin:0 0 34px 0!important;
  }
  .about-layout .about-signature{text-align:left!important}
  .about-layout .about-signature .signature-mark{margin:0!important;width:min(250px,100%)!important}
  .about-copy,.about-copy .lead{width:100%!important;max-width:100%!important}
  .about-copy .lead{font-size:clamp(19px,5.2vw,24px)!important;line-height:1.58!important}

  /* Prevent oversized editorial headings from escaping the viewport. */
  .section h2,.category-heading h2{max-width:100%!important;overflow-wrap:break-word!important;word-break:normal!important}
  .section .category-heading h2{font-size:clamp(38px,11vw,58px)!important;line-height:.98!important}

  /* Covers: premium readable titles with a controlled dark veil. */
  .gallery-card.gallery-card-photo{min-height:350px!important}
  .gallery-card.gallery-card-photo::before{
    background:linear-gradient(90deg,rgba(4,5,5,.82) 0%,rgba(4,5,5,.53) 58%,rgba(4,5,5,.12) 100%),linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.48))!important;
  }
  .gallery-card.gallery-card-photo h3{
    left:28px!important;right:22px!important;bottom:38px!important;
    max-width:88%!important;font-size:clamp(38px,10.5vw,55px)!important;
    line-height:.96!important;color:#fffdf7!important;
    text-shadow:0 3px 24px rgba(0,0,0,.88)!important;
  }
  .gallery-card.gallery-card-photo.gallery-card-food{background-position:center 48%!important}

  /* Make the photographic watermark perceptible, but still background-only. */
  #spaces::before,#food::before,#people::before,.home-motion-cover::before{
    width:110vw!important;height:320px!important;opacity:.11!important;
  }
  #food::before{top:150px!important;left:-20vw!important}
  #people::before{top:120px!important;right:-24vw!important}
  .about::before{width:115vw;height:420px;right:-28vw;top:300px;opacity:.075}

  .hero-identity-band{min-height:250px!important}
  .hero-identity-band::after{background:linear-gradient(90deg,rgba(3,4,4,.52),rgba(3,4,4,.25) 50%,rgba(3,4,4,.52)),linear-gradient(180deg,rgba(3,4,4,.08),rgba(3,4,4,.42))!important}
  .hero-identity-role{font-size:clamp(11px,3.15vw,13px)!important;letter-spacing:.08em!important}
}

/* v37 — photographic black-space language + premium food cover */
.gallery-card.gallery-card-photo.gallery-card-food{
  background-image:linear-gradient(90deg,rgba(5,6,6,.58),rgba(5,6,6,.10) 56%,rgba(5,6,6,.24)),url("images/food-chef-plating-premium.webp")!important;
  background-position:center 52%!important;
  background-size:cover!important;
}
/* Wherever the layout breathes in black, reveal photographic craft very softly. */
.section.food,.section.portraits,.section.about,.section.contact,.spaces-gallery-choices{position:relative;isolation:isolate;overflow:hidden}
.section.food::before,.section.portraits::before,.section.about::before,.section.contact::before,.spaces-gallery-choices::before{
  content:"";position:absolute;pointer-events:none;z-index:-1;opacity:.055;filter:grayscale(1) contrast(1.15);
  background-repeat:no-repeat;background-size:contain;
}
.section.food::before{width:560px;height:420px;right:-110px;top:70px;background-image:url("images/lens-macro-bg.webp");background-position:right top;opacity:.065}
.section.portraits::before{width:620px;height:460px;left:-170px;top:180px;background-image:url("images/camera-blueprint-bg.webp");background-position:left center;opacity:.06}
.section.about::before{width:620px!important;height:500px!important;right:-150px!important;top:120px!important;background-image:url("images/camera-body-bg.webp")!important;background-size:contain!important;background-position:right center!important;opacity:.055!important;mask-image:linear-gradient(90deg,transparent,#000 35%,#000);-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%,#000)}
.section.contact::before{width:650px!important;height:500px!important;left:-180px!important;top:20px!important;background-image:url("images/camera-lenses-bg.webp")!important;background-size:contain!important;background-position:left center!important;opacity:.055!important;mask-image:linear-gradient(90deg,#000 50%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 50%,transparent)}
.spaces-gallery-choices::before{width:520px;height:360px;right:-130px;bottom:-80px;background-image:url("images/camera-blueprint-bg.webp");background-position:right bottom;opacity:.045}
.section.food>.container,.section.portraits>.container,.section.about>.container,.section.contact>.container,.spaces-gallery-choices>*{position:relative;z-index:1}
@media(max-width:820px){
 .gallery-card.gallery-card-photo.gallery-card-food{background-position:58% center!important}
 .section.food::before{width:320px;height:260px;right:-105px;top:150px;opacity:.055}
 .section.portraits::before{width:360px;height:300px;left:-125px;top:210px;opacity:.05}
 .section.about::before{width:350px!important;height:320px!important;right:-120px!important;top:330px!important;opacity:.05!important}
 .section.contact::before{width:360px!important;height:300px!important;left:-120px!important;opacity:.05!important}
}

/* v38 — approved black-space photographic language + cleaner headings */
/* Remove the thin vertical bronze rule beside section typography. */
#spaces .section-head > div:first-child,
#food .section-head > div:first-child,
#people .section-head > div:first-child,
#motion .section-head > div:first-child{padding-left:0!important}
#spaces .section-head > div:first-child::before,
#food .section-head > div:first-child::before,
#people .section-head > div:first-child::before,
#motion .section-head > div:first-child::before{display:none!important;content:none!important}
.project.editorial-detail>div{padding-left:0!important}
.project.editorial-detail>div::before{display:none!important;content:none!important}

/* Large black breathing areas: camera craft is visible only as a soft watermark. */
.spaces-gallery-choices::before{
  background-image:url("images/camera-body-bg.webp")!important;
  width:620px!important;height:430px!important;right:-145px!important;bottom:-90px!important;
  background-size:contain!important;background-position:right bottom!important;
  opacity:.075!important;filter:grayscale(1) contrast(1.08)!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 4%,#000 42%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 4%,#000 42%,#000 100%);
}
.section.food::before{opacity:.07!important}
.section.portraits::before{opacity:.065!important}
.section.about::before{opacity:.06!important}
.section.contact::before{opacity:.06!important}
@media(max-width:820px){
 .spaces-gallery-choices::before{width:390px!important;height:300px!important;right:-120px!important;bottom:-30px!important;opacity:.065!important}
 .section.food::before{opacity:.06!important}.section.portraits::before{opacity:.055!important}.section.about::before{opacity:.052!important}.section.contact::before{opacity:.052!important}
}

/* v39 — mobile framing refinement: slightly more breathing room, no crop */
@media(max-width:820px){
  .hero.hero-cinematic{
    background:#070908!important;
    padding:10px 12px 0!important;
    box-sizing:border-box!important;
  }
  .hero-cinematic .hero-media,
  .hero-cinematic .hero-media picture{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
    overflow:hidden!important;
  }
  .hero-cinematic .hero-media picture img,
  .hero-cinematic .hero-media img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
  }
}
@media(max-width:480px){
  .hero.hero-cinematic{padding-left:14px!important;padding-right:14px!important}
}

/* v40 — mobile hero balance: edge-to-edge approved artwork, less dead black space */
@media(max-width:820px){
  .hero.hero-cinematic{
    padding:0!important;
    margin-top:78px!important;
    background:#070908!important;
  }
  .hero-cinematic .hero-media,
  .hero-cinematic .hero-media picture{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .hero-cinematic .hero-media picture img,
  .hero-cinematic .hero-media img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center top!important;
    transform:none!important;
  }
  .hero-identity-band{
    min-height:190px!important;
    padding:24px 20px 26px!important;
  }
  .hero-identity-band::after{
    background-size:cover!important;
    background-position:center 58%!important;
    opacity:.82!important;
  }
}
@media(max-width:480px){
  .hero.hero-cinematic{padding:0!important}
}

/* v42 — premium subtle camera-watermark balance: approved restrained visibility */
.spaces-gallery-choices::before{opacity:.042!important}
.section.food::before{opacity:.038!important}
.section.portraits::before{opacity:.036!important}
.section.about::before{opacity:.034!important}
.section.contact::before{opacity:.034!important}
@media(max-width:820px){
 .spaces-gallery-choices::before{opacity:.038!important}
 .section.food::before{opacity:.034!important}
 .section.portraits::before{opacity:.032!important}
 .section.about::before{opacity:.030!important}
 .section.contact::before{opacity:.030!important}
}

/* v43 — mobile opening: full artwork to the identity divider, no zoom/crop */
@media(max-width:820px){
  .hero.hero-cinematic{
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    background:#070908!important;
  }
  .hero-cinematic .hero-media{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    margin:0!important;
  }
  .hero-cinematic .hero-media picture{
    display:block!important;
    width:100%!important;
    height:auto!important;
    line-height:0!important;
  }
  .hero-cinematic .hero-media picture img,
  .hero-cinematic .hero-media img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
  }
}

/* v44 — final responsive polish: clearer mobile rhythm without changing desktop */
@media (max-width:820px){
  html,body{overflow-x:hidden!important}
  .section{padding-left:clamp(22px,4.2vw,34px)!important;padding-right:clamp(22px,4.2vw,34px)!important}
  .gallery-header{padding-left:28px!important;padding-right:28px!important}
  .gallery-header h2{font-size:clamp(38px,8.5vw,56px)!important;line-height:1.08!important;max-width:calc(100vw - 120px)!important}
  .gallery-header p{font-size:clamp(18px,4.4vw,25px)!important;line-height:1.55!important;max-width:88%!important}
  .gallery-grid{padding-left:22px!important;padding-right:22px!important;gap:30px!important}
  .gallery-grid figure img{width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important}
  .gallery-grid figcaption{font-size:13px!important;line-height:1.5!important;letter-spacing:.09em!important;margin-top:12px!important}
  .gallery-choice-title{font-size:clamp(38px,8vw,56px)!important;line-height:1.06!important}
  .button,.gallery-choice-button{max-width:100%!important;white-space:normal!important;line-height:1.35!important;text-align:center!important}
}
@media (max-width:480px){
  .gallery-header{padding-left:28px!important;padding-right:24px!important}
  .gallery-grid{padding-left:22px!important;padding-right:22px!important}
}

/* v45 — final premium faint photographic texture across black breathing areas */
#spaces::before,#food::before,#people::before,.home-motion-cover::before{opacity:.030!important}
.spaces-gallery-choices::before{opacity:.026!important}
.section.food::before{opacity:.026!important}
.section.portraits::before{opacity:.024!important}
.section.about::before{opacity:.023!important}
.section.contact::before{opacity:.023!important}
.about::before,.contact::before{opacity:.023!important}
@media(max-width:820px){
  #spaces::before,#food::before,#people::before,.home-motion-cover::before{opacity:.026!important}
  .spaces-gallery-choices::before{opacity:.024!important}
  .section.food::before{opacity:.023!important}
  .section.portraits::before{opacity:.022!important}
  .section.about::before,.section.contact::before{opacity:.021!important}
  .about::before,.contact::before{opacity:.021!important}
}

/* v46 — mobile spacing polish only: tighten oversized black gaps, preserve desktop + visual design */
@media(max-width:820px){
  /* Reduce accumulated top/bottom breathing room by about 20–25% on phones. */
  .section{
    padding-top:70px!important;
    padding-bottom:70px!important;
  }

  /* Architecture opening has no heading, so it does not need a second large top gap. */
  #spaces{
    padding-top:54px!important;
    padding-bottom:64px!important;
  }
  #spaces .gallery-links,
  #spaces .spaces-gallery-choices{
    margin-top:0!important;
  }

  /* Collection cards sit closer to their copy, while retaining the premium pause. */
  .gallery-links{margin-top:58px!important}
  #food .gallery-links{margin-top:52px!important}

  /* Keep section-to-section transitions airy, but remove the half-screen dead zones. */
  .editorial-strip{margin-bottom:40px!important}
  #spaces .section-head,
  #food .section-head,
  #people .section-head,
  #motion .section-head{margin-bottom:26px!important}

  /* About / services rhythm. */
  .about-layout{margin-top:18px!important}
  .about-layout .about-portrait{margin-bottom:28px!important}
  .credits.about-cv{margin-bottom:40px!important}

  /* Contact remains spacious, just less vertically stretched on mobile. */
  .contact{padding-top:82px!important;padding-bottom:34px!important}
  .premium-contact{margin-top:36px!important}
  .final-quote{margin-top:42px!important;margin-bottom:26px!important;padding-top:30px!important}
  .contact footer{margin-top:56px!important}
}

@media(max-width:480px){
  .section{padding-top:66px!important;padding-bottom:66px!important}
  #spaces{padding-top:50px!important;padding-bottom:60px!important}
  .gallery-links{margin-top:52px!important}
  #food .gallery-links{margin-top:48px!important}
  .contact{padding-top:76px!important}
}

/* v47 — user-selected camera imagery as ultra-faint backgrounds; layout/content unchanged */
.section.food::before{
  background-image:url("images/lens-macro-user-v47.webp")!important;
  opacity:.022!important;
}
.section.portraits::before{
  background-image:url("images/camera-blueprint-user-v47.webp")!important;
  opacity:.021!important;
}
.section.about::before{
  background-image:url("images/camera-body-user-v47.webp")!important;
  opacity:.021!important;
}
.section.contact::before{
  background-image:url("images/camera-lenses-user-v47.webp")!important;
  opacity:.021!important;
}
.spaces-gallery-choices::before{
  background-image:url("images/camera-body-user-v47.webp")!important;
  opacity:.023!important;
}
.home-motion-cover::before{
  background-image:url("images/lens-macro-user-v47.webp")!important;
  background-size:cover!important;
  background-position:center!important;
  opacity:.022!important;
}
@media(max-width:820px){
  .section.food::before{opacity:.020!important}
  .section.portraits::before{opacity:.019!important}
  .section.about::before{opacity:.019!important}
  .section.contact::before{opacity:.019!important}
  .spaces-gallery-choices::before{opacity:.021!important}
  .home-motion-cover::before{opacity:.020!important}
}

/* v55 — Architecture · Hospitality · Details: unified editorial framing */
.gallery-modal[data-gallery="spaces"] .gallery-grid{align-items:start}
.gallery-modal[data-gallery="spaces"] .gallery-grid figure{margin:0;min-width:0}
.gallery-modal[data-gallery="spaces"] .gallery-grid figure img{width:100%;aspect-ratio:3/2!important;height:auto!important;object-fit:cover!important;object-position:center!important;border:1px solid rgba(189,157,102,.20);background:#0b0d0c}
.gallery-modal[data-gallery="spaces"] .gallery-grid figcaption{min-height:44px;max-width:100%!important;margin:13px 0 0!important;padding:0 2px!important;font:400 13px/1.55 "Cormorant Garamond",serif!important;letter-spacing:.055em!important;color:#b9b0a4!important;text-transform:none!important}
@media(max-width:820px){
 .gallery-modal[data-gallery="spaces"] .gallery-grid{width:calc(100% - 44px)!important;padding:0!important;gap:34px!important}
 .gallery-modal[data-gallery="spaces"] .gallery-grid figure img{aspect-ratio:3/2!important}
 .gallery-modal[data-gallery="spaces"] .gallery-grid figcaption{min-height:0;font-size:12.5px!important;line-height:1.55!important;letter-spacing:.055em!important;margin-top:12px!important}
}

/* v56 — responsive mixed-orientation gallery: preserve every original frame */
.gallery-modal[data-gallery="spaces"] .gallery-grid{
  width:min(1380px,calc(100% - 64px))!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:38px!important;
  row-gap:52px!important;
  align-items:start!important;
}
.gallery-modal[data-gallery="spaces"] .gallery-grid figure{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  cursor:pointer;
}
.gallery-modal[data-gallery="spaces"] .gallery-grid figure img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#080a09!important;
  border:1px solid rgba(189,157,102,.16)!important;
  box-sizing:border-box!important;
}
.gallery-modal[data-gallery="spaces"] .gallery-grid figcaption{
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  box-sizing:border-box!important;
  margin:14px 0 0!important;
  padding:0 4px!important;
  font:400 14px/1.58 "Cormorant Garamond",serif!important;
  letter-spacing:.035em!important;
  color:#c0b7aa!important;
  text-transform:none!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:820px){
  .gallery-modal[data-gallery="spaces"] .gallery-grid{
    width:calc(100% - 36px)!important;
    grid-template-columns:1fr!important;
    gap:38px!important;
    padding:0!important;
    margin-top:28px!important;
  }
  .gallery-modal[data-gallery="spaces"] .gallery-grid figure img{
    aspect-ratio:auto!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  .gallery-modal[data-gallery="spaces"] .gallery-grid figcaption{
    margin-top:11px!important;
    padding:0 2px!important;
    font-size:13px!important;
    line-height:1.55!important;
    letter-spacing:.025em!important;
  }
  .gallery-modal[data-gallery="spaces"] .gallery-bar{
    padding-left:20px!important;
    padding-right:16px!important;
  }
  .gallery-modal[data-gallery="spaces"] .gallery-bar h2{
    font-size:clamp(32px,9vw,42px)!important;
    line-height:1.02!important;
    max-width:calc(100vw - 92px)!important;
  }
  .gallery-modal[data-gallery="spaces"] .gallery-bar p:not(.eyebrow){
    max-width:calc(100vw - 76px)!important;
    font-size:15px!important;
    line-height:1.55!important;
  }
}
@media(max-width:480px){
  .gallery-modal[data-gallery="spaces"] .gallery-grid{width:calc(100% - 28px)!important;gap:34px!important}
  .gallery-modal[data-gallery="spaces"] .gallery-grid figcaption{font-size:12.5px!important}
}

/* v59 — unified responsive visual windows across the homepage and galleries */
:root{--visual-radius:0px;--visual-border:rgba(189,157,102,.24)}

/* Keep every main content block on the same optical width. */
#spaces .container,#food .container,#people .container,#motion .container,#about .container,.contact .container{
  width:min(1180px,calc(100% - 64px))!important;
}

/* Chapter / gallery cards: equal height and clean alignment. */
.gallery-links{align-items:stretch!important;grid-auto-rows:1fr!important}
.gallery-card{height:100%!important;min-height:220px!important;box-sizing:border-box!important}
.gallery-card.gallery-card-photo{min-height:260px!important;background-size:cover!important;background-position:center!important}

/* Main image windows: same width language, predictable frame, no distortion. */
.home-motion-cover .motion-gallery-cover,
#food .gallery-card,
#spaces .gallery-card,
#people .portrait-image-button{
  border:1px solid var(--visual-border)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.home-motion-cover .motion-gallery-cover img{aspect-ratio:16/9!important;object-fit:cover!important;object-position:center!important}

/* PEOPLE stays portrait, but is centred in a deliberate editorial window rather than looking accidental. */
#people .portrait-preview{grid-template-columns:minmax(0,520px)!important;justify-content:center!important}
#people .portrait-preview figure{width:100%!important}
#people .portrait-image-button{background:#090b0a!important}
#people .portrait-image-button img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:4/5!important;object-fit:contain!important;object-position:center!important}

/* Full architecture gallery: equal outer windows on desktop, original image fully visible inside. */
.gallery-modal[data-gallery="spaces"] .gallery-grid{grid-auto-rows:auto!important;align-items:start!important}
.gallery-modal[data-gallery="spaces"] .gallery-grid figure{width:100%!important}
.gallery-modal[data-gallery="spaces"] .gallery-grid figure img{
  aspect-ratio:4/3!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#090b0a!important;
}
.gallery-modal[data-gallery="spaces"] .gallery-grid figcaption{min-height:46px!important}

/* Food and portrait modal grids use the same column rhythm as architecture. */
.gallery-grid{column-gap:36px!important;row-gap:48px!important;align-items:start!important}

@media(max-width:820px){
  #spaces .container,#food .container,#people .container,#motion .container,#about .container,.contact .container{
    width:calc(100% - 36px)!important;
  }
  .gallery-card,.gallery-card.gallery-card-photo{min-height:190px!important}
  .home-motion-cover .motion-gallery-cover img{aspect-ratio:16/10!important}
  #people .portrait-preview{grid-template-columns:1fr!important;width:100%!important}
  #people .portrait-image-button img{aspect-ratio:auto!important;max-height:none!important;object-fit:contain!important}
  .gallery-grid{grid-template-columns:1fr!important;width:calc(100% - 32px)!important;gap:36px!important}
  .gallery-modal[data-gallery="spaces"] .gallery-grid figure img{
    aspect-ratio:auto!important;
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }
  .gallery-modal[data-gallery="spaces"] .gallery-grid figcaption{min-height:0!important}
}
@media(max-width:480px){
  #spaces .container,#food .container,#people .container,#motion .container,#about .container,.contact .container{width:calc(100% - 28px)!important}
  .gallery-card,.gallery-card.gallery-card-photo{min-height:176px!important}
  .gallery-grid{width:calc(100% - 24px)!important;gap:32px!important}
}

/* v60 — 80/20 black-to-camera atmosphere requested by user */
/* Keep black dominant (80%) while the existing photographic camera theme reads at 20%. */
#spaces::before,
#food::before,
#people::before,
.home-motion-cover::before,
.spaces-gallery-choices::before,
.section.food::before,
.section.portraits::before,
.section.about::before,
.section.contact::before,
.about::before,
.contact::before{
  opacity:.20!important;
}
@media(max-width:820px){
  #spaces::before,
  #food::before,
  #people::before,
  .home-motion-cover::before,
  .spaces-gallery-choices::before,
  .section.food::before,
  .section.portraits::before,
  .section.about::before,
  .section.contact::before,
  .about::before,
  .contact::before{
    opacity:.20!important;
  }
}

/* v61 — premium Italian editorial refinement: rhythm, proportion, restraint */
:root{
  --premium-max:1160px;
  --premium-gold:#b99761;
  --premium-line:rgba(185,151,97,.34);
  --premium-text:#f1ede5;
  --premium-muted:#bdb4a7;
}
html{scroll-behavior:smooth}
body{background:#070908!important}

/* One disciplined editorial width and vertical rhythm. */
#spaces .container,#food .container,#people .container,#motion .container,#about .container,.contact .container{
  width:min(var(--premium-max),calc(100% - 72px))!important;
  margin-left:auto!important;margin-right:auto!important;
}
.section{padding-top:clamp(78px,8vw,124px)!important;padding-bottom:clamp(78px,8vw,124px)!important}
.section-head{max-width:820px!important;margin-bottom:clamp(34px,4vw,56px)!important}
.eyebrow{letter-spacing:.22em!important;font-size:11px!important}
.section h2,.section-title{letter-spacing:-.018em!important;line-height:.98!important}
.section p{line-height:1.68!important}

/* Cards read as one luxury collection, not unrelated boxes. */
.gallery-links{gap:22px!important;align-items:stretch!important}
.gallery-card{
  min-height:248px!important;
  border:1px solid var(--premium-line)!important;
  background-color:#090b0a!important;
  box-shadow:0 18px 52px rgba(0,0,0,.16)!important;
}
.gallery-card.gallery-card-photo{min-height:292px!important}
.gallery-card::after{border-color:rgba(185,151,97,.18)!important}
.gallery-card:hover{transform:translateY(-2px)!important;box-shadow:0 24px 64px rgba(0,0,0,.24)!important}

/* Shared visual language for the large feature windows. */
.home-motion-cover .motion-gallery-cover,#people .portrait-image-button,#food .gallery-card,#spaces .gallery-card{
  border:1px solid var(--premium-line)!important;
  box-shadow:0 20px 64px rgba(0,0,0,.18)!important;
}
.home-motion-cover .motion-gallery-cover img{aspect-ratio:16/9!important;object-fit:cover!important}
#people .portrait-preview{max-width:520px!important;margin-left:auto!important;margin-right:auto!important}

/* Buttons: thin Italian-editorial outline, consistent dimensions. */
.button,.gallery-choice-button,.gallery-open-button{
  min-height:48px!important;
  padding:13px 24px!important;
  border:1px solid rgba(185,151,97,.58)!important;
  border-radius:999px!important;
  letter-spacing:.16em!important;
  font-size:10px!important;
  line-height:1.35!important;
  box-sizing:border-box!important;
}

/* Architecture modal: balanced two-column salon wall, consistent windows and captions. */
.gallery-modal[data-gallery="spaces"] .gallery-grid{
  width:min(var(--premium-max),calc(100% - 72px))!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:28px!important;row-gap:52px!important;
}
.gallery-modal[data-gallery="spaces"] .gallery-grid figure{
  display:flex!important;flex-direction:column!important;min-width:0!important;
}
.gallery-modal[data-gallery="spaces"] .gallery-grid figure img{
  width:100%!important;height:auto!important;aspect-ratio:4/3!important;
  object-fit:contain!important;object-position:center!important;
  background:#080a09!important;border:1px solid rgba(185,151,97,.22)!important;
  box-shadow:0 16px 46px rgba(0,0,0,.20)!important;
}
.gallery-modal[data-gallery="spaces"] .gallery-grid figcaption{
  min-height:48px!important;margin-top:13px!important;padding:0 3px!important;
  color:#bdb4a7!important;font-size:13px!important;line-height:1.58!important;
  letter-spacing:.035em!important;
}
.gallery-bar{border-bottom:1px solid rgba(185,151,97,.16)!important}

/* Keep the requested 80/20 black-camera atmosphere, but make it quieter behind text. */
#spaces::before,#food::before,#people::before,.home-motion-cover::before,
.spaces-gallery-choices::before,.section.food::before,.section.portraits::before,
.section.about::before,.section.contact::before,.about::before,.contact::before{
  opacity:.20!important;
  filter:saturate(.72) contrast(1.04)!important;
}

@media(max-width:820px){
  #spaces .container,#food .container,#people .container,#motion .container,#about .container,.contact .container{
    width:calc(100% - 40px)!important;
  }
  .section{padding-top:72px!important;padding-bottom:72px!important}
  .section-head{margin-bottom:32px!important}
  .gallery-links{grid-template-columns:1fr!important;gap:18px!important}
  .gallery-card,.gallery-card.gallery-card-photo{min-height:210px!important}
  .button,.gallery-choice-button,.gallery-open-button{width:100%!important;max-width:100%!important;white-space:normal!important}
  .gallery-modal[data-gallery="spaces"] .gallery-grid{
    width:calc(100% - 32px)!important;grid-template-columns:1fr!important;gap:38px!important;
  }
  .gallery-modal[data-gallery="spaces"] .gallery-grid figure img{
    aspect-ratio:auto!important;height:auto!important;object-fit:contain!important;
  }
  .gallery-modal[data-gallery="spaces"] .gallery-grid figcaption{
    min-height:0!important;font-size:12.5px!important;line-height:1.58!important;margin-top:11px!important;
  }
}
@media(max-width:480px){
  #spaces .container,#food .container,#people .container,#motion .container,#about .container,.contact .container{width:calc(100% - 28px)!important}
  .section{padding-top:62px!important;padding-bottom:62px!important}
  .gallery-modal[data-gallery="spaces"] .gallery-grid{width:calc(100% - 24px)!important;gap:34px!important}
}

/* v62 — full-bleed cinematic camera atmosphere: no visible pasted-photo rectangles */
#spaces,#food,#people,.home-motion-cover,.spaces-gallery-choices,
.section.food,.section.portraits,.section.about,.section.contact,.about,.contact{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background-color:#070908!important;
}
#spaces::before,#food::before,#people::before,.home-motion-cover::before,
.spaces-gallery-choices::before,.section.food::before,.section.portraits::before,
.section.about::before,.section.contact::before,.about::before,.contact::before{
  content:""!important;
  position:absolute!important;
  inset:-8%!important;
  width:auto!important;
  height:auto!important;
  left:-8%!important;right:-8%!important;top:-8%!important;bottom:-8%!important;
  z-index:-1!important;
  pointer-events:none!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center center!important;
  opacity:.20!important;
  transform:none!important;
  filter:grayscale(.82) saturate(.55) contrast(1.08) brightness(.72)!important;
  -webkit-mask-image:radial-gradient(ellipse 92% 88% at 50% 50%,#000 0%,#000 50%,rgba(0,0,0,.82) 68%,rgba(0,0,0,.25) 88%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse 92% 88% at 50% 50%,#000 0%,#000 50%,rgba(0,0,0,.82) 68%,rgba(0,0,0,.25) 88%,transparent 100%)!important;
}
/* Alternate the existing camera artwork so the page feels curated rather than repeated. */
#spaces::before,.spaces-gallery-choices::before,.section.portraits::before{
  background-image:url("images/camera-blueprint-user-v47.webp")!important;
  background-position:center 44%!important;
}
#food::before,.section.food::before,.home-motion-cover::before{
  background-image:url("images/lens-macro-user-v47.webp")!important;
  background-position:center 52%!important;
}
#people::before,.section.about::before,.about::before{
  background-image:url("images/camera-body-user-v47.webp")!important;
  background-position:center 46%!important;
}
.section.contact::before,.contact::before{
  background-image:url("images/camera-lenses-user-v47.webp")!important;
  background-position:center 48%!important;
}
/* A continuous black veil integrates the image into the section instead of exposing its edges. */
#spaces::after,#food::after,#people::after,.home-motion-cover::after,
.spaces-gallery-choices::after,.section.food::after,.section.portraits::after,
.section.about::after,.section.contact::after,.about::after,.contact::after{
  content:""!important;position:absolute!important;inset:0!important;z-index:-1!important;pointer-events:none!important;
  background:linear-gradient(180deg,rgba(7,9,8,.82) 0%,rgba(7,9,8,.58) 34%,rgba(7,9,8,.60) 68%,rgba(7,9,8,.86) 100%),
             linear-gradient(90deg,rgba(7,9,8,.68) 0%,rgba(7,9,8,.30) 42%,rgba(7,9,8,.42) 68%,rgba(7,9,8,.72) 100%)!important;
}
@media(max-width:820px){
  #spaces::before,#food::before,#people::before,.home-motion-cover::before,
  .spaces-gallery-choices::before,.section.food::before,.section.portraits::before,
  .section.about::before,.section.contact::before,.about::before,.contact::before{
    inset:-5%!important;left:-5%!important;right:-5%!important;top:-5%!important;bottom:-5%!important;
    background-size:cover!important;background-position:center center!important;
    opacity:.18!important;
    -webkit-mask-image:radial-gradient(ellipse 105% 90% at 50% 48%,#000 0%,#000 54%,rgba(0,0,0,.72) 76%,transparent 100%)!important;
    mask-image:radial-gradient(ellipse 105% 90% at 50% 48%,#000 0%,#000 54%,rgba(0,0,0,.72) 76%,transparent 100%)!important;
  }
  #spaces::after,#food::after,#people::after,.home-motion-cover::after,
  .spaces-gallery-choices::after,.section.food::after,.section.portraits::after,
  .section.about::after,.section.contact::after,.about::after,.contact::after{
    background:linear-gradient(180deg,rgba(7,9,8,.86),rgba(7,9,8,.58) 40%,rgba(7,9,8,.64) 70%,rgba(7,9,8,.88))!important;
  }
}

/* v63 — 60/40 cinematic balance: 60% deep black, 40% camera atmosphere */
#spaces::before,#food::before,#people::before,.home-motion-cover::before,
.spaces-gallery-choices::before,.section.food::before,.section.portraits::before,
.section.about::before,.section.contact::before,.about::before,.contact::before{
  opacity:.40!important;
}
#spaces::after,#food::after,#people::after,.home-motion-cover::after,
.spaces-gallery-choices::after,.section.food::after,.section.portraits::after,
.section.about::after,.section.contact::after,.about::after,.contact::after{
  background:linear-gradient(180deg,rgba(7,9,8,.72) 0%,rgba(7,9,8,.44) 34%,rgba(7,9,8,.46) 68%,rgba(7,9,8,.76) 100%),
             linear-gradient(90deg,rgba(7,9,8,.56) 0%,rgba(7,9,8,.20) 42%,rgba(7,9,8,.28) 68%,rgba(7,9,8,.60) 100%)!important;
}
@media(max-width:820px){
  #spaces::before,#food::before,#people::before,.home-motion-cover::before,
  .spaces-gallery-choices::before,.section.food::before,.section.portraits::before,
  .section.about::before,.section.contact::before,.about::before,.contact::before{
    opacity:.40!important;
  }
  #spaces::after,#food::after,#people::after,.home-motion-cover::after,
  .spaces-gallery-choices::after,.section.food::after,.section.portraits::after,
  .section.about::after,.section.contact::after,.about::after,.contact::after{
    background:linear-gradient(180deg,rgba(7,9,8,.76),rgba(7,9,8,.46) 40%,rgba(7,9,8,.50) 70%,rgba(7,9,8,.80))!important;
  }
}


/* v64 — final editorial storytelling for Architecture · Hospitality · Details */
.gallery-editorial-intro{display:grid!important;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;column-gap:clamp(44px,7vw,110px)!important;align-items:start!important;padding:24px 0 64px!important;border-bottom:1px solid rgba(189,157,102,.22)!important}
.gallery-editorial-intro .eyebrow{grid-column:1/-1!important;margin-bottom:28px!important;letter-spacing:.22em!important;color:#b98a62!important}
.gallery-editorial-intro h2{grid-column:1!important;margin:0!important;max-width:520px!important}
.gallery-editorial-intro>p:not(.eyebrow){grid-column:2!important;max-width:760px!important;margin:0 0 20px!important;font-size:clamp(19px,1.55vw,25px)!important;line-height:1.62!important}
.gallery-editorial-intro .editorial-signoff{font-style:italic!important;color:#e1d8cd!important;border-left:1px solid rgba(189,157,102,.55)!important;padding-left:22px!important;margin-top:12px!important}
.gallery-story-card{grid-column:1/-1!important;display:grid!important;grid-template-columns:minmax(170px,.42fr) minmax(0,1.58fr)!important;gap:clamp(28px,6vw,90px)!important;align-items:start!important;margin:26px 0 34px!important;padding:42px 0!important;border-top:1px solid rgba(189,157,102,.22)!important;border-bottom:1px solid rgba(189,157,102,.22)!important}
.gallery-story-card span{font-size:11px!important;letter-spacing:.22em!important;color:#b98a62!important;text-transform:uppercase!important;padding-top:8px!important}
.gallery-story-card p{margin:0!important;max-width:850px!important;font:400 clamp(26px,3vw,44px)/1.18 "Cormorant Garamond",serif!important;color:#eee8df!important}
@media(max-width:820px){.gallery-editorial-intro{grid-template-columns:1fr!important;gap:22px!important;padding:12px 0 44px!important}.gallery-editorial-intro .eyebrow,.gallery-editorial-intro h2,.gallery-editorial-intro>p:not(.eyebrow){grid-column:1!important}.gallery-editorial-intro h2{font-size:clamp(40px,11vw,58px)!important}.gallery-editorial-intro>p:not(.eyebrow){font-size:18px!important;line-height:1.6!important}.gallery-story-card{grid-template-columns:1fr!important;gap:16px!important;margin:14px 0 22px!important;padding:30px 4px!important}.gallery-story-card p{font-size:clamp(27px,8vw,38px)!important;line-height:1.16!important}}

/* v67 — unified premium warm food colour language */
#food .editorial-image img,
.gallery-modal[data-active-gallery="food"] .gallery-grid img,
.gallery-modal[data-gallery="food"] .gallery-grid img,
.gallery-grid.food-grid img{
  filter: brightness(.97) contrast(1.055) saturate(.94) sepia(.035) !important;
}
#food .editorial-image img{object-position:center center!important;}

/* v69 — mobile editorial cards: copy first, one representative image below */
.portrait-mobile-layout{display:none}
@media(max-width:900px){
  .portrait-desktop-card{display:none!important}
  .feature-people-final{display:block!important;border:1px solid rgba(189,157,102,.22)!important;background:#070908!important}
  .portrait-mobile-layout{display:flex!important;flex-direction:column!important;width:100%!important}
  .portrait-mobile-layout .editorial-copy{order:1!important;width:100%!important;box-sizing:border-box!important}
  .portrait-mobile-layout .portrait-mobile-image{order:2!important;width:100%!important;aspect-ratio:auto!important;min-height:0!important}
  .portrait-mobile-layout .portrait-mobile-image img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center top!important}
}

/* v70 — personal camera portrait dissolve under About/Career intro */
.about-camera-dissolve{
  position:relative;
  width:100%;
  height:clamp(260px,34vw,520px);
  margin:8px 0 34px;
  overflow:hidden;
  background:#050606;
}
.about-camera-dissolve::before,
.about-camera-dissolve::after{
  content:"";
  position:absolute;
  left:0;right:0;
  z-index:2;
  pointer-events:none;
}
.about-camera-dissolve::before{top:0;height:28%;background:linear-gradient(to bottom,#050606 0%,rgba(5,6,6,.72) 30%,transparent 100%)}
.about-camera-dissolve::after{bottom:0;height:34%;background:linear-gradient(to top,#050606 0%,rgba(5,6,6,.58) 38%,transparent 100%)}
.about-camera-dissolve img{
  display:block;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 43%;
  filter:grayscale(1) contrast(1.03) brightness(.72);
  opacity:.72;
  transform:scale(1.035);
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 17%,#000 78%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 17%,#000 78%,transparent 100%);
}
@media(max-width:820px){
  .about-camera-dissolve{height:300px;margin:2px -22px 26px;width:calc(100% + 44px)}
  .about-camera-dissolve img{object-position:center 45%;transform:scale(1.09);opacity:.68}
}

/* v71 — full-width personal camera image, uniform 30% visibility */
.about-camera-dissolve{
  width:100%!important;
  height:clamp(260px,34vw,520px)!important;
  margin:8px 0 34px!important;
  background:#050606!important;
}
.about-camera-dissolve::before,.about-camera-dissolve::after{display:none!important}
.about-camera-dissolve img{
  width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:center center!important;
  filter:grayscale(1)!important;
  opacity:.30!important;
  transform:none!important;
  -webkit-mask-image:none!important;mask-image:none!important;
}
@media(max-width:820px){
  .about-camera-dissolve{height:300px!important;margin:2px -22px 26px!important;width:calc(100% + 44px)!important}
  .about-camera-dissolve img{object-position:center center!important;opacity:.30!important;transform:none!important}
}

/* v72 — About biography CTA */
.about-photo-wrap.about-cv-trigger{display:block;padding:0;background:none;color:inherit;cursor:pointer;width:100%;font:inherit;text-align:inherit}
.about-photo-wrap.about-cv-trigger:focus-visible,.about-cv-button:focus-visible{outline:1px solid var(--bronze);outline-offset:4px}
.about-cv-button{width:100%;margin:24px 0 0;padding:17px 2px 14px;border:0;border-top:1px solid rgba(189,157,102,.55);border-bottom:1px solid rgba(189,157,102,.28);background:transparent;color:var(--bronze);display:flex;align-items:center;justify-content:space-between;gap:18px;font:500 9px/1.2 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;cursor:pointer}
.about-cv-button b{font-size:20px;font-weight:300;transition:transform .25s ease}
.about-cv-button[aria-expanded="true"] b{transform:rotate(90deg)}
.about-cv{scroll-margin-top:110px}
@media(max-width:820px){.about-cv-button{margin-top:20px;padding:16px 0 13px;font-size:9px}}

/* v74 — exact supplied hero frame, no crop / no zoom */
.hero-cinematic .hero-media{aspect-ratio:1881/836!important;}
.hero-cinematic .hero-media picture img,.hero-cinematic .hero-media img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;transform:none!important;animation:none!important;}
@media(max-width:820px){.hero-cinematic .hero-media{aspect-ratio:1881/836!important}.hero-cinematic .hero-media picture img,.hero-cinematic .hero-media img{object-fit:contain!important;transform:none!important;animation:none!important}}

/* v77 — premium first-screen hero: full viewport, original artwork preserved without crop */
.hero.hero-cinematic{
  position:relative!important;
  min-height:100svh!important;
  height:100svh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#070908!important;
  isolation:isolate;
}
.hero.hero-cinematic::before{
  content:"";
  position:absolute;
  inset:-22px;
  z-index:-2;
  background-image:linear-gradient(rgba(5,7,6,.46),rgba(5,7,6,.46)),url("images/hero-studio-v2.webp");
  background-size:cover;
  background-position:center center;
  filter:blur(18px) saturate(.82) brightness(.72);
  transform:scale(1.05);
}
.hero.hero-cinematic::after{
  content:"↓";
  position:absolute;
  left:50%;
  bottom:18px;
  z-index:3;
  transform:translateX(-50%);
  color:rgba(242,237,228,.58);
  font:300 18px/1 Manrope,sans-serif;
  letter-spacing:0;
  pointer-events:none;
}
.hero-cinematic .hero-media{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
}
.hero-cinematic .hero-media picture,
.hero-cinematic .hero-media picture img,
.hero-cinematic .hero-media img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:calc(100svh - 78px)!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  animation:none!important;
  filter:none!important;
}
@media(max-width:820px){
  .hero.hero-cinematic{
    margin-top:78px!important;
    min-height:calc(100svh - 78px)!important;
    height:calc(100svh - 78px)!important;
    padding:0!important;
  }
  .hero.hero-cinematic::after{bottom:16px!important;font-size:17px!important}
  .hero-cinematic .hero-media,
  .hero-cinematic .hero-media picture,
  .hero-cinematic .hero-media picture img,
  .hero-cinematic .hero-media img{
    width:100%!important;
    height:auto!important;
    max-height:calc(100svh - 78px)!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}

/* v79 — seamless full-screen hero: same artwork fills the viewport, master frame stays uncropped */
.hero.hero-cinematic{
  background:#15110d!important;
}
.hero.hero-cinematic::before{
  inset:-10px!important;
  background-image:url("images/hero-studio-v2.webp")!important;
  background-size:cover!important;
  background-position:center center!important;
  filter:blur(7px) saturate(.95) brightness(.64)!important;
  transform:scale(1.025)!important;
  opacity:1!important;
}
.hero.hero-cinematic::after{
  text-shadow:0 1px 8px rgba(0,0,0,.55);
}
.hero-cinematic .hero-media{
  background:transparent!important;
}
.hero-cinematic .hero-media picture img,
.hero-cinematic .hero-media img{
  box-shadow:0 0 34px rgba(0,0,0,.10)!important;
}
@media(max-width:820px){
  .hero.hero-cinematic::before{
    background-position:center center!important;
    filter:blur(6px) saturate(.96) brightness(.66)!important;
    transform:scale(1.02)!important;
  }
}

/* v80 — dedicated 9:21 mobile hero; desktop artwork remains unchanged */
@media(max-width:820px){
  .hero.hero-cinematic{
    margin-top:78px!important;
    height:calc(100svh - 78px)!important;
    min-height:calc(100svh - 78px)!important;
    padding:0!important;
    background:#15110d!important;
  }
  .hero.hero-cinematic::before{
    background-image:url("images/hero-studio-mobile-9x21.webp")!important;
    background-size:cover!important;
    background-position:center center!important;
    filter:blur(8px) saturate(.96) brightness(.70)!important;
  }
  .hero-cinematic .hero-media,
  .hero-cinematic .hero-media picture{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    aspect-ratio:auto!important;
  }
  .hero-cinematic .hero-media picture img,
  .hero-cinematic .hero-media img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center center!important;
    transform:none!important;
    animation:none!important;
  }
}

/* v82 — clean responsive hero: no fixed 9:21, no blurred filler */
.hero.hero-cinematic{
  height:auto!important;
  min-height:0!important;
  display:block!important;
  background:#070908!important;
  overflow:hidden!important;
}
.hero.hero-cinematic::before{display:none!important;background:none!important;filter:none!important;opacity:0!important}
.hero-cinematic .hero-media,
.hero-cinematic .hero-media picture{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  margin:0!important;
}
.hero-cinematic .hero-media picture img,
.hero-cinematic .hero-media img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  animation:none!important;
  filter:none!important;
  box-shadow:none!important;
}
@media(max-width:820px){
  .hero.hero-cinematic{
    margin-top:78px!important;
    height:calc(100svh - 78px)!important;
    min-height:0!important;
    padding:0!important;
  }
  .hero-cinematic .hero-media,
  .hero-cinematic .hero-media picture{
    width:100%!important;
    height:100%!important;
  }
  .hero-cinematic .hero-media picture img,
  .hero-cinematic .hero-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}

/* v92: enlarge only the main biography CTA */
.about-cv .credits-action{font-size:9px;padding:13px 18px;}
@media(max-width:760px){.about-cv .credits-action{font-size:8px;padding:12px 16px;}}

/* v93 — place 20+ years title directly over the existing camera photograph */
.about-camera-title-overlay{position:relative!important}
.about-camera-title-overlay .merged-career-title{
  position:absolute;z-index:3;left:clamp(24px,4vw,64px);top:clamp(24px,4vw,58px);
  margin:0!important;max-width:min(650px,72%);color:#f2ece4!important;
  text-shadow:0 2px 18px rgba(0,0,0,.58);
}
.about-camera-title-overlay .merged-career-title .career-years{color:#f2ece4!important}
@media(max-width:820px){
  .about-camera-title-overlay .merged-career-title{left:22px;top:22px;max-width:82%;font-size:clamp(34px,10vw,54px)!important;line-height:.98!important}
}

/* v98 — ABOUT transition: B&W photographer background, 60% black / 40% image, soft dissolve */
.section.about::before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  left:0!important;
  right:0!important;
  top:0!important;
  width:100%!important;
  height:min(760px,72vh)!important;
  background-image:url("images/about-photographer-transition-v98.webp")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  opacity:.40!important;
  pointer-events:none!important;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 70%,transparent 100%)!important;
  mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 70%,transparent 100%)!important;
}
@media(max-width:820px){
  .section.about::before{
    height:72vh!important;
    background-position:42% center!important;
    opacity:.40!important;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 16%,#000 72%,transparent 100%)!important;
    mask-image:linear-gradient(to bottom,transparent 0%,#000 16%,#000 72%,transparent 100%)!important;
  }
}

/* v99 — Photography philosophy: full-bleed cinematic image, responsive mobile + desktop */
.section.about::before{display:none!important;background-image:none!important;}
.photography-philosophy{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  width:100vw!important;
  max-width:none!important;
  min-height:min(900px,82vw)!important;
  margin:clamp(18px,3vw,36px) calc(50% - 50vw) clamp(44px,7vw,96px)!important;
  padding:clamp(42px,7vw,88px) max(6vw,calc((100vw - 1180px)/2))!important;
  overflow:hidden!important;
  border:0!important;
  isolation:isolate!important;
  background:#050606!important;
}
.photography-philosophy::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:url("images/light-meets-moment-kpotiris.jpg") center center/cover no-repeat;
}
.photography-philosophy::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(to bottom,rgba(5,6,6,.02) 0%,rgba(5,6,6,.04) 46%,rgba(5,6,6,.58) 72%,#050606 100%);
}
.photography-philosophy .philosophy-image{display:none!important;}
.photography-philosophy .philosophy-copy{width:min(780px,92%)!important;padding:0!important;text-shadow:0 2px 18px rgba(0,0,0,.42);}
.photography-philosophy .philosophy-lead{font-size:clamp(38px,4.8vw,72px)!important;line-height:1.02!important;margin:0 0 28px!important;color:#f5f0e8!important;}
.photography-philosophy .philosophy-copy div p{font-size:clamp(18px,1.5vw,23px)!important;line-height:1.55!important;color:rgba(245,240,232,.9)!important;}
@media(max-width:820px){
  .photography-philosophy{
    min-height:100svh!important;
    margin:8px calc(50% - 50vw) 52px!important;
    padding:48px 9vw 58px!important;
    justify-content:flex-end!important;
  }
  .photography-philosophy::before{
    background-size:cover!important;
    background-position:64% center!important;
  }
  .photography-philosophy::after{
    background:linear-gradient(to bottom,rgba(5,6,6,.02) 0%,rgba(5,6,6,.03) 48%,rgba(5,6,6,.62) 70%,#050606 100%)!important;
  }
  .photography-philosophy .philosophy-copy{width:100%!important;}
  .photography-philosophy .philosophy-lead{font-size:clamp(36px,10vw,52px)!important;line-height:1.02!important;margin-bottom:24px!important;}
  .photography-philosophy .philosophy-copy div p{font-size:18px!important;line-height:1.52!important;}
}

/* v100 — subtle photographer signature background across ABOUT; preserves v99 philosophy */
.section.about{position:relative!important;isolation:isolate!important;overflow:hidden!important;}
.section.about::before{
  display:block!important;
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background-image:
    linear-gradient(to bottom,#050606 0%,rgba(5,6,6,.82) 8%,rgba(5,6,6,.80) 45%,rgba(5,6,6,.90) 82%,#050606 100%),
    url("images/about-photographer-kpotiris-v104.jpg")!important;
  background-size:cover!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
  opacity:1!important;
  pointer-events:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
.section.about>.container{position:relative!important;z-index:1!important;}
@media(max-width:820px){
  .section.about::before{
    background-image:
      linear-gradient(to bottom,#050606 0%,rgba(5,6,6,.84) 8%,rgba(5,6,6,.81) 45%,rgba(5,6,6,.91) 82%,#050606 100%),
      url("images/about-photographer-kpotiris-v104.jpg")!important;
    background-size:auto 100%!important;
    background-position:30% top!important;
  }
}

/* v102 — readability polish only: philosophy text + visible ABOUT background */
.photography-philosophy::after{
  background:
    linear-gradient(90deg,rgba(5,6,6,.70) 0%,rgba(5,6,6,.42) 46%,rgba(5,6,6,.08) 78%),
    linear-gradient(to bottom,rgba(5,6,6,.02) 0%,rgba(5,6,6,.08) 42%,rgba(5,6,6,.66) 72%,#050606 100%)!important;
}
.photography-philosophy .philosophy-copy{
  text-shadow:0 2px 16px rgba(0,0,0,.82),0 1px 3px rgba(0,0,0,.9)!important;
}
.section.about::before{
  background-image:
    linear-gradient(to bottom,#050606 0%,rgba(5,6,6,.76) 8%,rgba(5,6,6,.68) 45%,rgba(5,6,6,.82) 82%,#050606 100%),
    url("images/about-photographer-kpotiris-v104.jpg")!important;
}
@media(max-width:820px){
  .photography-philosophy::after{
    background:
      linear-gradient(90deg,rgba(5,6,6,.60) 0%,rgba(5,6,6,.32) 72%,rgba(5,6,6,.12) 100%),
      linear-gradient(to bottom,rgba(5,6,6,.03) 0%,rgba(5,6,6,.12) 40%,rgba(5,6,6,.72) 67%,#050606 100%)!important;
  }
  .section.about::before{
    background-image:
      linear-gradient(to bottom,#050606 0%,rgba(5,6,6,.78) 8%,rgba(5,6,6,.70) 45%,rgba(5,6,6,.84) 82%,#050606 100%),
      url("images/about-photographer-kpotiris-v104.jpg")!important;
  }
}

/* v103 — approved premium Contact + About treatment */
.contact{position:relative!important;isolation:isolate!important;overflow:hidden!important;background:#050606!important;}
.contact::before{
  content:""!important;display:block!important;position:absolute!important;z-index:-2!important;inset:0!important;
  background-image:url("images/camera-body-user-v47.webp")!important;
  background-size:cover!important;background-position:center 18%!important;background-repeat:no-repeat!important;
  opacity:.62!important;pointer-events:none!important;
}
.contact::after{
  content:""!important;position:absolute!important;z-index:-1!important;inset:0!important;pointer-events:none!important;
  background:linear-gradient(to bottom,rgba(5,6,6,.18) 0%,rgba(5,6,6,.40) 32%,rgba(5,6,6,.76) 68%,#050606 100%)!important;
}
.contact>.container{position:relative!important;z-index:1!important;}
.contact .eyebrow{margin-top:clamp(80px,10vw,150px)!important;}
.contact h2{text-shadow:0 2px 20px rgba(0,0,0,.75)!important;}
.premium-contact .contact-item{background:rgba(5,6,6,.68)!important;backdrop-filter:blur(2px)!important;-webkit-backdrop-filter:blur(2px)!important;}

/* ABOUT: make the photographer scene a real visual layer instead of a nearly invisible texture */
.section.about::before{
  background-image:
    linear-gradient(to bottom,rgba(5,6,6,.30) 0%,rgba(5,6,6,.48) 30%,rgba(5,6,6,.70) 68%,#050606 100%),
    url("images/about-photographer-kpotiris-v104.jpg")!important;
  background-size:cover!important;background-position:center top!important;opacity:1!important;
}
.about-camera-dissolve{background:transparent!important;}
.about-camera-dissolve img{opacity:.46!important;}
.about-layout{position:relative!important;}
.about-layout::before{
  content:"";position:absolute;z-index:-1;inset:-42px -5vw -60px;
  background:linear-gradient(90deg,rgba(5,6,6,.80),rgba(5,6,6,.48) 52%,rgba(5,6,6,.70));
  pointer-events:none;
}
@media(max-width:820px){
  .contact::before{background-size:auto 72vh!important;background-position:center top!important;opacity:.72!important;}
  .contact::after{background:linear-gradient(to bottom,rgba(5,6,6,.12) 0%,rgba(5,6,6,.38) 34%,rgba(5,6,6,.78) 66%,#050606 100%)!important;}
  .contact .eyebrow{margin-top:120px!important;}
  .section.about::before{
    background-image:
      linear-gradient(to bottom,rgba(5,6,6,.22) 0%,rgba(5,6,6,.42) 32%,rgba(5,6,6,.70) 70%,#050606 100%),
      url("images/about-photographer-kpotiris-v104.jpg")!important;
    background-size:auto 100%!important;background-position:32% top!important;
  }
  .about-camera-dissolve img{opacity:.52!important;}
  .about-layout::before{inset:-28px -18px -44px;background:linear-gradient(to bottom,rgba(5,6,6,.30),rgba(5,6,6,.72) 42%,rgba(5,6,6,.86));}
}

/* v106 — ABOUT outer background only: clean black */
.section.about::before{
  background-image:none!important;
  background:none!important;
  opacity:0!important;
}
.section.about{
  background-color:#050606!important;
}


/* v107 — PEOPLE gallery: uniform portrait image frames only */
#portraitsGallery img,
.portraits-gallery img,
.portrait-gallery img,
[data-gallery="portraits"] img,
[data-gallery="people"] img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  display:block!important;
}


/* v113 — PEOPLE item 05: same gallery sizing as the other portraits, full frame, no crop */
.portrait-gallery figure.portrait-behind-card{
  aspect-ratio:auto!important;
  overflow:visible!important;
}
.portrait-gallery figure.portrait-behind-card > img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  background:transparent!important;
}

/* v117 — desktop hero top breathing room only. Mobile unchanged. */
@media(min-width:821px){
  .hero.hero-cinematic{padding-top:18px!important;background:#070908!important}
}

/* v144 — Architecture gallery opens directly on imagery; unified card framing */
.gallery-modal[data-gallery="spaces"] .gallery-bar{
  position:absolute!important;
  top:0!important;left:0!important;right:0!important;
  z-index:5!important;
  padding:18px max(18px,3vw)!important;
  justify-content:flex-end!important;
  background:transparent!important;
  backdrop-filter:none!important;
  border-bottom:0!important;
  pointer-events:none!important;
}
.gallery-modal[data-gallery="spaces"] .gallery-bar>div{display:none!important;}
.gallery-modal[data-gallery="spaces"] .gallery-bar button{
  pointer-events:auto!important;
  background:rgba(4,5,4,.72)!important;
  backdrop-filter:blur(10px)!important;
}
.gallery-modal[data-gallery="spaces"] .gallery-grid{
  margin-top:0!important;
  padding-top:0!important;
}
.gallery-modal[data-gallery="spaces"] .gallery-grid figure img{
  width:100%!important;
  aspect-ratio:16/10!important;
  height:auto!important;
  object-fit:cover!important;
  object-position:center center!important;
}
@media(max-width:820px){
  .gallery-modal[data-gallery="spaces"] .gallery-bar{padding:14px!important;}
  .gallery-modal[data-gallery="spaces"] .gallery-grid{
    width:100%!important;
    margin:0 auto 64px!important;
    gap:34px!important;
  }
  .gallery-modal[data-gallery="spaces"] .gallery-grid figure{
    width:100%!important;
  }
  .gallery-modal[data-gallery="spaces"] .gallery-grid figure img{
    width:100%!important;
    aspect-ratio:16/10!important;
    height:auto!important;
    object-fit:cover!important;
  }
  .gallery-modal[data-gallery="spaces"] .gallery-grid figcaption{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}

/* v145 — Architecture gallery opens directly on imagery; keep only close control */
.gallery-modal[data-gallery="spaces"] .gallery-bar{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:20!important;padding:14px 16px!important;background:transparent!important;border:0!important;backdrop-filter:none!important;pointer-events:none!important;justify-content:flex-end!important}
.gallery-modal[data-gallery="spaces"] .gallery-bar .gallery-heading{display:none!important}
.gallery-modal[data-gallery="spaces"] .gallery-bar #galleryClose{pointer-events:auto!important}
.gallery-modal[data-gallery="spaces"] .spaces-editorial-in-gallery{display:none!important}
.gallery-modal[data-gallery="spaces"] .gallery-grid{margin-top:22px!important;padding-top:0!important;border-top:0!important}
@media(max-width:820px){.gallery-modal[data-gallery="spaces"] .gallery-grid{margin-top:18px!important}.gallery-modal[data-gallery="spaces"] .gallery-bar{padding:12px 14px!important}}

/* v157 — new realistic hero: 16:9 desktop, portrait mobile */
@media(min-width:821px){
  .hero.hero-cinematic{height:auto!important;min-height:0!important;margin:0!important;background:#070908!important;}
  .hero-cinematic .hero-media,.hero-cinematic .hero-media picture{width:100%!important;aspect-ratio:16/9!important;height:auto!important;overflow:hidden!important;display:block!important;}
  .hero-cinematic .hero-media picture img,.hero-cinematic .hero-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 44%!important;max-height:none!important;}
}
@media(max-width:820px){
  .hero-cinematic .hero-media picture img,.hero-cinematic .hero-media img{object-fit:cover!important;object-position:center center!important;}
}


/* v161 — desktop hero: show the complete dedicated wide artwork, no crop */
@media(min-width:821px){
  .hero.hero-cinematic{height:auto!important;min-height:0!important;overflow:hidden!important;background:#070908!important;}
  .hero-cinematic .hero-media,.hero-cinematic .hero-media picture{width:100%!important;height:auto!important;aspect-ratio:1881/836!important;display:block!important;overflow:hidden!important;}
  .hero-cinematic .hero-media picture img,.hero-cinematic .hero-media img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;transform:none!important;max-height:none!important;}
}

/* v167 — coastal portfolio hero */
.hero.hero-cinematic{height:calc(100svh - 78px)!important;min-height:620px!important;background:#101724!important;position:relative!important}
.hero-cinematic .hero-media,.hero-cinematic .hero-media picture{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important}
.hero-cinematic .hero-media picture img,.hero-cinematic .hero-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;margin:0!important;max-width:none!important}
.hero-cinematic .hero-media::after{display:block!important;content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(6,10,18,.13),rgba(6,10,18,.02) 45%,rgba(6,10,18,.22))!important;z-index:1!important}
.hero-brand-v167{position:absolute;z-index:3;left:50%;top:43%;transform:translate(-50%,-50%);width:min(820px,80vw);text-align:center;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.38)}
.hero-name-v167{font:400 clamp(28px,3.2vw,52px)/1.1 "Cormorant Garamond",serif;letter-spacing:.19em}
.hero-rule-v167{display:block;width:52px;height:1px;background:rgba(255,255,255,.88);margin:28px auto}
.hero-role-v167{font:500 clamp(8px,.75vw,12px)/1.5 Manrope,sans-serif;letter-spacing:.30em}
@media(max-width:820px){
 .hero.hero-cinematic{margin-top:78px!important;height:calc(100svh - 78px)!important;min-height:600px!important;padding:0!important}
 .hero-cinematic .hero-media,.hero-cinematic .hero-media picture{position:absolute!important;inset:0!important;height:100%!important;width:100%!important}
 .hero-cinematic .hero-media picture img,.hero-cinematic .hero-media img{height:100%!important;width:100%!important;object-fit:cover!important;object-position:center center!important}
 .hero-brand-v167{top:56%;width:88vw}
 .hero-name-v167{font-size:clamp(23px,7vw,34px);letter-spacing:.14em;white-space:nowrap}
 .hero-rule-v167{width:46px;margin:22px auto}
 .hero-role-v167{font-size:8px;line-height:1.75;letter-spacing:.20em;max-width:330px;margin:0 auto}
}

/* v168 — hero typography moved into upper cloud area on desktop + mobile */
.hero-brand-v167{top:29%!important;width:min(900px,86vw)!important;}
.hero-name-v167{font-size:clamp(26px,3vw,48px)!important;letter-spacing:.17em!important;white-space:nowrap!important;}
.hero-rule-v167{margin:22px auto!important;}
@media(max-width:820px){
 .hero-brand-v167{top:27%!important;width:92vw!important;}
 .hero-name-v167{font-size:clamp(18px,4.8vw,25px)!important;letter-spacing:.10em!important;white-space:nowrap!important;}
 .hero-rule-v167{margin:18px auto!important;}
 .hero-role-v167{font-size:7.5px!important;letter-spacing:.16em!important;max-width:92vw!important;white-space:nowrap!important;}
}

/* v170 — true mobile 9:16 hero artwork; no blur, no zoom, full composition */
@media(max-width:820px){
  .hero.hero-cinematic{margin-top:78px!important;height:auto!important;min-height:0!important;aspect-ratio:9/16!important;overflow:hidden!important;background:#101724!important;padding:0!important;}
  .hero-cinematic .hero-media,.hero-cinematic .hero-media picture{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;aspect-ratio:auto!important;overflow:hidden!important;}
  .hero-cinematic .hero-media picture img,.hero-cinematic .hero-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;transform:none!important;filter:none!important;}
  .hero-cinematic .hero-media::after{display:none!important;}
  .hero-brand-v167{display:none!important;}
}
