@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/inter-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/inter-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/inter-600-normal.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/fraunces-400-normal.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/fraunces-500-normal.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/fraunces-400-italic.woff2') format('woff2')}

/* ==========================================================================
   Nice Roof Hungary — design system
   Light editorial base + dark premium bands + copper/metal accent.
   Self-host fonts before launch (PageSpeed). Tokens → components → responsive.
   ========================================================================== */

/* ---- tokens ---- */
:root{
  --paper:#F7F5F0; --paper-2:#EEEAE1; --card:#FFFFFF;
  --ink:#1A1C1F; --ink-2:#42454A; --muted:#64676C; --hair:#E2DDD2; --hair-2:#C9C2B2;
  --dark:#15171A; --dark-2:#1E2125; --dark-line:#32363C; --on-dark:#ECEAE4; --on-dark-2:#B2B0A9; --on-dark-muted:#83827C;
  --copper:#9C6B45; --copper-2:#B5825A; --copper-ink:#7A4F30;
  --metal:linear-gradient(104deg,#8E9398 0%,#E7E9EB 38%,#A3A8AD 54%,#F1F2F3 70%,#8A8F94 100%);
  --ok:#2E7D4F; --warn:#B45309; --star:#E0A43B;

  --serif:"Fraunces","Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;

  --step--1:clamp(.9rem,.87rem + .14vw,.94rem);
  --step-0:clamp(1.06rem,1.02rem + .2vw,1.1rem);
  --step-1:clamp(1.3rem,1.2rem + .45vw,1.48rem);
  --step-2:clamp(1.62rem,1.46rem + .72vw,1.98rem);
  --step-3:clamp(2rem,1.72rem + 1.3vw,2.9rem);
  --step-4:clamp(2.5rem,2rem + 2.6vw,4.3rem);
  --step-5:clamp(3rem,2.1rem + 4.4vw,6rem);

  --gut:clamp(16px,4.2vw,56px);
  --max:1280px; --measure:68ch;
  --r:4px; --r-lg:8px;
  --ring:0 0 0 2px var(--copper);
  --shadow:0 1px 2px rgba(20,23,26,.04),0 8px 24px -12px rgba(20,23,26,.14);
  --shadow-lg:0 24px 60px -24px rgba(20,23,26,.3);
  --t:.28s cubic-bezier(.2,.7,.1,1);
}

/* ---- reset ---- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
body{font-family:var(--sans);font-size:var(--step-0);line-height:1.6;color:var(--ink);background:var(--paper);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"kern","liga","cv11";overflow-x:hidden}
img,picture,svg,video{display:block;max-width:100%;height:auto}
.ic{width:1.1em;height:1.1em;flex:none;display:inline-block;vertical-align:-.14em}
.btn .ic{width:1.15em;height:1.15em}
picture{display:contents}
img{background:var(--paper-2);color:transparent}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--copper);outline-offset:3px;border-radius:2px}
::selection{background:var(--copper);color:#fff}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.015em;text-wrap:balance}
p{text-wrap:pretty}

/* ---- utilities ---- */
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.wrap-narrow{max-width:900px;margin-inline:auto;padding-inline:var(--gut)}
.eyebrow{font:600 var(--step--1)/1.2 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.lede{font-size:var(--step-1);line-height:1.5;color:var(--ink-2);max-width:var(--measure)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-999px;top:0;z-index:200}
.skip:focus{left:12px;top:12px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:var(--r)}
.metal-text{background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
hr.rule{border:0;border-top:1px solid var(--hair);margin:0}

/* ---- buttons ---- */
.btn{--bg:var(--ink);--fg:#fff;--bd:var(--ink);
  display:inline-flex;align-items:center;gap:.6em;justify-content:center;
  font:600 var(--step-0)/1 var(--sans);padding:.92em 1.3em;border:1px solid var(--bd);border-radius:var(--r);
  background:var(--bg);color:var(--fg);cursor:pointer;transition:background var(--t),color var(--t),border-color var(--t),transform var(--t);
  min-height:48px;text-align:center}
.btn:hover{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--copper{--bg:var(--copper);--fg:#fff;--bd:var(--copper)}
.btn--copper:hover{background:var(--copper-ink);color:#fff;border-color:var(--copper-ink)}
.btn--ghost{--bg:transparent;--fg:var(--ink);--bd:var(--hair-2)}
.btn--ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--on-dark{--bg:#fff;--fg:var(--dark);--bd:#fff}
.btn--on-dark:hover{background:transparent;color:#fff;border-color:#fff}
.btn--ghost-dark{--bg:transparent;--fg:var(--on-dark);--bd:var(--dark-line)}
.btn--ghost-dark:hover{background:#fff;color:var(--dark);border-color:#fff}
.btn .ar{transition:transform var(--t)}
.btn:hover .ar{transform:translateX(3px)}

/* ---- header ---- */
.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--paper) 90%,transparent);
  backdrop-filter:saturate(1.3) blur(10px);-webkit-backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid var(--hair)}
.site-header__row{display:flex;align-items:center;gap:24px;min-height:74px}
.brand{display:flex;align-items:center;gap:12px;flex:none;text-decoration:none;color:var(--ink)}
.brand__mark{width:42px;height:27px;flex:none}
.brand__name{font:400 var(--step-1)/1.05 var(--serif);letter-spacing:-.01em;white-space:nowrap}
/* mobile (nav collapsed to hamburger): let the wordmark wrap naturally so it never pushes the header off-screen */
@media(max-width:900px){.brand{flex:0 1 auto;min-width:0}.brand__name{white-space:normal}}
.brand__tag{display:block;font:600 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.nav__link{position:relative;padding:9px 10px;font:500 var(--step--1)/1 var(--sans);color:var(--ink-2);border-radius:var(--r);white-space:nowrap}
.nav__link:hover,.nav__link[aria-current="page"]{color:var(--ink)}
.nav__link[aria-current="page"]::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--copper)}
.header-cta{display:flex;align-items:center;gap:10px;margin-left:8px}
.header-tel{font:600 var(--step-0)/1.1 var(--sans);white-space:nowrap}
.header-tel small{display:block;font-weight:500;font-size:11px;color:var(--muted)}
.nav-toggle{display:none;margin-left:auto;width:48px;height:48px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--hair-2);border-radius:var(--r)}
.nav-toggle .ic{width:22px;height:22px}
.m-nav{display:none}
body.nav-open .m-nav{display:grid;gap:2px;padding:10px var(--gut) 18px;border-top:1px solid var(--hair);background:var(--paper)}
body.nav-open .m-nav a{padding:13px 4px;font:500 var(--step-1)/1 var(--sans);border-bottom:1px solid var(--hair)}
body.nav-open .m-nav a:last-child{border-bottom:0;color:var(--copper)}

/* ---- promo bar ---- */
.promo{background:var(--copper);color:#fff;text-align:center;font:500 var(--step--1)/1.4 var(--sans);padding:8px 16px}
.promo a{text-decoration:underline;text-underline-offset:2px}

/* ---- sections ---- */
.section{padding-block:clamp(56px,8vw,120px)}
.section--tight{padding-block:clamp(40px,5vw,72px)}
.section--dark{background:var(--dark);color:var(--on-dark)}
.section--dark h1,.section--dark h2,.section--dark h3{color:var(--on-dark)}
.section--dark .lede,.section--dark p{color:var(--on-dark-2)}
.section--dark .eyebrow{color:var(--on-dark-muted)}
.section--paper2{background:var(--paper-2)}
.section-head{display:grid;gap:14px;max-width:var(--max);margin-bottom:clamp(32px,4vw,56px)}
.section-head--split{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--gut);align-items:end}
.section-head h2{font-size:var(--step-3)}
.section-head .num{font:italic 400 var(--step-0)/1 var(--serif);color:var(--copper-ink)}
.section--dark .section-head .num{color:var(--copper-2)}

/* ---- hero ---- */
.hero{position:relative;background:var(--dark);color:var(--on-dark);overflow:hidden;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__media img{width:100%;height:100%;object-fit:cover;opacity:0;animation:fade 1.2s ease forwards}
@keyframes fade{to{opacity:1}}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(21,23,26,.9) 0%,rgba(21,23,26,.6) 42%,rgba(21,23,26,.2) 70%,rgba(21,23,26,.35) 100%),
             linear-gradient(0deg,rgba(21,23,26,.85) 0%,rgba(21,23,26,0) 40%)}
.hero__inner{display:grid;align-content:center;min-height:min(86svh,820px);padding-block:clamp(48px,8vw,96px)}
.hero h1{font-size:var(--step-5);max-width:16ch}
.hero h1 em{font-style:italic;color:var(--copper-2)}
.hero__lede{margin-top:22px;max-width:46ch;color:var(--on-dark-2);font-size:var(--step-1)}
.hero__cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px}
.hero__trust{margin-top:40px;display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;color:var(--on-dark-2);font-size:var(--step--1)}
.hero__trust span{display:inline-flex;align-items:center;gap:8px}
.hero__trust svg{width:18px;height:18px;color:var(--copper-2)}

/* ---- facts strip ---- */
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--dark-line)}
.facts__item{padding:24px var(--gut);border-right:1px solid var(--dark-line)}
.facts__item:last-child{border-right:0}
.facts__n{font:400 var(--step-2)/1 var(--serif);color:var(--on-dark);display:block;margin-bottom:6px}
.facts__l{font-size:var(--step--1);color:var(--on-dark-2)}

/* ---- services index (editorial list) ---- */
.svc-list{list-style:none;padding:0;border-top:1px solid var(--ink)}
.svc-list__item{border-bottom:1px solid var(--hair)}
.svc-list__link{display:grid;grid-template-columns:3.2rem minmax(0,1fr) minmax(0,1.1fr) auto;gap:24px;align-items:center;
  padding:22px 0;position:relative;transition:padding var(--t)}
.svc-list__link:hover{padding-inline:16px}
.svc-list__num{font:italic 400 var(--step-0) var(--serif);color:var(--muted)}
.svc-list__name{font-size:var(--step-2);transition:color var(--t),transform var(--t)}
.svc-list__link:hover .svc-list__name{color:var(--copper);transform:translateX(6px)}
.svc-list__desc{color:var(--ink-2);font-size:var(--step--1)}
.svc-list__go{width:42px;height:42px;border-radius:50%;border:1px solid var(--hair-2);display:grid;place-items:center;transition:var(--t);justify-self:end}
.svc-list__link:hover .svc-list__go{background:var(--ink);color:#fff;border-color:var(--ink)}
.svc-list__thumb{position:absolute;right:72px;top:50%;width:200px;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);
  transform:translateY(-50%) scale(.94);opacity:0;pointer-events:none;transition:var(--t);box-shadow:var(--shadow-lg);z-index:3}
.svc-list__link:hover .svc-list__thumb{opacity:1;transform:translateY(-50%) scale(1)}

/* ---- cards ---- */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:clamp(16px,2vw,28px)}
.card{background:var(--card);border:1px solid var(--hair);border-radius:var(--r-lg);overflow:hidden;transition:transform var(--t),box-shadow var(--t);display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card__media{aspect-ratio:3/2;overflow:hidden;background:var(--paper-2)}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.1,1)}
.card:hover .card__media img{transform:scale(1.05)}
.card__body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.card__meta{font:600 var(--step--1)/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--copper-ink)}
.card__title{font-size:var(--step-1);line-height:1.2}
.card__excerpt{color:var(--ink-2);font-size:var(--step--1)}

/* ---- gallery / references ---- */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filters__btn{font:500 var(--step--1)/1 var(--sans);padding:11px 15px;border:1px solid var(--hair-2);border-radius:999px;background:transparent;color:var(--ink-2);cursor:pointer;transition:var(--t)}
.filters__btn:hover{border-color:var(--ink);color:var(--ink)}
.filters__btn[aria-pressed="true"],.filters__btn.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
.pager{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;margin-top:36px}
.pager__nums{display:flex;gap:6px;flex-wrap:wrap}
.pager__n,.pager__nav{min-width:42px;height:42px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--hair-2);border-radius:var(--r);color:var(--ink-2);text-decoration:none;font-weight:600;font-size:var(--step--1)}
.pager__n:hover,.pager__nav:hover{border-color:var(--ink);color:var(--ink)}
.pager__n.is-active{background:var(--copper);color:#fff;border-color:var(--copper)}
.masonry{columns:3;column-gap:16px}
.masonry__item{break-inside:avoid;margin-bottom:16px;position:relative;border-radius:var(--r-lg);overflow:hidden;cursor:zoom-in;background:var(--paper-2)}
.masonry__item img{width:100%;transition:transform .6s cubic-bezier(.2,.7,.1,1)}
.masonry__item:hover img{transform:scale(1.04)}
.masonry__item figcaption{position:absolute;inset:auto 0 0 0;padding:28px 14px 12px;color:#fff;font:500 var(--step--1)/1.3 var(--sans);
  background:linear-gradient(transparent,rgba(21,23,26,.8));opacity:0;transition:var(--t)}
.masonry__item:hover figcaption,.masonry__item:focus-within figcaption{opacity:1}
.masonry__item.is-hidden{display:none}

/* ---- before/after ---- */
.ba{position:relative;aspect-ratio:3/2;overflow:hidden;border-radius:var(--r-lg);--pos:50%;touch-action:none}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba__after{clip-path:inset(0 0 0 var(--pos))}
.ba__line{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;transform:translateX(-50%);background:var(--metal)}
.ba__handle{position:absolute;top:50%;left:var(--pos);width:48px;height:48px;border-radius:50%;transform:translate(-50%,-50%);
  background:#fff;box-shadow:var(--shadow-lg);display:grid;place-items:center;color:var(--ink)}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba__tag{position:absolute;bottom:12px;font:600 11px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(21,23,26,.72);padding:7px 10px;border-radius:999px}
.ba__tag--l{left:12px}.ba__tag--r{right:12px}

/* ---- steps ---- */
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);border-radius:var(--r-lg);overflow:hidden}
.steps__item{background:var(--card);padding:26px 24px 30px}
.steps__n{font:italic 400 var(--step-1) var(--serif);color:var(--copper)}
.steps__t{font-size:var(--step-1);margin:10px 0 8px}
.steps__d{color:var(--ink-2);font-size:var(--step--1)}

/* ---- reviews ---- */
.reviews{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
.review{background:var(--card);border:1px solid var(--hair);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:14px}
.review__stars{color:var(--star);letter-spacing:3px;font-size:14px}
.review__text{font-size:var(--step-0);color:var(--ink);line-height:1.55}
.review--clamp .review__text{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.review--clamp.is-open .review__text{-webkit-line-clamp:unset;overflow:visible}
.review__more{align-self:flex-start;background:none;border:0;padding:0;margin:-4px 0 0;color:var(--copper-ink);font:600 var(--step--1) var(--sans);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.review__who{display:flex;align-items:center;gap:10px;margin-top:auto;font-size:var(--step--1);color:var(--ink-2)}
.review__avatar{width:38px;height:38px;border-radius:50%;background:var(--copper);color:#fff;display:grid;place-items:center;font:600 15px/1 var(--sans)}
.review__src{margin-left:auto;color:var(--muted);display:inline-flex;gap:5px;align-items:center}

/* ---- big quote ---- */
.pullquote{text-align:center;max-width:1000px;margin-inline:auto}
.pullquote__stars{color:var(--copper);letter-spacing:5px;margin-bottom:20px;font-size:16px}
.pullquote blockquote{font:400 var(--step-3)/1.22 var(--serif);letter-spacing:-.015em}
.pullquote cite{display:block;margin-top:24px;font:500 var(--step--1) var(--sans);font-style:normal;color:var(--ink-2)}
.section--dark .pullquote blockquote{color:var(--on-dark)}

/* ---- forms ---- */
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;align-items:start}
.field{display:grid;gap:7px}
.field--full{grid-column:1/-1}
.field label{font:600 var(--step--1) var(--sans)}
.field .req{color:var(--copper-ink)}
.input{width:100%;padding:13px 14px;background:var(--card);border:1px solid var(--hair-2);border-radius:var(--r);transition:border-color var(--t),box-shadow var(--t)}
.input:focus{outline:0;border-color:var(--copper);box-shadow:0 0 0 3px color-mix(in srgb,var(--copper) 18%,transparent)}
textarea.input{min-height:120px;resize:vertical}
.hint{font-size:12.5px;color:var(--muted)}
.dropzone{border:1.5px dashed var(--hair-2);border-radius:var(--r);padding:20px;text-align:center;color:var(--ink-2);font-size:var(--step--1)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:var(--step--1);color:var(--ink-2)}
.consent input{margin-top:3px}
.honeypot{position:absolute;left:-9999px}

/* ---- calculator (guided) ---- */
.calc2{display:block;min-width:0}
.calc-detailed{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(20px,3vw,36px);align-items:start;min-width:0}
.calc2__main{display:grid;gap:20px;min-width:0}
.calc-card{background:var(--card);border:1px solid var(--hair);border-radius:var(--r-lg);padding:clamp(18px,2.4vw,26px);min-width:0}
.calc-step{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.calc-step__n{width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 15px/1 var(--sans);flex:none}
.calc-step h2{font-size:var(--step-1)}
.calc-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cf{display:grid;gap:7px;font-weight:600;font-size:var(--step--1)}
.calc-help{margin-top:14px}
.calc-help summary{cursor:pointer;color:var(--copper-ink);font-size:var(--step--1);font-weight:600;list-style:none}
.calc-help summary::-webkit-details-marker{display:none}
.calc-help summary::before{content:"+ "}
.calc-help[open] summary::before{content:"− "}
.calc-surf{margin-top:18px;padding-top:16px;border-top:1px solid var(--hair);font-size:var(--step-0);color:var(--ink-2)}
.calc-surf b{color:var(--copper-ink);font:400 var(--step-2)/1 var(--serif)}
.calc-sub{color:var(--ink-2);font-size:var(--step--1);margin-bottom:12px}
.ci-list{display:grid;gap:9px}
.ci{display:flex;align-items:center;gap:13px;padding:13px 15px;border:1px solid var(--hair);border-radius:var(--r);cursor:pointer;transition:border-color var(--t),background var(--t)}
.ci:hover{border-color:var(--hair-2)}
.ci__chk{position:absolute;opacity:0;pointer-events:none}
.ci__box{width:46px;height:27px;border-radius:999px;background:var(--hair-2);position:relative;flex:none;transition:background var(--t)}
.ci__box::after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;transition:transform var(--t);box-shadow:0 1px 3px rgba(0,0,0,.2)}
.ci__chk:checked+.ci__box{background:var(--copper)}
.ci__chk:checked+.ci__box::after{transform:translateX(19px)}
.ci__chk:focus-visible+.ci__box{outline:2px solid var(--copper);outline-offset:2px}
.ci__name{flex:1;font-weight:500;min-width:0;overflow-wrap:anywhere}
.ci__price{color:var(--muted);font-size:var(--step--1);white-space:nowrap}
.ci:has(.ci__chk:checked){border-color:var(--copper);background:color-mix(in srgb,var(--copper) 7%,transparent)}
.ci--count{cursor:default;justify-content:space-between}
.ci--count .ci__name small{display:block;color:var(--muted);font-weight:400;font-size:12.5px;margin-top:2px}
.ci__note{display:block;color:var(--copper-ink);font-weight:400;font-size:12px;margin-top:3px;line-height:1.35}
.calc-warn{margin:12px 0 0;padding:10px 12px;border-radius:var(--r);background:rgba(240,180,90,.14);border:1px solid rgba(240,180,90,.4);color:var(--on-dark,#fff);font-size:12.5px;line-height:1.4}
.stepper{display:flex;align-items:center;border:1px solid var(--hair-2);border-radius:var(--r);overflow:hidden;flex:none}
.stepper__b{width:40px;height:42px;border:0;background:var(--paper-2);cursor:pointer;font-size:19px;color:var(--ink);line-height:1}
.stepper__b:hover{background:var(--hair)}
.stepper__i{width:62px;text-align:center;border:0;border-left:1px solid var(--hair);border-right:1px solid var(--hair);height:42px;background:var(--card)}
.calc2__sum{position:sticky;top:96px}
.calc-sum-card{background:var(--dark);color:var(--on-dark);border-radius:var(--r-lg);padding:clamp(20px,2.4vw,28px)}
.calc-sum-gross{margin:8px 0 18px;padding-bottom:18px;border-bottom:1px solid var(--dark-line)}
.calc-sum-gross b{font:400 var(--step-4)/1 var(--serif);color:#fff}
.calc__line{display:flex;justify-content:space-between;gap:12px;padding:7px 0;font-size:var(--step--1);color:var(--on-dark-2)}
.calc__note{font-size:12.5px;color:var(--on-dark-muted);margin-top:14px;line-height:1.5}

/* ---- breadcrumb ---- */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:var(--step--1);color:var(--muted);padding-block:18px}
.crumbs a:hover{color:var(--ink)}
.crumbs svg{width:14px;height:14px;opacity:.5}

/* ---- calculator groups ---- */
.calc-grp+.calc-grp{margin-top:22px;padding-top:20px;border-top:1px solid var(--hair)}
.calc-grp__t{font:600 var(--step-0) var(--sans);margin-bottom:12px}
.calc-grp__t small{color:var(--muted);font-weight:400;font-size:var(--step--1)}

/* ---- page hero (inner) ---- */
.page-hero{position:relative;isolation:isolate;color:var(--on-dark);padding-block:clamp(40px,6vw,80px);
  background:linear-gradient(90deg,rgba(20,22,25,.92) 0%,rgba(20,22,25,.72) 55%,rgba(20,22,25,.6) 100%),
             linear-gradient(0deg,rgba(20,22,25,.8),rgba(20,22,25,.5)),
             var(--page-hero-img,url(/assets/img/hero/home-1800.jpg)) center/cover}
.page-hero>*{position:relative;z-index:1}
.page-hero h1{font-size:var(--step-4);max-width:18ch}
.page-hero .lede{color:var(--on-dark-2);margin-top:16px}
.page-hero .crumbs{color:var(--on-dark-muted)}
.page-hero .crumbs a:hover{color:#fff}

/* ---- prose (articles / service long text) ---- */
.prose{max-width:var(--measure)}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:var(--step-2);margin-top:1.8em}
.prose h3{font-size:var(--step-1);margin-top:1.5em}
.prose p,.prose li{color:var(--ink-2);font-size:var(--step-0)}
.prose ul,.prose ol{padding-left:1.3em;display:grid;gap:.4em}
.prose a{color:var(--copper-ink);text-decoration:underline;text-underline-offset:2px}
.prose strong{color:var(--ink)}

/* ---- footer ---- */
.site-footer{background:var(--dark);color:var(--on-dark-2);padding-block:clamp(48px,6vw,72px) 36px}
.site-footer a:hover{color:#fff}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:32px}
.footer-brand__motto{font:400 var(--step-2)/1.1 var(--serif);color:var(--on-dark);margin-bottom:12px}
.footer__h{font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-muted);margin-bottom:14px}
.footer ul{list-style:none;padding:0;display:grid;gap:9px;font-size:var(--step--1)}
.footer-legal{grid-column:1/-1;border-top:1px solid var(--dark-line);margin-top:24px;padding-top:22px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;color:var(--on-dark-muted)}

/* ---- mobile action bar ---- */
.mbar{display:none}

/* ---- lightbox ---- */
.lightbox{border:0;padding:0;background:transparent;max-width:min(1400px,96vw);max-height:94vh}
.lightbox::backdrop{background:rgba(16,17,19,.94)}
.lightbox img{max-height:84vh;width:auto;margin-inline:auto;border-radius:var(--r)}
.lightbox__cap{color:var(--on-dark-2);text-align:center;padding-top:12px;font-size:var(--step--1)}
.lightbox__close{position:fixed;top:14px;right:20px;width:48px;height:48px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}

/* ========== responsive ========== */
/* header: collapse nav to hamburger while the full nav would not fit the 1280 content width */
@media (max-width:1280px){
  .nav,.header-tel{display:none}
  .nav-toggle{display:flex}
  .header-cta .btn{display:none}
}
@media (max-width:1080px){
  .svc-list__thumb{display:none}
  .svc-list__link{grid-template-columns:3rem minmax(0,1fr) auto}
  .svc-list__desc{display:none}
  .masonry{columns:2}
  .calc-detailed{grid-template-columns:1fr}
  .calc2__sum{position:static}
  .facts{grid-template-columns:1fr 1fr}
  .facts__item:nth-child(2){border-right:0}
  .facts__item:nth-child(-n+2){border-bottom:1px solid var(--dark-line)}
  .steps{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .section-head--split{grid-template-columns:1fr}
}
@media (max-width:640px){
  .calc-fields{grid-template-columns:1fr}
  .masonry{columns:1}
  .steps{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .reviews{grid-template-columns:1fr}
  /* mobile hero: shorter, stronger contrast, non-overflowing CTAs */
  .hero__inner{min-height:min(66svh,540px);padding-block:clamp(36px,11vw,60px)}
  .hero::after{background:
    linear-gradient(0deg,rgba(21,23,26,.92) 0%,rgba(21,23,26,.55) 46%,rgba(21,23,26,.4) 100%),
    linear-gradient(90deg,rgba(21,23,26,.72) 0%,rgba(21,23,26,.4) 100%)}
  .hero h1{font-size:var(--step-4);max-width:18ch}
  .hero__lede{margin-top:16px;font-size:var(--step-0);max-width:40ch}
  .hero__cta{margin-top:24px;gap:10px}
  .hero__cta .btn{flex:1 1 46%;justify-content:center;min-height:48px}
  .hero__trust{margin-top:28px;gap:10px 20px}
  .page-hero h1{font-size:var(--step-3)}
  .facts{grid-template-columns:1fr}
  .facts__item{border-right:0;border-bottom:1px solid var(--dark-line)}
  .facts__item:last-child{border-bottom:0}
  body{padding-bottom:72px}
  .mbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;inset:auto 0 0 0;z-index:90;
    background:color-mix(in srgb,var(--dark) 96%,transparent);border-top:1px solid var(--dark-line);
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
  .mbar .btn{min-height:46px}
}

/* service page: 2-col sidebar → 1-col on tablet/mobile (was inline-styled → overflowed) */
.svc-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--gut);align-items:start}
.svc-aside{position:sticky;top:96px;display:grid;gap:18px}
@media (max-width:900px){.svc-layout{grid-template-columns:1fr}.svc-aside{position:static}}

/* very narrow (≤400px, 320px compatibility floor): keep calculator rows inside the viewport */
@media (max-width:400px){
  .calc-card{padding:16px}
  .ci{padding:12px;gap:9px;flex-wrap:wrap}
  .ci__price{font-size:12px;white-space:normal;text-align:right}
  .ci--count .ci__name{flex:1 1 100%}
  .ci--count .stepper{margin-left:auto}
  .stepper__b{width:38px;height:40px}
  .stepper__i{width:50px;height:40px}
}

/* social share (Facebook) */
.share{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--hair)}
.share__l{font-size:var(--step--1);color:var(--ink-2);font-weight:600}
.share__btn{display:inline-flex;align-items:center;gap:9px;padding:9px 17px;border-radius:999px;font-weight:600;font-size:var(--step--1);text-decoration:none;border:0;cursor:pointer;transition:filter var(--t),transform var(--t)}
.share__btn svg{width:18px;height:18px}
.share__btn--fb{background:#1877F2;color:#fff}
.share__btn--fb:hover{filter:brightness(1.07)}

/* project cover + gallery thumbnails */
.pj-cover img{width:100%;height:100%;object-fit:cover;display:block}
.pj-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.pj-gallery .pj-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--t)}
.pj-gallery .pj-thumb:hover img{transform:scale(1.04)}
@media (max-width:640px){.pj-gallery{grid-template-columns:repeat(2,1fr)}}

/* ========== two-mode calculator ========== */
.calc-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.calc-mode{display:flex;flex-direction:column;gap:4px;text-align:left;padding:16px 18px;border:1.5px solid var(--hair);border-radius:var(--r-lg);background:var(--card);cursor:pointer;transition:border-color var(--t),box-shadow var(--t)}
.calc-mode:hover{border-color:var(--copper)}
.calc-mode.is-active{border-color:var(--copper);box-shadow:inset 0 0 0 1px var(--copper)}
.calc-mode__t{font:600 var(--step-1) var(--sans);color:var(--ink)}
.calc-mode__s{font-size:var(--step--1);color:var(--ink-2)}
.no-js .calc-modes{display:none}
.no-js [data-pane="simple"]{display:none}
.no-js [data-pane="detailed"]{display:grid!important}

/* simple-mode steps */
.cs-steps{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.cs-step{background:var(--card);border:1px solid var(--hair);border-radius:var(--r-lg);padding:clamp(18px,2.4vw,26px)}
.cs-step__h{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.cs-step__n{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 15px/1 var(--sans);flex:none}
.cs-step__h h2{font-size:var(--step-1);margin:0}
.cs-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:12px}
.cs-cards--roof{grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr))}
.cs-card{display:flex;align-items:center;gap:13px;text-align:left;padding:14px 15px;min-height:60px;border:1.5px solid var(--hair);border-radius:var(--r);background:var(--paper);cursor:pointer;transition:border-color var(--t),background var(--t)}
.cs-cards--roof .cs-card{flex-direction:column;text-align:center;gap:8px;justify-content:center;padding:14px 10px}
.cs-card:hover{border-color:var(--copper)}
.cs-card.is-sel{border-color:var(--copper);background:var(--paper-2)}
.cs-card.is-sel::after{content:"✓";margin-left:auto;color:var(--copper);font-weight:700}
.cs-cards--roof .cs-card.is-sel::after{position:absolute;top:8px;right:10px;margin:0}
.cs-cards--roof .cs-card{position:relative}
.cs-card__ic{width:44px;height:44px;color:var(--copper-ink);flex:none}
.cs-card__ic svg{width:100%;height:100%}
.cs-card__shape{width:72px;height:56px;color:var(--ink-2)}
.cs-card__shape svg{width:100%;height:100%}
.cs-card__l{font:600 var(--step-0) var(--sans);color:var(--ink);line-height:1.25}
.cs-cards--roof .cs-card__l{font-size:var(--step--1)}
.cs-sizeopts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.cs-pill{padding:11px 16px;min-height:44px;border:1.5px solid var(--hair);border-radius:999px;background:var(--paper);cursor:pointer;font:600 var(--step--1) var(--sans);color:var(--ink-2);transition:border-color var(--t),color var(--t)}
.cs-pill:hover{border-color:var(--copper)}
.cs-pill.is-sel{border-color:var(--copper);color:var(--ink);background:var(--paper-2)}
.cs-surf{margin:12px 0 0;font-size:var(--step-0);color:var(--ink-2)}.cs-surf b{color:var(--ink);font-size:var(--step-1)}
.cs-q{padding:14px 0;border-top:1px solid var(--hair)}.cs-q:first-child{border-top:0;padding-top:0}
.cs-q__t{font:600 var(--step-0) var(--sans);margin:0 0 10px}
.cs-q__opts{display:flex;flex-wrap:wrap;gap:8px}
.cs-opt{padding:9px 15px;min-height:44px;border:1.5px solid var(--hair);border-radius:999px;background:var(--paper);cursor:pointer;font:600 var(--step--1) var(--sans);color:var(--ink-2);transition:border-color var(--t),color var(--t)}
.cs-opt:hover{border-color:var(--copper)}
.cs-opt.is-sel{border-color:var(--copper);color:#fff;background:var(--copper)}
.cs-nav{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.cs-nav .btn{min-height:48px}
@media(max-width:560px){.cs-nav{flex-direction:column-reverse}.cs-nav .btn{width:100%;justify-content:center}}

/* simple-mode result */
.cs-result{margin-top:18px;background:var(--card);border:1px solid var(--hair);border-radius:var(--r-lg);padding:clamp(18px,2.4vw,26px)}
.csr-summary{display:grid;gap:8px;margin-bottom:16px}
.csr-summary>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:8px 0;border-bottom:1px solid var(--hair)}
.csr-k{color:var(--ink-2);font-size:var(--step--1);flex:none}.csr-v{font-weight:600;text-align:right;min-width:0;overflow-wrap:anywhere}
.csr-block{margin:14px 0;padding:14px 16px;border-radius:var(--r);background:var(--paper-2);border:1px solid var(--hair)}
.csr-block b{display:block;margin-bottom:8px}.csr-block ul{margin:0;padding-left:18px}.csr-block li{margin:3px 0;font-size:var(--step--1);color:var(--ink-2)}
.csr-block--warn{background:rgba(217,138,58,.1);border-color:rgba(217,138,58,.35)}
.csr-rows{display:grid;gap:4px}
.csr-row{display:flex;justify-content:space-between;gap:14px;font-size:var(--step--1);padding:5px 0;border-bottom:1px dashed var(--hair)}
.csr-tag{font-size:10px;font-weight:700;color:var(--warn);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--warn);border-radius:999px;padding:1px 7px;margin-left:6px}
.csr-price{margin:16px 0;padding:18px;border-radius:var(--r-lg);background:var(--dark);color:var(--on-dark)}
.csr-gross{font:400 var(--step-4)/1 var(--serif);color:#fff;margin-bottom:12px}
.csr-price .calc__line{color:var(--on-dark-2)}
.csr-disc{font-size:var(--step--1);color:var(--muted);line-height:1.5}
.csr-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.csr-actions .btn{min-height:48px}
@media(max-width:560px){.csr-actions{flex-direction:column}.csr-actions .btn{width:100%;justify-content:center}}

/* interactive roof-pitch diagram */
.roof-geo{margin:4px 0}
.roof-d{background:var(--paper-2);border:1px solid var(--hair);border-radius:var(--r-lg);padding:14px}
.roof-d__svg{display:block;width:100%;max-width:420px;margin:0 auto;height:auto;touch-action:none;cursor:ns-resize;-webkit-user-select:none;user-select:none}
.roof-d__svg:focus-visible{outline:2px solid var(--copper);outline-offset:3px;border-radius:var(--r)}
.roof-d__ground{stroke:var(--hair-2);stroke-width:2}
.roof-d__wall{fill:var(--card);stroke:var(--hair-2);stroke-width:1.5}
.roof-d__proj{stroke:var(--muted);stroke-width:1.4}
.roof-d__roof{fill:color-mix(in srgb,var(--copper) 20%,transparent);stroke:var(--copper);stroke-width:2.5;stroke-linejoin:round}
.roof-d__arc{fill:none;stroke:var(--copper-ink);stroke-width:1.6}
.roof-d__deg{fill:var(--ink);font:600 14px var(--sans)}
.roof-d__handle{fill:var(--copper);stroke:#fff;stroke-width:2.5;cursor:grab}
.roof-d__svg:active .roof-d__handle{cursor:grabbing}
.roof-d__hint{fill:var(--ink-2);font:500 12px var(--sans);text-anchor:middle}
.roof-d__ctrl{display:flex;align-items:center;gap:10px;margin:10px auto 0;max-width:420px}
.roof-d__b{width:44px;height:44px;flex:none;border:1px solid var(--hair-2);border-radius:var(--r);background:var(--card);font-size:22px;line-height:1;cursor:pointer;color:var(--ink)}
.roof-d__b:hover{border-color:var(--copper)}
.roof-d__slider{flex:1;min-width:0;accent-color:var(--copper);height:34px}
.roof-d__val{font:600 var(--step-0) var(--sans);min-width:46px;text-align:right}
.roof-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.roof-info{margin-top:14px;background:var(--card);border:1px solid var(--hair);border-radius:var(--r);padding:12px 14px}
.roof-info[hidden]{display:none}
.roof-info__r{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;padding:6px 0;border-top:1px solid var(--hair);font-size:var(--step--1)}
.roof-info__r:first-child{border-top:0}
.roof-info__r span:last-child{font-weight:600}
.roof-info__r--hl{color:var(--copper-ink)}.roof-info__r--hl span:last-child{font-size:var(--step-1)}
.roof-info__r i{color:var(--muted)}
.cs-sub{font-size:var(--step--1);color:var(--ink-2);margin:14px 0 8px}

/* quote page layout + carried-calculation summary */
.quote-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
@media(max-width:860px){.quote-layout{grid-template-columns:1fr}}
.quote-estim{grid-column:1/-1;margin-bottom:6px;padding:16px 18px;border-radius:var(--r-lg);background:var(--paper-2);border:1px solid var(--copper)}
.quote-estim__h{font:600 var(--step-0) var(--sans);color:var(--copper-ink);margin-bottom:10px}
.quote-estim__r{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:6px 0;border-top:1px solid var(--hair);font-size:var(--step--1)}
.quote-estim__r:first-of-type{border-top:0}
.quote-estim__r span:last-child{font-weight:600;text-align:right;overflow-wrap:anywhere}
.quote-estim__n{font-size:12px;color:var(--muted);margin:10px 0 0;line-height:1.4}

/* excluded (double-count prevented) detailed rows */
.ci.is-excluded{opacity:.5}
.ci.is-excluded .ci__price::after{content:" – benne van";font-size:10px;color:var(--copper-ink)}

/* the [hidden] attribute must always win over component display rules (e.g. .btn) */
[hidden]{display:none!important}

/* ---- JS-enhancement flags ---- */
.no-js [data-reveal]{opacity:1}
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.1,1)}
[data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}}

/* GYIK harmonika (FAQ) */
.faq-wrap{max-width:820px}
.faq-h{text-align:center;margin:0 0 28px;font-family:var(--display,Georgia,serif);font-size:clamp(1.6rem,4vw,2.2rem);color:var(--ink)}
.faq{border-top:1px solid var(--hair)}
.faq__item{border-bottom:1px solid var(--hair)}
.faq__q{cursor:pointer;list-style:none;display:block;padding:18px 36px 18px 0;font-weight:600;position:relative;font-size:1.05rem;color:var(--ink)}
.faq__q::-webkit-details-marker{display:none}
.faq__q::after{content:"+";position:absolute;right:6px;top:16px;font-size:1.5rem;line-height:1;color:var(--copper);font-weight:400}
.faq__item[open] .faq__q::after{content:"\2212"}
.faq__a{padding:0 0 20px;color:var(--ink-2);line-height:1.65;max-width:72ch}
.faq__a p{margin:0}

/* ===== Tudástár cikk-blokkok (Editor.js render) ===== */
.article-body{font-size:1.075rem;line-height:1.75;color:var(--ink)}
.article-body>*{margin:0 0 1.1em}
.ab-h{font-family:var(--display,Georgia,serif);line-height:1.2;margin:1.8em 0 .6em;scroll-margin-top:90px}
h2.ab-h{font-size:clamp(1.5rem,3.5vw,2rem)} h3.ab-h{font-size:clamp(1.25rem,3vw,1.55rem)} h4.ab-h{font-size:1.2rem}
.ab-p{margin:0 0 1.1em}
.article-body a{color:var(--copper-ink);text-decoration:underline;text-underline-offset:2px}
.ab-list,.ab-steps,.ab-checklist{padding-left:0;margin:0 0 1.3em}
.ab-list{padding-left:1.3em} .ab-list li{margin:.35em 0}
.article-body mark{background:#F7E9C9;padding:.05em .25em;border-radius:3px}
.article-hero{border-radius:var(--r-lg,14px);overflow:hidden;margin:0 0 32px}
/* tartalomjegyzék */
.ab-toc{background:var(--paper-2);border:1px solid var(--hair);border-radius:var(--r,10px);padding:18px 22px;margin:0 0 28px}
.ab-toc__t{font-weight:700;margin:0 0 8px;font-size:.95rem;letter-spacing:.02em;color:var(--ink)}
.ab-toc ol{margin:0;padding-left:1.2em;columns:2;column-gap:28px}
.ab-toc li{margin:.25em 0;break-inside:avoid}
.ab-toc a{color:var(--copper-ink);text-decoration:none}.ab-toc a:hover{text-decoration:underline}
@media(max-width:640px){.ab-toc ol{columns:1}}
/* figyelmeztető/info blokk */
.ab-callout{border-left:4px solid var(--copper);background:var(--paper-2);border-radius:0 var(--r,10px) var(--r,10px) 0;padding:16px 20px;margin:0 0 1.3em}
.ab-callout__t{font-weight:700;margin:0 0 4px;color:var(--copper-ink)}
.ab-callout__b{margin:0;color:var(--ink-2)} .ab-callout__b p{margin:0 0 .5em}
.ab-callout--warn{border-color:#C9962F;background:#FBF4E3}.ab-callout--warn .ab-callout__t{color:#8A6514}
.ab-callout--danger{border-color:#C0463A;background:#FBECEA}.ab-callout--danger .ab-callout__t{color:#9A362C}
.ab-callout--tip{border-color:#3E8F6E;background:#EAF5EF}.ab-callout--tip .ab-callout__t{color:#2C6B4F}
.ab-callout--check{border-color:#2F6FC9;background:#EAF1FB}.ab-callout--check .ab-callout__t{color:#1F4F8F}
/* lépések */
.ab-steps{list-style:none;counter-reset:st;padding:0;margin:0 0 1.5em}
.ab-step{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--hair)}
.ab-step:last-child{border-bottom:0}
.ab-step__n{flex:none;width:36px;height:36px;border-radius:50%;background:var(--copper);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1rem}
.ab-step__b{flex:1}.ab-step__b b{display:block;margin-bottom:3px}.ab-step__b p{margin:0;color:var(--ink-2)}
/* ellenőrzőlista */
.ab-checklist{list-style:none}
.ab-check{position:relative;padding-left:32px;margin:.5em 0;color:var(--ink)}
.ab-check::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border:2px solid var(--hair-2);border-radius:5px}
.ab-check.is-on::before{border-color:var(--copper);background:var(--copper)}
.ab-check.is-on::after{content:"";position:absolute;left:6px;top:5px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
/* táblázat */
.ab-tablewrap{overflow-x:auto;margin:0 0 1.5em;-webkit-overflow-scrolling:touch}
.ab-table{width:100%;border-collapse:collapse;font-size:.98rem;min-width:420px}
.ab-table th,.ab-table td{border:1px solid var(--hair);padding:10px 14px;text-align:left;vertical-align:top}
.ab-table th{background:var(--paper-2);font-weight:700}
.ab-table tr:nth-child(even) td{background:rgba(0,0,0,.015)}
/* idézet */
.ab-quote{border-left:3px solid var(--copper);padding:6px 0 6px 20px;margin:0 0 1.3em;font-style:italic;color:var(--ink-2)}
.ab-quote cite{display:block;font-style:normal;font-size:.9rem;color:var(--muted);margin-top:6px}
.ab-delim{border:0;height:1px;background:var(--hair);margin:2em 0}
/* képek a cikkben */
.ab-fig{margin:0 0 1.5em;border-radius:var(--r,10px);overflow:hidden}
.ab-fig img{width:100%;height:auto;display:block}
.ab-fig figcaption,.ab-cap,.ab-ba__cap{font-size:.9rem;color:var(--muted);padding:8px 2px 0;text-align:center}
.ab-fig--wide{margin-inline:calc(50% - 50vw);max-width:100vw;border-radius:0}
@media(min-width:1100px){.ab-fig--wide{margin-inline:-120px;max-width:none;border-radius:var(--r,10px)}}
/* előtte-utána */
.ab-ba{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 1.5em}
.ab-ba__col{position:relative}
.ab-ba__lbl{position:absolute;top:10px;left:10px;z-index:2;font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:20px;color:#fff}
.ab-ba__lbl--bad{background:#C0463A}.ab-ba__lbl--good{background:#2C6B4F}
.ab-ba .ab-fig{margin:0}
.ab-ba__cap{grid-column:1/-1}
@media(max-width:560px){.ab-ba{grid-template-columns:1fr}}
/* galéria */
.ab-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:0 0 1.5em}
.ab-gallery .ab-fig{margin:0}
/* videó */
.ab-embed{position:relative;aspect-ratio:16/9;border-radius:var(--r,10px);overflow:hidden;margin:0 0 1em;background:#000}
.ab-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* GYIK a cikkben (a .faq stílusokat újrahasznosítja) */
.ab-faq{margin:2em 0 1.5em}
/* cikk-meta + kategória */
.article-meta{color:var(--muted);font-size:.95rem;margin:0 0 24px}
.article-cat{color:var(--copper-ink);font-weight:600;text-decoration:none}.article-cat:hover{text-decoration:underline}

/* ===== Tudástár: kereső/szűrő + kategória + piszkozat ===== */
.kb-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 26px}
.kb-search,.kb-catsel{font:inherit;padding:12px 15px;border:1px solid var(--hair-2);border-radius:10px;background:var(--card);color:var(--ink)}
.kb-search{flex:1 1 300px;min-width:0}
.kb-catsel{flex:0 1 280px;cursor:pointer}
.kb-search:focus,.kb-catsel:focus{outline:0;border-color:var(--copper);box-shadow:0 0 0 3px rgba(156,107,69,.15)}
.kb-empty{color:var(--muted);padding:24px 0;font-size:1.05rem}
.kb-back{margin:0 0 18px}.kb-back a{color:var(--copper-ink);font-weight:600;text-decoration:none}.kb-back a:hover{text-decoration:underline}
.kb-card .card__meta{text-transform:none;letter-spacing:0}
.kb-draftbar{background:#FDF3E3;border:1px solid #E8C999;color:#7a4e12;border-radius:10px;padding:12px 16px;margin:0 0 18px;font-size:.95rem;line-height:1.5}
@media(max-width:560px){.kb-tools{gap:10px}.kb-catsel{flex-basis:100%}}

/* ===== „Helyes vagy hibás?" összehasonlító blokk ===== */
.ab-cmp{margin:24px 0;border:1px solid var(--hair);border-radius:12px;overflow:hidden;background:var(--card)}
.ab-cmp__title{font-weight:700;margin:0;padding:12px 16px;background:var(--paper-2);border-bottom:1px solid var(--hair)}
.ab-cmp__cols{display:grid;grid-template-columns:1fr 1fr}
.ab-cmp__col{padding:16px}
.ab-cmp__col--bad{background:#FBF1EF;border-right:1px solid var(--hair)}
.ab-cmp__col--good{background:#EFF6F1}
.ab-cmp__badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 11px;border-radius:999px;margin-bottom:12px}
.ab-cmp__badge--bad{background:#D4564C;color:#fff}
.ab-cmp__badge--good{background:var(--ok);color:#fff}
.ab-cmp__lbl{font-weight:700;margin:6px 0 12px;line-height:1.35}
.ab-cmp__f{margin:0 0 10px}
.ab-cmp__k{display:block;font-size:.74rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:1px}
.ab-cmp__v{display:block;font-size:.96rem;line-height:1.5;color:var(--ink-2)}
.ab-cmp__note{margin:0;padding:10px 16px;font-size:.82rem;color:var(--muted);background:var(--paper);border-top:1px solid var(--hair);font-style:italic}
.ab-cmp picture,.ab-cmp img{display:block;width:100%;height:auto;border-radius:8px;margin-bottom:10px}
@media(max-width:620px){.ab-cmp__cols{grid-template-columns:1fr}.ab-cmp__col--bad{border-right:0;border-bottom:1px solid var(--hair)}}

/* ===== Szakértői rendszer (szakmai vezető profil + ellenőrzés) ===== */
.article-rev{white-space:nowrap}
.article-rev svg{width:14px;height:14px;vertical-align:-2px;color:var(--copper);margin-right:1px}
.article-rev a{color:var(--copper-ink);font-weight:600}

/* Cikk végi szakértői kártya — visszafogott, de hiteles */
.expert-card{display:flex;gap:18px;align-items:flex-start;margin:30px 0 8px;padding:20px 22px;background:var(--paper-2);border:1px solid var(--hair);border-left:3px solid var(--copper);border-radius:var(--r-lg)}
.expert-card__photo{flex:none;width:84px;height:84px;border-radius:50%;overflow:hidden;background:var(--card);box-shadow:var(--shadow)}
.expert-card__photo picture,.expert-card__photo img{width:100%;height:100%;object-fit:cover;display:block}
.expert-card__eyebrow{display:flex;align-items:center;gap:6px;font-size:var(--step--1);color:var(--copper-ink);font-weight:600;margin:0 0 4px;text-transform:uppercase;letter-spacing:.04em}
.expert-card__eyebrow svg{width:16px;height:16px}
.expert-card__name{font:600 var(--step-1) var(--sans);margin:0 0 2px}
.expert-card__name a{color:var(--ink)}
.expert-card__role{color:var(--muted);font-size:var(--step--1);margin:0 0 8px}
.expert-card__bio{color:var(--ink-2);font-size:var(--step-0);margin:0 0 10px;max-width:60ch}
.expert-card__meta{font-size:var(--step--1);color:var(--muted);margin:0}
.expert-card__link{color:var(--copper-ink);font-weight:600;white-space:nowrap}
.expert-card__link svg{width:14px;height:14px;vertical-align:-2px}
@media(max-width:560px){.expert-card{flex-direction:column;gap:12px;padding:18px}.expert-card__photo{width:72px;height:72px}}

/* Profil fejléc */
.expert-hero{display:grid;grid-template-columns:260px 1fr;gap:clamp(20px,3.5vw,44px);align-items:center}
.expert-hero__photo{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--card)}
.expert-hero__photo picture,.expert-hero__photo img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:1/1}
.expert-hero__ph{width:100%;aspect-ratio:1/1;display:grid;place-items:center;font:600 3rem var(--serif);color:var(--copper);background:var(--paper-2)}
.expert-hero__name{font:600 var(--step-3) var(--serif);margin:8px 0 2px;line-height:1.05}
.expert-hero__role{color:var(--copper-ink);font-weight:600;font-size:var(--step-1);margin:0}
.expert-hero__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
@media(max-width:720px){.expert-hero{grid-template-columns:1fr;text-align:center}.expert-hero__photo{max-width:220px;margin:0 auto}.expert-hero__cta{justify-content:center}}

/* Szakmai tevékenységek */
.expert-areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:16px}
.expert-area{background:var(--card);border:1px solid var(--hair);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow)}
.expert-area__t{font:600 var(--step-0) var(--sans);margin:0 0 6px;color:var(--ink);position:relative;padding-left:16px}
.expert-area__t::before{content:"";position:absolute;left:0;top:.45em;width:7px;height:7px;border-radius:50%;background:var(--copper)}
.expert-area__d{color:var(--ink-2);font-size:var(--step--1);margin:0;line-height:1.55}

/* Vezetés (Rólunk) */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
.team__card{display:flex;gap:16px;align-items:flex-start;background:var(--card);border:1px solid var(--hair);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow)}
.team__ph{flex:none;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--paper-2);color:var(--copper);font:600 1.5rem var(--serif);overflow:hidden}
.team__ph--img picture,.team__ph--img img{width:100%;height:100%;object-fit:cover;display:block}
.team__name{font:600 var(--step-1) var(--sans);margin:0 0 2px}
.team__name a{color:var(--ink)}
.team__role{color:var(--copper-ink);font-weight:600;font-size:var(--step--1);margin:0 0 8px}
.team__d{color:var(--ink-2);font-size:var(--step--1);margin:0;line-height:1.5}
.team__link{color:var(--copper-ink);font-weight:600;font-size:var(--step--1)}
.team__link svg{width:13px;height:13px;vertical-align:-2px}

/* Melozz AI chat widget — mobilon az alsó gyors-sáv (.mbar) FÖLÉ emeljük, hogy ne takarja a Hívás/Ajánlatkérés gombokat */
@media (max-width:640px){
  .mzai{bottom:calc(82px + env(safe-area-inset-bottom)) !important}
}

/* ===== Napelem landing + igényfelmérő ===== */
.sol-offer{display:inline-flex;align-items:center;gap:8px;margin:16px auto 0;background:var(--copper);color:#fff;font-weight:600;padding:8px 16px;border-radius:999px;font-size:var(--step--1)}
.sol-offer svg{width:16px;height:16px}
.sol-benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.sol-benefit{display:flex;gap:14px;align-items:flex-start;background:var(--card);border:1px solid var(--hair);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow)}
.sol-benefit__ic{flex:none;width:34px;height:34px;border-radius:50%;background:var(--copper);color:#fff;display:grid;place-items:center}
.sol-benefit__ic svg{width:18px;height:18px}
.sol-benefit h3{font:600 var(--step-0) var(--sans);margin:0 0 5px}
.sol-benefit p{color:var(--ink-2);font-size:var(--step--1);margin:0;line-height:1.55}
/* csomagok */
.sol-pkgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.sol-pkg{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--hair);border-radius:var(--r-lg);padding:24px 22px;box-shadow:var(--shadow)}
.sol-pkg--hl{border-color:var(--copper);box-shadow:0 0 0 2px var(--copper),var(--shadow)}
.sol-pkg__badge{position:absolute;top:-11px;left:22px;background:var(--copper);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:4px 11px;border-radius:999px}
.sol-pkg h3{font:600 var(--step-1) var(--sans);margin:4px 0 4px}
.sol-pkg__spec{color:var(--muted);font-size:var(--step--1);margin:0 0 10px}
.sol-pkg__price{font:600 var(--step-2) var(--serif);color:var(--ink);margin:0 0 12px}
.sol-pkg__price small{font:400 var(--step--1) var(--sans);color:var(--muted)}
.sol-pkg ul{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:8px}
.sol-pkg li{position:relative;padding-left:22px;font-size:var(--step--1);color:var(--ink-2)}
.sol-pkg li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:50%;background:var(--copper)}
.sol-pkg .btn{margin-top:auto}
/* kérdőív */
.sol-form{margin-top:20px;display:grid;gap:22px}
.sol-q{border:0;margin:0;padding:0;min-width:0}
.sol-q legend{font:600 var(--step-0) var(--sans);color:var(--ink);padding:0;margin-bottom:10px}
.sol-opts{display:flex;flex-wrap:wrap;gap:10px}
.sol-opt{position:relative;cursor:pointer}
.sol-opt input{position:absolute;opacity:0;width:0;height:0}
.sol-opt span{display:inline-block;padding:10px 16px;border:1.5px solid var(--hair-2);border-radius:999px;font-size:var(--step--1);color:var(--ink-2);background:var(--card);transition:all var(--t);line-height:1.2}
.sol-opt:hover span{border-color:var(--copper-2)}
.sol-opt input:checked+span{border-color:var(--copper);background:var(--copper);color:#fff;font-weight:600}
.sol-opt input:focus-visible+span{outline:2px solid var(--copper);outline-offset:2px}
.sol-contact{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-top:4px}
.sol-contact .field--full{grid-column:1/-1}
.sol-reassure{display:flex;align-items:center;gap:8px;justify-content:center;color:var(--muted);font-size:var(--step--1);margin:14px 0 0}
.sol-reassure svg{width:16px;height:16px;color:var(--copper);flex:none}
@media(max-width:560px){.sol-contact{grid-template-columns:1fr}}
.sol-pkg__media{margin:4px 0 16px;border-radius:var(--r);overflow:hidden;background:var(--paper-2)}
.sol-pkg__media picture,.sol-pkg__media img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}
