.hero{
position:relative;
height:100vh;
min-height:720px;
max-height:980px;
margin-top:0;
overflow:hidden;
background:var(--forest-dark);
color:var(--warm-white);
}

.hero-media{
position:absolute;
inset:0;
}

.hero-media img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.hero-media::after{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(180deg,rgba(15,22,17,.52) 0%,rgba(15,22,17,.22) 24%,rgba(15,22,17,0) 50%),
linear-gradient(90deg,rgba(15,22,17,.84) 0%,rgba(15,22,17,.62) 40%,rgba(15,22,17,.24) 72%,rgba(15,22,17,.12) 100%);
}

.hero .container{
position:relative;
z-index:2;
height:100%;
display:flex;
align-items:center;
padding-top:var(--header-height);
}

.hero-content{
width:100%;
max-width:780px;
padding:56px 0 72px;
}

.hero .eyebrow{
margin-bottom:28px;
color:var(--sand);
}

.hero h1{
max-width:760px;
margin-bottom:28px;
font-size:68px;
line-height:1.08;
color:var(--warm-white);
}

.hero-text{
max-width:610px;
margin-bottom:38px;
font-size:18px;
line-height:1.7;
color:rgba(255,255,255,.78);
}

.hero-actions{
display:flex;
align-items:center;
gap:28px;
flex-wrap:wrap;
}

.hero-location{
position:absolute;
right:40px;
bottom:38px;
display:flex;
align-items:center;
gap:14px;
font-size:12px;
font-weight:500;
letter-spacing:1.2px;
text-transform:uppercase;
color:rgba(255,255,255,.7);
}

.hero-location::before{
content:"";
width:36px;
height:1px;
background:var(--sand);
}

.intro{
background:var(--warm-white);
}

.intro-grid{
display:grid;
grid-template-columns:260px minmax(0,1fr);
gap:90px;
align-items:start;
}

.intro-year{
font-family:var(--font-display);
font-size:72px;
line-height:1;
color:var(--forest);
}

.intro-year-label{
display:block;
max-width:180px;
margin-top:16px;
font-size:13px;
line-height:1.6;
letter-spacing:.5px;
color:var(--gray);
}

.intro-content{
max-width:850px;
}

.intro-content h2{
max-width:820px;
margin-top:22px;
margin-bottom:28px;
}

.intro-content > p{
max-width:720px;
font-size:18px;
line-height:1.8;
}

.intro-facts{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:0;
margin-top:52px;
border-top:1px solid var(--line);
border-bottom:1px solid var(--line);
}

.intro-fact{
padding:24px 28px 24px 0;
}

.intro-fact + .intro-fact{
padding-left:28px;
border-left:1px solid var(--line);
}

.intro-fact strong{
display:block;
margin-bottom:6px;
font-size:15px;
font-weight:600;
color:var(--forest-dark);
}

.intro-fact span{
display:block;
font-size:13px;
line-height:1.5;
color:var(--gray);
}

.place{
position:relative;
height:720px;
overflow:hidden;
background:var(--forest-dark);
}

.place-media{
position:absolute;
inset:0;
}

.place-media img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.place-media::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(90deg,rgba(15,22,17,.72) 0%,rgba(15,22,17,.38) 48%,rgba(15,22,17,.08) 100%);
}

.place .container{
position:relative;
z-index:2;
height:100%;
display:flex;
align-items:flex-end;
padding-bottom:72px;
}

.place-content{
max-width:650px;
color:var(--warm-white);
}

.place .eyebrow{
margin-bottom:22px;
color:var(--sand);
}

.place h2{
margin-bottom:22px;
font-size:48px;
color:var(--warm-white);
}

.place p{
max-width:570px;
font-size:17px;
line-height:1.75;
color:rgba(255,255,255,.78);
}

.services-home{
background:var(--cream);
}

.services-list{
border-top:1px solid var(--line);
}

.service-row{
display:grid;
grid-template-columns:80px minmax(240px,.75fr) minmax(0,1fr) 30px;
gap:32px;
align-items:center;
min-height:142px;
padding:28px 0;
border-bottom:1px solid var(--line);
transition:padding var(--transition-main),background var(--transition-main);
}

.service-row:hover{
padding-left:18px;
padding-right:18px;
background:rgba(255,255,255,.38);
}

.service-number{
font-family:var(--font-display);
font-size:16px;
color:var(--wood);
}

.service-title{
font-family:var(--font-display);
font-size:27px;
line-height:1.3;
color:var(--forest-dark);
}

.service-description{
max-width:570px;
font-size:15px;
line-height:1.7;
color:var(--gray);
}

.service-arrow{
font-size:22px;
color:var(--forest);
transition:transform var(--transition-fast);
}

.service-row:hover .service-arrow{
transform:translateX(5px);
}

.products-home{
background:var(--warm-white);
}

.products-layout{
display:grid;
grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
gap:32px;
}

.product-feature{
position:relative;
min-height:650px;
overflow:hidden;
background:var(--cream);
}

.product-feature img,
.product-small img{
width:100%;
height:100%;
object-fit:cover;
display:block;
transition:transform .7s ease;
}

.product-feature:hover img,
.product-small:hover img{
transform:scale(1.025);
}

.product-feature::after,
.product-small::after{
content:"";
position:absolute;
inset:0;
background:linear-gradient(to top,rgba(15,22,17,.72) 0%,rgba(15,22,17,.05) 58%);
}

.product-feature-content,
.product-small-content{
position:absolute;
left:32px;
right:32px;
bottom:30px;
z-index:2;
color:var(--warm-white);
}

.product-feature-content span,
.product-small-content span{
display:block;
margin-bottom:8px;
font-size:12px;
font-weight:500;
letter-spacing:1px;
text-transform:uppercase;
color:var(--sand);
}

.product-feature-content h3{
font-family:var(--font-display);
font-size:34px;
font-weight:400;
color:var(--warm-white);
}

.products-side{
display:grid;
grid-template-rows:repeat(2,minmax(0,1fr));
gap:32px;
}

.product-small{
position:relative;
min-height:309px;
overflow:hidden;
background:var(--cream);
}

.product-small-content h3{
font-family:var(--font-display);
font-size:24px;
font-weight:400;
color:var(--warm-white);
}

.production-home{
position:relative;
background:
linear-gradient(90deg,rgba(20,32,25,.18) 0%,rgba(20,32,25,.28) 42%,rgba(20,32,25,.88) 68%,rgba(20,32,25,.96) 100%),
url("../assets/images/production/workshop.jpg") center center/cover no-repeat;
color:var(--warm-white);
overflow:hidden;
}

.production-home-grid{
display:grid;
grid-template-columns:minmax(0,1fr) minmax(380px,.8fr);
gap:88px;
align-items:center;
}

.production-home-media{
display:none;
}

.production-home-media img{
width:100%;
height:100%;
object-fit:cover;
object-position:center center;
display:block;
}

.production-home-content{
grid-column:2;
max-width:520px;
}

.production-home .eyebrow{
margin-bottom:22px;
color:var(--sand);
}

.production-home h2{
margin-bottom:26px;
color:var(--warm-white);
}

.production-home p{
margin-bottom:18px;
font-size:16px;
line-height:1.8;
color:rgba(255,255,255,.78);
}

.production-points{
margin:38px 0;
border-top:1px solid rgba(255,255,255,.22);
}

.production-point{
display:grid;
grid-template-columns:38px 1fr;
gap:18px;
padding:18px 0;
border-bottom:1px solid rgba(255,255,255,.22);
}

.production-point span{
font-family:var(--font-display);
font-size:14px;
color:var(--sand);
}

.production-point p{
margin:0;
font-size:14px;
line-height:1.6;
color:rgba(255,255,255,.82);
}

.gallery-home{
background:var(--warm-white);
}

.gallery-layout{
display:grid;
grid-template-columns:1.2fr .8fr .8fr;
grid-template-rows:280px 280px;
gap:18px;
}

.gallery-item{
position:relative;
overflow:hidden;
background:var(--cream);
}

.gallery-item:first-child{
grid-row:1 / 3;
}

.gallery-item:nth-child(4){
grid-column:2 / 4;
}

.gallery-item img{
width:100%;
height:100%;
object-fit:cover;
display:block;
transition:transform .7s ease;
}

.gallery-item:hover img{
transform:scale(1.03);
}

.gallery-footer{
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
margin-top:32px;
}

.gallery-footer p{
max-width:520px;
font-size:14px;
line-height:1.7;
}