
:root{
  --ink:#17181a;
  --ink-2:#222326;
  --ink-3:#2d2f32;
  --paper:#f4f4f0;
  --paper-2:#e9e9e3;
  --white:#fff;
  --muted:#73767a;
  --muted-dark:#a6a8aa;
  --orange:#f96f0d;
  --orange-2:#ff8a2b;
  --orange-soft:#ffd6bb;
  --line:#d7d7d1;
  --line-dark:#37383a;
  --green:#7d916f;
  --max:1280px;
  --radius:28px;
  --shadow:0 28px 80px rgba(0,0,0,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.56;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility
}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.narrow{width:min(calc(100% - 48px),900px);margin-inline:auto}
.section{padding:112px 0}
.section-sm{padding:72px 0}
.section-dark{background:var(--ink);color:#f6f6f2}
.section-charcoal{background:#242527;color:#f6f6f2}
.section-orange{background:var(--orange);color:#151515}
.section-paper2{background:var(--paper-2)}
.eyebrow{
  display:flex;align-items:center;gap:10px;text-transform:uppercase;
  letter-spacing:.15em;font-size:.72rem;font-weight:850;color:var(--orange)
}
.eyebrow:before{content:"";width:25px;height:2px;background:currentColor}
.display,h1,h2,h3{letter-spacing:-.045em}
.display{
  font-size:clamp(4.1rem,9vw,9.5rem);line-height:.82;margin:.12em 0 .25em;
  font-weight:850;max-width:1050px
}
h1{font-size:clamp(3.8rem,7.3vw,7.8rem);line-height:.86;margin:.16em 0 .28em;font-weight:850}
h2{font-size:clamp(2.8rem,5.4vw,5.8rem);line-height:.92;margin:.15em 0 .4em;font-weight:820}
h3{font-size:clamp(1.35rem,2.2vw,2.15rem);line-height:1.03;margin:.2em 0 .5em}
p{margin:.35em 0 1em}
.lead{font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.48;color:#494d50;max-width:780px}
.section-dark .lead,.section-charcoal .lead{color:#c5c7c8}
.muted{color:var(--muted)}
.section-dark .muted,.section-charcoal .muted{color:var(--muted-dark)}
.small{font-size:.82rem}
.label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850}
.accent{color:var(--orange)}
.orange-line{height:4px;background:linear-gradient(90deg,var(--orange),transparent);border:0}

.header{
  position:sticky;top:0;z-index:90;background:rgba(23,24,26,.94);
  backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)
}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand img{width:190px;height:52px;object-fit:contain;object-position:left center}
.navlinks{display:flex;align-items:center;gap:28px;color:#d6d7d7;font-size:.87rem;font-weight:740}
.navlinks a{position:relative;padding:10px 0}
.navlinks a:after{
  content:"";position:absolute;left:0;right:100%;bottom:1px;height:2px;background:var(--orange);
  transition:right .22s ease
}
.navlinks a:hover:after,.navlinks a.active:after{right:0}
.navlinks .nav-cta{border:1px solid #5b5d5f;padding:10px 16px;border-radius:999px}
.navlinks .nav-cta:after{display:none}
.navlinks .nav-cta:hover{border-color:var(--orange);color:#fff}
.menu-btn{display:none;background:transparent;border:0;color:white;width:48px;height:48px}
.menu-btn span{display:block;width:26px;height:2px;background:white;margin:6px auto;transition:.2s}
.mobile-menu{display:none;position:fixed;inset:78px 0 0;background:#17181af7;z-index:80;padding:35px 24px}
.mobile-menu a{display:block;color:white;font-size:2rem;font-weight:800;padding:13px 0;border-bottom:1px solid #333}
.mobile-menu a:last-child{color:var(--orange)}

.hero{
  min-height:calc(100vh - 78px);background:
  linear-gradient(90deg,rgba(23,24,26,.99) 0 52%,rgba(23,24,26,.88) 70%,rgba(23,24,26,.62)),
  radial-gradient(circle at 78% 35%,#56585a 0 8%,#2b2d2f 33%,#17181a 70%);
  color:white;position:relative;overflow:hidden;display:flex;align-items:center
}
.hero:before{
  content:"";position:absolute;inset:-15%;
  background:repeating-linear-gradient(118deg,transparent 0 52px,rgba(255,255,255,.035) 53px 54px);
  transform:rotate(-3deg)
}
.hero:after{
  content:"";position:absolute;width:520px;height:86px;background:var(--orange);right:-150px;top:34%;
  transform:rotate(-33deg);box-shadow:0 0 45px rgba(249,111,13,.25)
}
.hero-inner{position:relative;z-index:2;padding:88px 0 94px}
.hero-logo{width:min(740px,80vw);margin-bottom:25px;filter:drop-shadow(0 18px 40px rgba(0,0,0,.22))}
.hero-title{font-size:clamp(3.6rem,8vw,8.2rem);line-height:.84;letter-spacing:-.065em;font-weight:900;margin:0;max-width:1100px}
.hero-title .outline{-webkit-text-stroke:1.5px rgba(255,255,255,.82);color:transparent}
.hero-copy{font-size:clamp(1.12rem,1.8vw,1.4rem);max-width:650px;color:#c9cbcc;margin:28px 0 0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 20px;
  border-radius:999px;font-weight:820;font-size:.9rem;border:1px solid currentColor;
  transition:transform .2s,background .2s,border .2s,color .2s
}
.btn:hover{transform:translateY(-2px)}
.btn-orange{background:var(--orange);border-color:var(--orange);color:#151515}
.btn-orange:hover{background:var(--orange-2);border-color:var(--orange-2)}
.btn-light{color:white;border-color:#5b5d60}
.btn-light:hover{border-color:white}
.btn-dark{background:var(--ink);border-color:var(--ink);color:white}
.btn-ghost{border-color:#c3c4bf;background:transparent;color:var(--ink)}
.hero-meta{display:flex;gap:25px;flex-wrap:wrap;margin-top:48px;color:#8f9295;font-size:.8rem}
.hero-meta span{display:flex;gap:7px;align-items:center}
.hero-meta i{width:6px;height:6px;border-radius:50%;background:var(--orange)}

.intro-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start}
.intro-grid .lead{margin-top:10px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:55px}
.stat{padding:24px 24px 0 0}
.stat b{display:block;font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.06em;line-height:1}
.stat span{display:block;margin-top:9px;font-size:.78rem;color:var(--muted)}

.products-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.product-card{
  position:relative;min-height:690px;border-radius:var(--radius);overflow:hidden;
  padding:34px;display:flex;flex-direction:column;justify-content:space-between;
  transition:transform .3s ease,box-shadow .3s ease
}
.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.product-card.bunol{background:#dadad4}
.product-card.mersin{background:#292a2c;color:white}
.product-card .country{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;font-weight:850}
.product-card h3{font-size:clamp(3.2rem,5.6vw,6rem);line-height:.85;margin:.18em 0}
.product-code{font-size:1.05rem;font-weight:820}
.product-card .spec-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}
.spec{border-top:1px solid rgba(0,0,0,.22);padding-top:11px}
.mersin .spec{border-color:rgba(255,255,255,.22)}
.spec b{display:block;font-size:1.42rem;letter-spacing:-.04em}
.spec span{font-size:.7rem;color:#65686b}
.mersin .spec span{color:#aeb0b2}
.product-visual{height:285px;display:flex;justify-content:flex-end;align-items:flex-end;position:relative}
.product-visual img{max-height:280px;max-width:66%;object-fit:contain;filter:drop-shadow(0 30px 32px rgba(0,0,0,.18))}
.product-card .number{position:absolute;right:20px;top:17px;font-size:8rem;line-height:1;font-weight:900;color:rgba(0,0,0,.045)}
.mersin .number{color:rgba(255,255,255,.05)}
.product-card .linkline{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(0,0,0,.18);padding-top:18px;font-weight:820}
.mersin .linkline{border-color:rgba(255,255,255,.2)}
.product-card .linkline span:last-child{color:var(--orange);font-size:1.3rem}

.use-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.use-card{
  min-height:255px;border-radius:24px;padding:24px;position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:flex-end;background:#303234
}
.use-card:before{
  content:"";position:absolute;inset:0;background:
    linear-gradient(160deg,rgba(255,255,255,.04),transparent 40%),
    repeating-linear-gradient(25deg,transparent 0 18px,rgba(255,255,255,.02) 19px 20px)
}
.use-card > *{position:relative;z-index:1}
.use-card h3{margin:0 0 6px}
.use-card p{color:#afb2b3;font-size:.85rem;max-width:330px;margin:0}
.use-card .icon{font-size:2.1rem;color:var(--orange);margin-bottom:auto}
.use-card:nth-child(1){grid-column:span 5}
.use-card:nth-child(2){grid-column:span 3;background:#3c332d}
.use-card:nth-child(3){grid-column:span 4}
.use-card:nth-child(4){grid-column:span 4;background:#302d2a}
.use-card:nth-child(5){grid-column:span 5}
.use-card:nth-child(6){grid-column:span 3;background:#353638}

.split{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.media-card{min-height:590px;border-radius:var(--radius);overflow:hidden;position:relative;background:#ddd}
.media-card img{width:100%;height:100%;object-fit:cover}
.media-card .caption{
  position:absolute;left:16px;bottom:16px;background:rgba(20,20,20,.78);color:#ddd;
  backdrop-filter:blur(10px);font-size:.68rem;padding:8px 11px;border-radius:999px
}
.content-card{padding:48px;border-radius:var(--radius);background:white;display:flex;flex-direction:column;justify-content:space-between}
.section-dark .content-card{background:#222426}

.source-note{font-size:.68rem;color:#777;margin-top:8px}
.source-note a{text-decoration:underline;text-underline-offset:2px}
.section-dark .source-note{color:#9da0a2}

.docs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.doc-card{
  background:white;border:1px solid var(--line);border-radius:18px;padding:19px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;transition:.2s
}
.doc-card:hover{transform:translateY(-2px);border-color:#999}
.doc-card .doc-type{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#ecece6;
  color:var(--orange);font-weight:900;font-size:.72rem
}
.doc-card .doc-main{flex:1}
.doc-card b{display:block;margin-bottom:3px}
.doc-card span{font-size:.77rem;color:var(--muted)}
.doc-card .dl{font-size:1.3rem;color:var(--orange)}

.page-hero{
  background:var(--ink);color:white;padding:90px 0 78px;position:relative;overflow:hidden
}
.page-hero:after{
  content:"";position:absolute;width:380px;height:52px;background:var(--orange);right:-80px;bottom:70px;transform:rotate(-28deg)
}
.page-hero .container{position:relative;z-index:2}
.page-hero p{color:#b8babc}
.breadcrumb{font-size:.74rem;color:#818487;margin-bottom:35px}
.breadcrumb a{color:#c6c8c9}
.breadcrumb span{margin:0 8px}

.product-hero{padding:78px 0;background:#deded8}
.product-hero.mersin-bg{background:#242527;color:white}
.product-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:50px;align-items:center}
.product-hero h1{font-size:clamp(3.7rem,7vw,7.4rem)}
.product-hero-img{display:flex;justify-content:center;align-items:center;min-height:500px;position:relative}
.product-hero-img:before{content:"";position:absolute;width:330px;height:330px;border-radius:50%;border:42px solid var(--orange);opacity:.92}
.product-hero-img img{max-height:480px;max-width:80%;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 34px 34px rgba(0,0,0,.18))}
.product-hero .lead{max-width:660px}
.mersin-bg .lead{color:#c0c2c4}

.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.kpi{background:var(--paper);padding:32px 24px;min-height:150px}
.kpi b{font-size:2.2rem;letter-spacing:-.05em;display:block}
.kpi span{font-size:.8rem;color:var(--muted)}
.section-dark .kpi{background:#1e1f21}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.checks{display:grid;gap:12px;margin:20px 0 0}
.check{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start}
.check i{width:24px;height:24px;border-radius:50%;background:var(--orange);display:grid;place-items:center;font-style:normal;font-size:.72rem;font-weight:900}
.check p{margin:0;color:#55595b}
.section-dark .check p{color:#c1c4c5}

.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:20px;background:white}
table{width:100%;border-collapse:collapse;min-width:680px}
th,td{text-align:left;padding:16px 18px;border-bottom:1px solid var(--line);font-size:.88rem}
th{background:#ededE8;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}
tr:last-child td{border-bottom:0}
td strong{font-weight:850}

.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:13px}
.gallery-item{border-radius:22px;overflow:hidden;position:relative;min-height:260px;background:#ddd}
.gallery-item img{width:100%;height:100%;object-fit:cover}
.gallery-item:nth-child(1){grid-column:span 7;min-height:470px}
.gallery-item:nth-child(2){grid-column:span 5;min-height:470px}
.gallery-item:nth-child(3){grid-column:span 4}
.gallery-item:nth-child(4){grid-column:span 4}
.gallery-item:nth-child(5){grid-column:span 4}
.gallery-item .cap{position:absolute;left:13px;right:13px;bottom:13px;background:rgba(23,24,26,.82);color:white;border-radius:14px;padding:10px 12px;font-size:.74rem}
.gallery-item .cap a{color:#d7d8d8}
.gallery-item.placeholder{background:
  linear-gradient(135deg,#37393b 0 35%,#f96f0d 35% 38%,#d9d9d4 38% 100%)}
.gallery-item.placeholder:nth-child(4){background:linear-gradient(145deg,#deddd7 0 52%,#353638 52% 78%,#f96f0d 78%)}
.gallery-item.placeholder:nth-child(5){background:linear-gradient(45deg,#28292b,#4b4c4e 55%,#f96f0d 56% 61%,#d5d5cf 62%)}

.inspiration-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.inspiration{border:1px solid var(--line);border-radius:20px;padding:23px;background:white}
.inspiration .dot{width:12px;height:12px;border-radius:50%;background:var(--orange);margin-bottom:45px}
.inspiration h3{font-size:1.4rem}
.inspiration p{font-size:.82rem;color:var(--muted)}
.inspiration a{font-size:.8rem;font-weight:850}

.video-shell{position:relative;padding-top:56.25%;border-radius:26px;overflow:hidden;background:#111}
.video-shell iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:35px}
.timeline-item{border-top:3px solid var(--orange);padding:20px 4px}
.timeline-item b{font-size:1.7rem;display:block;letter-spacing:-.04em}
.timeline-item p{font-size:.84rem;color:var(--muted)}

.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.person{background:white;border-radius:22px;overflow:hidden}
.person .photo{height:340px;background:#ddd;overflow:hidden}
.person img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15) contrast(1.03)}
.person .body{padding:18px 18px 22px}
.person b{display:block;font-size:1.05rem}
.person span{font-size:.78rem;color:var(--muted)}

.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}
.contact-info{border-radius:var(--radius);background:#202123;color:white;padding:42px}
.contact-info h2{font-size:3rem}
.contact-info .row{padding:17px 0;border-top:1px solid #3c3d3f}
.contact-info .row span{display:block;color:#8f9294;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}
.contact-form{border-radius:var(--radius);background:white;padding:42px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:.75rem;font-weight:800}
.field input,.field textarea,.field select{
  width:100%;border:1px solid #d0d0ca;background:#f8f8f5;border-radius:13px;padding:13px 14px;outline:none
}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--orange)}
.field textarea{min-height:145px;resize:vertical}
.form-note{font-size:.72rem;color:var(--muted);margin-top:12px}

.cta-band{background:var(--orange);padding:78px 0}
.cta-inner{display:flex;align-items:end;justify-content:space-between;gap:30px}
.cta-band h2{margin:0;max-width:760px}
.cta-band .btn{background:#151515;color:white;border-color:#151515}

.footer{background:#101113;color:white;padding:70px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr .8fr;gap:45px}
.footer-logo{width:250px;margin-bottom:24px}
.footer p,.footer a{color:#b1b4b5;font-size:.85rem}
.footer h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#777a7c;margin:0 0 15px}
.footer-links{display:grid;gap:8px}
.footer-bottom{border-top:1px solid #292a2c;margin-top:55px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:#696d70;font-size:.73rem}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1020px){
  .navlinks{display:none}.menu-btn{display:block}.mobile-menu.open{display:block}
  .intro-grid,.split,.product-hero-grid,.two-col,.contact-grid{grid-template-columns:1fr}
  .products-grid{grid-template-columns:1fr}
  .stats,.kpi-grid{grid-template-columns:repeat(2,1fr)}
  .use-card:nth-child(n){grid-column:span 6}
  .team-grid,.inspiration-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .cta-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:680px){
  .container,.narrow{width:min(calc(100% - 28px),var(--max))}
  .section{padding:78px 0}.section-sm{padding:54px 0}
  .brand img{width:155px}
  .hero-inner{padding:60px 0 70px}
  .hero:after{width:280px;right:-130px}
  .hero-logo{width:90vw}
  .stats,.kpi-grid,.docs-grid,.form-grid{grid-template-columns:1fr}
  .use-card:nth-child(n){grid-column:span 12}
  .product-card{min-height:610px;padding:25px}
  .product-card .spec-row{grid-template-columns:1fr}
  .product-visual{height:230px}
  .gallery-item:nth-child(n){grid-column:span 12;min-height:300px}
  .team-grid,.inspiration-grid{grid-template-columns:1fr}
  .person .photo{height:430px}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .content-card,.contact-info,.contact-form{padding:28px}
  .page-hero{padding:65px 0 55px}
}


/* Final logo variants */
.brand.home-brand img{
  width:170px;height:44px;object-fit:contain;object-position:left center;
  background:transparent;
}
.brand.inner-brand img{
  width:170px;height:44px;object-fit:contain;object-position:left center;
  background:#fff;border-radius:10px;padding:4px 8px;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.hero-logo-final{
  width:min(900px,88vw);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  margin-bottom:28px;
}
.footer-logo-small{
  width:210px;
  border-radius:10px;
  background:#fff;
  padding:6px 10px;
}
@media(max-width:680px){
  .brand.home-brand img,.brand.inner-brand img{width:138px;height:38px}
  .hero-logo-final{width:94vw}
  .footer-logo-small{width:170px}
}


/* --- v4: cleaner homepage, larger imagery --- */
.hero-clean .hero-inner{
  padding: 110px 0 120px;
}
.hero-clean .hero-title{
  max-width: 980px;
}
.hero-clean .hero-copy{
  max-width: 760px;
  font-size: clamp(1.18rem, 1.9vw, 1.5rem);
}
.hero-clean .hero-copy strong{
  color:#fff;
}
.hero-clean .hero-actions{
  margin-top: 38px;
}
.hero-clean .hero-meta{
  margin-top: 38px;
}

.brand.home-brand img{
  width: 155px;
  height: 40px;
}
.brand.inner-brand img{
  width: 155px;
  height: 40px;
  padding: 3px 7px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
}

.product-card{
  min-height: 760px;
}
.product-visual{
  height: 340px;
}
.product-visual img{
  max-height: 330px;
  max-width: 82%;
  width: auto;
}

.media-card{
  min-height: 760px;
}
.media-card img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
}

.product-hero-img{
  min-height: 620px;
}
.product-hero-img img{
  max-height: 580px;
  max-width: 88%;
}

.gallery-item:nth-child(1),
.gallery-item:nth-child(2){
  min-height: 580px;
}
.gallery-item:nth-child(3),
.gallery-item:nth-child(4),
.gallery-item:nth-child(5){
  min-height: 360px;
}
.gallery-item img{
  transform: scale(1.02);
}

.person .photo{
  height: 400px;
}
.person img{
  object-fit: cover;
}

@media(max-width:1020px){
  .product-card{min-height:680px}
  .product-visual{height:280px}
  .media-card{min-height:540px}
  .product-hero-img{min-height:460px}
  .gallery-item:nth-child(1),
  .gallery-item:nth-child(2){min-height:420px}
}

@media(max-width:680px){
  .hero-clean .hero-inner{padding: 80px 0 90px}
  .brand.home-brand img,.brand.inner-brand img{width:130px;height:34px}
  .product-card{min-height:620px}
  .product-visual{height:235px}
  .media-card{min-height:360px}
  .product-hero-img{min-height:340px}
}


/* --- v5: homepage logo emphasis + expanded references --- */
.hero-clean .hero-logo-return{
  width:min(920px,86vw);
  display:block;
  margin:0 0 34px;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.34);
}
.hero-clean .hero-logo-wrap{
  max-width:980px;
}
.hero-clean .eyebrow{
  margin-bottom:18px;
}
.hero-clean .hero-title{
  max-width:960px;
}
.refs-hero-copy{
  max-width:900px;
}
.refs-section-head{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:60px;
  align-items:start;
  margin-bottom:34px;
}
.refs-masonry{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:14px;
}
.refs-masonry .item{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  background:#d8d8d2;
  min-height:260px;
}
.refs-masonry .item img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.refs-masonry .item .cap{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  background:rgba(23,24,26,.84);
  color:#fff;
  border-radius:14px;
  padding:10px 12px;
  font-size:.74rem;
  line-height:1.35;
}
.refs-masonry .item .cap small{display:block;color:#d0d3d4;margin-top:4px}
.refs-masonry .item.t1{grid-column:span 7;min-height:560px}
.refs-masonry .item.t2{grid-column:span 5;min-height:560px}
.refs-masonry .item.t3{grid-column:span 4;min-height:360px}
.refs-masonry .item.t4{grid-column:span 4;min-height:360px}
.refs-masonry .item.t5{grid-column:span 4;min-height:360px}
.refs-masonry .item.t6{grid-column:span 6;min-height:400px}
.refs-masonry .item.t7{grid-column:span 6;min-height:400px}
.refs-source-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  margin-top:28px;
}
.refs-source-card{
  background:white;
  border:1px solid var(--line);
  border-radius:24px;
  padding:28px;
}
.refs-source-card .label{
  color:var(--orange);
}
.refs-source-card h3{
  font-size:2rem;
  margin:.25em 0 .35em;
}
.refs-source-card p{
  color:var(--muted);
  margin-bottom:18px;
}
.refs-source-links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.refs-source-links a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:11px 14px;
  border-radius:999px;
  background:#f5f5f1;
  border:1px solid #d8d8d2;
  font-size:.82rem;
  font-weight:800;
}
.refs-source-links a:hover{
  border-color:var(--orange);
  color:var(--orange);
}
.refs-note{
  font-size:.82rem;
  color:var(--muted);
  margin-top:20px;
}
@media(max-width:1020px){
  .refs-section-head{grid-template-columns:1fr}
  .refs-source-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .hero-clean .hero-logo-return{width:94vw}
  .refs-masonry .item.t1,
  .refs-masonry .item.t2,
  .refs-masonry .item.t3,
  .refs-masonry .item.t4,
  .refs-masonry .item.t5,
  .refs-masonry .item.t6,
  .refs-masonry .item.t7{grid-column:span 12;min-height:290px}
}


/* --- v6: expanded hero background and heavy references gallery --- */
.hero.hero-expanded{
  background:
    linear-gradient(90deg,rgba(18,18,20,.92) 0 40%,rgba(18,18,20,.72) 60%,rgba(18,18,20,.48)),
    radial-gradient(circle at 74% 35%,#58595c 0 9%,#343537 26%,#17181a 68%);
}
.hero-expanded:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg, transparent 0 58%, rgba(249,111,13,.96) 58% 63%, transparent 63% 100%),
    linear-gradient(to bottom, transparent, transparent);
  mix-blend-mode:normal;
  opacity:.9;
}
.hero-expanded .hero-logo-return{
  width:min(980px,92vw);
  display:block;
  margin:0 0 34px;
  border-radius:0;
  box-shadow:none;
}
.hero-expanded .hero-inner{
  padding:84px 0 104px;
}
.hero-expanded .hero-copy{
  max-width:780px;
}
.brand.home-brand img{width:164px;height:42px}
.refs-categories{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin:26px 0 42px;
}
.refcat{
  background:#f5f5f1;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px 18px;
}
.refcat b{display:block;font-size:1rem;margin-bottom:5px}
.refcat span{font-size:.75rem;color:var(--muted)}
.big-gallery{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:14px;
}
.big-gallery .g{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  background:#ddd;
  min-height:260px;
}
.big-gallery .g img{width:100%;height:100%;object-fit:cover}
.big-gallery .g .src{
  position:absolute;left:12px;right:12px;bottom:12px;
  padding:10px 12px;border-radius:14px;
  background:rgba(23,24,26,.84);color:#fff;font-size:.72rem;line-height:1.35
}
.big-gallery .g .src small{display:block;color:#d0d3d4;margin-top:4px}
.big-gallery .g.a{grid-column:span 6;min-height:520px}
.big-gallery .g.b{grid-column:span 6;min-height:520px}
.big-gallery .g.c,.big-gallery .g.d,.big-gallery .g.e{grid-column:span 4;min-height:360px}
.big-gallery .g.f,.big-gallery .g.g{grid-column:span 6;min-height:420px}
.big-gallery .g.h,.big-gallery .g.i,.big-gallery .g.j,.big-gallery .g.k{grid-column:span 3;min-height:280px}
.refs-brand-sections{display:grid;gap:74px}
.refs-brand-head{
  display:grid;grid-template-columns:.7fr 1.3fr;gap:44px;align-items:start;margin-bottom:28px
}
.refs-brand-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:14px;
}
.refs-brand-grid .card{
  position:relative;overflow:hidden;border-radius:22px;background:#ddd;min-height:260px
}
.refs-brand-grid .card img{width:100%;height:100%;object-fit:cover}
.refs-brand-grid .card .meta{
  position:absolute;left:10px;right:10px;bottom:10px;background:rgba(17,18,20,.8);color:#fff;border-radius:12px;
  padding:8px 10px;font-size:.7rem;line-height:1.35
}
.refs-brand-grid .card.wide{grid-column:span 6;min-height:430px}
.refs-brand-grid .card.mid{grid-column:span 4;min-height:320px}
.refs-brand-grid .card.small{grid-column:span 3;min-height:250px}
@media(max-width:1020px){
  .refs-categories{grid-template-columns:repeat(2,1fr)}
  .refs-brand-head{grid-template-columns:1fr}
}
@media(max-width:680px){
  .hero-expanded .hero-logo-return{width:96vw}
  .refs-categories{grid-template-columns:1fr}
  .big-gallery .g.a,.big-gallery .g.b,.big-gallery .g.c,.big-gallery .g.d,.big-gallery .g.e,.big-gallery .g.f,.big-gallery .g.g,.big-gallery .g.h,.big-gallery .g.i,.big-gallery .g.j,.big-gallery .g.k{grid-column:span 12;min-height:280px}
  .refs-brand-grid .card.wide,.refs-brand-grid .card.mid,.refs-brand-grid .card.small{grid-column:span 12;min-height:260px}
}


/* --- v9: final Cemrock logo system --- */
body{
  background:#111214;
  color:#f4f4f0;
}
.brand.home-brand img,
.brand.inner-brand img{
  width:176px;
  height:54px;
  object-fit:contain;
  object-position:left center;
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  filter:none;
}
.footer-logo-small{
  width:190px;
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}
.header{
  background:rgba(18,19,22,.94);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.mobile-menu{
  background:#111214;
}
.page-hero,
.section-paper,
.section-paper2{
  background:#17181a;
  color:#f6f6f2;
}
.page-hero .lead,
.section-paper .lead,
.section-paper2 .lead,
.page-hero p,
.section-paper p,
.section-paper2 p{
  color:#d2d4d6;
}
.card,
.surface,
.surface-card,
.refs-source-card{
  background:#1e2023;
  color:#f6f6f2;
  border-color:#35373b;
}
.refs-source-links a{
  background:#232529;
  border-color:#37393d;
}
.hero-logo-wrap{
  background:transparent !important;
}
.hero-logo-return{
  width:min(980px,92vw);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 28px 70px rgba(0,0,0,.34);
}
footer.footer{
  background:#111214;
  color:#d2d4d6;
  border-top:1px solid rgba(255,255,255,.08);
}
footer.footer a{color:#f6f6f2}

/* v15 – egységes LinkedIn-kompatibilis csapatportrék */
.team-grid .person .photo{aspect-ratio:1/1;overflow:hidden}.team-grid .person .photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block}


/* --- v17: feliratok kontrasztja + könnyebb olvashatóság --- */

/* Sötét alapfelületeken a hosszabb szöveg ne legyen túl sötét. */
.section .lead{
  color:#d9dbdc;
}
.section .muted,
.section-dark .muted,
.section-charcoal .muted{
  color:#c7c9ca;
}
.refs-note{
  color:#c7c9ca;
}

/* Világos kártyákon explicit sötét szöveg – a fekete oldalháttér miatt szükséges. */
.product-card.bunol,
.kpi,
.doc-card,
.table-wrap,
.inspiration,
.person,
.contact-form,
.refcat{
  color:#17181a;
}
.product-card.bunol .lead,
.kpi .lead,
.doc-card .lead,
.table-wrap .lead,
.inspiration .lead,
.person .lead,
.contact-form .lead,
.refcat .lead{
  color:#494d50;
}

/* A sötét kártyák maradjanak világos szövegűek. */
.section-dark .content-card,
.section-charcoal .content-card,
.section-dark .kpi,
.section-charcoal .kpi{
  color:#f6f6f2;
}
.section-dark .content-card .lead,
.section-charcoal .content-card .lead{
  color:#d9dbdc;
}

/* Navigáció és lábléc: kevésbé szürke, jobban olvasható. */
.navlinks{
  color:#f0f1f1;
}
.footer p,
.footer a{
  color:#d7d9da;
}
.footer h4{
  color:#aeb1b3;
}
.footer-bottom{
  color:#9da0a2;
}

/* Kapcsolat oldal: a profilképekhez nem nyúlunk, csak a feliratokhoz. */
.person b{
  color:#17181a;
}
.person span{
  color:#5b5f63;
}
.contact-info .row span{
  color:#c8cacc;
}
.form-note{
  color:#666a6e;
}

/* Sötét oldalszakaszokon a körvonalas gombok ne legyenek fekete szövegűek. */
.section .btn-ghost{
  color:#f5f5f2;
  border-color:#7a7d81;
}
.section .btn-ghost:hover{
  color:#fff;
  border-color:#fff;
}
.product-card.bunol .btn-ghost,
.doc-card .btn-ghost,
.inspiration .btn-ghost,
.person .btn-ghost,
.contact-form .btn-ghost,
.refcat .btn-ghost{
  color:#17181a;
  border-color:#aaa;
}

/* Kép fölötti feliratok: sötétebb háttér + fehérebb, valamivel nagyobb betű. */
.big-gallery .g .src,
.refs-brand-grid .card .meta,
.gallery-item .cap,
.refs-masonry .item .cap{
  background:rgba(10,11,12,.92);
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.35);
}
.big-gallery .g .src{
  font-size:.78rem;
  padding:11px 13px;
}
.refs-brand-grid .card .meta{
  font-size:.76rem;
  line-height:1.45;
  padding:10px 12px;
}
.big-gallery .g .src small,
.refs-brand-grid .card .meta small,
.refs-masonry .item .cap small{
  color:#eef0f1;
}
.refs-brand-grid .card .meta a,
.big-gallery .g .src a{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* Általános képaláírások is kapjanak erősebb kontrasztot. */
.media-card .caption{
  background:rgba(10,11,12,.9);
  color:#fff;
  font-size:.74rem;
}
.source-note{
  color:#c4c6c7;
}
.content-card .source-note,
.doc-card .source-note,
.contact-form .source-note{
  color:#666a6d;
}

/* A referencia kategóriakártyák címei korábban beleolvadhattak a világos háttérbe. */
.refcat b{
  color:#17181a;
}
.refcat span{
  color:#5f6367;
}

/* Mobilon is legyen könnyen olvasható a képfelirat. */
@media(max-width:680px){
  .refs-brand-grid .card .meta,
  .big-gallery .g .src,
  .gallery-item .cap,
  .refs-masonry .item .cap{
    font-size:.82rem;
    line-height:1.45;
  }
}



/* === V18 kontraszt- és olvashatósági finomhangolás === */
.content-card{
  color:var(--ink);
  background:linear-gradient(180deg,#ffffff 0%, #f3f3ee 100%);
  box-shadow:0 22px 48px rgba(16,17,19,.10);
  border:1px solid rgba(23,24,26,.08);
}
.content-card h2,
.content-card h3{color:#17181a}
.content-card .lead{color:#43474a}
.content-card .muted,
.content-card p{color:#565a5d}
.content-card .btn{align-self:flex-start}

.inspiration{
  position:relative;
  overflow:hidden;
  color:var(--ink);
  background:linear-gradient(180deg,#ffffff 0%, #f4f4ef 100%);
  border:1px solid #d9d8d1;
  box-shadow:0 18px 42px rgba(0,0,0,.12);
}
.inspiration:before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:4px;
  background:linear-gradient(90deg,var(--orange),rgba(249,111,13,0));
}
.inspiration .dot{
  margin-bottom:28px;
  box-shadow:0 0 0 8px rgba(249,111,13,.08);
}
.inspiration h3{color:#17181a}
.inspiration p{color:#4d5154}
.inspiration a{color:var(--orange)}
.section-dark .inspiration,
.section-charcoal .inspiration{
  background:linear-gradient(180deg,#fbfbf8 0%, #f1f1eb 100%);
}

.table-wrap{
  background:linear-gradient(180deg,#ffffff 0%, #f7f7f3 100%);
  box-shadow:0 18px 40px rgba(0,0,0,.14);
}
.table-wrap,
.table-wrap table,
.table-wrap th,
.table-wrap td{
  color:#1f2123;
}
.table-wrap th{
  background:#ecece6;
  color:#4d5154;
  font-weight:850;
}
.table-wrap td{
  color:#2b2d30;
}
.table-wrap td strong{color:#17181a}

.doc-card,
.contact-form,
.kpi{
  color:var(--ink);
}
.doc-card p,
.contact-form p,
.kpi span{color:#565a5d}

.gallery-item .cap,
.media-card .caption{
  background:rgba(10,11,12,.90);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.08);
}
.gallery-item .cap,
.gallery-item .cap a,
.media-card .caption{
  color:#fff;
}

.section-paper2 h2,
.section-paper2 h3{color:#17181a}
.section-paper2 .lead{color:#474b4e}

.refs-brand-grid .card .meta{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:54px;
  padding:10px 14px;
  background:linear-gradient(180deg,rgba(10,11,12,.84) 0%, rgba(10,11,12,.95) 100%);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.08);
}
.refs-brand-grid .card .meta br{display:none}
.refs-brand-grid .card .meta small{
  display:block;
  margin:0;
  color:#f7f7f3;
  font-size:.75rem;
  font-weight:750;
  line-height:1.35;
  letter-spacing:.01em;
}
.refs-brand-grid .card .meta a{color:#fff}

.hero p,
.page-hero p,
.product-hero p,
.lead,
.muted{
  text-wrap:pretty;
}



/* === V20 • Çimsa műszaki előnyök / Felhasználás === */
.technical-advantages-intro{margin-bottom:40px}
.technical-kicker{
  margin-top:28px;
  color:#8f9498;
  font-size:.78rem;
  line-height:1.55;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.technical-benefit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.technical-benefit{
  position:relative;
  overflow:hidden;
  min-height:390px;
  padding:30px;
  border-radius:24px;
  background:linear-gradient(155deg,#fbfbf8 0%,#f0f0ea 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 20px 44px rgba(0,0,0,.18);
  color:#17181a;
  display:flex;
  flex-direction:column;
}
.technical-benefit:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:4px;
  background:linear-gradient(180deg,var(--orange),rgba(249,111,13,.10));
}
.technical-benefit-wide{
  grid-column:1 / -1;
  min-height:320px;
  display:grid;
  grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);
  grid-template-rows:auto auto 1fr auto;
  column-gap:42px;
  align-items:start;
}
.technical-benefit-wide .technical-metric{grid-row:1 / span 4;align-self:start}
.technical-benefit-wide h3{grid-column:2}
.technical-benefit-wide p,
.technical-benefit-wide .technical-why,
.technical-benefit-wide .technical-use{grid-column:2}
.technical-metric{
  color:var(--orange);
  font-size:clamp(2.25rem,4vw,4.8rem);
  line-height:.9;
  font-weight:950;
  letter-spacing:-.055em;
  margin:2px 0 30px;
}
.technical-benefit h3{
  color:#17181a;
  font-size:1.45rem;
  line-height:1.05;
  margin:0 0 14px;
}
.technical-benefit p{
  color:#4b5054;
  font-size:.94rem;
  line-height:1.62;
  margin:0 0 20px;
}
.technical-why{
  color:#24272a;
  font-size:.88rem;
  line-height:1.55;
  padding-top:18px;
  border-top:1px solid #d9d8d1;
  margin-top:auto;
}
.technical-why strong{
  display:block;
  margin-bottom:5px;
  color:#17181a;
}
.technical-use{
  color:#6b7074;
  font-size:.72rem;
  line-height:1.5;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
  margin-top:18px;
}
.technical-source{
  margin-top:18px;
  padding:18px 22px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  color:#aeb2b5;
  font-size:.78rem;
}
.technical-source a{
  color:#fff;
  font-weight:850;
  white-space:nowrap;
}
@media (max-width:900px){
  .technical-benefit-grid{grid-template-columns:1fr}
  .technical-benefit-wide{
    grid-column:auto;
    display:flex;
    min-height:390px;
  }
  .technical-benefit{min-height:auto}
  .technical-source{align-items:flex-start;flex-direction:column}
}
@media (max-width:600px){
  .technical-benefit{padding:24px;border-radius:20px}
  .technical-metric{font-size:clamp(2.2rem,14vw,3.6rem);margin-bottom:24px}
  .technical-benefit h3{font-size:1.28rem}
  .technical-source{padding:16px 18px}
}



/* === V21: eredeti profilképek + 7 műszaki előny csempe + mobil finomhangolás === */

/* Kapcsolat: eredeti, álló arányú csapatfotók az eredeti CEMROCK oldalról. */
.team-grid .person .photo{
  height:auto !important;
  aspect-ratio:160 / 214 !important;
  background:#e7e7e1;
}
.team-grid .person .photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:none;
}
.team-grid .person{
  box-shadow:0 18px 40px rgba(0,0,0,.14);
  border:1px solid rgba(23,24,26,.10);
}

/* 7 műszaki előny: 3+3+1 elrendezés nagy képernyőn. */
.technical-benefit-grid-seven{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.technical-benefit-grid-seven .technical-benefit{
  min-height:430px;
}
.technical-benefit-grid-seven .technical-benefit:last-child{
  grid-column:2;
}
.technical-label{
  margin:-22px 0 26px;
  color:#73777a;
  font-size:.72rem;
  line-height:1.35;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.technical-benefit .technical-use strong,
.technical-benefit .technical-why strong{
  color:#17181a;
}

/* Reszponzív: tablet. */
@media(max-width:1020px){
  .technical-benefit-grid-seven{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .technical-benefit-grid-seven .technical-benefit:last-child{
    grid-column:auto;
  }
  .team-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* Reszponzív: telefon. */
@media(max-width:680px){
  .container,
  .narrow{
    width:min(calc(100% - 28px),var(--max));
  }
  .section{
    padding:72px 0;
  }
  .page-hero{
    padding:54px 0 48px;
  }
  h1{
    font-size:clamp(2.9rem,15vw,4.8rem);
  }
  h2{
    font-size:clamp(2.25rem,11vw,3.6rem);
  }
  .lead{
    font-size:1.05rem;
  }
  .technical-benefit-grid-seven{
    grid-template-columns:1fr;
  }
  .technical-benefit-grid-seven .technical-benefit,
  .technical-benefit-grid-seven .technical-benefit:last-child{
    grid-column:1;
    min-height:0;
  }
  .technical-benefit{
    padding:24px;
  }
  .technical-metric{
    font-size:clamp(2.45rem,14vw,4rem);
    overflow-wrap:anywhere;
  }
  .technical-label{
    margin:-16px 0 20px;
  }
  .team-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .team-grid .person{
    max-width:430px;
    width:100%;
    margin-inline:auto;
  }
  .contact-grid{
    grid-template-columns:1fr;
  }
  .form-grid{
    grid-template-columns:1fr;
  }
  .field.full{
    grid-column:1;
  }
  .refs-brand-grid{
    grid-template-columns:1fr;
  }
  .refs-brand-grid .card.wide,
  .refs-brand-grid .card.mid,
  .refs-brand-grid .card.small{
    grid-column:1;
    min-height:300px;
  }
}


/* === V22: szolid, kis helyigényű forrásmegjelölések a referenciafotókon === */
/* A forrás marad a képen, de nem takarja ki a fotót és nem kap nagy fekete dobozt. */
.refs-brand-grid .card .meta,
.big-gallery .g .src,
.gallery-item .cap,
.refs-masonry .item .cap,
.media-card .caption{
  left:10px !important;
  right:auto !important;
  bottom:8px !important;
  width:auto !important;
  max-width:calc(100% - 20px) !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
  color:rgba(255,255,255,.82) !important;
  font-size:10px !important;
  line-height:1.2 !important;
  font-weight:600 !important;
  letter-spacing:.01em !important;
  text-shadow:
    0 1px 2px rgba(0,0,0,.95),
    0 0 4px rgba(0,0,0,.72) !important;
  z-index:3;
  pointer-events:auto;
}

/* Csak a forrás szövege maradjon látható, minden korábbi erős címstílus nélkül. */
.refs-brand-grid .card .meta small,
.big-gallery .g .src small,
.gallery-item .cap small,
.refs-masonry .item .cap small,
.media-card .caption small{
  display:inline !important;
  margin:0 !important;
  padding:0 !important;
  color:inherit !important;
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:inherit !important;
  letter-spacing:inherit !important;
}

/* Linkek is visszafogottak; hoverre váljanak egy fokkal olvashatóbbá. */
.refs-brand-grid .card .meta a,
.big-gallery .g .src a,
.gallery-item .cap a,
.refs-masonry .item .cap a,
.media-card .caption a{
  color:rgba(255,255,255,.82) !important;
  text-decoration:none !important;
}
.refs-brand-grid .card .meta a:hover,
.big-gallery .g .src a:hover,
.gallery-item .cap a:hover,
.refs-masonry .item .cap a:hover,
.media-card .caption a:hover{
  color:#fff !important;
  text-decoration:underline !important;
  text-underline-offset:2px;
}

/* Telefonon se nőjön nagyra a forrásfelirat. */
@media(max-width:680px){
  .refs-brand-grid .card .meta,
  .big-gallery .g .src,
  .gallery-item .cap,
  .refs-masonry .item .cap,
  .media-card .caption{
    left:8px !important;
    bottom:6px !important;
    max-width:calc(100% - 16px) !important;
    font-size:9px !important;
    line-height:1.15 !important;
  }
}


/* === V24: kompakt referencia szekciófejlécek === */
.reference-brand-title-row{
  display:flex;
  align-items:baseline;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:18px;
}
.reference-brand-title-row h2{
  margin:0;
}
.reference-brand-inline-link{
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:#c9cbcc;
  font-size:.8rem;
  line-height:1;
  font-weight:750;
  text-decoration:none;
  border-bottom:1px solid rgba(201,203,204,.32);
  padding-bottom:3px;
  transition:.2s ease;
}
.reference-brand-inline-link:hover{
  color:#fff;
  border-color:var(--orange);
}
@media(max-width:680px){
  .reference-brand-title-row{
    gap:10px;
    margin-bottom:14px;
  }
  .reference-brand-inline-link{
    font-size:.76rem;
  }
}


/* === V25: Buñol spanyol gyár videó === */
.factory-video-intro{
  margin-bottom:30px;
}
.factory-video-card{
  border-radius:26px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:#0d0e10;
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}
.factory-video-card .video-shell{
  border-radius:0;
}
.factory-video-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 18px;
  color:#b8bbbd;
  font-size:.78rem;
}
.factory-video-meta a{
  color:#f2f2ee;
  font-weight:750;
}
.factory-video-meta a:hover{
  color:var(--orange);
}
@media(max-width:680px){
  .factory-video-meta{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
    padding:12px 14px;
  }
}


/* === V26: YouTube helyi fájlból is működő videó-előnézet === */
.factory-video-poster{
  position:relative;
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#0d0e10;
}
.factory-video-poster img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease, filter .35s ease;
}
.factory-video-poster:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.34));
}
.factory-video-poster:hover img{
  transform:scale(1.015);
  filter:brightness(.92);
}
.factory-video-play{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:78px;
  height:78px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--orange);
  color:#fff;
  font-size:1.65rem;
  padding-left:4px;
  box-shadow:0 14px 34px rgba(0,0,0,.35);
}
.factory-video-play-label{
  position:absolute;
  z-index:2;
  left:50%;
  top:calc(50% + 60px);
  transform:translateX(-50%);
  color:#fff;
  font-size:.88rem;
  font-weight:800;
  text-shadow:0 2px 8px rgba(0,0,0,.75);
  white-space:nowrap;
}
@media(max-width:680px){
  .factory-video-play{
    width:62px;
    height:62px;
    font-size:1.35rem;
  }
  .factory-video-play-label{
    top:calc(50% + 48px);
    font-size:.8rem;
  }
}


/* === V27: rendezettebb műszaki dokumentum kategóriák === */
.doc-category-section{
  padding:72px 0;
  background:#111214;
}
.doc-category-section + .doc-category-section{
  padding-top:28px;
}
.doc-category-shell{
  position:relative;
  padding:34px;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(145deg,#181a1d 0%,#131416 100%);
  box-shadow:0 24px 70px rgba(0,0,0,.20);
}
.doc-category-bunol .doc-category-shell{
  border-top:4px solid var(--orange);
}
.doc-category-mersin .doc-category-shell{
  border-top:4px solid #d9d9d2;
}
.doc-category-header{
  display:grid;
  grid-template-columns:.38fr 1.62fr;
  gap:34px;
  align-items:end;
  margin-bottom:28px;
}
.doc-category-kicker .eyebrow{
  margin-bottom:12px;
}
.doc-country-pill{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  color:#bfc2c4;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.doc-category-title h2{
  margin:0 0 8px;
  color:#f6f6f2;
  font-size:clamp(2.5rem,4.8vw,5rem);
}
.doc-product-line{
  margin:0;
  color:#d5d7d8 !important;
  font-size:clamp(1rem,1.5vw,1.25rem);
}
.doc-product-line strong{
  color:#fff;
  font-weight:850;
}
.doc-product-line span:last-child{
  color:#b8bbbd;
}
.doc-category-grid{
  margin-top:4px;
}
.doc-category-section .doc-card{
  min-height:92px;
  background:#f7f7f4;
  border-color:#e0e0da;
}
.doc-category-section .doc-card:hover{
  transform:translateY(-2px);
  border-color:#b9bbb6;
}
.doc-category-section .doc-card .doc-main b{
  color:#ffffff;
}
.doc-category-section .doc-card .doc-main span{
  color:#d2d8dd;
}
.doc-category-section .doc-type{
  background:#ecece6;
}
.doc-category-mersin{
  padding-bottom:88px;
}
.doc-category-mersin .doc-category-shell{
  background:linear-gradient(145deg,#1e2023 0%,#151719 100%);
}
@media(max-width:860px){
  .doc-category-header{
    grid-template-columns:1fr;
    gap:14px;
  }
  .doc-category-shell{
    padding:26px;
  }
}
@media(max-width:680px){
  .doc-category-section{
    padding:44px 0;
  }
  .doc-category-section + .doc-category-section{
    padding-top:14px;
  }
  .doc-category-shell{
    padding:20px;
    border-radius:22px;
  }
  .doc-category-title h2{
    font-size:clamp(2.1rem,12vw,3.3rem);
  }
  .docs-grid.doc-category-grid{
    grid-template-columns:1fr;
  }
}


/* === V28: minden YouTube-beágyazás helyett stabil előnézeti kártya === */
.factory-video-poster{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:22px;
  background:#0d0e10;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
}
.factory-video-poster img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:brightness(.82);
  transition:transform .3s ease, filter .3s ease;
}
.factory-video-poster:hover img{
  transform:scale(1.015);
  filter:brightness(.72);
}
.factory-video-poster:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.34));
}
.factory-video-play{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:76px;
  height:76px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--orange);
  color:#fff;
  font-size:1.6rem;
  padding-left:4px;
  box-shadow:0 14px 34px rgba(0,0,0,.38);
}
.factory-video-play-label{
  position:absolute;
  z-index:2;
  left:50%;
  top:calc(50% + 58px);
  transform:translateX(-50%);
  color:#fff;
  font-size:.88rem;
  font-weight:850;
  text-shadow:0 2px 8px rgba(0,0,0,.8);
  white-space:nowrap;
}
@media(max-width:680px){
  .factory-video-poster{border-radius:16px}
  .factory-video-play{
    width:60px;
    height:60px;
    font-size:1.3rem;
  }
  .factory-video-play-label{
    top:calc(50% + 46px);
    font-size:.78rem;
  }
}


/* === V30: prémium 3D cementzsák packshot – egyszeri berobbanó animáció === */
.packshot-3d{
  position:relative !important;
  isolation:isolate;
  display:grid !important;
  place-items:center;
  min-height:420px;
  overflow:visible !important;
  perspective:1400px;
  background:transparent !important;
}
.packshot-3d:before,
.packshot-3d:after{
  content:none !important;
}
.packshot-3d .packshot-glow{
  position:absolute;
  z-index:0;
  width:min(78%,360px);
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 46%,
      rgba(249,111,13,.28) 0 12%,
      rgba(249,111,13,.13) 35%,
      rgba(249,111,13,.035) 58%,
      transparent 72%);
  filter:blur(10px);
  opacity:0;
  transform:scale(.65);
  animation:packGlowIn 1.15s cubic-bezier(.18,.9,.18,1) .06s forwards;
}
.packshot-3d .packshot-orbit{
  position:absolute;
  z-index:1;
  width:min(76%,350px);
  aspect-ratio:1;
  border-radius:50%;
  border:1px solid rgba(249,111,13,.18);
  box-shadow:
    inset 0 0 42px rgba(249,111,13,.05),
    0 0 54px rgba(249,111,13,.045);
  opacity:0;
  transform:rotateX(68deg) rotateZ(-12deg) scale(.55);
  animation:packOrbitIn 1.05s cubic-bezier(.18,.9,.18,1) .16s forwards;
}
.packshot-3d .packshot-floor{
  position:absolute;
  z-index:1;
  bottom:9%;
  left:50%;
  width:min(58%,260px);
  height:38px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.46) 0%,rgba(0,0,0,.20) 48%,transparent 72%);
  filter:blur(10px);
  opacity:0;
  transform:translateX(-50%) scale(.45);
  animation:packFloorIn 1.1s cubic-bezier(.18,.9,.18,1) .08s forwards;
}
.packshot-3d .packshot-bag{
  position:relative !important;
  z-index:3;
  width:auto !important;
  max-width:min(70%,310px) !important;
  max-height:390px !important;
  height:auto !important;
  object-fit:contain !important;
  background:transparent !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  opacity:0;
  transform-origin:50% 78%;
  transform:translate3d(0,64px,0) scale(.62) rotateX(14deg) rotateY(-24deg) rotateZ(-4deg);
  filter:blur(6px) drop-shadow(0 10px 14px rgba(0,0,0,.14));
  animation:packBagIn 1.26s cubic-bezier(.16,.92,.22,1.05) .08s forwards;
  will-change:transform,opacity,filter;
}
.packshot-bunol .packshot-bag{
  max-width:min(76%,340px) !important;
}
.packshot-mersin .packshot-bag{
  max-width:min(61%,270px) !important;
}

/* az első "durranás" után minden elem nyugalomban marad */
@keyframes packBagIn{
  0%{
    opacity:0;
    transform:translate3d(0,68px,0) scale(.58) rotateX(15deg) rotateY(-26deg) rotateZ(-5deg);
    filter:blur(7px) drop-shadow(0 8px 12px rgba(0,0,0,.10));
  }
  42%{
    opacity:1;
    transform:translate3d(0,-14px,0) scale(1.055) rotateX(-2deg) rotateY(7deg) rotateZ(1deg);
    filter:blur(0) drop-shadow(0 30px 34px rgba(0,0,0,.27));
  }
  68%{
    transform:translate3d(0,5px,0) scale(.992) rotateX(1deg) rotateY(-2deg) rotateZ(-.4deg);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1) rotateX(0) rotateY(0) rotateZ(0);
    filter:blur(0) drop-shadow(0 25px 28px rgba(0,0,0,.24));
  }
}
@keyframes packGlowIn{
  0%{opacity:0;transform:scale(.52)}
  48%{opacity:1;transform:scale(1.08)}
  100%{opacity:.72;transform:scale(1)}
}
@keyframes packOrbitIn{
  0%{opacity:0;transform:rotateX(68deg) rotateZ(-35deg) scale(.5)}
  58%{opacity:.75;transform:rotateX(68deg) rotateZ(8deg) scale(1.04)}
  100%{opacity:.36;transform:rotateX(68deg) rotateZ(-5deg) scale(1)}
}
@keyframes packFloorIn{
  0%{opacity:0;transform:translateX(-50%) scale(.38)}
  52%{opacity:.75;transform:translateX(-50%) scale(1.08)}
  100%{opacity:.62;transform:translateX(-50%) scale(1)}
}

/* desktopon csak nagyon finom hover, folyamatos animáció nélkül */
@media(hover:hover){
  .packshot-3d:hover .packshot-bag{
    transition:transform .32s ease,filter .32s ease;
    transform:translate3d(0,-4px,0) rotateY(2.5deg);
    filter:drop-shadow(0 30px 34px rgba(0,0,0,.27));
  }
}

/* főoldal / terméklista packshotok legyenek levegősebbek és ne legyen háttérkocka */
.product-visual.packshot-3d{
  min-height:330px;
}
.product-visual.packshot-3d img{
  width:auto !important;
  height:auto !important;
}

/* forrásmegjelölés a Buñol hero-ban ne zavarja a packshotot */
.product-hero-img.packshot-3d .source-note{
  left:50%;
  transform:translateX(-50%);
  bottom:-12px !important;
  color:#8e9295 !important;
  font-size:.65rem !important;
  white-space:nowrap;
}

@media(max-width:680px){
  .packshot-3d{min-height:320px}
  .product-visual.packshot-3d{min-height:280px}
  .packshot-3d .packshot-bag{max-height:300px !important}
  .packshot-bunol .packshot-bag{max-width:78% !important}
  .packshot-mersin .packshot-bag{max-width:64% !important}
  .packshot-3d .packshot-floor{bottom:7%}
}
@media(prefers-reduced-motion:reduce){
  .packshot-3d .packshot-bag,
  .packshot-3d .packshot-glow,
  .packshot-3d .packshot-orbit,
  .packshot-3d .packshot-floor{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}



/* === V31: hangsúlyos nagy volumenű rendelési callout a Kapcsolat oldalon === */
.section-bulk-order .container{
  max-width: 1240px;
}
.bulk-callout{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(280px,.95fr);
  gap:32px;
  align-items:stretch;
  padding:38px;
  border-radius:28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.012)),
    radial-gradient(circle at 88% 20%, rgba(249,111,13,.11), transparent 34%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.05),
    0 18px 60px rgba(0,0,0,.18);
}
.bulk-callout__content h2{
  margin:10px 0 16px;
  max-width:12ch;
}
.bulk-callout__lead{
  margin:0;
  font-size:1.28rem;
  line-height:1.55;
  color:rgba(255,255,255,.94);
  max-width:40rem;
}
.bulk-callout__lead strong{
  color:#ffffff;
  font-weight:800;
}
.bulk-callout__sub{
  margin:16px 0 0;
  color:rgba(255,255,255,.66);
  font-size:1rem;
  line-height:1.7;
  max-width:42rem;
}
.bulk-callout__chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.bulk-callout__chips span{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.09);
  color:rgba(255,255,255,.84);
  font-size:.93rem;
  line-height:1;
  letter-spacing:.01em;
}
.bulk-callout__side{
  display:flex;
}
.bulk-emphasis{
  width:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:12px;
  min-height:100%;
  padding:24px 24px 24px 26px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  border:1px solid rgba(249,111,13,.18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}
.bulk-emphasis__eyebrow{
  color:var(--accent-color, #f96f0d);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.76rem;
  font-weight:800;
}
.bulk-emphasis strong{
  display:block;
  color:#fff;
  font-size:1.26rem;
  line-height:1.25;
}
.bulk-emphasis small{
  display:block;
  color:rgba(255,255,255,.68);
  font-size:.98rem;
  line-height:1.55;
}
@media (max-width: 900px){
  .bulk-callout{
    grid-template-columns:1fr;
    padding:26px;
    gap:20px;
  }
  .bulk-callout__content h2{
    max-width:none;
  }
  .bulk-callout__lead{
    font-size:1.12rem;
  }
}
@media (max-width: 560px){
  .bulk-callout{
    padding:22px 18px;
    border-radius:22px;
  }
  .bulk-callout__chips span{
    font-size:.84rem;
    padding:9px 12px;
  }
  .bulk-emphasis strong{
    font-size:1.08rem;
  }
}


/* === V32: prémium motion + innovatív vizuális finomhangolás === */

/* Finom oldalbetöltési átmenet */
body{
  opacity:0;
  transform:translateY(6px);
  transition:opacity .42s ease, transform .42s ease;
}
body.page-ready{
  opacity:1;
  transform:none;
}
body.page-leaving{
  opacity:0;
  transform:translateY(-4px);
}

/* Diszkrét scroll progress a fejléc tetején */
.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  z-index:9999;
  height:2px;
  width:100%;
  transform-origin:left center;
  transform:scaleX(0);
  background:linear-gradient(90deg,var(--orange),#ff9d4d);
  box-shadow:0 0 12px rgba(249,111,13,.35);
  pointer-events:none;
}

/* Finom grain – texturáltabb, prémiumabb ipari érzet */
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:9998;
  opacity:.025;
  mix-blend-mode:soft-light;
  background-image:
    radial-gradient(circle at 20% 20%,rgba(255,255,255,.8) 0 .5px,transparent .7px),
    radial-gradient(circle at 70% 30%,rgba(255,255,255,.6) 0 .45px,transparent .65px);
  background-size:7px 7px,9px 9px;
}

/* Hero: egyszeri, maszkolt beérkezés */
.page-hero .eyebrow,
.hero .eyebrow,
.product-hero .eyebrow{
  opacity:0;
  transform:translateY(14px);
}
.page-hero h1,
.hero h1,
.hero .display,
.product-hero h1{
  opacity:0;
  transform:translateY(30px) scale(.985);
  filter:blur(4px);
}
.page-hero .lead,
.hero .lead,
.product-hero .lead,
.hero-meta{
  opacity:0;
  transform:translateY(18px);
}
body.page-ready .page-hero .eyebrow,
body.page-ready .hero .eyebrow,
body.page-ready .product-hero .eyebrow{
  animation:v32FadeUp .55s cubic-bezier(.2,.8,.2,1) .06s forwards;
}
body.page-ready .page-hero h1,
body.page-ready .hero h1,
body.page-ready .hero .display,
body.page-ready .product-hero h1{
  animation:v32HeroTitle .9s cubic-bezier(.16,.9,.2,1) .14s forwards;
}
body.page-ready .page-hero .lead,
body.page-ready .hero .lead,
body.page-ready .product-hero .lead,
body.page-ready .hero-meta{
  animation:v32FadeUp .7s cubic-bezier(.2,.8,.2,1) .34s forwards;
}

@keyframes v32FadeUp{
  to{opacity:1;transform:none}
}
@keyframes v32HeroTitle{
  0%{opacity:0;transform:translateY(30px) scale(.985);filter:blur(5px)}
  70%{opacity:1;transform:translateY(-2px) scale(1.004);filter:blur(0)}
  100%{opacity:1;transform:none;filter:blur(0)}
}

/* Címek és kártyák: egyszeri scroll-reveal */
.motion-reveal{
  opacity:0;
  transform:translateY(30px);
  filter:blur(2px);
  transition:
    opacity .72s cubic-bezier(.2,.8,.2,1),
    transform .72s cubic-bezier(.2,.8,.2,1),
    filter .72s ease;
  transition-delay:var(--motion-delay,0ms);
}
.motion-reveal.is-visible{
  opacity:1;
  transform:none;
  filter:none;
}

.motion-scale{
  opacity:0;
  transform:translateY(24px) scale(.975);
  transition:
    opacity .68s cubic-bezier(.2,.8,.2,1),
    transform .68s cubic-bezier(.2,.8,.2,1);
  transition-delay:var(--motion-delay,0ms);
}
.motion-scale.is-visible{
  opacity:1;
  transform:none;
}

/* Címsor alatti narancs accent, ami egyszer "végigfut" */
.motion-heading{
  position:relative;
}
.motion-heading:after{
  content:"";
  display:block;
  width:min(110px,22vw);
  height:3px;
  margin-top:18px;
  background:linear-gradient(90deg,var(--orange),rgba(249,111,13,0));
  transform:scaleX(0);
  transform-origin:left center;
  opacity:.9;
}
.motion-heading.is-visible:after{
  animation:v32LineSweep .8s cubic-bezier(.2,.8,.2,1) .16s forwards;
}
@keyframes v32LineSweep{
  to{transform:scaleX(1)}
}

/* Kártyák: finom prémium hover, nem bazári */
.doc-card,
.inspiration,
.person,
.refcat,
.technical-benefit,
.bulk-callout,
.product-card{
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}
@media(hover:hover){
  .doc-card:hover,
  .inspiration:hover,
  .refcat:hover,
  .technical-benefit:hover,
  .product-card:hover{
    transform:translateY(-5px);
    box-shadow:0 22px 50px rgba(0,0,0,.16);
  }
}

/* Referenciák: finom zoom csak hoverre */
.refs-brand-grid .card img,
.gallery-item img,
.big-gallery .g img,
.refs-masonry .item img{
  transition:transform .55s cubic-bezier(.2,.8,.2,1), filter .45s ease;
  transform:scale(1.01);
}
@media(hover:hover){
  .refs-brand-grid .card:hover img,
  .gallery-item:hover img,
  .big-gallery .g:hover img,
  .refs-masonry .item:hover img{
    transform:scale(1.045);
    filter:contrast(1.03) saturate(1.02);
  }
}

/* Gombok: finom fénycsík hoverre */
.btn,
.nav-cta{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.btn:before,
.nav-cta:before{
  content:"";
  position:absolute;
  top:-40%;
  bottom:-40%;
  width:34%;
  left:-50%;
  transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transition:left .55s ease;
  z-index:-1;
}
@media(hover:hover){
  .btn:hover:before,
  .nav-cta:hover:before{
    left:120%;
  }
}

/* Fejléc: elegánsabb "shrink" scrollnál */
.header{
  transition:background .3s ease, box-shadow .3s ease, transform .3s ease;
}
.header.header-scrolled{
  background:rgba(17,18,20,.97);
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.header.header-scrolled .nav{
  height:68px;
}

/* CTA blokkok: egyszeri narancs "energia" belépés */
.cta-band,
.section-bulk-order{
  position:relative;
  overflow:hidden;
}
.cta-band:after,
.section-bulk-order:after{
  content:"";
  position:absolute;
  top:-30%;
  bottom:-30%;
  width:18%;
  left:-25%;
  background:linear-gradient(90deg,transparent,rgba(249,111,13,.16),transparent);
  transform:skewX(-18deg);
  pointer-events:none;
  opacity:0;
}
.cta-band.motion-pulse:after,
.section-bulk-order.motion-pulse:after{
  animation:v32EnergySweep 1.2s ease-out .15s 1 forwards;
}
@keyframes v32EnergySweep{
  0%{left:-25%;opacity:0}
  15%{opacity:1}
  100%{left:115%;opacity:0}
}

/* Műszaki előny csempék: számérték enyhén "felvillan" beérkezéskor */
.technical-benefit.is-visible .technical-metric{
  animation:v32MetricPop .62s cubic-bezier(.2,.9,.2,1) .12s both;
}
@keyframes v32MetricPop{
  0%{transform:scale(.92);opacity:.45}
  60%{transform:scale(1.035);opacity:1}
  100%{transform:scale(1)}
}

/* Műszaki dokumentum kategória blokkok: jobb vizuális szeparáció */
.doc-category-shell{
  overflow:hidden;
}
.doc-category-shell:before{
  content:"";
  position:absolute;
  inset:auto auto -36% -12%;
  width:48%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(249,111,13,.10),transparent 70%);
  pointer-events:none;
  opacity:.55;
}
.doc-category-mersin .doc-category-shell:before{
  left:auto;
  right:-14%;
  background:radial-gradient(circle,rgba(255,255,255,.07),transparent 70%);
}

/* Mobilon kevesebb mozgás, gyorsabb animáció */
@media(max-width:680px){
  .motion-reveal,
  .motion-scale{
    transform:translateY(18px);
    transition-duration:.55s;
  }
  body:before{opacity:.015}
}

/* Akadálymentesség: reduced motion esetén minden stabil */
@media(prefers-reduced-motion:reduce){
  *,
  *:before,
  *:after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
  body,
  .motion-reveal,
  .motion-scale,
  .page-hero .eyebrow,
  .hero .eyebrow,
  .product-hero .eyebrow,
  .page-hero h1,
  .hero h1,
  .hero .display,
  .product-hero h1,
  .page-hero .lead,
  .hero .lead,
  .product-hero .lead,
  .hero-meta{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}



/* === V33: kontrasztjavítás – nagy volumenű rendelés blokk === */
.section-bulk-order,
.bulk-order-panel,
.bulk-order-card{
  position:relative;
  isolation:isolate;
}

.section-bulk-order::before,
.bulk-order-panel::before,
.bulk-order-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    linear-gradient(180deg, rgba(6,8,12,.82) 0%, rgba(10,12,18,.74) 100%),
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.03), transparent 42%);
  pointer-events:none;
  z-index:0;
}

.section-bulk-order > *,
.bulk-order-panel > *,
.bulk-order-card > *{
  position:relative;
  z-index:1;
}

.section-bulk-order h2,
.section-bulk-order h3,
.bulk-order-panel h2,
.bulk-order-panel h3,
.bulk-order-card h2,
.bulk-order-card h3{
  color:#f5f3ef !important;
  text-shadow:0 2px 18px rgba(0,0,0,.22);
  letter-spacing:-0.03em;
}

.section-bulk-order p,
.section-bulk-order li,
.bulk-order-panel p,
.bulk-order-panel li,
.bulk-order-card p,
.bulk-order-card li{
  color:rgba(245,243,239,.92) !important;
}

.section-bulk-order strong,
.bulk-order-panel strong,
.bulk-order-card strong{
  color:#ffffff !important;
}

.section-bulk-order .eyebrow,
.bulk-order-panel .eyebrow,
.bulk-order-card .eyebrow{
  color:var(--orange) !important;
}

.section-bulk-order .bulk-callout,
.bulk-order-panel .bulk-callout,
.bulk-order-card .bulk-callout{
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(249,111,13,.28);
  box-shadow:0 14px 34px rgba(0,0,0,.16);
}

.section-bulk-order .bulk-callout p,
.bulk-order-panel .bulk-callout p,
.bulk-order-card .bulk-callout p{
  color:rgba(245,243,239,.9) !important;
}

@media (max-width: 900px){
  .section-bulk-order h2,
  .bulk-order-panel h2,
  .bulk-order-card h2{
    color:#faf8f3 !important;
  }
}




/* === V34: globális kontraszt-passz sötét blokkokhoz === */

/* Alap sötét szekciók: minden normál szöveg legyen kontrasztos. */
.section-dark,
.section-charcoal,
.page-hero,
.product-hero,
.hero,
.doc-category-section,
.section-bulk-order,
.footer{
  color:#f5f5f2;
}

.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-charcoal h1,
.section-charcoal h2,
.section-charcoal h3,
.page-hero h1,
.page-hero h2,
.product-hero h1,
.product-hero h2,
.hero h1,
.hero h2,
.doc-category-section h1,
.doc-category-section h2,
.doc-category-section h3,
.section-bulk-order h1,
.section-bulk-order h2,
.section-bulk-order h3,
.footer h1,
.footer h2,
.footer h3{
  color:#f7f7f3 !important;
}

.section-dark p,
.section-charcoal p,
.page-hero p,
.product-hero p,
.hero p,
.doc-category-section p,
.section-bulk-order p,
.footer p{
  color:#d8dadb !important;
}

.section-dark .lead,
.section-charcoal .lead,
.page-hero .lead,
.product-hero .lead,
.hero .lead,
.doc-category-section .lead,
.section-bulk-order .lead{
  color:#e5e7e8 !important;
}

.section-dark .muted,
.section-charcoal .muted,
.page-hero .muted,
.product-hero .muted,
.hero .muted,
.doc-category-section .muted,
.section-bulk-order .muted,
.footer .muted{
  color:#b9bdc0 !important;
}

/* Sötét felületen a kis címkék se vesszenek el. */
.section-dark .label,
.section-charcoal .label,
.page-hero .label,
.product-hero .label,
.hero .label,
.doc-category-section .label,
.section-bulk-order .label{
  color:#d9dbdc !important;
}

.section-dark .eyebrow,
.section-charcoal .eyebrow,
.page-hero .eyebrow,
.product-hero .eyebrow,
.hero .eyebrow,
.doc-category-section .eyebrow,
.section-bulk-order .eyebrow{
  color:var(--orange) !important;
}

/* Linkek és segédszövegek sötét részeken. */
.section-dark a:not(.btn):not(.nav-cta),
.section-charcoal a:not(.btn):not(.nav-cta),
.page-hero a:not(.btn):not(.nav-cta),
.product-hero a:not(.btn):not(.nav-cta),
.doc-category-section a:not(.btn):not(.doc-card),
.section-bulk-order a:not(.btn),
.footer a{
  color:#f0f1f1;
}

.footer p,
.footer a{
  color:#c9ccce !important;
}
.footer h4{
  color:#aeb2b5 !important;
}
.footer-bottom{
  color:#a7aaad !important;
}

/* Sötét szekcióba tett világos kártyák: explicit sötét szöveg. */
.section-dark .content-card,
.section-charcoal .content-card,
.section-dark .inspiration,
.section-charcoal .inspiration,
.section-dark .doc-card,
.section-charcoal .doc-card,
.section-dark .technical-benefit,
.section-charcoal .technical-benefit,
.doc-category-section .doc-card{
  color:#17181a !important;
}

.section-dark .content-card h2,
.section-dark .content-card h3,
.section-charcoal .content-card h2,
.section-charcoal .content-card h3,
.section-dark .inspiration h3,
.section-charcoal .inspiration h3,
.section-dark .doc-card b,
.section-charcoal .doc-card b,
.section-dark .technical-benefit h3,
.section-charcoal .technical-benefit h3,
.doc-category-section .doc-card b{
  color:#ffffff !important;
}

.section-dark .content-card p,
.section-charcoal .content-card p,
.section-dark .inspiration p,
.section-charcoal .inspiration p,
.section-dark .doc-card span,
.section-charcoal .doc-card span,
.section-dark .technical-benefit p,
.section-charcoal .technical-benefit p,
.doc-category-section .doc-card span{
  color:#d2d8dd !important;
}

/* Sötét infópanelek és metrikák. */
.technical-source,
.contact-info,
.bulk-emphasis{
  color:#f5f5f2;
}
.technical-source span,
.contact-info .row,
.bulk-emphasis small{
  color:#cfd2d4 !important;
}
.contact-info .row span{
  color:#b8bdc0 !important;
}
.contact-info .row strong,
.contact-info .row a,
.bulk-emphasis strong{
  color:#fff !important;
}

/* Táblázatok: mindig nagy kontraszt világos háttéren. */
.table-wrap,
.table-wrap table,
.table-wrap th,
.table-wrap td{
  color:#202225 !important;
}
.table-wrap th{
  color:#42474a !important;
}
.table-wrap td{
  color:#2d3033 !important;
}
.table-wrap td strong{
  color:#111214 !important;
}

/* Gombok: sötét háttéren ne legyen szürke-szürke kombináció. */
.section-dark .btn-ghost,
.section-charcoal .btn-ghost,
.page-hero .btn-ghost,
.product-hero .btn-ghost,
.hero .btn-ghost,
.section-bulk-order .btn-ghost{
  color:#f6f6f2 !important;
  border-color:rgba(255,255,255,.48) !important;
}
.section-dark .btn-ghost:hover,
.section-charcoal .btn-ghost:hover,
.page-hero .btn-ghost:hover,
.product-hero .btn-ghost:hover,
.hero .btn-ghost:hover,
.section-bulk-order .btn-ghost:hover{
  color:#fff !important;
  border-color:#fff !important;
}

/* Referencia- és képfeliratok: diszkrétek, de olvashatók. */
.refs-brand-grid .card .meta,
.big-gallery .g .src,
.gallery-item .cap,
.refs-masonry .item .cap,
.media-card .caption{
  color:rgba(255,255,255,.90) !important;
  text-shadow:
    0 1px 2px rgba(0,0,0,.98),
    0 0 5px rgba(0,0,0,.78) !important;
}

/* Mobilon különösen fontos a minimális kontraszt. */
@media(max-width:680px){
  .section-dark p,
  .section-charcoal p,
  .page-hero p,
  .product-hero p,
  .hero p,
  .doc-category-section p,
  .section-bulk-order p{
    color:#e0e2e3 !important;
  }
  .section-dark .muted,
  .section-charcoal .muted,
  .page-hero .muted,
  .product-hero .muted,
  .hero .muted{
    color:#c4c7c9 !important;
  }
}




/* === V35: prémium hierarchia + döntéstámogató tartalom === */

/* Főoldali hero: valamivel fókuszáltabb és elegánsabb */
.hero.hero-expanded .hero-copy{
  max-width:780px;
  font-size:clamp(1.05rem,1.6vw,1.35rem);
  line-height:1.62;
}
.hero.hero-expanded .hero-actions{
  margin-top:28px;
}
.hero.hero-expanded .hero-meta{
  margin-top:30px;
}

/* Gyors termék-összehasonlítás */
.quick-compare{
  margin-top:28px;
  border:1px solid rgba(23,24,26,.12);
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(180deg,#fbfbf8,#f0f0eb);
  color:#17181a;
  box-shadow:0 20px 50px rgba(0,0,0,.08);
}
.quick-compare__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:18px 20px;
  border-bottom:1px solid #dadbd6;
}
.quick-compare__head span{
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#656a6d;
}
.quick-compare__head a{
  color:#17181a;
  font-size:.82rem;
  font-weight:800;
}
.quick-compare__grid{
  display:grid;
  grid-template-columns:.8fr 1fr 1fr;
}
.quick-compare__grid > div{
  min-height:74px;
  padding:16px 18px;
  border-right:1px solid #e1e1dc;
  border-bottom:1px solid #e1e1dc;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
}
.quick-compare__grid > div:nth-child(3n){
  border-right:0;
}
.quick-compare__label{
  background:#ecece6;
  color:#5b6064;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.quick-compare__value{
  color:#34383b;
  font-size:.92rem;
  line-height:1.45;
}
.quick-compare__value strong{
  color:#17181a;
  font-size:1rem;
}
.quick-compare__value span{
  color:#62666a;
  font-size:.78rem;
}

/* Felhasználási kártyák: iparági routing érzet */
.use-grid .use-card{
  position:relative;
  min-height:220px;
  padding:26px;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  overflow:hidden;
}
.use-grid .use-card:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:3px;
  transform:scaleX(0);
  transform-origin:left;
  background:linear-gradient(90deg,var(--orange),transparent);
  transition:transform .32s ease;
}
@media(hover:hover){
  .use-grid .use-card:hover:after{transform:scaleX(1)}
}
.use-grid .use-card h3{margin-top:auto}

/* Rólunk bizonyító sáv */
.proof-section{
  padding-top:24px;
  padding-bottom:24px;
}
.proof-strip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1px;
  overflow:hidden;
  border-radius:24px;
  border:1px solid #dadbd6;
  background:#dadbd6;
}
.proof-item{
  min-height:160px;
  padding:24px 20px;
  background:#f7f7f3;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.proof-item strong{
  color:#17181a;
  font-size:clamp(1.45rem,2.2vw,2.4rem);
  line-height:1;
  letter-spacing:-.04em;
}
.proof-item span{
  margin-top:10px;
  color:#5a5f62;
  font-size:.82rem;
  line-height:1.45;
}

/* Dokumentumtár státusz */
.doc-status{
  display:inline-flex;
  align-self:flex-start;
  margin-top:8px;
  padding:4px 7px;
  border-radius:999px;
  background:#ecece6;
  color:#606569 !important;
  font-size:.62rem !important;
  line-height:1 !important;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Tipográfiai finomhangolás */
.section p,
.page-hero p,
.product-hero p{
  max-width:68ch;
}
.section .lead{
  line-height:1.62;
}
.section h2{
  text-wrap:balance;
}

/* Mobil: ne csak összenyomott desktop legyen */
@media(max-width:860px){
  .quick-compare__grid{
    grid-template-columns:.72fr 1fr 1fr;
  }
  .proof-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .proof-item:last-child{
    grid-column:1/-1;
  }
}
@media(max-width:680px){
  .hero.hero-expanded .hero-copy{
    font-size:1rem;
  }
  .hero.hero-expanded .hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .hero.hero-expanded .hero-actions .btn{
    width:100%;
    justify-content:center;
  }
  .quick-compare{
    border-radius:18px;
  }
  .quick-compare__head{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }
  .quick-compare__grid{
    grid-template-columns:1fr;
  }
  .quick-compare__grid > div{
    border-right:0;
  }
  .quick-compare__label{
    min-height:auto;
    padding:10px 15px;
  }
  .quick-compare__value{
    min-height:auto;
  }
  .proof-strip{
    grid-template-columns:1fr;
  }
  .proof-item:last-child{
    grid-column:auto;
  }
  .proof-item{
    min-height:130px;
  }
}




/* === V36: teljes finomhangolás – ritmus, tipográfia, ellátás, logo, látszóbeton háttér === */

/* Kevesebb üres tér, de továbbra is prémium ritmus */
.section{padding:clamp(70px,7vw,92px) 0 !important}
.section-sm{padding:clamp(48px,5vw,64px) 0 !important}
.page-hero{padding:clamp(64px,6vw,78px) 0 clamp(52px,5vw,66px) !important}
.product-hero{padding:clamp(60px,6vw,74px) 0 !important}
.cta-band{padding:clamp(56px,6vw,72px) 0 !important}
.intro-grid,.two-col{gap:clamp(32px,4vw,52px) !important}
.stats{margin-top:34px !important}
.timeline{margin-top:26px !important}
.proof-section{padding-top:16px !important;padding-bottom:16px !important}
.doc-category-section{padding:52px 0 !important}
.doc-category-section + .doc-category-section{padding-top:18px !important}

/* Nagy címek ne csússzanak össze: rendezett, designos tördelés */
.display,h1,h2,h3,.hero-title{
  text-wrap:balance;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
.display{line-height:.91 !important;letter-spacing:-.052em !important}
h1{line-height:.94 !important;letter-spacing:-.050em !important}
h2{line-height:.99 !important;letter-spacing:-.043em !important}
h3{line-height:1.08 !important;letter-spacing:-.030em !important}
.hero-title{
  line-height:.91 !important;
  letter-spacing:-.055em !important;
  max-width:1120px;
}
.page-hero h1,.product-hero h1{max-width:1080px}
.section h2{max-width:17ch}
.intro-grid > div:last-child h2,
.two-col > div:first-child h2,
.content-card h2,
.doc-category-title h2,
.bulk-callout__content h2{
  max-width:19ch;
}

/* Bekezdések kompaktabbak és könnyebben olvashatók */
p{margin:.28em 0 .78em}
.lead{line-height:1.56 !important}
.section .muted{line-height:1.62}
.hero-copy{margin-top:20px !important}
.hero-actions{margin-top:24px !important}
.hero-meta{margin-top:22px !important}

/* Kártyák közti tér */
.products-grid,.use-grid,.docs-grid,.team-grid,.technical-benefit-grid,.refs-brand-grid{
  gap:14px !important;
}

/* Biztos ellátási lánc – külön, jól olvasható másodlagos állítás */
.supply-note{
  margin-top:16px !important;
  max-width:66ch;
  color:#cfd3d5 !important;
  font-size:1rem;
  line-height:1.66;
}
.supply-note:before{
  content:"";
  display:inline-block;
  width:28px;
  height:2px;
  margin:0 10px 4px 0;
  background:var(--orange);
  vertical-align:middle;
}

/* A megtisztított logo használata: semmi maradék háttérelem */
.header .brand img,
.footer-logo{
  object-fit:contain;
  filter:none !important;
}
.footer-logo{
  max-height:86px;
  width:auto !important;
}

/* Látszóbeton háttér a termékes szekcióknál */
.section-products-concrete{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(180deg,rgba(17,18,20,.72),rgba(17,18,20,.83)),
    url("../img/cemrock-concrete-texture.jpg") center/cover fixed !important;
  color:#f5f5f2 !important;
  overflow:hidden;
}
.section-products-concrete:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.045),transparent 34%),
    radial-gradient(circle at 82% 74%,rgba(249,111,13,.055),transparent 28%);
}
.section-products-concrete .eyebrow{color:var(--orange) !important}
.section-products-concrete h2{color:#f7f7f3 !important}
.section-products-concrete .lead{color:#d9dcde !important}

/* A termékkártyák kapjanak tisztább, prémium térbeli elkülönítést a beton háttéren */
.section-products-concrete .product-card{
  box-shadow:
    0 24px 70px rgba(0,0,0,.24),
    0 1px 0 rgba(255,255,255,.08) inset;
  border:1px solid rgba(255,255,255,.10);
}
.section-products-concrete .quick-compare{
  box-shadow:0 26px 70px rgba(0,0,0,.22);
}

/* Mobilon ne legyen fixed háttér, és még kompaktabb legyen */
@media(max-width:680px){
  .section{padding:58px 0 !important}
  .page-hero{padding:52px 0 46px !important}
  h1{line-height:.98 !important}
  h2{line-height:1.02 !important}
  .section h2{max-width:none}
  .section-products-concrete{
    background:
      linear-gradient(180deg,rgba(17,18,20,.75),rgba(17,18,20,.86)),
      url("../img/cemrock-concrete-texture.jpg") center/cover !important;
  }
}



/* === V37: globális látszóbeton háttér + kompaktabb Kapcsolat szekció === */
html{
  background:#0f1012;
}
body{
  position:relative;
  background:#0f1012 !important;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(180deg, rgba(10,11,13,.78), rgba(12,13,15,.88)),
    radial-gradient(circle at 18% 16%, rgba(255,255,255,.045), transparent 34%),
    radial-gradient(circle at 78% 24%, rgba(249,111,13,.06), transparent 22%),
    radial-gradient(circle at 70% 78%, rgba(255,255,255,.03), transparent 26%),
    url("../img/cemrock-concrete-texture.jpg") center/cover fixed;
  filter:contrast(1.06) brightness(.88) saturate(.9);
  transform:scale(1.02);
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(115deg, rgba(255,255,255,.028) 0%, rgba(255,255,255,0) 22%, rgba(255,255,255,.018) 46%, rgba(255,255,255,0) 68%),
    linear-gradient(90deg, rgba(0,0,0,.22), rgba(0,0,0,0) 20%, rgba(0,0,0,.16) 100%);
  mix-blend-mode:screen;
  opacity:.4;
}

.header{
  background:rgba(14,15,17,.86) !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.mobile-menu,
.contact-info,
.section-dark,
.section-charcoal{
  background-color:rgba(23,24,26,.84) !important;
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}

/* A home/hangsúlyos sötét blokkok ne "lyukadjanak át" sima feketére */
.bulk-order-panel,
.bulk-order-card,
.page-hero .stat,
.contact-form{
  box-shadow:0 10px 40px rgba(0,0,0,.18);
}

/* Kompaktabb kapcsolattartók blokk */
body[data-page="contact"] .section-team{
  padding-top:68px !important;
  padding-bottom:82px !important;
}
body[data-page="contact"] .section-team .intro-grid{
  grid-template-columns:minmax(170px,.42fr) minmax(0,1fr);
  gap:28px;
  align-items:end;
  margin-bottom:26px !important;
}
body[data-page="contact"] .section-team h2{
  margin:0 0 10px;
  font-size:clamp(2.8rem,5vw,4.6rem);
  line-height:.96;
  letter-spacing:-.045em;
  max-width:11ch;
}
body[data-page="contact"] .section-team .lead{
  margin:0;
  max-width:34ch;
}
body[data-page="contact"] .section-team .team-grid{
  margin-top:4px;
}
body[data-page="contact"] .section-team .person .body{
  padding:16px 18px 20px;
}

/* A főoldali beton háttér finomabb, de jól látható legyen */
body[data-page="home"] main{
  position:relative;
}
body[data-page="home"] .page-hero{
  padding-top:68px;
}
body[data-page="home"] .section-products-concrete{
  background:
    linear-gradient(180deg,rgba(13,14,16,.66),rgba(13,14,16,.82)),
    url("../img/cemrock-concrete-texture.jpg") center/cover fixed !important;
}

@media (max-width: 980px){
  body[data-page="contact"] .section-team .intro-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  body[data-page="contact"] .section-team{
    padding-top:52px !important;
  }
  body::before{
    background:
      linear-gradient(180deg, rgba(10,11,13,.82), rgba(12,13,15,.92)),
      radial-gradient(circle at 18% 16%, rgba(255,255,255,.04), transparent 34%),
      radial-gradient(circle at 78% 24%, rgba(249,111,13,.05), transparent 22%),
      url("../img/cemrock-concrete-texture.jpg") center/cover !important;
  }
}




/* === V39: section-paper / section-paper2 kontraszt + kompakt ritmus === */
/* A korábbi CSS-ben a section-paper2 h2 sötét színt kapott sötét háttéren.
   Emiatt a cím láthatatlanná vált, és úgy tűnt, mintha nagy üres terület lenne. */
.section-paper h1,
.section-paper h2,
.section-paper h3,
.section-paper2 h1,
.section-paper2 h2,
.section-paper2 h3{
  color:#f7f7f3 !important;
}
.section-paper .lead,
.section-paper2 .lead{
  color:#e0e2e3 !important;
}
.section-paper .muted,
.section-paper2 .muted{
  color:#c6c9cb !important;
}

/* A felhasználási blokkok függőleges ritmusát tömörebbé tesszük. */
body[data-page="uses"] #kemia{
  padding-top:70px !important;
  padding-bottom:72px !important;
}
body[data-page="uses"] #kemia .two-col{
  align-items:start;
  gap:48px !important;
}
body[data-page="uses"] #kemia h2{
  margin-top:10px !important;
  margin-bottom:0 !important;
  max-width:11ch;
}
body[data-page="uses"] #kemia .lead{
  margin-top:0 !important;
}
body[data-page="uses"] #kemia .muted{
  margin-top:18px !important;
  margin-bottom:0 !important;
}

/* Az ilyen sötét papírblokkok általánosan se hagyjanak indokolatlanul nagy szünetet. */
body[data-page="uses"] .section-paper2{
  min-height:0 !important;
}
@media(max-width:680px){
  body[data-page="uses"] #kemia{
    padding-top:54px !important;
    padding-bottom:56px !important;
  }
  body[data-page="uses"] #kemia .two-col{
    gap:22px !important;
  }
  body[data-page="uses"] #kemia h2{
    max-width:none;
  }
}




/* === V41: Egyedi járólap galéria – normális képarányok + CEMROCK CTA === */
#egyedi-jarolapok .custom-tiles-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
#egyedi-jarolapok .custom-tiles-grid .card{
  grid-column:auto !important;
  grid-row:auto !important;
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  aspect-ratio:4 / 5;
  overflow:hidden;
  border-radius:20px;
  background:#1c1e21;
  box-shadow:0 16px 38px rgba(0,0,0,.16);
}
#egyedi-jarolapok .custom-tiles-grid .card img{
  display:block;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center !important;
  transform:none !important;
}
@media(hover:hover){
  #egyedi-jarolapok .custom-tiles-grid .card:hover img{
    transform:scale(1.035) !important;
  }
}
.custom-tiles-cta{
  margin-top:28px;
  padding:24px 26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));
}
.custom-tiles-cta h3{
  margin:8px 0 0;
  max-width:28ch;
  color:#f6f6f2;
  font-size:clamp(1.25rem,2vw,1.8rem);
  line-height:1.15;
}
.custom-tiles-cta .eyebrow{
  color:var(--orange);
}
@media(max-width:900px){
  #egyedi-jarolapok .custom-tiles-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:560px){
  #egyedi-jarolapok .custom-tiles-grid{
    grid-template-columns:1fr !important;
  }
  #egyedi-jarolapok .custom-tiles-grid .card{
    aspect-ratio:4 / 5;
  }
  .custom-tiles-cta{
    align-items:flex-start;
    flex-direction:column;
    padding:20px;
  }
  .custom-tiles-cta .btn{
    width:100%;
    justify-content:center;
  }
}



/* --- v42: full mobile optimization + compact layouts --- */
html, body{
  overflow-x:hidden;
}
img{
  max-width:100%;
  height:auto;
}
@media (max-width: 980px){
  .container{
    width:min(100% - 32px, 1180px) !important;
  }
  .hero-title,
  .page-hero h1,
  .product-hero h1,
  .section h2,
  .cta-band h2{
    text-wrap:balance;
  }
  .product-card,
  .doc-card,
  .person,
  .refcat,
  .media-card,
  .proof-card{
    min-height:auto !important;
  }
}

@media (max-width: 760px){
  :root{
    --radius:24px;
  }

  .header{
    backdrop-filter:blur(12px);
  }
  .nav{
    height:70px !important;
    gap:14px !important;
  }
  .brand img{
    width:156px !important;
    height:auto !important;
  }
  .menu-btn{
    width:44px !important;
    height:44px !important;
    border-radius:12px !important;
  }
  .menu-btn span{
    width:22px !important;
  }
  .mobile-menu{
    top:70px !important;
    padding:14px 16px 18px !important;
    max-height:calc(100svh - 70px) !important;
    overflow:auto !important;
  }
  .mobile-menu a{
    padding:12px 0 !important;
    font-size:1rem !important;
  }

  main > section:first-of-type,
  .hero,
  .page-hero,
  .product-hero{
    scroll-margin-top:84px;
  }

  .hero{
    padding:28px 0 30px !important;
  }
  .hero-inner{
    gap:20px !important;
  }
  .hero-clean .hero-logo-return{
    width:min(72vw, 220px) !important;
    margin:0 0 16px !important;
  }
  .eyebrow{
    font-size:.72rem !important;
    letter-spacing:.12em !important;
  }
  .hero-title{
    font-size:clamp(2.45rem, 13.2vw, 4rem) !important;
    line-height:.92 !important;
    letter-spacing:-.045em !important;
    margin:.15em 0 .18em !important;
  }
  .hero-title .outline{
    display:block !important;
    line-height:.93 !important;
  }
  .hero-copy,
  .lead,
  .page-hero p,
  .section-intro p,
  .section > .container > p,
  .cta-band p{
    font-size:1rem !important;
    line-height:1.58 !important;
  }

  .page-hero{
    padding:26px 0 18px !important;
  }
  .page-hero h1,
  .product-hero h1{
    font-size:clamp(2.2rem, 12vw, 3.4rem) !important;
    line-height:.95 !important;
    letter-spacing:-.04em !important;
    margin:.15em 0 .18em !important;
  }
  .section{
    padding:34px 0 !important;
  }
  .section + .section{
    padding-top:10px !important;
  }

  .hero-inner,
  .product-hero-grid,
  .two-col,
  .split,
  .intro-grid,
  .proof-grid,
  .feature-grid,
  .media-grid,
  .refs-brand-grid,
  .doc-grid,
  .docs-grid,
  .footer-grid,
  .team-grid,
  .contact-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .product-hero{
    padding:26px 0 30px !important;
  }
  .product-hero-grid{
    align-items:start !important;
  }
  .product-hero .breadcrumb{
    font-size:.8rem !important;
    margin-bottom:10px !important;
    line-height:1.4 !important;
  }
  .product-hero .product-code{
    font-size:1rem !important;
    margin:10px 0 0 !important;
  }
  .product-hero .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:18px !important;
  }

  .product-hero-img,
  .product-visual{
    min-height:0 !important;
    height:auto !important;
  }
  .packshot-3d{
    min-height:220px !important;
    padding:4px 0 0 !important;
    margin-top:4px !important;
  }
  .packshot-bag,
  .product-hero-img .packshot-bag{
    width:min(60vw, 220px) !important;
    max-width:220px !important;
    display:block !important;
    margin:0 auto !important;
  }
  .packshot-floor{
    width:min(74vw, 260px) !important;
    bottom:14px !important;
  }
  .packshot-orbit{
    width:min(84vw, 300px) !important;
    height:min(84vw, 300px) !important;
    opacity:.6 !important;
  }
  .packshot-glow{
    filter:blur(26px) !important;
    opacity:.32 !important;
  }

  .product-card{
    min-height:auto !important;
    padding:20px !important;
    border-radius:24px !important;
  }
  .product-card h3{
    font-size:clamp(2.15rem, 12.5vw, 3.4rem) !important;
    line-height:.92 !important;
    margin:.14em 0 !important;
  }
  .product-card .number{
    font-size:clamp(4rem, 24vw, 7rem) !important;
    top:12px !important;
    right:16px !important;
    opacity:.08 !important;
  }
  .product-card .spec-row{
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin:16px 0 !important;
  }
  .spec{
    padding-top:10px !important;
  }
  .spec strong{
    font-size:1.55rem !important;
  }
  .product-card .linkline{
    margin-top:14px !important;
  }
  .source-note{
    font-size:.72rem !important;
    line-height:1.35 !important;
    margin-top:10px !important;
  }

  .stats-grid,
  .kpi-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  .quick-compare__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    border-radius:22px !important;
    overflow:hidden !important;
  }
  .quick-compare__label{
    grid-column:1 / -1 !important;
    padding:14px 16px !important;
    font-size:.78rem !important;
    letter-spacing:.12em !important;
  }
  .quick-compare__value{
    min-width:0 !important;
    padding:16px !important;
    font-size:.95rem !important;
    line-height:1.5 !important;
  }
  .quick-compare__value strong{
    display:block !important;
    font-size:1rem !important;
    margin-bottom:4px !important;
  }
  .quick-compare__value span{
    display:block !important;
    line-height:1.4 !important;
  }

  .refs-masonry{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .refs-masonry .item,
  .refs-masonry .item.t1,
  .refs-masonry .item.t2,
  .refs-masonry .item.t3,
  .refs-masonry .item.t4,
  .refs-masonry .item.t5,
  .refs-masonry .item.t6,
  .refs-masonry .item.t7,
  .refs-masonry .item.t8,
  .refs-masonry .item.t9{
    grid-column:span 1 !important;
    min-height:260px !important;
  }
  .refs-masonry .item .cap{
    left:10px !important;
    right:10px !important;
    bottom:10px !important;
    padding:8px 10px !important;
    font-size:.72rem !important;
  }

  #egyedi-jarolapok .custom-tiles-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:14px !important;
  }
  #egyedi-jarolapok .custom-tiles-grid .card{
    aspect-ratio:1 / 1 !important;
    min-height:0 !important;
  }
  #egyedi-jarolapok .custom-tiles-grid .card img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  .custom-tiles-cta{
    margin-top:18px !important;
    padding:18px !important;
    gap:12px !important;
    align-items:flex-start !important;
    flex-direction:column !important;
  }
  .custom-tiles-cta h3{
    font-size:1.22rem !important;
    line-height:1.25 !important;
    margin:0 !important;
  }
  .custom-tiles-cta .btn{
    width:100% !important;
    justify-content:center !important;
  }

  .table-wrap{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .table-wrap table{
    min-width:620px !important;
  }

  .doc-card,
  .media-card,
  .refcat,
  .person,
  .contact-form{
    border-radius:22px !important;
  }

  .btn{
    min-height:46px !important;
    padding:12px 16px !important;
    font-size:.95rem !important;
  }

  .cta-band{
    padding:26px 0 !important;
  }
  .cta-band h2{
    font-size:clamp(1.8rem, 10vw, 2.8rem) !important;
    line-height:.98 !important;
    margin:0 0 10px !important;
  }
}

@media (max-width: 520px){
  .container{
    width:min(100% - 24px, 1180px) !important;
  }
  .hero-title{
    font-size:clamp(2.2rem, 13vw, 3.5rem) !important;
  }
  .page-hero h1,
  .product-hero h1,
  .section h2{
    font-size:clamp(2rem, 11vw, 3rem) !important;
  }
  .stats-grid,
  .kpi-grid{
    grid-template-columns:1fr !important;
  }
  .quick-compare__grid{
    grid-template-columns:1fr !important;
  }
  .quick-compare__label{
    grid-column:1 !important;
  }
  #egyedi-jarolapok .custom-tiles-grid{
    grid-template-columns:1fr !important;
  }
  .product-card{
    padding:18px !important;
  }
  .packshot-bag,
  .product-hero-img .packshot-bag{
    width:min(54vw, 200px) !important;
    max-width:200px !important;
  }
}




/* === V43: Active Theory-inspired interactive spatial layer === */
@media (hover:hover) and (pointer:fine) and (min-width:981px){
  body{
    --scene-x:0;
    --scene-y:0;
    --scene-rx:0deg;
    --scene-ry:0deg;
  }

  .hero{
    perspective:1400px;
    transform-style:preserve-3d;
  }
  .hero .hero-inner{
    transform-style:preserve-3d;
    transform:
      rotateX(var(--scene-rx))
      rotateY(var(--scene-ry));
    transition:transform .18s ease-out;
    will-change:transform;
  }
  .hero .hero-logo-wrap{
    transform:
      translate3d(calc(var(--scene-x) * -10px), calc(var(--scene-y) * -8px), 44px);
    transition:transform .18s ease-out;
    will-change:transform;
  }
  .hero .eyebrow{
    transform:
      translate3d(calc(var(--scene-x) * -4px), calc(var(--scene-y) * -3px), 62px);
    transition:transform .18s ease-out;
  }
  .hero .hero-title{
    transform:
      translate3d(calc(var(--scene-x) * 7px), calc(var(--scene-y) * 5px), 86px);
    transition:transform .18s ease-out;
    text-shadow:0 18px 50px rgba(0,0,0,.14);
  }
  .hero .hero-copy{
    transform:
      translate3d(calc(var(--scene-x) * 4px), calc(var(--scene-y) * 3px), 66px);
    transition:transform .18s ease-out;
  }
  .hero .hero-actions,
  .hero .hero-meta{
    transform:
      translate3d(calc(var(--scene-x) * 2px), calc(var(--scene-y) * 2px), 54px);
    transition:transform .18s ease-out;
  }
  .hero:before{
    transform:
      translate3d(calc(var(--scene-x) * -18px), calc(var(--scene-y) * -14px), 0)
      rotate(-3deg)
      scale(1.035);
    transition:transform .2s ease-out;
  }
  .hero:after{
    transform:
      translate3d(calc(var(--scene-x) * 16px), calc(var(--scene-y) * 12px), 0)
      rotate(-33deg);
    transition:transform .2s ease-out;
  }

  /* subtle cursor light */
  .spatial-cursor-light{
    position:fixed;
    z-index:2;
    width:420px;
    height:420px;
    left:0;
    top:0;
    pointer-events:none;
    border-radius:50%;
    background:
      radial-gradient(circle, rgba(249,111,13,.085) 0%, rgba(249,111,13,.035) 32%, transparent 68%);
    filter:blur(8px);
    opacity:0;
    transform:translate(-50%,-50%);
    transition:opacity .25s ease;
    mix-blend-mode:screen;
  }
  body.spatial-active .spatial-cursor-light{
    opacity:1;
  }

  /* local 3D tilt on key cards */
  .product-card.spatial-tilt,
  .technical-benefit.spatial-tilt,
  .refcat.spatial-tilt{
    transform-style:preserve-3d;
    will-change:transform;
    transition:
      transform .18s ease-out,
      box-shadow .28s ease,
      border-color .28s ease;
  }
  .product-card.spatial-tilt > *,
  .technical-benefit.spatial-tilt > *,
  .refcat.spatial-tilt > *{
    transform:translateZ(12px);
  }
  .product-card.spatial-tilt .packshot-3d{
    transform:translateZ(34px);
  }
}

/* never use motion tilt on touch/mobile */
@media (hover:none), (pointer:coarse), (max-width:980px), (prefers-reduced-motion:reduce){
  .hero .hero-inner,
  .hero .hero-logo-wrap,
  .hero .eyebrow,
  .hero .hero-title,
  .hero .hero-copy,
  .hero .hero-actions,
  .hero .hero-meta,
  .product-card,
  .technical-benefit,
  .refcat{
    transform:none !important;
  }
  .spatial-cursor-light{
    display:none !important;
  }
}




/* === V44: Active-Theory-inspired right-side scroll rail === */
/* A korábbi felső progress csík helyett jobb oldali vertikális navigáció. */
.scroll-progress{
  display:none !important;
}

.cem-scroll-rail{
  position:fixed;
  top:50%;
  right:18px;
  z-index:88;
  width:34px;
  height:min(54vh,520px);
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  mix-blend-mode:normal;
}
.cem-scroll-rail__track{
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:1px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.20);
  box-shadow:0 0 0 1px rgba(0,0,0,.08);
}
.cem-scroll-rail__fill{
  position:absolute;
  top:0;
  left:50%;
  width:3px;
  height:100%;
  transform:translateX(-50%) scaleY(0);
  transform-origin:top center;
  border-radius:999px;
  background:linear-gradient(180deg,#ffb16f 0%,var(--orange) 48%,#ff6a00 100%);
  box-shadow:
    0 0 10px rgba(249,111,13,.58),
    0 0 24px rgba(249,111,13,.20);
  will-change:transform;
}
.cem-scroll-rail__thumb{
  position:absolute;
  top:0;
  left:50%;
  width:11px;
  height:11px;
  border:2px solid rgba(255,255,255,.94);
  border-radius:50%;
  background:var(--orange);
  box-shadow:
    0 0 0 3px rgba(17,18,20,.52),
    0 0 16px rgba(249,111,13,.55);
  transform:translate(-50%,-50%);
  will-change:top;
}
.cem-scroll-rail__count{
  position:absolute;
  right:23px;
  top:50%;
  transform:translateY(-50%) rotate(-90deg);
  transform-origin:center;
  white-space:nowrap;
  font-size:9px;
  line-height:1;
  font-weight:850;
  letter-spacing:.16em;
  color:rgba(255,255,255,.64);
  text-transform:uppercase;
  text-shadow:0 1px 4px rgba(0,0,0,.65);
}
.cem-scroll-rail__count b{
  color:#fff;
  font-size:10px;
}
.cem-scroll-rail__ticks{
  position:absolute;
  inset:0;
}
.cem-scroll-rail__tick{
  position:absolute;
  left:50%;
  width:7px;
  height:1px;
  background:rgba(255,255,255,.30);
  transform:translate(-50%,-50%);
  transition:
    width .25s ease,
    background .25s ease,
    box-shadow .25s ease;
}
.cem-scroll-rail__tick.is-active{
  width:15px;
  background:#fff;
  box-shadow:0 0 10px rgba(255,255,255,.28);
}
.cem-scroll-rail__section-label{
  position:absolute;
  right:29px;
  top:calc(50% + 34px);
  transform:translateY(-50%);
  width:max-content;
  max-width:180px;
  text-align:right;
  font-size:9px;
  font-weight:780;
  line-height:1.25;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
  text-shadow:0 1px 5px rgba(0,0,0,.72);
  opacity:.88;
}

/* Világos felület mögött is olvasható marad, de nem lesz nagy fekete doboz. */
.cem-scroll-rail::before{
  content:"";
  position:absolute;
  inset:-20px -10px;
  border-radius:28px;
  background:linear-gradient(90deg,transparent,rgba(13,14,16,.14));
  filter:blur(8px);
  pointer-events:none;
}

@media (hover:hover) and (pointer:fine){
  .cem-scroll-rail{
    pointer-events:auto;
  }
  .cem-scroll-rail__tick{
    cursor:pointer;
  }
  .cem-scroll-rail:hover .cem-scroll-rail__track{
    background:rgba(255,255,255,.34);
  }
}

/* Telefonon csak nagyon vékony, helytakarékos jobb oldali progress marad. */
@media (max-width:760px), (pointer:coarse){
  .cem-scroll-rail{
    right:3px;
    width:6px;
    height:calc(100svh - 94px);
    max-height:none;
    top:calc(50% + 34px);
  }
  .cem-scroll-rail::before,
  .cem-scroll-rail__count,
  .cem-scroll-rail__ticks,
  .cem-scroll-rail__section-label,
  .cem-scroll-rail__thumb{
    display:none !important;
  }
  .cem-scroll-rail__track{
    width:2px;
    background:rgba(255,255,255,.13);
  }
  .cem-scroll-rail__fill{
    width:2px;
    box-shadow:0 0 7px rgba(249,111,13,.35);
  }
}

@media (prefers-reduced-motion:reduce){
  .cem-scroll-rail__fill,
  .cem-scroll-rail__thumb{
    transition:none !important;
  }
}




/* === V46: line-based right rail + refined motion === */

/* 2) Scroll rail closer to reference: only line language, no counters/labels */
.cem-scroll-rail{
  right:14px !important;
  width:38px !important;
  height:min(58vh, 560px) !important;
}
.cem-scroll-rail::before{display:none !important;}
.cem-scroll-rail__count,
.cem-scroll-rail__section-label,
.cem-scroll-rail__thumb{
  display:none !important;
}
.cem-scroll-rail__track{
  left:auto !important;
  right:10px !important;
  width:1px !important;
  background:rgba(255,255,255,.18) !important;
  transform:none !important;
}
.cem-scroll-rail__fill{
  left:auto !important;
  right:9px !important;
  width:3px !important;
  transform:scaleY(0) !important;
  transform-origin:top center !important;
  background:linear-gradient(180deg, rgba(255,197,152,.96) 0%, var(--orange) 45%, #ff6900 100%) !important;
  box-shadow:0 0 10px rgba(249,111,13,.44), 0 0 22px rgba(249,111,13,.16) !important;
}
.cem-scroll-rail__ticks{
  inset:0 !important;
}
.cem-scroll-rail__tick{
  left:auto !important;
  right:10px !important;
  height:1px !important;
  width:16px !important;
  transform:translateY(-50%) !important;
  background:linear-gradient(90deg, rgba(255,255,255,.74), rgba(255,255,255,.08)) !important;
  box-shadow:none !important;
  transition:width .24s ease, opacity .24s ease, background .24s ease !important;
  opacity:.74;
}
.cem-scroll-rail__tick.is-active{
  width:28px !important;
  background:linear-gradient(90deg, rgba(255,255,255,1), rgba(255,177,111,.95), rgba(249,111,13,.2)) !important;
  opacity:1 !important;
}
@media (hover:hover) and (pointer:fine){
  .cem-scroll-rail:hover .cem-scroll-rail__tick{opacity:.94;}
}
@media (max-width:760px), (pointer:coarse){
  .cem-scroll-rail{
    right:2px !important;
    width:4px !important;
    height:calc(100svh - 92px) !important;
    top:calc(50% + 34px) !important;
  }
  .cem-scroll-rail__track{
    right:1px !important;
    width:2px !important;
    background:rgba(255,255,255,.12) !important;
  }
  .cem-scroll-rail__fill{
    right:1px !important;
    width:2px !important;
    box-shadow:0 0 6px rgba(249,111,13,.3) !important;
  }
  .cem-scroll-rail__ticks{display:none !important;}
}

/* 3) Refined interactive motion: logo and card boxes stay stable */
@media (hover:hover) and (pointer:fine) and (min-width:981px){
  .hero .hero-logo-wrap{
    transform:none !important;
    transition:none !important;
  }
  .product-card.spatial-tilt,
  .technical-benefit.spatial-tilt,
  .refcat.spatial-tilt{
    transform:none !important;
    transition:border-color .28s ease, box-shadow .28s ease !important;
  }
  .product-card.spatial-tilt > *,
  .technical-benefit.spatial-tilt > *,
  .refcat.spatial-tilt > *{
    transform:none !important;
  }

  /* only the scene, the text layer and the bags get motion */
  .hero .hero-title{
    transform:translate3d(calc(var(--scene-x) * 6px), calc(var(--scene-y) * 4px), 50px) !important;
  }
  .hero .hero-copy,
  .hero .hero-actions,
  .hero .hero-meta,
  .hero .eyebrow{
    transform:translate3d(calc(var(--scene-x) * 3px), calc(var(--scene-y) * 2px), 30px) !important;
  }
  .packshot-bag,
  .product-hero-img .packshot-bag{
    transform:
      translate3d(calc(var(--scene-x) * 11px), calc(var(--scene-y) * 8px), 70px)
      rotateY(calc(var(--scene-x) * 7deg))
      rotateX(calc(var(--scene-y) * -3deg)) !important;
    transition:transform .18s ease-out !important;
    will-change:transform;
  }
  .packshot-floor{
    transform:
      translate3d(calc(var(--scene-x) * 4px), calc(var(--scene-y) * 2px), 0)
      rotateX(84deg) !important;
    transition:transform .18s ease-out !important;
  }
  .hero::before{
    transform:translate3d(calc(var(--scene-x) * -16px), calc(var(--scene-y) * -12px), 0) rotate(-3deg) scale(1.035) !important;
  }
  .hero::after{
    transform:translate3d(calc(var(--scene-x) * 14px), calc(var(--scene-y) * 10px), 0) rotate(-33deg) !important;
  }
}

@media (hover:none), (pointer:coarse), (max-width:980px), (prefers-reduced-motion:reduce){
  .packshot-bag,
  .product-hero-img .packshot-bag,
  .packshot-floor{
    transform:none !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .intro-splash, .intro-splash *{
    animation:none !important;
    transition:none !important;
  }
}




/* === V47: cursor-follow glow disabled completely === */
.spatial-cursor-light{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
}




/* === V48: CEMROCK logo absolutely stable on mouse movement === */
@media (hover:hover) and (pointer:fine) and (min-width:981px){

  /* The parent must NOT tilt, otherwise the logo moves with it even if its own transform is none. */
  .hero .hero-inner{
    transform:none !important;
    transition:none !important;
    will-change:auto !important;
  }

  /* Logo wrapper and logo image are fully locked in place. */
  .hero .hero-logo-wrap,
  .hero .hero-logo-return,
  .hero .hero-logo-wrap img{
    transform:none !important;
    translate:none !important;
    rotate:none !important;
    scale:none !important;
    transition:none !important;
    animation:none !important;
    will-change:auto !important;
  }

  /* Only the intended text/background layers may react to mouse movement. */
  .hero .eyebrow{
    transform:translate3d(calc(var(--scene-x) * 2px), calc(var(--scene-y) * 1px), 20px) !important;
  }
  .hero .hero-title{
    transform:translate3d(calc(var(--scene-x) * 5px), calc(var(--scene-y) * 3px), 42px) !important;
  }
  .hero .hero-copy{
    transform:translate3d(calc(var(--scene-x) * 2px), calc(var(--scene-y) * 1.5px), 24px) !important;
  }
  .hero .hero-actions,
  .hero .hero-meta{
    transform:translate3d(calc(var(--scene-x) * 1.5px), calc(var(--scene-y) * 1px), 18px) !important;
  }
}

/* Defensive lock on touch/mobile too. */
.hero .hero-logo-wrap,
.hero .hero-logo-return,
.hero .hero-logo-wrap img{
  backface-visibility:hidden;
}




/* === V49: valóban kompakt főoldal + valódi kétoszlopos mobil összehasonlítás === */

/* Desktop: a főoldal függőleges ritmusa is tömörebb */
body[data-page="home"] .hero-expanded .hero-inner{
  padding:52px 0 60px !important;
}
body[data-page="home"] .section{
  padding:46px 0 !important;
}
body[data-page="home"] .section-products-concrete{
  padding:40px 0 !important;
}
body[data-page="home"] .intro-grid{
  gap:30px !important;
  margin-bottom:28px !important;
}

/* Termékkártyák: nincs több 600–700 px-es "egy termék = egy képernyő" blokk */
.section-products-concrete .products-grid{
  gap:14px !important;
  align-items:stretch !important;
}
.section-products-concrete .product-card{
  min-height:0 !important;
  height:auto !important;
  padding:24px 24px 18px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 150px !important;
  grid-template-areas:
    "main visual"
    "source source"
    "link link" !important;
  column-gap:18px !important;
  row-gap:10px !important;
  align-items:start !important;
  justify-content:stretch !important;
}
.section-products-concrete .product-card > .number{
  position:absolute !important;
}
.section-products-concrete .product-card > div:nth-child(2){
  grid-area:main !important;
  min-width:0 !important;
}
.section-products-concrete .product-card > .product-visual{
  grid-area:visual !important;
  align-self:center !important;
}
.section-products-concrete .product-card > .source-note{
  grid-area:source !important;
  margin:0 !important;
}
.section-products-concrete .product-card > .linkline{
  grid-area:link !important;
  margin-top:2px !important;
}
.section-products-concrete .product-card h3{
  font-size:clamp(2.45rem,4vw,4.25rem) !important;
  line-height:.88 !important;
  margin:.14em 0 .16em !important;
}
.section-products-concrete .product-card .product-code{
  font-size:.94rem !important;
}
.section-products-concrete .product-card .spec-row{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:9px !important;
  margin:16px 0 4px !important;
}
.section-products-concrete .product-card .spec{
  padding-top:8px !important;
}
.section-products-concrete .product-card .spec b{
  font-size:1.16rem !important;
}
.section-products-concrete .product-card .spec span{
  font-size:.64rem !important;
  line-height:1.35 !important;
}
.section-products-concrete .product-card .muted{
  margin:.6em 0 0 !important;
  font-size:.86rem !important;
  line-height:1.5 !important;
}
.section-products-concrete .product-visual.packshot-3d{
  min-height:180px !important;
  height:180px !important;
  padding:0 !important;
  margin:0 !important;
}
.section-products-concrete .product-visual .packshot-bag{
  max-height:175px !important;
  max-width:135px !important;
}
.section-products-concrete .packshot-orbit{
  width:150px !important;
  height:150px !important;
}
.section-products-concrete .packshot-glow{
  width:155px !important;
}
.section-products-concrete .packshot-floor{
  width:145px !important;
}
.section-products-concrete .product-card .linkline{
  padding-top:12px !important;
  font-size:.83rem !important;
}

/* Összehasonlítás desktopon is sűrűbb */
.quick-compare{
  margin-top:16px !important;
}
.quick-compare__head{
  min-height:0 !important;
  padding:12px 16px !important;
}
.quick-compare__grid > div{
  min-height:0 !important;
  padding:11px 14px !important;
}
.quick-compare__label{
  font-size:.66rem !important;
}
.quick-compare__value{
  font-size:.84rem !important;
  line-height:1.35 !important;
}
.quick-compare__value strong{
  font-size:.94rem !important;
}
.quick-compare__value span{
  font-size:.72rem !important;
}

/* Telefon: a főcím biztosan nem lóg ki */
@media (max-width:760px){
  body[data-page="home"] .hero{
    padding:18px 0 22px !important;
    min-height:0 !important;
  }
  body[data-page="home"] .hero-expanded .hero-inner{
    padding:20px 0 24px !important;
  }
  body[data-page="home"] .hero-title{
    max-width:100% !important;
    width:100% !important;
    font-size:clamp(2rem,9.2vw,2.55rem) !important;
    line-height:.95 !important;
    letter-spacing:-.035em !important;
    overflow:visible !important;
  }
  body[data-page="home"] .hero-title .outline{
    display:block !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    font-size:.88em !important;
    line-height:1 !important;
    -webkit-text-stroke:1px rgba(255,255,255,.82) !important;
  }
  body[data-page="home"] .hero-copy{
    margin-top:16px !important;
    font-size:.92rem !important;
    line-height:1.48 !important;
  }
  body[data-page="home"] .hero-actions{
    margin-top:16px !important;
    gap:8px !important;
  }
  body[data-page="home"] .hero-meta{
    margin-top:16px !important;
    gap:8px 12px !important;
  }
  body[data-page="home"] .section{
    padding:28px 0 !important;
  }
  body[data-page="home"] .section + .section{
    padding-top:28px !important;
  }
  body[data-page="home"] .section-products-concrete{
    padding:28px 0 !important;
  }
  body[data-page="home"] .intro-grid{
    gap:12px !important;
    margin-bottom:18px !important;
  }

  /* Mobil termékkártya: szöveg balra, zsák jobbra, specifikációk egy sorban */
  .section-products-concrete .products-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .section-products-concrete .product-card{
    min-height:0 !important;
    height:auto !important;
    padding:16px !important;
    border-radius:20px !important;
    grid-template-columns:minmax(0,1fr) 96px !important;
    grid-template-areas:
      "main visual"
      "source source"
      "link link" !important;
    column-gap:12px !important;
    row-gap:8px !important;
  }
  .section-products-concrete .product-card h3{
    font-size:clamp(1.95rem,9vw,2.45rem) !important;
    line-height:.9 !important;
    margin:.12em 0 .14em !important;
  }
  .section-products-concrete .product-card .country{
    font-size:.62rem !important;
    letter-spacing:.11em !important;
  }
  .section-products-concrete .product-card .product-code{
    font-size:.82rem !important;
  }
  .section-products-concrete .product-card .muted{
    font-size:.75rem !important;
    line-height:1.42 !important;
    margin:.5em 0 0 !important;
  }
  .section-products-concrete .product-card .spec-row{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:7px !important;
    margin:12px 0 0 !important;
  }
  .section-products-concrete .product-card .spec{
    padding-top:7px !important;
  }
  .section-products-concrete .product-card .spec b{
    font-size:1rem !important;
    line-height:1.05 !important;
  }
  .section-products-concrete .product-card .spec span{
    font-size:.56rem !important;
    line-height:1.25 !important;
  }
  .section-products-concrete .product-visual.packshot-3d{
    min-height:120px !important;
    height:120px !important;
    width:96px !important;
    place-self:center !important;
    overflow:visible !important;
  }
  .section-products-concrete .product-visual .packshot-bag{
    width:auto !important;
    max-width:88px !important;
    max-height:116px !important;
  }
  .section-products-concrete .packshot-floor,
  .section-products-concrete .packshot-orbit,
  .section-products-concrete .packshot-glow{
    display:none !important;
  }
  .section-products-concrete .source-note{
    font-size:.58rem !important;
    line-height:1.2 !important;
    opacity:.62 !important;
  }
  .section-products-concrete .product-card .linkline{
    margin:0 !important;
    padding-top:9px !important;
    font-size:.74rem !important;
  }
  .section-products-concrete .product-card .number{
    font-size:4.5rem !important;
    opacity:.055 !important;
  }

  /* VALÓDI összehasonlítás: minden kategória után Buñol és Mersin egymás mellett */
  .quick-compare{
    margin-top:12px !important;
    border-radius:18px !important;
    overflow:hidden !important;
  }
  .quick-compare__head{
    padding:10px 12px !important;
    gap:8px !important;
    flex-wrap:wrap !important;
    font-size:.72rem !important;
  }
  .quick-compare__head a{
    font-size:.68rem !important;
  }
  .quick-compare__grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:0 !important;
    width:100% !important;
  }
  .quick-compare__grid > div{
    min-height:0 !important;
    padding:9px 10px !important;
    border-bottom:1px solid #deded8 !important;
    border-right:1px solid #deded8 !important;
  }
  .quick-compare__grid > div:nth-child(3n){
    border-right:1px solid #deded8 !important;
  }
  .quick-compare__label{
    grid-column:1 / -1 !important;
    min-height:0 !important;
    padding:7px 10px !important;
    font-size:.61rem !important;
    letter-spacing:.1em !important;
    background:#e8e8e2 !important;
    border-right:0 !important;
  }
  .quick-compare__value{
    min-width:0 !important;
    min-height:0 !important;
    padding:9px 10px !important;
    font-size:.73rem !important;
    line-height:1.3 !important;
    overflow-wrap:anywhere !important;
  }
  .quick-compare__value:nth-of-type(3n){
    border-right:0 !important;
  }
  .quick-compare__value strong{
    font-size:.82rem !important;
    margin-bottom:2px !important;
  }
  .quick-compare__value span{
    font-size:.64rem !important;
    line-height:1.25 !important;
  }
}

/* A korábbi <=520px szabály ne tegye vissza egyoszloposra az összehasonlítást. */
@media (max-width:520px){
  .quick-compare__grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .quick-compare__label{
    grid-column:1 / -1 !important;
  }
}




/* === V50: Parlament referencia anchor pontosan a képgalériára === */
#parlament.parlament-anchor-grid{
  scroll-margin-top:88px;
}
@media (max-width:760px){
  #parlament.parlament-anchor-grid{
    scroll-margin-top:76px;
  }
}


/* === V51: intro removed — direct page load === */
.intro-splash,
.intro-splash__grain,
.intro-splash__beam,
.intro-splash__inner{
  display:none !important;
}
body.intro-playing{
  overflow:auto !important;
}




/* === V52: exact Parliament anchor === */
.parlament-exact-anchor{
  display:block;
  position:relative;
  width:100%;
  height:1px;
  margin:0;
  padding:0;
  scroll-margin-top:92px;
}
@media (max-width:760px){
  .parlament-exact-anchor{
    scroll-margin-top:76px;
  }
}




/* === V53: Active-Theory-inspired line scroll field === */
/* Régi rail elrejtve; helyette sűrű, élő vonalmező. */
.cem-scroll-rail{
  display:none !important;
}

.at-scroll-field{
  --scroll-progress:0;
  --scroll-velocity:0;
  position:fixed;
  top:50%;
  right:11px;
  z-index:95;
  width:52px;
  height:min(64vh, 610px);
  transform:translateY(-50%);
  pointer-events:none;
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  filter:drop-shadow(0 1px 8px rgba(0,0,0,.32));
}

.at-scroll-field__axis{
  position:absolute;
  top:0;
  bottom:0;
  right:4px;
  width:1px;
  background:linear-gradient(
    180deg,
    transparent,
    rgba(255,255,255,.18) 6%,
    rgba(255,255,255,.18) 94%,
    transparent
  );
}

.at-scroll-field__lines{
  position:absolute;
  inset:0;
}

.at-scroll-field__line{
  position:absolute;
  right:4px;
  height:1px;
  transform-origin:right center;
  background:rgba(255,255,255,.48);
  width:11px;
  opacity:.55;
  will-change:width, transform, opacity;
  transition:
    width .16s cubic-bezier(.17,.4,.02,.99),
    opacity .16s ease,
    background-color .16s ease;
}

.at-scroll-field__line.is-near{
  background:rgba(255,255,255,.76);
}

.at-scroll-field__line.is-active{
  background:#fff;
  opacity:1;
  box-shadow:0 0 8px rgba(255,255,255,.18);
}

.at-scroll-field__marker{
  position:absolute;
  right:3px;
  width:3px;
  height:3px;
  border-radius:50%;
  background:var(--orange);
  transform:translate(50%,-50%);
  box-shadow:0 0 9px rgba(249,111,13,.58);
  will-change:top;
}

.at-scroll-field__progress{
  position:absolute;
  right:4px;
  top:0;
  width:1px;
  height:100%;
  transform:scaleY(var(--scroll-progress));
  transform-origin:top center;
  background:linear-gradient(180deg,rgba(249,111,13,.25),var(--orange));
  opacity:.84;
  will-change:transform;
}

/* A scrollsebesség hatására az egész mező finoman "lélegzik". */
.at-scroll-field.is-moving .at-scroll-field__axis{
  background:linear-gradient(
    180deg,
    transparent,
    rgba(255,255,255,.25) 7%,
    rgba(255,255,255,.25) 93%,
    transparent
  );
}

@media (hover:hover) and (pointer:fine){
  .at-scroll-field{
    pointer-events:auto;
  }
  .at-scroll-field__line{
    cursor:pointer;
  }
}

@media (max-width:760px), (pointer:coarse){
  .at-scroll-field{
    right:2px;
    width:16px;
    height:calc(100svh - 88px);
    max-height:none;
    top:calc(50% + 32px);
  }
  .at-scroll-field__axis{
    right:1px;
    background:rgba(255,255,255,.10);
  }
  .at-scroll-field__progress{
    right:1px;
    width:2px;
  }
  .at-scroll-field__marker{
    right:1px;
    width:2px;
    height:2px;
  }
  .at-scroll-field__line{
    right:1px;
    width:5px !important;
    opacity:.26 !important;
  }
  .at-scroll-field__line.is-active{
    width:9px !important;
    opacity:.75 !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .at-scroll-field__line{
    transition:none !important;
    transform:none !important;
  }
}




/* === V54: Parlament videók === */
.parlament-video-section{
  margin-top:32px;
}
.parlament-video-head{
  display:grid;
  grid-template-columns:.55fr 1.45fr;
  gap:28px;
  align-items:end;
  margin-bottom:18px;
}
.parlament-video-head h3{
  margin:0;
  color:#f7f7f3;
  font-size:clamp(1.8rem,3vw,3.1rem);
  line-height:.98;
  letter-spacing:-.04em;
}
.parlament-video-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.parlament-video-card{
  display:block;
  overflow:hidden;
  border-radius:20px;
  background:#1b1c1e;
  border:1px solid rgba(255,255,255,.09);
  color:#fff;
  text-decoration:none;
  transition:transform .26s ease, border-color .26s ease, box-shadow .26s ease;
}
.parlament-video-card:hover{
  transform:translateY(-3px);
  border-color:rgba(249,111,13,.42);
  box-shadow:0 18px 42px rgba(0,0,0,.22);
}
.parlament-video-poster{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(249,111,13,.14),rgba(255,255,255,.025)),
    #202225;
}
.parlament-video-poster img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s cubic-bezier(.2,.8,.2,1), filter .3s ease;
}
.parlament-video-card:hover .parlament-video-poster img{
  transform:scale(1.035);
  filter:contrast(1.03);
}
.parlament-video-play{
  position:absolute;
  left:50%;
  top:50%;
  width:54px;
  height:54px;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(249,111,13,.94);
  color:#111;
  font-size:17px;
  padding-left:3px;
  box-shadow:0 10px 28px rgba(0,0,0,.3), 0 0 22px rgba(249,111,13,.22);
}
.parlament-video-meta{
  min-height:54px;
  padding:13px 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:.8rem;
  font-weight:780;
  line-height:1.35;
}
.parlament-video-arrow{
  color:var(--orange);
  font-size:1rem;
}
@media(max-width:900px){
  .parlament-video-head{
    grid-template-columns:1fr;
    gap:8px;
  }
  .parlament-video-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  .parlament-video-section{
    margin-top:22px;
  }
  .parlament-video-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .parlament-video-head h3{
    font-size:1.65rem;
  }
  .parlament-video-play{
    width:48px;
    height:48px;
  }
}




/* === V56: bag-only premium kinetic motion === */
body[data-page="products"] .packshot-bag.bag-kinetic{
  --bag-x:0px;
  --bag-drop:24px;
  --bag-lift:0px;
  --bag-rx:-3deg;
  --bag-ry:0deg;
  --bag-scroll:0deg;
  --bag-scale:.80;

  opacity:0;
  filter:blur(3px) saturate(.96);
  transform:
    translate3d(
      var(--bag-x),
      calc(var(--bag-drop) + var(--bag-lift)),
      0
    )
    rotateX(var(--bag-rx))
    rotateY(calc(var(--bag-ry) + var(--bag-scroll)))
    scale(var(--bag-scale)) !important;

  transform-origin:50% 70%;
  will-change:transform;
  transition:
    transform .56s cubic-bezier(.16,.86,.22,1),
    opacity .34s ease,
    filter .42s ease !important;
}

/* Strong arrival: the bag itself comes in, nothing around it moves. */
body[data-page="products"] .packshot-bag.bag-kinetic.is-in{
  --bag-drop:0px;
  --bag-rx:0deg;
  --bag-scale:1;
  opacity:1;
  filter:none;
}

/* Tiny impact overshoot, then JS settles it to 1. */
body[data-page="products"] .packshot-bag.bag-kinetic.is-impact{
  --bag-scale:1.045;
}

/* Keep cards, copy, labels and product containers totally stable. */
body[data-page="products"] .product-card,
body[data-page="products"] .product-card.spatial-tilt,
body[data-page="products"] .product-hero,
body[data-page="products"] .product-hero > *,
body[data-page="products"] .product-visual,
body[data-page="products"] .product-hero-img{
  transform:none !important;
}

/* Shadow may compress slightly with the bag, but it never follows the mouse. */
body[data-page="products"] .packshot-floor{
  transition:opacity .25s ease, transform .35s ease !important;
}

@media (hover:none), (pointer:coarse), (max-width:980px){
  body[data-page="products"] .packshot-bag.bag-kinetic{
    --bag-x:0px !important;
    --bag-rx:0deg !important;
    --bag-ry:0deg !important;
    --bag-scroll:0deg !important;
    --bag-lift:0px !important;
  }
}

/* === V56: dedicated fast Parliament page === */
body[data-page="parliament"] .parlament-direct-hero{
  padding:clamp(84px,10vw,126px) 0 34px;
  background:
    radial-gradient(circle at 78% 24%, rgba(249,111,13,.08), transparent 28%),
    linear-gradient(180deg,#151618,#111214);
  border-bottom:1px solid rgba(255,255,255,.08);
}
body[data-page="parliament"] .parlament-direct-hero h1{
  margin:12px 0 14px;
  color:#fff;
  font-size:clamp(3rem,7vw,7rem);
  line-height:.86;
  letter-spacing:-.055em;
}
body[data-page="parliament"] .parlament-direct-hero .outline{
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.72);
}
body[data-page="parliament"] .parlament-direct-hero p{
  max-width:620px;
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:1rem;
}
body[data-page="parliament"] #parlament-referencia-szekcio{
  padding-top:34px !important;
}
body[data-page="parliament"] .parlament-exact-anchor{
  display:none;
}
@media(max-width:760px){
  body[data-page="parliament"] .parlament-direct-hero{
    padding:72px 0 22px;
  }
  body[data-page="parliament"] .parlament-direct-hero h1{
    font-size:clamp(2.5rem,13vw,4rem);
  }
  body[data-page="parliament"] #parlament-referencia-szekcio{
    padding-top:24px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  body[data-page="products"] .packshot-bag.bag-kinetic{
    transition:none !important;
    --bag-drop:0px;
    --bag-scale:1;
    opacity:1;
    filter:none;
  }
}




/* === V57: larger homepage CEMROCK hero logo === */

/* Desktop: noticeably larger, almost full container width. */
body[data-page="home"] .hero-logo-wrap{
  width:100% !important;
  max-width:1180px !important;
  margin:0 0 26px !important;
}

body[data-page="home"] .hero-logo-return{
  display:block !important;
  width:100% !important;
  max-width:1180px !important;
  height:auto !important;
  margin:0 !important;

  /* Keep it completely stable on mouse movement. */
  transform:none !important;
  translate:none !important;
  rotate:none !important;
  scale:none !important;
  transition:none !important;
  animation:none !important;
  will-change:auto !important;
}

/* Mobile: visually fill almost the entire horizontal screen. */
@media (max-width:760px){
  body[data-page="home"] .hero-logo-wrap{
    width:calc(100vw - 20px) !important;
    max-width:none !important;
    margin-left:calc(50% - 50vw + 10px) !important;
    margin-right:0 !important;
    margin-bottom:18px !important;
  }

  body[data-page="home"] .hero-logo-return,
  body[data-page="home"] .hero-clean .hero-logo-return,
  body[data-page="home"] .hero-expanded .hero-logo-return{
    width:calc(100vw - 20px) !important;
    max-width:none !important;
    height:auto !important;
    margin:0 !important;
  }
}



/* === V102: CTA igazítás + dokumentum kontraszt javítás === */

/* Termékkártyák: a CTA-k legyenek egy vonalban és egyértelműen kattinthatók */
.products-grid{align-items:stretch !important;}
.product-card{
  justify-content:flex-start !important;
  gap:10px !important;
}
.product-card .product-visual{margin-top:auto !important;}
.product-card .source-note{
  min-height:20px !important;
  margin-top:4px !important;
  margin-bottom:0 !important;
}
.product-card .source-note--placeholder{
  visibility:hidden !important;
}
.product-card .linkline{
  margin-top:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  min-height:70px !important;
  width:100% !important;
  padding:0 18px 0 18px !important;
  background:var(--orange) !important;
  color:#111111 !important;
  border-radius:20px !important;
  border:0 !important;
  font-size:1.06rem !important;
  font-weight:900 !important;
  box-shadow:0 12px 28px rgba(0,0,0,.16) !important;
}
.product-card .linkline span:first-child{
  color:#111111 !important;
}
.product-card .linkline span:last-child{
  display:grid !important;
  place-items:center !important;
  width:44px !important;
  min-width:44px !important;
  height:44px !important;
  border-radius:50% !important;
  background:rgba(0,0,0,.10) !important;
  color:#111111 !important;
  font-size:1.35rem !important;
  line-height:1 !important;
}
.product-card.bunol .linkline,
.product-card.mersin .linkline{
  margin-top:auto !important;
}

/* Dokumentumkártyák: végleges, erős kontraszt */
.doc-category-section .doc-card,
.section-dark .doc-card,
.section-charcoal .doc-card,
body[data-page="docs"] .doc-card{
  background:rgba(18,20,22,.96) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.78) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.18) !important;
}
.doc-category-section .doc-card b,
.section-dark .doc-card b,
.section-charcoal .doc-card b,
body[data-page="docs"] .doc-card b{
  display:block !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  font-size:1.02rem !important;
  font-weight:850 !important;
  line-height:1.25 !important;
}
.doc-category-section .doc-card span,
.section-dark .doc-card span,
.section-charcoal .doc-card span,
body[data-page="docs"] .doc-card span{
  color:#d2d8dd !important;
  -webkit-text-fill-color:#d2d8dd !important;
  opacity:1 !important;
}
.doc-category-section .doc-card .doc-status,
.section-dark .doc-card .doc-status,
.section-charcoal .doc-card .doc-status,
body[data-page="docs"] .doc-card .doc-status{
  color:#f5f7f8 !important;
  -webkit-text-fill-color:#f5f7f8 !important;
  font-weight:700 !important;
}
.doc-category-section .doc-card .doc-type,
.section-dark .doc-card .doc-type,
.section-charcoal .doc-card .doc-type,
body[data-page="docs"] .doc-card .doc-type{
  background:#f5f3ed !important;
  color:var(--orange) !important;
  -webkit-text-fill-color:var(--orange) !important;
}
.doc-category-section .doc-card .dl,
.section-dark .doc-card .dl,
.section-charcoal .doc-card .dl,
body[data-page="docs"] .doc-card .dl{
  color:var(--orange) !important;
  -webkit-text-fill-color:var(--orange) !important;
  font-size:1.45rem !important;
  font-weight:900 !important;
}


/* === V103: sitewide readability audit === */
input::placeholder,
textarea::placeholder{color:#9b9b9b !important; opacity:1 !important;}
.light-panel h1, .light-panel h2, .light-panel h3,
.section-paper h1, .section-paper h2, .section-paper h3{color:#141414;}
.section-paper p, .section-paper li, .light-panel p, .light-panel li{color:#3b3f43;}








/* v118 – Kató Lilla portrait: same card proportions, head aligned to the others */
.team-grid .person.lilla-card .photo img{
  transform: scale(1.14) !important;
  object-fit: cover !important;
  object-position: center 8% !important;
  filter: grayscale(.08) saturate(.90) contrast(1.03) brightness(.99) !important;
}
