/* Editorial redesign inspired by the supplied photography reference. */
:root{--ink:#1b1918;--paper:#f4f0ea;--paper-deep:#e9e3da;--cream:#efe6dc;--warm:#c9aa88;--line-dark:#4a4540;--line-light:#d8d0c6;--max:1440px}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
::selection{background:var(--warm);color:var(--ink)}
.wrap{width:min(calc(100% - 100px),var(--max))}
.section-pad{padding:118px 0 130px}
.section-kicker{display:flex;align-items:center;gap:22px;margin:0 0 31px;color:#897e73;font-size:11px;font-weight:500;letter-spacing:.22em}
.section-kicker span{color:#b7aca2}
.title-dot,.hero-period{color:inherit}
h1,h2,h3{font-weight:400}
em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400}
.button{min-height:54px;padding:16px 22px;font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.button span{margin-left:36px;font-size:18px;font-weight:300;line-height:0}
.button-light{background:var(--cream);color:var(--ink)}
.button-light:hover{background:#fff}
.button-accent{background:var(--warm);color:var(--ink)}
.button-accent:hover{background:#ddbea0}
:focus-visible{outline:2px solid var(--warm);outline-offset:4px}
.skip-link{background:var(--cream)}

/* The navigation sits over the opening photograph. */
.site-header{position:absolute;top:0;left:0;right:0;z-index:50;background:transparent;color:#fff;border-bottom:1px solid rgba(255,255,255,.28)}
.header-inner{height:92px;gap:40px}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:245px;font-family:Georgia,'Times New Roman',serif;font-size:23px;font-weight:400;letter-spacing:.06em;line-height:1.05;white-space:nowrap}
.header-brand{min-width:110px;font-size:40px;letter-spacing:.03em;line-height:.9}
.brand small{font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:400;letter-spacing:.28em;text-transform:uppercase}
.header-brand small{font-size:9px;letter-spacing:.21em}
.desktop-nav{gap:30px}
.desktop-nav a{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#f1eae3}
.desktop-nav a:hover,.desktop-nav a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:8px}
.header-cta{border:1px solid rgba(255,255,255,.75);color:#fff;padding:13px 17px;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.header-cta span{font-size:16px;margin-left:20px}
.header-cta:hover{background:var(--cream);border-color:var(--cream);color:var(--ink)}
.menu-toggle span{background:#fff}
.mobile-nav:not([hidden]){display:flex;background:var(--ink)}
.mobile-nav a{color:#fff}

/* Opening photograph and title. */
.hero{position:relative;min-height:780px;min-height:100svh;background:#37251f;color:#fff;isolation:isolate}
.hero-slides{position:absolute;inset:0;overflow:hidden;background:#37251f}
.hero-slide{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity .8s ease}
.hero-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--slide-position,center);filter:saturate(.82) contrast(1.04)}
.hero-slide:first-child img{inset:0 0 0 auto;width:calc(100% - max(46%, 490px));max-width:none;object-position:var(--slide-position,center)}
@media(min-width:961px){
 .hero-slide:nth-child(5)::before{content:'';position:absolute;inset:-20px;background:url('assets/portfolio/dates/007.jpg') center 20%/cover;filter:blur(16px) brightness(.68)}
 .hero-slide:nth-child(5) img{inset:0 0 0 auto;width:88%;max-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%);mask-image:linear-gradient(90deg,transparent,#000 18%)}
}
.hero-slide.is-active{opacity:1}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,9,9,.78) 0%,rgba(10,9,9,.54) 32%,rgba(10,9,9,.08) 75%),linear-gradient(0deg,rgba(10,9,9,.66),transparent 42%)}
.hero-inner{position:relative;z-index:1;min-height:780px;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:215px 0 112px}
.hero-copy{padding:0;display:block;max-width:870px}
.hero .eyebrow{display:block;margin:0 0 30px;color:#e8ddd0;font-size:11px;font-weight:500;letter-spacing:.24em}
.hero .eyebrow span{padding:0 8px;color:var(--warm)}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(90px,9.5vw,138px);font-weight:400;letter-spacing:-.065em;line-height:.82;margin:0 0 27px;max-width:none}
.hero-intro{font-size:19px;font-weight:300;line-height:1.42;color:#f2eae1;max-width:480px;margin:0 0 32px}
.hero-actions{gap:36px}
.hero .text-link{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border-color:rgba(255,255,255,.7)}
.hero .text-link span{font-size:20px;margin-left:20px;vertical-align:-2px}
.hero-controls{position:absolute;right:0;bottom:48px;display:flex;align-items:center;gap:15px;color:#f0e5d8}
.hero-play-toggle,.hero-dot{appearance:none;border:0;background:none;color:inherit;cursor:pointer}
.hero-play-toggle{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.7);border-radius:50%;font-family:Arial,sans-serif;font-size:12px;line-height:1}
.hero-play-toggle:hover,.hero-play-toggle:focus-visible{background:rgba(255,255,255,.2)}
.hero-dots{display:flex;align-items:center;gap:8px}
.hero-dot{width:14px;height:24px;padding:0;display:grid;place-items:center}
.hero-dot::after{content:"";display:block;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.55);transition:background .2s ease,transform .2s ease}
.hero-dot.is-active::after{background:#fff;transform:scale(1.6)}
.hero-dot:hover::after,.hero-dot:focus-visible::after{background:#fff}
.hero-play-toggle:focus-visible,.hero-dot:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* Work overview and the complete photo archive. */
.portfolio-section{background:var(--ink);color:#f6f0e9;scroll-margin-top:0}
.portfolio-section .section-kicker{color:#bba993}
.portfolio-section .section-heading{align-items:end;margin-bottom:45px}
.section-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(48px,5.8vw,90px);font-weight:400;letter-spacing:-.055em;line-height:1.05;margin:0}
.portfolio-section .section-heading>p{max-width:315px;margin:0 0 6px;color:#b9aea4;font-size:15px;line-height:1.65}
.featured-carousel{overflow:hidden;touch-action:pan-y}
.featured-grid{display:flex;gap:18px;transition:transform .65s ease}
.featured-card{position:relative;display:block;flex:0 0 calc((100% - 36px)/3);min-width:0;height:510px;padding:0;border:0;background:#38312c;color:#fff;text-align:left;overflow:hidden}
.featured-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease,filter .65s ease;filter:saturate(.76)}
.featured-card[data-open-filter="events"] img{object-position:54% 50%}
.featured-card[data-open-filter="studio"] img{object-position:63% 50%}
.featured-card[data-open-filter="street"] img{object-position:50% 28%}
.featured-card[data-open-filter="dates"] img{object-position:50% 28%}
.featured-card[data-open-filter="children"] img{object-position:50% 50%}
.featured-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,6,6,.8),transparent 52%);pointer-events:none}
.featured-card:hover img,.featured-card:focus-visible img{transform:scale(1.035);filter:saturate(.95)}
.featured-title{position:absolute;z-index:1;left:27px;right:27px;bottom:28px;display:flex;align-items:end;justify-content:space-between;font-family:Georgia,'Times New Roman',serif;font-size:clamp(29px,2.8vw,43px);line-height:1.1;letter-spacing:-.035em}
.featured-title span{font-family:Arial,Helvetica,sans-serif;font-size:24px;font-weight:300}
.featured-card[data-open-filter="children"] .featured-title{font-size:clamp(25px,2.2vw,34px)}
.filters{gap:8px;margin:70px 0 0;padding-top:25px;border-top:1px solid var(--line-dark);scroll-margin-top:20px}
.filter{border:1px solid #655e57;color:#e8dfd6;padding:11px 16px;font-size:12px;letter-spacing:.02em}
.filter span{font-size:10px}
.filter:hover,.filter.is-active{background:var(--cream);border-color:var(--cream);color:var(--ink)}
.portfolio-section.is-collapsed .filters{margin-bottom:0}
.gallery{column-count:4;column-gap:13px;padding-top:38px}
.gallery[hidden]{display:none}
.gallery-item{margin-bottom:13px;background:#4b443e}
.gallery-item img{transition:transform .45s ease,filter .45s ease}
.gallery-item:hover img,.gallery-item:focus-visible img{filter:brightness(.82);transform:scale(1.035)}

/* A single portrait gives the photographer a clear introduction. */
.intro-section{background:var(--paper)}
.intro-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(60px,10vw,160px);align-items:center}
.intro-photo{height:620px;max-width:none;padding:0;background:#a8aaa0;overflow:hidden}
.intro-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.intro-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(50px,5.3vw,83px);font-weight:400;letter-spacing:-.055em;line-height:1.05;margin:0 0 32px}
.intro-copy h2 em{white-space:normal}
.intro-copy .intro-lead{font-size:22px!important;line-height:1.48!important;color:#322c27!important;margin:0 0 20px}
.intro-copy p:not(.section-kicker){max-width:555px;font-size:16px;line-height:1.75;color:#655c54}
.editorial-link{display:inline-flex;align-items:center;gap:35px;margin-top:19px;padding-bottom:10px;border-bottom:1px solid #9c8b7a;font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.editorial-link span{font-size:18px;font-weight:300}
.editorial-link:hover{color:#89684d}

/* Services stay compact, with one clear link per format. */
.services-section{background:var(--paper-deep)}
.services-heading{margin-bottom:58px}
.services-heading>p{max-width:265px;margin-bottom:7px;font-size:15px;line-height:1.6;color:#766d64}
.service-list{border-top:1px solid #c6bdb3}
.service-list a{grid-template-columns:70px minmax(260px,.8fr) minmax(280px,1fr) 40px;min-height:108px;border-color:#c6bdb3}
.service-list a:hover,.service-list a:focus-visible{background:rgba(255,255,255,.35)}
.service-number{font-size:11px;letter-spacing:.1em;color:#988b7f}
.service-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,2.7vw,43px);font-weight:400;letter-spacing:-.04em}
.service-desc{font-size:14px;line-height:1.6;color:#71675e}
.service-symbol{font-size:27px}

/* Full-width photographic pause. */
.statement-section{position:relative;min-height:580px;display:flex;align-items:center;background:linear-gradient(rgba(12,10,10,.55),rgba(12,10,10,.58)),url('assets/event-atmosphere.jpg') center 45%/cover;color:#fff;padding:95px 0}
.statement-inner{align-items:flex-start;text-align:left}
.statement-quote{font-family:Georgia,'Times New Roman',serif;font-size:92px;line-height:.7;color:var(--cream)}
.statement-inner blockquote{max-width:980px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(40px,5.4vw,78px);font-weight:400;letter-spacing:-.045em;line-height:1.15;margin:28px 0 35px}
.statement-author{font-size:11px;font-weight:500;letter-spacing:.24em;color:#e8ddd0}

/* Reviews are real excerpts alongside a quiet photograph. */
.reviews-section{background:var(--paper)}
.reviews-section .section-heading{margin-bottom:54px}
.review-heading-side{max-width:290px;margin-bottom:7px}
.review-heading-side p{font-size:15px;line-height:1.6;color:#756b62;margin:0 0 20px}
.review-write-button{display:inline-flex;align-items:center;gap:24px;padding:16px 18px;background:var(--ink);color:#fff;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:background .2s}
.review-write-button span{font-size:19px;font-weight:300;line-height:0}
.review-write-button:hover,.review-write-button:focus-visible{background:#5b4639;color:#fff}
.review-heading-side small{display:block;margin-top:11px;font-size:11px;line-height:1.4;color:#8a8077}
.reviews-layout{grid-template-columns:minmax(0,1fr) minmax(0,.82fr);gap:70px;align-items:stretch}
.review-list{gap:0;border-top:1px solid var(--line-light)}
.review-card,.review-card:first-child{background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line-light);padding:27px 0 28px}
.review-card blockquote{font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,2vw,31px);font-weight:400;letter-spacing:-.025em;line-height:1.35}
.review-card figcaption,.review-card:first-child figcaption{border:0;margin:16px 0 0;padding:0;color:#8c8074;font-size:10px;font-weight:500;letter-spacing:.18em}
.reviews-photo{position:relative;min-height:540px;background:#7c6d5c;overflow:hidden}
.reviews-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 38%;filter:saturate(.75)}
.reviews-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.5))}
.reviews-photo span{position:absolute;z-index:1;left:27px;right:27px;bottom:26px;color:#fff;font-size:10px;letter-spacing:.18em;line-height:1.5}

/* Contact methods and the Telegram draft form. */
.contact-section{background:var(--ink);color:#f8f3ed}
.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8%}
.contact-copy .section-kicker{color:#bba993}
.contact-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(57px,5.8vw,91px);font-weight:400;line-height:1.03;letter-spacing:-.055em;margin:0 0 30px}
.contact-copy>p:not(.section-kicker){font-size:16px;line-height:1.7;color:#c1b6ac;max-width:470px;margin:0 0 42px}
.contact-links{border-color:var(--line-dark)}
.contact-links a{gap:8px;border-color:var(--line-dark);padding:22px 0}
.contact-links a span{font-size:10px;letter-spacing:.2em;color:#9e8f80}
.contact-links a strong{font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:400;letter-spacing:-.02em}
.contact-links a:hover strong{color:var(--warm)}
.feedback-card{background:var(--paper);padding:35px 38px 39px;color:var(--ink)}
.feedback-top{border-color:var(--line-light);color:#8c8074;margin-bottom:31px}
.feedback-card h3{font-family:Georgia,'Times New Roman',serif;font-size:43px;font-weight:400;letter-spacing:-.04em;margin:0 0 27px}
.feedback-card form{gap:18px}
.feedback-card label{font-size:12px;font-weight:500}
.feedback-card input,.feedback-card select,.feedback-card textarea{border:1px solid #d3cabf;background:#fff;padding:14px;color:var(--ink)}
.feedback-card input:focus,.feedback-card select:focus,.feedback-card textarea:focus{border-color:#96795e;box-shadow:0 0 0 2px rgba(150,121,94,.16)}
.feedback-card .consent-row input{accent-color:#927252}
.consent-row a:hover,.consent-row a:focus-visible{color:#89684d}
.form-submit{width:100%;background:#25211e;color:#fff}
.form-submit:hover{background:#4a3930;color:#fff}
.site-footer{background:#141211;border-color:#3c3530;color:#9e9184}
.footer-inner{min-height:120px;font-size:10px;letter-spacing:.16em}
.footer-brand{color:#eee4d9;min-width:245px}
.lightbox{background:#171513}
.lightbox::backdrop{background:rgba(0,0,0,.94)}

@media(max-width:1120px){
 .wrap{width:min(calc(100% - 64px),var(--max))}
 .desktop-nav{gap:18px}
 .brand{min-width:210px;font-size:20px}
 .header-brand{min-width:100px;font-size:36px}
 .header-cta{padding:12px}
 .header-cta span{margin-left:10px}
 .featured-card{height:440px}
 .reviews-layout{gap:40px}
}
@media(max-width:960px){
 .site-header{position:absolute}
 .header-inner{height:76px}
 .desktop-nav,.header-cta{display:none}
 .menu-toggle{display:block;margin-left:auto}
 .hero,.hero-inner{min-height:730px;min-height:100svh}
 .hero-inner{padding-top:170px}
 .hero h1{font-size:clamp(80px,12.6vw,122px)}
 .hero-slide img{object-position:var(--slide-position-mobile,var(--slide-position,center))}
 .hero-slide:first-child img{inset:0;width:100%;object-position:var(--slide-position-mobile,center)}
 .portfolio-section .section-heading{align-items:flex-start}
 .featured-card{flex-basis:calc((100% - 18px)/2)}
 .featured-card{height:380px}
 .featured-title{left:18px;right:18px}
 .featured-title{font-size:31px}
 .intro-grid,.contact-grid{grid-template-columns:1fr;gap:60px}
 .intro-photo{max-width:570px}
 .service-list a{grid-template-columns:45px 1fr 26px}
 .service-desc{grid-column:2;grid-row:2}
 .service-symbol{grid-column:3;grid-row:1}
 .gallery{column-count:3}
 .reviews-layout{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:680px){
 .wrap{width:min(calc(100% - 36px),var(--max))}
 .section-pad{padding:80px 0 90px}
 .brand{font-size:18px;min-width:0}
 .header-brand{font-size:34px}
 .brand small{font-size:9px}
 .hero,.hero-inner{min-height:690px;min-height:100svh}
 .hero-slide img{filter:saturate(.76) brightness(.85)}
 .hero-shade{background:linear-gradient(0deg,rgba(8,7,7,.86) 0%,rgba(8,7,7,.28) 62%,rgba(8,7,7,.32))}
 .hero-inner{padding:140px 0 98px}
 .hero .eyebrow{font-size:9px;letter-spacing:.17em;line-height:1.5;margin-bottom:20px}
 .hero h1{font-size:clamp(62px,16.5vw,88px);margin-bottom:24px}
 .hero-intro{font-size:17px;max-width:335px}
 .hero-actions{gap:19px;flex-wrap:wrap}
 .hero .text-link{font-size:11px}
 .hero-controls{bottom:35px;gap:8px}
 .hero-play-toggle{width:40px;height:40px}
 .hero-dots{gap:0}
 .hero-dot{width:30px;height:40px}
 .section-heading{display:block;margin-bottom:35px}
 .section-heading h2{font-size:clamp(46px,11vw,65px)}
 .section-heading>p{margin-top:21px!important;max-width:460px!important}
 .review-heading-side{margin-top:22px;max-width:330px}
 .featured-grid{gap:12px}
 .featured-card{flex-basis:100%}
 .featured-card{height:345px}
 .featured-card[data-open-filter="studio"] img{object-position:50% 40%}
 .featured-card[data-open-filter="street"] img{object-position:50% 30%}
 .featured-title{font-size:36px}
 .filters{gap:7px;margin-top:50px}
 .filter{padding:10px 12px;font-size:11px}
 .gallery{column-count:2;column-gap:8px;padding-top:28px}
 .gallery-item{margin-bottom:8px}
 .intro-grid{gap:45px}
 .intro-photo{height:500px}
 .intro-copy h2{font-size:clamp(47px,11vw,65px)}
 .intro-copy .intro-lead{font-size:20px!important}
 .services-heading{margin-bottom:40px}
 .service-list a{gap:8px 12px;padding:22px 0}
 .service-title{font-size:29px}
 .service-desc{font-size:13px}
 .statement-section{min-height:550px;padding:80px 0}
 .statement-quote{font-size:75px}
 .statement-inner blockquote{font-size:clamp(38px,10vw,60px)}
 .reviews-layout{grid-template-columns:1fr;gap:40px}
 .reviews-photo{min-height:430px;max-height:600px}
 .contact-grid{gap:50px}
 .contact-copy h2{font-size:clamp(56px,13vw,78px)}
 .feedback-card{padding:28px 20px}
 .feedback-card h3{font-size:38px}
 .field-row{grid-template-columns:1fr}
 .footer-inner{flex-wrap:wrap;gap:17px;min-height:150px;padding:28px 0}
 .footer-inner>span:last-child{width:100%}
}
@media(max-width:390px){
 .hero h1{font-size:62px}
 .hero-actions .button{width:100%;justify-content:space-between}
 .hero .text-link{margin-top:4px}
 .featured-card{height:300px}
 .intro-photo{height:440px}
 .contact-links a strong{font-size:22px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .featured-grid{transition:none}
 .featured-card img{transition:none}
 .hero-slide,.hero-dot::after{transition:none}
}
