/* =========================================================
   TAMDRILL — PRODUCTS PAGE
========================================================= */

:root{

--primary:#2596be;
--primary-dark:#1f7fa0;

--bg:#f8fafc;
--surface:#ffffff;
--surface-2:#f1f5f9;

--text:#0f172a;
--text-light:#64748b;

--border:rgba(15,23,42,0.08);

--container:1300px;

--radius-xl:40px;
--radius-lg:28px;
--radius-md:18px;
--radius-sm:14px;

--shadow-soft:
0 10px 30px rgba(15,23,42,0.05);

--shadow-premium:
0 30px 80px rgba(15,23,42,0.12);

--font-body:'Inter',sans-serif;
--font-display:'Space Grotesk',sans-serif;
}

/* ================= GLOBAL ================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
font-family:var(--font-body);
background:var(--bg);
color:var(--text);
overflow-x:hidden;
}

img{
max-width:100%;
display:block;
}

a{
text-decoration:none;
}

section{
padding:120px 80px;
}

/* ================= NAVBAR ================= */

nav{
position:fixed;
top:0;
left:0;
width:100%;
height:82px;

padding:0 60px;

background:rgba(255,255,255,0.88);

backdrop-filter:blur(14px);

border-bottom:1px solid rgba(255,255,255,0.2);

display:flex;
align-items:center;
justify-content:space-between;

z-index:999;

transition:0.35s ease;
}

nav.scrolled{
background:rgba(255,255,255,0.96);

box-shadow:
0 12px 40px rgba(15,23,42,0.08);
}

.logo{
display:flex;
align-items:center;
}

.logo img{
height:44px;
}

nav ul{
display:flex;
align-items:center;
justify-content:flex-end;

gap:38px;

list-style:none;

margin-left:auto;
margin-right:35px;
}

nav ul li a{
font-size:15px;
font-weight:600;
color:#334155;

position:relative;

transition:0.3s ease;
}

nav ul li a::after{
content:'';

position:absolute;
left:0;
bottom:-8px;

width:0%;
height:2px;

background:var(--primary);

transition:0.3s ease;
}

nav ul li a:hover{
color:var(--primary);
}

nav ul li a:hover::after{
width:100%;
}

.nav-cta{
display:inline-flex;
align-items:center;
justify-content:center;

padding:14px 24px;

border-radius:999px;

background:linear-gradient(
135deg,
var(--primary),
var(--primary-dark)
);

color:#fff !important;

font-size:14px;
font-weight:700;

box-shadow:
0 12px 30px rgba(37,150,190,0.25);

transition:0.35s ease;
}

.nav-cta:hover{
transform:translateY(-3px);
}



/* ================= HEADER ================= */

.products-header{
position:relative;

min-height:100vh;

display:flex;
align-items:center;

padding:180px 80px 120px;

overflow:hidden;
}

.header-bg{
position:absolute;
inset:0;

width:100%;
height:100%;

object-fit:cover;
}

.header-overlay{
position:absolute;
inset:0;

background:
linear-gradient(
90deg,
rgba(15,23,42,0.94),
rgba(15,23,42,0.55)
);

z-index:1;
}

.header-content{
position:relative;
z-index:2;

max-width:760px;
}

.mini-label{
display:inline-block;

font-size:12px;
font-weight:700;
letter-spacing:3px;
text-transform:uppercase;

color:#7dd3fc;

margin-bottom:24px;
}

.products-header h1{
font-size:82px;
line-height:1.02;

color:#fff;

font-family:var(--font-display);

margin-bottom:30px;
}

.products-header p{
font-size:20px;
line-height:1.9;

color:rgba(255,255,255,0.88);

max-width:680px;

margin-bottom:42px;
}

.header-buttons{
display:flex;
gap:20px;
flex-wrap:wrap;
}

/* ================= BUTTONS ================= */

.btn-primary,
.btn-secondary,
.cta-btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:12px;

padding:16px 32px;

border-radius:18px;

font-weight:600;

transition:0.35s ease;
}

.btn-primary,
.cta-btn{
background:linear-gradient(
135deg,
var(--primary),
var(--primary-dark)
);

color:#fff;

box-shadow:
0 15px 35px rgba(37,150,190,0.25);
}

.btn-secondary{
background:rgba(255,255,255,0.12);

border:1px solid rgba(255,255,255,0.2);

backdrop-filter:blur(8px);

color:#fff;
}

.btn-primary:hover,
.btn-secondary:hover,
.cta-btn:hover{
transform:translateY(-4px);
}

/* ================= PRODUCTS SECTION ================= */

#products{
background:var(--bg);
}

.section-label{
display:inline-block;

font-size:12px;
font-weight:700;
letter-spacing:3px;
text-transform:uppercase;

color:var(--primary);

margin-bottom:24px;
}

#products h2{
font-size:62px;
line-height:1.05;

margin-bottom:24px;
}

.section-intro{
font-size:19px;
line-height:1.9;

color:var(--text-light);

max-width:760px;

margin-bottom:60px;
}

/* ================= TABS ================= */

.products-nav{
display:flex;
gap:18px;
flex-wrap:wrap;

margin-bottom:55px;
}

.prod-tab{
border:none;

padding:16px 30px;

border-radius:16px;

background:#fff;

font-size:15px;
font-weight:700;

color:#475569;

cursor:pointer;

border:1px solid #dbe4ee;

transition:0.3s ease;
}

.prod-tab:hover{
transform:translateY(-2px);
}

.prod-tab.active{
background:linear-gradient(
135deg,
var(--primary),
var(--primary-dark)
);

color:#fff;

border-color:transparent;

box-shadow:
0 15px 35px rgba(37,150,190,0.2);
}

.prod-panel{
display:none;
animation:fadeIn 0.5s ease;
}

.prod-panel.active{
display:block;
}

@keyframes fadeIn{
from{
opacity:0;
transform:translateY(10px);
}
to{
opacity:1;
transform:translateY(0);
}
}

/* ================= HERO BANNER ================= */

.prod-hero-banner{
position:relative;

height:500px;

overflow:hidden;

border-radius:36px;

margin-bottom:45px;

box-shadow:var(--shadow-premium);
}

.prod-hero-banner img{
width:100%;
height:100%;

object-fit:cover;
}

.prod-hero-overlay{
position:absolute;
inset:0;

display:flex;
align-items:center;

padding:60px;

background:
linear-gradient(
90deg,
rgba(15,23,42,0.92),
rgba(15,23,42,0.38)
);
}

.prod-hero-text{
max-width:700px;
}

.prod-hero-text h3{
font-size:52px;
line-height:1.05;

color:#fff;

margin-bottom:24px;
}

.prod-hero-text p{
font-size:18px;
line-height:1.9;

color:rgba(255,255,255,0.88);
}

.img-credit{
position:absolute;
right:24px;
bottom:24px;

padding:10px 16px;

border-radius:999px;

background:rgba(255,255,255,0.15);

backdrop-filter:blur(10px);

font-size:12px;
font-weight:600;

color:#fff;

z-index:10;
}

/* ================= BADGES ================= */

.app-strip{
display:flex;
flex-wrap:wrap;
gap:14px;

margin-bottom:60px;
}

.app-badge{
padding:12px 20px;

border-radius:999px;

background:#eff6ff;

border:1px solid rgba(37,150,190,0.15);

font-size:12px;
font-weight:700;
letter-spacing:1px;
text-transform:uppercase;

color:var(--primary);
}

/* ================= PRODUCT CARDS ================= */

.sub-products{
display:grid;

grid-template-columns:
repeat(auto-fit,minmax(320px,1fr));

gap:30px;
}

.sub-card{
background:#fff;

border-radius:32px;

overflow:hidden;

border:1px solid #e2e8f0;

transition:0.35s ease;

box-shadow:
0 10px 35px rgba(15,23,42,0.04);
}

.sub-card:hover{
transform:translateY(-8px);

box-shadow:
0 25px 60px rgba(15,23,42,0.1);
}

.sub-card-media img{
width:100%;
height:260px;

object-fit:contain;

background:#fff;

padding:20px;

transition:0.4s ease;

}

.no-cover img{
object-fit:contain;
padding:20px;
background:#fff;
}


.sub-card-media img{
width:100%;
height:260px;

object-fit:cover;

transition:0.45s ease;
}

.sub-card:hover img{
transform:scale(1.06);
}

.sub-card-media.diagram img{
object-fit:contain;
padding:20px;
background:#fff;
}

.img-src{
position:absolute;
right:16px;
bottom:16px;

padding:8px 14px;

border-radius:999px;

background:rgba(15,23,42,0.7);

color:#fff;

font-size:11px;
font-weight:600;
}

.sub-card-body{
padding:34px;
}

.sub-card h4{
font-size:30px;
margin-bottom:18px;
}

.sub-card p{
font-size:16px;
line-height:1.9;

color:var(--text-light);

margin-bottom:24px;
}

.spec-list{
list-style:none;
margin-bottom:28px;
}

.spec-list li{
padding:14px 0;

border-bottom:1px solid #edf2f7;

font-size:14px;
font-weight:500;

color:#334155;
}

.sub-card-link{
display:inline-flex;
align-items:center;
gap:10px;

font-weight:700;

color:var(--primary);

transition:0.3s ease;
}

.sub-card-link::after{
content:'→';
}

.sub-card-link:hover{
gap:16px;
}

/* ================= GALLERY ================= */

.prod-gallery-row{
display:grid;

grid-template-columns:
repeat(auto-fit,minmax(340px,1fr));

gap:28px;

margin-bottom:60px;
}

.prod-gallery-row figure{
background:#fff;

border-radius:28px;

overflow:hidden;

border:1px solid #e2e8f0;

box-shadow:var(--shadow-soft);
}

.prod-gallery-row img{
width:100%;
height:320px;

object-fit:cover;
}

.prod-gallery-row figcaption{
display:flex;
justify-content:space-between;
align-items:center;

padding:18px 24px;

font-size:14px;
font-weight:600;
}

.prod-gallery-row figcaption a{
color:var(--primary);
}

/* ================= ADVANTAGES ================= */

.adv-label{
font-size:12px;
font-weight:700;
letter-spacing:3px;
text-transform:uppercase;

color:var(--primary);

margin:10px 0 28px;
}

.advantages-grid{
display:grid;

grid-template-columns:
repeat(auto-fit,minmax(240px,1fr));

gap:24px;

margin-bottom:60px;
}

.adv-card{
background:#fff;

padding:36px;

border-radius:28px;

border:1px solid #e2e8f0;

box-shadow:
0 10px 30px rgba(15,23,42,0.04);
}

.adv-num{
font-size:56px;
font-weight:800;

color:#bae6fd;

margin-bottom:18px;
}

.adv-card h4{
font-size:22px;
margin-bottom:14px;
}

.adv-card p{
font-size:15px;
line-height:1.8;

color:var(--text-light);
}

/* ================= DIVIDER ================= */

.prod-divider{
height:1px;

background:#e2e8f0;

margin:70px 0;
}

/* ================= DIAGRAM PANEL ================= */

.diagram-panel{
margin-top:70px;
}

.diagram-panel-label{
font-size:13px;
font-weight:700;
letter-spacing:3px;
text-transform:uppercase;

color:var(--primary);

margin-bottom:24px;
}

.diagram-panel figure{
background:#fff;

border-radius:34px;

overflow:hidden;

border:1px solid #e2e8f0;

box-shadow:var(--shadow-soft);
}

.diagram-panel img{
width:100%;
object-fit:cover;
}

.diagram-panel figcaption{
display:flex;
justify-content:space-between;
align-items:center;

padding:20px 28px;

font-size:14px;
font-weight:600;
}

.diagram-panel figcaption a{
color:var(--primary);
}

/* ================= CTA ================= */

.cta-section{
padding-top:0;
}

.cta-box{
position:relative;

overflow:hidden;

display:flex;
justify-content:space-between;
align-items:center;

gap:40px;

padding:60px;

border-radius:40px;

background:
linear-gradient(
145deg,
#0f172a,
#111827
);

box-shadow:var(--shadow-premium);
}

.cta-box::before{
content:'';

position:absolute;

width:500px;
height:500px;

right:-200px;
top:-200px;

background:
radial-gradient(
circle,
rgba(37,150,190,0.22),
transparent 70%
);

filter:blur(40px);

pointer-events:none;
}

.cta-box div{
position:relative;
z-index:2;
}

.cta-label{
font-size:12px;
font-weight:700;
letter-spacing:3px;
text-transform:uppercase;

color:#7dd3fc;

margin-bottom:20px;
}

.cta-box h3{
font-size:48px;
line-height:1.1;

color:#fff;

margin-bottom:20px;
}

.cta-box p{
font-size:18px;
line-height:1.9;

color:#cbd5e1;

max-width:720px;
}

.cta-btn{
position:relative;
z-index:5;
}

.cta-btn span{
transition:0.3s ease;
}

.cta-btn:hover span{
transform:translateX(5px);
}

/* ================= FOOTER ================= */

.site-footer{
background:#fff;

padding:80px 80px 30px;

border-top:1px solid var(--border);
}

.footer-container{
display:flex;
justify-content:space-between;
gap:60px;
flex-wrap:wrap;
}

.footer-brand{
max-width:420px;
}

.footer-brand img{
height:48px;
margin-bottom:24px;
}

.footer-brand p{
font-size:16px;
line-height:1.9;

color:#64748b;
}

.footer-links{
display:flex;
gap:80px;
flex-wrap:wrap;
}

.footer-column{
display:flex;
flex-direction:column;
gap:16px;
}

.footer-column h4{
font-size:18px;
margin-bottom:10px;
}

.footer-column a{
color:#64748b;
transition:0.3s ease;
}

.footer-column a:hover{
color:var(--primary);
}

.footer-bottom{
margin-top:50px;
padding-top:24px;

border-top:1px solid #e2e8f0;

text-align:center;

font-size:14px;

color:#94a3b8;
}

/* ================= RESPONSIVE ================= */

@media(max-width:992px){

section{
padding:100px 40px;
}

.products-header{
padding:160px 40px 100px;
}

.products-header h1{
font-size:60px;
}

#products h2,
.cta-box h3{
font-size:46px;
}

.cta-box{
flex-direction:column;
align-items:flex-start;
}

nav{
padding:0 30px;
}

}

@media(max-width:768px){

nav{
height:72px;
padding:0 20px;
}

nav ul{
display:none;
}

section{
padding:90px 20px;
}

.products-header{
padding:140px 20px 90px;
}

.products-header h1{
font-size:42px;
}

.products-header p,
.section-intro,
.prod-hero-text p{
font-size:17px;
}

.header-buttons{
flex-direction:column;
}

.btn-primary,
.btn-secondary,
.cta-btn{
width:100%;
}

#products h2,
.cta-box h3,
.prod-hero-text h3{
font-size:34px;
}

.prod-hero-banner{
height:380px;
}

.prod-hero-overlay{
padding:30px;
}

.cta-box{
padding:40px 30px;
}

.site-footer{
padding:60px 20px 30px;
}

.prod-gallery-row img{
height:240px;
}

}
/* =========================================
   PAGE TRANSITION
========================================= */

body{
opacity:0;
transform:translateY(10px);

animation:
pageFadeIn 0.7s ease forwards;
}

/* page entering */

@keyframes pageFadeIn{

from{
opacity:0;
transform:translateY(10px);
}

to{
opacity:1;
transform:translateY(0);
}

}

/* page leaving */

body.fade-out{
opacity:0;
transform:translateY(10px);

transition:
opacity 0.4s ease,
transform 0.4s ease;
}


/* FIX CONTENT UNDER NAVBAR */

body{
padding-top:82px;
}


nav{
position:fixed;

top:0;
left:0;

width:100%;
height:82px;

padding:0 60px;

display:flex;
align-items:center;

background:
rgba(255,255,255,0.92);

backdrop-filter:blur(16px);

border-bottom:
1px solid rgba(15,23,42,0.08);

z-index:9999;

transition:
background 0.35s ease,
box-shadow 0.35s ease;
}

nav.scrolled{

background:
rgba(255,255,255,0.98);

box-shadow:
0 10px 35px rgba(15,23,42,0.08);

}


