:root{--bg:#0a0a08;--surface:#111110;--surface2:#1a1a17;--gold:#c9a84c;--gold-light:#e8c76b;--cream:#f5f0e8;--muted:#8c8b7a;--text:#e8e4d8;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-weight:400;overflow-x:hidden;max-width:100vw;}
img,svg,video{max-width:100%;}
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--gold);}


/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 4rem;background:rgba(10,10,8,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06);}
nav::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,10,8,.95) 0%,transparent 100%);pointer-events:none;}
nav::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(201,168,76,.35) 20%,rgba(201,168,76,.35) 80%,transparent 100%);pointer-events:none;}
.nav-logo{font-family:'Outfit',sans-serif;font-size:1.2rem;font-weight:700;color:var(--cream);text-decoration:none;position:relative;z-index:101;letter-spacing:.04em;}
.nav-logo span{color:var(--gold);}
.nav-links{display:flex;gap:2.5rem;list-style:none;position:relative;z-index:101;}
.nav-links a{color:var(--muted);text-decoration:none;font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;font-weight:400;transition:color .3s;}
.nav-links a:hover{color:var(--gold);}
.nav-cta{position:relative;z-index:101;background:var(--gold);border:1px solid var(--gold);color:var(--bg);padding:.55rem 1.5rem;font-family:'Outfit',sans-serif;font-size:.73rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;transition:background .3s,color .3s;text-decoration:none;border-radius:100px;cursor:pointer;}
.nav-cta:hover{background:var(--gold-light);border-color:var(--gold-light);color:var(--bg);}

/* hamburger */
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;position:relative;z-index:200;background:none;border:none;padding:.4rem;}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--cream);transition:all .35s ease;transform-origin:center;}
.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ── MOBILE MENU ── */
.nav-mobile{
  display:flex;
  position:fixed;inset:0;
  background:rgba(10,10,8,.98);
  z-index:150;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1.6rem;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .35s ease, visibility .35s ease;
}
.nav-mobile.open{opacity:1;visibility:visible;pointer-events:all;}
.nav-mobile-close{position:absolute;top:1.2rem;right:1.2rem;background:none;border:1px solid rgba(255,255,255,.15);color:var(--muted);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .3s,color .3s;border-radius:0;padding:0;}
.nav-mobile-close:hover{border-color:var(--gold);color:var(--gold);}
.nav-mobile-close svg{width:16px;height:16px;}
.nav-mobile a{font-family:'Outfit',sans-serif;font-size:1.2rem;font-weight:500;color:var(--muted);text-decoration:none;transition:color .3s;letter-spacing:.12em;text-transform:uppercase;}
.nav-mobile a:hover{color:var(--gold);}
.nav-mobile .nav-mobile-cta{background:var(--gold);color:var(--bg) !important;padding:.7rem 2rem;font-family:'Outfit',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;border-radius:100px;margin-top:.4rem;border:none;cursor:pointer;}

/* HERO */
.hero{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:radial-gradient(ellipse 70% 55% at 5% 0%,rgba(201,168,76,.08) 0%,transparent 65%);}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:5rem 4rem;}
.hero-tag{font-family:'DM Mono',monospace;font-size:.67rem;color:var(--gold);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.8rem;opacity:0;animation:fadeUp .8s .3s forwards;}
.hero-title{font-family:'Outfit',sans-serif;font-size:clamp(2.2rem,4vw,4rem);font-weight:800;line-height:.95;color:var(--cream);letter-spacing:-.03em;opacity:0;animation:fadeUp .8s .5s forwards;}
.hero-title em{font-style:italic;color:var(--gold);}
.hero-sub{font-size:1rem;color:var(--muted);line-height:1.75;max-width:36ch;margin-top:1.5rem;margin-bottom:2.2rem;opacity:0;animation:fadeUp .8s .7s forwards;}
.hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;opacity:0;animation:fadeUp .8s .9s forwards;}

/* ── BUTTONS ── */
.btn-primary{background:var(--gold);color:var(--bg);padding:.88rem 2.1rem;font-family:'Outfit',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:background .3s,transform .3s;display:inline-block;border:none;cursor:pointer;border-radius:100px;}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-3px);}

/* ghost button */
.btn-ghost{
  color:var(--gold);
  font-size:.78rem;
  letter-spacing:.1em;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  transition:color .3s, background .3s, border-color .3s;
  border:1px solid rgba(201,168,76,.4);
  padding:.88rem 1.6rem;
  font-family:'Outfit',sans-serif;
  font-weight:500;
  text-transform:uppercase;
  background:transparent;
  cursor:pointer;
  border-radius:100px;
}
.btn-ghost:hover{color:var(--gold);background:rgba(201,168,76,.08);border-color:var(--gold);}

/* ingyenes konzultáció button */
.btn-konsult{
  color:var(--gold);
  font-size:.76rem;
  letter-spacing:.1em;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  transition:color .3s, background .3s, border-color .3s;
  border:1px solid rgba(201,168,76,.4);
  padding:.88rem 1.6rem;
  font-family:'Outfit',sans-serif;
  font-weight:500;
  text-transform:uppercase;
  background:transparent;
  cursor:pointer;
  border-radius:100px;
}
.btn-konsult svg{width:14px;height:14px;flex-shrink:0;}
.btn-konsult:hover{color:var(--gold);background:rgba(201,168,76,.08);border-color:var(--gold);}

/* hero right */
.hero-right{position:relative;display:flex;align-items:center;justify-content:center;padding:100px 56px 80px 32px;opacity:0;animation:fadeIn 1.2s .6s forwards;}
.hero-mockup-wrap{position:relative;width:100%;max-width:500px;}
.hero-visual{display:none;}
.hero-browser{background:var(--surface2);border:1px solid rgba(201,168,76,.15);border-radius:28px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05);transition:box-shadow .4s;}
.hero-browser:hover{box-shadow:0 52px 120px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.07);}
.browser-bar{background:var(--surface);padding:.85rem 1.1rem;display:flex;align-items:center;gap:.65rem;border-bottom:1px solid rgba(255,255,255,.05);}
.dot{width:9px;height:9px;border-radius:50%;}
.dot-r{background:#ff5f57;}.dot-y{background:#febc2e;}.dot-g{background:#28c840;}
.browser-url{flex:1;background:rgba(255,255,255,.04);border-radius:5px;padding:.28rem .75rem;font-family:'DM Mono',monospace;font-size:.58rem;color:var(--muted);margin-left:.4rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.browser-content{padding:22px;}
.mock-hero{height:130px;background:linear-gradient(135deg,rgba(201,168,76,.12),rgba(201,168,76,.03));border-radius:10px;margin-bottom:14px;position:relative;overflow:hidden;border:1px solid rgba(201,168,76,.08);}
.mock-hero::before{content:'';position:absolute;top:18px;left:18px;right:90px;height:14px;background:rgba(232,228,216,.14);border-radius:4px;}
.mock-hero::after{content:'';position:absolute;top:40px;left:18px;right:130px;height:10px;background:rgba(232,228,216,.07);border-radius:4px;}
.mock-cta-btn{position:absolute;bottom:16px;left:18px;width:72px;height:26px;background:var(--gold);border-radius:100px;opacity:.9;}
.mock-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:14px;}
.mock-card{height:64px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);border-radius:8px;position:relative;}
.mock-card::before{content:'';position:absolute;top:10px;left:10px;right:10px;height:7px;background:rgba(232,228,216,.09);border-radius:3px;}
.mock-card::after{content:'';position:absolute;top:24px;left:10px;right:20px;height:6px;background:rgba(232,228,216,.05);border-radius:3px;}
.mock-row{display:flex;gap:10px;}
.mock-text{flex:1;height:54px;background:rgba(255,255,255,.025);border-radius:6px;position:relative;}
.mock-text::before{content:'';position:absolute;top:10px;left:10px;right:28px;height:6px;background:rgba(232,228,216,.08);border-radius:3px;}
.mock-img{width:72px;height:54px;background:linear-gradient(135deg,rgba(201,168,76,.22),rgba(201,168,76,.06));border-radius:6px;flex-shrink:0;}

/* HERO — pill tag & floating badges (index2 design, gold theme) */
.hero-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(201,168,76,.1);border:1px solid rgba(201,168,76,.32);color:var(--gold);font-family:'DM Mono',monospace;font-size:.65rem;font-weight:500;letter-spacing:.17em;text-transform:uppercase;padding:5px 14px;border-radius:100px;margin-bottom:.9rem;opacity:0;animation:fadeUp .8s .3s forwards;align-self:flex-start;width:fit-content;}
.hero-pill::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0;animation:pillBlink 2.2s ease-in-out infinite;}
@keyframes pillBlink{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.35;transform:scale(.55);}}
.hero-fbadge{position:absolute;background:var(--surface2);border:1px solid rgba(201,168,76,.2);border-radius:10px;padding:11px 16px;box-shadow:0 20px 50px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.04);z-index:10;}
.hero-fbadge-1{top:14%;left:-52px;animation:floatHeroA 4s ease-in-out infinite;}
.hero-fbadge-2{bottom:18%;right:-24px;animation:floatHeroB 4.5s ease-in-out infinite;}
@keyframes floatHeroA{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes floatHeroB{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.fb-label{font-family:'DM Mono',monospace;font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;}
.fb-value{font-family:'Space Grotesk',sans-serif;font-size:1.2rem;font-weight:700;color:var(--cream);line-height:1;}
.fb-value.fv-gold{color:var(--gold);}
.fb-sub{font-size:.65rem;color:var(--muted);margin-top:2px;}

/* MARQUEE */
.marquee-section{border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);overflow:hidden;padding:.85rem 0;background:var(--surface);}
.marquee-track{display:flex;align-items:center;animation:marquee 140s linear infinite;width:max-content;}
.marquee-text{font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding:0 2rem;}
.marquee-sep{color:var(--gold);display:flex;align-items:center;flex-shrink:0;}
.marquee-sep svg{width:10px;height:10px;}

/* KONSULT BANNER */
.konsult-banner{background:var(--surface);border-top:1px solid rgba(201,168,76,.1);border-bottom:1px solid rgba(201,168,76,.1);padding:1.8rem 4rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.kb-text{display:flex;align-items:center;gap:1.2rem;}
.kb-title{font-family:'Outfit',sans-serif;font-size:1.1rem;font-weight:700;color:var(--cream);}
.kb-sub{font-size:.86rem;color:var(--muted);margin-top:.15rem;}
.btn-konsult-banner{background:transparent;color:var(--gold);border:1px solid var(--gold);padding:.75rem 1.8rem;font-family:'Outfit',sans-serif;font-size:.73rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:.55rem;border-radius:100px;}
.btn-konsult-banner svg{width:14px;height:14px;flex-shrink:0;}
.btn-konsult-banner:hover{background:rgba(201,168,76,.1);color:var(--gold);}

/* SHARED */
.section-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2.5rem;gap:3rem;flex-wrap:wrap;}
.section-label{font-family:'DM Mono',monospace;font-size:.58rem;color:var(--gold);letter-spacing:.25em;text-transform:uppercase;margin-bottom:.8rem;display:flex;align-items:center;gap:.9rem;}
.section-label::before{content:'';display:block;width:24px;height:1px;background:var(--gold);}
.section-title{font-family:'Outfit',sans-serif;font-size:clamp(1.7rem,3vw,2.8rem);font-weight:700;line-height:1.1;color:var(--cream);max-width:14ch;}
.section-desc{font-size:.93rem;color:var(--muted);line-height:1.8;max-width:40ch;align-self:flex-end;}

/* SERVICES */
.services{padding:6rem 4rem;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.05);}
.service-card{background:var(--bg);padding:2.2rem;position:relative;border-bottom:2px solid transparent;will-change:transform;transition:background .2s,border-color .2s,transform .2s cubic-bezier(.23,1,.32,1);}
.service-card:hover{background:var(--surface);border-bottom-color:var(--gold);transform:translateY(-4px);}
.service-num{font-family:'DM Mono',monospace;font-size:.58rem;color:var(--gold);letter-spacing:.2em;margin-bottom:1.1rem;opacity:.6;}
.service-icon{width:1.9rem;height:1.9rem;margin-bottom:1rem;display:block;color:var(--gold);transition:transform .35s;flex-shrink:0;}
.service-card:hover .service-icon{transform:scale(1.12) rotate(-5deg);}
.service-name{font-family:'Outfit',sans-serif;font-size:1.1rem;font-weight:700;color:var(--cream);margin-bottom:.6rem;}
.service-text{font-size:.88rem;color:var(--muted);line-height:1.8;}
.service-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:1rem;}
.tag{font-family:'DM Mono',monospace;font-size:.56rem;color:var(--muted);border:1px solid rgba(255,255,255,.08);padding:.15rem .5rem;letter-spacing:.09em;transition:border-color .3s,color .3s;}
.service-card:hover .tag{border-color:rgba(201,168,76,.22);color:rgba(201,168,76,.7);}

/* PROCESS */
.process{padding:6rem 4rem;background:var(--surface);}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:2.5rem;gap:1rem;position:relative;}
.process-steps::before{content:'';position:absolute;top:2rem;left:8%;right:8%;height:1px;background:linear-gradient(to right,transparent,rgba(201,168,76,.4),transparent);z-index:0;}
.step{padding:1.8rem 1.4rem;background:var(--bg);border:1px solid rgba(255,255,255,.06);position:relative;overflow:hidden;will-change:transform;transition:transform .2s cubic-bezier(.23,1,.32,1),border-color .2s;}
.step::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s cubic-bezier(.23,1,.32,1);}
.step:hover{transform:translateY(-8px);border-color:rgba(201,168,76,.3);}
.step:hover::after{transform:scaleX(1);}
.step-num{width:3.8rem;height:3.8rem;border:1px solid rgba(201,168,76,.3);display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-size:1.35rem;font-weight:700;color:var(--gold);margin-bottom:1.2rem;background:var(--bg);position:relative;z-index:1;transition:border-color .4s;}
.step:hover .step-num{border-color:var(--gold);}
.step-title{font-family:'Outfit',sans-serif;font-size:.93rem;color:var(--cream);margin-bottom:.45rem;font-weight:700;}
.step-text{font-size:.84rem;color:var(--muted);line-height:1.7;}

/* PORTFOLIO */
.portfolio{padding:6rem 4rem;}
.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem;}
.port-card{background:var(--surface);border:1px solid rgba(255,255,255,.06);overflow:hidden;position:relative;display:flex;flex-direction:column;text-decoration:none;will-change:transform;transition:transform .2s cubic-bezier(.23,1,.32,1);}
.port-card:hover{transform:translateY(-5px);}
.port-card:hover .port-overlay{opacity:1;}
.port-visual{position:relative;overflow:hidden;flex-shrink:0;}
.port-card.large .port-visual{height:500px;}
.port-card.small .port-visual{height:280px;}
.port-card.large{display:flex;flex-direction:column;}
.port-card.large .port-visual{flex:none;min-height:320px;}
.port-card.large .port-info{flex-shrink:0;}
.port-mock-vis{width:100%;height:100%;display:flex;flex-direction:column;}
.pmv-nav{height:28px;display:flex;align-items:center;padding:0 1rem;gap:.5rem;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.06);}
.pmv-logo{font-family:'Outfit',sans-serif;font-size:.72rem;font-weight:700;}
.pmv-links{display:flex;gap:.6rem;margin-left:auto;}
.pmv-link{width:24px;height:4px;border-radius:2px;opacity:.4;}
.pmv-hero{flex:1;display:flex;align-items:center;padding:.9rem 1rem;}
.pmv-hero-text{flex:1;min-width:0;}
.pmv-h1{height:8px;border-radius:2px;margin-bottom:.4rem;}
.pmv-h2{height:5px;border-radius:2px;margin-bottom:.32rem;width:70%;}
.pmv-btn{height:18px;width:58px;border-radius:2px;margin-top:.65rem;}
.pmv-img{width:34%;height:62%;border-radius:3px;opacity:.42;flex-shrink:0;}
.pmv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;padding:.65rem 1rem .8rem;}
.pmv-card{border-radius:3px;opacity:.5;}
.pmv-1{background:linear-gradient(160deg,#0d0f14,#131824,#0d0f14);}
.pmv-1 .pmv-nav{background:rgba(255,255,255,.025);}
.pmv-1 .pmv-logo{color:#4f9cf9;}
.pmv-1 .pmv-link{background:#4f9cf9;}
.pmv-1 .pmv-hero{background:linear-gradient(135deg,rgba(79,156,249,.05),transparent 70%);}
.pmv-1 .pmv-h1{background:#e8e4d8;width:76%;}
.pmv-1 .pmv-h2{background:rgba(232,228,216,.36);}
.pmv-1 .pmv-btn{background:#4f9cf9;}
.pmv-1 .pmv-img{background:linear-gradient(135deg,#1a2535,#2a3f60);}
.pmv-1 .pmv-cards{background:rgba(255,255,255,.02);}
.pmv-1 .pmv-card{height:26px;background:linear-gradient(135deg,#1a2535,#1f2e48);}
.pmv-2{background:linear-gradient(160deg,#1f0d0d,#1c0808,#100808);}
.pmv-2 .pmv-nav{background:rgba(255,255,255,.02);}
.pmv-2 .pmv-logo{color:#d02929;}
.pmv-2 .pmv-link{background:#d02929;}
.pmv-2 .pmv-hero{background:linear-gradient(135deg,rgba(201,76,76,.06),transparent 70%);}
.pmv-2 .pmv-h1{background:#f5f0e8;width:66%;}
.pmv-2 .pmv-h2{background:rgba(245,232,232,.36);}
.pmv-2 .pmv-btn{background:#d02929;}
.pmv-2 .pmv-img{background:linear-gradient(135deg,#2a0808,#3d0d0d);}
.pmv-2 .pmv-cards{background:rgba(255,255,255,.02);}
.pmv-2 .pmv-card{height:18px;background:linear-gradient(135deg,#1c0808,#2a0808);}
.pmv-3{background:linear-gradient(160deg,#0e0e08,#18170d,#0e0e08);}
.pmv-3 .pmv-nav{background:rgba(255,255,255,.02);}
.pmv-3 .pmv-logo{color:#c9a84c;}
.pmv-3 .pmv-link{background:#c9a84c;}
.pmv-3 .pmv-hero{background:linear-gradient(135deg,rgba(62,207,108,.05),transparent 70%);}
.pmv-3 .pmv-h1{background:#e8f0eb;width:68%;}
.pmv-3 .pmv-h2{background:rgba(240,239,232,.36);}
.pmv-3 .pmv-btn{background:#c9a84c;}
.pmv-3 .pmv-img{background:linear-gradient(135deg,#201f10,#303018);}
.pmv-3 .pmv-cards{background:rgba(255,255,255,.02);}
.pmv-3 .pmv-card{height:18px;background:linear-gradient(135deg,#18170d,#2a2716);}
.port-overlay{position:absolute;inset:0;background:rgba(10,10,8,.55);opacity:0;transition:opacity .4s;display:flex;align-items:center;justify-content:center;}
.port-overlay-inner{display:flex;flex-direction:column;align-items:center;gap:.5rem;transform:translateY(8px);transition:transform .4s;}
.port-card:hover .port-overlay-inner{transform:translateY(0);}
.port-overlay-inner svg{width:1.8rem;height:1.8rem;color:var(--gold);}
.port-overlay-url{font-family:'DM Mono',monospace;font-size:.6rem;color:var(--gold);letter-spacing:.13em;}
.port-info{padding:1.1rem 1.3rem;}
.port-cat{font-family:'DM Mono',monospace;font-size:.54rem;color:var(--gold);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.2rem;}
.port-title{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;font-weight:700;letter-spacing:.04em;color:var(--cream);margin-bottom:.18rem;}
.port-desc{font-size:.86rem;color:var(--muted);line-height:1.6;}
.port-col{display:grid;grid-template-columns:1fr;gap:1rem;}

/* STATS */
.stats{padding:3.5rem 4rem;background:var(--gold);position:relative;overflow:hidden;}
.stats::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23000' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative;}
.stat-item{text-align:center;}
.stat-num{font-family:'Space Grotesk',sans-serif;font-size:3rem;font-weight:700;color:var(--bg);line-height:1;margin-bottom:.3rem;letter-spacing:-.02em;}
.stat-label{font-size:.7rem;color:rgba(0,0,0,.55);letter-spacing:.08em;font-weight:500;}

/* ABOUT */
.about{padding:6rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;}
.about-visual{position:relative;height:360px;}
.av-bracket{position:absolute;width:40px;height:40px;}
.av-tl{top:0;left:0;border-top:2px solid rgba(201,168,76,.35);border-left:2px solid rgba(201,168,76,.35);}
.av-br{bottom:0;right:0;border-bottom:2px solid rgba(201,168,76,.35);border-right:2px solid rgba(201,168,76,.35);}
.av-card{position:absolute;top:1.5rem;left:1.5rem;right:1.5rem;bottom:1.5rem;background:var(--surface2);border:1px solid rgba(201,168,76,.12);padding:2.2rem;display:flex;flex-direction:column;justify-content:center;}
.avc-year{font-family:'Space Grotesk',sans-serif;font-size:3.8rem;font-weight:700;color:var(--gold);line-height:1;letter-spacing:-.03em;margin-bottom:.4rem;}
.avc-sub{font-family:'DM Mono',monospace;font-size:.65rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.6rem;}
.avc-divider{height:1px;background:rgba(201,168,76,.18);margin-bottom:1.6rem;}
.avc-stats{display:flex;gap:0;}
.avc-stat{flex:1;padding-right:1.5rem;}
.avc-stat+.avc-stat{padding-right:0;padding-left:1.5rem;border-left:1px solid rgba(255,255,255,.07);}
.avc-num{font-family:'Space Grotesk',sans-serif;font-size:1.8rem;font-weight:700;color:var(--cream);line-height:1;letter-spacing:-.02em;margin-bottom:.25rem;}
.avc-txt{font-family:'DM Mono',monospace;font-size:.58rem;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;}
.av-badge{position:absolute;bottom:-1rem;right:-1rem;background:var(--gold);padding:1.1rem 1.4rem;z-index:2;}
.avb-label{font-family:'DM Mono',monospace;font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(0,0,0,.55);margin-bottom:.18rem;}
.avb-val{font-family:'Space Grotesk',sans-serif;font-size:1.05rem;font-weight:700;color:var(--bg);}
.about-bio{font-size:.96rem;color:var(--muted);line-height:1.9;margin-top:1.4rem;margin-bottom:1.4rem;}
.about-skills{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.3rem;}
.skill-pill{font-family:'DM Mono',monospace;font-size:.59rem;letter-spacing:.1em;color:var(--gold);border:1px solid rgba(201,168,76,.25);padding:.3rem .85rem;transition:background .3s,color .3s,transform .3s;border-radius:100px;}
.skill-pill:hover{background:var(--gold);color:var(--bg);transform:translateY(-2px);}

/* TESTIMONIALS */
.testimonials{padding:6rem 4rem;background:var(--surface);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem;}
.testi-card{background:var(--bg);border:1px solid rgba(255,255,255,.05);padding:1.8rem;will-change:transform;transition:transform .2s cubic-bezier(.23,1,.32,1),border-color .2s;}
.testi-card:hover{transform:translateY(-6px);border-color:rgba(201,168,76,.2);}
.testi-quote{font-family:'Outfit',sans-serif;font-size:3rem;color:var(--gold);line-height:.5;margin-bottom:.9rem;opacity:.4;}
.testi-text{font-size:.9rem;color:var(--muted);line-height:1.8;margin-bottom:1.1rem;}
.testi-author{display:flex;align-items:center;gap:.85rem;border-top:1px solid rgba(255,255,255,.05);padding-top:.9rem;}
.testi-avatar{width:32px;height:32px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--bg);font-size:.68rem;flex-shrink:0;}
.testi-name{font-size:.75rem;color:var(--cream);font-weight:500;}
.testi-role{font-family:'DM Mono',monospace;font-size:.54rem;color:var(--muted);letter-spacing:.1em;}

/* PRICING */
.pricing{padding:6rem 4rem;}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.5rem;}
.price-card{border:1px solid rgba(255,255,255,.08);padding:2.2rem;position:relative;background:var(--surface);overflow:hidden;will-change:transform;transition:transform .2s cubic-bezier(.23,1,.32,1),border-color .2s;display:flex;flex-direction:column;}
.price-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s cubic-bezier(.23,1,.32,1);}
.price-card:hover{transform:translateY(-8px);border-color:rgba(201,168,76,.28);}
.price-card:hover::after{transform:scaleX(1);}
.price-card.featured{border-color:var(--gold);background:var(--surface2);}
.price-card.featured::after{transform:scaleX(1);background:var(--gold-light);}
.price-card.featured::before{content:'Legnépszerűbb';position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--bg);font-size:.56rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:.25rem .8rem;white-space:nowrap;}
.price-tier{font-family:'DM Mono',monospace;font-size:.58rem;color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin-bottom:.85rem;}
.price-amount{font-family:'Space Grotesk',sans-serif;font-size:2.2rem;font-weight:700;color:var(--cream);line-height:1;margin-bottom:.2rem;letter-spacing:-.02em;}
.price-period{font-size:.67rem;color:var(--muted);margin-bottom:1.2rem;}
.price-divider{height:1px;background:rgba(255,255,255,.06);margin:.95rem 0;}
.price-features{list-style:none;margin-bottom:1.7rem;}
.price-features li{font-size:.76rem;color:var(--muted);padding:.3rem 0;display:flex;align-items:center;gap:.58rem;}
.price-features li svg{width:12px;height:12px;color:var(--gold);flex-shrink:0;}
.btn-price{display:block;text-align:center;padding:.76rem;font-family:'Outfit',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:all .3s;border:1px solid;cursor:pointer;width:100%;margin-top:auto;border-radius:100px;}
.btn-price.outline{border-color:var(--gold);color:var(--gold);background:transparent;}
.btn-price.outline:hover{background:rgba(201,168,76,.1);border-color:var(--gold);color:var(--gold);}
.btn-price.solid{background:var(--gold);border-color:var(--gold);color:var(--bg);}
.btn-price.solid:hover{background:var(--gold-light);}
.pricing-cta{margin-top:1rem;border:1px solid rgba(201,168,76,.25);padding:2.2rem 2.8rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--surface);transition:border-color .4s,box-shadow .4s;}
.pricing-cta:not(.pricing-cta--static):hover{border-color:var(--gold);box-shadow:0 0 32px rgba(201,168,76,.07);}
.pricing-cta--static{cursor:default;}
.pcta-title{font-family:'Outfit',sans-serif;font-size:1.35rem;font-weight:700;color:var(--cream);margin-bottom:.32rem;}
.pcta-sub{font-size:.88rem;color:var(--muted);max-width:52ch;}
.pcta-btn{background:var(--gold);color:var(--bg);padding:.92rem 1.9rem;font-family:'Outfit',sans-serif;font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:none;cursor:pointer;transition:background .3s,transform .3s;white-space:nowrap;flex-shrink:0;border-radius:100px;}
.pcta-btn:hover{background:var(--gold-light);transform:translateY(-2px);}

/* CONTACT */
.contact{padding:6rem 4rem;background:var(--surface);display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:start;}
.contact-big{font-family:'Outfit',sans-serif;font-size:clamp(1.9rem,3.8vw,3.6rem);font-weight:900;color:var(--cream);line-height:1.05;margin-top:1rem;}
.contact-big em{color:var(--gold);font-style:italic;}
.contact-sub{font-size:.93rem;color:var(--muted);line-height:1.8;margin-top:1rem;max-width:40ch;}
.contact-info{margin-top:1.6rem;display:flex;flex-direction:column;gap:.72rem;}
.contact-info-item{display:flex;align-items:center;gap:.82rem;}
.contact-info-item svg{width:15px;height:15px;color:var(--gold);flex-shrink:0;}
.contact-info-item a{color:var(--muted);text-decoration:none;}
.contact-info-item a:hover{color:var(--gold);}
.contact-info-item span{font-family:'DM Mono',monospace;font-size:.72rem;color:var(--muted);}
.contact-form{display:flex;flex-direction:column;gap:.82rem;margin-top:.3rem;}
.form-group{display:flex;flex-direction:column;gap:.26rem;}
.form-label{font-family:'DM Mono',monospace;font-size:.54rem;color:var(--gold);letter-spacing:.2em;text-transform:uppercase;}
.form-input,.form-textarea{background:var(--bg);border:1px solid rgba(255,255,255,.08);color:var(--text);padding:.78rem .95rem;font-family:'Outfit',sans-serif;font-size:.84rem;outline:none;transition:border-color .3s;resize:none;width:100%;}
.form-input:focus,.form-textarea:focus{border-color:var(--gold);}
.form-textarea{min-height:90px;}
.form-btn{background:var(--gold);color:var(--bg);border:none;padding:.88rem 1.9rem;font-family:'Outfit',sans-serif;font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .3s,transform .3s;align-self:flex-start;border-radius:100px;}
.form-btn:hover{background:var(--gold-light);transform:translateY(-2px);}

/* TOAST NOTIFICATION */
.toast-notif{position:fixed;bottom:2rem;right:2rem;background:var(--surface2);border:1px solid rgba(255,255,255,.1);color:var(--text);padding:1rem 1.1rem 1rem 1rem;font-family:'Outfit',sans-serif;font-size:.85rem;font-weight:400;border-radius:10px;box-shadow:0 24px 48px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.04);z-index:9999;display:flex;align-items:flex-start;gap:.75rem;min-width:280px;max-width:360px;transform:translateY(calc(100% + 2.5rem));opacity:0;transition:transform .45s cubic-bezier(.23,1,.32,1),opacity .45s;overflow:hidden;}
.toast-notif.toast-show{transform:translateY(0);opacity:1;}
.toast-success{border-left:3px solid var(--gold);}
.toast-error{border-left:3px solid #f87171;}
.toast-icon{flex-shrink:0;width:18px;height:18px;margin-top:.05rem;}
.toast-success .toast-icon{color:var(--gold);}
.toast-error .toast-icon{color:#f87171;}
.toast-icon svg{width:18px;height:18px;}
.toast-msg{flex:1;line-height:1.5;color:var(--cream);}
.toast-close{background:none;border:none;color:var(--muted);cursor:pointer;padding:.1rem;flex-shrink:0;line-height:0;transition:color .2s;}
.toast-close:hover{color:var(--cream);}
.toast-close svg{width:14px;height:14px;}
.toast-bar{position:absolute;bottom:0;left:0;height:2px;background:currentColor;width:100%;transform-origin:left;animation:toast-shrink 5s linear forwards;}
.toast-success .toast-bar{color:var(--gold);}
.toast-error .toast-bar{color:#f87171;}
@keyframes toast-shrink{from{transform:scaleX(1);}to{transform:scaleX(0);}}
/* FIELD ERRORS */
.input-error{border-color:#f87171 !important;}
.input-error:focus{border-color:#f87171 !important;}
.field-error{font-family:'DM Mono',monospace;font-size:.55rem;color:#f87171;letter-spacing:.08em;margin-top:.1rem;}

/* FOOTER */
footer{background:var(--bg);border-top:1px solid rgba(255,255,255,.05);padding:1.5rem 4rem;display:flex;justify-content:space-between;align-items:center;}
.footer-logo{font-family:'Outfit',sans-serif;font-size:.98rem;font-weight:700;color:var(--cream);}
.footer-logo span{color:var(--gold);}
.footer-right{display:flex;align-items:center;gap:1.4rem;}
.footer-copy{font-family:'DM Mono',monospace;font-size:.57rem;color:var(--muted);letter-spacing:.1em;}
.footer-sep{font-family:'DM Mono',monospace;font-size:.57rem;color:rgba(140,139,122,.35);}
.footer-legal{font-family:'DM Mono',monospace;font-size:.57rem;color:var(--muted);letter-spacing:.1em;background:none;border:none;cursor:pointer;padding:0;transition:color .3s;}
.footer-legal:hover{color:var(--gold);}
/* Privacy modal */
.privacy-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:500;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity .25s;}
.privacy-overlay.open{opacity:1;pointer-events:all;}
.privacy-modal{background:var(--surface);border:1px solid rgba(255,255,255,.07);border-radius:16px;width:100%;max-width:680px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;transform:translateY(18px);transition:transform .25s;}
.privacy-overlay.open .privacy-modal{transform:translateY(0);}
.pmodal-head{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 1.8rem;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;}
.pmodal-title{font-family:'Outfit',sans-serif;font-size:1rem;font-weight:600;color:var(--cream);}
.pmodal-date{font-family:'DM Mono',monospace;font-size:.55rem;color:var(--muted);letter-spacing:.1em;margin-top:.15rem;}
.pmodal-close{background:none;border:1px solid rgba(255,255,255,.1);color:var(--muted);width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s;flex-shrink:0;}
.pmodal-close:hover{border-color:var(--gold);color:var(--gold);}
.pmodal-body{overflow-y:auto;padding:1.8rem;}
.pmodal-body::-webkit-scrollbar{width:4px;}
.pmodal-body::-webkit-scrollbar-track{background:transparent;}
.pmodal-body::-webkit-scrollbar-thumb{background:rgba(201,168,76,.3);border-radius:2px;}
.pmodal-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.05);}
.pmodal-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.pmodal-h2{font-family:'Outfit',sans-serif;font-size:.92rem;font-weight:600;color:var(--cream);margin-bottom:.7rem;}
.pmodal-body p{font-size:.86rem;color:var(--text);line-height:1.75;margin-bottom:.65rem;}
.pmodal-body p:last-child{margin-bottom:0;}
.pmodal-body ul{list-style:none;padding:0;margin:.3rem 0 .65rem;}
.pmodal-body ul li{font-size:.86rem;color:var(--text);padding:.28rem 0 .28rem 1.2rem;position:relative;line-height:1.6;}
.pmodal-body ul li::before{content:'—';position:absolute;left:0;color:var(--gold);font-family:'DM Mono',monospace;font-size:.75rem;}
.pmodal-infobox{background:var(--surface2);border:1px solid rgba(201,168,76,.12);border-radius:8px;padding:1rem 1.2rem;margin-bottom:.8rem;}
.pmodal-infobox p{font-size:.82rem !important;margin-bottom:.3rem !important;}
.pmodal-infobox a{color:var(--gold);}
.pmodal-infobox a:hover{color:var(--gold-light);}
.pmodal-body a{color:var(--gold);}
.pmodal-body a:hover{color:var(--gold-light);}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-d1{transition-delay:.1s;}.reveal-d2{transition-delay:.2s;}.reveal-d3{transition-delay:.3s;}

/* ══ TABLET 1024px ══ */
@media(max-width:1024px){
  nav{padding:1.3rem 2.5rem;}
  .hero-left{padding:4.5rem 2.5rem;}
  .services,.process,.portfolio,.about,.testimonials,.pricing,.contact{padding:5rem 2.5rem;}
  .stats,.konsult-banner{padding:3rem 2.5rem;}
  footer{padding:1.4rem 2.5rem;}
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .process-steps{grid-template-columns:repeat(2,1fr);}
  .process-steps::before{display:none;}
  .pricing-grid{grid-template-columns:1fr;}
  .contact{gap:4rem;}
  .about{gap:4rem;}
}

/* ══ MOBILE 768px ══ */
@media(max-width:768px){
  body{cursor:auto;}

  nav{padding:.7rem 1rem;}
  .nav-logo{font-size:1rem;letter-spacing:.02em;}
  .nav-hamburger{padding:.25rem;gap:4px;}
  .nav-hamburger span{width:19px;height:1.5px;}
  .nav-links,.nav-cta{display:none;}
  .nav-hamburger{display:flex;}

  .hero{display:block;height:auto;min-height:unset;overflow:visible;}
  .hero-left{width:100%;padding:7rem 1.2rem 3.5rem;justify-content:flex-start;}
  .hero-right {width:100%; display:block; padding:2.5rem 1.2rem 4rem; border-top:1px solid rgba(201,168,76,.1); overflow:visible;}
  .hero-title{font-size:clamp(1.8rem,7vw,2.5rem);}
  .hero-sub{font-size:.88rem;max-width:100%;}
  .hero-actions{gap:.75rem;}
  .btn-primary{padding:.78rem 1.4rem;font-size:.74rem;}
  .btn-ghost{padding:.78rem 1.2rem;font-size:.72rem;}
  .btn-konsult{padding:.72rem 1.1rem;font-size:.68rem;margin-top:.35rem;}
  .hero-mockup-wrap {max-width:100%; position:relative;} 
  .hero-fbadge {position:absolute; padding:8px 12px; border-radius:8px; z-index:10;}
  .hero-fbadge-1 {top:15%; left:8px;}
  .hero-fbadge-2 {bottom:8%; right:8px; float:none;}
  .hero-mockup-wrap::after{content:'';display:block;clear:both;}
  .mock-hero{height:80px;}
  .hero-pill{font-size:.58rem;}

  .marquee-text{font-size:.6rem;padding:0 1.2rem;}

  .konsult-banner{padding:1.4rem 1.2rem;flex-direction:column;align-items:flex-start;gap:1rem;}
  .btn-konsult-banner{width:100%;text-align:center;}

  .services,.process,.portfolio,.about,.testimonials,.pricing,.contact{padding:3.5rem 1.2rem;}
  .stats{padding:2.5rem 1.2rem;}
  footer{padding:1.2rem;flex-direction:column;gap:.5rem;text-align:center;}
  .footer-right{flex-direction:column;gap:.35rem;}

  .section-header{flex-direction:column;gap:.6rem;margin-bottom:2rem;}
  .section-desc{align-self:flex-start;max-width:100%;}
  .section-title{font-size:clamp(1.6rem,6vw,2.2rem);}

  .services-grid{grid-template-columns:1fr;gap:1px;}
  .process-steps{grid-template-columns:1fr 1fr;gap:.75rem;}
  .step{padding:1.4rem 1.1rem;}
  .step-num{width:3.2rem;height:3.2rem;font-size:1.15rem;}
  .portfolio-grid{grid-template-columns:1fr;}
  .port-card.large .port-visual{height:240px;flex:none;}
  .port-card.small .port-visual{height:200px;}
  .port-col{grid-template-columns:1fr;gap:.75rem;}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;}
  .stat-num{font-size:2.4rem;}

  .about{grid-template-columns:1fr;gap:3.5rem;}
  .about-visual{height:auto;padding-bottom:3rem;}
  .av-card{position:relative;top:auto;left:auto;right:auto;bottom:auto;margin:2rem 2rem 0;padding:1.8rem;}
  .av-bracket.av-tl{top:0;left:0;}
  .av-bracket.av-br{bottom:3rem;right:0;}
  .avc-year{font-size:3rem;}
  .avc-sub{font-size:.6rem;margin-bottom:1.2rem;}
  .avc-divider{margin-bottom:1.2rem;}
  .avc-num{font-size:1.6rem;}
  .av-badge{position:absolute;bottom:0;right:2rem;}

  .testi-grid{grid-template-columns:1fr;gap:.75rem;}
  .pricing-grid{grid-template-columns:1fr;gap:1rem;}
  .price-card.featured{margin-top:.5rem;}
  .pricing-cta{flex-direction:column;align-items:flex-start;gap:1.2rem;padding:1.6rem 1.2rem;}
  .pcta-title{font-size:1.15rem;}
  .pcta-btn{width:100%;text-align:center;}

  .contact{grid-template-columns:1fr;gap:2.5rem;}
  .contact-big{font-size:clamp(1.7rem,7vw,2.6rem);}
  .form-btn{width:100%;text-align:center;align-self:stretch;}
}

/* ══ SMALL 480px ══ */
@media(max-width:480px){
  nav{padding:1rem;}
  .hero-left{padding:6.5rem 1rem 3rem;}
  .hero-title{font-size:clamp(2.1rem,9vw,3rem);}
  .hero-right{padding:2rem 1rem 3.5rem;}
  .services,.process,.portfolio,.about,.testimonials,.pricing,.contact{padding:3rem 1rem;}
  .stats{padding:2rem 1rem;}
  footer{padding:1rem;}
  .process-steps{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem;}
  .stat-num{font-size:2rem;}
  .av-card{margin:1.5rem 1.5rem 0;padding:1.4rem;}
  .avc-year{font-size:2.5rem;}
  .avc-num{font-size:1.4rem;}
  .av-badge{right:1.5rem;}
  .section-title{font-size:1.6rem;}
  .pricing-cta{padding:1.3rem 1rem;}
  .contact-big{font-size:1.9rem;}
  .konsult-banner{padding:1.2rem 1rem;}
}

@media(max-width:360px){
  .hero-title{font-size:2rem;}
  .btn-primary,.btn-ghost,.btn-konsult{font-size:.68rem;padding:.7rem 1rem;}
  .stat-num{font-size:1.8rem;}
  .services,.process,.portfolio,.about,.testimonials,.pricing,.contact{padding:2.5rem .85rem;}
  .stats{padding:1.8rem .85rem;}
}

/* BOOKING MODAL */
.bm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:9990;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .3s;}
.bm-overlay.bm-open{opacity:1;pointer-events:all;}
.bm-modal{background:var(--surface);border:1px solid rgba(201,168,76,.15);width:100%;max-width:660px;max-height:92vh;overflow:hidden;display:flex;flex-direction:column;animation:bmIn .35s cubic-bezier(.23,1,.32,1);}
@keyframes bmIn{from{transform:translateY(18px) scale(.98);opacity:0;}to{transform:none;opacity:1;}}
/* HEAD */
.bm-head{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.3rem;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;gap:1rem;min-height:52px;}
.bm-head-label{font-family:'DM Mono',monospace;font-size:.56rem;color:var(--muted);letter-spacing:.16em;text-transform:uppercase;}
.bm-head-selected{font-family:'Outfit',sans-serif;font-size:.82rem;font-weight:600;color:var(--cream);flex:1;text-align:center;}
.bm-back-btn{background:none;border:1px solid rgba(255,255,255,.08);color:var(--muted);cursor:pointer;padding:.35rem .75rem;font-family:'DM Mono',monospace;font-size:.58rem;letter-spacing:.1em;transition:border-color .2s,color .2s;white-space:nowrap;}
.bm-back-btn:hover{border-color:var(--gold);color:var(--gold);}
.bm-close-btn{background:none;border:none;color:var(--muted);cursor:pointer;line-height:0;padding:.2rem;transition:color .2s;flex-shrink:0;}
.bm-close-btn:hover{color:var(--cream);}
.bm-close-btn svg{width:16px;height:16px;}
/* STEP 1 LAYOUT */
.bm-step{overflow-y:auto;flex:1;}
.bm-layout{display:grid;grid-template-columns:200px 1fr;min-height:0;}
/* SIDEBAR */
.bm-sidebar{background:var(--surface2);border-right:1px solid rgba(255,255,255,.05);padding:1.5rem 1.2rem;display:flex;flex-direction:column;gap:1.1rem;}
.bm-ev-host{font-family:'DM Mono',monospace;font-size:.58rem;color:var(--muted);letter-spacing:.15em;text-transform:uppercase;}
.bm-ev-title{font-family:'Space Grotesk',sans-serif;font-size:1rem;font-weight:700;color:var(--cream);line-height:1.25;margin-top:.15rem;}
.bm-ev-divider{height:1px;background:rgba(255,255,255,.06);}
.bm-ev-meta{display:flex;flex-direction:column;gap:.55rem;}
.bm-ev-row{display:flex;align-items:center;gap:.55rem;font-family:'Outfit',sans-serif;font-size:.78rem;color:var(--muted);}
.bm-ev-row svg{width:13px;height:13px;color:var(--gold);flex-shrink:0;}
.bm-ev-avail{margin-top:.2rem;}
.bm-ev-avail-label{font-family:'DM Mono',monospace;font-size:.52rem;color:var(--gold);letter-spacing:.15em;text-transform:uppercase;margin-bottom:.6rem;}
.bm-ev-avail-row{font-family:'Outfit',sans-serif;font-size:.82rem;color:var(--muted);margin-bottom:.42rem;display:flex;align-items:center;gap:.5rem;line-height:1.3;}
.bm-ev-avail-row::before{content:'✓';color:var(--gold);font-size:.72rem;font-weight:700;flex-shrink:0;line-height:1;}
/* CALENDAR COL */
.bm-cal-col{padding:1.3rem 1.2rem 1.5rem;}
.bm-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem;}
.bm-nav-btn{background:none;border:1px solid rgba(255,255,255,.07);color:var(--muted);cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s;}
.bm-nav-btn:hover{border-color:var(--gold);color:var(--gold);}
.bm-nav-btn svg{width:12px;height:12px;}
.bm-month-label{font-family:'Outfit',sans-serif;font-size:.85rem;font-weight:600;color:var(--cream);}
.bm-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.bm-day-hdr{font-family:'DM Mono',monospace;font-size:.49rem;color:var(--muted);text-align:center;padding:.3rem 0;letter-spacing:.05em;}
.bm-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-size:.76rem;color:var(--muted);border-radius:50%;}
.bm-day-avail{color:var(--text);cursor:pointer;transition:background .15s,color .15s;}
.bm-day-avail:hover{background:rgba(201,168,76,.14);color:var(--gold);}
.bm-day-selected{background:var(--gold)!important;color:var(--bg)!important;font-weight:700;}
.bm-day-disabled{opacity:.38;}
/* TIME SLOTS */
.bm-times-section{margin-top:1.1rem;border-top:1px solid rgba(255,255,255,.05);padding-top:1rem;}
.bm-times-head{font-family:'DM Mono',monospace;font-size:.54rem;color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.6rem;}
.bm-times{display:flex;flex-wrap:wrap;gap:.38rem;}
.bm-loading{font-family:'DM Sans',sans-serif;font-size:.82rem;color:var(--muted);}
.bm-time-btn{background:transparent;border:1px solid rgba(201,168,76,.25);color:var(--gold);font-family:'Outfit',sans-serif;font-size:.74rem;font-weight:500;padding:.5rem 1rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s;letter-spacing:.04em;border-radius:2px;}
.bm-time-btn:hover:not(:disabled){background:rgba(201,168,76,.12);border-color:var(--gold);}
.bm-time-active,.bm-time-btn.bm-time-active{background:var(--gold)!important;border-color:var(--gold)!important;color:var(--bg)!important;font-weight:700;}
.bm-time-taken{opacity:.45;cursor:not-allowed!important;text-decoration:line-through;border-color:rgba(255,255,255,.12)!important;color:rgba(232,228,216,.4)!important;}
/* STEP 2 FORM */
.bm-form-body{padding:1.5rem 1.8rem 1.8rem;max-width:480px;margin:0 auto;}
.bm-confirm-box{background:var(--surface2);border:1px solid rgba(201,168,76,.15);padding:.85rem 1.1rem;margin-bottom:1.4rem;display:flex;align-items:center;gap:.8rem;}
.bm-confirm-box svg{width:16px;height:16px;color:var(--gold);flex-shrink:0;}
.bm-confirm-text{font-family:'Outfit',sans-serif;font-size:.82rem;color:var(--cream);line-height:1.5;}
.bm-confirm-sub{font-size:.72rem;color:var(--muted);margin-top:.1rem;}
.bm-form-fields{display:flex;flex-direction:column;gap:.75rem;}
.bm-field-group{display:flex;flex-direction:column;gap:.22rem;}
.bm-label{font-family:'DM Mono',monospace;font-size:.52rem;color:var(--gold);letter-spacing:.18em;text-transform:uppercase;}
.bm-input,.bm-textarea{background:var(--bg);border:1px solid rgba(255,255,255,.08);color:var(--text);padding:.72rem .9rem;font-family:'Outfit',sans-serif;font-size:.84rem;outline:none;transition:border-color .25s;width:100%;resize:none;}
.bm-input:focus,.bm-textarea:focus{border-color:var(--gold);}
.bm-textarea{min-height:72px;}
.bm-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;margin-top:1.2rem;}
.bm-submit{background:var(--gold);color:var(--bg);border:none;padding:.82rem 2rem;font-family:'Outfit',sans-serif;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .3s,transform .3s;border-radius:100px;}
.bm-success-wrap{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.5rem 2rem 2rem;}
.bm-success-icon{width:68px;height:68px;border-radius:50%;background:rgba(201,168,76,.12);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);margin-bottom:1.4rem;flex-shrink:0;}
.bm-success-icon svg{width:34px;height:34px;}
.bm-success-title{font-size:1.25rem;font-weight:700;color:var(--cream);margin-bottom:.6rem;}
.bm-success-body{color:var(--muted);font-size:.87rem;line-height:1.6;margin-bottom:1.2rem;}
.bm-success-dt{font-family:'DM Mono',monospace;font-size:.78rem;color:var(--gold);letter-spacing:.06em;background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.2);padding:.6rem 1.2rem;margin-bottom:1.6rem;}
.bm-success-close{background:var(--gold);color:var(--bg);border:none;padding:.75rem 2.2rem;font-family:'Outfit',sans-serif;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:100px;transition:background .3s;}
.bm-submit:hover:not(:disabled){background:var(--gold-light);transform:translateY(-2px);}
.bm-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;}
/* RESPONSIVE */
@media(max-width:600px){
  .bm-layout{grid-template-columns:1fr;}
  .bm-sidebar{border-right:none;border-bottom:1px solid rgba(255,255,255,.05);padding:1rem 1.1rem;gap:.7rem;flex-direction:row;flex-wrap:wrap;align-items:center;}
  .bm-ev-title{font-size:.88rem;}
  .bm-ev-divider,.bm-ev-avail{display:none;}
  .bm-ev-meta{flex-direction:row;flex-wrap:wrap;gap:.4rem .9rem;}
  .bm-cal-col{padding:1rem 1rem 1.2rem;}
  .bm-form-body{padding:1.1rem 1.1rem 1.4rem;}
  .bm-form-actions{flex-direction:column;}
  .bm-submit{width:100%;}
}
/* SCROLL TO TOP */
.scroll-top{position:fixed;bottom:2rem;right:2rem;z-index:99;width:2.6rem;height:2.6rem;background:var(--surface);border:1px solid rgba(255,255,255,.1);color:var(--gold);display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s,visibility .3s,transform .3s,background .3s,border-color .3s;}
.scroll-top.visible{opacity:1;visibility:visible;transform:translateY(0);}
.scroll-top:hover{background:rgba(201,168,76,.1);border-color:rgba(201,168,76,.35);}
.scroll-top svg{width:1rem;height:1rem;}