/* Service page forms (2026-11-02): the line under the popup heading, five ways of contact in one wrapping row */
.placeholder .popup-form .fn-note{margin:-16px 0 31px;font-size:14px;line-height:1.5;color:rgba(255,255,255,.8)}
.light .placeholder .popup-form .fn-note{color:#151515}
.fn-note .fn-pkg-line{display:block;margin-bottom:6px}
.fn-note .fn-pkg-line:empty{display:none}
@media screen and (min-width:768px){
  .form .tab-holder .tab-control.fn-five{display:flex;flex-wrap:wrap;column-gap:20px}
}
.request .contact-list .fn-wa{margin-left:14px}

/* Funnel preview (Dzlive::funnel): the request under the page title, per package, and the thin bar on phones */
.fn-hero{margin-top:28px}
.fn-hero .fn-price{display:none}
.fn-pkg{margin:18px 0 34px;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}
.fn-bar{position:fixed;left:45px;right:0;bottom:0;z-index:50;display:none;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:rgba(21,21,21,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:.5px solid rgba(255,255,255,.2);transform:translateY(100%);transition:transform .25s ease-out}
.fn-bar .fn-bar-price{font-size:13px;line-height:1.3;color:rgba(255,255,255,.8);min-width:0}
.fn-bar .btn-primary{flex:none;margin-left:auto}
.fn-bar.is-on{transform:none}
.light .fn-bar{background:rgba(255,255,255,.8);border-top-color:rgba(21,21,21,.2)}
.light .fn-bar .fn-bar-price{color:#151515}
body.popup-open .fn-bar{transform:translateY(100%)}
@media screen and (max-width:767px){
  .fn-hero .fn-price{display:block;margin-bottom:14px;font-size:14px;color:rgba(255,255,255,.8)}
  .fn-bar{display:flex}
}

/* Long service intros in two columns from 1024px, the left edge on the title (owner, 2026-11-02: a long sheet); short ones stay one centred column */
@media screen and (min-width:1024px){
  .service-page .service-info .text-col.text-col--two{max-width:none;margin:0 0 48px;column-count:2;column-gap:64px}
  .text-col--two h2,.text-col--two h3{break-after:avoid;-webkit-column-break-after:avoid}
  .text-col--two h2:first-of-type{margin-top:0}
  .text-col--two p,.text-col--two ul,.text-col--two .fn-pkg{break-inside:avoid;-webkit-column-break-inside:avoid}
  .text-col--two h3+p{break-after:avoid;-webkit-column-break-after:avoid}
}

/* Interior page rebuilt as a sales page (Dzlive::serviceV2, preview only, 2026-11-02): same black, hairlines and .btn-primary */
.fnv2-lead{margin-top:18px;max-width:560px;font-size:16px;line-height:1.5;color:rgba(255,255,255,.8)}
.light .fnv2-lead{color:#151515}
.fnv2-note{margin-top:18px;font-size:13px;line-height:1.5;color:rgba(255,255,255,.6)}
.light .fnv2-note{color:#646464}
.service-page .service-info .text-col.fnv2-empty{margin:0;min-height:0}
.fnv2-sec-h{font-weight:400;margin-bottom:40px}
.fnv2-works{padding-top:70px;padding-bottom:30px}
.fnv2-works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}
.fnv2-work{display:block;color:inherit;text-decoration:none}
.fnv2-work .img-holder{position:relative;aspect-ratio:3/2;overflow:hidden;background:#151515}
.fnv2-work .img-holder img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fnv2-work h3{margin-top:18px;font-size:18px;line-height:1.3;font-weight:400;color:rgba(255,255,255,.8)}
.fnv2-work p{margin-top:6px;font-size:14px;line-height:1.4;color:#939393}
.light .fnv2-work h3{color:#151515}
.light .fnv2-work .img-holder{background:#eee}
.fnv2-more{margin-top:36px;font-size:14px;line-height:1.9;color:#939393}
.fnv2-more a{color:rgba(255,255,255,.8);margin-right:18px;white-space:nowrap;border-bottom:.5px solid rgba(255,255,255,.3)}
.light .fnv2-more a{color:#151515;border-bottom-color:rgba(21,21,21,.3)}
.fnv2-pk{padding-top:70px}
.service-page .service-info .text-col.fnv2-wide{max-width:none;margin:0 0 48px}
.fnv2-pk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto auto auto auto}
.fnv2-p{display:grid;grid-template-rows:subgrid;grid-row:span 5;padding:0 32px;border-left:.5px solid rgba(255,255,255,.2)}
.fnv2-p:first-child{padding-left:0;border-left:0}
.fnv2-p:last-child{padding-right:0}
.light .fnv2-p{border-left-color:rgba(21,21,21,.2)}
.service-page .service-info .text-col .fnv2-p h3{margin:0 0 14px;font-size:14px;letter-spacing:.05em;font-weight:500;color:rgba(255,255,255,.8)}
.light .service-page .service-info .text-col .fnv2-p h3{color:#151515}
.fnv2-p-price{margin:0 0 18px!important;font-size:32px;line-height:1.1;font-weight:300;color:rgba(255,255,255,.8)}
.light .fnv2-p-price{color:#151515}
.fnv2-p-lead{margin:0 0 22px!important;font-size:14px;line-height:1.5}
.fnv2-p .btn-primary{width:100%;max-width:275px;margin-bottom:28px;align-self:start}
.fnv2-toggle{display:none;background:none;border:0;padding:0;margin:0 0 8px;color:rgba(255,255,255,.8);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.light .fnv2-toggle{color:#151515}
.fnv2-why{padding-top:70px}
@media screen and (max-width:1023px){
  .fnv2-pk-grid{display:block}
  .fnv2-p,.fnv2-p:first-child,.fnv2-p:last-child{display:block;padding:0 0 36px;border-left:0}
  .fnv2-p .btn-primary{max-width:234px}
}
@media screen and (max-width:767px){
  .fnv2-lead{font-size:14px;margin-top:12px}
  .fnv2-works{padding-top:48px}
  .fnv2-works-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .fnv2-pk{padding-top:48px}
  .fnv2-why{padding-top:40px}
  .is-cut{max-height:var(--fnv2-cut,190px);overflow:hidden}
  .is-cut+.fnv2-toggle,.is-open+.fnv2-toggle{display:inline-block}
}

/* v2 fine tuning */
.service-info:has(.fnv2-empty){padding-bottom:0;margin-bottom:0;min-height:0}
.service-page .service-info .text-col.fnv2-empty{display:none}
.fnv2-works{display:block;padding-top:64px}
.fnv2-more{display:block}
.fnv2-more span{margin-right:18px}
.fnv2-more a{white-space:normal;display:inline-block}
.fnv2-sec-h{color:rgba(255,255,255,.8)}
.light .fnv2-sec-h{color:#151515}
.service-page .service-info .text-col .fnv2-p-price{font-size:32px;line-height:1.1;font-weight:300;color:rgba(255,255,255,.8);margin:0 0 18px}
.light .service-page .service-info .text-col .fnv2-p-price{color:#151515}
.service-page .service-info .text-col .fnv2-p .btn-primary .text{margin:0}
.service-page .service-info .text-col.fnv2-pk-grid{margin-bottom:0;width:100%}
@media screen and (max-width:767px){.fnv2-works{padding-top:40px}}
@media screen and (max-width:767px){.fnv2-lead{max-width:250px}}
.service-page .service-info .text-col .fnv2-p .btn-primary .text{margin:0;line-height:1.5;font-size:inherit;color:inherit}
.fnv2-p .btn-primary{width:275px;max-width:100%}
@media screen and (max-width:1199px){.fnv2-p .btn-primary{width:234px}}

/* Packages: the same rows in each column, what a package does not include is dark grey; below 1024px the columns stack and those rows are hidden */
.service-page .service-info .text-col .fnv2-p li.is-off{opacity:.35}
.fnv2-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media screen and (max-width:1023px){.service-page .service-info .text-col .fnv2-p li.is-off{display:none}}
/* Stages: the arrows loop, so neither of them ever looks switched off */
.service-stages .swiper-navigation .arrow.disabled path{fill:#fff}
.light .service-stages .swiper-navigation .arrow.disabled path{fill:#151515}

/* Package columns of one width, so the same rows wrap alike and stay level across the three columns */
@media screen and (min-width:1024px){
  .fnv2-pk-grid{column-gap:64px}
  .fnv2-p,.fnv2-p:first-child,.fnv2-p:last-child{padding:0;border-left:0;position:relative}
  .fnv2-p+.fnv2-p::before{content:"";position:absolute;left:-32px;top:0;bottom:0;border-left:.5px solid rgba(255,255,255,.2)}
  .light .fnv2-p+.fnv2-p::before{border-left-color:rgba(21,21,21,.2)}
}

/* The gallery arrows loop too (owner, 2026-11-02) */
.sg-arrow.disabled{opacity:1;pointer-events:auto;cursor:pointer}
.svc-gallery .sg-arrow.disabled path{fill:#fff}
.light .svc-gallery .sg-arrow.disabled path{fill:#151515}

/* The first screen lies on photos, some of them bright: the line, the price and the button text stay readable (2026-11-02) */
.fnv2-lead,.fn-hero .fn-price,.fn-hero .btn-primary .text{text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 16px rgba(0,0,0,.6)}

/* Minimum order under the packages (2026-11-02) */
.fnv2-pk .fnv2-note{margin-top:32px}
