:root {
  --bg: #f7f6f2;
  --surface: #ffffff;
  --ink: #1d2624;
  --muted: #68716e;
  --line: #dedfd9;
  --accent: #977f5f;
  --accent-dark: #65523c;
  --sage: #65756c;
  --deep: #26332e;
  --radius: 28px;
  --radius-sm: 16px;
  --shadow: 0 18px 60px rgba(29, 38, 36, .08);
  --container: min(1240px, calc(100% - 40px));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 17px; line-height: 1.65; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
.container { width: var(--container); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link { position: fixed; left: 20px; top: -80px; z-index: 99999; background: var(--deep); color: #fff; padding: 12px 18px; border-radius: 10px; }
.skip-link:focus { top: 20px; }

.site-header { position: sticky; top: 0; z-index: 1000; background: rgba(247, 246, 242, .92); backdrop-filter: blur(18px); transition: .35s ease; border-bottom: 1px solid transparent; }
.site-header.is-scrolled { border-color: rgba(29,38,36,.08); box-shadow: 0 8px 30px rgba(29,38,36,.04); }
.site-header.is-hidden { transform: translateY(-100%); }
.utility-bar { background: var(--deep); color: #f8f7f1; font-size: 12px; letter-spacing: .03em; }
.utility-inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.utility-links { display: flex; gap: 20px; opacity: .9; }
.header-main { min-height: 86px; display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 178px; }
.brand .custom-logo { max-height: 58px; width: auto; }
.brand-mark { width: 44px; height: 48px; display: flex; gap: 3px; transform: skewY(-3deg); }
.brand-mark span { flex: 1; background: linear-gradient(180deg, #d6c19e, #8e7452); border-radius: 2px; }
.brand-mark span:nth-child(2) { opacity: .72; }.brand-mark span:nth-child(3){opacity:.52}.brand-mark span:nth-child(4){opacity:.34}
.brand-copy { display: flex; flex-direction: column; line-height: .9; letter-spacing: .12em; }
.brand-copy strong { font-size: 20px; }.brand-copy small { margin-top: 7px; font-size: 10px; color: var(--muted); }
.primary-nav { justify-self: center; }
.primary-nav ul { margin: 0; padding: 0; list-style: none; display: flex; align-items: center; gap: 25px; }
.primary-nav a { font-size: 14px; font-weight: 700; position: relative; padding: 12px 0; }
.primary-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 5px; height: 2px; background: var(--accent); transition: .25s; }
.primary-nav a:hover::after, .primary-nav .current-menu-item a::after { right: 0; }
.menu-toggle { display: none; border: 0; background: none; width: 44px; height: 44px; padding: 10px; cursor: pointer; }
.menu-toggle > span:not(.screen-reader-text) { display: block; height: 2px; margin: 5px 0; background: var(--ink); }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 22px; border-radius: 999px; font-size: 14px; font-weight: 800; letter-spacing: .02em; transition: .2s ease; border: 1px solid transparent; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--deep); color: #fff; box-shadow: 0 10px 24px rgba(38,51,46,.18); }
.button-primary:hover { background: #18231f; }
.button-ghost { border-color: var(--line); background: rgba(255,255,255,.55); }
.button-light { background: #fff; color: var(--deep); }
.button-outline-light { border-color: rgba(255,255,255,.45); color: #fff; }

.hero { overflow: hidden; padding: 64px 0 34px; }
.hero-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(48px, 6vw, 92px); align-items: center; min-height: 680px; }
.eyebrow { display: inline-block; margin-bottom: 16px; color: var(--accent-dark); font-size: 12px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.hero h1, .section h2, .page-header h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.035em; line-height: .98; }
.hero h1 { font-size: clamp(50px, 5vw, 78px); margin: 0 0 24px; max-width: 720px; }
.hero-copy > p { max-width: 660px; font-size: 19px; color: var(--muted); }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 32px 0; }
.hero-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; padding-top: 26px; border-top: 1px solid var(--line); }
.hero-facts strong { display: block; font-size: 16px; }.hero-facts span { display: block; color: var(--muted); font-size: 12px; margin-top: 4px; }
.spec-note { display: block; color: #818985; margin-top: 14px; font-size: 11px; }
.hero-visual { position: relative; }
.window-scene { position: relative; min-height: 660px; border-radius: 38px; overflow: hidden; background: linear-gradient(145deg, #e8e1d6 0%, #f7f4ed 48%, #d5d0c6 100%); box-shadow: var(--shadow); isolation: isolate; }
.window-scene::before { content: ""; position: absolute; inset: 7% 9%; border: 15px solid #f3f0e8; box-shadow: inset 0 0 0 2px rgba(60,70,66,.14), 0 30px 60px rgba(71,65,55,.14); background: linear-gradient(135deg, #b8c6c8 0 48%, #9fb0ae 49% 100%); }
.window-scene::after { content: ""; position: absolute; inset: 7% 9%; background: linear-gradient(180deg, transparent 0 45%, rgba(255,255,255,.32) 45% 100%), linear-gradient(90deg, transparent 0 49.5%, rgba(255,255,255,.75) 49.5% 51%, transparent 51%); z-index: 1; }
.pleat { position: absolute; z-index: 3; left: 9%; right: 52%; background: repeating-linear-gradient(180deg, #c9b89d 0 8px, #e5d9c4 8px 16px, #b9a98f 16px 18px); box-shadow: 0 10px 26px rgba(76,63,45,.13); }
.pleat-a { top: 7%; height: 29%; }.pleat-b { bottom: 7%; height: 28%; }
.pleat-c { left: 52%; right: 9%; top: 7%; height: 47%; background: repeating-linear-gradient(180deg, #65766d 0 8px, #91a097 8px 16px, #59685f 16px 18px); }
.pleat-d { left: 52%; right: 9%; bottom: 7%; height: 18%; background: repeating-linear-gradient(180deg, #dbc9b5 0 8px, #f0e3d3 8px 16px, #c8b7a2 16px 18px); }
.window-caption { position: absolute; z-index: 5; right: 7%; bottom: 7%; width: min(300px, 62%); padding: 18px 20px; background: rgba(29,38,36,.88); color: #fff; backdrop-filter: blur(8px); font-size: 13px; border-radius: 18px 0 0 0; }

.trust-strip { padding: 0 0 30px; }.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--line); }
.trust-grid span { padding: 20px; text-align: center; font-weight: 800; font-size: 13px; border-right: 1px solid var(--line); }.trust-grid span:last-child{border-right:0}
.section { padding: 110px 0; }.section-soft { background: #efeee8; }
.split-head { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: end; margin-bottom: 46px; }
.section h2 { margin: 0; font-size: clamp(40px, 4vw, 62px); max-width: 800px; }
.split-head > p { margin: 0; color: var(--muted); max-width: 580px; }
.cards-grid { display: grid; gap: 22px; }.cards-grid-3 { grid-template-columns: repeat(3, 1fr); }
.feature-card { min-height: 390px; border-radius: var(--radius); padding: 26px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; position: relative; background: #ddd; box-shadow: var(--shadow); }
.feature-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 20%, rgba(21,28,25,.76) 100%); }
.feature-card > * { position: relative; z-index: 2; color: #fff; }
.feature-card h3 { font-size: 27px; margin: 0 0 4px; }.feature-card p { margin: 0; opacity: .78; }
.card-index { align-self: flex-start; border: 1px solid rgba(255,255,255,.45); border-radius: 99px; padding: 5px 10px; font-size: 11px; }
.visual-card-1 { background: radial-gradient(circle at 20% 20%, #f1e6d4, transparent 40%), repeating-linear-gradient(90deg, #a78f71 0 18px, #d5c1a8 18px 36px); }
.visual-card-2 { background: linear-gradient(140deg, rgba(255,255,255,.2), transparent), repeating-linear-gradient(135deg, #647069 0 16px, #929b95 16px 34px); }
.visual-card-3 { background: radial-gradient(circle at 65% 30%, #decbb1, transparent 23%), linear-gradient(150deg, #373f3b, #9d8d78); }
.swatch-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }.swatch-card { background:#fff; padding:16px; border-radius:20px; border:1px solid rgba(29,38,36,.06); transition:.2s; }.swatch-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.swatch { display:block; height:210px; border-radius:14px; margin-bottom:16px; position:relative; overflow:hidden; }.swatch::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 8px,rgba(255,255,255,.28) 8px 15px,rgba(0,0,0,.08) 15px 17px)}
.swatch-linen{background:#e9e0d1}.swatch-sand{background:#c6ad8a}.swatch-clay{background:#9d765d}.swatch-night{background:#3d4544}
.swatch-card strong,.swatch-card small{display:block}.swatch-card small{color:var(--muted);margin-top:3px}
.steps-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.step{background:var(--surface);padding:30px;min-height:220px}.step b{display:flex;width:34px;height:34px;border-radius:50%;background:var(--deep);color:#fff;align-items:center;justify-content:center;font-size:12px}.step h3{font-size:20px;margin:38px 0 6px}.step p{margin:0;color:var(--muted);font-size:14px}
.calculator-home{padding-top:30px}.calculator-shell{display:grid;grid-template-columns:.75fr 1.25fr;gap:0;background:var(--deep);color:#fff;border-radius:36px;overflow:hidden;box-shadow:var(--shadow)}.calculator-intro{padding:56px}.calculator-intro h2{font-size:48px}.calculator-intro p,.calculator-intro li{color:rgba(255,255,255,.72)}.calculator-embed{background:#fff;color:var(--ink);padding:26px;min-height:480px}.module-placeholder{height:100%;min-height:430px;border:1px dashed #cdd2ce;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:#f8f8f5}.module-placeholder strong{font-size:22px}.module-placeholder p{max-width:400px;color:var(--muted)}.status-dot{width:12px;height:12px;background:#bd9b6e;border-radius:50%;box-shadow:0 0 0 8px rgba(189,155,110,.15);margin-bottom:24px}
.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:250px 250px;gap:18px}.gallery-tile{border-radius:24px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:20px;color:#fff;font-weight:800;background:#888}.gallery-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.45))}.gallery-tile span{position:relative;z-index:2}.tile-a{grid-row:span 2;background:linear-gradient(145deg,#d9c8ae,#777269)}.tile-b{background:linear-gradient(130deg,#75857d,#d4d8ce)}.tile-c{background:linear-gradient(135deg,#c6b8a6,#8e7c69)}.tile-d{grid-column:span 2;background:linear-gradient(115deg,#4e5a55,#a5a79d)}.text-link{font-weight:800;color:var(--accent-dark)}
.contact-cta{padding-top:40px}.contact-card{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;background:linear-gradient(130deg,#31423b,#202c27);color:#fff;border-radius:36px;padding:58px}.contact-card h2{font-size:48px}.contact-card p{color:rgba(255,255,255,.72);max-width:720px}.contact-actions{display:flex;gap:10px;flex-wrap:wrap}
.site-footer{margin-top:80px;padding:70px 0 24px;background:#121a17;color:#dfe5df}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr .8fr;gap:70px}.site-footer h3{font-size:14px;text-transform:uppercase;letter-spacing:.12em}.site-footer p,.site-footer a{color:#9faaa4}.footer-brand{font-size:22px;font-weight:900;letter-spacing:.14em}.footer-brand span{font-weight:400;color:#a78f71}.footer-meta{font-size:13px}.support-publicity{margin-top:38px;padding-top:26px;border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:minmax(260px,.9fr) minmax(520px,1.6fr);gap:42px;align-items:center}.support-publicity h3{margin:0 0 8px;font-size:11px;letter-spacing:.14em;color:#dfe5df}.support-publicity p{margin:0;max-width:560px;font-size:12px;line-height:1.6;color:#87938d}.support-publicity-logos{display:grid;grid-template-columns:1fr 1.45fr 1fr;align-items:center;gap:28px}.support-publicity-logos img{display:block;width:100%;height:58px;object-fit:contain;object-position:center;opacity:.92}.support-publicity-logos img:nth-child(2){height:48px}.support-publicity-logos img:nth-child(3){height:70px}.footer-bottom{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;color:#7f8b85;font-size:12px}.footer-bottom a{color:#dfe5df}.footer-bottom strong{font-weight:800}
.page-main{padding:80px 0 100px}.page-wrap{max-width:980px}.page-header{margin-bottom:45px}.page-header h1{font-size:64px;margin:0}.content-prose{background:#fff;border-radius:28px;padding:40px;box-shadow:0 8px 30px rgba(29,38,36,.04)}.content-prose h2,.content-prose h3{line-height:1.2}.content-prose a{text-decoration:underline;text-decoration-color:#b99f7d}.empty-state{text-align:center;padding:80px 0}

@media (max-width: 1080px){
  .header-main{grid-template-columns:auto auto auto;justify-content:space-between}.primary-nav{position:fixed;inset:120px 18px auto;background:#fff;border-radius:22px;padding:24px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.2s}.primary-nav.is-open{opacity:1;visibility:visible;transform:none}.primary-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}.primary-nav a{display:block;padding:12px}.menu-toggle{display:block;justify-self:end}.header-cta{display:none}
  .hero-grid{grid-template-columns:1fr;min-height:auto}.hero-copy{max-width:800px}.window-scene{min-height:560px}.cards-grid-3,.swatch-grid{grid-template-columns:repeat(2,1fr)}.steps-grid{grid-template-columns:repeat(2,1fr)}.calculator-shell{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px}.tile-a{grid-row:auto}.tile-d{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}.support-publicity{grid-template-columns:1fr;gap:24px}.support-publicity-logos{max-width:760px}.contact-card{grid-template-columns:1fr}
}
@media (max-width: 720px){
  :root{--container:min(100% - 28px, 1240px);--radius:22px}.utility-inner>span{display:none}.utility-inner{justify-content:flex-end}.utility-links{width:100%;justify-content:space-between;gap:8px;font-size:11px}.header-main{min-height:72px}.brand-mark{width:34px;height:38px}.brand-copy strong{font-size:17px}.site-header.is-hidden{transform:none}.primary-nav{inset:104px 14px auto}.hero{padding-top:38px}.hero h1{font-size:46px}.hero-grid{gap:36px}.window-scene{min-height:420px;border-radius:26px}.hero-facts{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid span{border-bottom:1px solid var(--line)}.split-head{grid-template-columns:1fr;gap:18px}.section{padding:72px 0}.section h2{font-size:40px}.cards-grid-3,.swatch-grid,.steps-grid{grid-template-columns:1fr}.feature-card{min-height:320px}.swatch{height:180px}.calculator-intro{padding:32px 26px}.calculator-intro h2,.contact-card h2{font-size:38px}.calculator-embed{padding:14px}.gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,240px)}.contact-card{padding:32px 24px;border-radius:26px}.footer-grid{grid-template-columns:1fr;gap:34px}.support-publicity{margin-top:30px;padding-top:24px;gap:20px}.support-publicity-logos{grid-template-columns:1fr 1fr;gap:20px}.support-publicity-logos img{height:44px;object-position:left center}.support-publicity-logos img:nth-child(2){height:40px}.support-publicity-logos img:nth-child(3){height:58px;grid-column:1 / -1;max-width:220px}.footer-bottom{flex-direction:column}.page-header h1{font-size:46px}.content-prose{padding:26px}.site-footer{margin-top:50px}
}

/* v0.1.2 – hangsúlyos szolgáltatások, állandó fejléc és lebegő CTA */
.site-header { transform: none !important; }
.site-header.is-scrolled .utility-bar { max-height: 0; opacity: 0; overflow: hidden; }
.utility-bar { max-height: 40px; opacity: 1; transition: max-height .3s ease, opacity .2s ease; }
.site-header.is-scrolled .header-main { min-height: 66px; }
.site-header.is-scrolled .brand .custom-logo { max-height: 44px; }
.site-header.is-scrolled .brand-mark { height: 38px; width: 35px; }
.header-main, .brand .custom-logo, .brand-mark { transition: min-height .3s ease, max-height .3s ease, height .3s ease, width .3s ease; }

.hero-copy h1 { text-wrap: balance; }
.hero-calculator-button { background: linear-gradient(135deg, #c99b45, #edbd62); color: #1e251f; box-shadow: 0 14px 34px rgba(191,139,48,.28); }
.hero-calculator-button:hover { background: linear-gradient(135deg, #d5a64d, #f2c66f); }

.services-section { padding-top: 92px; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.service-card { position:relative; min-height:340px; display:flex; flex-direction:column; padding:30px; border:1px solid rgba(29,38,36,.08); border-radius:24px; background:#fff; box-shadow:0 12px 38px rgba(29,38,36,.05); overflow:hidden; }
.service-card::after { content:""; position:absolute; right:-55px; bottom:-65px; width:160px; height:160px; border-radius:50%; border:32px solid rgba(151,127,95,.08); }
.service-card h3 { margin:45px 0 12px; font-family:Georgia,"Times New Roman",serif; font-size:31px; font-weight:500; letter-spacing:-.025em; }
.service-card p { margin:0; color:var(--muted); font-size:14px; }
.service-card strong { margin-top:auto; padding-top:26px; font-size:13px; color:var(--accent-dark); position:relative; z-index:2; }
.service-number { display:flex; width:38px; height:38px; align-items:center; justify-content:center; border-radius:50%; background:#f0ede6; color:var(--accent-dark); font-size:11px; font-weight:900; }
.service-card-accent { background:linear-gradient(145deg,#2d3c36,#1f2c27); color:#fff; border-color:transparent; }
.service-card-accent p { color:rgba(255,255,255,.7); }
.service-card-accent strong { color:#f0c875; }
.service-card-accent .service-number { background:#f0c875; color:#25312c; }
.service-note { margin-top:14px; color:var(--muted); }

.home-about { padding-block:100px; }
.about-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; }
.about-panel h2 { margin:0 0 24px; font-family:Georgia,"Times New Roman",serif; font-weight:500; font-size:clamp(42px,4vw,62px); line-height:1; letter-spacing:-.035em; }
.about-lead { font-size:18px; color:var(--muted); max-width:720px; }
.about-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:30px; }
.about-service-list { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); border-radius:26px; overflow:hidden; background:#fff; }
.about-service-list > div { min-height:170px; padding:27px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.about-service-list > div:nth-child(2n) { border-right:0; }
.about-service-list > div:nth-last-child(-n+2) { border-bottom:0; }
.about-service-list span { display:block; font-weight:900; font-size:18px; margin-bottom:8px; }
.about-service-list p { margin:0; color:var(--muted); font-size:13px; }

.floating-cta { position:fixed; z-index:950; right:18px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:9px; pointer-events:none; }
.floating-cta-link { pointer-events:auto; min-width:178px; min-height:54px; padding:0 17px; display:flex; align-items:center; gap:10px; border-radius:15px; font-size:13px; font-weight:900; box-shadow:0 14px 38px rgba(21,28,25,.18); transition:.2s ease; }
.floating-cta-link:hover { transform:translateX(-4px); }
.floating-cta-calculator { background:linear-gradient(135deg,#d5a347,#f0c66f); color:#1d2624; }
.floating-cta-quote { background:rgba(31,43,38,.95); color:#fff; backdrop-filter:blur(12px); }
.floating-cta-icon { display:flex; align-items:center; justify-content:center; width:27px; height:27px; border-radius:9px; background:rgba(255,255,255,.24); font-size:13px; }

.about-page-hero { padding:90px 0 70px; }
.about-page-hero-grid { display:grid; grid-template-columns:1.05fr .75fr; gap:70px; align-items:center; }
.about-page-hero h1 { margin:0 0 24px; font-family:Georgia,"Times New Roman",serif; font-weight:500; font-size:clamp(50px,5vw,76px); line-height:.98; letter-spacing:-.04em; }
.about-page-hero p { max-width:760px; color:var(--muted); font-size:18px; }
.about-page-highlight { padding:48px; min-height:360px; display:flex; flex-direction:column; justify-content:flex-end; border-radius:34px; color:#fff; background:linear-gradient(145deg,#3b4b44,#1e2a25); box-shadow:var(--shadow); position:relative; overflow:hidden; }
.about-page-highlight::before { content:""; position:absolute; inset:-20% -30% 40% 20%; background:repeating-linear-gradient(180deg,rgba(237,213,172,.18) 0 10px,transparent 10px 20px); transform:rotate(-16deg); }
.about-page-highlight strong,.about-page-highlight p { position:relative; z-index:2; }
.about-page-highlight strong { font-family:Georgia,"Times New Roman",serif; font-size:38px; line-height:1.05; font-weight:500; }
.about-page-highlight strong span { color:#f0c66f; }
.about-page-highlight p { color:rgba(255,255,255,.72); margin-bottom:0; }
.partner-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
.partner-grid h2 { margin:0; }
.partner-grid p { margin-top:0; color:var(--muted); }

@media (max-width: 1280px){
  .floating-cta-link { min-width:0; width:58px; padding:0; justify-content:center; }
  .floating-cta-link > span:last-child { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .floating-cta-icon { background:transparent; font-size:17px; }
}
@media (max-width: 1080px){
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .about-grid,.about-page-hero-grid,.partner-grid { grid-template-columns:1fr; gap:40px; }
  .about-page-highlight { min-height:280px; }
}
@media (max-width: 720px){
  .site-header.is-scrolled .header-main { min-height:62px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { min-height:280px; }
  .about-service-list { grid-template-columns:1fr; }
  .about-service-list > div,.about-service-list > div:nth-child(2n),.about-service-list > div:nth-last-child(-n+2) { border-right:0; border-bottom:1px solid var(--line); }
  .about-service-list > div:last-child { border-bottom:0; }
  .floating-cta { top:auto; right:12px; left:12px; bottom:12px; transform:none; flex-direction:row; gap:8px; }
  .floating-cta-link { flex:1; width:auto; min-height:50px; padding:0 13px; justify-content:center; border-radius:14px; }
  .floating-cta-link > span:last-child { position:static; width:auto; height:auto; overflow:visible; clip:auto; font-size:12px; }
  .floating-cta-icon { width:22px; height:22px; font-size:12px; }
  .site-footer { padding-bottom:92px; }
  .about-page-hero { padding:55px 0 35px; }
  .about-page-hero h1 { font-size:46px; }
  .about-page-highlight { padding:30px; min-height:240px; }
  .about-page-highlight strong { font-size:31px; }
}

/* v0.1.3 – specifikáció szerinti főmenü, önálló aloldalak és HERO plecsni */
.header-cta {
  white-space: nowrap;
  background: linear-gradient(135deg, #d5a347, #f0c66f);
  color: #1d2624;
  box-shadow: 0 12px 28px rgba(190, 139, 48, .24);
}
.header-cta:hover { background: linear-gradient(135deg, #dfad4c, #f4cb76); }
@media (min-width:1081px) {
  .primary-nav ul { gap: clamp(12px, 1.45vw, 22px); }
  .primary-nav a { font-size: 13px; }
  .header-main { gap: 20px; }
  .header-cta { padding-inline: 18px; font-size: 12px; }
}

.hero-badge {
  position: relative;
  width: min(100%, 500px);
  margin: 34px 0 4px;
  color: #fff;
  filter: drop-shadow(0 18px 28px rgba(158, 13, 13, .22));
}
.hero-badge::before {
  content: "";
  position: absolute;
  inset: -22px -26px;
  background: linear-gradient(145deg, #f11919 0%, #cf0000 76%);
  clip-path: polygon(50% 0%,56% 7%,64% 2%,69% 10%,78% 7%,81% 16%,91% 16%,91% 26%,100% 31%,94% 40%,100% 50%,93% 58%,98% 68%,88% 72%,88% 82%,78% 82%,72% 92%,63% 87%,56% 97%,49% 90%,41% 98%,35% 89%,25% 94%,21% 84%,11% 85%,12% 74%,2% 70%,8% 60%,0% 52%,7% 43%,1% 33%,11% 28%,10% 18%,21% 17%,25% 7%,35% 12%,42% 2%);
  z-index: -1;
}
.hero-badge::after {
  content: "";
  position: absolute;
  inset: -12px -15px;
  border: 2px solid rgba(255,255,255,.45);
  clip-path: polygon(50% 0%,56% 7%,64% 2%,69% 10%,78% 7%,81% 16%,91% 16%,91% 26%,100% 31%,94% 40%,100% 50%,93% 58%,98% 68%,88% 72%,88% 82%,78% 82%,72% 92%,63% 87%,56% 97%,49% 90%,41% 98%,35% 89%,25% 94%,21% 84%,11% 85%,12% 74%,2% 70%,8% 60%,0% 52%,7% 43%,1% 33%,11% 28%,10% 18%,21% 17%,25% 7%,35% 12%,42% 2%);
  z-index: -1;
  pointer-events: none;
}
.hero-badge-inner { padding: 26px 48px 28px; text-align: center; }
.hero-badge-inner > div { padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.28); }
.hero-badge-inner > div:last-child { border-bottom: 0; }
.hero-badge strong { display: block; font-size: clamp(19px, 2vw, 27px); line-height: 1.05; letter-spacing: -.02em; }
.hero-badge span { display: block; margin-top: 4px; font-size: 12px; line-height: 1.3; font-weight: 700; }
.hero-badge + .spec-note { margin-top: 28px; max-width: 490px; }

.subpage-hero { padding: 88px 0 64px; overflow: hidden; }
.subpage-hero-grid { display:grid; grid-template-columns: 1.05fr .75fr; gap: clamp(48px,7vw,100px); align-items:center; }
.subpage-hero h1 { margin:0 0 24px; font-family:Georgia,"Times New Roman",serif; font-weight:500; font-size:clamp(52px,5vw,78px); line-height:.98; letter-spacing:-.04em; }
.subpage-hero p { max-width:760px; color:var(--muted); font-size:18px; }
.subpage-hero-card { min-height:340px; border-radius:34px; box-shadow:var(--shadow); overflow:hidden; position:relative; }
.section-tight { padding-block: 78px; }

.gallery-hero-card { background:linear-gradient(135deg,#d8c8b3,#7b776e); display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:28px; }
.gallery-hero-card span { display:block; border-radius:16px; background:repeating-linear-gradient(180deg,#ebdfcc 0 10px,#c8b798 10px 20px,#a99270 20px 22px); box-shadow:0 16px 30px rgba(56,49,39,.14); }
.gallery-hero-card span:nth-child(2) { transform:translateY(34px); background:repeating-linear-gradient(180deg,#8f9b94 0 10px,#5d6c64 10px 20px,#4e5c55 20px 22px); }
.gallery-hero-card span:nth-child(3) { transform:translateY(-18px); background:repeating-linear-gradient(180deg,#e2d2bd 0 10px,#b79e80 10px 20px,#92795d 20px 22px); }
.showcase-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.showcase-card { background:#fff; border:1px solid rgba(29,38,36,.07); border-radius:26px; padding:18px 18px 26px; box-shadow:0 10px 34px rgba(29,38,36,.04); }
.showcase-card h3 { margin:20px 6px 7px; font-size:23px; }
.showcase-card p { margin:0 6px; color:var(--muted); font-size:14px; }
.showcase-visual { height:260px; border-radius:20px; background:linear-gradient(145deg,#d5dedc,#9ca8a4); position:relative; overflow:hidden; }
.showcase-visual::before { content:""; position:absolute; inset:20px; background:#f5f1e8; box-shadow:inset 0 0 0 9px #fff; }
.showcase-visual span { position:absolute; inset:29px 29px 44%; background:repeating-linear-gradient(180deg,#ccb997 0 8px,#eadfcd 8px 16px,#b7a484 16px 18px); z-index:2; }
.showcase-shape .showcase-visual::before { clip-path:polygon(0 30%,45% 0,100% 18%,100% 100%,0 100%); }
.showcase-shape .showcase-visual span { inset:43px 29px 44%; clip-path:polygon(0 26%,44% 0,100% 14%,100% 100%,0 100%); }
.showcase-roof .showcase-visual { transform:none; background:linear-gradient(145deg,#b7c0bd,#6d7d76); }
.showcase-roof .showcase-visual::before { transform:skewY(-10deg); inset:42px 25px; }
.showcase-roof .showcase-visual span { transform:skewY(-10deg); inset:51px 34px 42%; }
.gallery-page-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; grid-template-rows:240px 240px; gap:18px; }
.gallery-page-tile { position:relative; border-radius:24px; overflow:hidden; display:flex; align-items:flex-end; padding:22px; color:#fff; font-weight:900; font-size:15px; box-shadow:0 10px 30px rgba(29,38,36,.07); }
.gallery-page-tile::before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(180deg,rgba(255,255,255,.15) 0 10px,rgba(0,0,0,.03) 10px 19px,rgba(255,255,255,.08) 19px 21px); }
.gallery-page-tile::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(16,22,20,.58)); }
.gallery-page-tile span { position:relative; z-index:2; }
.gallery-page-large { grid-row:span 2; background:linear-gradient(145deg,#b7a68e,#635f57); }
.gallery-page-light { background:linear-gradient(135deg,#e9dfcf,#b7aa97); }
.gallery-page-dark { background:linear-gradient(135deg,#59645f,#202a26); }
.gallery-page-angle { background:linear-gradient(135deg,#9b8b78,#d7cabc); }
.gallery-page-neutral { background:linear-gradient(135deg,#7c8882,#bbbdb4); }

.shading-hero-card { background:linear-gradient(140deg,#31423b,#18231f); color:#fff; padding:46px; display:flex; flex-direction:column; justify-content:flex-end; }
.shading-hero-card::before { content:""; position:absolute; inset:-10% 35% -10% -25%; background:repeating-linear-gradient(180deg,rgba(236,201,136,.25) 0 9px,transparent 9px 18px); transform:rotate(-12deg); }
.shading-hero-card strong,.shading-hero-card span { position:relative; z-index:2; }
.shading-hero-card strong { font-family:Georgia,"Times New Roman",serif; font-size:58px; font-weight:500; }
.shading-hero-card span { color:rgba(255,255,255,.72); max-width:260px; }
.problem-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.problem-grid article { min-height:290px; padding:28px; border-radius:24px; background:#fff; border:1px solid rgba(29,38,36,.07); }
.problem-grid article > span { display:flex; width:36px; height:36px; align-items:center; justify-content:center; border-radius:50%; background:#efeae1; color:var(--accent-dark); font-size:11px; font-weight:900; }
.problem-grid h3 { margin:50px 0 10px; font-size:22px; }
.problem-grid p { margin:0; color:var(--muted); font-size:14px; }
.type-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.type-card { background:#fff; border-radius:26px; padding:30px; border:1px solid rgba(29,38,36,.06); }
.type-card h3 { font-size:24px; margin:24px 0 8px; }
.type-card p { margin:0; color:var(--muted); }
.type-icon { height:190px; border-radius:18px; position:relative; overflow:hidden; background:linear-gradient(145deg,#cbd4d1,#87958f); }
.type-icon::before { content:""; position:absolute; inset:20px 26px; background:#f7f3ea; box-shadow:inset 0 0 0 8px #fff; }
.type-icon::after { content:""; position:absolute; left:34px; right:34px; top:29px; height:45%; background:repeating-linear-gradient(180deg,#d3c3a7 0 7px,#eee2cf 7px 14px,#bba98b 14px 16px); }
.type-icon-free::after { top:auto; bottom:29px; height:55%; }
.type-icon-roof::before,.type-icon-roof::after { transform:skewY(-9deg); }
.light-levels { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.light-levels a { background:#fff; border:1px solid rgba(29,38,36,.07); border-radius:22px; padding:14px 14px 20px; transition:.2s; }
.light-levels a:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.light-sample { display:block; height:180px; border-radius:15px; margin-bottom:16px; position:relative; overflow:hidden; }
.light-sample::after { content:""; position:absolute; inset:0; background:repeating-linear-gradient(180deg,transparent 0 8px,rgba(255,255,255,.28) 8px 15px,rgba(0,0,0,.06) 15px 17px); }
.light-translucent { background:#ece4d8; }.light-medium{background:#c3ad90}.light-dimout{background:#776a5d}.light-blackout{background:#313a37}
.light-levels strong,.light-levels small { display:block; }.light-levels small { color:var(--muted); margin-top:4px; }

.material-fan { min-height:340px; position:relative; }
.material-fan span { position:absolute; width:46%; height:78%; left:27%; top:11%; border-radius:22px; transform-origin:50% 90%; box-shadow:0 18px 44px rgba(29,38,36,.12); background:repeating-linear-gradient(180deg,#e7decf 0 10px,#cbbda6 10px 20px,#baa88e 20px 22px); }
.material-fan span:nth-child(1){transform:rotate(-24deg);background:repeating-linear-gradient(180deg,#65736c 0 10px,#89958f 10px 20px,#59665f 20px 22px)}
.material-fan span:nth-child(2){transform:rotate(-12deg);background:repeating-linear-gradient(180deg,#c9a98d 0 10px,#ead7c2 10px 20px,#b59276 20px 22px)}
.material-fan span:nth-child(3){transform:rotate(0deg)}
.material-fan span:nth-child(4){transform:rotate(12deg);background:repeating-linear-gradient(180deg,#a98a76 0 10px,#d1b5a1 10px 20px,#886b5a 20px 22px)}
.material-fan span:nth-child(5){transform:rotate(24deg);background:repeating-linear-gradient(180deg,#3e4845 0 10px,#59635f 10px 20px,#343c39 20px 22px)}
.material-category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.material-category-grid article { background:#fff; padding:16px 16px 24px; border-radius:22px; border:1px solid rgba(29,38,36,.07); }
.material-category-grid h3 { margin:17px 5px 7px; font-size:21px; }.material-category-grid p{margin:0 5px;color:var(--muted);font-size:13px}
.material-sample { display:block; height:210px; border-radius:15px; position:relative; overflow:hidden; }
.material-sample::after,.live-material-swatch::after { content:""; position:absolute; inset:0; background:repeating-linear-gradient(180deg,transparent 0 8px,rgba(255,255,255,.27) 8px 15px,rgba(0,0,0,.07) 15px 17px); }
.sample-1{background:#eee5d8}.sample-2{background:#c9b292}.sample-3{background:#776b60}.sample-4{background:#303937}
.live-material-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.live-material-card { background:#fff; padding:14px 14px 18px; border-radius:21px; border:1px solid rgba(29,38,36,.06); }
.live-material-swatch { --material-color:#d9d2c6; display:block; height:190px; border-radius:14px; background:var(--material-color); position:relative; overflow:hidden; }
.live-material-card small { display:block; margin-top:15px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }.live-material-card h3{margin:3px 0 0;font-size:18px}

.calculator-page-highlight { min-height:340px; border-radius:34px; padding:38px; display:grid; grid-template-columns:auto 1fr; align-content:center; gap:12px 18px; background:linear-gradient(140deg,#d5a347,#f0c66f); color:#24312b; box-shadow:var(--shadow); }
.calculator-page-highlight span { display:flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.5); font-size:11px; font-weight:900; }
.calculator-page-highlight strong { align-self:center; font-size:21px; }
.calculator-page-shell { background:#fff; border-radius:34px; padding:24px; box-shadow:var(--shadow); }
.calculator-disclaimer { margin-top:20px; padding:18px 22px; border-radius:18px; background:#efeae1; color:#635a4d; font-size:13px; }

.contact-quick-card { min-height:300px; padding:44px; border-radius:34px; background:linear-gradient(140deg,#31423b,#1f2b27); color:#fff; display:flex; flex-direction:column; justify-content:flex-end; box-shadow:var(--shadow); }
.contact-quick-card span { color:#efc971; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.13em; }.contact-quick-card strong{font-size:32px;margin-top:12px}.contact-quick-card a{color:rgba(255,255,255,.74);margin-top:4px}
.contact-page-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:26px; align-items:start; }
.contact-details-card,.contact-form-card { background:#fff; border:1px solid rgba(29,38,36,.07); border-radius:28px; padding:36px; box-shadow:0 10px 32px rgba(29,38,36,.04); }
.contact-details-card h2,.contact-form-card h2 { margin:0 0 26px; font-family:Georgia,"Times New Roman",serif; font-weight:500; font-size:38px; letter-spacing:-.03em; }
.contact-details-card dl { margin:0 0 30px; }.contact-details-card dl div{padding:16px 0;border-bottom:1px solid var(--line)}.contact-details-card dt{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}.contact-details-card dd{margin:3px 0 0;font-weight:750}
.contact-form label { display:block; }.contact-form label>span{display:block;margin-bottom:6px;font-size:12px;font-weight:800}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form input,.contact-form textarea{width:100%;border:1px solid #d7d9d4;background:#fafaf7;border-radius:13px;padding:13px 14px;font:inherit;color:var(--ink);outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:#b28d55;box-shadow:0 0 0 3px rgba(178,141,85,.12)}.contact-form textarea{resize:vertical}.contact-form>label{margin-top:16px}.contact-form .form-consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0}.contact-form .form-consent input{width:auto;margin-top:5px}.contact-form .form-consent span{font-weight:500;color:var(--muted);font-size:12px}.contact-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.form-notice{padding:13px 15px;border-radius:12px;margin-bottom:18px;font-size:13px}.form-success{background:#e8f5eb;color:#285d35}.form-error{background:#fdebea;color:#8a2823}
.map-block { display:grid; grid-template-columns:.65fr 1.35fr; gap:50px; align-items:center; }.map-block h2{margin:0 0 14px;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:46px;letter-spacing:-.03em}.map-block p{color:var(--muted)}.map-frame{min-height:420px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:#ddd}.map-frame iframe{width:100%;height:420px;border:0;display:block}

@media (max-width:1080px) {
  .subpage-hero-grid,.contact-page-grid,.map-block { grid-template-columns:1fr; gap:36px; }
  .showcase-grid,.type-grid { grid-template-columns:repeat(2,1fr); }
  .problem-grid,.material-category-grid,.live-material-grid { grid-template-columns:repeat(2,1fr); }
  .light-levels { grid-template-columns:repeat(2,1fr); }
  .material-fan { max-width:560px; width:100%; justify-self:center; }
}
@media (max-width:720px) {
  .hero-badge { width:calc(100% - 10px); margin:38px 5px 4px; }
  .hero-badge::before { inset:-16px -14px; }
  .hero-badge::after { inset:-9px -8px; }
  .hero-badge-inner { padding:20px 28px; }
  .hero-badge strong { font-size:20px; }
  .hero-badge span { font-size:11px; }
  .subpage-hero { padding:52px 0 36px; }.subpage-hero h1{font-size:46px}.subpage-hero-card{min-height:260px}.section-tight{padding-block:58px}
  .showcase-grid,.type-grid,.problem-grid,.material-category-grid,.live-material-grid,.light-levels { grid-template-columns:1fr; }
  .gallery-page-grid { grid-template-columns:1fr; grid-template-rows:repeat(5,220px); }.gallery-page-large{grid-row:auto}
  .material-fan{min-height:270px}.material-fan span{height:72%;top:14%}
  .form-grid{grid-template-columns:1fr}.contact-details-card,.contact-form-card{padding:26px}.contact-quick-card{min-height:240px;padding:30px}.contact-quick-card strong{font-size:26px}.map-frame,.map-frame iframe{height:330px;min-height:330px}
}



/* v0.1.4 hero badges + footer refresh */
.hero-badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
  max-width: 760px;
  margin-top: 18px;
}
.hero-badge-card { margin: 0; }
.hero-badge-card img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 18px 34px rgba(95, 24, 18, .14));
}
.spec-note-inline {
  max-width: 760px;
  margin-top: 10px;
  text-align: center;
}
.hero-badge, .hero-badge-inner { display:none !important; }

.site-footer {
  background: linear-gradient(115deg, #051d34 0%, #0a3256 48%, #051d34 100%);
  color: #f4f8fd;
  position: relative;
  padding-top: 34px;
}
.footer-top-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr 1.05fr;
  gap: 28px;
  padding: 28px 0 34px;
}
.footer-column h3 {
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.2;
}
.footer-intro {
  margin: 0 0 18px;
  color: rgba(244,248,253,.86);
}
.footer-contact-list, .footer-link-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer-contact-list {
  display: grid;
  gap: 16px;
}
.footer-contact-list li {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 12px;
  align-items: start;
}
.footer-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(207, 224, 84, .16);
  color: #d3e35f;
  font-size: 18px;
  font-weight: 700;
}
.footer-contact-list a, .footer-contact-list span {
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
}
.footer-contact-list small {
  display: block;
  color: rgba(244,248,253,.72);
  font-size: 13px;
  margin-top: 3px;
}
.footer-link-list {
  display: grid;
  gap: 10px;
}
.footer-link-list a {
  color: #f4f8fd;
  font-size: 17px;
  position: relative;
  padding-left: 14px;
}
.footer-link-list a::before {
  content: '›';
  position: absolute;
  left: 0;
  top: 0;
  color: #d3e35f;
  font-weight: 700;
}
.footer-link-list a:hover { color: #d3e35f; }
.footer-newsletter-form { display: grid; gap: 10px; }
.footer-newsletter-form input[type="text"],
.footer-newsletter-form input[type="email"] {
  width: 100%;
  min-height: 46px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(6, 26, 47, .45);
  color: #fff;
  padding: 0 14px;
  outline: none;
}
.footer-newsletter-form input::placeholder { color: rgba(244,248,253,.7); }
.footer-checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: rgba(244,248,253,.86);
  font-size: 14px;
}
.footer-checkbox-row input { margin-top: 4px; }
.footer-checkbox-row a { text-decoration: underline; }
.footer-newsletter-button {
  width: 100%;
  background: #c7db60;
  color: #12253c;
  border: 0;
  box-shadow: none;
}
.footer-newsletter-button:hover { background: #d4e576; }
.footer-newsletter-note {
  margin: 4px 0 0;
  color: rgba(244,248,253,.65);
  font-size: 12px;
}
.support-publicity {
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  align-items: center;
  padding: 22px 0;
}
.support-publicity img {
  display: block;
  margin: 0 auto;
  max-height: 52px;
  width: auto;
  object-fit: contain;
}
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  padding: 16px 0 18px;
  font-size: 14px;
  color: rgba(244,248,253,.88);
}
.footer-bottom a { color: #fff; }
.cookie-bar {
  position: sticky;
  bottom: 0;
  z-index: 1001;
  background: #f6f6f5;
  border-top: 1px solid rgba(19,37,60,.12);
  box-shadow: 0 -8px 24px rgba(0,0,0,.05);
}
.cookie-bar.is-hidden { display: none; }
.cookie-bar-inner {
  display: grid;
  grid-template-columns: 1.35fr auto;
  gap: 28px;
  align-items: center;
  padding: 16px 0;
}
.cookie-copy strong {
  display: block;
  margin-bottom: 6px;
  font-size: 26px;
  line-height: 1;
  color: #273648;
}
.cookie-copy p {
  margin: 0;
  color: #5b6470;
  font-size: 14px;
}
.cookie-copy a { text-decoration: underline; }
.cookie-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.cookie-actions .button { min-width: 180px; }
.cookie-accept { background: #1e2b38; color: #fff; }
.cookie-accept:hover { background: #15212d; }
.footer-brand, .footer-grid, .footer-meta, .support-publicity-copy, .support-publicity-logos { display:none !important; }

@media (max-width: 1100px) {
  .hero-badges { grid-template-columns: repeat(3, 1fr); max-width: 100%; }
  .footer-top-grid { grid-template-columns: repeat(2, 1fr); }
  .cookie-bar-inner { grid-template-columns: 1fr; }
  .cookie-actions { justify-content: flex-start; }
}
@media (max-width: 860px) {
  .hero-badges { grid-template-columns: 1fr; max-width: 380px; }
  .spec-note-inline { text-align: left; }
  .support-publicity { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .footer-top-grid { grid-template-columns: 1fr; }
  .cookie-actions .button { width: 100%; }
}

/* v0.1.5 support publicity box + newsletter validation/CAPTCHA */
.support-publicity {
  padding: 20px 0 24px;
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
  display: block;
}
.support-publicity-box {
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 22px;
  background: rgba(255,255,255,.055);
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 28px;
  align-items: center;
  padding: 22px 26px;
}
.support-publicity-copy,
.support-publicity-logos {
  display: block !important;
}
.support-publicity-copy h3 {
  margin: 0 0 8px;
  font-size: 18px;
}
.support-publicity-copy p {
  margin: 0;
  color: rgba(244,248,253,.84);
  font-size: 13px;
  line-height: 1.55;
}
.support-publicity-logos {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-items: center;
}
.support-publicity-logos img {
  display: block;
  margin: 0 auto;
  max-height: 48px;
  width: auto;
  object-fit: contain;
}
.footer-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.footer-captcha-wrap {
  overflow: hidden;
  transform-origin: left top;
  max-width: 100%;
}
.footer-newsletter-form input:invalid:not(:placeholder-shown) {
  border-color: rgba(255, 105, 97, .8);
}
.footer-newsletter-form button[disabled] {
  opacity: .75;
  cursor: wait;
  transform: none;
}
.footer-newsletter-feedback {
  display: none;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.35;
}
.footer-newsletter-feedback.is-success,
.footer-newsletter-feedback.is-error {
  display: block;
}
.footer-newsletter-feedback.is-success {
  background: rgba(54, 179, 126, .18);
  color: #dffbee;
  border: 1px solid rgba(54, 179, 126, .34);
}
.footer-newsletter-feedback.is-error {
  background: rgba(255, 105, 97, .18);
  color: #ffe7e5;
  border: 1px solid rgba(255, 105, 97, .34);
}
.newsletter-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  z-index: 1200;
  transform: translate(-50%, 18px);
  opacity: 0;
  pointer-events: none;
  max-width: min(560px, calc(100% - 32px));
  border-radius: 18px;
  padding: 16px 22px;
  font-weight: 800;
  box-shadow: 0 18px 50px rgba(0,0,0,.22);
  transition: .24s ease;
}
.newsletter-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}
.newsletter-toast.is-success {
  background: #21a86b;
  color: #fff;
}
.newsletter-toast.is-error {
  background: #b3261e;
  color: #fff;
}
@media (max-width: 1100px) {
  .support-publicity-box { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .support-publicity-logos { grid-template-columns: 1fr; }
  .footer-captcha-wrap { transform: scale(.88); margin-bottom: -12px; }
}


/* v0.1.6 blue/green palette + footer refinement */
:root {
  --bg: #f4f8fb;
  --surface: #ffffff;
  --ink: #0f263c;
  --muted: #607386;
  --line: #d9e4ec;
  --accent: #c7db60;
  --accent-dark: #89a73c;
  --sage: #8fb653;
  --deep: #06243f;
  --shadow: 0 18px 60px rgba(6, 36, 63, .10);
}
body { background: var(--bg); color: var(--ink); }
.site-header { background: rgba(244, 248, 251, .94); }
.utility-bar { background: #061d34; }
.primary-nav a::after { background: var(--accent); }
.eyebrow { color: var(--accent-dark); }
.button-primary { background: linear-gradient(135deg, #c7db60, #a7c641); color: #08233c; box-shadow: 0 12px 30px rgba(143, 182, 83, .26); }
.button-primary:hover { background: linear-gradient(135deg, #d3e773, #b4d24c); }
.button-ghost { border-color: #cfdae4; background: rgba(255,255,255,.7); color: var(--ink); }
.hero-calculator-button,
.header-cta,
.floating-cta-calculator,
.calculator-page-highlight {
  background: linear-gradient(135deg, #c7db60, #a9c940) !important;
  color: #06243f !important;
  box-shadow: 0 14px 34px rgba(143, 182, 83, .26) !important;
}
.hero-calculator-button:hover,
.header-cta:hover,
.floating-cta-calculator:hover { background: linear-gradient(135deg, #d5e879, #b7d553) !important; }
.floating-cta-quote,
.button-primary:not(.hero-calculator-button) { background: #06243f; color: #fff; }
.service-card-accent,
.calculator-shell,
.contact-card { background: linear-gradient(145deg, #0a3256, #061d34) !important; }
.service-card-accent strong,
.service-card-accent .service-number { color: #06243f; }
.service-card-accent .service-number { background: #c7db60; }
.status-dot { background:#c7db60; box-shadow:0 0 0 8px rgba(199,219,96,.20); }
.window-caption { background: rgba(6, 36, 63, .90); }
.section-soft { background: #eaf1f6; }
.step b { background: #0a3256; }
.module-placeholder { background: #f4f8fb; border-color: #cddbe5; }

.site-footer {
  background: linear-gradient(115deg, #061d34 0%, #0a3256 50%, #061d34 100%) !important;
  color: #f4f8fd;
  padding-top: 34px;
}
.footer-top-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr 1fr 1.1fr;
  grid-template-areas:
    "help menu docs newsletter"
    "support support support newsletter";
  gap: 30px 34px;
  padding: 28px 0 30px;
}
.footer-help { grid-area: help; }
.footer-menu-column { grid-area: menu; }
.footer-docs-column { grid-area: docs; }
.footer-newsletter-column { grid-area: newsletter; }
.footer-support-column { grid-area: support; }
.footer-link-list a::before,
.footer-link-list a:hover,
.footer-icon,
.footer-contact-list a { color: #c7db60; }
.footer-contact-list span { color: #fff; }
.footer-newsletter-form input[type="text"],
.footer-newsletter-form input[type="email"],
.footer-newsletter-form input[type="tel"] {
  width: 100%;
  min-height: 46px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(5, 24, 43, .52);
  color: #fff;
  padding: 0 14px;
  outline: none;
  font: inherit;
}
.footer-newsletter-form input[type="text"]:focus,
.footer-newsletter-form input[type="email"]:focus,
.footer-newsletter-form input[type="tel"]:focus {
  border-color: rgba(199,219,96,.75);
  box-shadow: 0 0 0 3px rgba(199,219,96,.14);
}
.footer-newsletter-note { display: none !important; }
.footer-newsletter-button { background: #c7db60; color: #06243f; }
.footer-newsletter-button:hover { background: #d4e576; }
.support-publicity {
  padding: 0 !important;
  border: 0 !important;
  display: block !important;
  margin: 2px 0 0 !important;
}
.support-publicity-box {
  border: 1px solid rgba(199,219,96,.38) !important;
  border-radius: 22px;
  background: rgba(199,219,96,.07) !important;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 24px;
  align-items: center;
  padding: 20px 24px;
}
.support-publicity-copy,
.support-publicity-logos { display: block !important; }
.support-publicity-copy h3 { color: #c7db60; margin: 0 0 8px; }
.support-publicity-copy p { color: rgba(244,248,253,.88); margin: 0; }
.support-publicity-logos { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: center; }
.support-publicity-logos img { max-height: 48px; width: auto; margin: 0 auto; display: block; }
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.16);
  padding-top: 16px;
  margin-top: 0;
}
.cookie-accept { background: #061d34; color: #fff; }
.cookie-accept:hover { background: #0a3256; }
.newsletter-toast.is-success { background: #25a869; color: #fff; }
.newsletter-toast.is-error { background: #b3261e; color: #fff; }

@media (max-width: 1100px) {
  .footer-top-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas:
      "help menu"
      "docs newsletter"
      "support support";
  }
  .support-publicity-box { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .footer-top-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "help"
      "menu"
      "docs"
      "support"
      "newsletter";
  }
  .support-publicity-logos { grid-template-columns: 1fr; gap: 20px; }
  .support-publicity-logos img { max-height: 54px; }
}


/* v0.1.10 - Rólunk oldal finomítás */
.about-intro-grid {
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 24px;
}
.about-copy-card,
.about-focus-card,
.activity-card,
.about-gallery-item {
  background:#fff;
  border:1px solid rgba(6,29,52,.08);
  border-radius:24px;
  box-shadow:0 16px 34px rgba(6,29,52,.06);
}
.about-copy-card,
.about-focus-card,
.activity-card { padding:30px; }
.about-copy-card h3,
.about-focus-card h3,
.activity-card h3 { margin:0 0 16px; font-size:28px; }
.about-copy-card p:last-child { margin-bottom:0; }
.about-focus-label {
  display:inline-block;
  margin-bottom:12px;
  color:var(--accent-dark);
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.about-focus-points,
.activity-numbered-list,
.activity-check-list {
  margin:0;
  padding-left:20px;
  display:grid;
  gap:10px;
}
.about-focus-points li::marker,
.activity-numbered-list li::marker { color: var(--accent-dark); font-weight:700; }
.about-activity-grid {
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:24px;
}
.activity-card-accent {
  background:linear-gradient(160deg, rgba(183,213,83,.17), rgba(255,255,255,1));
}
.activity-check-list { list-style:none; padding-left:0; }
.activity-check-list li {
  position:relative;
  padding-left:28px;
  font-weight:700;
}
.activity-check-list li::before {
  content:'✓';
  position:absolute;
  left:0;
  top:0;
  color:var(--accent-dark);
  font-weight:900;
}
.about-gallery-grid {
  display:grid;
  grid-template-columns: 1.1fr .9fr .9fr;
  grid-template-rows: 280px 280px;
  gap:18px;
}
.about-gallery-item { margin:0; overflow:hidden; }
.about-gallery-item img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.about-gallery-item-large { grid-row: span 2; }
.about-gallery-item-wide { grid-column: span 2; }
.about-gallery-actions { margin-top:26px; text-align:center; }

@media (max-width: 1040px) {
  .about-intro-grid,
  .about-activity-grid { grid-template-columns:1fr; }
  .about-gallery-grid { grid-template-columns:1fr 1fr; grid-template-rows:260px 260px 260px; }
  .about-gallery-item-large { grid-row:auto; }
  .about-gallery-item-wide { grid-column: span 2; }
}
@media (max-width: 720px) {
  .about-copy-card,
  .about-focus-card,
  .activity-card { padding:24px; }
  .about-gallery-grid { grid-template-columns:1fr; grid-template-rows: repeat(4, 240px); }
  .about-gallery-item-wide { grid-column:auto; }
}


/* v0.1.11 - Pliszé képek galéria */
.gallery-filter-section .split-head { margin-bottom: 26px; }
.gallery-quick-filters {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:26px;
}
.gallery-filter-button {
  appearance:none;
  border:1px solid rgba(6,29,52,.12);
  border-radius:999px;
  background:#fff;
  color:var(--text);
  min-height:48px;
  padding:0 18px;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  transition:all .2s ease;
  box-shadow:0 10px 24px rgba(6,29,52,.05);
}
.gallery-filter-button:hover,
.gallery-filter-button.is-active {
  background:linear-gradient(135deg, var(--accent) 0%, #d7ea72 100%);
  color:#11243b;
  border-color:transparent;
}
.gallery-real-grid {
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
.gallery-real-item {
  appearance:none;
  border:0;
  padding:0;
  margin:0;
  text-align:left;
  cursor:pointer;
  position:relative;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 16px 34px rgba(6,29,52,.08);
  transition:transform .22s ease, box-shadow .22s ease, opacity .22s ease;
}
.gallery-real-item:hover { transform:translateY(-4px); box-shadow:0 18px 42px rgba(6,29,52,.14); }
.gallery-real-item.is-hidden { display:none; }
.gallery-real-item img {
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.gallery-real-item::after {
  content:'';
  position:absolute;
  inset:auto 0 0;
  height:45%;
  background:linear-gradient(180deg, rgba(5,29,52,0) 0%, rgba(5,29,52,.84) 100%);
  pointer-events:none;
}
.gallery-real-meta {
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  z-index:2;
  display:grid;
  gap:4px;
  color:#fff;
}
.gallery-real-meta strong { font-size:17px; }
.gallery-real-meta small { font-size:12px; color:rgba(255,255,255,.82); }
.gallery-lightbox[hidden] { display:none; }
.gallery-lightbox {
  position:fixed;
  inset:0;
  z-index:1200;
  background:rgba(4,15,28,.88);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
}
.gallery-lightbox-stage {
  max-width:min(1000px, 84vw);
  max-height:88vh;
  position:relative;
  display:grid;
  gap:14px;
}
.gallery-lightbox-stage img {
  display:block;
  width:100%;
  max-height:74vh;
  object-fit:contain;
  border-radius:24px;
  background:#fff;
  cursor:pointer;
}
.gallery-lightbox-caption {
  color:#fff;
  text-align:center;
}
.gallery-lightbox-caption strong { display:block; font-size:20px; margin-bottom:6px; }
.gallery-lightbox-caption p { margin:0; color:rgba(255,255,255,.82); }
.gallery-lightbox-close,
.gallery-lightbox-nav {
  appearance:none;
  border:0;
  cursor:pointer;
  color:#fff;
  background:rgba(255,255,255,.12);
  backdrop-filter:blur(8px);
}
.gallery-lightbox-close {
  position:absolute;
  top:22px;
  right:22px;
  width:48px;
  height:48px;
  border-radius:50%;
  font-size:30px;
  line-height:1;
}
.gallery-lightbox-nav {
  width:56px;
  height:56px;
  border-radius:50%;
  font-size:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.gallery-lightbox-nav:hover,
.gallery-lightbox-close:hover { background:rgba(255,255,255,.2); }

@media (max-width: 1080px) {
  .gallery-real-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .gallery-quick-filters { gap:10px; }
  .gallery-filter-button { width:100%; justify-content:center; }
  .gallery-real-grid { grid-template-columns:1fr; }
  .gallery-lightbox { padding:16px; }
  .gallery-lightbox-stage { max-width:100%; }
  .gallery-lightbox-stage img { max-height:65vh; }
  .gallery-lightbox-nav {
    position:absolute;
    bottom:18px;
    width:48px;
    height:48px;
    z-index:3;
  }
  .gallery-lightbox-prev { left:18px; }
  .gallery-lightbox-next { right:18px; }
}

body.lightbox-open { overflow:hidden; }


/* v0.1.13 - Árnyékolás belülről aloldal */
.shading-subpage-hero .subpage-hero-grid { align-items:center; }
.shading-hero-card {
  min-height:300px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:10px;
  color:#fff;
  padding:34px;
  background:
    linear-gradient(180deg, rgba(5,29,52,.1), rgba(5,29,52,.78)),
    url('../images/gallery/gallery-rect-1.png') center/cover no-repeat;
}
.shading-hero-card strong { font-size:32px; line-height:1.08; }
.shading-hero-card span { color:rgba(255,255,255,.88); max-width:360px; }
.shading-problem-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
  margin-bottom:28px;
}
.shading-problem-card,
.shading-type-card,
.shading-window-grid article,
.shading-reference-grid article,
.light-explain-card,
.light-chart-card,
.shading-quote-card {
  background:#fff;
  border:1px solid rgba(6,29,52,.08);
  border-radius:24px;
  box-shadow:0 16px 34px rgba(6,29,52,.07);
  overflow:hidden;
}
.shading-problem-card img,
.shading-type-card img,
.shading-window-grid img,
.shading-reference-grid img {
  display:block;
  width:100%;
  height:180px;
  object-fit:cover;
}
.shading-problem-copy { padding:20px; }
.shading-card-kicker {
  display:inline-block;
  color:var(--accent-dark);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.shading-problem-card h3,
.shading-type-card h3,
.shading-window-grid h3,
.shading-reference-grid h3 { margin:0 0 10px; font-size:20px; line-height:1.18; }
.shading-problem-card p,
.shading-type-card p,
.shading-window-grid p,
.shading-reference-grid p { color:var(--muted); margin:0 0 12px; }
.shading-problem-card strong {
  display:block;
  color:var(--deep);
  font-size:14px;
}
.shading-quote-card {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:28px;
  align-items:start;
  padding:30px;
  background:linear-gradient(135deg, rgba(183,213,83,.15), #fff 54%);
}
.shading-quote-intro h2 { margin:0 0 10px; font-size:30px; }
.shading-quote-intro p { margin:0; color:var(--muted); }
.shading-quote-form {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.shading-quote-form label { display:grid; gap:6px; font-weight:800; color:var(--deep); font-size:13px; }
.shading-quote-form input[type="email"],
.shading-quote-form input[type="text"],
.shading-quote-form textarea {
  width:100%;
  border:1px solid rgba(6,29,52,.14);
  border-radius:14px;
  background:#fff;
  color:var(--text);
  min-height:48px;
  padding:0 14px;
  font:inherit;
  outline:none;
  box-shadow:0 6px 18px rgba(6,29,52,.04);
}
.shading-quote-form textarea { padding:12px 14px; resize:vertical; }
.shading-quote-form input:focus,
.shading-quote-form textarea:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(183,213,83,.24); }
.shading-quote-message,
.shading-quote-consent,
.shading-quote-form button,
.shading-quote-feedback { grid-column:1 / -1; }
.shading-quote-consent { display:flex!important; flex-direction:row; gap:10px!important; font-weight:600!important; color:var(--muted)!important; }
.shading-quote-consent input { margin-top:4px; }
.shading-quote-feedback { margin:0; font-weight:800; }
.shading-quote-feedback.is-success { color:#22744a; }
.shading-quote-feedback.is-error { color:#b13b3b; }
.shading-type-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.shading-type-card { display:grid; grid-template-columns:.86fr 1.14fr; align-items:stretch; }
.shading-type-card img { height:100%; min-height:260px; }
.shading-type-card > div { padding:24px; }
.shading-type-card ul,
.shading-window-grid ul { margin:0; padding-left:18px; color:var(--muted); }
.shading-type-card li::marker { color:var(--accent-dark); }
.shading-window-grid,
.shading-reference-grid { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:16px; }
.shading-window-grid article,
.shading-reference-grid article { padding-bottom:16px; }
.shading-window-grid img,
.shading-reference-grid img { height:130px; }
.shading-window-grid h3,
.shading-window-grid p,
.shading-reference-grid h3,
.shading-reference-grid p { padding-inline:16px; }
.shading-window-grid h3,
.shading-reference-grid h3 { margin-top:16px; font-size:17px; }
.shading-window-grid p,
.shading-reference-grid p { font-size:14px; margin-bottom:0; }
.shading-light-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:24px; align-items:stretch; }
.light-explain-card,
.light-chart-card { padding:28px; }
.light-explain-card h3 { margin:0 0 12px; font-size:28px; }
.light-explain-card p { color:var(--muted); margin:0 0 20px; }
.light-chart-card { display:grid; gap:18px; }
.light-chart-row { display:grid; gap:8px; }
.light-chart-row > span { font-weight:900; color:var(--deep); }
.light-chart-row > div { display:flex; height:38px; border-radius:999px; overflow:hidden; background:#eef2f4; }
.light-chart-row i,
.light-chart-row b,
.light-chart-row em {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  color:#fff;
  font-size:10px;
  font-style:normal;
  font-weight:900;
  text-indent:-999px;
  overflow:hidden;
}
.light-chart-row i { background:#b7d553; }
.light-chart-row b { background:#6c7f8f; }
.light-chart-row em { background:#061d34; }
.light-chart-card small { color:var(--muted); }

@media (max-width: 1200px) {
  .shading-problem-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .shading-type-grid { grid-template-columns:1fr; }
  .shading-window-grid,
  .shading-reference-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
  .shading-quote-card,
  .shading-light-grid { grid-template-columns:1fr; }
  .shading-type-card { grid-template-columns:1fr; }
  .shading-type-card img { min-height:220px; height:220px; }
}
@media (max-width: 640px) {
  .shading-problem-grid,
  .shading-window-grid,
  .shading-reference-grid { grid-template-columns:1fr; }
  .shading-quote-form { grid-template-columns:1fr; }
  .shading-hero-card { min-height:240px; }
}


/* v0.1.14 - quote captcha */
.shading-quote-captcha { grid-column:1 / -1; }
.shading-quote-captcha .g-recaptcha,
.shading-quote-captcha iframe { max-width:100%; }
@media (max-width: 420px) {
  .shading-quote-captcha { transform:scale(.92); transform-origin:left top; margin-bottom:-8px; }
}


/* v0.1.16 - Színek, anyagok: anyagkatalógus */
.material-catalog-section .split-head { margin-bottom: 26px; }
.material-filter-bar {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:28px;
}
.material-filter-button {
  appearance:none;
  min-height:48px;
  padding:0 18px;
  border:1px solid rgba(6,29,52,.12);
  border-radius:999px;
  background:#fff;
  color:var(--text);
  font-size:14px;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(6,29,52,.05);
  transition:all .2s ease;
}
.material-filter-button:hover,
.material-filter-button.is-active {
  background:linear-gradient(135deg, var(--accent) 0%, #d7ea72 100%);
  color:#10243d;
  border-color:transparent;
  transform:translateY(-1px);
}
.material-catalog-grid {
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}
.material-card {
  appearance:none;
  width:100%;
  border:1px solid rgba(6,29,52,.08);
  border-radius:24px;
  background:#fff;
  padding:0;
  text-align:left;
  cursor:pointer;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(6,29,52,.07);
  transition:transform .22s ease, box-shadow .22s ease;
}
.material-card:hover { transform:translateY(-4px); box-shadow:0 22px 48px rgba(6,29,52,.12); }
.material-card.is-hidden { display:none; }
.material-card-image {
  display:block;
  position:relative;
  overflow:hidden;
  background:#eee;
}
.material-card-image::after {
  content:'⌕';
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.9);
  color:#061d34;
  font-weight:900;
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}
.material-card-image img {
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.material-card-body {
  display:grid;
  gap:5px;
  padding:16px;
}
.material-card-body strong { font-size:18px; color:var(--text); }
.material-card-body small { color:var(--muted); font-weight:700; }
.material-card-stats {
  display:grid;
  gap:3px;
  margin-top:8px;
  color:rgba(6,29,52,.72);
  font-size:12px;
}
.material-detail-modal[hidden] { display:none; }
.material-detail-modal {
  position:fixed;
  inset:0;
  z-index:1250;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(4,15,28,.78);
  backdrop-filter:blur(8px);
}
.material-modal-panel {
  width:min(1040px, 94vw);
  max-height:90vh;
  overflow:auto;
  display:grid;
  grid-template-columns:1fr .95fr;
  gap:0;
  background:#fff;
  border-radius:30px;
  box-shadow:0 34px 90px rgba(0,0,0,.32);
}
.material-modal-image-wrap { min-height:520px; background:#eef2f5; }
.material-modal-image-wrap img { display:block; width:100%; height:100%; object-fit:cover; }
.material-modal-content { padding:42px; display:flex; flex-direction:column; justify-content:center; }
.material-modal-content h2 { margin:0 0 14px; font-size:42px; }
.material-modal-content p { color:var(--muted); font-size:16px; }
.material-modal-specs { display:grid; gap:0; margin:24px 0 18px; border:1px solid rgba(6,29,52,.09); border-radius:18px; overflow:hidden; }
.material-modal-specs div { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:13px 16px; border-bottom:1px solid rgba(6,29,52,.07); }
.material-modal-specs div:last-child { border-bottom:0; }
.material-modal-specs dt { color:var(--muted); font-weight:700; }
.material-modal-specs dd { margin:0; font-weight:900; color:var(--text); }
.material-modal-cta { margin-top:24px; align-self:flex-start; }
.material-modal-close {
  position:fixed;
  top:22px;
  right:22px;
  z-index:1260;
  width:50px;
  height:50px;
  border:0;
  border-radius:50%;
  cursor:pointer;
  background:#fff;
  color:#061d34;
  font-size:32px;
  line-height:1;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}

@media (max-width: 1100px) {
  .material-catalog-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .material-modal-panel { grid-template-columns:1fr; }
  .material-modal-image-wrap { min-height:360px; }
}
@media (max-width: 820px) {
  .material-catalog-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .material-filter-button { width:100%; }
  .material-catalog-grid { grid-template-columns:1fr; }
  .material-detail-modal { padding:14px; align-items:flex-end; }
  .material-modal-panel { width:100%; max-height:88vh; border-radius:24px 24px 0 0; }
  .material-modal-content { padding:28px 22px; }
  .material-modal-content h2 { font-size:32px; }
  .material-modal-close { top:12px; right:12px; width:44px; height:44px; }
}


/* v0.1.17 - Kapcsolat oldal: CAPTCHA, e-mail, térkép logó pin */
.contact-captcha { margin: 18px 0 12px; overflow: hidden; transform-origin: left top; }
.contact-form button[disabled] { opacity: .72; cursor: wait; transform: none; }
.contact-form-feedback { margin: 12px 0 0; font-weight: 800; }
.contact-form-feedback.is-success { color: #22744a; }
.contact-form-feedback.is-error { color: #b13b3b; }
.map-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 18px; }
.map-actions .route-button { min-height: 46px; padding: 0 22px; }
.map-frame-branded { position: relative; }
.map-logo-pin {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -100%);
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 178px;
  padding: 12px 15px;
  border-radius: 18px 18px 18px 4px;
  background: rgba(255,255,255,.96);
  color: #0f263c;
  box-shadow: 0 18px 48px rgba(6,29,52,.24);
  pointer-events: none;
}
.map-logo-pin::after {
  content: '';
  position: absolute;
  left: 22px;
  bottom: -12px;
  width: 22px;
  height: 22px;
  background: rgba(255,255,255,.96);
  transform: rotate(45deg);
  border-radius: 4px;
}
.map-pin-mark { width: 30px !important; height: 34px !important; flex: 0 0 30px; }
.map-pin-copy { position: relative; z-index: 2; display: grid; line-height: 1; }
.map-pin-copy strong { font-size: 17px; letter-spacing: .18em; }
.map-pin-copy small { margin-top: 5px; font-size: 10px; letter-spacing: .28em; color: #607386; }
.contact-toast { z-index: 1400; }
@media (max-width: 720px) {
  .contact-captcha { transform: scale(.92); margin-bottom: -6px; }
  .map-actions { align-items: stretch; }
  .map-actions .button { width: 100%; justify-content: center; }
  .map-logo-pin { min-width: 154px; padding: 10px 12px; }
  .map-pin-copy strong { font-size: 15px; }
}


/* v0.1.18 - Dokumentumoldalak */
.legal-hero {
  padding: 82px 0 54px;
  background: linear-gradient(135deg, rgba(7,34,58,.08), rgba(198,222,79,.18));
  border-bottom: 1px solid rgba(6,29,52,.08);
}
.legal-hero-inner { max-width: 920px; }
.legal-hero h1 { margin: 0 0 14px; font-size: clamp(42px, 6vw, 70px); line-height: .98; letter-spacing: -.05em; color: var(--text); }
.legal-hero p { margin: 0; color: var(--muted); font-weight: 700; }
.legal-content-section { background: #f7fafb; }
.legal-layout { display: grid; grid-template-columns: 270px 1fr; gap: 28px; align-items: start; }
.legal-toc {
  position: sticky;
  top: 120px;
  display: grid;
  gap: 10px;
  padding: 22px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(6,29,52,.08);
  box-shadow: 0 14px 30px rgba(6,29,52,.06);
}
.legal-toc strong { margin-bottom: 6px; color: var(--text); }
.legal-toc a { color: var(--muted); font-weight: 800; font-size: 14px; }
.legal-toc a:hover { color: var(--accent-dark); }
.legal-card {
  background: #fff;
  border-radius: 28px;
  padding: clamp(28px, 4vw, 56px);
  border: 1px solid rgba(6,29,52,.08);
  box-shadow: 0 18px 46px rgba(6,29,52,.08);
}
.legal-card h2 { margin: 34px 0 12px; font-size: clamp(26px, 3vw, 36px); color: var(--text); }
.legal-card h2:first-child { margin-top: 0; }
.legal-card p, .legal-card li { color: #425166; font-size: 16px; line-height: 1.75; }
.legal-card a { color: var(--accent-dark); font-weight: 800; }
.legal-company-box {
  padding: 22px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(7,34,58,.06), rgba(198,222,79,.14));
  border: 1px solid rgba(6,29,52,.08);
  margin: 18px 0 24px;
}
.legal-company-box p { margin: 0; }
.legal-table-wrap { overflow-x: auto; margin: 18px 0 24px; }
.legal-table-wrap table { width: 100%; border-collapse: collapse; min-width: 680px; }
.legal-table-wrap th, .legal-table-wrap td { border: 1px solid rgba(6,29,52,.1); padding: 14px; text-align: left; vertical-align: top; }
.legal-table-wrap th { background: #07223a; color: #fff; }
.legal-updated { margin-top: 42px; padding-top: 20px; border-top: 1px solid rgba(6,29,52,.1); color: var(--muted); font-weight: 800; }
@media (max-width: 900px) {
  .legal-layout { grid-template-columns: 1fr; }
  .legal-toc { position: static; }
}


/* v0.1.21 - Kapcsolat gyors ajánlatkérés üzenet erősebb kiemeléssel */
.contact-quick-card { justify-content: space-between; gap: 30px; }
.contact-quick-message {
  margin: 0;
  color: #ffffff !important;
  font-size: clamp(40px, 4.9vw, 72px);
  line-height: .98;
  font-weight: 950;
  letter-spacing: -.055em;
  max-width: 760px;
  text-shadow: 0 10px 34px rgba(0,0,0,.18);
}
.contact-quick-info { display:flex; flex-direction:column; align-items:flex-start; }
.contact-quick-info span { color:#c7db60; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.13em; }
.contact-quick-info strong { font-size:32px; margin-top:12px; }
.contact-quick-info a { color:rgba(255,255,255,.84); margin-top:4px; }
@media (max-width: 720px) {
  .contact-quick-message { font-size:40px; line-height:1.02; }
}


/* v0.1.22 támogatói logók finomhangolása */
.support-publicity-logos {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.6fr) minmax(0, 1.1fr);
  gap: 26px;
  align-items: center;
}
.support-publicity-logos img {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  margin: 0 auto;
}
.support-publicity-logos img:nth-child(1) { max-width: 581px; }
.support-publicity-logos img:nth-child(2) { max-width: 800px; }
.support-publicity-logos img:nth-child(3) { max-width: 500px; }
@media (max-width: 860px) {
  .support-publicity-logos {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .support-publicity-logos img {
    width: auto;
    max-width: min(100%, 360px);
  }
  .support-publicity-logos img:nth-child(2) { max-width: min(100%, 420px); }
  .support-publicity-logos img:nth-child(3) { max-width: min(100%, 280px); }
}


/* v0.1.23 nyitóoldali képek és támogatói logók */
.feature-card { background: #0f1720; }
.feature-card::before { z-index: 1; background: linear-gradient(180deg, rgba(7,17,28,.08) 10%, rgba(7,17,28,.78) 100%); }
.feature-card-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; z-index: 0; }
.gallery-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.gallery-tile::after { z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.55)); }
.gallery-tile span { z-index: 2; }
.tile-a, .tile-b, .tile-c, .tile-d { background: #72807a; }
.support-publicity-logos {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 34px;
  align-items: center;
}
.support-publicity-logos img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  margin: 0 auto;
}
.support-publicity-logos img:nth-child(1) { max-width: 1000px; }
.support-publicity-logos img:nth-child(2) { max-width: 620px; }
@media (max-width: 860px) {
  .support-publicity-logos { grid-template-columns: 1fr; gap: 22px; }
  .support-publicity-logos img:nth-child(1) { max-width: min(100%, 520px); }
  .support-publicity-logos img:nth-child(2) { max-width: min(100%, 340px); }
}


/* v0.1.24 Demján Sándor Program logó nagyítása */
.support-publicity-box {
  grid-template-columns: minmax(250px, .85fr) minmax(620px, 1.65fr);
}
.support-publicity-logos {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.85fr);
  gap: 34px;
  align-items: center;
}
.support-publicity-logos img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  margin: 0 auto;
}
.support-publicity-logos img:nth-child(1) { max-width: 1000px; }
.support-publicity-logos img:nth-child(2) { max-width: 1280px; }
@media (max-width: 1100px) {
  .support-publicity-box { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .support-publicity-logos { grid-template-columns: 1fr; gap: 24px; }
  .support-publicity-logos img:nth-child(1) { max-width: min(100%, 540px); }
  .support-publicity-logos img:nth-child(2) { max-width: min(100%, 620px); }
}


/* v0.1.27 támogatói logók újabb 30%-kal kisebb méretben */
.support-publicity-box {
  grid-template-columns: minmax(260px, .82fr) minmax(640px, 1.7fr);
  gap: 48px;
  align-items: center;
}
.support-publicity-logos {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 100%;
}
.support-publicity-logos img {
  display: block;
  width: auto !important;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  margin: 0 auto;
}
.support-publicity-logos img:nth-child(1) {
  height: 74px !important;
  max-height: none !important;
}
.support-publicity-logos img:nth-child(2) {
  height: 147px !important;
  max-height: none !important;
}
@media (max-width: 1100px) {
  .support-publicity-box {
    grid-template-columns: 1fr;
    gap: 34px;
  }
}
@media (max-width: 860px) {
  .support-publicity-logos { gap: 22px; }
  .support-publicity-logos img:nth-child(1) {
    height: auto !important;
    width: min(100%, 255px) !important;
  }
  .support-publicity-logos img:nth-child(2) {
    height: auto !important;
    width: min(100%, 206px) !important;
  }
}


/* v0.1.28 új NEUM logó és támogatói nyilvánosság elrendezés */
.support-publicity-box {
  grid-template-columns: minmax(260px, .9fr) minmax(420px, 1.1fr);
  gap: 56px;
  align-items: center;
}
.support-publicity-logos {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 30px;
  width: 100%;
  max-width: 560px;
  margin-left: auto;
}
.support-publicity-logos img {
  display: block;
  width: auto !important;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  margin: 0 auto;
}
.support-publicity-logos img:nth-child(1) {
  height: 92px !important;
  max-height: none !important;
}
.support-publicity-logos img:nth-child(2) {
  height: 138px !important;
  max-height: none !important;
}
@media (max-width: 1100px) {
  .support-publicity-box {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  .support-publicity-logos {
    margin-left: 0;
    max-width: 520px;
  }
}
@media (max-width: 860px) {
  .support-publicity-logos {
    gap: 22px;
    align-items: flex-start;
  }
  .support-publicity-logos img:nth-child(1) {
    height: auto !important;
    width: min(100%, 260px) !important;
  }
  .support-publicity-logos img:nth-child(2) {
    height: auto !important;
    width: min(100%, 230px) !important;
  }
}


/* v0.1.29 támogatói nyilvánosság új elrendezés */
.support-publicity {
  margin-top: 38px;
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,.1);
}
.support-publicity-box {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  align-items: center;
  width: 100%;
}
.support-publicity-copy {
  display: block !important;
  text-align: center;
}
.support-publicity-copy h3 {
  display: none !important;
}
.support-publicity-copy p {
  margin: 0;
  color: rgba(255,255,255,.96);
  font-size: 19px;
  line-height: 1.45;
  font-weight: 500;
  max-width: none;
}
.support-publicity-logos {
  display: flex !important;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 76px;
  width: 100%;
}
.support-publicity-logos img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  max-height: none !important;
  object-fit: contain;
  object-position: center;
  margin: 0;
}
.support-publicity-logos img:first-child {
  max-width: 420px;
}
.support-publicity-logos img:last-child {
  max-width: 430px;
}
@media (max-width: 1100px) {
  .support-publicity-copy p {
    font-size: 17px;
  }
  .support-publicity-logos {
    gap: 42px;
  }
  .support-publicity-logos img:first-child {
    max-width: min(44vw, 360px);
  }
  .support-publicity-logos img:last-child {
    max-width: min(34vw, 320px);
  }
}
@media (max-width: 760px) {
  .support-publicity-box {
    gap: 22px;
  }
  .support-publicity-copy p {
    font-size: 15px;
  }
  .support-publicity-logos {
    flex-direction: column;
    gap: 22px;
  }
  .support-publicity-logos img:first-child,
  .support-publicity-logos img:last-child {
    max-width: min(100%, 320px);
  }
}


/* v0.1.31 Demján logó finom növelése */
.support-publicity {
  margin-top: 32px;
  padding-top: 22px;
}
.support-publicity-box {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  gap: 20px;
}
.support-publicity-copy {
  text-align: center;
}
.support-publicity-copy p {
  font-size: 16px;
  line-height: 1.4;
  text-align: center;
}
.support-publicity-logos {
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 48px;
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}
.support-publicity-logos img {
  margin-left: auto;
  margin-right: auto;
}
.support-publicity-logos img:first-child {
  max-width: 380px;
}
.support-publicity-logos img:last-child {
  max-width: 340px;
}
@media (max-width: 1100px) {
  .support-publicity-box {
    max-width: 820px;
  }
  .support-publicity-logos {
    gap: 34px;
    max-width: 740px;
  }
  .support-publicity-logos img:first-child {
    max-width: min(46vw, 330px);
  }
  .support-publicity-logos img:last-child {
    max-width: min(34vw, 300px);
  }
}
@media (max-width: 760px) {
  .support-publicity-box { gap: 18px; }
  .support-publicity-copy p { font-size: 14px; }
  .support-publicity-logos { gap: 18px; }
  .support-publicity-logos img:first-child {
    max-width: min(100%, 300px);
  }
  .support-publicity-logos img:last-child {
    max-width: min(100%, 280px);
  }
}


/* v0.1.32 eredeti támogatói logók és Facebook linkek */
.header-main { grid-template-columns: auto 1fr auto; }
.header-actions { display:flex; align-items:center; gap:12px; justify-self:end; }
.header-facebook-link { width:48px; height:48px; border-radius:16px; display:inline-flex; align-items:center; justify-content:center; background:#06243f; color:#fff; text-decoration:none; font-weight:800; font-size:28px; line-height:1; box-shadow:0 12px 30px rgba(6,36,63,.18); transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
.header-facebook-link:hover { transform:translateY(-2px); background:#0b3358; box-shadow:0 16px 34px rgba(6,36,63,.24); }
.header-facebook-link:focus-visible { outline:3px solid rgba(199,219,96,.55); outline-offset:3px; }
.contact-facebook-link { display:inline-flex; align-items:center; gap:10px; margin-top:14px; color:#fff; text-decoration:none; font-weight:700; }
.contact-facebook-link .facebook-icon { width:34px; height:34px; border-radius:50%; background:#fff; color:#06243f; display:inline-flex; align-items:center; justify-content:center; font-size:24px; font-weight:800; line-height:1; }
.contact-facebook-link:hover { color:#c7db60; }
.contact-facebook-link:hover .facebook-icon { background:#c7db60; color:#06243f; }
.support-publicity-logos { justify-content:center; align-items:center; gap:42px; }
.support-publicity-logos img:first-child { max-width: 468px; }
.support-publicity-logos img:last-child { max-width: 320px; }
@media (max-width: 1100px) {
  .support-publicity-logos img:first-child { max-width:min(46vw,408px); }
  .support-publicity-logos img:last-child { max-width:min(34vw,280px); }
}
@media (max-width: 980px) {
  .header-actions { gap:10px; }
  .header-facebook-link { width:44px; height:44px; border-radius:14px; font-size:26px; }
}
@media (max-width: 860px) {
  .header-main { grid-template-columns:auto auto auto; }
  .header-actions { justify-self:end; }
  .header-facebook-link { width:42px; height:42px; border-radius:14px; font-size:24px; }
}
@media (max-width: 760px) {
  .header-cta { display:none; }
  .header-actions { gap:0; }
  .contact-facebook-link { margin-top:12px; }
  .support-publicity-logos { gap:22px; }
  .support-publicity-logos img:first-child { max-width:min(100%,360px); }
  .support-publicity-logos img:last-child { max-width:min(100%,260px); }
}


/* v0.1.33 pályázati megfelelőség: SEO dokumentumoldalak és akadálymentességi finomhangolás */
.skip-link {
  position: absolute;
  left: 16px;
  top: 8px;
  z-index: 99999;
  padding: 10px 14px;
  border-radius: 999px;
  background: #06243f;
  color: #fff;
  transform: translateY(-140%);
  transition: transform .18s ease;
}
.skip-link:focus,
.skip-link:focus-visible {
  transform: translateY(0);
  outline: 3px solid #c7db60;
  outline-offset: 3px;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid rgba(199,219,96,.9);
  outline-offset: 3px;
}
button[disabled],
input[disabled],
textarea[disabled],
select[disabled] {
  opacity: .58;
  cursor: not-allowed;
}
.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.legal-page .legal-hero-card {
  border-radius: 28px;
  background: linear-gradient(145deg, #06243f, #123c5f);
  color: #fff;
  padding: 30px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 8px;
}
.legal-page .legal-hero-card strong {
  font-size: 22px;
}
.legal-page .legal-hero-card span {
  color: rgba(255,255,255,.82);
}
.legal-prose {
  max-width: 980px;
}
.legal-prose h2 {
  margin-top: 32px;
}
.legal-prose h2:first-child {
  margin-top: 0;
}
.legal-prose ul {
  padding-left: 1.25rem;
}
.legal-prose li {
  margin: 8px 0;
}
.legal-contact-box {
  margin-top: 34px;
  padding: 24px;
  border-radius: 24px;
  background: #f4f8fb;
  border: 1px solid rgba(6,36,63,.08);
}
.legal-updated {
  margin-top: 32px;
  color: var(--muted);
  font-size: 14px;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}


/* v0.1.35 Demján Sándor Program logó +20% */
.support-publicity-logos img:first-child { max-width: 468px; }
@media (max-width: 1100px) {
  .support-publicity-logos img:first-child { max-width: min(46vw, 408px); }
}
@media (max-width: 760px) {
  .support-publicity-logos img:first-child { max-width: min(100%, 360px); }
}


/* v0.1.36 Demján Sándor Program logó tényleges +20% kényszerített méret */
.support-publicity-logos img:first-child {
  width: 468px !important;
  max-width: 468px !important;
  flex: 0 0 468px;
}
.support-publicity-logos img:last-child {
  flex: 0 1 auto;
}
@media (max-width: 1100px) {
  .support-publicity-logos img:first-child {
    width: min(46vw, 408px) !important;
    max-width: min(46vw, 408px) !important;
    flex-basis: min(46vw, 408px);
  }
}
@media (max-width: 760px) {
  .support-publicity-logos img:first-child {
    width: min(100%, 360px) !important;
    max-width: min(100%, 360px) !important;
    flex-basis: auto;
  }
}


/* v0.1.38 Demján logó szélessége 400px-re állítva */
.support-publicity-logos img.support-logo-dsp,
.support-publicity-logos .support-logo-dsp {
  width: 400px !important;
  max-width: min(100%, 400px) !important;
  height: auto !important;
  flex: 0 1 400px !important;
}
@media (max-width: 1100px) {
  .support-publicity-logos img.support-logo-dsp,
  .support-publicity-logos .support-logo-dsp {
    width: min(52vw, 400px) !important;
    max-width: min(52vw, 400px) !important;
    flex-basis: min(52vw, 400px) !important;
  }
}
@media (max-width: 760px) {
  .support-publicity-logos img.support-logo-dsp,
  .support-publicity-logos .support-logo-dsp {
    width: min(100%, 390px) !important;
    max-width: min(100%, 390px) !important;
    flex-basis: auto !important;
  }
}


/* v0.1.40 - Kapcsolat blokk az Online Kalkulátor oldalon */
.calculator-contact-section {
  padding-top: 28px;
}
.calculator-contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: 26px;
  align-items: stretch;
}
.calculator-contact-copy,
.calculator-contact-card {
  background: #fff;
  border: 1px solid rgba(29,38,36,.07);
  border-radius: 28px;
  padding: 34px;
  box-shadow: 0 10px 32px rgba(29,38,36,.04);
}
.calculator-contact-copy h2 {
  margin: 8px 0 14px;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  font-size: clamp(32px, 4vw, 46px);
  line-height: 1.05;
  letter-spacing: -.04em;
}
.calculator-contact-copy p {
  margin: 0;
  color: var(--muted);
  max-width: 760px;
}
.calculator-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.calculator-contact-card {
  background: linear-gradient(140deg,#31423b,#1f2b27);
  color: #fff;
}
.calculator-contact-card dl {
  margin: 0;
}
.calculator-contact-card dl div {
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.calculator-contact-card dt {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: rgba(255,255,255,.58);
  font-weight: 800;
}
.calculator-contact-card dd {
  margin: 4px 0 0;
  font-weight: 750;
}
.calculator-contact-card a {
  color: #fff;
}
.calculator-facebook-link {
  margin-top: 18px;
}
@media (max-width: 900px) {
  .calculator-contact-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .calculator-contact-copy,
  .calculator-contact-card {
    padding: 26px;
  }
  .calculator-contact-actions .button {
    width: 100%;
    justify-content: center;
  }
}
