/*
Theme Name: PHS Galvanotechnik
Theme URI: https://www.phs-galvanotechnik.de/
Author: LEOSA Marketing & Werbeagentur
Author URI: https://www.leosa.de/
Description: Schlankes, eigenes Theme für die PHS Galvanotechnik GmbH – ohne Page-Builder, mit Block-Editor, strukturierten Daten und Härtung.
Version: 1.0.4
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: phs
License: Proprietary
*/

/* Icons: Font Awesome Free 5 by Fonticons, Inc. – CC BY 4.0 (https://fontawesome.com/license/free)
   Schriften: Inter, Archivo, Raleway – SIL Open Font License 1.1 */

@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("assets/fonts/inter-latin.woff2") format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-display:swap;src:url("assets/fonts/archivo-latin.woff2") format("woff2")}
@font-face{font-family:"Raleway";font-style:normal;font-weight:100 900;font-display:swap;src:url("assets/fonts/raleway-latin.woff2") format("woff2")}

/* =====================================================================
   1. Design-Tokens – alle Größen und Abstände kommen nur von hier
   ===================================================================== */
:root{
	/* Farben (CI) */
	--blue:#234192;--blue-d:#1A316F;--ink:#111A2E;--slate:#4C5568;--line:#DEDEDE;--tint:#F4F4F6;
	--navy:#142348;--night:#0B1226;--sky:#94A6DC;--grey:#B2B2B2;--white:#fff;

	/* Schriften */
	--ff:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	--fh:"Archivo","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	--fe:"Raleway","Inter",system-ui,sans-serif;

	/* Schriftgrößen – fließend zwischen 375 px und 1280 px Breite */
	--fs-xs:.8125rem;                                   /* 13 */
	--fs-sm:.875rem;                                    /* 14 */
	--fs-body:clamp(1rem,.96rem + .2vw,1.0625rem);      /* 16 → 17 */
	--fs-lead:clamp(1.0625rem,.98rem + .4vw,1.25rem);   /* 17 → 20 */
	--fs-h4:clamp(1.0625rem,1rem + .3vw,1.25rem);       /* 17 → 20 */
	--fs-h3:clamp(1.25rem,1.1rem + .7vw,1.625rem);      /* 20 → 26 */
	--fs-h2:clamp(1.75rem,1.25rem + 2.1vw,2.625rem);    /* 28 → 42 */
	--fs-d2:clamp(2rem,1.3rem + 3vw,3.25rem);           /* 32 → 52 (CTA, Jahreszahlen) */
	--fs-h1:clamp(2.25rem,1.35rem + 3.8vw,4rem);        /* 36 → 64 */
	--fs-eye:clamp(.75rem,.72rem + .15vw,.8125rem);     /* 12 → 13 */

	--lh-body:1.65;--lh-tight:1.1;--lh-head:1.2;--lh-sub:1.35;

	/* Abstände */
	--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:3rem;--sp-8:4rem;
	--gutter:clamp(1.25rem,.8rem + 2.2vw,2.5rem);       /* 20 → 40 Seitenrand */
	--sec:clamp(4rem,2.6rem + 6vw,7rem);                /* 64 → 112 Sektionsabstand */
	--sec-s:clamp(3rem,2.2rem + 3.4vw,5rem);            /* 48 → 80 */
	--flow:clamp(1rem,.9rem + .4vw,1.25rem);            /* 16 → 20 Abstand im Textfluss */
	--grid-gap:clamp(1rem,.7rem + 1.2vw,1.5rem);        /* 16 → 24 zwischen Karten */
	--split-gap:clamp(2rem,.6rem + 5.5vw,6rem);         /* 32 → 96 zwischen Text und Bild */
	--pad:clamp(1.25rem,.9rem + 1.4vw,2rem);            /* 20 → 32 Innenabstand Karten */

	/* Formen */
	--wrap:1280px;--measure:68ch;--r:10px;--r-s:6px;
	--shadow:0 1px 2px rgba(17,26,46,.04),0 12px 40px rgba(17,26,46,.08);
	--shadow-h:0 2px 4px rgba(17,26,46,.05),0 22px 50px rgba(17,26,46,.14);
	--ease:cubic-bezier(.2,.7,.2,1);
	--hdr:72px;
	--hero-ov:linear-gradient(70deg,#0B1226 0%,rgba(11,18,38,.72) 45%,rgba(118,0,0,.17) 100%);
	--cta-ov:linear-gradient(135deg,#0B1226 0%,rgba(11,18,38,.7) 50%,rgba(118,0,0,.17) 100%);
}
@media (min-width:1025px){:root{--hdr:84px}}

/* =====================================================================
   2. Basis
   ===================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 16px)}
body{margin:0;font-family:var(--ff);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--slate);background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;font-feature-settings:"cv11","ss01"}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--blue-d);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--blue)}
p{margin:0}
p+p{margin-top:1em}
strong,b{font-weight:650;color:var(--ink)}
.phs-on-dark strong,.phs-hero strong,.phs-cta strong,.phs-footer strong{color:inherit}
h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--fh);color:var(--ink);font-weight:700;line-height:var(--lh-head);text-wrap:balance}
p,li{text-wrap:pretty}
ul,ol{margin:0;padding-left:1.25em}
li+li{margin-top:.35em}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:2px}
::selection{background:var(--blue);color:#fff}
.screen-reader-text,.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;left:16px;top:16px;z-index:1000;width:auto;height:auto;clip:auto;padding:12px 20px;background:#fff;color:var(--ink);box-shadow:var(--shadow);border-radius:var(--r)}
figure,.wp-block-image{margin:0}
.has-text-align-center{text-align:center}
.has-text-align-right{text-align:right}

/* =====================================================================
   3. Typo-Rollen
   ===================================================================== */
.phs-eyebrow{font-family:var(--fe);font-size:var(--fs-eye);font-weight:700;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.phs-h1,.phs-hero h1{font-family:var(--fh);font-size:var(--fs-h1);font-weight:700;line-height:var(--lh-tight);letter-spacing:-.025em;color:#fff}
.phs-h2,.entry h2{font-size:var(--fs-h2);line-height:var(--lh-head);letter-spacing:-.02em}
.phs-h3,.phs-usp__t{font-family:var(--fh);font-size:var(--fs-h3);font-weight:700;line-height:1.25;letter-spacing:-.015em;color:var(--ink)}
.phs-h5,.phs-step h3,.phs-cinfo__t{font-family:var(--fh);font-size:var(--fs-h4);font-weight:650;line-height:var(--lh-sub);letter-spacing:-.01em;color:var(--ink)}
.phs-answer{font-size:var(--fs-lead);line-height:1.6;color:var(--ink);padding-left:var(--sp-5);border-left:3px solid var(--blue)}
.phs-on-dark,.phs-on-dark .phs-eyebrow,.phs-on-dark h1,.phs-on-dark h2,.phs-on-dark h3,.phs-on-dark .phs-h2,.phs-on-dark .phs-h3,.phs-on-dark .phs-h5{color:#fff}
.phs-on-dark .phs-eyebrow,.phs-hero .phs-eyebrow,.phs-cta .phs-eyebrow{color:var(--sky)}
.phs-h2 a,.phs-h3 a,.phs-step h3 a{color:inherit;text-decoration:none}
.phs-h2 a:hover,.phs-h3 a:hover{color:var(--blue)}

/* Abstand im Textfluss: ein System für alle Spalten und Köpfe */
.phs-col-text,.phs-stack,.phs-head,.phs-hero__content,.phs-cta__content{display:flex;flex-direction:column;gap:var(--flow)}
.phs-col-text>*,.phs-stack>*,.phs-head>*,.phs-hero__content>*,.phs-cta__content>*,.phs-tile>*,.phs-col-media>*{margin:0}
.phs-col-text>p+p,.phs-stack>p+p,.phs-head>p+p{margin-top:0}
.phs-stack>p:not(.phs-note){max-width:72ch}
.phs-eyebrow+.phs-h2,.phs-eyebrow+.phs-h1,.phs-eyebrow+h2,.phs-eyebrow+h1{margin-top:calc(var(--flow) * -.5)!important}
.phs-col-text>.phs-btns,.phs-stack>.phs-btns,.phs-hero__content>.phs-btns,.phs-cta__content>.phs-btns,.phs-col-text>.phs-map{margin-top:var(--sp-2)!important}
.phs-col-text>.phs-checks,.phs-col-text>.phs-specs,.phs-stack>.phs-cards,.phs-stack>.phs-checks{margin-top:var(--sp-3)!important}

/* =====================================================================
   4. Layout
   ===================================================================== */
.phs-wrap,.phs-hero__inner,.phs-cta__in,.phs-header__in,.phs-footer__grid,.phs-footer__bottom,.phs-legal,.phs-usp-sec{width:100%;max-width:calc(var(--wrap) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.phs-sec{position:relative;padding-block:var(--sec);background:#fff}
.phs-sec>*{position:relative}
.phs-sec>*+*{margin-top:var(--sec-s)}
/* Zwei weiße Sektionen hintereinander: Abstand nicht verdoppeln */
.phs-sec:not(.phs-sec--grey):not(.phs-sec--tint):not(.phs-sec--navy):not(.phs-sec--radial)+.phs-sec:not(.phs-sec--grey):not(.phs-sec--tint):not(.phs-sec--navy):not(.phs-sec--radial){padding-top:0}
.phs-pt0{padding-top:0!important}.phs-pb0{padding-bottom:0!important}
.phs-mt100,.phs-mb100{margin:0}
.phs-usp-sec+.phs-sec{padding-top:var(--sec-s)!important}
.phs-sec--radial.phs-pt0{padding-top:var(--sec)!important}
.phs-sec>.phs-wrap:has(>.phs-eyebrow:only-child)+.phs-head{margin-top:var(--sp-3)}
.phs-sec--grey{background:var(--tint)}
.phs-sec--tint{background:linear-gradient(135deg,var(--tint) 25%,rgba(255,255,255,.88) 100%),url("../../uploads/1150114-min-1.jpg") center/cover no-repeat var(--tint)}
.phs-sec--radial{background:radial-gradient(at 100% 100%,rgba(255,255,255,.8) 0%,#fff 75%),url("../../uploads/WhatsApp-Image-2026-09-07-at-10.54.06-scaled.jpeg") center/cover no-repeat #fff}
.phs-sec--navy{background:linear-gradient(rgba(20,35,72,.92),rgba(20,35,72,.92)),url("../../uploads/Pattern_img.png") center/cover no-repeat var(--navy);color:rgba(255,255,255,.86)}
.phs-divider{width:56px;height:0;border:0;border-top:3px solid var(--blue);margin:0;opacity:1}
.phs-on-dark .phs-divider{border-top-color:var(--sky)}

/* Text + Bild */
.phs-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-7) var(--split-gap);align-items:center}
.phs-split--4555{grid-template-columns:minmax(0,45fr) minmax(0,55fr)}
.phs-split--5545{grid-template-columns:minmax(0,55fr) minmax(0,45fr)}
.phs-split:has(.phs-col-plain,.phs-col-form,.phs-col-cards,.phs-dt,.phs-note){align-items:start}
.phs-col-media{position:relative;display:flex;flex-direction:column;gap:var(--flow)}
.phs-col-text--center{justify-content:center}
.phs-col-text--end{text-align:right}
.phs-col-cards>.phs-cards,.phs-col-media>.phs-cards{width:100%}
.phs-col-form{display:flex;flex-direction:column;gap:var(--flow)}
.phs-col-form>.phs-eyebrow+.phs-h2{margin-top:calc(var(--flow) * -.5)}
.phs-split img,.phs-media img{width:100%;border-radius:var(--r);object-fit:cover}
.phs-col-media figure{overflow:hidden;border-radius:var(--r);box-shadow:var(--shadow)}
.phs-col-media .phs-img--square,.phs-img--square img,img.phs-img--square{border-radius:var(--r)}
@media (min-width:1025px){
	.phs-split:has(.phs-faq)>.phs-col-text{position:sticky;top:calc(var(--hdr) + var(--sp-6));align-self:start}
}

/* =====================================================================
   5. Buttons – eine Familie, zwei Größen
   ===================================================================== */
.phs-btns{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin:0}
.wp-block-buttons.phs-btns>.wp-block-button{margin:0}
.phs-btn,.wp-block-button__link.phs-btn,.phs-btns a{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;padding:.8em 1.5em;font-family:var(--fh);font-size:.9375rem;font-weight:650;line-height:1.2;letter-spacing:.01em;text-transform:none;text-decoration:none;text-align:center;color:#fff;background:var(--blue);border:1px solid transparent;border-radius:var(--r);cursor:pointer;transition:background-color .25s ease,transform .25s var(--ease),box-shadow .25s ease}
.phs-btn:hover,.phs-btns a:hover,.phs-btn:focus-visible,.phs-btns a:focus-visible{background:var(--blue-d);color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(35,65,146,.28)}
.phs-btn--lg,.phs-btns--lg a{min-height:56px;padding:.7em 1.6em;font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem);font-weight:650;letter-spacing:0}
.phs-btns--lg a::before,.phs-btn--lg::before{content:"";width:.95em;height:.95em;flex:0 0 auto;background:currentColor;-webkit-mask:var(--i-phone) center/contain no-repeat;mask:var(--i-phone) center/contain no-repeat}
.phs-hero .phs-btns--lg a,.phs-cta .phs-btns--lg a{border-color:rgba(255,255,255,.55)}
.phs-btns--sm a::after,.phs-btn--arrow::after{content:"";width:.8em;height:.8em;flex:0 0 auto;background:currentColor;-webkit-mask:var(--i-arrow) center/contain no-repeat;mask:var(--i-arrow) center/contain no-repeat;transition:transform .25s var(--ease)}
.phs-btns--sm a:hover::after,.phs-btn--arrow:hover::after{transform:translateX(4px)}
@media (max-width:767px){.phs-hero .phs-btns,.phs-cta .phs-btns{flex-direction:column;align-items:stretch}.phs-hero .phs-btns a,.phs-cta .phs-btns a{width:100%}}

/* =====================================================================
   6. Icons
   ===================================================================== */
:root{
	--i-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z'/%3E%3C/svg%3E");
	--i-seedling:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z'/%3E%3C/svg%3E");
	--i-bottle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M32 192h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v64zM360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24z'/%3E%3C/svg%3E");
	--i-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E");
	--i-square:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M512 512H0V0h512v512z'/%3E%3C/svg%3E");
	--i-angle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z'/%3E%3C/svg%3E");
	--i-phonesq:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48zm-16.39 307.37l-15 65A15 15 0 0 1 354 416C194 416 64 286.29 64 126a15.7 15.7 0 0 1 11.63-14.61l65-15A18.23 18.23 0 0 1 144 96a16.27 16.27 0 0 1 13.79 9.09l30 70A17.9 17.9 0 0 1 189 181a17 17 0 0 1-5.5 11.61l-37.89 31a231.91 231.91 0 0 0 110.78 110.78l31-37.89A17 17 0 0 1 299 291a17.85 17.85 0 0 1 5.91 1.21l70 30A16.25 16.25 0 0 1 384 336a17.41 17.41 0 0 1-.39 3.37z'/%3E%3C/svg%3E");
	--i-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z'/%3E%3C/svg%3E");
	--i-mapmarked:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zm0 168c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z'/%3E%3C/svg%3E");
	--i-marker:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z'/%3E%3C/svg%3E");
	--i-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 4h20a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2zm0 2v.4l10 6.3 10-6.3V6H2zm20 2.8-9.47 5.97a1 1 0 0 1-1.06 0L2 8.8V18h20V8.8z'/%3E%3C/svg%3E");
	--i-clock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0a12 12 0 1 1 0 24 12 12 0 0 1 0-24zm0 2.4a9.6 9.6 0 1 0 0 19.2 9.6 9.6 0 0 0 0-19.2zM13.2 6v5.5l4.1 2.4-1.2 2.1-5.3-3.1V6h2.4z'/%3E%3C/svg%3E");
	--i-cert:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='6' cy='12' r='5'/%3E%3Ccircle cx='18' cy='12' r='5'/%3E%3C/svg%3E");
	--i-menu:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M0 4h24v2H0zm0 7h24v2H0zm0 7h24v2H0z'/%3E%3C/svg%3E");
	--i-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.2 2.8 12 10.6l7.8-7.8 1.4 1.4-7.8 7.8 7.8 7.8-1.4 1.4-7.8-7.8-7.8 7.8-1.4-1.4 7.8-7.8-7.8-7.8z'/%3E%3C/svg%3E");
}
.phs-ico{display:inline-block;flex:0 0 auto;width:1em;height:1em;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}

/* =====================================================================
   7. Hero
   ===================================================================== */
.phs-hero{position:relative;min-height:clamp(560px,calc(88vh - var(--hdr)),880px);display:flex;flex-direction:column;justify-content:center;color:#fff;background:var(--night);overflow:hidden;isolation:isolate}
.phs-hero__bg,.phs-hero>figure.wp-block-image{position:absolute!important;inset:0;z-index:-2;margin:0;width:100%;height:100%}
.phs-hero__bg img,.phs-hero>figure.wp-block-image img,img.phs-hero__bg{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0}
.phs-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--hero-ov)}
.phs-hero__inner{padding-block:clamp(4rem,2rem + 8vw,9rem)}
.phs-hero__content{max-width:860px}
.phs-hero__content>p:not(.phs-eyebrow){max-width:62ch;font-size:var(--fs-lead);line-height:1.6;color:rgba(255,255,255,.9)}
.phs-hero:has(+.phs-usp-sec) .phs-hero__inner{padding-bottom:calc(clamp(4rem,2rem + 8vw,9rem) + 64px)}

/* USP-Leiste (überlappt Hero) */
.phs-usp-sec{position:relative;z-index:3;padding-block:0}
.phs-usp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;box-shadow:var(--shadow-h);border-radius:var(--r);overflow:hidden;margin-top:-80px}
.phs-usp__item{display:grid;grid-template-columns:32px 1fr;column-gap:var(--sp-4);row-gap:var(--sp-2);align-items:start;padding:var(--pad);background:#fff}
.phs-usp__item+.phs-usp__item{border-left:1px solid var(--tint)}
.phs-usp__item::before{content:"";grid-row:1/span 2;width:32px;height:32px;background:var(--blue);-webkit-mask:var(--ico,var(--i-check)) center/contain no-repeat;mask:var(--ico,var(--i-check)) center/contain no-repeat}
.phs-usp__item>*{grid-column:2;margin:0!important}
.phs-usp__item--seedling{--ico:var(--i-seedling)}.phs-usp__item--bottle{--ico:var(--i-bottle)}
.phs-usp__t{font-size:var(--fs-h4)}

/* Badge 30+ */
.phs-badge{position:absolute;top:-24px;right:-24px;z-index:1;width:160px;height:160px;border-radius:50%;background:#fff;box-shadow:var(--shadow-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center}
.phs-badge__n{font-family:var(--fh);font-size:3.5rem;font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--blue)}
.phs-badge__t{font-size:var(--fs-sm);line-height:1.3;color:var(--ink);font-weight:500}
@media (max-width:1360px){.phs-badge{right:16px}}

/* =====================================================================
   8. Kacheln, Karten, Listen
   ===================================================================== */
.phs-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap)}
.phs-tile{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-3);background:var(--tint);border-radius:var(--r);overflow:hidden}
.phs-tile>:not(figure){padding-inline:var(--sp-3)}
.phs-tile>:last-child{padding-bottom:var(--sp-3)}
.phs-tile>figure+*{margin-top:var(--sp-2)}
.phs-tile figure{overflow:hidden;border-radius:calc(var(--r) - 2px)}
.phs-tile img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:calc(var(--r) - 2px)}
.phs-tile .phs-btns{margin-top:auto;padding-top:var(--sp-2)}

.phs-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap)}
.phs-cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.phs-cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.phs-cards--1{grid-template-columns:minmax(0,1fr)}
.phs-card{display:flex;align-items:stretch;background:#fff;padding:var(--pad);box-shadow:var(--shadow);border-radius:var(--r)}
.phs-card--top{align-items:flex-start}
.phs-card__in{flex:1;display:flex;flex-direction:column;gap:var(--sp-2);padding-left:var(--sp-5);border-left:3px solid var(--line)}
.phs-cards--blue .phs-card__in,.phs-card--blue .phs-card__in{border-left-color:var(--blue)}
.phs-card__in:has(>.phs-cinfo){border-left:0;padding-left:0}
.phs-card__in>.phs-cinfo{margin-bottom:0}
.phs-card__in>p+p{margin-top:0}
.phs-card__in>.phs-h5{margin-bottom:var(--sp-1)}
.phs-card__media{padding:var(--sp-3);display:flex;justify-content:center;align-items:center}
.phs-card__media img{max-width:300px;width:100%}
.phs-card--wrap{gap:var(--sp-5);flex-wrap:wrap}
.phs-card--wrap>.phs-card__in{min-width:260px}
.phs-year{font-family:var(--fh);font-size:var(--fs-d2);font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--blue);margin-bottom:var(--sp-2)!important}

.phs-checks{display:flex;flex-direction:column;gap:var(--sp-5);margin:0;padding:0;list-style:none}
.phs-check,.phs-cinfo{display:grid;grid-template-columns:24px 1fr;column-gap:var(--sp-4);row-gap:var(--sp-1);align-items:start}
.phs-check::before,.phs-cinfo::before{content:"";grid-row:1/span 2;width:24px;height:24px;margin-top:.1em;background:var(--blue);-webkit-mask:var(--ico,var(--i-check)) center/contain no-repeat;mask:var(--ico,var(--i-check)) center/contain no-repeat}
.phs-check>*,.phs-cinfo>*{grid-column:2;margin:0!important}
.phs-cinfo{margin-bottom:var(--sp-4)}
.phs-cinfo--phone{--ico:var(--i-phone)}.phs-cinfo--mail{--ico:var(--i-mail)}.phs-cinfo--marker{--ico:var(--i-marker)}.phs-cinfo--clock{--ico:var(--i-clock)}
.phs-specs{gap:var(--sp-5)}
.phs-spec{display:flex;flex-direction:column;gap:var(--sp-1);padding-left:var(--sp-4);border-left:2px solid var(--line)}
.phs-spec .phs-h5{margin:0}
.phs-places p{margin:0}

/* Ablauf (dunkel) */
.phs-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--grid-gap);list-style:none;margin:0;padding:0}
.phs-steps--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.phs-step{display:flex;align-items:flex-start;gap:var(--sp-4);padding:var(--pad);border-radius:var(--r);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);transition:background-color .3s ease,border-color .3s ease}
.phs-step:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16)}
.phs-step__n{flex:0 0 36px;width:36px;height:36px;margin:0}
.phs-step__n img{width:36px;height:36px}
.phs-step__b{flex:1;display:flex;flex-direction:column;gap:var(--sp-2)}
.phs-step h3{color:#fff}
.phs-step p{color:rgba(255,255,255,.82);margin:0}

/* Abschnittsköpfe */
.phs-head--center{max-width:760px;margin-inline:auto;text-align:center;align-items:center}
.phs-head--center>p:not(.phs-eyebrow){max-width:var(--measure)}
.phs-sec>.phs-head{padding-inline:var(--gutter)}

/* Hinweisbox */
.phs-note{background:var(--tint);padding:var(--sp-5);border-radius:var(--r);border-left:3px solid var(--blue);font-size:var(--fs-sm);line-height:1.6}
.phs-col-media>.phs-note+.phs-note{margin-top:0}

/* FAQ */
.phs-faq{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.phs-faq details{border-bottom:1px solid var(--line)}
.phs-faq summary{list-style:none;cursor:pointer;position:relative;padding:var(--sp-5) var(--sp-7) var(--sp-5) 0;font-family:var(--fh);font-size:var(--fs-h4);font-weight:650;line-height:var(--lh-sub);color:var(--ink);transition:color .2s ease}
.phs-faq summary:hover,.phs-faq details[open] summary{color:var(--blue)}
.phs-faq summary::-webkit-details-marker{display:none}
.phs-faq summary::after{content:"";position:absolute;right:4px;top:50%;width:16px;height:16px;margin-top:-8px;background:var(--blue);-webkit-mask:var(--i-angle) center/contain no-repeat;mask:var(--i-angle) center/contain no-repeat;transition:transform .25s var(--ease)}
.phs-faq details[open] summary::after{transform:rotate(180deg)}
.phs-faq details>:not(summary){padding:0 var(--sp-7) var(--sp-5) 0}
.phs-faq details>p+p{margin-top:0;padding-top:0}
.phs-faq details[open]>:not(summary){animation:phsFaq .35s ease both}
@keyframes phsFaq{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* Entscheidungstabelle */
.phs-dt{--dt-soft:#F8F8F9;display:block;width:100%;color:var(--ink);line-height:1.6}
.phs-dt__cap{margin:0 0 var(--sp-4);font-family:var(--fh);font-size:var(--fs-h4);font-weight:650;line-height:var(--lh-sub);color:var(--ink)}
.phs-dt__box{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.phs-dt__row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.7fr) minmax(0,1.6fr);border-top:1px solid var(--line)}
.phs-dt__row--head{background:var(--ink);border-top:0}
.phs-dt__row--head>span{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;line-height:1.4}
.phs-dt__row>span{display:block;padding:var(--sp-4);font-size:var(--fs-sm);color:var(--slate);overflow-wrap:break-word;hyphens:auto}
.phs-dt__row>span:first-child{font-weight:650;color:var(--ink);background:var(--dt-soft)}
.phs-dt__row--head>span:first-child{background:transparent;color:#fff}
.phs-dt__lbl{display:none}
.phs-dt__pick{display:inline-block;padding:.2em .8em;border-radius:100px;font-size:var(--fs-xs);font-weight:700;line-height:1.6;background:#E7EBF5;color:var(--blue-d);white-space:nowrap}
.phs-dt__pick--ask{background:#EDEDEE;color:var(--slate)}

/* =====================================================================
   9. CTA-Band
   ===================================================================== */
.phs-cta{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:var(--night);padding-block:var(--sec)}
.phs-cta>figure.wp-block-image,.phs-cta__bg{position:absolute!important;inset:0;z-index:-2;margin:0;width:100%;height:100%}
.phs-cta>figure.wp-block-image img,.phs-cta__bg img{width:100%;height:100%;object-fit:cover;border-radius:0}
.phs-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--cta-ov)}
.phs-cta__content{max-width:720px}
.phs-cta__title{font-family:var(--fh);font-size:var(--fs-d2);font-weight:700;line-height:var(--lh-tight);letter-spacing:-.025em;color:#fff}
.phs-cta p{color:rgba(255,255,255,.9);font-size:var(--fs-lead);line-height:1.6}

/* =====================================================================
   10. Header & Navigation
   ===================================================================== */
.phs-header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 1px 0 rgba(17,26,46,.06);transition:box-shadow .3s ease}
.phs-header.is-scrolled{box-shadow:0 6px 30px rgba(17,26,46,.12)}
.admin-bar .phs-header{top:32px}
@media (max-width:782px){.admin-bar .phs-header{top:46px}}
@media (max-width:600px){.admin-bar .phs-header{top:0}}
.phs-header__in{display:flex;align-items:center;gap:var(--sp-6);min-height:var(--hdr);transition:min-height .3s ease}
.phs-logo{display:block;flex:0 0 auto;line-height:0}
.phs-logo img{width:170px;height:auto;transition:width .3s ease}
.phs-nav{flex:1;display:flex;justify-content:flex-end;align-items:center}
.phs-nav ul{list-style:none;margin:0;padding:0}
.phs-nav li+li{margin-top:0}
.phs-menu{display:flex;align-items:center;gap:var(--sp-6)}
.phs-menu>li{position:relative;display:flex;align-items:center;white-space:nowrap}
.phs-menu a{display:flex;align-items:center;font-family:var(--fh);font-size:1rem;font-weight:600;line-height:1.5;color:var(--ink);text-decoration:none;transition:color .2s ease}
.phs-menu>li>a{position:relative;padding-block:var(--sp-4)}
.phs-menu>li>a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.phs-menu>li>a:hover::after,.phs-menu>li.current-menu-item>a::after,.phs-menu>li.current-menu-ancestor>a::after,.phs-menu>li.current_page_item>a::after,.phs-menu>li.current-page-ancestor>a::after{transform:scaleX(1)}
.phs-menu a:hover,.phs-menu a:focus-visible,.phs-menu .current-menu-item>a,.phs-menu .current-menu-ancestor>a,.phs-menu .current_page_item>a,.phs-menu .current-page-ancestor>a{color:var(--blue)}
.phs-sub-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;margin-left:2px;border:0;background:none;color:var(--ink);cursor:pointer;border-radius:4px}
.phs-sub-toggle::before{content:"";width:10px;height:10px;background:currentColor;-webkit-mask:var(--i-angle) center/contain no-repeat;mask:var(--i-angle) center/contain no-repeat;transition:transform .25s var(--ease)}
.phs-menu li.is-open>.phs-sub-toggle::before{transform:rotate(180deg)}
.phs-nav__cta{display:none}
.phs-header__cta{flex:0 0 auto}
.phs-header__cta .phs-btn{min-height:48px;font-size:1rem}
.phs-burger{display:none}

@media (min-width:1025px){
	.phs-menu .sub-menu{position:absolute;left:-20px;top:calc(100% - 4px);min-width:260px;padding:var(--sp-2);background:#fff;border-radius:var(--r);box-shadow:var(--shadow-h);border-top:3px solid var(--blue);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s var(--ease),visibility .2s}
	.phs-menu li:hover>.sub-menu,.phs-menu li:focus-within>.sub-menu,.phs-menu li.is-open>.sub-menu{opacity:1;visibility:visible;transform:none}
	.phs-menu li:hover>.phs-sub-toggle::before{transform:rotate(180deg)}
	.phs-menu .sub-menu a{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-s);font-size:.9375rem;white-space:normal;transition:color .2s ease,background-color .2s ease}
	.phs-menu .sub-menu a:hover{background:var(--tint)}
	.phs-header.is-scrolled{--hdr:68px}
	.phs-header.is-scrolled .phs-logo img{width:140px}
}
@media (max-width:1180px) and (min-width:1025px){.phs-menu{gap:var(--sp-5)}.phs-header__in{gap:var(--sp-5)}}

/* Mobile Navigation: Vollbild-Panel unter dem Header */
@media (max-width:1024px){
	.phs-header__in{gap:var(--sp-4)}
	.phs-logo img{width:auto;height:42px}
	.phs-header__cta{display:none}
	.phs-burger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-left:auto;margin-right:-8px;padding:0;border:0;border-radius:var(--r);background:none;color:var(--blue);cursor:pointer}
	.phs-burger:hover{background:var(--tint)}
	.phs-burger__box,.phs-burger__box::before,.phs-burger__box::after{position:absolute;left:50%;width:24px;height:2px;margin-left:-12px;border-radius:2px;background:currentColor;transition:transform .3s var(--ease),opacity .2s ease,top .3s var(--ease)}
	.phs-burger__box{top:50%;margin-top:-1px}
	.phs-burger__box::before,.phs-burger__box::after{content:"";left:0;margin-left:0}
	.phs-burger__box::before{top:-7px}
	.phs-burger__box::after{top:7px}
	.phs-burger[aria-expanded="true"] .phs-burger__box{background:transparent}
	.phs-burger[aria-expanded="true"] .phs-burger__box::before{top:0;transform:rotate(45deg)}
	.phs-burger[aria-expanded="true"] .phs-burger__box::after{top:0;transform:rotate(-45deg)}

	.phs-nav{position:fixed;left:0;right:0;top:var(--nav-top,var(--hdr));bottom:0;z-index:49;display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-6);padding:var(--sp-3) var(--gutter) calc(var(--sp-6) + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--tint);overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .25s ease,transform .3s var(--ease),visibility .3s}
	.phs-nav.is-open{opacity:1;visibility:visible;transform:none}
	.phs-menu{flex-direction:column;align-items:stretch;gap:0}
	.phs-menu>li{flex-wrap:wrap;white-space:normal;border-bottom:1px solid var(--tint)}
	.phs-menu>li>a{flex:1;min-height:56px;padding-block:var(--sp-3);font-size:1.125rem}
	.phs-menu>li>a::after{display:none}
	.phs-sub-toggle{width:48px;height:48px;margin:0 -12px 0 0}
	.phs-sub-toggle::before{width:14px;height:14px}
	.phs-menu .sub-menu{flex:0 0 100%;display:block;max-height:0;overflow:hidden;visibility:hidden;transition:max-height .35s var(--ease),visibility .35s,padding .35s var(--ease)}
	.phs-menu li.is-open>.sub-menu{max-height:480px;visibility:visible;padding-bottom:var(--sp-3)}
	.phs-menu .sub-menu a{min-height:44px;padding:var(--sp-2) 0 var(--sp-2) var(--sp-4);font-size:1rem;font-weight:500;color:var(--slate);border-left:2px solid var(--line)}
	.phs-menu .sub-menu .current-menu-item>a,.phs-menu .sub-menu a:hover{color:var(--blue);border-left-color:var(--blue)}
	.phs-nav__cta{display:flex;flex-direction:column;gap:var(--sp-3);padding-top:var(--sp-5)}
	.phs-nav__cta .phs-btn{width:100%}
	.phs-nav__cta .phs-btn--ghost{background:var(--tint);color:var(--ink)}
	.phs-nav__cta .phs-btn--ghost:hover{background:var(--line);color:var(--ink);box-shadow:none}
	.phs-nav__hours{margin:0;text-align:center;font-size:var(--fs-sm);color:var(--slate)}
	html.phs-nav-open{overflow:hidden}
	html.phs-nav-open body{overflow:hidden}
}
.phs-btn--ghost::before{content:"";width:1em;height:1em;flex:0 0 auto;background:currentColor;-webkit-mask:var(--i-mail) center/contain no-repeat;mask:var(--i-mail) center/contain no-repeat}

/* =====================================================================
   11. Footer
   ===================================================================== */
.phs-footer{background:var(--blue-d);color:rgba(255,255,255,.86);font-size:var(--fs-sm);line-height:1.6}
.phs-footer a{color:#fff;text-decoration:none}
.phs-footer a:hover{text-decoration:underline;text-underline-offset:.2em}
.phs-footer__grid{padding-block:var(--sec-s) var(--sp-6);display:grid;grid-template-columns:1.25fr 1fr 1fr 1.2fr;gap:var(--sp-7) var(--sp-6)}
.phs-footer__col{display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}
.phs-footer__logo{display:block;max-width:260px;background:#fff;padding:var(--sp-2);border-radius:var(--r)}
.phs-footer__logo img{width:100%;border-radius:calc(var(--r) - 4px)}
.phs-footer__intro{color:rgba(255,255,255,.82)}
.phs-footer__title{font-family:var(--fh);font-size:var(--fs-h4);font-weight:700;line-height:var(--lh-sub);letter-spacing:-.01em;color:#fff;margin:0}
.phs-footer__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-1)}
.phs-footer__links li{margin:0}
.phs-footer__links a{display:inline-flex;align-items:center;gap:var(--sp-2);padding-block:var(--sp-1);transition:transform .2s ease}
.phs-footer__links a:hover{transform:translateX(3px)}
.phs-footer__links a::before{content:"";width:6px;height:6px;border-radius:1px;background:var(--sky);flex:0 0 6px}
.phs-iso{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);align-self:flex-start;min-height:44px;font-family:var(--fe);font-size:var(--fs-xs);font-weight:700;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;background:var(--blue);color:#fff!important;padding:var(--sp-2) var(--sp-4);text-decoration:none!important;text-align:left;border-radius:var(--r);transition:background-color .25s ease}
.phs-iso::before{content:"";width:16px;height:16px;flex:0 0 16px;background:currentColor;-webkit-mask:var(--i-cert) center/contain no-repeat;mask:var(--i-cert) center/contain no-repeat}
.phs-iso:hover{background:var(--blue)!important;filter:brightness(1.15)}
.phs-fcontact{display:flex;align-items:flex-start;gap:var(--sp-3)}
.phs-fcontact .phs-ico{font-size:22px;margin-top:2px;color:var(--sky)}
.phs-fcontact>div{display:flex;flex-direction:column}
.phs-fcontact__t{display:block;font-family:var(--fh);font-size:.9375rem;font-weight:650;line-height:1.5;color:#fff}
.phs-footer__bottom{border-top:1px solid rgba(255,255,255,.17);padding-block:var(--sp-5);display:flex;justify-content:center}
.phs-footer__legal{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2) var(--sp-5);font-size:var(--fs-sm)}
.phs-footer__legal li{margin:0}
.phs-made{background:#fff;padding:var(--sp-3);text-align:center;font-size:var(--fs-sm)}
.phs-made a{display:inline-block;font-weight:600;text-decoration:none;background-image:linear-gradient(90deg,#053741,#00bfa5,#053741);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:phsGrad 3s linear infinite}
@keyframes phsGrad{0%{background-position:0% 50%}100%{background-position:200% 50%}}

/* =====================================================================
   12. Karte, Formular, Rechtstexte, 404
   ===================================================================== */
.phs-map{position:relative;aspect-ratio:16/10;min-height:280px;border-radius:var(--r);overflow:hidden;background:var(--tint);box-shadow:var(--shadow)}
.phs-map__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);padding:var(--sp-5);text-align:center;background:linear-gradient(135deg,var(--tint) 25%,#fff 100%)}
.phs-map__ph .phs-ico{font-size:40px;color:var(--blue);--ico:var(--i-marker)}
.phs-map__ph p{font-size:var(--fs-sm);max-width:420px}
.phs-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.phs-form{background:#fff;padding:var(--pad);border-radius:var(--r);box-shadow:var(--shadow);border:1px solid var(--tint);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4) var(--sp-5)}
.phs-form>*{min-width:0}
.phs-form .phs-f--full{grid-column:1/-1}
.phs-form label{display:block;font-family:var(--fh);font-size:var(--fs-sm);font-weight:650;color:var(--ink);margin-bottom:var(--sp-2)}
.phs-form .req{color:var(--blue)}
.phs-form input[type=text],.phs-form input[type=email],.phs-form input[type=tel],.phs-form input[type=number],.phs-form input[type=date],.phs-form select,.phs-form textarea{width:100%;min-height:48px;padding:.7em .9em;font-size:1rem;line-height:1.4;color:var(--ink);background:#fff;border:1px solid #CFD3DB;border-radius:var(--r-s);transition:border-color .15s,box-shadow .15s}
.phs-form textarea{min-height:140px;resize:vertical}
.phs-form input:hover,.phs-form select:hover,.phs-form textarea:hover{border-color:#A9AFBC}
.phs-form input:focus,.phs-form select:focus,.phs-form textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(35,65,146,.15)}
.phs-form input[type=file]{width:100%;font-size:var(--fs-sm);padding:var(--sp-3);background:var(--tint);border:1px dashed var(--grey);border-radius:var(--r-s);cursor:pointer}
.phs-form .phs-hint{display:block;font-size:var(--fs-xs);line-height:1.5;margin-top:var(--sp-1);color:var(--slate)}
.phs-form .phs-consent{display:flex;gap:var(--sp-3);align-items:flex-start;font-family:var(--ff);font-weight:400;font-size:var(--fs-sm);line-height:1.55;color:var(--slate)}
.phs-form .phs-consent input{margin-top:2px;width:20px;height:20px;flex:0 0 20px;accent-color:var(--blue)}
.phs-form button,.phs-form .phs-btn{justify-self:start}
.phs-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.phs-form__msg{grid-column:1/-1;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-s);font-size:var(--fs-sm)}
.phs-form__msg--ok{background:#E6F4EA;color:#14532D}
.phs-form__msg--err{background:#FDECEC;color:#7F1D1D}

.phs-legal{padding-block:var(--sec-s) var(--sec);color:var(--slate)}
.phs-legal>*{max-width:820px}
.phs-legal h1{font-size:var(--fs-h2);line-height:var(--lh-head);letter-spacing:-.02em;margin:0 0 var(--sp-6)}
.phs-legal h2{font-size:var(--fs-h4);line-height:var(--lh-sub);letter-spacing:-.01em;margin:var(--sp-7) 0 var(--sp-3)}
.phs-legal h3{font-size:1rem;margin:var(--sp-5) 0 var(--sp-2)}
.phs-legal p,.phs-legal ul,.phs-legal ol,.phs-legal address{margin:0 0 1em;font-style:normal}
.phs-legal a{overflow-wrap:anywhere}
.phs-404{padding:var(--sec) var(--gutter);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--flow)}

/* Fließtext-Links */
main p a,main li a{text-decoration-color:rgba(26,49,111,.35);transition:color .2s ease,text-decoration-color .2s ease}
main p a:hover,main li a:hover{text-decoration-color:currentColor}
.phs-on-dark a,.phs-hero p a,.phs-cta p a{color:#fff;text-decoration-color:rgba(255,255,255,.5)}

/* =====================================================================
   13. Responsive
   ===================================================================== */
@media (max-width:1024px){
	.phs-cards--4,.phs-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
	.phs-cards--1{grid-template-columns:minmax(0,1fr)}
	.phs-steps,.phs-steps--3{grid-template-columns:repeat(2,minmax(0,1fr))}
	.phs-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.phs-usp{grid-template-columns:minmax(0,1fr)}
	.phs-usp__item+.phs-usp__item{border-left:0;border-top:1px solid var(--tint)}
	.phs-dt__box{border:0;background:transparent;overflow:visible;box-shadow:none}
	.phs-dt__row.phs-dt__row--head{display:none}
	.phs-dt__row{display:block;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:0 var(--r) var(--r) 0;background:#fff;padding:var(--sp-4);margin:0 0 var(--sp-3)}
	.phs-dt__row>span,.phs-dt__row>span:first-child{padding:0;background:transparent}
	.phs-dt__row>span:first-child{font-size:1rem;margin:0 0 var(--sp-3)}
	.phs-dt__row>span:last-child{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid var(--line)}
	.phs-dt__lbl{display:block;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin:0 0 var(--sp-1)}
}
@media (max-width:900px){
	.phs-split,.phs-split--4555,.phs-split--5545{grid-template-columns:minmax(0,1fr)}
	.phs-split--rev>.phs-col-text{order:-1}
	.phs-col-text--end{text-align:left}
	.phs-col-media figure{max-height:none}
}
@media (max-width:767px){
	.phs-tiles,.phs-cards,.phs-cards--2,.phs-cards--4,.phs-steps,.phs-steps--3,.phs-footer__grid{grid-template-columns:minmax(0,1fr)}
	.phs-usp{margin-top:-56px}
	.phs-hero:has(+.phs-usp-sec) .phs-hero__inner{padding-bottom:calc(clamp(4rem,2rem + 8vw,9rem) + 40px)}
	.phs-hero{min-height:calc(100svh - var(--hdr) - 40px)}
	.phs-head--center,.phs-head--center .has-text-align-center,.phs-sec>.phs-wrap>.phs-eyebrow:only-child{text-align:left;align-items:flex-start}
	.phs-anim .phs-head--center .phs-divider[data-anim]{transform-origin:left}
	.phs-card--wrap{flex-direction:column}
	.phs-card--wrap>.phs-card__in{min-width:0}
	.phs-badge{top:auto;bottom:16px;right:16px;width:112px;height:112px}
	.phs-badge__n{font-size:2.5rem}
	.phs-badge__t{font-size:.75rem}
	.phs-form{grid-template-columns:minmax(0,1fr)}
	.phs-form button,.phs-form .phs-btn{justify-self:stretch;width:100%}
	.phs-answer{padding-left:var(--sp-4)}
	.phs-faq details>:not(summary){padding-right:0}
	.phs-footer__grid{gap:var(--sp-6)}
	.phs-footer__col+.phs-footer__col{padding-top:var(--sp-6);border-top:1px solid rgba(255,255,255,.14)}
	.phs-footer__legal{gap:var(--sp-2) var(--sp-4)}
}

/* =====================================================================
   14. Bewegung
   ===================================================================== */
[data-phs-parallax] img{will-change:transform}
.phs-card,.phs-tile{transition:transform .35s var(--ease),box-shadow .35s ease}
.phs-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-h)}
.phs-tile img{transition:transform .7s var(--ease)}
.phs-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-h)}
.phs-tile:hover img{transform:scale(1.05)}
.phs-col-media img{transition:transform .9s var(--ease)}
.phs-col-media figure:hover img{transform:scale(1.03)}

/* Hero beim Laden einblenden (reines CSS) */
.phs-hero__content>*{animation:phsUp .9s var(--ease) both}
.phs-hero__content>:nth-child(1){animation-delay:.1s}
.phs-hero__content>:nth-child(2){animation-delay:.22s}
.phs-hero__content>:nth-child(3){animation-delay:.36s}
.phs-hero__content>:nth-child(4){animation-delay:.5s}
.phs-hero>figure img{animation:phsZoom 2.4s var(--ease) both}
@keyframes phsUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes phsZoom{from{transform:scale(1.18)}to{transform:scale(1.12)}}
.phs-usp{animation:phsUp .9s .55s var(--ease) both}

/* Scroll-Einblendungen (nur mit JavaScript aktiv) */
.phs-anim [data-anim]{opacity:0;transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:var(--d,0s);will-change:opacity,transform}
.phs-anim [data-anim="up"]{transform:translateY(32px)}
.phs-anim [data-anim="left"]{transform:translateX(-40px)}
.phs-anim [data-anim="right"]{transform:translateX(40px)}
.phs-anim [data-anim="zoom"]{transform:scale(.94)}
.phs-anim [data-anim].is-in{opacity:1;transform:none}
.phs-anim .phs-divider[data-anim]{transform:scaleX(0);transform-origin:left;opacity:1}
.phs-anim .phs-head--center .phs-divider[data-anim]{transform-origin:center}
.phs-anim .phs-divider[data-anim].is-in{transform:scaleX(1)}
.phs-badge.is-in{animation:phsPop .7s .3s cubic-bezier(.3,1.5,.5,1) both}
@keyframes phsPop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
@media (max-width:767px){.phs-anim [data-anim="left"],.phs-anim [data-anim="right"]{transform:translateY(24px)}}

@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
	.phs-anim [data-anim]{opacity:1!important;transform:none!important}
	.phs-card:hover,.phs-tile:hover,.phs-btn:hover,.phs-btns a:hover{transform:none}
}
