/* Styl czterech podstron: wszystkie reguły ograniczone do .f1-page. */
.f1-page { --f1-ink:#112d48; --f1-muted:#4e6172; --f1-blue:#1d67ac; --f1-paper:#f7f6f2; --f1-line:#d9e0e5; color:var(--f1-ink); background:#fff; font-family:'Open Sans',system-ui,sans-serif; font-size:16px; line-height:1.75; }
.f1-page *, .f1-page *::before, .f1-page *::after { box-sizing:border-box; }
.f1-page :where(h1,h2,h3,p,figure) { margin:0; }
.f1-page :where(p+p) { margin-top:16px; }
.f1-page h1 { font-size:clamp(36px,4.3vw,62px); line-height:1.13; letter-spacing:-.045em; font-weight:650; max-width:780px; }
.f1-page h2 { font-size:clamp(28px,3vw,41px); line-height:1.22; letter-spacing:-.03em; font-weight:620; max-width:900px; }
.f1-page h3 { font-size:21px; line-height:1.4; letter-spacing:-.02em; font-weight:650; }
.f1-page a { color:inherit; text-underline-offset:4px; }
.f1-page a:hover { text-decoration-thickness:2px; }
.f1-page :focus-visible { outline:3px solid #1d67ac; outline-offset:5px; }
.f1-page img { display:block; max-width:100%; height:auto; }
.f1-page .f1-wrap { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.f1-page .f1-breadcrumb { font-size:12px; padding-block:26px 0; color:var(--f1-muted); }
.f1-page .f1-kicker { font-family:'IBM Plex Mono',ui-monospace,monospace; font-size:11px; line-height:1.65; font-weight:500; letter-spacing:.11em; text-transform:uppercase; color:var(--f1-blue); margin-bottom:19px; }
.f1-page .f1-hero { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:70px; padding-block:58px 74px; align-items:center; }
.f1-page .f1-hero-copy { min-width:0; }
.f1-page .f1-lead { color:var(--f1-muted); font-size:18px; line-height:1.8; margin-top:25px; max-width:680px; }
.f1-page .wp-block-buttons { display:flex; gap:12px; flex-wrap:wrap; margin-block:29px 0; }
.f1-page .wp-block-button { margin:0; }
.f1-page .f1-button a { min-height:49px; padding:13px 21px; display:inline-flex; align-items:center; justify-content:center; gap:20px; border:1px solid var(--f1-blue); border-radius:5px; background:var(--f1-blue); color:#fff; font-size:14px; line-height:1.55; font-weight:650; text-decoration:none; text-align:center; white-space:normal; }
.f1-page .f1-button a:hover { background:#124f89; }
.f1-page .f1-ghost a { background:transparent; border-color:var(--f1-line); color:var(--f1-ink); }
.f1-page .f1-ghost a:hover { background:#edf3f7; }
.f1-page .f1-meta { font-size:12px; color:var(--f1-muted); }
.f1-page .f1-hero-copy>.f1-meta { margin-top:20px; }
.f1-page .f1-side { background:#0b2b4a; color:#fff; padding:34px; border-radius:8px; box-shadow:0 18px 48px #0b2b4a12; }
.f1-page .f1-side>.f1-kicker { color:#a6c7e6; }
.f1-page .f1-side h2 { font-size:28px; max-width:310px; margin-bottom:24px; }
.f1-page .f1-side-row { display:grid; grid-template-columns:27px minmax(0,1fr); gap:16px; border-top:1px solid #ffffff28; padding-block:22px; }
.f1-page .f1-num { font-family:'IBM Plex Mono',ui-monospace,monospace; font-size:13px; color:var(--f1-blue); }
.f1-page .f1-side .f1-num { color:#9cc6ea; padding-top:4px; }
.f1-page .f1-side h3 { font-size:17px; color:#fff; }
.f1-page .f1-side-copy p { font-size:13px; color:#c6d7e6; margin-top:6px; }
.f1-page .f1-side-foot { border-top:1px solid #ffffff28; padding-top:20px; font-size:12px; color:#c6d7e6; }
.f1-page .f1-strip { padding:18px 32px; background:#edf3f8; border-top:1px solid #dce6ef; border-bottom:1px solid #dce6ef; }
.f1-page .f1-indexline { max-width:1180px; margin:auto; font-size:11px; text-align:center; color:#47617a; line-height:1.8; }
.f1-page .f1-section { padding-block:78px; scroll-margin-top:24px; }
.f1-page .f1-light { background:var(--f1-paper); }
.f1-page .f1-intro { margin-top:22px; max-width:840px; color:var(--f1-muted); font-size:17px; }
.f1-page .f1-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; margin-top:43px; }
.f1-page .f1-card { border-top:1px solid #acbbc8; padding-top:22px; }
.f1-page .f1-card .f1-num { margin-bottom:17px; }
.f1-page .f1-card h3 { margin-bottom:13px; }
.f1-page .f1-card>p:last-child { color:var(--f1-muted); font-size:15px; }
.f1-page .f1-rows { margin-top:37px; border-bottom:1px solid var(--f1-line); }
.f1-page .f1-row { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.6fr); gap:48px; padding-block:24px; border-top:1px solid var(--f1-line); }
.f1-page .f1-row h3 { font-size:18px; }
.f1-page .f1-row p { color:var(--f1-muted); font-size:15px; }
.f1-page .f1-note { margin-top:30px; border-left:3px solid var(--f1-blue); padding:16px 23px; background:#edf3f8; color:#36526c; font-size:14px; }
.f1-page .f1-steps { margin-top:38px; display:grid; grid-template-columns:1fr 1fr; gap:0 52px; }
.f1-page .f1-step { display:grid; grid-template-columns:36px minmax(0,1fr); gap:14px; border-top:1px solid var(--f1-line); padding-block:26px; }
.f1-page .f1-step .f1-num { padding-top:4px; }
.f1-page .f1-step h3 { font-size:19px; margin-bottom:10px; }
.f1-page .f1-step p:not(.f1-num) { font-size:15px; color:var(--f1-muted); }
.f1-page .f1-prices { display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:36px; max-width:890px; }
.f1-page .f1-price-card { border:1px solid var(--f1-line); background:#fff; padding:29px; border-radius:6px; }
.f1-page .f1-price { font-size:43px; line-height:1.3; font-weight:600; letter-spacing:-.04em; }
.f1-page .f1-price-card .f1-meta { margin-top:9px; }
.f1-page .f1-office-prices { max-width:none; }
.f1-page .f1-office-prices h3 { font-size:25px; margin-bottom:14px; }
.f1-page .f1-office-prices .f1-note { margin-block:20px; }
.f1-page .f1-compare { margin:35px 0 0; }
.f1-page .f1-compare table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:14px; }
.f1-page .f1-compare th,.f1-page .f1-compare td { padding:18px 16px; text-align:left; border-bottom:1px solid var(--f1-line); overflow-wrap:anywhere; }
.f1-page .f1-compare th { background:#0b2b4a; color:#fff; font-weight:600; }
.f1-page .f1-compare th:first-child { width:52%; }
.f1-page .f1-compare tr:nth-child(even) td { background:#edf3f8; }
.f1-page .f1-text-link { margin-top:23px; font-size:14px; font-weight:600; color:var(--f1-blue); }
.f1-page .f1-contact { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; margin-top:40px; }
.f1-page .f1-people { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.f1-page .f1-people img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:6px; background:#e5e9ec; }
.f1-page .f1-people figcaption { font-size:12px; padding-top:12px; line-height:1.6; }
.f1-page .f1-people figcaption strong { display:block; font-size:14px; }
.f1-page .f1-people figcaption span { display:block; color:var(--f1-muted); }
.f1-page .f1-contact-copy { font-size:14px; color:var(--f1-muted); }
.f1-page .f1-contact-copy h3 { font-size:27px; color:var(--f1-ink); margin-bottom:15px; }
.f1-page .f1-contact-copy a { color:var(--f1-blue); }
.f1-page .f1-sources { border-top:1px solid var(--f1-line); padding-top:20px; margin-top:30px; }
.f1-page .f1-source { font-size:12px; color:var(--f1-blue); margin-top:7px; overflow-wrap:anywhere; }
.f1-page .f1-narrow { max-width:950px; }
.f1-page .f1-faq-item { border-bottom:1px solid var(--f1-line); }
.f1-page h2+.f1-faq-item { margin-top:34px; border-top:1px solid var(--f1-line); }
.f1-page .f1-faq-item summary { cursor:pointer; list-style:none; padding:22px 35px 22px 0; font-size:17px; font-weight:600; position:relative; line-height:1.6; }
.f1-page .f1-faq-item summary::-webkit-details-marker { display:none; }
.f1-page .f1-faq-item summary::after { content:'+'; font-size:25px; font-weight:400; position:absolute; right:4px; top:15px; color:var(--f1-blue); }
.f1-page .f1-faq-item[open] summary::after { content:'−'; }
.f1-page .f1-faq-item>p { padding:0 40px 23px 0; font-size:15px; color:var(--f1-muted); }
.f1-page .f1-related { display:grid; grid-template-columns:1fr 1fr; gap:0 45px; margin-top:20px; }
.f1-page .f1-related p { margin:0; padding:21px 0; border-bottom:1px solid var(--f1-line); }
.f1-page .f1-related a { display:flex; justify-content:space-between; gap:20px; }
.f1-page .f1-closing { background:#0b2b4a; color:#fff; padding-block:69px; }
.f1-page .f1-close-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:65px; align-items:center; }
.f1-page .f1-closing .f1-kicker { color:#a6c7e6; }
.f1-page .f1-closing h2 { font-size:36px; }
.f1-page .f1-close-copy>p:last-child { margin-top:19px; color:#c6d7e6; font-size:15px; }
.f1-page .f1-close-action .wp-block-buttons { margin-top:0; }
.f1-page .f1-close-action .f1-button a { background:#fff; color:#133859; border-color:#fff; }
.f1-page .f1-close-action .f1-text-link { color:#c6d7e6; }
@media(max-width:960px) {
  .f1-page .f1-hero { gap:35px; grid-template-columns:1.25fr 1fr; }
  .f1-page .f1-side { padding:25px; }
  .f1-page .f1-side h2 { font-size:24px; }
  .f1-page .f1-contact { gap:30px; }
}
@media(max-width:760px) {
  .f1-page .f1-wrap { width:calc(100% - 40px); }
  .f1-page .f1-hero { grid-template-columns:1fr; padding-block:34px 45px; gap:34px; }
  .f1-page h1 { font-size:39px; }
  .f1-page .f1-lead { font-size:16px; }
  .f1-page .f1-side { padding:27px; }
  .f1-page .f1-side h2 { max-width:none; font-size:25px; }
  .f1-page .f1-side-row { padding-block:18px; }
  .f1-page .f1-section { padding-block:49px; }
  .f1-page .f1-grid, .f1-page .f1-contact, .f1-page .f1-close-grid { grid-template-columns:1fr; gap:27px; }
  .f1-page .f1-grid { margin-top:30px; }
  .f1-page .f1-row { grid-template-columns:1fr; gap:9px; }
  .f1-page .f1-steps { grid-template-columns:1fr; }
  .f1-page .f1-prices { grid-template-columns:1fr; gap:16px; }
  .f1-page .f1-price { font-size:38px; }
  .f1-page .f1-compare table { font-size:12px; }
  .f1-page .f1-compare th,.f1-page .f1-compare td { padding:14px 8px; }
  .f1-page .f1-compare th:first-child { width:46%; }
  .f1-page .f1-related { grid-template-columns:1fr; }
  .f1-page .f1-closing { padding-block:46px; }
  .f1-page .f1-closing h2 { font-size:30px; }
  .f1-page .f1-faq-item summary { font-size:16px; }
  .f1-page .f1-note { padding:16px; }
  .f1-page .f1-indexline { text-align:left; }
}
@media(prefers-reduced-motion:reduce) { .f1-page { scroll-behavior:auto; } }
/* Wspólny nagłówek: kontakt pozostaje w menu i w mobilnym pasku. */
@media(max-width:760px) { body.page-template-page-fala1 .nav-actions { display:none; } }
