@font-face{font-family:Editorial;src:local('Georgia');font-display:swap}
:root{--paper:#faf9f6;--ink:#292923;--muted:#73746a;--line:#ddddd4;--accent:#74785f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#dcdfd0}.wrap{width:min(1240px,calc(100% - 100px));margin-inline:auto}.section{padding-block:105px}.header{display:flex;align-items:center;justify-content:space-between;padding-block:26px;border-bottom:1px solid var(--line)}.brand{font-family:Editorial,Georgia,serif;font-size:25px;line-height:1.3}.brand span{display:block;font-family:Arial,sans-serif;font-size:9px;letter-spacing:2px;text-transform:uppercase;margin-top:7px}.header nav{display:flex;align-items:center;gap:36px;font-size:12px}.nav-contact{border-bottom:1px solid var(--ink);padding-bottom:5px}.nav-contact span{margin-left:25px}.eyebrow{text-transform:uppercase;letter-spacing:2.3px;font-size:10px;margin:0 0 27px;color:var(--muted)}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:Editorial,Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(45px,5.7vw,82px);line-height:1.08;letter-spacing:-3px;margin-bottom:28px}em{font-weight:400;color:var(--accent)}h2{font-size:clamp(38px,4.3vw,60px);line-height:1.13;letter-spacing:-1.7px;margin-bottom:28px}.hero-intro{padding:64px 7% 42px}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between}.hero-bottom p{color:var(--muted);font-size:13px;line-height:1.7;margin:0}.text-link{display:inline-flex;align-items:center;gap:40px;padding-block:9px;border-bottom:1px solid #a5a597;font-size:12px}.text-link span{font-size:19px}.hero-photo{margin:0;position:relative;height:560px;background:#211e19;overflow:hidden}.hero-photo>img{height:100%;width:100%;object-fit:cover;object-position:50% 43%}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0006);pointer-events:none}.hero-photo figcaption{position:absolute;z-index:1;bottom:30px;left:35px;right:35px;color:white;display:flex;align-items:end;justify-content:space-between;font-family:Georgia,serif;font-size:20px;line-height:1.3}.photo-index{font:9px Arial,sans-serif;letter-spacing:2px}.mobile-break{display:none}.about{display:grid;grid-template-columns:0.9fr 1fr;gap:14%;align-items:center;padding-inline:7%}.about-photo{position:relative}.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}.photo-caption{display:block;text-align:center;color:var(--muted);font-size:10px;letter-spacing:1px;margin-top:15px}.about-copy>p:not(.eyebrow,.signature){max-width:370px;color:var(--muted);font-size:14px;line-height:1.9}.signature{font-family:Georgia,serif;font-style:italic;font-size:25px;margin:30px 0 20px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:43px}.section-head h2{margin-bottom:0}.section-aside{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:4px}.portfolio{background:#f0f0e9;overflow:hidden}.reels{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;gap:22px;padding-inline:max(50px,calc((100vw - 1240px)/2));scroll-padding-inline:max(50px,calc((100vw - 1240px)/2));scrollbar-width:none}.reels::-webkit-scrollbar{display:none}.reel{flex:0 0 310px;scroll-snap-align:start;min-width:0}.reel-media{position:relative;aspect-ratio:9/16;overflow:hidden;background:#282920}.reel-media>img,.reel-media>video,.reel-media>iframe{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;border:0}.reel-play{position:absolute;inset:0;width:100%;border:0;background:linear-gradient(transparent 65%,#0005);display:flex;align-items:center;justify-content:center;color:white}.play-circle{display:grid;place-items:center;border:1px solid #fffc;border-radius:50%;width:62px;height:62px;background:#ffffff20;backdrop-filter:blur(8px);font-size:18px;padding-left:3px;transition:transform .25s}.reel-play:hover .play-circle{transform:scale(1.1)}.reel-label{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:14px 0 0}.reel-label span{font-size:10px;letter-spacing:1px;color:var(--muted)}.reel-status{position:absolute;bottom:45px;left:15px;right:15px;background:#282923e8;color:white;padding:9px;font-size:12px;text-align:center;pointer-events:none}.reel-status:empty{display:none}.portfolio-controls{display:flex;justify-content:space-between;align-items:center;margin-top:32px}.swipe-hint{font-size:11px;color:var(--muted);margin:0}.swipe-hint span{margin-left:12px}.paging{display:flex;align-items:center;gap:10px}.paging>span{font-size:11px;letter-spacing:2px;margin-right:20px;font-variant-numeric:tabular-nums}.arrow{width:44px;height:44px;border:1px solid #bfc1b3;border-radius:50%;background:transparent;font-size:20px}.arrow:hover{background:#e2e3d9}.arrow:disabled{opacity:.3;cursor:default}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.review{border:0;padding:14px;background:#f0f0e9;text-align:left;transition:transform .25s}.review:hover{transform:translateY(-4px)}.review img{width:100%;height:380px;object-fit:contain;background:#f9f9f5}.review>span{display:flex;justify-content:space-between;font-size:11px;padding:16px 3px 4px}.pricing{border-block:1px solid var(--line)}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.price{display:flex;flex-direction:column;border-top:1px solid var(--ink);padding-top:20px}.price-top{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:1px;margin-bottom:30px}.price h3{font-size:34px;margin-bottom:8px}.amount{font-family:Georgia,serif;font-size:41px;line-height:1.3;margin-bottom:15px}.amount span{font-size:24px}.hours{font-size:12px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:22px}.price ul{list-style:none;padding:0;margin:0 0 22px;font-size:12px;line-height:1.75}.price li{position:relative;padding-left:17px;margin-bottom:12px}.price li:before{content:'·';position:absolute;left:0;font-size:20px;line-height:1}.price-description{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:26px}.button{display:flex;justify-content:space-between;align-items:center;gap:40px;border:1px solid #a9ab9d;padding:15px 20px;font-size:12px;transition:background .2s}.button:hover{background:#e7e8df}.price .button{margin-top:auto}.price-note{margin:27px 0 0;color:var(--muted);font-size:11px}.contact{text-align:center;padding-block:110px 100px}.contact h2{font-size:clamp(58px,7.3vw,100px);line-height:1.06}.contact>p:not(.eyebrow){color:var(--muted);font-size:13px}.contact .button{max-width:290px;margin:30px auto 18px}.dark{background:var(--ink);color:white;border-color:var(--ink)}.dark:hover{background:#4b4e3e}.instagram{font-size:11px;border-bottom:1px solid var(--line);padding-bottom:5px}.footer{border-top:1px solid var(--line);padding-block:25px;display:flex;justify-content:space-between;gap:18px;font-size:10px;color:var(--muted)}.footer>span:first-child{font-family:Georgia,serif;font-size:15px;color:var(--ink)}.review-dialog{padding:45px 12px 12px;border:0;background:var(--paper);max-width:min(90vw,620px);max-height:92dvh}.review-dialog::backdrop{background:#181a17b8;backdrop-filter:blur(5px)}.review-dialog img{max-height:78dvh;width:auto;margin:auto}.dialog-close{position:absolute;right:5px;top:0;font-size:30px;border:0;background:none;width:44px;height:44px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:15px}.skip:focus{top:10px}
@media(min-width:1500px){.hero-photo{height:630px}}
@media(max-width:800px){.wrap{width:calc(100% - 44px)}.section{padding-block:65px}.header{padding-block:21px}.brand{font-size:21px}.brand span{font-size:8px;letter-spacing:1.2px}.header nav{gap:20px}.header nav>a:not(.nav-contact){display:none}.nav-contact span{margin-left:10px}.hero-intro{padding:47px 0 30px}.eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:22px}h1{font-size:clamp(40px,7.5vw,60px);letter-spacing:-1.6px;line-height:1.1}.hero-bottom{gap:20px}.hero-bottom p{font-size:11px}.text-link{font-size:11px;gap:18px}.hero-photo{height:540px}.hero-photo>img{object-position:50% 56%}.hero-photo figcaption{left:20px;right:20px;bottom:23px;font-size:18px}.photo-index{font-size:7px;letter-spacing:1px}.about{gap:40px;padding-inline:0}.about-copy h2{font-size:38px}.about-copy>p:not(.eyebrow,.signature){font-size:12px}.section-head{gap:20px}.section-aside{font-size:11px}.reels{padding-inline:22px;scroll-padding-inline:22px;gap:16px}.reel{flex-basis:290px}.review-grid{gap:14px}.review{padding:8px}.review img{height:300px}.price-grid{gap:25px}.price h3{font-size:28px}.amount{font-size:34px}.button{gap:15px;padding:14px}.footer>span:nth-child(2){display:none}}
@media(max-width:540px){.mobile-break{display:block}.hero-intro{padding-top:38px}h1{font-size:clamp(35px,9.3vw,50px);margin-bottom:22px}.hero-bottom{align-items:center}.hero-bottom .text-link{max-width:115px;line-height:1.5;gap:12px}.hero-photo{height:440px}.hero-photo>img{object-position:50% 63%}.photo-index{display:none}.about{grid-template-columns:1fr;gap:34px}.about-photo{width:82%;margin-inline:auto}.about-copy{padding-inline:6px}.about-copy>p:not(.eyebrow,.signature){font-size:14px}.about-copy h2{font-size:43px}.signature{margin-top:24px}.section-head{display:block;margin-bottom:30px}.section-aside{margin-top:21px;font-size:12px}h2{font-size:41px}.reel{flex-basis:80%;max-width:330px}.portfolio-controls{margin-top:23px;gap:12px}.swipe-hint{font-size:10px;max-width:115px}.swipe-hint span{display:none}.paging{gap:8px}.paging>span{margin-right:8px;font-size:10px}.arrow{width:40px;height:40px}.review-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:15px;padding-bottom:14px;scrollbar-width:thin}.review{flex:0 0 85%;scroll-snap-align:start}.review img{height:370px}.price-grid{grid-template-columns:1fr;gap:42px}.price-top{margin-bottom:20px}.price h3{font-size:36px}.amount{font-size:42px}.price ul,.price-description{font-size:13px}.price .button{padding:16px 20px}.price-note{font-size:10px}.contact{padding-block:74px}.contact h2{font-size:66px}.footer{font-size:10px}.footer>span:first-child{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
[hidden]{display:none!important}

/* Fit the whole video frame, including native fullscreen playback. */
.reel-media>video{object-fit:contain;object-position:center;background:#000}
.reel-media>video:fullscreen{object-fit:contain;object-position:center;background:#000;width:100%;height:100%;border-radius:0}
.reel-media>video:-webkit-full-screen{object-fit:contain;object-position:center;background:#000;width:100%;height:100%;border-radius:0}

.review-dialog[open]{animation:review-appear 240ms cubic-bezier(.2,.7,.3,1) both}
.review-dialog[open]::backdrop{animation:review-backdrop 240ms ease-out both}
@keyframes review-appear{from{opacity:0}to{opacity:1}}
@keyframes review-backdrop{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.review-dialog[open],.review-dialog[open]::backdrop{animation:none}}

/* Readability and clearer actions. */
.ui-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.play-icon{width:23px;height:23px;fill:currentColor}
.arrow,.dialog-close{display:inline-grid;place-items:center;padding:0;appearance:none;-webkit-appearance:none}
.dialog-close{border:0;border-radius:50%;box-shadow:none}
.dialog-close:focus{outline:none}
.review-dialog.keyboard-focus .dialog-close:focus{outline:2px solid var(--accent);outline-offset:2px}
.review-dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
.review-dialog img{object-fit:contain}
.header nav{font-size:15px;gap:32px}
.header nav>a:not(.nav-contact){padding-block:12px}
.nav-contact{display:flex;align-items:center;gap:16px;border:1px solid #bfc1b3;border-radius:50px;padding:7px 15px;min-height:44px;font-size:14px;background:#f0f0e9;transition:background .2s}
.nav-contact span{margin:0;font-size:20px}
.nav-contact:hover{background:#e3e5da}
.eyebrow{font-size:13px;letter-spacing:1.8px;color:#575c4a;font-weight:500}
.hero-bottom p{font-size:16px;color:#5d6056;line-height:1.7}
.hero-bottom .text-link{font-size:14px}
.section-aside{font-size:15px;color:#5d6056}
.hello-button{display:inline-flex;align-items:center;gap:18px;font-size:13px;border:1px solid #b4b8a7;border-radius:50px;padding:7px 8px 7px 18px;background:#f0f0e9;transition:background .2s}
.hello-button span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#74785f;color:white;font-size:19px}
.hello-button:hover{background:#e1e4d7}
.portfolio .section-head{margin-bottom:28px}
.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.portfolio-toolbar p{font-size:15px;color:#505643;margin:0}
.portfolio-toolbar p span{margin-left:15px;font-size:22px}
.arrow{width:48px;height:48px;background:var(--paper)}
.reel-label{justify-content:flex-end}
.reel-label span{font-size:13px;color:#555b49}
.swipe-hint{font-size:14px;color:#555b49}
.paging>span{font-size:13px;color:#555b49}
.reels{cursor:grab}
.reels.is-free-scroll{scroll-snap-type:none}
.reels.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.reels.is-dragging *{cursor:grabbing!important}
.price-note{font-size:15px;line-height:1.6;color:#555b49;border-left:2px solid #92977e;padding:9px 0 9px 16px;margin-top:32px}
.contact>p:not(.eyebrow){font-size:16px;color:#5d6056}
.contact-actions{display:flex;justify-content:center;gap:12px;margin:28px auto 0;max-width:460px}
.social-button{display:flex;align-items:center;gap:12px;flex:1;padding:11px 13px 11px 17px;border-radius:14px;border:1px solid #b7bba9;font-size:15px;font-weight:500;transition:background .2s,transform .2s}
.social-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.social-button .icon-dot{fill:currentColor;stroke:none}
.social-arrow{display:grid;place-items:center;margin-left:auto;width:28px;height:28px;border-radius:50%;background:#ffffff18;font-size:19px}
.social-button.telegram{background:#656d53;border-color:#656d53;color:#fff}
.social-button.instagram{background:#efefe7;color:#3e4534}
.instagram .social-arrow{background:#fff9}
.social-button:hover{transform:translateY(-2px)}
.telegram:hover{background:#515a40}.social-button.instagram:hover{background:#e4e7da}
@media(max-width:800px){.header nav{font-size:14px}.eyebrow{font-size:12px}.hero-bottom p{font-size:14px}.section-aside{font-size:14px}.hero-bottom .text-link{font-size:13px}}
@media(max-width:540px){.nav-contact{padding:6px 11px;gap:9px;font-size:12px}.header{gap:12px}.brand{font-size:20px}.hero-bottom{align-items:flex-start;gap:15px}.hero-bottom p{font-size:14px}.hero-bottom .text-link{font-size:12px;flex-shrink:0;max-width:105px}.eyebrow{font-size:11px;letter-spacing:1.5px}.portfolio-toolbar{gap:12px}.portfolio-toolbar p{font-size:13px;max-width:180px;line-height:1.6}.portfolio-toolbar p span{display:none}.portfolio-toolbar .paging{flex-shrink:0}.arrow{width:44px;height:44px}.swipe-hint{font-size:12px;max-width:130px}.paging>span{font-size:12px}.price-note{font-size:14px}.contact-actions{flex-direction:column;max-width:260px;gap:10px}.social-button{font-size:15px;padding:10px 14px 10px 18px}.contact>p:not(.eyebrow){font-size:14px}}



/* Mobile layout: keep actions readable and photo captions visible. */
@media(max-width:540px){
 .hero-bottom{flex-direction:row;align-items:center;gap:8px}
 .hero-bottom p{min-width:0}
 .hero-bottom .text-link{max-width:none;white-space:nowrap;gap:5px;font-size:11px;min-height:44px}
 .hero-bottom .text-link .ui-icon{width:16px;height:16px}
 .hero-photo figcaption{flex-direction:column;align-items:flex-start;gap:15px;font-size:16px}
 .hero-photo .photo-index{display:block;font-size:9px;letter-spacing:1.4px}
 .about-copy .signature{text-align:center}
 .about-copy .hello-button{display:flex;width:fit-content;max-width:100%;margin-inline:auto}
 .contact .eyebrow{font-size:13px;line-height:1.7}
 .review-dialog{max-width:calc(100vw - 24px);max-height:90dvh}
}
@media(hover:none){.review:hover{transform:none}.reel-play:hover .play-circle{transform:none}}

/* Content refresh: editorial introduction and complete mobile navigation. */
.hero-intro .eyebrow{font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;color:#575c4a;line-height:1.7}
.hero-bottom .hero-description{margin:0}
.about{gap:8%;grid-template-columns:.9fr 1.1fr}
.about-copy .about-statement{font-size:clamp(30px,3.1vw,44px);line-height:1.2;letter-spacing:-1px;margin:0;text-wrap:pretty}
.statement-accent{display:block;margin-top:.45em}
.about-copy .statement-ending{margin:26px 0 0;line-height:1.8}
@media(max-width:800px){
 .header{flex-wrap:nowrap;gap:12px}
 .header nav{width:auto;justify-content:flex-end;gap:16px}
 .header nav>a:not(.nav-contact){display:inline-flex;align-items:center;min-height:44px}
 .hero-intro .eyebrow{font-size:12px;letter-spacing:1.5px}
 .about{gap:32px}
 .about-copy .about-statement{font-size:32px}
}
@media(max-width:540px){
 .header.wrap{width:calc(100% - 28px);gap:8px}
 .header .brand{font-size:20px;white-space:nowrap;flex-shrink:0}
 .header .brand span{font-size:8px;letter-spacing:1.2px}
 .header nav{font-size:11px;gap:9px;white-space:nowrap}
 .header .nav-contact{font-size:11px;padding:4px 8px;gap:4px;min-height:36px}
 .header .nav-contact .ui-icon{width:13px;height:13px}
 .hero-intro .eyebrow{font-size:10px;letter-spacing:1px}
 .hero-photo .photo-index{display:none}
 .about{grid-template-columns:1fr}
 .about-copy .about-statement{font-size:clamp(29px,8vw,38px);line-height:1.22}
}

/* Keep each phrase on its own line without word-by-word wrapping. */
#portfolio-heading>span,#portfolio-heading>em{display:block}
@media(max-width:540px){
 #portfolio-heading{font-size:clamp(25px,7.5vw,40px);letter-spacing:-1px;line-height:1.18}
 #portfolio-heading>span,#portfolio-heading>em{white-space:nowrap}
}
@media(max-width:360px){
 .header .brand{font-size:20px}
 .header .brand span{font-size:7px;letter-spacing:.6px}
 .header.wrap{width:calc(100% - 16px);gap:4px}
 .header .nav-contact .ui-icon{width:10px;height:10px}
 .header nav{font-size:10px;gap:6px}
 .header .nav-contact{font-size:10px;padding-inline:6px}
}

/* Three contact options. */
.contact-actions{max-width:680px}
.social-button.vk{background:#e6e9df;color:#3e4534;text-align:left}
.social-button.vk .social-arrow{background:#fff9}
.social-button.vk:hover{background:#dce1d2}
@media(max-width:540px){
 .statement-ending .repeat-line{display:block}
 .contact-actions{max-width:260px}
}

/* Drag across the desktop picture; reserve native top/bottom player controls. */
.video-drag-surface{display:none}
@media(hover:hover) and (pointer:fine){
 .video-drag-surface{display:block;position:absolute;inset:48px 0 80px;cursor:grab}
}

.reel-status{opacity:1;transition:opacity .3s ease}
.reel-status.is-fading{opacity:0}
