/*
Theme Name: SAFETIVA
Theme URI: https://www.safetiva.at
Author: u/ground system gmbh
Author URI: https://www.uground.net
Description: Zweisprachiges Theme (DE/EN) für die SAFETIVA GmbH – Full-Scope Solutions. One Team. One Responsibility.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: safetiva
*/

@font-face{font-family:"Montserrat";src:url("assets/fonts/montserrat-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --ink:#0b0d10;--graphite:#14171c;--steel:#1e2228;--line:rgba(255,255,255,.09);
  --gold:#d5a33c;--gold-2:#f2c766;--gold-glow:rgba(213,163,60,.35);
  --white:#fff;--text:#e9ebee;--muted:#9aa1ab;
  --radius:18px;--wrap:1240px;--gutter:clamp(16px,4vw,40px);
  --ease:cubic-bezier(.2,.8,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--text);font-family:"Montserrat",system-ui,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:var(--gold);text-decoration:none;transition:color .2s}
a:hover{color:var(--gold-2)}
::selection{background:var(--gold);color:var(--ink)}
h1,h2,h3,h4{color:var(--white);line-height:1.1;letter-spacing:-.01em;margin:0 0 .6em;font-weight:800;-webkit-hyphens:auto;hyphens:auto;text-wrap:balance}
h1{font-size:clamp(2.6rem,7vw,6rem);letter-spacing:-.02em}
h2{font-size:clamp(2rem,4.2vw,3.4rem)}
h3{font-size:clamp(1.15rem,1.6vw,1.35rem);font-weight:700}
p{margin:0 0 1.1em}
.gold,.has-gold{color:var(--gold)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* ---------- Header ---------- */
.sf-header{position:fixed;inset:0 0 auto;z-index:50;transition:background .35s,backdrop-filter .35s,border-color .35s,padding .35s;border-bottom:1px solid transparent;padding:22px 0}
.sf-header.is-scrolled{background:rgba(11,13,16,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line);padding:12px 0}
.sf-header__in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;gap:28px}
.sf-logo{display:flex;align-items:center;gap:12px;color:var(--white);font-weight:700;letter-spacing:.32em;font-size:1.05rem}
.sf-logo img{display:block;transition:height .35s,width .35s}
.sf-logo__mark{height:42px;width:42px}
.sf-logo__word{height:14px;width:auto}
.is-scrolled .sf-logo__mark{height:34px;width:34px}
.sf-logo__text{letter-spacing:.32em}
.sf-nav{margin-left:auto;display:flex;align-items:center;gap:22px}
.sf-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.sf-nav a{display:block;padding:10px 16px;color:var(--text);font-weight:600;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;position:relative}
.sf-nav a::after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.sf-nav a:hover::after,.sf-nav .is-current a::after{transform:scaleX(1)}
.sf-nav .is-current a{color:var(--white)}
.sf-lang{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;font-size:.78rem;font-weight:700;letter-spacing:.1em}
.sf-lang a,.sf-lang span{padding:6px 12px;border-radius:999px;color:var(--muted)}
.sf-lang span{background:var(--gold);color:var(--ink)}
.sf-lang a:hover{color:var(--white)}
.sf-burger{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.sf-burger i{position:absolute;left:10px;right:10px;height:2px;background:var(--white);transition:transform .3s,opacity .3s}
.sf-burger i:nth-child(1){top:15px}.sf-burger i:nth-child(2){top:21px}.sf-burger i:nth-child(3){top:27px}
.nav-open .sf-burger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-open .sf-burger i:nth-child(2){opacity:0}
.nav-open .sf-burger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- Content frame ---------- */
.sf-main{position:relative}
.sf-content{--side:max(var(--gutter),calc((100% - var(--wrap))/2 + var(--gutter)))}
.sf-content>*{padding-left:var(--side);padding-right:var(--side)}
.sf-content>.wp-block-group{margin:0}
.sf-content>.wp-block-group>*{margin-left:0;margin-right:0}
.sf-marquee{padding-left:0!important;padding-right:0!important}
.admin-bar .sf-header{top:32px}
@media (max-width:782px){.admin-bar .sf-header{top:46px}}
.sf-section{padding-top:clamp(70px,10vw,140px)!important;padding-bottom:clamp(70px,10vw,140px)!important;position:relative}
.sf-section--alt{background:var(--graphite)}
.eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--gold);font-weight:700;font-size:.8rem;letter-spacing:.28em;text-transform:uppercase;margin-bottom:1.4em}
.eyebrow::before{content:"";width:34px;height:2px;background:var(--gold)}
.lead{font-size:clamp(1.1rem,1.6vw,1.35rem);color:var(--text);max-width:760px;line-height:1.6}
.muted{color:var(--muted)}

/* ---------- Hero ---------- */
.sf-hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;padding-top:140px!important;padding-bottom:110px!important;isolation:isolate;background:radial-gradient(1200px 700px at 78% 30%,rgba(213,163,60,.16),transparent 60%),radial-gradient(900px 600px at 10% 90%,rgba(255,255,255,.05),transparent 60%),var(--ink)}
.sf-hero::before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(ellipse at 60% 40%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 60% 40%,#000 20%,transparent 75%);animation:gridmove 22s linear infinite}
.sf-hero::after{content:"S";position:absolute;right:-4vw;bottom:-12vw;z-index:-1;font-size:58vw;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:2px rgba(213,163,60,.13);pointer-events:none;animation:floaty 12s ease-in-out infinite}
@keyframes gridmove{to{background-position:72px 72px,72px 72px}}
@keyframes floaty{50%{transform:translateY(-2vw) rotate(-2deg)}}
.sf-hero canvas{position:absolute;inset:0;z-index:-1;width:100%;height:100%;opacity:.9}
.sf-hero h1{max-width:13ch;margin-bottom:.35em}
.sf-hero h1 .gold{background:linear-gradient(100deg,var(--gold) 0%,var(--gold-2) 40%,var(--gold) 70%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 5s linear infinite}
@keyframes shine{to{background-position:200% center}}
.sf-hero .lead{margin-bottom:2.2em}
.sf-hero .claim{font-size:clamp(1rem,1.4vw,1.15rem);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--white);margin-bottom:1.6em}
.sf-scroll{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);width:26px;height:42px;border:2px solid rgba(255,255,255,.35);border-radius:14px}
.sf-scroll::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--gold);animation:wheel 1.8s infinite}
@keyframes wheel{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(14px)}}

/* Split letters */
.split-word{display:inline-block;white-space:nowrap}
.split-char{display:inline-block;opacity:0;transform:translateY(.6em) rotate(6deg);animation:charin .8s var(--ease) forwards}
@keyframes charin{to{opacity:1;transform:none}}
.sf-hero h1.done .split-char{opacity:1;transform:none;animation:none}
.no-anim .reveal{opacity:1!important;transform:none!important}

/* ---------- Buttons ---------- */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px}
.wp-block-button__link{display:inline-flex;align-items:center;gap:12px;background:var(--gold);color:var(--ink)!important;font-weight:700;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;padding:18px 30px;border-radius:999px;border:2px solid var(--gold);position:relative;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.wp-block-button__link::after{content:"→";transition:transform .3s var(--ease)}
.wp-block-button__link:hover{transform:translateY(-3px);box-shadow:0 14px 40px -10px var(--gold-glow)}
.wp-block-button__link:hover::after{transform:translateX(5px)}
.is-style-outline .wp-block-button__link,.wp-block-button.is-ghost .wp-block-button__link{background:transparent;color:var(--white)!important;border-color:rgba(255,255,255,.3)}
.wp-block-button.is-ghost .wp-block-button__link:hover{border-color:var(--gold)}

/* ---------- Marquee ---------- */
.sf-marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:26px 0!important;background:var(--graphite)}
.sf-marquee p{max-width:none!important;padding:0!important;margin:0;white-space:nowrap;display:inline-block;font-size:clamp(1.3rem,2.6vw,2.2rem);font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.45);animation:marquee 38s linear infinite}
.sf-marquee p strong{color:var(--gold);-webkit-text-stroke:0}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Cards ---------- */
.sf-cards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px!important;margin-top:50px}
.sf-cards>.wp-block-column{flex-basis:auto!important;margin:0!important;background:linear-gradient(160deg,var(--steel),var(--graphite));border:1px solid var(--line);border-radius:var(--radius);padding:34px 30px 30px;position:relative;overflow:hidden;transition:transform .45s var(--ease),border-color .45s,box-shadow .45s;transform-style:preserve-3d}
.sf-cards>.wp-block-column::before{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),rgba(213,163,60,.18),transparent 45%);opacity:0;transition:opacity .4s}
.sf-cards>.wp-block-column:hover{border-color:rgba(213,163,60,.55);box-shadow:0 30px 60px -30px rgba(0,0,0,.8),0 0 0 1px rgba(213,163,60,.2)}
.sf-cards>.wp-block-column:hover::before{opacity:1}
.sf-cards .num{font-size:.8rem;font-weight:800;letter-spacing:.2em;color:var(--gold);margin-bottom:22px;display:flex;align-items:center;gap:10px}
.sf-cards .num::after{content:"";flex:1;height:1px;background:var(--line)}
.sf-cards p:last-child{margin-bottom:0;color:var(--muted);font-size:.96rem}
.sf-cards ul{margin:0;padding-left:1.1em;color:var(--muted);font-size:.95rem}
.sf-cards li::marker{color:var(--gold)}

/* ---------- Statement / Pillars ---------- */
.sf-statement h2{font-size:clamp(2rem,5vw,4.2rem);max-width:18ch}
.sf-pillars{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0!important;margin-top:60px;border-top:1px solid var(--line)}
.sf-pillars>.wp-block-column{padding:34px 28px 10px 0;margin:0!important;border-right:1px solid var(--line);flex-basis:auto!important}
.sf-pillars>.wp-block-column:last-child{border-right:0}
.sf-pillars>.wp-block-column+.wp-block-column{padding-left:28px}
.sf-pillars .big{font-size:clamp(2.6rem,4.5vw,3.8rem);font-weight:900;color:var(--gold);line-height:1;margin-bottom:.35em}
.sf-pillars p{color:var(--muted)}
.sf-pillars h3{margin-bottom:.4em}

/* ---------- Steps ---------- */
.sf-steps{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px!important;margin-top:50px;counter-reset:step}
.sf-steps>.wp-block-column{margin:0!important;flex-basis:auto!important;padding:30px 0 0;border-top:2px solid var(--line);position:relative;counter-increment:step}
.sf-steps>.wp-block-column::before{content:"0" counter(step);position:absolute;top:-2px;left:0;padding-top:24px;font-size:.8rem;font-weight:800;letter-spacing:.2em;color:var(--gold);border-top:2px solid var(--gold);width:60px;transition:width .8s var(--ease)}
.sf-steps>.wp-block-column.in::before{width:100%}
.sf-steps h3{margin-top:28px}
.sf-steps p{color:var(--muted)}

/* ---------- CTA ---------- */
.sf-cta{margin:clamp(40px,6vw,90px) 0!important}
.sf-cta .sf-cta__box{border-radius:28px;padding:clamp(40px,7vw,90px)!important;background:linear-gradient(120deg,var(--gold) 0%,#e8b54d 45%,#b9862a 100%);color:var(--ink);position:relative;overflow:hidden}
.sf-cta .sf-cta__box::after{content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;border:50px solid rgba(255,255,255,.18);border-radius:50%;animation:floaty 9s ease-in-out infinite}
.sf-cta h2,.sf-cta p{color:var(--ink);position:relative;z-index:1;max-width:820px}
.sf-cta .eyebrow{color:var(--ink)}.sf-cta .eyebrow::before{background:var(--ink)}
.sf-cta .wp-block-button__link{background:var(--ink);border-color:var(--ink);color:var(--white)!important}
.sf-cta .wp-block-buttons{position:relative;z-index:1}

/* ---------- Page hero ---------- */
.sf-pagehero{padding-top:clamp(160px,20vw,230px)!important;padding-bottom:clamp(60px,8vw,100px)!important;position:relative;overflow:hidden;background:radial-gradient(900px 500px at 85% 0%,rgba(213,163,60,.15),transparent 60%),var(--ink);border-bottom:1px solid var(--line)}
.sf-pagehero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(180deg,#000,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);pointer-events:none}
.sf-pagehero h1{font-size:clamp(2.4rem,6vw,5rem);max-width:16ch;position:relative}

/* ---------- Service detail ---------- */
.sf-service{display:grid!important;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px)!important;padding:clamp(40px,6vw,70px) 0!important;border-bottom:1px solid var(--line)}
.sf-service>.wp-block-column{margin:0!important;flex-basis:auto!important}
.sf-service h2{font-size:clamp(1.6rem,3vw,2.4rem)}
.sf-service .num{color:var(--gold);font-weight:800;letter-spacing:.2em;font-size:.8rem}
.sf-service ul{padding-left:1.1em;color:var(--muted)}
.sf-service li{margin-bottom:.4em}
.sf-service li::marker{color:var(--gold)}

/* ---------- People ---------- */
.sf-people{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px!important;margin-top:40px}
.sf-people>.wp-block-column{margin:0!important;flex-basis:auto!important;border:1px solid var(--line);border-radius:var(--radius);padding:34px;background:var(--graphite)}
.sf-people .role{color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.sf-people h3{font-size:1.5rem}

/* ---------- Contact ---------- */
.sf-contact{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px!important}
.sf-contact>.wp-block-column{margin:0!important;flex-basis:auto!important;border:1px solid var(--line);border-radius:var(--radius);padding:34px;background:linear-gradient(160deg,var(--steel),var(--graphite))}
.sf-contact .label{color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.8em}
.sf-contact p{font-size:1.08rem}

/* ---------- Legal ---------- */
.sf-legal{padding-top:60px!important;padding-bottom:100px!important}
.sf-legal p,.sf-legal h2,.sf-legal ul{max-width:880px}
.sf-legal h2{font-size:1.4rem;margin-top:2em;color:var(--gold)}
.sf-legal p,.sf-legal li{color:var(--text)}

/* ---------- Footer ---------- */
.sf-footer{background:#07080a;border-top:1px solid var(--line);padding:80px 0 30px;color:var(--muted);font-size:.95rem}
.sf-footer__in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}
.sf-footer h4{color:var(--white);font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:1.2em}
.sf-footer ul{list-style:none;padding:0;margin:0}
.sf-footer li{margin-bottom:.5em}
.sf-footer a{color:var(--muted)}.sf-footer a:hover{color:var(--gold)}
.sf-footer .claim{color:var(--white);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.9rem}
.sf-footer__bottom{max-width:var(--wrap);margin:60px auto 0;padding:24px var(--gutter) 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.82rem}
.sf-footer .sf-logo__mark{height:54px;width:54px}
.sf-footer .sf-logo__word{height:16px}

/* ---------- Reveal ---------- */
.js .reveal{opacity:0;transform:translateY(40px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.sf-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-2));z-index:60;width:0}
.sf-cursor{position:fixed;width:340px;height:340px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(213,163,60,.10),transparent 65%);transform:translate(-50%,-50%);transition:opacity .4s;opacity:0}
body:hover .sf-cursor{opacity:1}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .sf-burger{display:block}
  .sf-nav{position:fixed;inset:0;background:rgba(11,13,16,.97);backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:30px;opacity:0;pointer-events:none;transition:opacity .35s;margin:0}
  .nav-open .sf-nav{opacity:1;pointer-events:auto}
  .sf-nav ul{flex-direction:column;align-items:center}
  .sf-nav a{font-size:1.4rem}
  .sf-burger{z-index:2}
  .sf-service{grid-template-columns:1fr}
  .sf-footer__in{grid-template-columns:1fr}
  .sf-pillars>.wp-block-column{border-right:0;border-bottom:1px solid var(--line);padding-left:0!important}
  .sf-cursor{display:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.split-char{opacity:1;transform:none}}

/* =========================================================
   Helles Farbschema: Kopf & Startbild in SAFETIVA-Grau,
   Inhalte hell, Gold als Akzent
   ========================================================= */
:root{--paper:#fff;--paper-2:#f3f4f6;--ink-txt:#2b2f36;--ink-head:#16191e;--muted-l:#5f6772;--line-l:#e2e5e9;--gold-ink:#a9781c;--grey-1:#5b5e64;--grey-2:#3b3e43;--grey-3:#2a2d31}
body{background:var(--paper);color:var(--ink-txt)}
.sf-content{color:var(--ink-txt)}
.sf-content h1,.sf-content h2,.sf-content h3,.sf-content h4{color:var(--ink-head)}
.sf-content a:not(.wp-block-button__link){color:var(--gold-ink)}
.sf-content a:not(.wp-block-button__link):hover{color:var(--ink-head)}
.sf-content .gold{color:var(--gold-ink)}
.lead{color:#3d434c}
.muted,.sf-content .muted{color:var(--muted-l)}
.eyebrow{color:var(--gold-ink)}
.sf-section--alt{background:var(--paper-2)}
::selection{background:var(--gold);color:var(--ink-head)}

/* Dunkle Zonen: Startbild, Seitenkopf */
.sf-hero,.sf-pagehero{background:radial-gradient(1100px 650px at 80% 25%,rgba(213,163,60,.20),transparent 60%),radial-gradient(800px 500px at 0% 100%,rgba(255,255,255,.06),transparent 60%),linear-gradient(160deg,var(--grey-1) 0%,var(--grey-2) 55%,var(--grey-3) 100%);color:#eef0f2;border-bottom:0}
.sf-hero h1,.sf-hero h2,.sf-hero h3,.sf-pagehero h1,.sf-pagehero h2{color:#fff}
.sf-hero .lead,.sf-pagehero .lead{color:rgba(255,255,255,.86)}
.sf-hero .eyebrow,.sf-pagehero .eyebrow{color:var(--gold-2)}
.sf-hero .eyebrow::before,.sf-pagehero .eyebrow::before{background:var(--gold-2)}
.sf-pagehero .gold{color:var(--gold-2)}
.sf-hero::before,.sf-pagehero::before{background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px)}
.sf-hero::after{-webkit-text-stroke:2px rgba(255,255,255,.12)}

/* Kopfzeile */
.sf-header.is-scrolled{background:rgba(42,45,49,.92)}
.sf-nav a{color:rgba(255,255,255,.88)}
.sf-nav .is-current a,.sf-nav a:hover{color:#fff}
.sf-lang{border-color:rgba(255,255,255,.25)}
.sf-lang a{color:rgba(255,255,255,.75)}
.sf-lang span{color:var(--ink-head)}

/* Buttons in hellen Bereichen */
.wp-block-button__link{color:var(--ink-head)!important}
.wp-block-button__link:hover{box-shadow:0 14px 34px -12px rgba(169,120,28,.55)}
.wp-block-button.is-ghost .wp-block-button__link{color:var(--ink-head)!important;border-color:rgba(22,25,30,.25)}
.wp-block-button.is-ghost .wp-block-button__link:hover{border-color:var(--gold);background:rgba(213,163,60,.08)}
.sf-hero .wp-block-button.is-ghost .wp-block-button__link,.sf-pagehero .wp-block-button.is-ghost .wp-block-button__link{color:#fff!important;border-color:rgba(255,255,255,.4)}

/* Laufband */
.sf-marquee{background:var(--grey-3);border-color:transparent}

/* Karten */
.sf-cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.sf-cards>.wp-block-column{background:var(--paper);border:1px solid var(--line-l);box-shadow:0 1px 2px rgba(16,24,40,.04)}
.sf-cards>.wp-block-column:hover{border-color:rgba(213,163,60,.7);box-shadow:0 28px 50px -28px rgba(16,24,40,.35)}
.sf-cards>.wp-block-column::before{background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),rgba(213,163,60,.14),transparent 45%)}
.sf-cards .num{color:var(--gold-ink)}
.sf-cards .num::after{background:var(--line-l)}
.sf-cards p:last-child,.sf-cards ul{color:var(--muted-l)}

/* Säulen, Schritte, Leistungsliste */
.sf-pillars{border-top-color:var(--line-l)}
.sf-pillars>.wp-block-column{border-right-color:var(--line-l)}
.sf-pillars .big{color:var(--gold-ink)}
.sf-pillars p,.sf-steps p{color:var(--muted-l)}
.sf-steps>.wp-block-column{border-top-color:var(--line-l)}
.sf-steps>.wp-block-column::before{color:var(--gold-ink)}
.sf-service{border-bottom-color:var(--line-l)}
.sf-service .num{color:var(--gold-ink)}
.sf-service ul{color:var(--muted-l)}

/* Personen, Kontakt, Rechtliches */
.sf-people>.wp-block-column,.sf-contact>.wp-block-column{background:var(--paper);border-color:var(--line-l);box-shadow:0 1px 2px rgba(16,24,40,.04)}
.sf-people .role,.sf-contact .label{color:var(--gold-ink)}
.sf-legal p,.sf-legal li{color:var(--ink-txt)}
.sf-legal h2{color:var(--gold-ink)}

/* Fußzeile */
.sf-footer{background:var(--grey-3);color:rgba(255,255,255,.7);border-top:0}
.sf-footer a{color:rgba(255,255,255,.7)}
.sf-footer__bottom{border-top-color:rgba(255,255,255,.12)}
.sf-cursor{background:radial-gradient(circle,rgba(213,163,60,.08),transparent 65%)}

/* ---------- Bewerbungsformular ---------- */
.sf-form{background:var(--paper);border:1px solid var(--line-l);border-radius:24px;padding:clamp(24px,4vw,48px);box-shadow:0 30px 60px -40px rgba(16,24,40,.35);max-width:920px}
.sf-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
.sf-form__full{grid-column:1/-1}
.sf-form label{display:block;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-head);margin-bottom:8px}
.sf-form label .req{color:var(--gold-ink)}
.sf-form input[type=text],.sf-form input[type=email],.sf-form input[type=tel],.sf-form input[type=date],.sf-form input[type=number],.sf-form select,.sf-form textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink-head);background:var(--paper-2);border:1.5px solid transparent;border-radius:12px;padding:14px 16px;transition:border-color .2s,background .2s,box-shadow .2s}
.sf-form textarea{min-height:140px;resize:vertical}
.sf-form input:focus,.sf-form select:focus,.sf-form textarea:focus{outline:0;border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(213,163,60,.18)}
.sf-form input[type=file]{width:100%;padding:18px;border:1.5px dashed #c9ced6;border-radius:12px;background:var(--paper-2);font:inherit;font-size:.92rem;cursor:pointer}
.sf-form input[type=file]:hover{border-color:var(--gold)}
.sf-form .hint{font-size:.85rem;color:var(--muted-l);margin:6px 0 0}
.sf-form .check{display:flex;gap:12px;align-items:flex-start;font-size:.92rem;text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink-txt)}
.sf-form .check input{margin-top:4px;width:18px;height:18px;accent-color:var(--gold)}
.sf-form .hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.sf-form button{margin-top:10px;display:inline-flex;align-items:center;gap:12px;background:var(--gold);color:var(--ink-head);font:inherit;font-weight:700;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase;padding:18px 34px;border-radius:999px;border:0;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s}
.sf-form button::after{content:"→"}
.sf-form button:hover{transform:translateY(-3px);box-shadow:0 14px 34px -12px rgba(169,120,28,.55)}
.sf-notice{max-width:920px;border-radius:16px;padding:20px 24px;margin-bottom:24px;font-weight:600}
.sf-notice--ok{background:#eef8f0;border:1px solid #bfe3c7;color:#1e5b2c}
.sf-notice--err{background:#fdf0ef;border:1px solid #f1c4bf;color:#8a2a1f}
@media (max-width:700px){.sf-form__grid{grid-template-columns:1fr}}
