/*
Theme Name: Certus – Mobilny Asystent Seniora
Theme URI: https://asysta-seniora.pl
Description: Motyw potomny Twenty Twenty-Five dla firmy Certus – mobilny asystent seniora. Ciepła, spokojna typografia, duża czytelność.
Author: Vireo
Template: twentytwentyfive
Version: 2.0.0
Requires at least: 6.7
Tested up to: 7.0
Text Domain: certus
*/

/* ============================================================
   Fonts — Young Serif (display) + Hanken Grotesk (body/UI)
   self-hosted, latin + latin-ext (polskie znaki)
   ============================================================ */
@font-face{font-family:'Young Serif';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/youngserif-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Young Serif';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/youngserif-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/hankengrotesk-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/hankengrotesk-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;
  src:url('assets/fonts/hankengrotesk-500-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:500;font-display:swap;
  src:url('assets/fonts/hankengrotesk-500-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;
  src:url('assets/fonts/hankengrotesk-600-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:600;font-display:swap;
  src:url('assets/fonts/hankengrotesk-600-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:700;font-display:swap;
  src:url('assets/fonts/hankengrotesk-700-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Hanken Grotesk';font-style:normal;font-weight:700;font-display:swap;
  src:url('assets/fonts/hankengrotesk-700-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ============================================================
   Tokens (OKLCH — committed warm-green + ochre)
   ============================================================ */
:root{
  --paper:oklch(0.973 0.008 95);
  --paper-2:oklch(0.945 0.013 92);
  --ink:oklch(0.28 0.018 165);
  --ink-soft:oklch(0.45 0.02 165);
  --forest:oklch(0.33 0.045 165);
  --forest-deep:oklch(0.27 0.04 165);
  --green:oklch(0.50 0.072 165);
  --green-hover:oklch(0.42 0.07 165);
  --ochre:oklch(0.68 0.105 63);
  --line:oklch(0.88 0.012 120);
  --line-soft:oklch(0.92 0.008 110);
}

/* ============================================================
   Base
   ============================================================ */
body{ -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; color:var(--ink); }
/* kill the block-gap margin WP injects between header / main / footer */
.wp-site-blocks > *{ margin-block-start:0 !important; margin-block-end:0 !important; }
main.wp-block-group{ margin-top:0; }
:where(a){ text-underline-offset:.18em; }
:is(a,button,input,summary):focus-visible{ outline:3px solid var(--green); outline-offset:3px; border-radius:3px; }
::selection{ background:oklch(0.85 0.05 165); }
@media (prefers-reduced-motion:no-preference){
  .wp-block-button__link,.certus-nav a,.svc__row,.contact-row a{ transition:transform .25s cubic-bezier(.22,1,.36,1), background-color .25s ease, color .2s ease, border-color .25s ease; }
}

/* ============================================================
   Header
   ============================================================ */
.certus-header{ background:color-mix(in oklch, var(--paper) 88%, transparent); backdrop-filter:saturate(1.1) blur(8px); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50; }
.certus-header__in{ max-width:1240px; margin:0 auto; padding:.9rem clamp(1.15rem,5vw,3rem); display:flex; align-items:center; justify-content:space-between; gap:1rem 2rem; flex-wrap:wrap; }
.certus-brand{ display:flex; align-items:center; gap:.7rem; text-decoration:none; color:var(--ink); }
.certus-brand__mark{ width:46px; height:46px; flex:none; display:block; }
.certus-logo-img{ display:block; height:44px; width:auto; }
@media (max-width:600px){ .certus-logo-img{ height:38px; } }
.certus-brand__txt{ display:flex; flex-direction:column; line-height:1.05; }
.certus-brand__name{ font-family:'Young Serif',serif; font-size:1.32rem; color:var(--ink); }
.certus-brand__sub{ font-size:.72rem; letter-spacing:.14em; color:var(--ink-soft); text-transform:uppercase; }
.certus-nav{ display:flex; align-items:center; gap:.15rem; flex-wrap:wrap; }
.certus-nav a{ text-decoration:none; color:var(--ink); font-weight:500; font-size:1.02rem; padding:.5rem .85rem; border-radius:8px; white-space:nowrap; }
.certus-nav a:hover{ color:var(--green-hover); background:var(--paper-2); }
.certus-nav a[aria-current="page"]{ color:var(--green-hover); }
.certus-nav a[aria-current="page"]::after{ content:""; display:block; height:2px; background:var(--ochre); border-radius:2px; margin:.15rem .3rem 0; }
.certus-nav .certus-nav__tel{ margin-left:.4rem; background:var(--forest); color:var(--paper); border-radius:999px; padding:.55rem 1.2rem; font-weight:600; }
.certus-nav .certus-nav__tel:hover{ background:var(--forest-deep); color:var(--paper); }
.certus-nav .certus-nav__tel::after{ display:none; }

/* Hamburger button (mobile only) */
.certus-burger{ display:none; width:46px; height:46px; border:1px solid var(--line); background:var(--paper); border-radius:12px; cursor:pointer; padding:0; place-items:center; }
.certus-burger__box{ position:relative; width:22px; height:16px; display:block; }
.certus-burger__box span{ position:absolute; left:0; width:100%; height:2px; background:var(--ink); border-radius:2px; transition:transform .28s cubic-bezier(.22,1,.36,1), opacity .2s ease, top .28s ease; }
.certus-burger__box span:nth-child(1){ top:0; }
.certus-burger__box span:nth-child(2){ top:7px; }
.certus-burger__box span:nth-child(3){ top:14px; }
.certus-header.nav-open .certus-burger__box span:nth-child(1){ top:7px; transform:rotate(45deg); }
.certus-header.nav-open .certus-burger__box span:nth-child(2){ opacity:0; }
.certus-header.nav-open .certus-burger__box span:nth-child(3){ top:7px; transform:rotate(-45deg); }

/* ============================================================
   Buttons
   ============================================================ */
.wp-block-button__link{ font-family:'Hanken Grotesk',sans-serif; font-weight:600; border-radius:999px; padding:.9rem 1.9rem; }
.wp-block-button.is-style-outline .wp-block-button__link{ border-width:2px; }

/* ============================================================
   Hero
   ============================================================ */
.certus-hero.wp-block-cover{ min-height:clamp(500px,80vh,720px); color:var(--paper); align-items:flex-end; padding-bottom:clamp(2.5rem,6vw,5rem); }
.certus-hero .wp-block-cover__background{ background:
  linear-gradient(96deg, oklch(0.2 0.03 165 / 0.72) 0%, oklch(0.2 0.03 165 / 0.42) 38%, oklch(0.2 0.03 165 / 0) 66%),
  linear-gradient(180deg, oklch(0.2 0.03 165 / 0) 32%, oklch(0.2 0.03 165 / 0.55) 100%) !important; }
.certus-hero .wp-block-cover__image-background{ object-position:center; }
.certus-hero .wp-block-cover__inner-container{ max-width:1200px; width:100%; margin-inline:auto; }
.certus-hero__panel{ max-width:660px; }
.certus-hero__kicker{ display:inline-flex; align-items:center; gap:.55rem; font-size:.92rem; color:oklch(0.88 0.03 95); margin:0 0 1.3rem; }
.certus-hero__kicker::before{ content:""; width:26px; height:2px; background:var(--ochre); display:inline-block; }
.certus-hero h1{ color:var(--paper); margin:0 0 1.1rem; font-size:clamp(2.6rem,1.7rem+3.6vw,4.7rem); line-height:1.02; letter-spacing:-0.015em; }
.certus-hero p.certus-hero__lead{ font-size:clamp(1.2rem,1rem+.7vw,1.5rem); color:oklch(0.94 0.02 100); max-width:34ch; margin:0 0 2.1rem; line-height:1.5; }
.certus-hero .wp-block-buttons{ gap:.9rem; align-items:center; }
.certus-hero .wp-block-button__link{ background:var(--paper); color:var(--forest-deep); }
.certus-hero .wp-block-button__link:hover{ background:oklch(0.96 0.03 90); transform:translateY(-2px); }
.certus-hero .is-style-outline .wp-block-button__link{ color:var(--paper); border-color:oklch(0.9 0.02 100 / .6); background:transparent; }
.certus-hero .is-style-outline .wp-block-button__link:hover{ background:oklch(1 0 0 / .12); border-color:var(--paper); }

/* ============================================================
   Typographic rhythm for prose sections
   ============================================================ */
/* .intro wrapper keeps the constrained-layout 1200px box (do not override its max-width) */
.lead-xl{ font-size:clamp(1.5rem,1.1rem+1.6vw,2.25rem); line-height:1.28; letter-spacing:-0.015em; color:var(--ink); max-width:24ch; font-family:'Young Serif',serif; }
.lead-xl + .prose-note{ margin-top:1.2rem; }
.prose-note{ color:var(--ink-soft); max-width:56ch; }

/* ============================================================
   Services — editorial rows, NO cards
   ============================================================ */
.svc{ display:grid; grid-template-columns:minmax(240px,0.8fr) 1.5fr; gap:clamp(1.75rem,3.5vw,3.5rem); align-items:start; }
.svc__head{ position:sticky; top:6rem; }
.svc__head h2{ margin:0 0 1rem; }
.svc__rows{ display:flex; flex-direction:column; }
.svc__row{ display:grid; grid-template-columns:3.2rem 1fr; gap:1.4rem; padding:1.5rem 0; border-top:1px solid var(--line); align-items:baseline; }
.svc__row:last-child{ border-bottom:1px solid var(--line); }
.svc__n{ font-family:'Young Serif',serif; font-size:1.6rem; color:var(--ochre); line-height:1; }
.svc__row h3{ font-family:'Hanken Grotesk',sans-serif; font-weight:600; font-size:1.28rem; margin:0 0 .3rem; color:var(--ink); }
.svc__row p{ margin:0; color:var(--ink-soft); max-width:46ch; }
.svc__row:hover .svc__n{ color:var(--green); }

/* ============================================================
   Trust — image + editorial points, no boxes
   ============================================================ */
.certus-figure img{ border-radius:14px; display:block; width:100%; height:auto; }
.trust__points{ display:flex; flex-direction:column; margin-top:1.6rem; }
.trust__pt{ padding:1.3rem 0; border-top:1px solid var(--line); }
.trust__pt:last-child{ border-bottom:1px solid var(--line); }
.trust__pt h3{ font-family:'Hanken Grotesk',sans-serif; font-weight:600; font-size:1.18rem; margin:0 0 .3rem; color:var(--ink); }
.trust__pt p{ margin:0; color:var(--ink-soft); }

/* Quiet note (replaces banned side-stripe callout) */
.note-quiet{ border-top:1px solid var(--line); padding-top:1.3rem; color:var(--ink-soft); font-size:1rem; max-width:70ch; }
.note-quiet strong{ color:var(--ink); font-weight:600; }

/* ============================================================
   CTA — asymmetric full-bleed forest, giant phone
   ============================================================ */
.cta{ background:var(--forest); color:var(--paper); }
.cta__in{ display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(1.5rem,4vw,4rem); align-items:center; }
.cta h2{ color:var(--paper); margin:0 0 .7rem; }
.cta p{ color:oklch(0.9 0.02 100); margin:0; max-width:38ch; }
.cta__tel{ justify-self:end; text-align:right; }
.cta__tel a{ font-family:'Young Serif',serif; font-size:clamp(2rem,1.2rem+2.6vw,3.3rem); color:var(--paper); text-decoration:none; line-height:1; letter-spacing:-0.01em; display:inline-block; }
.cta__tel a:hover{ color:oklch(0.9 0.06 63); }
.cta__tel span{ display:block; font-family:'Hanken Grotesk',sans-serif; font-size:.95rem; color:oklch(0.82 0.03 95); margin-top:.6rem; }

/* ============================================================
   Contact
   ============================================================ */
.contact{ display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:start; }
.contact-row{ display:flex; align-items:center; gap:1rem; padding:1.4rem 0; border-top:1px solid var(--line); }
.contact-row:last-child{ border-bottom:1px solid var(--line); }
.contact-row__ico{ width:44px; height:44px; border-radius:50%; background:var(--paper-2); color:var(--green); display:grid; place-items:center; flex:none; }
.contact-row__ico svg{ width:21px; height:21px; }
.contact-row__label{ font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); }
.contact-row a{ font-family:'Young Serif',serif; font-size:1.55rem; color:var(--ink); text-decoration:none; }
.contact-row a:hover{ color:var(--green); }
.company-meta{ color:var(--ink-soft); line-height:1.9; }
.company-meta strong{ color:var(--ink); font-weight:600; }
.company-meta .company-meta__name{ font-family:'Young Serif',serif; font-size:1.2rem; color:var(--ink); display:block; margin-bottom:.4rem; }

/* ============================================================
   Regulamin (legal)
   ============================================================ */
.regulamin-doc{ max-width:760px; }
.regulamin-doc .reg-chapter{ font-family:'Hanken Grotesk',sans-serif; font-size:.95rem; text-transform:uppercase; letter-spacing:.09em; color:var(--green); margin:2.8rem 0 .3rem; padding-bottom:.5rem; border-bottom:1px solid var(--line); font-weight:700; }
.regulamin-doc .reg-section{ font-family:'Young Serif',serif; font-size:1.5rem; margin:2rem 0 .6rem; color:var(--ink); }
.regulamin-doc p{ color:oklch(0.38 0.02 165); }
.regulamin-doc .reg-list{ color:oklch(0.38 0.02 165); padding-left:1.25rem; }
.regulamin-doc .reg-list li{ margin:.3rem 0; }

.reg-accept{ margin:3rem 0 1rem; background:var(--paper-2); border:1px solid var(--line); border-radius:14px; padding:1.8rem; }
.reg-accept__row{ display:flex; align-items:flex-start; gap:.85rem; }
.reg-accept input[type="checkbox"]{ width:1.45rem; height:1.45rem; margin-top:.15rem; accent-color:var(--green); flex:none; cursor:pointer; }
.reg-accept label{ font-weight:500; color:var(--ink); cursor:pointer; }
.reg-accept__btn{ margin-top:1.2rem; font-family:'Hanken Grotesk',sans-serif; font-weight:600; color:var(--paper); background:var(--green); border:0; border-radius:999px; padding:.85rem 2rem; cursor:pointer; }
.reg-accept__btn:hover:not(:disabled){ background:var(--green-hover); }
.reg-accept__btn:disabled{ background:oklch(0.7 0.03 165); cursor:default; }
.reg-accept__done{ display:none; margin-top:1rem; font-weight:600; color:var(--green-hover); }
.reg-accept.is-accepted .reg-accept__done{ display:block; }

/* ============================================================
   Call popup (terms-acceptance gate before dialing)
   ============================================================ */
.call-modal[hidden]{ display:none; }
.call-modal{ position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:1.25rem; }
.call-modal__backdrop{ position:absolute; inset:0; background:oklch(0.2 0.03 165 / 0.55); backdrop-filter:blur(3px); }
.call-modal__dialog{ position:relative; z-index:1; background:var(--paper); border:1px solid var(--line); border-radius:20px; padding:2.1rem 1.9rem 1.9rem; max-width:440px; width:100%; box-shadow:0 34px 70px -34px rgba(20,40,34,.7); }
@media (prefers-reduced-motion:no-preference){
  .call-modal:not([hidden]) .call-modal__dialog{ animation:callpop .28s cubic-bezier(.22,1,.36,1) both; }
  @keyframes callpop{ from{ opacity:0; transform:translateY(14px) scale(.97); } to{ opacity:1; transform:none; } }
}
.call-modal__x{ position:absolute; top:.7rem; right:.85rem; width:2.2rem; height:2.2rem; background:none; border:0; font-size:1.7rem; line-height:1; cursor:pointer; color:var(--ink-soft); border-radius:8px; }
.call-modal__x:hover{ background:var(--paper-2); color:var(--ink); }
.call-modal h2{ font-family:'Young Serif',serif; font-size:1.7rem; margin:0 0 .6rem; }
.call-modal p{ color:var(--ink-soft); margin:0 0 1.3rem; }
.call-modal__check{ display:flex; gap:.75rem; align-items:flex-start; font-weight:500; color:var(--ink); cursor:pointer; line-height:1.5; }
.call-modal__check input{ width:1.4rem; height:1.4rem; margin-top:.1rem; accent-color:var(--green); flex:none; cursor:pointer; }
.call-modal__btn{ display:block; text-align:center; margin-top:1.6rem; background:var(--green); color:var(--paper); font-family:'Hanken Grotesk',sans-serif; font-weight:600; font-size:1.1rem; border-radius:999px; padding:1rem 1.5rem; text-decoration:none; transition:background-color .2s ease; }
.call-modal__btn:hover{ background:var(--green-hover); color:var(--paper); }
.call-modal__btn[aria-disabled="true"]{ background:oklch(0.72 0.02 165); pointer-events:none; opacity:.7; }

/* ============================================================
   Footer
   ============================================================ */
.certus-footer{ background:var(--forest-deep); color:oklch(0.85 0.02 120); }
.certus-footer__in{ max-width:1240px; margin:0 auto; padding:clamp(3rem,5vw,4.5rem) clamp(1.15rem,5vw,3rem); display:grid; gap:2.5rem; grid-template-columns:1.6fr 1fr 1fr; }
.certus-footer h4{ font-family:'Hanken Grotesk',sans-serif; text-transform:uppercase; letter-spacing:.09em; font-size:.82rem; color:oklch(0.72 0.03 120); margin:0 0 1rem; }
.certus-footer a{ color:oklch(0.9 0.015 110); text-decoration:none; }
.certus-footer a:hover{ color:var(--paper); text-decoration:underline; }
.certus-footer p, .certus-footer li{ font-size:1rem; line-height:1.8; margin:.2rem 0; }
.certus-footer ul{ list-style:none; padding:0; margin:0; }
.certus-footer__brand .certus-brand__name{ color:var(--paper); }
.certus-footer__brand .certus-brand__sub{ color:oklch(0.68 0.03 120); }
.certus-footer__bottom{ border-top:1px solid oklch(1 0 0 / .1); padding:1.3rem clamp(1.15rem,5vw,3rem); font-size:.88rem; color:oklch(0.68 0.03 120); display:flex; flex-wrap:wrap; gap:.4rem 1.5rem; align-items:center; justify-content:space-between; max-width:1240px; margin:0 auto; }
.certus-footer__credit a{ color:oklch(0.82 0.04 120); }
.certus-footer__credit a:hover{ color:var(--paper); }

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width:900px){
  .svc,.contact,.cta__in{ grid-template-columns:1fr; }
  .svc__head{ position:static; }
  .cta__tel{ justify-self:start; text-align:left; }
  .certus-footer__in{ grid-template-columns:1fr 1fr; }

  /* mobile hamburger nav */
  .certus-burger{ display:inline-grid; }
  .certus-header__in{ flex-wrap:nowrap; }
  .certus-nav{
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:stretch; gap:.15rem;
    background:var(--paper); border-bottom:1px solid var(--line);
    padding:.6rem clamp(1.15rem,5vw,3rem) 1.1rem;
    box-shadow:0 16px 30px -22px rgba(20,40,34,.6);
  }
  .certus-header.nav-open .certus-nav{ display:flex; }
  .certus-nav a{ padding:.95rem .4rem; font-size:1.15rem; border-radius:10px; }
  .certus-nav a:hover{ background:var(--paper-2); }
  .certus-nav a[aria-current="page"]::after{ display:none; }
  .certus-nav a[aria-current="page"]{ background:var(--paper-2); }
  .certus-nav .certus-nav__tel{ margin:.5rem 0 0; text-align:center; padding:.85rem 1.2rem; font-size:1.1rem; }

  /* stronger, bottom-weighted hero overlay for text legibility on small screens */
  .certus-hero .wp-block-cover__background{ background:linear-gradient(180deg, oklch(0.2 0.03 165 / 0.25) 0%, oklch(0.2 0.03 165 / 0.62) 50%, oklch(0.2 0.03 165 / 0.9) 100%) !important; }
  .certus-hero .wp-block-cover__image-background{ object-position:38% center; }
}
@media (max-width:600px){
  .certus-brand__sub{ font-size:.68rem; }
  .certus-footer__in{ grid-template-columns:1fr; gap:1.8rem; }
  .contact-row a{ font-size:1.3rem; }
}
