/* Flexiguard planning entry points. Scoped so existing site components retain their styles. */
.fg-hero-link{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:24px;color:#fff;font-weight:600;font-size:1rem;text-decoration:underline;text-underline-offset:5px}
.fg-hero-link:hover{color:#cbd5e1}
.fg-hero-link small{flex-basis:100%;font-size:.8125rem;font-weight:400;color:#cbd5e1;line-height:1.6;text-decoration:none}
.fg-hero-link>span{font-size:1.25rem;text-decoration:none}
.fg-configurator{--fg-navy:#0f2137;--fg-ink:#21364c;--fg-steel:#2563eb;color:var(--fg-ink)}
.fg-configurator-copy,.fg-configurator-actions{min-width:0}
.fg-configurator-eyebrow{margin:0 0 14px;font-size:.75rem;font-weight:600;letter-spacing:.13em;color:#3b5d7b;line-height:1.5}
.fg-configurator-copy :is(h2,h3){margin:0 0 18px;color:var(--fg-navy);line-height:1.2}
.fg-configurator-copy>p:not(.fg-configurator-eyebrow){max-width:650px;line-height:1.75}
.fg-configurator-button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;max-width:100%;min-height:48px;padding:13px 20px;background:var(--fg-steel,#2563eb);border:1px solid var(--fg-steel,#2563eb);border-radius:3px;color:#fff;font-size:.9375rem;font-weight:600;line-height:1.5;text-decoration:none;transition:background-color .2s,border-color .2s}
.fg-configurator-button:hover{background:#1d4ed8;border-color:#1d4ed8;color:#fff}
.fg-configurator-button>span{flex-shrink:0;font-size:1.25rem;line-height:1}
.fg-configurator-button:focus-visible,.fg-hero-link:focus-visible,.fg-configurator-hero:focus-visible{outline:3px solid #7da9e8;outline-offset:4px}
.fg-configurator-note{margin:12px 0 0;color:#53657a;font-size:.8125rem;line-height:1.6}
.fg-configurator--feature{padding:76px 0;background:var(--fg-navy);border-top:1px solid #243b52;border-bottom:1px solid #243b52;color:#e2e8f0}
.fg-configurator-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;align-items:center}
.fg-configurator--feature .fg-configurator-eyebrow{color:#9fb6cb}
.fg-configurator--feature .fg-configurator-copy :is(h2,h3){color:#fff;font-size:clamp(1.875rem,3.1vw,2.625rem);font-weight:650}
.fg-configurator--feature .fg-configurator-copy>p:not(.fg-configurator-eyebrow){color:#c2cfdb;font-size:1rem}
.fg-configurator-steps{list-style:none;margin:26px 0 30px;padding:0}
.fg-configurator-steps li{display:flex;gap:17px;padding:17px 0;border-top:1px solid #34475b;line-height:1.5}
.fg-configurator-steps li>span{flex:0 0 24px;padding-top:2px;color:#91a9c1;font-size:.75rem;font-variant-numeric:tabular-nums}
.fg-configurator-steps li>div{min-width:0}
.fg-configurator-steps strong{display:block;color:#f1f5f9;font-size:.9375rem;font-weight:600}
.fg-configurator-steps p{margin:6px 0 0;color:#bdcad7;font-size:.875rem;line-height:1.65}
.fg-configurator--feature .fg-configurator-note{color:#a9bacb}
.fg-configurator-preview{min-width:0;margin:0;background:#f1f4f6;border:1px solid #647588;border-radius:3px;overflow:hidden}
.fg-configurator-preview-heading{display:flex;justify-content:space-between;gap:16px;padding:16px 20px;background:#e1e7ed;border-bottom:1px solid #c4ced7;color:#405469;font-size:.625rem;font-weight:600;letter-spacing:.1em}
.fg-configurator-diagram{display:block;width:100%;height:auto}
.fg-configurator-diagram text{font-family:var(--font-primary,Arial,sans-serif);font-size:12px;fill:#52677a}
.fg-plan-zone-one,.fg-plan-zone-two{fill:none;stroke-width:5;stroke-linejoin:round;stroke-linecap:square}
.fg-plan-zone-one{stroke:#294d70}
.fg-plan-zone-two{stroke:#4d80b5}
.fg-plan-gate{fill:none;stroke:#294d70;stroke-width:4;stroke-dasharray:7 4}
.fg-plan-corners{fill:#f1f4f6;stroke:#405f7f;stroke-width:2}
.fg-plan-supply{fill:none;stroke:#9d651e;stroke-width:1.7;stroke-dasharray:6 4}
.fg-plan-analyser rect{fill:#203b56;stroke:#fff;stroke-width:1}
.fg-configurator-diagram .fg-plan-analyser text{font-size:9px;fill:#fff;font-weight:600}
.fg-configurator-diagram .fg-plan-power-label{fill:#8b591b;font-size:11px}
.fg-configurator-diagram .fg-plan-area-label{font-size:10px;letter-spacing:.06em;fill:#5c7388}
.fg-configurator-diagram .fg-plan-caption{font-size:10px;fill:#687a8c}
.fg-configurator-preview figcaption{padding:18px 20px;margin:0;border-top:1px solid #cbd5df;background:#e8edf2;color:#425970;font-size:.8125rem;line-height:1.65}
/* Reusable strip for product, advice and service pages. */
.fg-configurator:not(.fg-configurator--feature){display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,280px);gap:32px;align-items:center;margin:40px 0;padding:30px 32px;border-top:2px solid #365c83;border-bottom:1px solid #cbd5e1;background:#edf2f6}
.fg-configurator:not(.fg-configurator--feature) .fg-configurator-copy :is(h2,h3){font-size:clamp(1.375rem,2.3vw,1.875rem);margin-bottom:12px}
.fg-configurator:not(.fg-configurator--feature) .fg-configurator-copy>p:last-child{margin-bottom:0}
.fg-configurator:not(.fg-configurator--feature) .fg-configurator-eyebrow{margin-bottom:10px;font-size:.6875rem}
.fg-configurator:not(.fg-configurator--feature) .fg-configurator-actions{justify-self:end}
.fg-configurator-points{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.8125rem;color:#425c73}
.fg-configurator-points li{padding-left:12px;position:relative}
.fg-configurator-points li:before{content:"";position:absolute;left:0;top:.65em;width:4px;height:4px;background:#547b9f}
@media(max-width:1000px){
  .fg-configurator-layout{gap:36px}
  .fg-configurator--feature{padding:56px 0}
}
@media(max-width:760px){
  .fg-configurator-layout{grid-template-columns:minmax(0,1fr);gap:32px}
  .fg-configurator:not(.fg-configurator--feature){grid-template-columns:minmax(0,1fr);gap:22px;padding:25px 22px;margin:30px 0}
  .fg-configurator:not(.fg-configurator--feature) .fg-configurator-actions{justify-self:start}
  .fg-configurator--feature{padding:44px 0}
  .fg-configurator-steps{margin-bottom:24px}
  .fg-configurator-preview{max-width:620px}
}
@media(max-width:420px){
  .fg-configurator-button{gap:16px;padding:12px 16px;font-size:.875rem}
  .fg-configurator-preview-heading{padding:14px;font-size:.5625rem}
  .fg-configurator-preview figcaption{padding:14px;font-size:.75rem}
}
@media print{
  .fg-configurator--feature{background:#fff;color:#21364c}
  .fg-configurator--feature .fg-configurator-copy :is(h2,h3),.fg-configurator--feature .fg-configurator-steps strong{color:#21364c}
  .fg-configurator--feature p,.fg-configurator-steps p,.fg-configurator--feature .fg-configurator-note{color:#475569}
}
