/*
Theme Name: IT-Service Helm
Theme URI: https://ithelm.de
Author: IT-Service Helm (Thomas Helm)
Author URI: https://ithelm.de
Description: Block-Theme (FSE) für IT-Service Helm — Frankfurt (Oder). Eine markentreue Umsetzung der Marketing-Website auf Basis des Helm-Design-Systems: Hero, Leistungen (als eigener Inhaltstyp), Über uns und Kontaktformular mit eigenem PHP-Versand. Schrift: Archivo. Farbe: Helm-Navy #003050.
Version: 1.1.0
Requires at least: 6.4
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: it-service-helm
Tags: full-site-editing, block-templates, custom-colors, custom-menu, custom-logo, one-column, business, blog
*/

/* ============================================================================
 *  IT-Service Helm — Design-Tokens (portiert aus dem Helm-Design-System)
 * ==========================================================================*/
:root {
  /* Brand navy scale */
  --navy-50:#EFF5FA; --navy-100:#D9E7F1; --navy-200:#B0CCE0; --navy-300:#7FA9C8;
  --navy-400:#4A82AC; --navy-500:#1F5E8C; --navy-600:#0E4671; --navy-700:#053356;
  --navy-800:#03263F; --navy-900:#021A2C; --navy-950:#01101C;
  --helm-navy:#003050;

  /* Service blue */
  --blue-50:#E9F3FB; --blue-100:#CCE4F6; --blue-200:#9CCAEC; --blue-300:#62A9DC;
  --blue-400:#2E88C8; --blue-500:#1B81C4; --blue-600:#1569A3; --blue-700:#115684;

  /* Cool neutral greys */
  --gray-0:#FFFFFF; --gray-25:#FAFBFC; --gray-50:#F4F6F9; --gray-100:#EBEEF2;
  --gray-200:#DCE1E7; --gray-300:#C2C9D2; --gray-400:#9AA3AF; --gray-500:#6B7480;
  --gray-600:#4B5560; --gray-700:#343D47; --gray-800:#212931; --gray-900:#121820;

  /* Status */
  --success-50:#E7F4EC; --success-500:#1E874B; --success-600:#166B3B;
  --warning-50:#FBF1E0; --warning-500:#C77A14; --warning-600:#9E5F0E;
  --error-50:#FBEAE8; --error-500:#C2362F; --error-600:#9C2922;
  --info-50:var(--blue-50); --info-500:var(--blue-500);

  /* Semantic aliases */
  --color-bg:var(--gray-50); --color-surface:var(--gray-0);
  --color-surface-sunken:var(--gray-100);
  --color-surface-navy:var(--helm-navy); --color-surface-navy-deep:var(--navy-900);
  --text-strong:var(--navy-900); --text-body:var(--gray-700); --text-muted:var(--gray-500);
  --text-faint:var(--gray-400); --text-inverse:var(--gray-0); --text-on-navy:#D6E4F0;
  --text-brand:var(--helm-navy);
  --border:var(--gray-200); --border-strong:var(--gray-300); --border-navy:var(--navy-700);
  --brand:var(--helm-navy); --brand-hover:var(--navy-800); --brand-active:var(--navy-900);
  --interactive:var(--blue-500); --interactive-hover:var(--blue-600);
  --link:var(--blue-600); --link-hover:var(--blue-700);
  --focus-ring:color-mix(in srgb, var(--blue-500) 45%, transparent);
  --color-success:var(--success-500); --color-warning:var(--warning-500);
  --color-error:var(--error-500); --color-info:var(--info-500);

  /* Type */
  --font-display:'Archivo','Segoe UI',system-ui,-apple-system,sans-serif;
  --font-sans:'Archivo','Segoe UI',system-ui,-apple-system,sans-serif;
  --font-heading:var(--font-display);
  --font-mono:'JetBrains Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --weight-regular:400; --weight-medium:500; --weight-semibold:600;
  --weight-bold:700; --weight-heavy:800; --weight-black:900;
  --text-2xs:0.6875rem; --text-xs:0.75rem; --text-sm:0.875rem; --text-base:1rem;
  --text-md:1.125rem; --text-lg:1.25rem; --text-xl:1.5rem; --text-2xl:1.875rem;
  --text-3xl:2.5rem; --text-4xl:3.25rem; --text-5xl:4.5rem;
  --leading-none:1; --leading-tight:1.08; --leading-snug:1.25;
  --leading-normal:1.5; --leading-relaxed:1.65;
  --tracking-tighter:-0.03em; --tracking-tight:-0.015em; --tracking-normal:0;
  --tracking-wide:0.04em; --tracking-eyebrow:0.12em;
  --heading-weight:var(--weight-heavy); --eyebrow-weight:var(--weight-bold);

  /* Spacing & radius */
  --space-0:0; --space-1:0.25rem; --space-2:0.5rem; --space-3:0.75rem; --space-4:1rem;
  --space-5:1.25rem; --space-6:1.5rem; --space-8:2rem; --space-10:2.5rem; --space-12:3rem;
  --space-16:4rem; --space-20:5rem; --space-24:6rem; --space-32:8rem;
  --container-max:1200px; --container-narrow:760px; --gutter:var(--space-6);
  --radius-xs:3px; --radius-sm:5px; --radius-md:8px; --radius-lg:12px;
  --radius-xl:16px; --radius-2xl:24px; --radius-pill:999px;
  --border-width:1px; --border-width-strong:2px;

  /* Elevation & motion */
  --shadow-xs:0 1px 2px rgba(3,38,63,0.06);
  --shadow-sm:0 1px 2px rgba(3,38,63,0.06),0 2px 6px rgba(3,38,63,0.07);
  --shadow-md:0 2px 4px rgba(3,38,63,0.06),0 6px 16px rgba(3,38,63,0.10);
  --shadow-lg:0 8px 24px rgba(3,38,63,0.12),0 2px 6px rgba(3,38,63,0.08);
  --shadow-xl:0 18px 48px rgba(2,26,44,0.18);
  --ring:0 0 0 3px var(--focus-ring);
  --duration-fast:120ms; --duration-base:180ms; --duration-slow:260ms;
  --ease-standard:cubic-bezier(0.2,0.6,0.2,1);
  --ease-out:cubic-bezier(0.16,1,0.3,1); --ease-in-out:cubic-bezier(0.65,0,0.35,1);
}

/* ============================================================================
 *  Base layer
 * ==========================================================================*/
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;font-family:var(--font-sans);font-size:var(--text-base);
  line-height:var(--leading-normal);font-weight:var(--weight-regular);
  color:var(--text-body);background:var(--color-surface);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6{
  margin:0 0 0.5em;font-family:var(--font-heading);font-weight:var(--heading-weight);
  line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);
  color:var(--text-strong);text-wrap:balance;
}
h1{font-size:var(--text-4xl);font-weight:var(--weight-black);letter-spacing:var(--tracking-tighter);}
h2{font-size:var(--text-2xl);}
h3{font-size:var(--text-xl);}
h4{font-size:var(--text-lg);}
p{margin:0 0 1em;text-wrap:pretty;}
a{color:var(--link);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard);}
a:hover{color:var(--link-hover);text-decoration:underline;text-underline-offset:2px;}
:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm);}
code,kbd,pre,samp{font-family:var(--font-mono);font-size:0.9em;}
hr{border:none;border-top:var(--border-width) solid var(--border);margin:var(--space-6) 0;}
img{max-width:100%;height:auto;}
.helm-eyebrow{
  font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--eyebrow-weight);
  letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--interactive);
  display:inline-block;
}
::selection{background:var(--navy-200);color:var(--navy-900);}

/* ============================================================================
 *  Components (portiert)
 * ==========================================================================*/
/* Button */
.helm-btn{
  font-family:var(--font-sans);font-weight:600;line-height:1;white-space:nowrap;
  display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;
  transition:background var(--duration-fast) var(--ease-standard),
             border-color var(--duration-fast) var(--ease-standard),
             color var(--duration-fast) var(--ease-standard),
             transform var(--duration-fast) var(--ease-standard);
  text-decoration:none;-webkit-user-select:none;user-select:none;
}
.helm-btn:hover{text-decoration:none;}
.helm-btn:focus-visible{outline:none;box-shadow:var(--ring);}
.helm-btn:active{transform:translateY(1px);}
.helm-btn--block{display:flex;width:100%;}
.helm-btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;}
.helm-btn--sm{height:32px;padding:0 12px;font-size:var(--text-sm);}
.helm-btn--md{height:40px;padding:0 18px;font-size:var(--text-sm);}
.helm-btn--lg{height:48px;padding:0 24px;font-size:var(--text-base);}
.helm-btn--primary{background:var(--brand);color:#fff;}
.helm-btn--primary:hover{background:var(--brand-hover);color:#fff;}
.helm-btn--primary:active{background:var(--brand-active);}
.helm-btn--accent{background:var(--interactive);color:#fff;}
.helm-btn--accent:hover{background:var(--interactive-hover);color:#fff;}
.helm-btn--secondary{background:var(--color-surface);color:var(--navy-700);border-color:var(--border-strong);}
.helm-btn--secondary:hover{border-color:var(--navy-400);background:var(--navy-50);}
.helm-btn--ghost{background:transparent;color:var(--navy-700);}
.helm-btn--ghost:hover{background:var(--navy-50);}
.helm-btn--on-navy{background:transparent;color:#fff;border-color:rgba(255,255,255,.35);}
.helm-btn--on-navy:hover{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.6);}
.helm-btn__icon{display:inline-flex;align-items:center;}
.helm-btn__icon svg{width:1.05em;height:1.05em;display:block;}

/* Card */
.helm-card{
  background:var(--color-surface);border:1px solid var(--border);
  border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;
  transition:box-shadow var(--duration-base) var(--ease-standard),
             border-color var(--duration-base) var(--ease-standard),
             transform var(--duration-base) var(--ease-standard);
}
.helm-card--pad-sm{padding:var(--space-4);}
.helm-card--pad-md{padding:var(--space-6);}
.helm-card--pad-lg{padding:var(--space-8);}
.helm-card--flat{box-shadow:none;}
.helm-card--navy{background:var(--helm-navy);border-color:var(--navy-700);color:var(--text-on-navy);}

/* ServiceCard */
.helm-service{
  display:flex;flex-direction:column;gap:var(--space-3);
  background:var(--color-surface);border:1px solid var(--border);border-radius:var(--radius-lg);
  padding:var(--space-6);box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;
  transition:box-shadow var(--duration-base) var(--ease-standard),
             transform var(--duration-base) var(--ease-standard),
             border-color var(--duration-base) var(--ease-standard);
}
a.helm-service:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--navy-200);text-decoration:none;}
.helm-service__icon{
  width:52px;height:52px;border-radius:var(--radius-md);flex:none;
  display:flex;align-items:center;justify-content:center;background:var(--navy-50);color:var(--helm-navy);
}
.helm-service__icon svg{width:26px;height:26px;}
.helm-service__title{
  font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);
  color:var(--text-strong);letter-spacing:var(--tracking-tight);margin:0;
}
.helm-service__desc{font-size:var(--text-sm);color:var(--text-body);line-height:var(--leading-snug);margin:0;}
.helm-service__more{
  margin-top:auto;font-size:var(--text-sm);font-weight:600;color:var(--link);
  display:inline-flex;align-items:center;gap:6px;
}
.helm-service__more svg{width:16px;height:16px;transition:transform var(--duration-fast) var(--ease-standard);}
a.helm-service:hover .helm-service__more svg{transform:translateX(3px);}

/* Stat */
.helm-stat{display:flex;flex-direction:column;gap:2px;}
.helm-stat__value{
  font-family:var(--font-display);font-weight:900;line-height:.95;
  letter-spacing:var(--tracking-tighter);color:var(--helm-navy);
  display:flex;align-items:baseline;gap:4px;
}
.helm-stat--onnavy .helm-stat__value{color:#fff;}
.helm-stat__suffix{font-size:.45em;font-weight:800;color:var(--interactive);}
.helm-stat--onnavy .helm-stat__suffix{color:var(--blue-300);}
.helm-stat__label{
  font-family:var(--font-sans);font-weight:600;font-size:var(--text-sm);
  color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);
}
.helm-stat--onnavy .helm-stat__label{color:var(--text-on-navy);}
.helm-stat--sm .helm-stat__value{font-size:36px;}
.helm-stat--md .helm-stat__value{font-size:52px;}
.helm-stat--lg .helm-stat__value{font-size:72px;}

/* Badge */
.helm-badge{
  display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);
  font-weight:600;font-size:var(--text-xs);line-height:1;white-space:nowrap;
  padding:4px 9px;border-radius:var(--radius-pill);border:1px solid transparent;
}
.helm-badge--solid{background:var(--brand);color:#fff;}
.helm-badge--info{background:var(--blue-50);color:var(--blue-700);}
.helm-badge--navy{background:var(--navy-50);color:var(--navy-700);}

/* Field / Input / Textarea / Select / Checkbox */
.helm-field{display:flex;flex-direction:column;gap:6px;width:100%;}
.helm-field__label{font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;color:var(--text-strong);}
.helm-field__req{color:var(--error-500);margin-left:2px;}
.helm-input-wrap{
  display:inline-flex;align-items:center;gap:var(--space-2);width:100%;
  background:var(--color-surface);border:1px solid var(--border-strong);
  border-radius:var(--radius-md);padding:0 12px;height:42px;
  transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);
}
.helm-input-wrap:focus-within{border-color:var(--interactive);box-shadow:var(--ring);}
.helm-input-wrap.is-error{border-color:var(--error-500);}
.helm-input{
  flex:1 1 auto;min-width:0;border:none;outline:none;background:transparent;
  font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-strong);height:100%;
}
.helm-input::placeholder{color:var(--text-faint);}
.helm-input-affix{display:inline-flex;align-items:center;color:var(--text-muted);flex:none;}
.helm-input-affix svg{width:18px;height:18px;display:block;}
.helm-textarea{
  width:100%;font-family:var(--font-sans);font-size:var(--text-sm);
  color:var(--text-strong);background:var(--color-surface);
  border:1px solid var(--border-strong);border-radius:var(--radius-md);
  padding:10px 12px;resize:vertical;line-height:var(--leading-normal);
  transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);
}
.helm-textarea::placeholder{color:var(--text-faint);}
.helm-textarea:focus{outline:none;border-color:var(--interactive);box-shadow:var(--ring);}
.helm-select{position:relative;display:inline-flex;width:100%;}
.helm-select select{
  appearance:none;-webkit-appearance:none;width:100%;height:42px;
  font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-strong);
  background:var(--color-surface);border:1px solid var(--border-strong);
  border-radius:var(--radius-md);padding:0 38px 0 12px;cursor:pointer;
  transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);
}
.helm-select select:focus{outline:none;border-color:var(--interactive);box-shadow:var(--ring);}
.helm-select__chev{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-muted);display:flex;}
.helm-select__chev svg{width:18px;height:18px;}
.helm-check{
  display:inline-flex;align-items:flex-start;gap:10px;cursor:pointer;
  font-family:var(--font-sans);font-size:var(--text-sm);color:var(--text-body);
}
.helm-check input{position:absolute;opacity:0;width:0;height:0;}
.helm-check__box{
  flex:none;width:20px;height:20px;border-radius:var(--radius-sm);
  border:1.5px solid var(--border-strong);background:var(--color-surface);
  display:inline-flex;align-items:center;justify-content:center;color:#fff;margin-top:1px;
  transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard);
}
.helm-check__box svg{width:14px;height:14px;opacity:0;transform:scale(.6);transition:opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard);}
.helm-check input:checked + .helm-check__box{background:var(--brand);border-color:var(--brand);}
.helm-check input:checked + .helm-check__box svg{opacity:1;transform:scale(1);}
.helm-check input:focus-visible + .helm-check__box{box-shadow:var(--ring);}
.helm-check__label{padding-top:1px;line-height:1.45;}

/* Alert */
.helm-alert{
  display:flex;gap:12px;padding:14px 16px;border-radius:var(--radius-md);
  border:1px solid transparent;font-family:var(--font-sans);font-size:var(--text-sm);
  line-height:var(--leading-snug);color:var(--text-body);
}
.helm-alert__icon{flex:none;width:20px;height:20px;display:flex;}
.helm-alert__icon svg{width:20px;height:20px;}
.helm-alert__body{flex:1;min-width:0;}
.helm-alert__title{font-weight:700;color:var(--text-strong);margin-bottom:2px;}
.helm-alert--success{background:var(--success-50);border-color:#BFE3CC;}
.helm-alert--success .helm-alert__icon{color:var(--success-600);}
.helm-alert--error{background:var(--error-50);border-color:#EFC2BE;}
.helm-alert--error .helm-alert__icon{color:var(--error-600);}

/* ============================================================================
 *  Layout — Header / Hero / Sections / About / Contact / Footer
 * ==========================================================================*/
.wrap{max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6);}

/* Header */
.hd{
  position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--border);
}
.hd__inner{display:flex;align-items:center;height:74px;gap:var(--space-8);}
.hd__logo img{height:52px;width:auto;display:block;}
.hd .wp-block-site-logo{margin:0;line-height:0;flex:none;}
.hd .wp-block-site-logo img{display:block;}
.hd__rest{flex:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);}
.hd__nav{display:flex;gap:var(--space-6);}
.hd__nav a{color:var(--text-body);font-weight:600;font-size:var(--text-sm);}
.hd__nav a:hover{color:var(--helm-navy);text-decoration:none;}
.hd__actions{display:flex;align-items:center;gap:var(--space-4);}
.hd__phone{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:var(--text-sm);color:var(--helm-navy);}
.hd__phone:hover{text-decoration:none;}
.hd__burger{display:none;border:none;background:transparent;color:var(--helm-navy);font-size:24px;cursor:pointer;padding:4px;line-height:0;}
.hd__burger svg{width:26px;height:26px;}

/* Hero */
.hero{position:relative;background:var(--helm-navy);color:#fff;overflow:hidden;padding:var(--space-20) 0;}
.hero__bg{position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:520px;opacity:.06;pointer-events:none;}
.hero__bg img{width:100%;display:block;}
.hero__grid{position:relative;display:grid;grid-template-columns:1.25fr .85fr;gap:var(--space-12);align-items:center;}
.hero h1{color:#fff;font-size:clamp(40px,5vw,60px);line-height:1.02;font-weight:900;letter-spacing:var(--tracking-tighter);margin:var(--space-3) 0 var(--space-5);}
.hero__eyebrow{color:var(--blue-300);}
.hero__lead{color:var(--text-on-navy);font-size:var(--text-lg);max-width:52ch;margin:0 0 var(--space-6);}
.hero__cta{display:flex;flex-wrap:wrap;gap:var(--space-3);}
.hero__chips{display:flex;flex-wrap:wrap;gap:var(--space-5);margin-top:var(--space-8);}
.hero__chips span{display:inline-flex;align-items:center;gap:7px;color:var(--blue-200);font-size:var(--text-sm);font-weight:500;}
.hero__chips svg{color:var(--blue-300);width:18px;height:18px;}
.hero__call h3{margin:0 0 6px;color:var(--text-strong);}
.hero__bignum{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:800;font-size:24px;color:var(--helm-navy);margin:var(--space-4) 0;}
.hero__bignum:hover{text-decoration:none;}
.hero__bignum svg{width:22px;height:22px;}

/* Sections */
.sec{padding:var(--space-20) 0;}
.sec--alt{background:var(--gray-50);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.sec__head{max-width:640px;margin:0 auto var(--space-10);text-align:center;}
.sec__head h2{font-size:var(--text-3xl);margin:var(--space-2) 0 var(--space-3);}
.sec__sub{color:var(--text-muted);font-size:var(--text-md);margin:0;}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:var(--space-5);}

/* About */
.about__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-12);align-items:center;}
.about__grid h2{font-size:var(--text-3xl);margin:var(--space-2) 0 var(--space-4);}
.about__grid > div > p{color:var(--text-body);font-size:var(--text-md);}
.about__list{list-style:none;padding:0;margin:var(--space-6) 0 0;display:grid;gap:var(--space-3);}
.about__list li{display:flex;align-items:center;gap:var(--space-3);color:var(--text-strong);font-weight:500;}
.about__ic{flex:none;width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--navy-50);color:var(--helm-navy);}
.about__ic svg{width:20px;height:20px;}
.about__stats{display:grid;gap:var(--space-5);}
.about__statrow{display:flex;gap:var(--space-8);border-top:1px solid var(--navy-700);border-bottom:1px solid var(--navy-700);padding:var(--space-4) 0;}
.about__tags{display:flex;flex-wrap:wrap;gap:var(--space-2);}

/* Contact */
.contact__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:var(--space-12);align-items:start;}
.contact__intro h2{font-size:var(--text-3xl);margin:var(--space-2) 0 var(--space-3);}
.contact__intro > p{color:var(--text-body);font-size:var(--text-md);}
.contact__list{list-style:none;padding:0;margin:var(--space-6) 0 0;display:grid;gap:var(--space-3);}
.contact__list li,.contact__list a{display:flex;align-items:center;gap:var(--space-3);color:var(--text-strong);font-weight:500;}
.contact__list a:hover{color:var(--link);text-decoration:none;}
.contact__ic{flex:none;width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--gray-100);color:var(--helm-navy);}
.contact__ic svg{width:20px;height:20px;}
.contact__form{display:grid;gap:var(--space-4);}

/* Footer */
.ft{background:var(--navy-900);color:var(--text-on-navy);padding:var(--space-16) 0 var(--space-6);}
.ft__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--space-8);}
.ft__logo{height:40px;width:auto;margin-bottom:var(--space-3);}
.ft__tag{color:var(--text-on-navy);font-size:var(--text-sm);max-width:30ch;}
.ft__col{display:flex;flex-direction:column;gap:var(--space-2);}
.ft__col h5{color:#fff;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0 0 6px;}
.ft__col a{color:var(--text-on-navy);font-size:var(--text-sm);}
.ft__col a:hover{color:#fff;text-decoration:none;}
.ft__base{margin-top:var(--space-10);padding-top:var(--space-5);border-top:1px solid var(--navy-700);color:var(--navy-300);font-size:var(--text-xs);}

/* Generic page (legal pages, blog) */
.page-main{max-width:var(--container-narrow);margin:0 auto;padding:var(--space-16) var(--space-6) var(--space-20);}
.page-main h1{margin-bottom:var(--space-6);}
.page-main h2{font-size:var(--text-xl);margin-top:var(--space-8);}
.page-main p{color:var(--text-body);}
.page-main a{color:var(--link);}

@media (max-width:900px){
  .hd__nav{
    position:absolute;top:74px;left:0;right:0;flex-direction:column;gap:0;
    background:#fff;border-bottom:1px solid var(--border);padding:var(--space-2) var(--space-6);
    display:none;box-shadow:var(--shadow-md);
  }
  .hd__nav.is-open{display:flex;}
  .hd__nav a{padding:var(--space-3) 0;border-bottom:1px solid var(--gray-100);}
  .hd__phone{display:none;}
  .hd__burger{display:inline-flex;}
  .hero__grid,.about__grid,.contact__grid,.ft__grid{grid-template-columns:1fr;gap:var(--space-8);}
  .ft__grid{gap:var(--space-6);}
}
