:root{--col-copper:#B87333;--col-copper-light:#D4956A;--col-copper-dark:#8B5A2B;--col-patina:#4A7C6F;--col-patina-light:#6B9E8F;--col-charcoal:#1E1E1E;--col-warm-black:#151210;--col-cream:#F5F0EB;--col-warm-white:#FAF8F5;--col-zinc:#6B7B8D;--font-display:'Playfair Display',Georgia,serif;--font-body:'Source Sans 3','Segoe UI',sans-serif;--space-xs:.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:4rem;--space-xl:6rem;--space-2xl:10rem}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
/* scrollbar-gutter: a görgetősáv helyét mindig fenntartjuk → a lightbox nyitásakor
   (overflow:hidden) nem tűnik el a sáv, nincs szélesség-ugrás / kép-átméreteződés. */
html{scroll-behavior:smooth;font-size:16px;scrollbar-gutter:stable}
body{font-family:var(--font-body);font-weight:300;color:var(--col-charcoal);background:var(--col-warm-white);line-height:1.7;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}
.container{width:min(90%,1200px);margin:0 auto}
.section-label{font-family:var(--font-body);font-weight:600;font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--col-copper);margin-bottom:var(--space-sm)}
.section-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.2rem);font-weight:700;line-height:1.15;color:var(--col-warm-black);margin-bottom:var(--space-md)}
.divider{width:60px;height:2px;background:var(--col-copper);margin:var(--space-md) 0}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:var(--space-sm) 0;transition:background .4s,backdrop-filter .4s,box-shadow .4s}
.nav.scrolled{background:rgba(21,18,16,.92);backdrop-filter:blur(16px);box-shadow:0 2px 40px rgba(0,0,0,.2)}
.nav__inner{display:flex;align-items:center;justify-content:space-between}
.nav__logo{font-family:var(--font-display);font-size:1.3rem;color:var(--col-cream);font-weight:700;letter-spacing:.02em}
.nav__logo span{color:var(--col-copper-light);font-style:italic;font-weight:400}
.nav__links{display:flex;gap:var(--space-md);list-style:none}
.nav__links a{color:var(--col-cream);font-size:.82rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;position:relative;transition:color .3s}
.nav__links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--col-copper-light);transition:width .3s}
.nav__links a:hover{color:var(--col-copper-light)}
.nav__links a:hover::after{width:100%}
.nav__hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.nav__hamburger span{display:block;width:26px;height:2px;background:var(--col-cream);transition:transform .3s,opacity .3s}
.lang-switch{position:relative;display:flex;align-items:center;margin-left:var(--space-sm)}
.lang-switch__options{display:flex;align-items:center;gap:0;border:1px solid rgba(245,240,235,.15);border-radius:6px;overflow:hidden}
.lang-switch__btn{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;color:rgba(245,240,235,.5);font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.06em;padding:.35rem .55rem;cursor:pointer;transition:color .3s,background .3s}
.lang-switch__btn:hover{color:var(--col-cream)}
.lang-switch__btn.active{background:rgba(184,115,51,.25);color:var(--col-copper-light)}
.lang-switch .flag{width:19px;height:13px;border-radius:2px;overflow:hidden;flex:0 0 auto;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.lang-switch .flag svg{width:100%;height:100%;display:block}
.lang-switch__mobile-toggle{display:none}
@media(max-width:600px){
  .nav__inner{gap:.6rem}
  .nav__logo{flex:none;white-space:nowrap;font-size:1.08rem}
  .nav__hamburger{margin-left:auto}
  .lang-switch{flex:none;margin-left:0}
  .lang-switch__mobile-toggle{display:inline-flex;align-items:center;gap:.4rem;min-width:53px;justify-content:center;padding:.42rem .55rem;border:1px solid rgba(245,240,235,.22);border-radius:999px;background:rgba(15,12,10,.42);color:var(--col-cream);font:600 .72rem/1 var(--font-body);letter-spacing:.08em;cursor:pointer;backdrop-filter:blur(8px)}
  .lang-switch__mobile-toggle svg{width:10px;height:7px;fill:none;stroke:var(--col-copper-light);stroke-width:1.5;transition:transform .25s}
  .lang-switch.open .lang-switch__mobile-toggle{border-color:rgba(212,149,106,.65);background:rgba(184,115,51,.16)}
  .lang-switch.open .lang-switch__mobile-toggle svg{transform:rotate(180deg)}
  .lang-switch__options{display:none;position:absolute;top:calc(100% + .55rem);right:0;z-index:120;min-width:142px;padding:.35rem;flex-direction:column;align-items:stretch;border:1px solid rgba(212,149,106,.28);border-radius:10px;background:rgba(15,12,10,.97);box-shadow:0 14px 38px rgba(0,0,0,.38);backdrop-filter:blur(14px)}
  .lang-switch.open .lang-switch__options{display:flex;animation:langMenuIn .2s ease-out}
  .lang-switch__btn{width:100%;justify-content:flex-start;gap:.65rem;padding:.58rem .7rem;border-radius:6px;font-size:.75rem}
  .lang-switch__btn.active{background:rgba(184,115,51,.2)}
  @keyframes langMenuIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;background:var(--col-warm-black);overflow:hidden}
/* Background photo: sharp, with a subtle saturation adjustment. */
.hero__bg{position:absolute;inset:-40px;background-image:url('../images/hero.jpg');background-size:cover;background-position:center;filter:saturate(1.05);transform:scale(1.08);animation:heroZoom 28s ease-in-out infinite alternate}
/* Dark/copper overlay keeps text readable and ties the photo to the palette */
.hero__overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(21,18,16,.92) 0%,rgba(21,18,16,.72) 45%,rgba(37,32,24,.55) 100%),radial-gradient(ellipse at 75% 30%,rgba(184,115,51,.22) 0%,transparent 55%)}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1.16)}}
.hero__content{position:relative;z-index:2;padding:var(--space-2xl) 0}
.hero__badge{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--col-copper-light);border:1px solid rgba(184,115,51,.3);padding:.5rem 1.2rem;margin-bottom:var(--space-sm);animation:fadeInDown 1s ease .2s both}
/* Eyebrow a cím FÖLÖTT (Agárdi díszműbádogos manufaktúra): kis kapitális kicker,
   egyértelmű térközzel a cím előtt. */
.hero__eyebrow{font-family:var(--font-body);font-weight:600;font-size:clamp(.82rem,1.4vw,1.02rem);letter-spacing:.24em;text-transform:uppercase;color:var(--col-copper-light);line-height:1.4;margin:0 0 var(--space-sm);max-width:760px;animation:fadeInUp 1s ease .35s both}
.hero__badge::before{content:'';width:6px;height:6px;background:var(--col-copper);border-radius:50%}
.hero__title{font-family:var(--font-display);font-size:clamp(2.3rem,5.4vw,4rem);font-weight:700;line-height:1.04;letter-spacing:.01em;color:var(--col-cream);margin-bottom:var(--space-md);max-width:900px;animation:fadeInUp 1s ease .45s both}
.hero__title em{font-style:italic;color:var(--col-copper-light)}
.hero__tagline{font-family:var(--font-body);font-weight:600;font-size:clamp(.85rem,1.6vw,1.05rem);letter-spacing:.28em;text-transform:uppercase;color:var(--col-copper-light);margin-bottom:var(--space-md);animation:fadeInUp 1s ease .75s both}
.hero__subtitle{font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:300;color:rgba(245,240,235,.82);max-width:600px;line-height:1.8;margin-bottom:var(--space-lg);animation:fadeInUp 1s ease .6s both}
.hero__cta{display:inline-flex;align-items:center;gap:.75rem;background:var(--col-copper);color:var(--col-warm-white);padding:1rem 2.2rem;font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:none;cursor:pointer;transition:background .3s,transform .2s;animation:fadeInUp 1s ease .8s both}
.hero__cta:hover{background:var(--col-copper-dark);transform:translateY(-2px)}
.hero__cta svg{transition:transform .3s}.hero__cta:hover svg{transform:translateX(4px)}
.hero__scroll{position:absolute;bottom:var(--space-md);left:50%;transform:translateX(-50%);color:rgba(245,240,235,.4);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:fadeIn 1s ease 1.2s both;transition:opacity .4s}
.hero__scroll-mouse{width:26px;height:42px;border:2px solid rgba(245,240,235,.35);border-radius:13px;position:relative}
.hero__scroll-mouse::before{content:'';position:absolute;top:7px;left:50%;transform:translateX(-50%);width:4px;height:8px;border-radius:2px;background:var(--col-copper-light);animation:mouseScroll 2s ease-in-out infinite}
@keyframes mouseScroll{0%{top:7px;opacity:1}50%{top:22px;opacity:.2}100%{top:7px;opacity:1}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ABOUT */
.about{padding:var(--space-2xl) 0;background:var(--col-warm-white)}
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);align-items:center}
.about__text p{margin-bottom:var(--space-sm);font-size:1.12rem;line-height:1.75;color:#444}
.about__quote{font-family:var(--font-display);font-style:italic;font-size:1.5rem;color:var(--col-copper-dark);margin-top:var(--space-md);padding-left:var(--space-md);border-left:3px solid var(--col-copper)}
.about__awards{display:grid;grid-template-columns:1fr;gap:var(--space-sm);margin-top:var(--space-md)}
/* Díj-kártya: szöveg balra, díj-kép jobbra */
.award-card{display:flex;align-items:center;gap:var(--space-sm);background:var(--col-cream);padding:var(--space-sm) var(--space-md);position:relative;overflow:hidden}
.award-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--col-copper)}
.award-card__body{flex:1;min-width:0}
.award-card__year{font-family:var(--font-display);font-size:1.7rem;font-weight:700;color:var(--col-copper);line-height:1}
.award-card__title{font-size:.94rem;font-weight:600;color:var(--col-charcoal);margin-top:.3rem;line-height:1.4}
.award-card__media{flex:0 0 auto;width:56px;height:56px;display:grid;place-items:center;color:var(--col-copper);background:rgba(184,115,51,.08);border-radius:8px;overflow:hidden}
.award-card__trophy{width:30px;height:30px}
.award-card__photo{width:100%;height:100%;object-fit:cover}   /* ha valódi díj-fotó kerül be */

/* SERVICES */
.services{padding:var(--space-2xl) 0 var(--space-lg);background:var(--col-warm-black);color:var(--col-cream);position:relative}
.services::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 30%,rgba(184,115,51,.06) 0%,transparent 60%);pointer-events:none}
.services .section-title{color:var(--col-cream)}
.services__intro{font-size:1.13rem;line-height:1.7;color:rgba(245,240,235,.72);max-width:660px}
.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md);margin-top:var(--space-md);position:relative;z-index:1}
.service-card{border:1px solid rgba(184,115,51,.2);padding:var(--space-md);transition:border-color .4s,transform .3s;position:relative}
.service-card:hover{border-color:var(--col-copper);transform:translateY(-4px)}
.service-card__icon{width:48px;height:48px;margin-bottom:var(--space-sm);color:var(--col-copper)}
.service-card__title{font-family:var(--font-display);font-size:1.38rem;font-weight:700;margin-bottom:var(--space-xs)}
.service-card__desc{font-size:1.02rem;color:rgba(245,240,235,.64);line-height:1.72}
.service-card__number{position:absolute;top:var(--space-sm);right:var(--space-sm);font-family:var(--font-display);font-size:3rem;font-weight:700;color:rgba(212,149,106,.16);line-height:1}

/* CLAIM — visszafogott, balra zárt egysoros állítás sötét háttéren; csak a 300+
   kap finom réz akcentust (illeszkedik a hero + szolgáltatáskártyák hangulatához). */
.claim{position:relative;background:var(--col-warm-black);color:var(--col-cream);padding:var(--space-md) 0 var(--space-lg)}
.claim::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 25% 50%,rgba(184,115,51,.06),transparent 60%)}
.claim__line{position:relative;font-family:var(--font-display);font-weight:600;font-size:clamp(1.25rem,2.4vw,1.9rem);line-height:1.45;max-width:840px;color:rgba(245,240,235,.9)}
.claim__num{color:var(--col-copper-light);font-weight:700}

/* ═══════════════════════════════════════════
   SHOWCASE — projekt-szekció háttér/tipográfia. A .showcase__intro-t a galéria-
   oldalak fejléce (group-head) is használja. A projekt-galéria mai elrendezése a
   .stage carousel — lásd a fájl végén az „INTEGRÁCIÓ … projekt-carousel" blokkot.
═══════════════════════════════════════════ */
.showcase{padding:var(--space-2xl) 0}
.showcase--diszmu{background:var(--col-cream)}
.showcase--epulet{background:var(--col-warm-white)}
.showcase--muhely{background:var(--col-cream)}
.showcase .section-title{margin-bottom:var(--space-xs)}
.showcase__intro{font-size:1.05rem;color:#555;max-width:650px;margin-bottom:var(--space-lg)}

/* (A régi „.project-card" galéria-komponens törölve — a projekt-galéria most az
   „1B" elrendezés: .proj / .gal-grid / .gal-cell, a fájl végi INTEGRÁCIÓ blokkban.) */

/* HOME TEASER — három galéria-„kapu" a hero alatt (B variáció: nyugodt, szimmetrikus 3-as sor).
   A .tile a teaser.js kimenete; a szöveg data-hu/en/de/fr, borító az adott kategória első képéből. */
.teaser{background:var(--col-cream);padding:clamp(3.2rem,7vw,6rem) 0}
.teaser__head{text-align:center;max-width:760px;margin:0 auto clamp(2rem,4vw,3.2rem)}
.teaser__eyebrow{font:600 .75rem/1 var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--col-copper);margin-bottom:1rem}
.teaser__title{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,4.4vw,3.1rem);line-height:1.1;color:var(--col-warm-black)}
.teaser__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.8rem,1.5vw,1.3rem)}
.teaser__grid .tile{aspect-ratio:3/4}
.tile{position:relative;display:block;overflow:hidden;border-radius:12px;background:var(--col-warm-black);box-shadow:0 16px 44px -20px rgba(21,18,16,.5);cursor:pointer}
.tile-img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.25,.46,.45,.94)}
.tile:hover .tile-img{transform:scale(1.045)}
.tile-scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(12,9,7,.82) 0%,rgba(12,9,7,.35) 30%,transparent 58%)}
.tile-cap{position:absolute;inset:auto 0 0 0;padding:clamp(1.1rem,2vw,1.7rem);color:#fff}
.tile-hairline{width:38px;height:2px;background:var(--col-copper-light);margin-bottom:.8rem;transition:width .5s ease}
.tile:hover .tile-hairline{width:64px}
.tile-name{font-family:var(--font-display);font-weight:700;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.1;margin:0 0 .35rem}
.tile-desc{font:400 .95rem/1.4 var(--font-body);color:rgba(245,240,235,.82);margin-bottom:.7rem}
.tile-link{display:inline-flex;align-items:center;gap:.4rem;font:600 .82rem/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:#fff}
.tile-link .arrow{color:var(--col-copper-light);transition:transform .35s ease}
.tile:hover .tile-link .arrow{transform:translateX(5px)}
@media(max-width:760px){
  .teaser__grid{grid-template-columns:1fr}
  .teaser__grid .tile{aspect-ratio:16/11}
}

/* PRODUCTS */
.products{padding:var(--space-2xl) 0;background:var(--col-warm-black);color:var(--col-cream);position:relative}
.products::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 80%,rgba(184,115,51,.06) 0%,transparent 60%);pointer-events:none}
.products .section-title{color:var(--col-cream)}
.products__intro{font-size:clamp(1.15rem,1.7vw,1.28rem);line-height:1.7;color:rgba(245,240,235,.68);max-width:680px;margin-bottom:var(--space-sm)}
/* Kiemelt sor: nincs raktárkészlet, csak megrendelésre — réz akcentussal */
.products__note{margin:0 0 var(--space-lg);padding-left:.9rem;border-left:2px solid var(--col-copper);color:var(--col-copper-light);font-weight:600;font-size:1.02rem;line-height:1.5;max-width:560px}
.products__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);position:relative;z-index:1}
.product-card{position:relative;overflow:hidden;aspect-ratio:1;cursor:pointer;border:1px solid rgba(184,115,51,.12);transition:border-color .3s}
.product-card:hover{border-color:var(--col-copper)}
.product-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.product-card:hover img{transform:scale(1.06)}
/* A terméknév MINDIG látszik (nem csak hoverre), alul finom sötét átmenettel */
.product-card__label{position:absolute;bottom:0;left:0;right:0;padding:.7rem 1rem;background:linear-gradient(to top,rgba(21,18,16,.92),rgba(21,18,16,.5) 55%,transparent);font-family:var(--font-display);font-size:.92rem;font-weight:700;color:var(--col-cream);text-align:center}

/* PHOTOSWIPE LIGHTBOX */
.gallery-open,.gallery-open body{overflow:hidden!important;overscroll-behavior:none}
.pswp--alu{--pswp-bg:#0f0c0a;--pswp-icon-color:var(--col-cream);--pswp-icon-color-secondary:var(--col-cream);--pswp-icon-stroke-color:transparent;z-index:100000;width:100vw;height:100dvh;inset:0}
.pswp--alu .pswp__bg{background:#0f0c0a!important;opacity:1!important}
/* Nincs keret a nagy nézeten: az 1px-es réz border 2px-et adott a mérethez, ezért
   nyitáskor a kép „belenőtt" a keretbe (pici ugrás + barna villanás). A lágy árnyék
   marad (nem befolyásolja a méretet). */
.pswp--alu .pswp__img{box-shadow:0 18px 70px rgba(0,0,0,.55)}
.pswp--alu .pswp__top-bar{height:72px;background:linear-gradient(to bottom,rgba(15,12,10,.58),transparent)}
.pswp--alu .pswp__counter{position:absolute;top:24px;left:24px;height:auto;margin:0;padding:.5rem .75rem;border:1px solid rgba(245,240,235,.12);border-radius:999px;background:rgba(15,12,10,.62);font-size:.82rem;font-weight:500;line-height:1;letter-spacing:.12em;color:rgba(245,240,235,.72);text-shadow:none;opacity:1;backdrop-filter:blur(8px)}
.pswp--alu .pswp__button--close{position:absolute;top:16px;right:20px;width:48px;height:48px;border:1px solid rgba(245,240,235,.22);border-radius:50%;background:rgba(15,12,10,.58);transition:border-color .3s,background .3s}
.pswp--alu .pswp__button--close:hover{border-color:var(--col-copper);background:rgba(184,115,51,.15)}
.pswp--alu .pswp__button--close .pswp__icn,.pswp--alu .pswp__button--arrow .pswp__icn{display:none}
.pswp--alu .pswp__button--close::before,.pswp--alu .pswp__button--close::after{content:'';position:absolute;top:50%;left:50%;width:20px;height:2px;border-radius:2px;background:var(--col-cream)}
.pswp--alu .pswp__button--close::before{transform:translate(-50%,-50%) rotate(45deg)}
.pswp--alu .pswp__button--close::after{transform:translate(-50%,-50%) rotate(-45deg)}
.pswp--alu .pswp__button--arrow{width:48px;height:48px;margin-top:-24px;border:1px solid rgba(245,240,235,.2);border-radius:50%;background:rgba(15,12,10,.58);transition:border-color .3s,background .3s}
.pswp--alu .pswp__button--arrow:hover{border-color:var(--col-copper);background:rgba(184,115,51,.15)}
.pswp--alu .pswp__button--arrow--prev{left:var(--space-md)}
.pswp--alu .pswp__button--arrow--next{right:var(--space-md)}
.pswp--alu .pswp__button--arrow::before{content:'';position:absolute;top:50%;left:50%;width:11px;height:11px;border-top:2px solid var(--col-cream);border-right:2px solid var(--col-cream)}
.pswp--alu .pswp__button--arrow--prev::before{transform:translate(-35%,-50%) rotate(-135deg)}
.pswp--alu .pswp__button--arrow--next::before{transform:translate(-65%,-50%) rotate(45deg)}
.pswp--alu .pswp__alu-caption{position:absolute;z-index:10;bottom:var(--space-md);left:50%;width:min(80vw,700px);transform:translateX(-50%);text-align:center;color:var(--col-cream);pointer-events:none}
.pswp__alu-caption-title{font-family:var(--font-display);font-size:1.2rem;font-weight:700}
.pswp__alu-caption-meta{margin-top:.25rem;font-size:.8rem;color:rgba(245,240,235,.5)}
.pswp--alu .pswp__alu-video{display:block;object-fit:contain;background:#000;box-shadow:0 18px 70px rgba(0,0,0,.55);cursor:auto;pointer-events:auto;touch-action:auto}
.pswp--alu .pswp__alu-youtube{position:relative;display:block;overflow:hidden;background:#000;box-shadow:0 18px 70px rgba(0,0,0,.55);cursor:auto;pointer-events:auto;touch-action:auto}
.pswp__alu-youtube-poster,.pswp__alu-youtube-frame{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.pswp__alu-youtube-consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;padding:1.25rem;text-align:center;background:linear-gradient(rgba(8,6,5,.22),rgba(8,6,5,.72))}
.pswp__alu-youtube-button{display:inline-flex;align-items:center;gap:.7rem;border:1px solid rgba(255,255,255,.38);border-radius:999px;padding:.85rem 1.25rem;background:rgba(15,12,10,.82);backdrop-filter:blur(8px);color:#fff;font:600 .9rem/1.2 var(--font-body);cursor:pointer;box-shadow:0 8px 28px rgba(0,0,0,.35);transition:background .2s,border-color .2s,transform .2s}
.pswp__alu-youtube-button::before{content:"";width:0;height:0;border-left:12px solid var(--col-copper-light);border-top:8px solid transparent;border-bottom:8px solid transparent}
.pswp__alu-youtube-button:hover{background:rgba(184,115,51,.84);border-color:var(--col-copper-light);transform:translateY(-1px)}
.pswp__alu-youtube-button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.pswp__alu-youtube-notice{max-width:32rem;color:rgba(255,255,255,.78);font:400 .78rem/1.45 var(--font-body);text-shadow:0 2px 10px rgba(0,0,0,.65)}

/* CONTACT */
.contact{padding:var(--space-2xl) 0;background:var(--col-warm-black);color:var(--col-cream);position:relative}
.contact::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 80%,rgba(184,115,51,.08) 0%,transparent 50%);pointer-events:none}
.contact .section-title{color:var(--col-cream)}
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);margin-top:var(--space-lg);position:relative;z-index:1}
.contact__info{display:flex;flex-direction:column;gap:var(--space-md)}
.contact__item{display:flex;gap:var(--space-sm);align-items:flex-start}
.contact__item-icon{flex-shrink:0;width:24px;height:24px;color:var(--col-copper);margin-top:2px}
.contact__item-label{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(245,240,235,.52)}
.contact__item-value{font-size:1.16rem;color:var(--col-cream);margin-top:.25rem}
.contact__item-value a{transition:color .3s}.contact__item-value a:hover{color:var(--col-copper-light)}
.contact__legal-name{max-width:470px;margin-top:.55rem;font-size:.84rem;line-height:1.5;color:rgba(245,240,235,.48)}
.contact__map-wrap{min-width:0}
.contact__map-placeholder{background:#252220;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;border:1px solid rgba(184,115,51,.15);position:relative;overflow:hidden}
.contact__map{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.2) contrast(1.05)}
.contact__map-placeholder::before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(184,115,51,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(184,115,51,.04) 1px,transparent 1px);background-size:40px 40px}
.contact__map-text{font-family:var(--font-display);font-size:1rem;color:rgba(245,240,235,.3);text-align:center;line-height:1.6;z-index:1}
.contact__map-text strong{display:block;font-size:1.3rem;color:var(--col-copper-light);margin-bottom:.25rem}
.contact__map-privacy{margin-top:.65rem;font-size:.82rem;line-height:1.55;color:rgba(245,240,235,.5)}
.contact__map-privacy a{color:var(--col-copper-light);text-decoration:underline;text-underline-offset:3px}
.contact__directions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.8rem}
.contact__direction-link{display:inline-flex;align-items:center;gap:.45rem;padding:.62rem .85rem;border:1px solid rgba(212,149,106,.3);border-radius:999px;background:rgba(184,115,51,.08);font-size:.84rem;font-weight:600;line-height:1.2;color:rgba(245,240,235,.82);transition:color .25s,border-color .25s,background .25s,transform .2s}
.contact__direction-link svg{width:17px;height:17px;flex:none;fill:var(--col-copper-light)}
.contact__direction-link:hover{color:#fff;border-color:var(--col-copper-light);background:rgba(184,115,51,.18);transform:translateY(-1px)}
.footer{padding:var(--space-md) 0;background:#0e0d0b}
.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}
.footer__identity{text-align:left}
.footer__text{font-size:.85rem;color:rgba(245,240,235,.38)}
.footer__legal-name{max-width:700px;margin-top:.25rem;font-size:.73rem;line-height:1.48;color:rgba(245,240,235,.28)}
.footer__links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem 1.2rem;font-size:.83rem;color:rgba(245,240,235,.6)}
.footer__links a{transition:color .25s}.footer__links a:hover{color:var(--col-copper-light)}

@media(max-width:900px){
  .nav__links{display:none}.nav__hamburger{display:flex}
  .nav__links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(21,18,16,.97);padding:var(--space-md);gap:var(--space-sm)}
  .about__grid,.contact__grid{grid-template-columns:1fr}
  .services__grid{grid-template-columns:1fr}
  .stats__grid{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}
  .showcase__grid{grid-template-columns:1fr}
  .products__grid{grid-template-columns:repeat(2,1fr)}
  .hero__shapes{display:none}
  .pswp--alu .pswp__button--arrow{top:auto;bottom:var(--space-md);margin:0;width:40px;height:40px}
  .pswp--alu .pswp__button--arrow--prev{left:auto;right:calc(var(--space-md) + 48px)}
  .pswp--alu .pswp__button--arrow--next{right:var(--space-md)}
  .pswp--alu .pswp__alu-caption{bottom:5rem;width:calc(100% - 2rem)}
}
@media(max-width:700px){
  .footer__inner{align-items:flex-start;flex-direction:column}
  .footer__links{justify-content:flex-start}
  .contact__directions{display:grid;grid-template-columns:1fr 1fr}
  .contact__direction-link{justify-content:center;text-align:center;padding:.7rem .55rem}
}
@media(max-width:500px){
  .stats__grid{grid-template-columns:repeat(2,1fr)}.about__awards{grid-template-columns:1fr}
  .products__grid{grid-template-columns:1fr 1fr}
  .pswp--alu .pswp__top-bar{height:64px}
  .pswp--alu .pswp__button--close{top:12px;right:12px;width:44px;height:44px}
  .pswp--alu .pswp__counter{top:14px;left:12px;padding:.45rem .65rem;font-size:.78rem}
  .pswp--alu .pswp__button--arrow{bottom:var(--space-sm)}
  .pswp--alu .pswp__button--arrow--prev{right:calc(var(--space-sm) + 46px)}
  .pswp--alu .pswp__button--arrow--next{right:var(--space-sm)}
  .pswp--alu .pswp__alu-caption{bottom:4.5rem}
  .pswp__alu-caption-title{font-size:1.05rem}
}

/* ── helpers added during the pro pass ── */
.divider--light{background:var(--col-copper-light)}
.contact__owner{font-size:.85rem;color:rgba(245,240,235,.5)}

/* Click-to-load map button (privacy-friendly) */
.contact__map-load{position:absolute;inset:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:transparent;border:none;cursor:pointer;color:rgba(245,240,235,.55);font-family:var(--font-body);transition:color .3s,background .3s;z-index:1}
.contact__map-load:hover{color:var(--col-copper-light);background:rgba(184,115,51,.06)}
.contact__map-load span{font-family:var(--font-display);font-size:1.05rem}
.contact__map-load small{font-size:.75rem;opacity:.7;letter-spacing:.04em}

/* Jogi oldalak */
.legal-page{min-height:70vh;padding:clamp(8rem,13vw,11rem) 0 var(--space-xl);background:var(--col-warm-white)}
.legal-page__head{max-width:850px;margin-bottom:var(--space-lg)}
.legal-page__lead{max-width:780px;font-size:1.06rem;color:#4d4945}
.legal-content{max-width:920px}
.legal-section{padding:var(--space-md) 0;border-top:1px solid rgba(21,18,16,.12)}
.legal-section h2{margin-bottom:var(--space-sm);font-family:var(--font-display);font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.25;color:var(--col-warm-black)}
.legal-section h3{margin:1.3rem 0 .5rem;font-size:1.05rem;color:var(--col-charcoal)}
.legal-section p,.legal-section li{color:#4d4945}
.legal-section p+p{margin-top:.75rem}
.legal-section ul{padding-left:1.25rem}
.legal-section a{color:var(--col-copper-dark);text-decoration:underline;text-underline-offset:3px}
.legal-data{display:grid;grid-template-columns:minmax(180px,.7fr) 1.5fr;gap:.55rem 1.25rem}
.legal-data dt{font-weight:600;color:#38332f}.legal-data dd{color:#55504c}
.legal-table-wrap{overflow-x:auto;margin-top:1rem}
.legal-table{width:100%;border-collapse:collapse;font-size:.9rem}
.legal-table th,.legal-table td{padding:.75rem;text-align:left;vertical-align:top;border:1px solid rgba(21,18,16,.12)}
.legal-table th{background:var(--col-cream);font-weight:600}
.legal-warning{padding:1rem 1.1rem;border-left:3px solid var(--col-copper);background:#fff5e9;color:#5f452f!important}
.legal-meta{margin-top:var(--space-md);font-size:.8rem;color:#777}
@media(max-width:640px){.legal-data{grid-template-columns:1fr;gap:.15rem}.legal-data dd{margin-bottom:.75rem}}

/* Accessibility: visible keyboard focus + interactive cursor for card buttons */
.product-card{cursor:pointer}
:focus-visible{outline:2px solid var(--col-copper-light);outline-offset:3px}
.product-card:focus-visible{outline:2px solid var(--col-copper-light);outline-offset:4px}

/* Respect users who prefer reduced motion */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1 !important;transform:none !important}
  .hero__bg{animation:none}
}

/* ════════════════════════════════════════════
   INTEGRÁCIÓ: galéria-oldal + projekt-carousel (.stage) + hero parallax
════════════════════════════════════════════ */
:root{--transition-duration:700ms;--transition-easing:cubic-bezier(.22,1,.36,1);--autoplay-duration:5000ms}

/* ── Függőleges projekt-lista: egy teljes szélességű blokk projektenként ── */
.showcase__grid{display:flex;flex-direction:column;gap:0}
.proj{width:100%;padding-block:clamp(1.6rem,3.5vw,3rem);border-bottom:1px solid rgba(30,20,10,.08)}
.proj:first-child{padding-top:0}
.proj:last-child{border-bottom:0}
.proj__head{margin-bottom:1.1rem}
/* Réz feliratok VILÁGOS háttéren a sötétebb réz árnyalattal (WCAG kontraszt:
   copper-dark 5.16:1 krémen; a világos réz csak a sötét szekciókon elég). */
.proj__eyebrow{font:600 .78rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--col-copper-dark)}
.proj__title{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;line-height:1.12;color:var(--col-charcoal);margin:.35rem 0}
.proj__loc{font:400 1rem var(--font-body);color:var(--col-copper-dark)}
.proj__diamond{margin-right:.4rem}
.proj__rule{display:block;width:48px;height:2px;background:var(--col-copper);margin:.8rem 0 0}
.proj__desc{font:400 .95rem/1.6 var(--font-body);color:var(--col-zinc);margin:.7rem 0 0;max-width:62ch}
.about .section-label,.showcase .section-label{color:var(--col-copper-dark)}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;grid-auto-flow:dense}
@media(max-width:900px){.gal-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.gal-grid{grid-template-columns:repeat(2,1fr)}}
/* háttér = enyhén sötétebb a krémnél, hogy a lusta-betöltésű csempe helye
   krém szekción is látsszon a kép beérkezése előtt */
.gal-cell{position:relative;display:block;width:100%;aspect-ratio:1/1;border:0;padding:0;border-radius:8px;overflow:hidden;background:#EBE3D9;cursor:pointer}
.gal-cell--feat{grid-column:span 2;grid-row:span 2;border-radius:10px}
.gal-cell img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.25,.46,.45,.94)}
.gal-cell:hover img,.gal-cell:focus-visible img{transform:scale(1.05)}
.gal-cell:focus-visible{outline:2px solid var(--col-copper-light);outline-offset:2px}
.gal-play{position:absolute;inset:0;margin:auto;width:44px;height:44px;border-radius:50%;background:rgba(184,115,51,.92);display:grid;place-items:center;pointer-events:none;box-shadow:0 4px 18px rgba(0,0,0,.35)}
.gal-play::after{content:"";border-left:13px solid var(--col-warm-white);border-top:8px solid transparent;border-bottom:8px solid transparent;margin-left:3px}
.gal-cell--feat .gal-play{width:54px;height:54px}
@media(prefers-reduced-motion:reduce){.gal-cell img{transition:none}}

/* ── Group-oldal (galéria) + projekt-stage (carousel) ── */
.group-page{padding-top:clamp(6.5rem,12vh,8.5rem);padding-bottom:clamp(3rem,6vw,5rem)}
.group-head{text-align:center;margin-bottom:clamp(1.6rem,4vw,2.8rem)}
.group-head .section-label{color:var(--col-copper)}
.group-head .divider{margin-inline:auto}
.group-head .showcase__intro{margin-inline:auto;font-size:clamp(1.16rem,1.8vw,1.34rem);line-height:1.7;max-width:760px}
#groupGallery{width:min(92%,1180px);margin:0 auto;display:flex;flex-direction:column;gap:clamp(2rem,4.5vw,4rem)}
.stage{position:relative;width:100%;aspect-ratio:16/9;max-height:80vh;overflow:hidden;background:var(--col-warm-black);cursor:pointer;border-radius:14px;box-shadow:0 18px 50px rgba(21,18,16,.16);content-visibility:auto;contain-intrinsic-size:auto 664px}
.stage:focus-visible{outline:2px solid var(--col-copper-light);outline-offset:4px}
.stage__bg{position:absolute;inset:0;touch-action:pan-y}
.stage .layer{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}
.stage .layer:first-child{opacity:1}   /* a HTML-be sütött első kép JS nélkül is látszik */
.stage .layer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;user-select:none}
.stage .layer--fit .layer__img{object-fit:contain}
.stage .layer--fit .layer__fill{filter:blur(26px) brightness(.82);transform:scale(1.12)}
.stage .layer video{width:100%;height:100%;object-fit:contain;background:#000}
.stage__youtube-play{position:absolute;z-index:2;top:50%;left:50%;width:72px;height:72px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.42);border-radius:50%;background:rgba(15,12,10,.72);backdrop-filter:blur(8px);box-shadow:0 10px 32px rgba(0,0,0,.42);pointer-events:none}
.stage__youtube-play::after{content:"";position:absolute;top:50%;left:52%;transform:translate(-50%,-50%);border-left:20px solid var(--col-copper-light);border-top:13px solid transparent;border-bottom:13px solid transparent}
.stage__fade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(8,6,5,.9) 0%,rgba(8,6,5,.55) 22%,rgba(8,6,5,.12) 42%,transparent 60%)}
.stage__overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1rem,2.6vw,1.9rem);pointer-events:none}
.stage__caption{margin-bottom:.9rem;max-width:64%;text-shadow:0 2px 20px rgba(0,0,0,.6)}
.stage__eyebrow{font:600 .72rem/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--col-copper-light)}
.stage__title{font-family:var(--font-display);font-size:clamp(1.35rem,2.6vw,2.1rem);font-weight:700;color:#fff;line-height:1.12;margin:.35rem 0 .2rem;overflow-wrap:anywhere}
.stage__loc{font:400 .95rem var(--font-body);color:rgba(245,240,235,.85)}
.stage__loc span{color:var(--col-copper-light);margin-right:.35rem}
.stage__desc{margin:.4rem 0 0;color:rgba(245,240,235,.82);font:400 .92rem/1.4 var(--font-body);max-width:64%}
.stage__bar{pointer-events:auto}
.stage__index{font:600 .72rem/1 var(--font-body);letter-spacing:.14em;color:rgba(245,240,235,.85);margin-bottom:.75rem}
.stage__index[hidden]{display:none}
.rail{display:flex;gap:.6rem;overflow-x:auto;padding:4px 2px .35rem;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;cursor:grab;user-select:none;touch-action:pan-x pan-y;scrollbar-width:none}
.rail.dragging{cursor:grabbing}
.rail::-webkit-scrollbar{height:0}
.thumb{position:relative;flex:0 0 auto;width:122px;height:76px;border:0;padding:0;border-radius:8px;overflow:hidden;cursor:pointer;background:#222;opacity:.62;transition:opacity .3s,transform .3s,box-shadow .3s;outline-offset:3px}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb--video>img{display:block}
.thumb:hover{opacity:1;transform:translateY(-2px)}
.thumb.active{opacity:1;box-shadow:0 0 0 2px var(--col-copper-light)}
.thumb:focus-visible{outline:2px solid var(--col-copper-light)}
.thumb__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:rgba(184,115,51,.92);display:grid;place-items:center;pointer-events:none}
.thumb__play::after{content:"";border-left:9px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:2px}
.stage__arrow{position:absolute;top:42%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid rgba(245,240,235,.22);background:rgba(15,12,10,.42);backdrop-filter:blur(6px);color:#fff;font-size:1.7rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:4;opacity:0;transition:opacity .3s,background .25s,border-color .25s;pointer-events:auto}
.stage:hover .stage__arrow,.stage__arrow:focus-visible{opacity:1}
.stage__arrow:hover{background:rgba(184,115,51,.55);border-color:var(--col-copper-light)}
.stage__arrow--prev{left:14px}
.stage__arrow--next{right:14px}
@media(hover:none){.stage__arrow{display:none}}   /* érintőn a swipe viszi a lapozást */
@media(max-width:640px){
  /* A demó bevált mobil-aránya: magas, filmszerű kártya. A korábbi 3:2 túl alacsony
     volt, ezért a cím + index + bélyegsor összetorlódott a kép teljes magasságán. */
  .stage{height:clamp(520px,80vh,680px);height:clamp(520px,80svh,680px);aspect-ratio:auto;max-height:none}
  /* Telefonon a magas stage-et a cover tölti ki szépen; desktopon továbbra is a
     vágás nélküli contain + elmosott háttér marad az eltérő képarányokhoz. */
  .stage .layer--fit .layer__img{object-fit:cover;object-position:center}
  .stage .layer--fit .layer__fill{display:none}
  .stage__overlay{padding:.95rem}
  .stage__caption{max-width:100%;margin-bottom:.7rem}
  .stage__title{max-width:96%;font-size:clamp(1.25rem,5.7vw,1.65rem);line-height:1.08}
  .stage__loc{font-size:.88rem}
  .stage__desc{display:none}
  .stage__index{margin-bottom:.55rem}
  .stage__fade{background:linear-gradient(to top,rgba(8,6,5,.94) 0%,rgba(8,6,5,.58) 24%,rgba(8,6,5,.1) 45%,transparent 62%)}
  .thumb{width:96px;height:62px}
  .stage__youtube-play{width:60px;height:60px}
  .stage__youtube-play::after{border-left-width:17px;border-top-width:11px;border-bottom-width:11px}
  .group-head .section-title{font-size:clamp(1.7rem,6.5vw,2.4rem)}
}
@media(prefers-reduced-motion:reduce){.stage .layer{transition:none}}

/* ── Hero parallax + lágy átmenet a teaserbe ── */
.hero__parallax{position:absolute;inset:0;z-index:0;will-change:transform}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34vh;background:linear-gradient(to bottom,transparent,var(--col-warm-black));z-index:1;pointer-events:none}
.hero__content{z-index:2}
.hero__scroll{z-index:2}

/* Csak felolvasónak látható elemek */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Mobil dinamikus viewport: 100svh, hogy az URL-sáv ne tolja a hero alját (a
   „Görgessen" jelzőt/fade-et) a látható terület alá. Nem támogatott böngészőn a
   fentebbi 100vh marad érvényben. */
.hero{min-height:100svh}

/* Kis telefonon a 16:9 dia túl alacsony → a felirat csúszhat: magasabb arány + kisebb cím */
@media(max-width:600px){
  .slide{aspect-ratio:4/5}
}

/* Háttér-eltávolított termékek (átlátszó PNG): a tárgy teljesen látszódjon a
   sötét szekción, kis kerettel és halvány réz-derengéssel (katalógus-hatás). */
.product-card--cutout{background:radial-gradient(ellipse at 50% 42%,rgba(184,115,51,.10),transparent 70%)}
/* drop-shadow a tárgy SZILUETTJÉRE (az alfát követi): finom réz-derengés + halk
   alsó árnyék → „világító termék" hatás, és elrejti a maradék apró élhibát. */
.product-card--cutout img{object-fit:contain;padding:9%;box-sizing:border-box;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.5)) drop-shadow(0 0 10px rgba(212,149,106,.45))}
