/* Production component styles. One background; one shared shadow; no studio scaling. */
.ngenco-ppf {
  --ppf-navy:#00212b; --ppf-glow:#083542; --ppf-accent:#1cafbf;
  --ppf-text:#f7fbfc; --ppf-muted:#c1d3d9; --ppf-line:rgba(160,208,221,.3);
  box-sizing:border-box; position:relative; isolation:isolate;
  padding:58px 40px 56px; color:var(--ppf-text);
  font-family:DIN,Helvetica,Arial,sans-serif; font-size:17px; line-height:1.55;
  background-color:var(--ppf-navy);
  background-image:radial-gradient(ellipse 780px 500px at calc(50% + 260px) 590px,var(--ppf-glow) 0%,var(--ppf-navy) 100%);
  background-repeat:no-repeat;
}
.ngenco-ppf *, .ngenco-ppf *::before, .ngenco-ppf *::after { box-sizing:border-box; }
.ngenco-ppf [hidden] { display:none !important; }
.ngenco-ppf h2, .ngenco-ppf h3, .ngenco-ppf h4, .ngenco-ppf p, .ngenco-ppf figure { margin:0; }
.ngenco-ppf button, .ngenco-ppf select { font:inherit; }
.ngenco-ppf button { cursor:pointer; }
.ngenco-ppf :focus-visible { outline:3px solid #d2faff; outline-offset:5px; }
.ngenco-ppf .ppf-container { max-width:1360px; width:100%; margin-inline:auto; }
.ngenco-ppf .ppf-section-heading { text-align:center; margin-bottom:48px; }
.ngenco-ppf .ppf-section-heading h2 { font-size:clamp(28px,3.05vw,44px); line-height:1.12; font-weight:750; letter-spacing:-.025em; }
.ngenco-ppf .ppf-section-heading h2 span { color:var(--ppf-accent); }
.ngenco-ppf .ppf-section-heading p { margin-top:14px; color:var(--ppf-muted); font-size:20px; }
.ngenco-ppf .ppf-tabs { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.ngenco-ppf .ppf-tab { position:relative; min-height:68px; padding:12px 14px; border:1px solid #557079; border-radius:6px; color:var(--ppf-text); background:transparent; line-height:1.2; font-size:17px; }
.ngenco-ppf .ppf-tab[aria-selected="true"] { background:var(--ppf-accent); color:#001f28; border-color:var(--ppf-accent); font-weight:700; }
.ngenco-ppf .ppf-tab:hover { border-color:#98e4ee; }
.ngenco-ppf .ppf-popular { position:absolute; top:-24px; left:50%; transform:translateX(-50%); color:#65dbe7; white-space:nowrap; font-size:12px; font-weight:500; }
.ngenco-ppf .ppf-select-wrap { display:none; }
.ngenco-ppf .ppf-panel { display:grid; grid-template-columns:minmax(0,.35fr) minmax(0,.65fr); grid-template-rows:auto auto 1fr; grid-template-areas:"heading art" "copy art" "actions art"; gap:22px 32px; margin-top:48px; }
.ngenco-ppf .ppf-package-heading { grid-area:heading; min-height:198px; }
.ngenco-ppf .ppf-package-heading h3 { font-size:clamp(36px,3.6vw,52px); line-height:1.08; font-weight:750; letter-spacing:-.025em; }
.ngenco-ppf .ppf-price { margin-top:14px !important; line-height:1.1; }
.ngenco-ppf .ppf-price span { display:block; margin-bottom:5px; font-size:19px; }
.ngenco-ppf .ppf-price strong { display:block; font-size:48px; letter-spacing:-.025em; font-weight:750; }
.ngenco-ppf .ppf-stage { grid-area:art; align-self:start; position:relative; width:100%; aspect-ratio:1020 / 660; min-width:0; }
.ngenco-ppf .ppf-ground, .ngenco-ppf .ppf-vehicle-picture { position:absolute; display:block; width:100%; height:100%; inset:0; }
.ngenco-ppf .ppf-ground { object-fit:contain; z-index:0; pointer-events:none; }
.ngenco-ppf .ppf-vehicle-picture { z-index:1; }
.ngenco-ppf .ppf-vehicle { display:block; width:100%; height:100%; object-fit:contain; max-width:none; }
.ngenco-ppf .ppf-callout-lines, .ngenco-ppf .ppf-callout-labels, .ngenco-ppf .ppf-swatches { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:2; }
.ngenco-ppf .ppf-callout-lines { overflow:visible; fill:none; stroke:#65e1ee; stroke-width:1.35; }
.ngenco-ppf .ppf-callout-lines path, .ngenco-ppf .ppf-callout-lines circle { vector-effect:non-scaling-stroke; }
.ngenco-ppf .ppf-callout-lines circle { fill:#1cafbf; stroke:#dcfcff; }
.ngenco-ppf .ppf-callout-label { position:absolute; font-size:13px; line-height:1.25; font-weight:500; letter-spacing:.025em; color:#f1fbfd; }
.ngenco-ppf .ppf-swatch { position:absolute; width:54px; height:54px; transform:translate(-50%,-50%); }
.ngenco-ppf .ppf-swatch img { position:absolute; inset:0; width:100%; height:100%; }
.ngenco-ppf .ppf-swatch span { position:absolute; top:100%; left:50%; transform:translateX(-50%); margin-top:4px; white-space:nowrap; color:var(--ppf-text); font-size:12px; line-height:1.2; }
.ngenco-ppf .ppf-copy { grid-area:copy; color:var(--ppf-muted); min-width:0; }
.ngenco-ppf .ppf-copy h4 { font-size:17px; color:#55d8e5; line-height:1.3; margin-bottom:8px; }
.ngenco-ppf .ppf-copy p { line-height:1.55; }
.ngenco-ppf .ppf-more { margin-top:12px; }
.ngenco-ppf .ppf-more summary { cursor:pointer; color:#9de9f0; text-decoration:underline; text-underline-offset:3px; font-size:15px; }
.ngenco-ppf .ppf-more p { margin-top:10px; }
.ngenco-ppf .ppf-actions { grid-area:actions; align-self:start; }
.ngenco-ppf .ppf-duration { display:flex; align-items:center; gap:10px; margin-bottom:17px !important; font-size:17px; color:var(--ppf-muted); }
.ngenco-ppf .ppf-duration svg { width:28px; height:28px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; }
.ngenco-ppf .ppf-enquire { display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:58px; min-width:260px; padding:14px 25px; border:1px solid transparent; border-radius:6px; background:var(--ppf-accent); color:#001f28; font-weight:700 !important; }
.ngenco-ppf .ppf-enquire:hover { background:#52ceda; }
.ngenco-ppf .ppf-enquire svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.7; }
.ngenco-ppf .ppf-enquiry-feedback { margin-top:12px !important; font-size:14px; }
.ngenco-ppf .ppf-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 32px; list-style:none; padding:28px 0 0; margin:34px 0 0; border-top:1px solid var(--ppf-accent); }
.ngenco-ppf .ppf-benefits li { display:flex; align-items:flex-start; gap:17px; min-width:0; line-height:1.45; font-size:16px; }
.ngenco-ppf .ppf-benefits li:not(:nth-child(3n+1)) { border-left:1px solid var(--ppf-line); padding-left:28px; }
.ngenco-ppf .ppf-benefits svg { width:33px; height:33px; flex:none; fill:none; stroke:var(--ppf-accent); stroke-width:2; }
#ppf-dark.ngenco-ppf .ppf-sr-only { position:absolute; width:1px !important; height:1px; padding:0; margin:-1px !important; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (min-width:600px) and (max-width:1099px) {
  .ngenco-ppf { padding:42px 32px; background-image:radial-gradient(ellipse 650px 450px at 60% 740px,var(--ppf-glow),var(--ppf-navy)); }
  .ngenco-ppf .ppf-section-heading { margin-bottom:44px; }
  .ngenco-ppf .ppf-section-heading p { font-size:18px; }
  .ngenco-ppf .ppf-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .ngenco-ppf .ppf-tab { font-size:16px; min-height:64px; }
  .ngenco-ppf .ppf-panel { grid-template-columns:minmax(0,1fr) minmax(220px,.52fr); grid-template-rows:auto auto auto; grid-template-areas:"heading heading" "art art" "copy actions"; margin-top:36px; gap:25px 28px; }
  .ngenco-ppf .ppf-package-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:25px; min-height:94px; }
  .ngenco-ppf .ppf-package-heading h3 { font-size:40px; min-height:0; max-width:70%; }
  .ngenco-ppf .ppf-price { margin-top:0 !important; text-align:right; flex:none; }
  .ngenco-ppf .ppf-price strong { font-size:40px; }
  .ngenco-ppf .ppf-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .ngenco-ppf .ppf-benefits li:not(:nth-child(3n+1)) { border-left:0; padding-left:0; }
  .ngenco-ppf .ppf-benefits li:nth-child(even) { border-left:1px solid var(--ppf-line); padding-left:24px; }
  .ngenco-ppf .ppf-enquire { min-width:0; width:100%; padding-inline:18px; }
}
@media (max-width:599px) {
  .ngenco-ppf { padding:32px 20px; font-size:16px; background-image:radial-gradient(ellipse 340px 270px at 55% 650px,var(--ppf-glow),var(--ppf-navy)); }
  .ngenco-ppf .ppf-section-heading { margin-bottom:25px; }
  .ngenco-ppf .ppf-section-heading h2 { font-size:29px; line-height:1.12; }
  .ngenco-ppf .ppf-section-heading p { margin-top:12px; font-size:16px; line-height:1.5; }
  .ngenco-ppf .ppf-tabs { display:none; }
  .ngenco-ppf .ppf-select-wrap { display:block; }
  .ngenco-ppf .ppf-select-wrap label { display:block; margin-bottom:8px; font-size:14px; color:var(--ppf-muted); }
  .ngenco-ppf .ppf-select-wrap select { display:block; width:100%; min-width:0; height:52px; border:1px solid #65dbe7; padding:10px 36px 10px 14px; border-radius:5px; color:var(--ppf-text); background:#083542; }
  .ngenco-ppf .ppf-panel { display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto; grid-template-areas:"heading" "art" "copy" "actions"; margin-top:28px; gap:22px; }
  .ngenco-ppf .ppf-package-heading { min-height:168px; }
  .ngenco-ppf .ppf-package-heading h3 { font-size:34px; max-width:none; }
  .ngenco-ppf .ppf-price { margin-top:12px !important; }
  .ngenco-ppf .ppf-price span { font-size:16px; }
  .ngenco-ppf .ppf-price strong { font-size:40px; }
  .ngenco-ppf .ppf-stage { aspect-ratio:1020 / 760; }
  .ngenco-ppf .ppf-ground, .ngenco-ppf .ppf-vehicle-picture { top:13.157894737%; height:86.842105263%; bottom:auto; }
  .ngenco-ppf .ppf-callout-label { font-size:12px; line-height:1.2; letter-spacing:0; }
  .ngenco-ppf .ppf-swatch { width:30px; height:30px; }
  .ngenco-ppf .ppf-swatch span { font-size:11px; margin-top:3px; }
  .ngenco-ppf .ppf-copy h4 { font-size:16px; }
  .ngenco-ppf .ppf-enquire { width:100%; min-width:0; }
  .ngenco-ppf .ppf-benefits { grid-template-columns:minmax(0,1fr); gap:22px; padding-top:24px; margin-top:28px; }
  .ngenco-ppf .ppf-benefits li:not(:nth-child(3n+1)) { border-left:0; padding-left:0; }
  .ngenco-ppf .ppf-benefits li { font-size:15px; gap:14px; }
  .ngenco-ppf .ppf-benefits svg { width:29px; height:29px; }
}
@media (prefers-reduced-motion:reduce) { .ngenco-ppf * { scroll-behavior:auto; } }

/* Theme integration: scoped reset of inherited service-section presentation. */
#ppf-dark.ngenco-ppf{border-radius:0;max-width:none;margin:0;width:100%;background-size:auto;scroll-margin-top:90px;}
#ppf-dark.ngenco-ppf .ppf-section-heading{float:none;width:auto;position:static;padding:0;background:none;}
#ppf-dark.ngenco-ppf h2,#ppf-dark.ngenco-ppf h3,#ppf-dark.ngenco-ppf h4{color:var(--ppf-text);text-transform:none;}
#ppf-dark.ngenco-ppf .ppf-copy h4{color:#55d8e5;}
#ppf-dark.ngenco-ppf .ppf-tab{text-transform:none;letter-spacing:normal;}
#ppf-dark.ngenco-ppf .ppf-enquire{text-decoration:none;font-size:17px;line-height:1.4;}
#ppf-dark.ngenco-ppf .ppf-enquire span{color:inherit;}
#ppf-dark.ngenco-ppf .ppf-benefits{margin-bottom:0;}
#ppf-dark.ngenco-ppf .ppf-benefits li{background:none;margin:0;}
#ppf-dark.ngenco-ppf .ppf-benefits li::before{display:none;}
#ppf-dark.ngenco-ppf .ppf-fallback details{padding:16px 0;}
body.single-services.postid-5104 #enquire{scroll-margin-top:120px;}
.ngenco-ppf .ppf-swatch>svg{position:absolute;inset:0;width:100%;height:100%;}
#ppf-dark.ngenco-ppf .ppf-copy p{font-size:17px;text-align:left;text-transform:none;line-height:1.55;padding:0;}
#ppf-dark.ngenco-ppf .ppf-price{text-align:left;text-transform:none;padding:0;}
#ppf-dark.ngenco-ppf .ppf-section-intro p{font-size:20px;text-align:center;text-transform:none;}
#ppf-dark.ngenco-ppf .ppf-duration{text-align:left;text-transform:none;padding:0;}
@media(min-width:600px) and (max-width:1099px){#ppf-dark.ngenco-ppf .ppf-price{text-align:right;}#ppf-dark.ngenco-ppf .ppf-section-intro p{font-size:18px;}}
@media(max-width:599px){#ppf-dark.ngenco-ppf .ppf-copy p,#ppf-dark.ngenco-ppf .ppf-section-intro p{font-size:16px;}}
#ppf-dark.ngenco-ppf{padding:58px 40px 56px;}
@media(min-width:600px) and (max-width:1099px){#ppf-dark.ngenco-ppf{padding:42px 32px;}}
@media(max-width:599px){#ppf-dark.ngenco-ppf{padding:32px 20px;scroll-margin-top:148px;}}
@media(min-width:1400px){#ppf-dark.ngenco-ppf{padding-inline:clamp(20px,calc((100% - 1360px)/2),40px);}}
