/* Content-sized sections with a measured viewport budget; no clipping or page scaling. */
:root{--viewport-height:100dvh;--panel-height:calc(var(--viewport-height) - var(--header-height));--page-gutter:clamp(20px,4vw,64px);--panel-pad:clamp(12px,3dvh,32px)}
html{scroll-padding-top:var(--header-height)}
.header{min-height:0;padding-block:clamp(6px,1.3dvh,14px);gap:16px}
.header .brand img{width:clamp(128px,13vw,180px)}
.header nav{gap:clamp(10px,1.35vw,22px);font-size:16px;line-height:1.4}
.header nav a{padding-block:8px}
.header-phone{line-height:1.5}.header-email{line-height:1.5}
.section-wrap{padding-inline:var(--page-gutter)}
.screen-section{min-height:var(--panel-height);height:auto;padding-block:var(--panel-pad);display:flex;flex-direction:column;justify-content:center;overflow:visible}
.screen-content{width:100%;min-width:0;flex:none}
.screen-content>*,.hero-inner>*,.contact-layout>*,.work-grid>*,.project-stage>*{min-width:0}
.hero{display:flex;position:relative;min-height:var(--panel-height)}
.hero-inner{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,60px)}
.hero h1{font-size:clamp(38px,min(4.7vw,8.5dvh),70px);line-height:1.15;margin-bottom:clamp(14px,2.5dvh,26px)}
.hero .eyebrow{font-size:clamp(11px,1vw,13px);margin-bottom:clamp(14px,2.5dvh,26px);letter-spacing:.12em}
.hero .intro{font-size:clamp(16px,min(1.5vw,2.8dvh),20px);line-height:1.65;margin-bottom:clamp(16px,2.5dvh,28px);max-width:540px}
.hero .button{min-height:46px;padding:12px 22px;font-size:16px}
.hero-note{margin-top:20px;font-size:13px}
.hero-visual{padding-bottom:0;max-width:100%;margin:0;display:flex;flex-direction:column;gap:12px}
.hero-orbit{aspect-ratio:auto;height:var(--hero-art-height,clamp(200px,calc(var(--panel-height) - 100px),610px));width:100%;min-height:0}
.hero-orbit img{height:100%;width:100%;object-fit:contain}
.visual-caption{position:static;padding-top:10px;font-size:12px;flex-direction:row;flex-wrap:wrap;gap:4px 16px}
.scroll-link{display:none}
.about-layout{padding-block:0}.about-intro{font-size:clamp(18px,1.5vw,20px)}
.works .section-heading{margin-bottom:24px}.works .section-heading h2{font-size:clamp(30px,3vw,42px)}
.works .filters{margin-bottom:24px;padding-bottom:14px}.work-image{height:clamp(180px,30dvh,320px)}
.work-grid{gap:36px}.work-description h3{font-size:clamp(22px,2vw,26px)}
.process{padding-inline:var(--page-gutter)}
.process .section-heading{margin-bottom:clamp(16px,3dvh,28px)}
.process-grid{gap:clamp(12px,3dvh,32px) 24px}
.process-grid li{padding-block:8px}
.process-grid .process-icon{margin-bottom:clamp(10px,2dvh,22px);transform:none}
.process-grid h3{font-size:clamp(16px,1.4vw,19px)}
.project-layout{min-height:0;padding-block:0;gap:clamp(10px,2dvh,22px)}
.project-heading{font-size:clamp(26px,min(3vw,4.8dvh),42px);line-height:1.2}
.project-stage{grid-template-columns:52px minmax(0,540px) 52px;gap:clamp(10px,2vw,28px)}
.project-art{height:var(--project-art-height,clamp(140px,36dvh,430px));min-height:0}
.project-arrow{width:52px;height:52px;font-size:32px}
.project-copy{max-width:780px}.project-copy h3{font-size:clamp(22px,2vw,27px);line-height:1.3;margin-bottom:8px}
.project-kind{font-size:13px;line-height:1.5;margin-bottom:4px}
.project-copy #project-description{font-size:clamp(16px,1.4vw,18px);line-height:1.5;margin-bottom:10px}
.project-pagination{gap:12px}.slider-dots button{height:36px}.project-counter{font-size:13px}
.audiences{padding-top:0}.advantages-copy{padding-top:clamp(20px,4dvh,44px)}
.audiences .eyebrow,.advantages-copy h2{font-size:clamp(26px,2.7vw,36px);margin-bottom:20px}
.advantages-list{gap:14px 32px}.advantages-list li{font-size:clamp(16px,1.4vw,18px);line-height:1.6}
.contact-section .screen-content{display:flex;flex-direction:column;gap:clamp(14px,2dvh,24px)}
.contact-layout{padding-block:0;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,4vw,70px);align-items:center}
.contact-copy>p:not(.eyebrow){font-size:clamp(18px,min(1.8vw,3dvh),22px);line-height:1.55}
.deer-art{transform:none;margin:20px auto 0}
.contact-layout form{width:100%;padding:clamp(18px,2.5dvh,30px)}
.contact-layout form h2{font-size:clamp(22px,2vw,27px);line-height:1.2}
.contact-layout .form-subtitle{font-size:13px;line-height:1.4;margin:4px 0 16px}
.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin-bottom:16px}
.form-field:last-child{grid-column:1 / -1}
.contact-layout form .form-field label{font-size:14px;line-height:1.5;margin:0 0 2px}
.contact-layout form .form-field input{font-size:16px;line-height:1.4;height:36px;min-height:36px;padding:4px 0;margin:0}
.consent-block{margin:0 0 16px}.consent-label{font-size:13px!important;line-height:1.5;margin-bottom:0}
.consent-details{font-size:13px;line-height:1.5;padding-top:4px}
.contact-layout form .button{font-size:16px;min-height:44px;padding:10px 16px;margin:0}
.contact-layout form .form-note{font-size:12px;line-height:1.45;margin-top:10px}
#form-status:empty{display:none}
.footer-content{min-height:0;padding-block:0;gap:20px;flex-wrap:nowrap}
.footer-content .brand img{width:clamp(120px,12vw,160px)}
.footer-content nav{font-size:13px;line-height:1.5;gap:8px 16px;order:0;width:auto;max-width:440px}
.footer-contacts{display:grid;grid-template-columns:max-content max-content;gap:2px 18px;align-items:center;font-size:14px;line-height:1.6;margin:0}
.footer-contacts>a{grid-column:1}.social-links{grid-column:2;grid-row:1 / span 2;gap:8px;margin:0}
.social-links a,.social-links button{width:38px;height:38px}.social-links svg{width:25px;height:25px}
.footer-content .social-status{grid-column:1 / -1}
#image-dialog{max-height:calc(var(--viewport-height) - 24px);padding:20px}
#dialog-image{height:clamp(100px,calc(var(--viewport-height) - 230px),560px)}
.dialog-bottom{margin-top:12px}.dialog-thumbnails{margin-top:12px}
@media(min-width:1100px){
 .work-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
 .work-image{height:clamp(130px,22dvh,250px);padding:25px 12px 16px}
 .work-description{padding-top:18px}.work-description h3{font-size:21px;line-height:1.4;min-height:88px;margin-bottom:12px}
 .work-description p{font-size:16px;line-height:1.6;min-height:155px;margin-bottom:12px}
 .work-actions{gap:10px;align-items:flex-start;flex-direction:column}.gallery-trigger{padding:10px 12px;font-size:15px}
 .work-description a{font-size:15px}
}
@media(min-width:821px) and (max-height:800px){
 .hero-note{display:none}.hero h1{font-size:clamp(36px,min(4.4vw,8dvh),62px)}
 .hero-orbit{height:var(--hero-art-height,calc(var(--panel-height) - 74px))}
 .project-layout{gap:10px}.project-copy{max-width:800px}
 .project-art{height:var(--project-art-height,clamp(100px,31dvh,320px))}
 .contact-section .screen-content{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-rows:auto auto;column-gap:clamp(24px,4vw,64px);row-gap:20px;padding-inline:var(--page-gutter);max-width:1400px;margin:auto}
 .contact-layout{display:contents}.contact-copy{grid-column:1;grid-row:1;align-self:end}
 #request-form{grid-column:2;grid-row:1 / span 2;align-self:center}
 .footer-content{grid-column:1;grid-row:2;align-self:start;flex-wrap:wrap;padding:0;gap:12px 20px;justify-content:flex-start}
 .footer-content .brand img{width:130px}.footer-content nav{order:3;width:100%;justify-content:flex-start;max-width:none;font-size:13px;gap:6px 14px}
 .footer-contacts{grid-template-columns:1fr;gap:2px;font-size:13px}.social-links{grid-column:1;grid-row:auto;gap:10px;margin-top:6px}
 .social-links a,.social-links button{width:34px;height:34px}.social-links svg{width:23px;height:23px}
 .deer-art{width:88px;height:116px;background-size:506.4px 393.6px;background-position:-101.6px -178.4px;margin:12px auto 0}
 .contact-layout form{padding:18px}.form-fields{gap:8px 16px;margin-bottom:12px}
 .consent-block{margin-bottom:12px}.contact-layout .form-subtitle{margin-bottom:12px}
 .contact-layout form .form-note{margin-top:8px}
}
@media(min-width:821px) and (max-height:600px){
 :root{--panel-pad:10px}.header{padding-block:4px}.header .brand img{width:135px}.header nav{font-size:15px}
 .header-phone{font-size:14px}.header-email{font-size:12px}
 .hero h1{line-height:1.12;margin-bottom:12px}.hero .eyebrow{margin-bottom:12px}
 .hero .intro{font-size:16px;line-height:1.5;margin-bottom:14px}.hero .button{padding-block:10px}
 .project-heading{font-size:26px}.project-copy h3{font-size:22px}.project-copy #project-description{line-height:1.4}
 .project-kind{font-size:12px}.slider-dots button{height:32px}
 .contact-section .screen-content{row-gap:12px}.contact-copy>p:not(.eyebrow){font-size:18px;line-height:1.45}
 .contact-layout form{padding:14px}.contact-layout form h2{font-size:22px}
 .contact-layout .form-subtitle{font-size:12px;margin:3px 0 10px}
 .contact-layout form .form-field input{height:32px;min-height:32px}
 .contact-layout form .form-field label{font-size:13px;line-height:1.4}
 .form-fields{gap:6px 14px;margin-bottom:10px}.consent-label{font-size:12px!important;line-height:1.4}
 .consent-block{margin-bottom:10px}.consent-details{font-size:12px;padding-top:2px}
 .contact-layout form .button{min-height:40px;padding-block:8px;font-size:15px}
 .contact-layout form .form-note{font-size:12px;margin-top:6px}
 .footer-content .brand img{width:112px}
 .process-grid{gap:12px 20px}.process-grid .process-icon{margin-bottom:8px}.process-grid li{padding-block:0}
 .audiences>div{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.audiences>div>span{font-size:14px}
 .audience-icon{margin-bottom:6px}.advantages-copy{padding-top:18px}.advantages-list{gap:10px 24px}
 .advantages-list li{font-size:16px;line-height:1.45}
}
@media(max-width:1000px){.header nav{font-size:18px;gap:0}.header nav a{padding-block:10px}}
@media(max-width:820px){
 :root{--panel-pad:28px}.screen-section{min-height:0}.hero{min-height:var(--panel-height)}
 .hero-inner{grid-template-columns:1fr;gap:24px}.hero h1{font-size:clamp(36px,8vw,56px)}
 .hero .intro{font-size:18px;line-height:1.6}.hero-visual{width:100%;max-width:460px;margin:auto}
 .hero-orbit{height:clamp(230px,42dvh,410px)}.hero-note{display:none}
 .project-stage{grid-template-columns:42px minmax(0,1fr) 42px;gap:8px}
 .project-arrow{width:42px;height:46px}.project-art{height:clamp(180px,35dvh,330px)}
 .project-layout{gap:18px}.project-copy #project-description{font-size:17px;line-height:1.55}
 .project-heading{font-size:clamp(24px,5vw,34px)}.project-copy h3{font-size:24px}
 .contact-section .screen-content{display:flex;gap:24px}.contact-layout{display:grid;grid-template-columns:1fr;gap:24px}
 .contact-copy>p:not(.eyebrow){font-size:19px;line-height:1.6}.contact-layout form{padding:22px}
 .deer-art{margin:20px auto 0}.footer-content{flex-wrap:wrap;gap:18px}
 .footer-content nav{order:3;width:100%;max-width:none;justify-content:flex-start}
 .footer-contacts{font-size:14px}.social-links{grid-column:1;grid-row:3;margin-top:6px}
 .header-contacts{min-width:0;flex-shrink:1}.header-email{overflow-wrap:anywhere}
 .header .brand img{width:clamp(108px,20vw,160px)}.header nav{max-height:var(--panel-height)}
 .contact-layout form .form-field input{height:40px;min-height:40px}
 .consent-label{font-size:14px!important}.consent-details{font-size:14px}
 #dialog-image{height:clamp(100px,calc(var(--viewport-height) - 245px),480px)}
}
@media(max-width:390px){
 .form-fields{grid-template-columns:1fr}.form-field:last-child{grid-column:auto}
 .header{gap:8px;padding-inline:12px}.header .brand img{width:100px}.header-phone{font-size:12px}.header-email{font-size:10px}
 .project-stage{grid-template-columns:34px minmax(0,1fr) 34px}.project-arrow{width:34px}
 .project-pagination{align-items:flex-start}.slider-dots{gap:2px;max-width:230px}.slider-dots button{width:26px}
}
@media(prefers-reduced-motion:reduce){.process-grid li:hover,.button:hover{transform:none}}
@media(min-width:821px){.process-grid li{flex-basis:calc(25% - 24px)}.process-grid li:nth-child(n+5){flex-basis:calc(30% - 24px)}}
@media(min-width:821px) and (max-height:600px){.deer-art{width:66px;height:87px;background-size:379.8px 295.2px;background-position:-76.2px -133.8px;margin:8px auto 0}}

/* Gallery-led product section: intentionally overrides legacy four-column desktop rules. */
.works .filters{display:none!important}
.works .work-grid.gallery-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,3vw,54px) clamp(18px,3vw,48px);max-width:1400px;margin:0 auto}
.works .gallery-categories .work-card{min-width:0}
.works .gallery-categories .work-image{width:100%;height:clamp(260px,32vw,445px);padding:26px;background:radial-gradient(ellipse at 50% 45%,#293027 0%,#171d1a 54%,#101613 100%);border:1px solid rgba(208,167,120,.22);transition:border-color .25s,background .25s;cursor:pointer}
.works .gallery-categories .work-image:hover{border-color:rgba(208,167,120,.8)}
.works .gallery-categories .work-image img{height:100%;width:100%;max-height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 16px 18px rgba(0,0,0,.35));transition:transform .35s ease}
.works .gallery-categories .work-image:hover img{transform:scale(1.055)}
.works .gallery-categories .work-number{position:absolute;left:20px;top:18px;font:500 12px Manrope,sans-serif;letter-spacing:.12em;color:var(--gold);z-index:1;text-transform:uppercase}
.works .gallery-categories .work-description{padding-top:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.works .gallery-categories .work-description h3{font-size:clamp(21px,2.1vw,30px);line-height:1.22;min-height:0;margin:0;max-width:420px}
.works .gallery-categories .gallery-trigger{border:0;background:none;padding:7px 0;min-height:0;font-size:15px;white-space:nowrap;border-bottom:1px solid rgba(208,167,120,.45)}
.works .gallery-categories .gallery-trigger:hover{color:#f0d1a5;border-bottom-color:#f0d1a5}
.works .gallery-categories .zoom{bottom:18px;right:22px}
.works .works-cta{max-width:1400px;margin:55px auto 0;padding:25px 0 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.works .works-cta p{font-size:clamp(19px,2.1vw,28px);font-family:Georgia,serif}
.works .works-cta-link{color:var(--gold);font-size:16px;border-bottom:1px solid var(--gold);padding:8px 0}
@media(max-width:760px){.works .work-grid.gallery-categories{grid-template-columns:1fr;gap:30px}.works .gallery-categories .work-image{height:clamp(260px,76vw,420px)}.works .gallery-categories .work-description{align-items:flex-start}.works .works-cta{margin-top:38px}}
@media(prefers-reduced-motion:reduce){.works .gallery-categories .work-image img{transition:none}}

/* Этапы производства: неподвижные карточки без анимации при наведении. */
.process-grid li,
.process-grid li:hover,
.process-grid li:focus-within {
  transform: none !important;
  transition: none !important;
  animation: none !important;
}
.process-grid .process-icon,
.process-grid li:hover .process-icon {
  transition: none !important;
  animation: none !important;
}

/* Unified continuous artwork across the full scrolling document. */
html{background:#100d0b}
body{background-image:linear-gradient(180deg,rgba(10,10,9,.52),rgba(10,10,9,.70) 52%,rgba(10,10,9,.58)),url('assets/site-background.png');background-position:center top,center top;background-repeat:no-repeat,no-repeat;background-size:100% 100%,100% 100%;background-attachment:scroll,scroll}
/* Remove the opaque section fills so the background remains continuous. */
body .project-section,body .about-section,body .advantages-section,body .contact-section,body .works,body .process,body .hero,body .craft-strip{background-color:transparent;background-image:none}
/* Preserve contrast where text overlays imagery. */
body .work-image,body .project-art,body .contact-layout form{backdrop-filter:blur(3px)}
@media(max-width:760px){body{background-image:linear-gradient(180deg,rgba(10,10,9,.69),rgba(10,10,9,.78)),url('assets/site-background.png');background-size:100% 100%,auto 100%;background-position:center top,center top}}


/* ABOUT — Zabaykalye hills and bronze stag, simplified editorial layout */
body .about-section{position:relative;isolation:isolate;background-image:linear-gradient(90deg,rgba(12,12,11,.69) 0%,rgba(15,13,11,.45) 48%,rgba(16,14,12,.18) 100%),url('assets/about-zabaykalye.png')!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;min-height:100svh}
body .about-section::before,body .about-section::after{display:none!important}
.about-showcase{min-height:100svh;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);gap:24px;padding-block:clamp(80px,9vw,140px)}
.about-story{max-width:670px;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.about-story h2{font-size:clamp(46px,5vw,78px)}
.about-tagline{margin-bottom:28px}
.about-action{margin-top:26px}
.about-sculpture::before{display:none}
.about-sculpture img{width:min(100%,630px);max-height:790px;filter:drop-shadow(14px 24px 26px rgba(0,0,0,.48))}
@media(max-width:760px){body .about-section{background-position:46% center!important;background-image:linear-gradient(180deg,rgba(11,11,10,.75),rgba(11,11,10,.55)),url('assets/about-zabaykalye.png')!important}.about-showcase{min-height:0;padding-block:72px 40px;gap:24px}.about-story h2{font-size:clamp(39px,10vw,58px)}.about-sculpture{max-height:430px}.about-sculpture img{max-height:430px;height:430px}.about-action{margin-top:20px}}
