*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:Arial,sans-serif;
background:#0b0b0b;
color:#fff;
line-height:1.6;
}

.container{
width:90%;
max-width:1200px;
margin:auto;
}

/* Header */

header{
position:sticky;
top:0;
z-index:1000;
background:rgba(0,0,0,.95);
backdrop-filter:blur(10px);
border-bottom:1px solid #222;
}

.nav{
display:flex;
justify-content:space-between;
align-items:center;
padding:18px 0;
}

.logo{
height:110px;
width:auto;
display:block;
}

.logo span{
color:#e31e24;
}

nav a{
margin-left:25px;
text-decoration:none;
color:white;
transition:.3s;
}

nav a:hover{
color:#e31e24;
}

/* Hero */

.hero{
min-height:90vh;
display:flex;
align-items:center;
text-align:center;

background:
linear-gradient(
rgba(0,0,0,.75),
rgba(0,0,0,.85)
),
url("images/hero.jpg");

background-size:cover;
background-position:center;
}

.hero h2{
font-size:4rem;
margin-bottom:20px;
line-height:1.1;
}

.hero span{
color:#e31e24;
}

.hero p{
font-size:1.2rem;
max-width:700px;
margin:auto;
margin-bottom:30px;
}

.buttons{
display:flex;
justify-content:center;
gap:15px;
flex-wrap:wrap;
}

.btn{
padding:14px 28px;
border-radius:30px;
text-decoration:none;
transition:.3s;
font-weight:bold;
}

.primary{
background:#e31e24;
color:white;
}

.primary:hover{
transform:translateY(-4px);
}

.btn:not(.primary){
border:2px solid white;
color:white;
}

.btn:not(.primary):hover{
background:white;
color:black;
}

/* Sections */

.section{
padding:100px 0;
}

.section h2{
font-size:2.5rem;
margin-bottom:20px;
text-align:center;
}

.section p{
max-width:800px;
margin:auto;
text-align:center;
}

.dark{
background:#111;
}

/* Grid */

.grid{
display:grid;
grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));
gap:30px;
margin-top:50px;
}

/* Cards */

.card img{
width:100%;
height:250px;
object-fit:cover;
border-radius:10px;
margin-bottom:15px;
}

.card:hover{
transform:translateY(-10px);
border-color:#e31e24;
}

.card h3{
margin-bottom:15px;
color:#e31e24;
}


/* Gallery */

.gallery img{
width:100%;
height:250px;
object-fit:cover;
border-radius:15px;
transition:.4s;
}

.gallery img:hover{
transform:scale(1.05);
}

/* CTA */

.cta{
background:
linear-gradient(
90deg,
#e31e24,
#1e4dff
);

padding:80px;
text-align:center;
}

.cta h2{
margin-bottom:25px;
}

/* Form */

form{
max-width:700px;
margin:auto;
display:flex;
flex-direction:column;
gap:15px;
margin-top:40px;
}

input,
textarea{
padding:15px;
border-radius:10px;
border:none;
background:#1a1a1a;
color:white;
}

textarea{
height:180px;
resize:none;
}

button{
cursor:pointer;
border:none;
}

/* Footer */

footer{
padding:40px;
background:black;
text-align:center;
border-top:1px solid #222;
}

/* Mobile */

@media(max-width:768px){

.hero h2{
font-size:2.5rem;
}

.nav{
flex-direction:column;
gap:15px;
}

nav a{
margin:0 10px;
}

}
/* Lifestyle section */

.grid img{
width:100%;
border-radius:15px;
}

.grid p{
text-align:left;
font-size:1.1rem;
padding:20px;
}
.image-container{
position:relative;
overflow:hidden;
border-radius:15px;
}

.main-image,
.hover-image{

width:100%;
height:250px;
object-fit:cover;

transition:.5s;
}

.hover-image{

position:absolute;
top:0;
left:0;

opacity:0;
}

.image-container:hover .hover-image{

opacity:1;
}

.image-container:hover .main-image{

opacity:0;
}
/* SERVICES SHOWCASE */

.services-showcase{
padding:100px 0;
background:#111;
}

.services-showcase h2{
text-align:center;
margin-bottom:50px;
font-size:2.5rem;
}

/* Main grid */

.services-grid{

display:grid;

grid-template-columns:
repeat(3,1fr);

gap:30px;
}


/* Premium card spans wider */

.service-card.premium{

grid-column:1 / span 3;

max-width:900px;

margin:auto;
}


/* Card */

.service-card{

position:relative;
overflow:hidden;

border-radius:20px;

cursor:pointer;

transition:.4s;

min-height:350px;
}

.service-card:hover{
transform:translateY(-10px);
}

.service-card img{

width:100%;
height:100%;

object-fit:cover;

display:block;

transition:.5s;

filter:brightness(.55);
}

.service-card:hover img{

transform:scale(1.05);

filter:brightness(.7);
}


/* Dark overlay */

.service-overlay{

position:absolute;

top:0;
left:0;

width:100%;
height:100%;

display:flex;

flex-direction:column;

justify-content:flex-end;

padding:35px;

background:
linear-gradient(
transparent,
rgba(0,0,0,.95)
);

}

.service-overlay h3{

font-size:2rem;

margin-bottom:15px;

color:white;

text-shadow:
0px 2px 6px rgba(0,0,0,.8);
}

.service-overlay p{

font-size:1rem;

line-height:1.5;

color:white;

max-width:500px;

text-shadow:
0px 2px 6px rgba(0,0,0,.8);
}

/* Mobile */

@media(max-width:768px){

.services-grid{

grid-template-columns:1fr;
}

.service-card.premium{

grid-column:auto;
max-width:100%;
}

}
/* TESTIMONIALS */

.testimonials{

width:100%;

padding:120px 0;

background:
linear-gradient(
135deg,
#0b0b0b,
#151515,
#0b0b0b
);

border-top:1px solid #222;
border-bottom:1px solid #222;

text-align:center;
}

.reviews-subtitle{

margin-bottom:50px;

color:#ccc;

font-size:1.1rem;
}

.review-widget{

width:95%;

max-width:1400px;

margin:auto;

background:#1a1a1a;

padding:50px;

border-radius:25px;

border:1px solid #333;

box-shadow:
0 0 30px rgba(0,0,0,.5);
}

.testimonials h2{

font-size:2.8rem;

margin-bottom:20px;
}
/* CATEGORIES */

.categories-section{

padding:100px 0;

background:#111;

text-align:center;
}

.categories-section h2{

font-size:2.8rem;

margin-bottom:20px;
}

.categories-subtitle{

margin-bottom:50px;

color:#ccc;
}

.categories-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));

gap:30px;
}

.category-card{

position:relative;

overflow:hidden;

border-radius:20px;

min-height:320px;

transition:.4s;

cursor:pointer;
}

.category-card:hover{

transform:translateY(-10px);
}

.category-card img{

width:100%;
height:100%;

object-fit:cover;

object-position:center;

transition:.5s;

filter:brightness(.65);
}

.category-card:hover img{

transform:scale(1.05);

filter:brightness(.8);
}

.category-overlay{

position:absolute;

bottom:0;
left:0;

width:100%;

padding:30px;

background:
linear-gradient(
transparent,
rgba(0,0,0,.95)
);
}

.category-overlay h3{

font-size:1.8rem;

margin-bottom:10px;
}

.category-overlay p{

color:#ddd;
}


/* CUSTOM ORDERS */

.custom-feature{

padding:100px 0;

text-align:center;

background:
linear-gradient(
135deg,
#111,
#1a1a1a,
#111
);

border-top:1px solid #222;
border-bottom:1px solid #222;
}

.custom-feature h2{

font-size:2.8rem;

margin-bottom:20px;
}

.custom-feature p{

max-width:700px;

margin:auto;

margin-bottom:40px;

color:#ccc;
}

.custom-tags{

display:flex;

justify-content:center;

flex-wrap:wrap;

gap:15px;

margin-bottom:40px;
}

.custom-tags span{

padding:12px 20px;

background:#222;

border-radius:30px;

border:1px solid #333;

transition:.3s;
}

.custom-tags span:hover{

border-color:#e31e24;

transform:translateY(-3px);
}
/* FEATURED COLLECTIONS */

.featured-collections{

padding:100px 0;

background:#0d0d0d;

text-align:center;
}

.collections-subtitle{

margin-bottom:50px;

color:#bbb;
}

.collections-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(400px,1fr));

gap:40px;
}

.collection-card{

position:relative;

overflow:hidden;

border-radius:20px;

min-height:450px;

transition:.4s;

cursor:pointer;
}

.collection-card:hover{

transform:translateY(-10px);
}

.collection-card img{

width:100%;
height:100%;

object-fit:cover;

transition:.5s;

filter:brightness(.6);
}

.collection-card:hover img{

transform:scale(1.08);

filter:brightness(.75);
}

.collection-overlay{

position:absolute;

bottom:0;
left:0;

width:100%;

padding:40px;

background:
linear-gradient(
transparent,
rgba(0,0,0,.95)
);
}

.collection-overlay h3{

font-size:2rem;

margin-bottom:15px;

color:white;
}

.collection-overlay p{

color:#ddd;

margin-bottom:20px;

line-height:1.6;
}

@media(max-width:768px){

.collections-grid{

grid-template-columns:1fr;
}

}
/* Center 3D printing image */

.printing-image{

object-position:center center;

/* Fine tuning */

transform:scale(1.05);
}
/* AUTO SCROLL SHOWCASE */

.showcase-scroll{

padding:100px 0;

background:#0b0b0b;

overflow:hidden;

text-align:center;
}

.showcase-scroll h2{

font-size:2.8rem;

margin-bottom:50px;
}

.scroll-container{

width:100%;

overflow:hidden;

position:relative;
}

.scroll-track{

display:flex;

gap:30px;

width:max-content;

animation:scrollLeft 35s linear infinite;
}

.scroll-track img{

width:450px;

height:300px;

object-fit:cover;

border-radius:20px;

flex-shrink:0;

transition:.4s;

box-shadow:
0 0 20px rgba(0,0,0,.4);
}

.scroll-track img:hover{

transform:scale(1.05);
}

@keyframes scrollLeft{

0%{

transform:
translateX(0);
}

100%{

transform:
translateX(-50%);
}

}
.catalog-section{

padding:80px 0;

text-align:center;

background:#111;
}

.catalog-section p{

margin:20px auto;

max-width:700px;

color:#ccc;
}
/* POLICY PAGE */

.policy-page{

max-width:900px;

margin:auto;

line-height:1.8;
}

.policy-page h1{

font-size:3rem;

margin-bottom:10px;

text-align:center;
}

.policy-date{

text-align:center;

margin-bottom:50px;

color:#aaa;
}

.policy-page h2{

margin-top:40px;

margin-bottom:15px;

color:#fff;
}

.policy-page ul{

margin-left:20px;

margin-top:15px;
}

.policy-page li{

margin-bottom:10px;
}

.footer-links{

margin-top:20px;

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;
}

.footer-links a{

color:#ccc;

text-decoration:none;
}

.footer-links a:hover{

color:#fff;
}
/* FOOTER */

.site-footer{

background:#0d0d0d;

padding-top:60px;

margin-top:80px;

border-top:1px solid #222;
}

.footer-container{

display:grid;

grid-template-columns:
1.2fr 1fr 1fr;

gap:50px;

padding-bottom:50px;
}

.footer-logo{

width:90px;

margin-bottom:15px;
}

.footer-brand h3{

margin-bottom:15px;

font-size:1.5rem;
}

.footer-brand p{

color:#bbb;

line-height:1.7;
}

.footer-links h4,
.footer-contact h4{

margin-bottom:20px;

font-size:1.2rem;
}

.footer-links{

display:flex;

flex-direction:column;

gap:12px;
}

.footer-links a{

color:#bbb;

text-decoration:none;

transition:0.3s;
}

.footer-links a:hover{

color:#fff;
}

.footer-contact p{

margin-bottom:12px;

color:#bbb;
}

.social-icons{

display:flex;

gap:15px;

margin-top:20px;
}

.social-icons img{

width:34px;

height:34px;

object-fit:contain;

transition:0.3s;
}

.social-icons img:hover{

transform:scale(1.1);
}

.footer-bottom{

border-top:1px solid #222;

text-align:center;

padding:25px 15px;

color:#777;

font-size:0.95rem;
}


/* MOBILE */

@media(max-width:900px){

.footer-container{

grid-template-columns:1fr;

text-align:center;
}

.social-icons{

justify-content:center;
}

.footer-links{

align-items:center;
}

}
.footer-contact a{

color:#bbb;

text-decoration:none;

transition:.3s;
}

.footer-contact a:hover{

color:#fff;
}
/* CONTACT AREA */

.footer-contact{

display:flex;

flex-direction:column;

align-items:center;

justify-content:center;

text-align:center;
}

.footer-contact h4{

margin-bottom:20px;
}

.footer-contact p{

margin-bottom:12px;

color:#bbb;
}

.footer-contact a{

color:#bbb;

text-decoration:none;

transition:.3s;
}

.footer-contact a:hover{

color:#fff;
}


/* SOCIAL ICONS */

.social-icons{

display:flex;

justify-content:center;

align-items:center;

gap:18px;

margin-top:20px;
}

.social-icons a{

display:flex;

align-items:center;

justify-content:center;
}

.social-icons img{

width:38px;

height:38px;

object-fit:contain;

transition:.3s;
}

.social-icons img:hover{

transform:translateY(-3px)
scale(1.08);
}
/* CONTACT FORM */

.contact-section{

padding:100px 20px;

background:#111;

text-align:center;
}

.contact-subtitle{

max-width:700px;

margin:20px auto 50px;

color:#bbb;
}

.contact-form{

max-width:700px;

margin:auto;

display:flex;

flex-direction:column;

gap:20px;
}

.contact-form input,
.contact-form textarea{

width:100%;

padding:18px;

border:none;

border-radius:12px;

background:#1b1b1b;

color:white;

font-size:1rem;
}

.contact-form textarea{

min-height:180px;

resize:vertical;
}

.contact-form button{

padding:18px;

border:none;

border-radius:12px;

background:#e31b23;

color:white;

font-size:1rem;

font-weight:bold;

cursor:pointer;

transition:.3s;
}

.contact-form button:hover{

transform:translateY(-2px);

background:#ff2c35;
}