:root{
--bg:#0A0A0A;
--bg-card:#111111;
--text:#F0EDE8;
--text-body:#B8B4AF;
--text-dim:#6A6660;
--accent:#007A66;
--nav-h:72px;
--max-w:1120px;
--radius:12px;
}

*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.container{max-width:var(--max-w);margin:0 auto;padding:0 2rem;}

nav{
position:fixed;top:0;width:100%;height:var(--nav-h);
background:rgba(10,10,10,0.92);backdrop-filter:blur(20px);
border-bottom:1px solid rgba(255,255,255,0.07);
display:flex;align-items:center;z-index:100;padding:0 2rem;
}
.nav-inner{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:var(--max-w);margin:0 auto;}

.logo-text{
display:inline-flex;align-items:baseline;gap:10px;
font-weight:700;color:var(--text);letter-spacing:0.02em;line-height:1;font-size:1.05rem;
}
.logo-text .sub{
font-weight:500;color:rgba(240,237,232,0.5);font-size:0.8rem;letter-spacing:0.1em;text-transform:uppercase;
}

.nav-links{display:flex;gap:1.75rem;align-items:center;}
.nav-links a{color:rgba(240,237,232,0.6);font-size:0.875rem;font-weight:500;transition:color 0.15s;}
.nav-links a:hover{color:var(--text);}
.nav-cta{
background:transparent;color:var(--text);border:1px solid rgba(255,255,255,0.25);
padding:0.5rem 1.25rem;border-radius:6px;
font-size:0.875rem;font-weight:600;display:inline-block;
letter-spacing:0.01em;transition:border-color 0.15s;
}
.nav-cta:hover{border-color:rgba(255,255,255,0.55);}

section{scroll-margin-top:calc(var(--nav-h) + 24px);}

.hero-wrapper{position:relative;overflow:hidden;min-height:88vh;background-color:#0A0A0A;}
.hero-wrapper::before{
content:'';position:absolute;top:0;left:0;right:0;bottom:0;
background-image: image-set(url("/hero-bg.webp") type("image/webp"), url("/hero-bg.jpeg") type("image/jpeg"));background-size:cover;
background-position:center 40%;background-repeat:no-repeat;opacity:0.75;z-index:0;
}
.hero-wrapper::after{
content:'';position:absolute;top:0;left:0;right:0;bottom:0;
background:
  linear-gradient(to right, rgba(10,10,10,0.72) 0%, rgba(10,10,10,0.45) 45%, rgba(10,10,10,0.1) 100%),
  linear-gradient(to bottom, transparent 55%, rgba(10,10,10,0.88) 100%);
z-index:1;
}
.hero{
min-height:88vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
padding:calc(var(--nav-h) + 4rem) 2rem 4rem;max-width:var(--max-w);margin:0 auto;
position:relative;z-index:2;
}
.hero-label{
font-size:0.75rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
color:var(--accent);margin-bottom:1.25rem;
}
.hero h1{
font-family:'Instrument Serif',serif;font-size:clamp(2.6rem,5.5vw,4.2rem);
line-height:1.1;font-weight:400;max-width:700px;margin-bottom:1.5rem;color:#F5F5F5;
}
.hero-h2{font-family:'Instrument Serif',serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:400;font-style:italic;color:#D0CCC8;margin-bottom:1.25rem;}
.hero-sub{
font-size:1rem;line-height:1.75;max-width:520px;
color:rgba(240,237,232,0.7);margin-bottom:1rem;
}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;}
.hero-tagline{font-size:0.72rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:rgba(240,237,232,0.55);margin-bottom:2rem;}

.btn-primary{
background:var(--accent);color:#000 !important;padding:0.75rem 1.8rem;
border-radius:8px;font-size:0.9rem;font-weight:600;border:none;cursor:pointer;display:inline-block;
text-decoration:none;
}
.btn-secondary{
background:transparent;color:var(--text);border:1px solid rgba(255,255,255,0.15);
padding:0.75rem 1.8rem;border-radius:8px;font-size:0.9rem;font-weight:600;display:inline-block;
}

.section-padding{padding:2.5rem 0;}
.section-title{
font-family:'Instrument Serif',serif;font-size:clamp(1.8rem,3.5vw,2.8rem);
font-weight:400;margin-bottom:0.75rem;line-height:1.2;
}
.section-desc{color:var(--text-body);max-width:720px;line-height:1.7;margin-bottom:1.25rem;}

.process-track{margin-top:0;max-width:640px;}
.process-step{display:flex;gap:1.5rem;align-items:stretch;}
.process-left{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:36px;}
.process-num{
  width:36px;height:36px;border-radius:50%;
  border:1px solid var(--accent);
  display:flex;align-items:center;justify-content:center;
  font-size:0.7rem;font-weight:700;letter-spacing:0.05em;
  color:var(--accent);flex-shrink:0;
}
.process-line{
  width:1px;background:rgba(255,255,255,0.07);
  flex:1;margin:6px 0;min-height:24px;
}
.process-right{padding-bottom:2rem;}
.process-step-last .process-right{padding-bottom:0;}
.process-right h3{font-size:1rem;font-weight:600;margin-bottom:0.3rem;padding-top:0.45rem;}
.process-right p{font-size:0.875rem;color:var(--text-body);line-height:1.6;}

.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2rem;}
.product-card{background:var(--bg-card);border:1px solid rgba(255,255,255,0.05);border-radius:var(--radius);overflow:hidden;}
.product-image{height:320px;background:#1a1a1a;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.product-image img{width:100%;height:100%;object-fit:cover;padding:0;}
.product-info{padding:1.5rem;}
.product-info h3{font-size:1.1rem;font-weight:600;margin-bottom:0.25rem;}
.product-tagline{font-size:0.875rem;color:var(--text-body);margin-bottom:1.25rem;line-height:1.65;}
.spec-group{margin-bottom:1rem;}
.spec-group-label{font-size:0.7rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:0.4rem;}
.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.4rem 1rem;}
.spec-label{font-size:0.75rem;color:rgba(240,237,232,0.5);}
.spec-value{font-size:0.75rem;font-weight:600;}

.claim-block{padding:4rem 0;border-top:1px solid rgba(255,255,255,0.05);border-bottom:1px solid rgba(255,255,255,0.05);background:#0c0c0c;}
.claim-inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.claim-statements{display:flex;flex-direction:column;gap:1.75rem;}
.claim-statement{display:flex;gap:1rem;align-items:flex-start;}
.claim-marker{display:block;width:3px;min-height:100%;background:var(--accent);border-radius:2px;flex-shrink:0;margin-top:0.25rem;}
.claim-statement p{font-size:0.95rem;color:var(--text-body);line-height:1.75;}
.claim-headline h2{font-family:'Instrument Serif',serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400;line-height:1.2;color:var(--text);}
@media(max-width:768px){.claim-inner{grid-template-columns:1fr;gap:2rem;}.claim-headline h2{font-size:clamp(1.6rem,6vw,2.2rem);}}

.contact-section{padding:3rem 0;}
.contact-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
.contact-form{display:flex;flex-direction:column;gap:1rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-group{display:flex;flex-direction:column;gap:0.4rem;}
.form-group label{font-size:0.8rem;color:var(--text-dim);}
.form-group input,.form-group select,.form-group textarea{
background:var(--bg-card);border:1px solid rgba(255,255,255,0.08);border-radius:8px;
padding:0.7rem 1rem;color:var(--text);font-family:'DM Sans',sans-serif;font-size:0.875rem;
}
.form-group textarea{height:120px;resize:vertical;}
.form-consent{flex-direction:row;align-items:flex-start;}
.consent-label{
display:flex;gap:0.6rem;align-items:flex-start;cursor:pointer;
font-size:0.8rem;color:var(--text-dim);line-height:1.5;
}
.consent-label input{margin-top:0.2rem;accent-color:var(--accent);flex-shrink:0;}
.consent-label a{
color:inherit;text-decoration:underline;
text-decoration-color:rgba(240,237,232,0.35);text-underline-offset:3px;
}
.consent-label a:hover{text-decoration-color:rgba(240,237,232,0.6);}
.form-submit{
background:var(--accent);color:#000;padding:0.8rem 2rem;
border-radius:8px;font-weight:600;border:none;cursor:pointer;
font-size:0.9rem;align-self:flex-start;
}

footer{font-size:0.8rem;color:var(--text-dim);border-top:1px solid rgba(255,255,255,0.05);padding:3rem 2rem 2rem;}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;max-width:1120px;margin:0 auto 2rem;}
.footer-logo{font-weight:700;font-size:1rem;color:var(--text);margin-bottom:0.5rem;}
.footer-col p{font-size:0.8rem;color:var(--text-dim);line-height:1.6;}
.footer-heading{font-size:0.7rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:0.75rem;}
.footer-col a,.footer-col span{display:block;color:var(--text-dim);font-size:0.8rem;margin-bottom:0.4rem;}
.footer-col a:hover{color:var(--text);}
.footer-bottom{
display:flex;justify-content:space-between;align-items:center;
max-width:1120px;margin:0 auto;padding-top:1.5rem;
border-top:1px solid rgba(255,255,255,0.05);font-size:0.75rem;
}
.footer-bottom a{color:var(--text-dim);}
.footer-bottom a:hover{color:var(--text);}

@media(max-width:768px){
.nav-links{gap:0.6rem;}
.nav-links a{font-size:0.75rem;}
.nav-links a:not(.nav-cta):not(.nav-hamburger){display:none;}
.nav-cta{font-size:0.8rem;padding:0.45rem 1rem;}

/* Hamburger button */
.nav-hamburger{
  display:flex;flex-direction:column;justify-content:center;gap:5px;
  width:36px;height:36px;cursor:pointer;background:none;border:none;padding:4px;
  order:-1;
}
.nav-hamburger span{
  display:block;height:2px;width:22px;background:var(--text);border-radius:2px;
  transition:all 0.2s ease;
}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Mobile menu drawer */
.nav-drawer{
  display:none;position:fixed;top:var(--nav-h);left:0;right:0;
  background:rgba(10,10,10,0.97);backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,0.08);
  padding:1.25rem 2rem 1.5rem;z-index:99;
  flex-direction:column;gap:0;
}
.nav-drawer.open{display:flex;}
.nav-drawer a{
  color:var(--text-dim);font-size:1rem;padding:0.85rem 0;
  border-bottom:1px solid rgba(255,255,255,0.05);
  display:block;
}
.nav-drawer a:last-child{border-bottom:none;}
.nav-drawer a:hover{color:var(--text);}
.nav-drawer .nav-cta{
  margin-top:0.75rem;text-align:center;border:1px solid rgba(255,255,255,0.15);
  border-radius:6px;padding:0.75rem 1.2rem;color:var(--text);font-weight:600;
}

.product-grid{grid-template-columns:1fr;}
.product-image{height:400px;}
.contact-wrapper{grid-template-columns:1fr;gap:2rem;}
.form-row{grid-template-columns:1fr;}
.footer-inner{grid-template-columns:1fr;}
.footer-bottom{flex-direction:column;gap:0.5rem;text-align:center;}
.hero{padding:calc(var(--nav-h) + 1.5rem) 1.25rem 2rem;}
.hero h1{font-size:clamp(2rem,8vw,3rem);color:#ffffff;}
.hero-sub{font-size:0.925rem;}
.hero-wrapper::before{opacity:0.4;}
.hero-wrapper::after{
background:
  linear-gradient(to bottom, rgba(10,10,10,0.4) 0%, rgba(10,10,10,0.2) 50%, rgba(10,10,10,0.7) 100%),
  linear-gradient(to right, rgba(10,10,10,0.7) 0%, rgba(10,10,10,0.2) 100%);
}
}

/* Hide hamburger on desktop */
@media(min-width:769px){
.nav-hamburger{display:none;}
.nav-drawer{display:none !important;}
}

.blog-featured{
  display:block;border:1px solid rgba(255,255,255,0.08);border-radius:14px;
  padding:2rem 2.25rem;margin-top:2rem;margin-bottom:1rem;
  background:rgba(0,122,102,0.06);
  transition:border-color 0.2s;
}
.blog-featured:hover{border-color:rgba(0,122,102,0.35);}
.blog-featured a{display:block;text-decoration:none;color:inherit;}
.blog-featured-tag{
  font-size:0.7rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--accent);margin-bottom:0.75rem;
}
.blog-featured h2{
  font-family:'Instrument Serif',serif;font-weight:400;
  font-size:clamp(1.3rem,2.5vw,1.75rem);line-height:1.25;
  color:var(--text);margin-bottom:0.75rem;
}
.blog-featured p{font-size:0.95rem;color:var(--text-body);line-height:1.7;max-width:720px;}
.blog-read-more{
  display:inline-block;margin-top:1.25rem;
  font-size:0.85rem;font-weight:600;color:var(--accent);
}
.blog-secondary-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;
  margin-bottom:1rem;
}
.blog-secondary-card{
  border:1px solid rgba(255,255,255,0.06);border-radius:12px;
  padding:1.25rem 1.5rem;background:rgba(0,0,0,0.2);
  transition:border-color 0.2s;
}
.blog-secondary-card:hover{border-color:rgba(255,255,255,0.12);}
.blog-secondary-card a{display:block;text-decoration:none;color:inherit;}
.blog-secondary-card h3{font-size:0.95rem;font-weight:600;line-height:1.4;margin-bottom:0.5rem;color:var(--text);}
.blog-secondary-card p{font-size:0.825rem;color:var(--text-body);line-height:1.6;}
@media(max-width:768px){.blog-secondary-grid{grid-template-columns:1fr;}.blog-featured{padding:1.5rem;}}

.blog-hero{padding:calc(var(--nav-h) + 4rem) 0 2rem 0;}
.blog-hero h1{font-family:'Instrument Serif',serif;font-size:clamp(2.2rem,4.5vw,3.2rem);font-weight:400;line-height:1.15;margin-bottom:0.75rem;}
.blog-meta{display:flex;gap:1rem;flex-wrap:wrap;color:var(--text-dim);font-size:0.85rem;margin-top:0.75rem;}
.article{padding:2rem 0 3rem 0;}
.article .container{max-width:860px;}
.article p{color:var(--text-body);line-height:1.8;margin:0 0 1rem 0;}
.article .lede{color:rgba(240,237,232,0.85);font-size:1.05rem;line-height:1.8;margin-top:1.25rem;}
.article a{color:var(--accent);font-weight:600;}
.blog-list{padding:1rem 0 3rem 0;}
.blog-list .container{max-width:1100px;}
.blog-group-heading{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-dim);margin:2.5rem 0 0.75rem 0;padding-bottom:0.5rem;border-bottom:1px solid rgba(255,255,255,0.07);}
.blog-group-heading:first-child{margin-top:0;}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;}
.blog-card{display:block;border:1px solid rgba(255,255,255,0.06);border-radius:14px;padding:1.25rem 1.25rem;margin-bottom:1rem;background:rgba(0,0,0,0.2);}
.blog-card h2{font-size:1.15rem;margin:0 0 0.5rem 0;color:var(--text);}
.blog-card p{margin:0;color:var(--text-body);line-height:1.7;}
.blog-card a{display:block;text-decoration:none;}



/* Cookie banner */
.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:9999;display:none;}
.cookie-banner .cookie-card{max-width:980px;margin:0 auto;background:#121212;border:1px solid rgba(255,255,255,0.10);border-radius:14px;padding:1.25rem 1.25rem;box-shadow:0 12px 40px rgba(0,0,0,0.35);display:flex;gap:1rem;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;}
.cookie-banner p{margin:0;color:var(--text-dim);line-height:1.6;max-width:680px;}
.cookie-actions{display:flex;gap:0.75rem;flex-wrap:wrap;align-items:center;}
.cookie-actions button{border-radius:10px;padding:0.75rem 1rem;font-weight:600;border:1px solid rgba(255,255,255,0.12);background:transparent;color:var(--text);cursor:pointer;}
.cookie-actions button.primary{background:var(--accent);border-color:var(--accent);color:#000;}
.cookie-actions a{color:var(--accent);font-weight:600;text-decoration:none;}



/* Platform teaser grid */
.platform-teaser-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:2rem;}
@media(max-width:768px){
  .platform-teaser-grid{grid-template-columns:repeat(2,1fr);gap:0.75rem;}
  .platform-teaser-grid img{height:90px !important;}
}
.related-articles{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.08)}
.related-articles h2{font-size:18px;margin:0 0 12px 0}
.related-articles ul{margin:0;padding-left:18px}
.related-articles li{margin:6px 0}


/* Ensure first content section is not hidden behind fixed nav */
section.section-padding:first-of-type{
  padding-top: calc(var(--nav-h) + 2.5rem);
}
