/* BM Tetőfedők — site-wide page families on top of the frozen baseline design system (base.css + baseline.css).
   Same tokens, type scale, radii, pill/ybox/stats/svc/ftr components; only page-family compositions live here. */
.v-site .sec--white{background:#fff}

/* ---- page hero (service / about / index / reference) — the home hero grammar, shorter ---- */
.phero .hero__in{padding-top:clamp(132px,13vw,184px);padding-bottom:clamp(72px,8vw,112px)}
.phero--short .hero__in{padding-bottom:clamp(56px,6vw,84px)}
.phero__h{font-size:clamp(34px,3.6vw,54px);line-height:1.12;font-weight:700;letter-spacing:-.015em;margin:22px 0 22px;max-width:16em;text-wrap:balance;color:inherit}
.phero__p{margin-bottom:6px}
.phero .hero__cta{margin-top:30px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:500;margin-bottom:22px;opacity:.85}
.crumbs a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(127,127,127,.45)}
.crumbs a:hover{color:var(--bm-yellow)}
.crumbs span[aria-hidden]{opacity:.55}
.crumbs [aria-current]{font-weight:600}

/* ---- prose ---- */
.prose{font-size:17px;line-height:1.65;color:var(--muted)}
.prose p{margin:0 0 14px}
.prose strong{color:var(--text);font-weight:600}
.prose ul{margin:6px 0 18px;padding:0;display:grid;gap:8px}
.prose ul li{position:relative;padding-left:28px}
.prose ul li::before{content:"";position:absolute;left:0;top:.55em;width:14px;height:8px;border-left:2px solid var(--bm-blue);border-bottom:2px solid var(--bm-blue);transform:rotate(-45deg)}
.prose__h{font-size:20px;line-height:1.3;font-weight:700;color:var(--bm-ink);margin:26px 0 10px}
.prose__lead{font-weight:600;color:var(--text)}
.prose--light{color:rgba(255,255,255,.8)}.prose--light strong{color:#fff}
.lnk{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--bm-blue);margin-top:8px;min-height:44px}
.lnk .i{transition:transform .25s var(--ease)}.lnk:hover .i{transform:translateX(4px)}
.btn--dark-o{border:1.5px solid var(--bm-ink);color:var(--bm-ink)}
.btn--dark-o:hover{background:var(--bm-ink);color:#fff}
.ybox__btns{display:flex;flex-wrap:wrap;gap:12px;flex:none}
.ybox--wide h2{max-width:22em}

/* ---- service intro: photo pair + text (home "why" grammar) ---- */
.svc-intro__in{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);gap:clamp(40px,5vw,80px);align-items:center}
.svc-intro__media{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:14px}
.svc-intro__ph{border-radius:var(--r);overflow:hidden;box-shadow:0 30px 60px -40px rgba(6,20,63,.5)}
.svc-intro__ph img{width:100%;height:100%;object-fit:cover}
.svc-intro__ph--0{grid-column:1/3;aspect-ratio:16/10}
.svc-intro__ph--1{grid-column:2/3;aspect-ratio:4/3;margin-top:-90px;border:6px solid var(--tint, #F2F5FE);border-radius:calc(var(--r) + 6px)}
.svc-intro__txt .btn{margin-top:20px}
.stats-wrap--white{background:linear-gradient(var(--tint) 50%,#fff 50%)}

/* ---- split text/image ---- */
.split__in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px,5vw,88px);align-items:center}
.split--flip .split__media{order:-1}
.split__media{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3.4;box-shadow:0 30px 60px -44px rgba(6,20,63,.5)}
.split__media img{width:100%;height:100%;object-fit:cover}
.split__txt .h2{margin-top:10px}
.split-head{max-width:820px;margin-bottom:40px}
.split-head .h2{margin-top:10px}

/* ---- numbered editorial list (items without pictures) ---- */
.numlist{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;border-top:1px solid var(--line)}
.numlist li{display:flex;gap:18px;padding:26px 0;border-bottom:1px solid var(--line)}
.numlist__n{flex:none;width:44px;height:44px;border-radius:50%;background:var(--bm-yellow);color:var(--bm-ink);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}
.numlist h3{font-size:19px;line-height:1.3;font-weight:700;color:var(--bm-ink);margin:8px 0 8px}
.numlist p{font-size:16px;line-height:1.6;color:var(--muted);margin:0 0 8px}
.numlist--light{border-color:rgba(255,255,255,.18)}.numlist--light li{border-color:rgba(255,255,255,.18)}
.numlist--light h3{color:#fff;margin:9px 0 0}
.svc-items__cta{margin-top:28px}

/* ---- features: the home services band (dark photo overlay) with numbered white cards ---- */
.svc-feats{color:#fff;background:linear-gradient(rgba(6,20,63,.92),rgba(6,20,63,.92)),var(--bg) center/cover no-repeat}
.svc-feats__head{max-width:860px;margin:0 auto 48px;text-align:center}
.svc-feats__head .eyebrow{color:var(--bm-yellow)}
.svc-feats__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc-feats .sc{min-height:0;align-items:flex-start;text-align:left;padding:30px 28px}
.svc-feats .sc:nth-child(even){background:#0E2470;color:#fff}
.svc-feats .sc:nth-child(even) h3{color:#fff}.svc-feats .sc:nth-child(even) p{color:rgba(255,255,255,.8)}
.sc__n{display:inline-flex;min-width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;background:var(--bm-yellow);color:var(--bm-ink);font-weight:700;font-size:14px;margin-bottom:18px}
.svc-feats .sc p{margin-bottom:0}
.svc-feats__cta{margin-top:36px}.svc-feats .lnk{color:var(--bm-yellow)}
.sc__h{font-size:20px;font-weight:700;margin-bottom:12px;color:var(--bm-ink)}
.sc--photo .sc__h{color:#fff}

/* ---- materials (korcolt) ---- */
.svc-mats__grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.mat{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 30px 60px -48px rgba(6,20,63,.55)}
.mat__img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.mat__txt{padding:28px 26px}
.mat__txt h3{font-size:20px;font-weight:700;color:var(--bm-ink);margin-bottom:12px}
.mat__txt p{font-size:15.5px;line-height:1.6;color:var(--muted);margin:0 0 10px}
.sec--tint .mat{background:#fff}

/* ---- before / after ---- */
.ba{margin-top:56px;padding-top:40px;border-top:1px solid var(--line)}
.ba__h{font-size:clamp(22px,2vw,28px);font-weight:700;color:var(--bm-ink);margin-bottom:22px}
.ba__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ba__pair{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:var(--r-sm);overflow:hidden}
.ba__pair a{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--bm-tint-2)}
.ba__pair img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.ba__pair a:hover img{transform:scale(1.05)}
.proc__tel{margin-top:22px;color:var(--bm-ink);font-weight:700}

/* ---- other services (end of a service page) ---- */
.svc-nav{padding:clamp(48px,5vw,72px) 0;background:#fff;border-top:1px solid var(--line)}
.svc-nav__list{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-top:14px}
.svc-nav__list a{display:grid;gap:10px;font-weight:600;font-size:15px;color:var(--bm-ink)}
.svc-nav__list img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-sm);transition:transform .5s var(--ease)}
.svc-nav__list a:hover img{transform:translateY(-3px)}
.svc-nav__list .i{display:none}

/* ---- services index / promo ---- */
.svc--index{padding-top:clamp(80px,9vw,120px)!important}
.promo{padding:clamp(56px,6vw,88px) 0}
.promo__in{max-width:980px}.promo__in img,.promo__in a{display:block;width:100%;border-radius:var(--r);overflow:hidden}

/* ---- rólunk ---- */
.about-x .why__txt .lead+.lead{margin-top:14px}
.rol-why{color:#fff;background:linear-gradient(90deg,rgba(6,20,63,.95) 0%,rgba(6,20,63,.86) 50%,rgba(6,20,63,.7) 100%),var(--bg) center/cover no-repeat}
.rol-why__in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,5vw,80px);align-items:start}
.rol-why .h2{margin-top:0}.rol-why .btn{margin-top:10px}
.rol-why .numlist{grid-template-columns:1fr}
.linklist{display:grid;border-top:1px solid var(--line)}
.linklist a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;border-bottom:1px solid var(--line);font-size:19px;font-weight:600;color:var(--bm-ink);transition:padding .25s var(--ease),color .2s}
.linklist a:hover{padding-left:14px;color:var(--bm-blue)}
.linklist .i{color:var(--bm-blue)}

/* ---- referencia ---- */
.ref-gal{padding-top:clamp(64px,7vw,96px)}
.ref-gal .gal__grid{grid-template-columns:repeat(4,1fr)}
.ref-gal .gal__tabs,.v-site .gal__tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.v-site .gal__tabs button{min-height:44px;padding:0 18px;border-radius:var(--pill);background:#fff;border:1px solid var(--line);font-size:15px;font-weight:600;color:var(--bm-ink)}
.v-site .gal__tabs button[aria-selected=true]{background:var(--bm-ink);color:#fff;border-color:var(--bm-ink)}
.ref-video__in{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.ref-video__vid{aspect-ratio:9/16;max-height:640px;margin:0 auto;width:100%}
.ref-video__handle{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:700;color:var(--bm-ink);margin-bottom:36px}
.ref-video__handle .i{width:30px;height:30px;padding:6px;border-radius:50%;background:var(--bm-yellow)}
.ref-video .partners{justify-content:flex-start;gap:24px 36px}

/* ---- kapcsolat / köszönjük (form-first) ---- */
.kx{background:var(--bm-ink) radial-gradient(90% 120% at 100% 0%,rgba(19,69,227,.45),transparent 60%);color:#fff;padding:clamp(124px,12vw,170px) 0 clamp(64px,7vw,96px)}
.kx__head{margin-bottom:36px}
.kx__h{margin:0}
.kx__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(24px,3vw,40px);align-items:start}
.kx__form{background:#fff;color:var(--text);border-radius:var(--r);padding:clamp(24px,3vw,44px)}
.kx__form .h2{margin-top:0}
.kx__form .fcard{margin-top:22px;border-radius:var(--r)}
.kx__info{display:grid;gap:18px}
.ccard--solid{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.ccard--solid h2{margin-top:0}
.badges{display:flex;gap:16px;align-items:center}
.badges img{width:120px;height:auto}
.kx__map{border-radius:var(--r);overflow:hidden;height:240px}
.thanks{background:#fff;color:var(--text);border-radius:var(--r);padding:clamp(28px,4vw,56px)}
.thanks__ic{display:flex;width:64px;height:64px;border-radius:50%;background:var(--bm-yellow);color:var(--bm-ink);align-items:center;justify-content:center;margin-bottom:22px}
.thanks__ic .i{width:30px;height:30px}
.thanks .h2{margin-top:0}
.thanks .hero__cta{margin-top:28px}
.thanks .tel{color:var(--bm-ink)}

/* ---- legal / info document ---- */
.doc{padding:clamp(124px,12vw,170px) 0 clamp(64px,7vw,96px);background:#fff}
.doc .crumbs{color:var(--muted)}
.doc__head{max-width:860px;margin:0 auto 40px}
.doc__h{color:var(--bm-ink);margin:0}
.doc__body{max-width:860px;margin:0 auto;font-size:16.5px}
.doc__body h2{font-size:clamp(22px,2vw,28px);line-height:1.25;color:var(--bm-ink);margin:40px 0 14px}
.doc__body h3,.doc__body h4{font-size:19px;color:var(--bm-ink);margin:28px 0 10px}
.doc__body a{color:var(--bm-blue);text-decoration:underline;word-break:break-word}
.doc__body table{width:100%;border-collapse:collapse;font-size:15px;margin:16px 0;display:block;overflow-x:auto}
.doc__body td,.doc__body th{border:1px solid var(--line);padding:8px 10px;vertical-align:top}
.pf-doc .hdr--over:not(.is-scrolled),.pf-doc .hdr--over:not(.is-scrolled) a{color:var(--bm-ink)}
.pf-doc .hdr--over:not(.is-scrolled) .logo img{filter:none}

/* ---- responsive ---- */
@media (max-width:1180px){.svc-nav__list{grid-template-columns:repeat(4,1fr)}}
@media (max-width:1080px){.svc-feats__grid{grid-template-columns:1fr 1fr}.ref-gal .gal__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){
  .svc-intro__in,.split__in,.rol-why__in,.ref-video__in,.kx__grid,.mat{grid-template-columns:1fr}
  .split--flip .split__media{order:0}
  .svc-intro__ph--1{display:none}.svc-intro__ph--0{aspect-ratio:4/3}
  .numlist,.svc-mats__grid,.ba__grid{grid-template-columns:1fr}
  .mat__img img{aspect-ratio:16/10}
  .ybox__btns{width:100%}
}
@media (max-width:700px){
  .phero .hero__in{padding-top:112px;padding-bottom:56px}
  .phero__h{margin:16px 0 18px}
  .svc-feats__grid{grid-template-columns:1fr}
  .svc-nav__list{grid-template-columns:repeat(2,1fr)}
  .ref-gal .gal__grid{grid-template-columns:repeat(2,1fr)}
  .v-site .gal__tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.v-site .gal__tabs button{flex:none}
  .ybox__btns .btn{width:100%}
  .kx{padding-top:108px}
  .badges img{width:96px}
  .doc{padding-top:108px}
}

.ccard__call{display:flex;align-items:center;gap:14px;margin-top:22px;padding:14px 18px;border-radius:16px;background:var(--bm-yellow);color:var(--bm-ink)}
.ccard__call .i{width:26px;height:26px}
.ccard__call span{display:grid;font-weight:600;font-size:15px}.ccard__call b{font-size:13px;font-weight:600;opacity:.75}
.doc__foot{max-width:860px;margin:48px auto 0;display:flex}
/* sub-pages: footer column links meet the 24px tap-target minimum on touch screens (home baseline untouched) */
@media (max-width:700px){.v-site .ftr__in ul a,.v-site .ftr__in li a{display:inline-block;padding:4px 0;min-height:26px}}
.numlist h3 a{color:inherit;text-decoration:underline;text-decoration-color:var(--bm-yellow);text-decoration-thickness:2px;text-underline-offset:4px}.numlist h3 a:hover{color:var(--bm-blue)}
.numlist h3 a{display:inline-block;padding:3px 0;min-height:26px}
