/*
Theme Name: HSEConsulting – Marcus Moser
Description: Eigenständiges WordPress-Theme auf Basis der HSEConsulting-Gestaltung. Texte unter Design > Customizer > HSEConsulting bearbeiten; Kontaktversand unter Design > HSEConsulting einrichten.
Version: 1.1.0
Author: Marcus Moser
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: hseconsulting
License: GNU General Public License v2 or later (PHP, CSS, JavaScript); Bildrechte siehe README.md
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root{--navy:#142c3c;--navy-deep:#102330;--ink:#182e3c;--muted:#536674;--line:#d8e0e4;--paper:#fff;--pale:#f3f6f7;--lime:#d9ef82;--max:1280px;--gutter:clamp(1.25rem,4.4vw,5.25rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}body,button{font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;height:auto}p,h1,h2,h3,figure{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #7b990b;outline-offset:6px}::selection{background:var(--lime);color:var(--navy)}.container{max-width:calc(var(--max) + 2*var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(4.5rem,7.5vw,7rem)}.eyebrow{font-size:.8125rem;line-height:1.4;letter-spacing:.13em;font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:.85rem;margin-bottom:1.7rem}.section-number{font-weight:400;color:var(--muted)}.light{color:#c6d3da}.skip-link{position:fixed;top:8px;left:8px;z-index:20;background:var(--lime);padding:.5rem 1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
.site-header{background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(20,44,60,.08)}.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.7rem;flex-shrink:0}.brand-mark{position:relative;display:block;width:68px;height:63px;overflow:hidden}.brand-mark img{position:absolute;max-width:none;width:88px;height:auto;left:-10px;top:0}.brand-wordmark{position:relative;display:block;width:185px;height:62px;overflow:hidden}.brand-wordmark img{position:absolute;max-width:none;width:204px;height:auto;left:-7px;top:-153px}.brand-type>span{display:block;font-size:1.5rem;line-height:1.25;letter-spacing:-.065em}.brand-type strong{font-weight:800}.brand-type small{display:block;text-transform:uppercase;font-size:.6875rem;letter-spacing:.23em;line-height:1.9;color:#324756}.site-header nav{display:flex;align-items:center;gap:2rem;font-size:.875rem;font-weight:600}.site-header nav>a:not(.nav-contact){position:relative;padding-block:.5rem}.site-header nav>a:not(.nav-contact)::after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--ink);transition:width .2s}.site-header nav>a:hover::after{width:100%}.nav-contact{background:var(--navy);color:white;padding:.7rem 1.3rem;display:flex;align-items:center;gap:1.8rem}.nav-contact:hover{background:#284557}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.05fr 1fr;background:var(--navy);color:white;max-width:1800px;margin:auto}.hero-copy{padding:clamp(3.5rem,5.4vw,6.5rem) clamp(2rem,4.3vw,5rem) 3.5rem max(var(--gutter),calc((100vw - var(--max))/2));display:flex;flex-direction:column;align-items:flex-start}.hero h1{font-size:clamp(3.2rem,5.05vw,5rem);font-weight:500;letter-spacing:-.055em;line-height:1.08}.hero h1>span{color:var(--lime)}.hero-intro{font-size:1.125rem;line-height:1.65;color:#c9d5dc;max-width:29rem;margin-top:1.8rem}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.4rem;margin-top:2.2rem}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:1.8rem;padding:1rem 1.25rem;line-height:1.4;font-size:.9375rem;font-weight:600;min-height:50px;transition:background .2s}.button-lime{background:var(--lime);color:var(--navy)}.button-lime:hover{background:#e9ff9b}.button>span{font-size:1.4rem;line-height:1}.text-link{display:inline-flex;align-items:center;gap:1rem;font-size:.9375rem;line-height:1.6;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:.2rem}.text-link:hover{color:#586e13}.light-link:hover{color:var(--lime)}.hero-signature{display:flex;gap:.9rem;align-items:center;margin-top:3rem;font-size:.9375rem}.hero-signature small{display:block;color:#b6c7d1;font-size:.8125rem;line-height:1.55}.signature-line{width:32px;height:1px;background:var(--lime)}.hero-image{position:relative;min-height:620px;background:#9dafbb;overflow:hidden}.hero-image>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:60% 50%}.hero-image figcaption{position:absolute;bottom:0;right:0;left:0;background:rgba(16,35,48,.90);display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1.25rem 1.75rem;font-size:.8125rem;line-height:1.5;color:#e8eff3}.hero-image figcaption span:last-child{color:var(--lime);white-space:nowrap}.credentials-strip{border-bottom:1px solid var(--line)}.credentials-grid{display:grid;grid-template-columns:repeat(3,1fr);padding-block:2rem}.credentials-grid>div{display:flex;align-items:center;justify-content:center;gap:1.25rem;border-left:1px solid var(--line)}.credentials-grid>div:first-child{border-left:0;justify-content:flex-start}.credential-symbol{font-size:1.65rem;font-weight:600;letter-spacing:-.045em}.credentials-grid p{font-size:.875rem;line-height:1.5;color:var(--muted)}
h2{font-size:clamp(2.2rem,3.25vw,3.25rem);letter-spacing:-.045em;font-weight:500;line-height:1.15}h3{font-size:1.1875rem;letter-spacing:-.025em;line-height:1.4;font-weight:600}.section-intro{margin-block:1.65rem 2rem;max-width:30rem;color:var(--muted);font-size:1.0625rem}.service-section{display:grid;grid-template-columns:1fr 1fr;gap:3rem 6rem}.service-list{padding-top:.4rem}.service-list article{display:flex;gap:1.3rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}.service-list article:first-child{padding-top:0}.list-index{font-size:.8125rem;color:#607786;line-height:1.9;min-width:22px}.service-list p{color:var(--muted);margin-top:.6rem;font-size:.9375rem;line-height:1.65}.service-scope{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;gap:2rem;background:var(--pale);border-left:3px solid #97b346;padding:1.5rem 1.8rem}.service-scope strong{font-size:1rem}.service-scope p{font-size:.875rem;line-height:1.65;color:var(--muted)}
.training-section{background:var(--pale)}.training-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:end}.training-heading>p{max-width:25rem;color:var(--muted);font-size:1.0625rem;padding-bottom:.3rem}.format-bar{display:grid;grid-template-columns:repeat(3,1fr);margin-block:2.6rem 1.7rem;border-top:1px solid #cbd7dd;border-bottom:1px solid #cbd7dd;padding-block:1.2rem;gap:2rem}.format-bar>span{display:block}.format-bar strong{font-size:.9375rem;font-weight:600}.format-bar small{display:block;font-size:.8125rem;color:var(--muted);margin-top:.15rem}.course{border-bottom:1px solid #cbd7dd}.course summary{display:grid;grid-template-columns:2.3rem minmax(0,1fr) 15rem 2rem;gap:1rem;align-items:center;padding:1.8rem 0;cursor:pointer;list-style:none;transition:color .2s}.course summary::-webkit-details-marker{display:none}.course summary:hover{color:#59711c}.course-number{font-size:.875rem;color:var(--muted);align-self:start;padding-top:.25rem}.course-title{font-size:clamp(1.25rem,2vw,1.625rem);font-weight:500;line-height:1.35;letter-spacing:-.025em}.course-title small{display:block;font-size:.875rem;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:.45rem}.course-audience{font-size:.8125rem;color:var(--muted);line-height:1.5}.course-toggle{width:28px;height:28px;position:relative}.course-toggle::before,.course-toggle::after{content:"";position:absolute;background:currentColor;top:13px;left:5px;width:18px;height:1px}.course-toggle::after{transform:rotate(90deg);transition:transform .2s}.course[open] .course-toggle::after{transform:rotate(0)}.course[open] summary{color:var(--ink)}.course-body{padding:0 3rem 2.2rem 3.3rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 3rem}.course-body h3{font-size:.9375rem;margin-bottom:.65rem}.course-body p,.course-body li{font-size:.9375rem;line-height:1.7;color:var(--muted)}.course-body ul{padding-left:1.15rem;margin:0}.course-body li+li{margin-top:.45rem}.course-result{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1rem}.course-body .text-link{justify-self:start}.training-note{font-size:.875rem;color:var(--muted);max-width:51rem;margin-top:1.5rem}
.profile-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:6rem;align-items:start}.profile-brand{background:#e8eef0;min-height:580px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:3.3rem 2rem 2rem}.profile-logo-wrap{background:white;width:245px;max-width:80%;padding:1.2rem}.profile-logo-wrap img{width:100%;height:auto}.profile-brand>p{font-size:1.6rem;letter-spacing:-.035em;line-height:1.4;font-weight:500;margin-top:2rem}.profile-location{font-size:.8125rem;color:var(--muted);border-top:1px solid #bdcbd2;padding-top:1.4rem;margin-top:2rem;width:100%}.profile-copy>.eyebrow{margin-top:.5rem}.profile-lead{font-size:1.125rem;line-height:1.6;margin:1.2rem 0 1.8rem}.profile-copy>p:not(.eyebrow):not(.profile-lead){color:var(--muted);margin-top:1rem;line-height:1.75}.profile-highlights{list-style:none;padding:0;margin:1.8rem 0}.profile-highlights li{padding-left:1.5rem;position:relative;font-size:.9375rem;line-height:1.6;margin-block:.6rem}.profile-highlights li::before{content:"";width:6px;height:6px;background:#74901c;position:absolute;top:.6rem;left:0}.qualifications{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.875rem}.qualifications summary{display:flex;justify-content:space-between;gap:1rem;list-style:none;cursor:pointer;padding:1rem 0;font-weight:600}.qualifications summary::-webkit-details-marker{display:none}.qualifications summary>span{font-size:1.25rem;line-height:1}.qualifications[open] summary>span{transform:rotate(45deg)}.qualifications ul{padding-left:1.15rem;color:var(--muted);margin:0 0 1.2rem}.qualifications li+li{margin-top:.5rem}
.process-section{padding:4.5rem 0;background:#f3f6f7}.process-section>.container{display:grid;grid-template-columns:1fr 1.65fr;gap:4rem}.process-heading h2{font-size:2.1rem}.process-heading .eyebrow{font-size:.75rem;line-height:1.5}.process-list{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0;gap:2rem}.process-list li>span{display:block;color:#738793;font-size:.875rem;margin-bottom:1.5rem}.process-list h3{font-size:1rem;margin-bottom:.75rem}.process-list p{font-size:.875rem;color:var(--muted);line-height:1.7}.contact-section{background:var(--navy);color:white}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:7rem}.contact-section h2{font-size:clamp(2.8rem,4vw,4rem);letter-spacing:-.045em}.contact-section h2+p{color:#becdd5;font-size:1.0625rem;max-width:29rem;margin-top:1.7rem;line-height:1.75}.contact-details dl{margin:0}.contact-details dl>div{border-bottom:1px solid #425766;padding-bottom:1.2rem;margin-bottom:1.2rem}.contact-details dt{color:#acbfcb;font-size:.8125rem;line-height:1.5;margin-bottom:.4rem}.contact-details dd{font-size:1.0625rem;line-height:1.6;margin:0}.contact-preview{border-left:2px solid var(--lime);padding-left:1.1rem;margin-top:1.6rem}.preview-label{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--lime)}.contact-preview p{font-size:.9375rem;margin-top:.4rem;color:#dee7ec}.contact-preparation{font-size:.8125rem;color:#b1c3ce;margin-top:1.6rem;line-height:1.7}.site-footer{background:var(--navy-deep);color:white;padding-block:2.25rem}.footer-inner{display:grid;grid-template-columns:1fr 1fr auto;gap:1.5rem 2rem;align-items:center}.footer-brand{font-weight:700;font-size:1.1rem;letter-spacing:-.035em}.footer-brand>span{display:block;font-size:.75rem;letter-spacing:.04em;font-weight:400;color:#b8c8d2}.footer-inner>p{font-size:.8125rem;color:#b8c8d2}.footer-inner nav{display:flex;gap:1.8rem;font-size:.8125rem}.footer-inner nav a:hover{text-decoration:underline}.footer-inner>small{grid-column:1/-1;border-top:1px solid #344955;padding-top:1rem;font-size:.75rem;color:#a7bac6}.legal-main{max-width:850px;min-height:70vh;padding-block:4.5rem 6rem}.legal-main h1{font-size:clamp(2.6rem,5vw,4rem);font-weight:500;letter-spacing:-.045em;line-height:1.1;margin-bottom:2rem}.legal-main h2{font-size:1.25rem;margin:2rem 0 .7rem;font-weight:600;letter-spacing:-.015em}.legal-main p+p{margin-top:1rem}.legal-main p,.legal-main li{color:var(--muted)}.legal-main a{text-decoration:underline;text-underline-offset:3px}.legal-note{padding:1.25rem 1.5rem;background:var(--pale);border-left:3px solid #97b346;margin:2rem 0}.legal-back{display:inline-block;margin-top:2rem;font-size:.9375rem}
@media(min-width:1800px){.hero-copy{padding-left:calc((1800px - var(--max))/2)}}
@media(max-width:1100px){.site-header nav{gap:1.25rem}.hero-copy{padding-right:2rem}.hero h1{font-size:clamp(3rem,5.8vw,4rem)}.hero-image{min-height:590px}.hero-image figcaption{flex-direction:column;align-items:flex-start;gap:.15rem}.service-section{gap:3rem}.profile-section{gap:3.5rem}.contact-grid{gap:4rem}.course summary{grid-template-columns:2rem minmax(0,1fr) 11rem 2rem}.process-section>.container{display:block}.process-list{margin-top:2.5rem}.process-heading h2 br{display:none}.profile-brand{min-height:560px}.header-inner{min-height:88px}.brand-type>span{font-size:1.35rem}}
@media(max-width:820px){html{scroll-padding-top:82px}.header-inner{min-height:80px;gap:1rem}.menu-toggle{display:flex;align-items:center;gap:.8rem;background:none;border:1px solid var(--line);padding:.5rem .75rem;font-size:.875rem;cursor:pointer}.menu-lines{position:relative;width:17px;height:14px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.menu-lines::before{content:"";position:absolute;top:5px;left:0;width:17px;height:1px;background:var(--ink)}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:1rem var(--gutter) 1.5rem;border-bottom:1px solid var(--line);align-items:stretch;flex-direction:column;gap:.7rem}.site-header nav.is-open{display:flex}.site-header nav .nav-contact{justify-content:space-between}.hero{grid-template-columns:1fr 0.82fr}.hero-copy{padding-top:3.3rem;padding-bottom:2.6rem;padding-right:1.6rem}.hero .eyebrow{font-size:.6875rem;letter-spacing:.1em;margin-bottom:1.5rem}.hero h1{font-size:clamp(2.6rem,5.5vw,3.5rem)}.hero-intro{font-size:1rem}.hero-actions{gap:1.2rem;margin-top:1.6rem}.hero-actions .button{font-size:.8125rem;padding:.9rem 1rem;gap:.8rem}.hero-signature{margin-top:2rem}.hero-image{min-height:550px}.credentials-grid{padding-block:1.5rem;gap:1rem}.credentials-grid>div{display:block;padding-left:1.3rem}.credentials-grid>div:first-child{padding-left:0}.credential-symbol{display:block;margin-bottom:.3rem;font-size:1.4rem}.credentials-grid p{font-size:.8125rem}.service-section{grid-template-columns:1fr;gap:2.5rem}.service-section h2 br{display:none}.section-heading h2{max-width:31rem}.section-intro{max-width:37rem}.service-scope{grid-template-columns:1fr;gap:.6rem}.training-heading{gap:2rem}.training-heading>p{font-size:1rem}.course summary{grid-template-columns:1.7rem minmax(0,1fr) 2rem}.course-audience{display:none}.course-body{padding-left:2.7rem;padding-right:1rem;gap:1.5rem}.profile-section{grid-template-columns:.78fr 1fr;gap:2.5rem}.profile-brand{padding:2rem 1rem;min-height:auto}.profile-logo-wrap{padding:.75rem;width:200px;max-width:95%}.profile-brand>p{font-size:1.3rem}.profile-location{font-size:.75rem}.contact-grid{gap:3rem}.footer-inner{grid-template-columns:1fr auto}.footer-inner>p{grid-column:1;grid-row:2}.footer-inner nav{grid-column:2;grid-row:1/3}}
@media(max-width:600px){.brand{gap:.4rem}.brand-mark{width:45px;height:44px}.brand-mark img{width:60px;left:-7px;top:0}.brand-wordmark{width:120px;height:42px}.brand-wordmark img{width:136px;left:-7px;top:-102px}.hero{display:flex;flex-direction:column}.hero-copy{padding:3rem var(--gutter) 2.5rem}.hero h1{font-size:clamp(2.5rem,11.5vw,4.3rem)}.hero .eyebrow{font-size:.75rem;letter-spacing:.07em}.hero-intro{max-width:29rem;font-size:1.0625rem}.hero-actions{gap:1.25rem}.hero-actions .button{font-size:.875rem;padding:1rem 1.1rem}.hero-signature{margin-top:2.2rem}.hero-image{height:300px;min-height:0}.hero-image>img{object-position:50% 55%}.hero-image figcaption{padding:.85rem var(--gutter);flex-direction:row;gap:.8rem;font-size:.75rem}.credentials-grid{gap:.75rem;padding-block:1.4rem}.credentials-grid>div{padding-left:.75rem}.credential-symbol{font-size:1.3rem}.credentials-grid p{font-size:.75rem;line-height:1.45}.section{padding-block:4rem}.eyebrow{font-size:.75rem;margin-bottom:1.35rem;letter-spacing:.09em}.service-section{gap:2rem}.service-scope{padding:1.2rem 1.3rem}.training-heading{display:block}.training-heading>p{max-width:32rem;margin-top:1.5rem}.format-bar{grid-template-columns:1fr;margin-top:2rem;gap:.8rem;padding-block:1rem}.format-bar>span{display:grid;grid-template-columns:1fr 1.15fr;align-items:baseline;gap:1rem}.format-bar strong{font-size:.875rem}.format-bar small{font-size:.75rem;margin-top:0;line-height:1.5}.course summary{gap:.65rem;padding:1.4rem 0;grid-template-columns:1.4rem minmax(0,1fr) 1.8rem}.course-title{font-size:1.3rem}.course-title small{font-size:.8125rem;line-height:1.5}.course-number{font-size:.75rem}.course-body{display:block;padding:0 0 1.6rem 2rem}.course-body>div+div{margin-top:1.3rem}.course-body .course-result{margin-top:1.3rem}.course-body .text-link{margin-top:1.25rem}.profile-section{display:flex;flex-direction:column-reverse;gap:2.3rem}.profile-brand{width:100%;min-height:auto;padding:1.2rem;display:grid;grid-template-columns:90px minmax(0,1fr);gap:1rem;text-align:left;align-items:center}.profile-logo-wrap{padding:.5rem;max-width:100%;width:90px}.profile-brand>p{font-size:1.3rem;margin:0}.profile-location{grid-column:1/-1;margin-top:0;text-align:center;padding-top:1rem}.profile-copy .eyebrow{margin-top:0}.process-section{padding-block:3.5rem}.process-heading h2{font-size:2rem}.process-list{grid-template-columns:1fr;gap:1.5rem}.process-list li{display:grid;grid-template-columns:2rem 1fr;gap:.5rem .6rem;border-top:1px solid var(--line);padding-top:1.25rem}.process-list li>span{grid-column:1;grid-row:1/3;margin:0}.process-list h3{margin:0}.process-list p{grid-column:2}.contact-grid{grid-template-columns:1fr;gap:2.7rem}.contact-section h2{font-size:3rem}.contact-section h2+p{font-size:1rem}.footer-inner{grid-template-columns:1fr;gap:1rem}.footer-inner>p{grid-column:auto;grid-row:auto}.footer-inner nav{grid-column:auto;grid-row:auto;margin-block:.4rem}.footer-inner>small{margin-top:.5rem}.legal-main{padding-block:3rem 4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.profile-portrait{width:100%;min-width:0;background:var(--pale)}.portrait-image{aspect-ratio:4/5;overflow:hidden}.portrait-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}.profile-portrait figcaption{padding:1.1rem 1.5rem;font-size:1rem;font-weight:600;line-height:1.5}.profile-portrait figcaption>span{display:block;color:var(--muted);font-size:.875rem;font-weight:400;margin-top:.15rem}@media(max-width:600px){.profile-section{flex-direction:column}.profile-portrait{max-width:400px;margin-inline:auto}}

/* Contact form: the existing navy and lime brand, with a light writing surface. */
.footer-with-contact{padding-block:0}
.footer-bottom{padding-block:2.25rem}
.contact-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.contact-number{color:#a9becb;font-weight:400}
.contact-person{display:flex;flex-direction:column;gap:.2rem;margin-block:2rem 1.5rem}
.contact-person strong{font-size:1.125rem;font-weight:600}
.contact-person span{color:#c6d3da;font-size:.875rem}
.contact-copy .contact-details{max-width:29rem}
.contact-copy .contact-details dl{display:grid;grid-template-columns:1fr 1.4fr;gap:1.25rem}
.contact-copy .contact-details dt,.contact-copy .contact-preparation{font-size:.875rem}
.contact-copy .contact-details dd{font-size:1rem}
.contact-copy .contact-preparation{max-width:29rem;margin-top:.25rem}
.contact-form{background:var(--paper);color:var(--ink);padding:clamp(1.25rem,3vw,2.5rem);min-width:0;border-top:4px solid var(--lime)}
.contact-form h3{font-size:1.5rem;line-height:1.3;font-weight:500;letter-spacing:-.025em}
.contact-form .form-required{font-size:.875rem;line-height:1.6;color:var(--muted);margin-top:.55rem}
.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-top:1.75rem}
.form-field{display:flex;flex-direction:column;gap:.45rem;min-width:0}
.form-field-wide{grid-column:1/-1}
.form-field label{font-size:.875rem;font-weight:600;line-height:1.5}
.field-optional{font-weight:400;color:var(--muted)}
.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;max-width:100%;border:1px solid #9fafb9;border-radius:2px;background:#fff;color:var(--ink);padding:.75rem .85rem;min-height:48px;font:inherit;font-size:1rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}
.form-field select{padding-right:.5rem}
.form-field textarea{resize:vertical;min-height:150px}
.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:var(--navy)}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--navy);outline:2px solid #789526;outline-offset:2px}
.form-field input:user-invalid,.form-field textarea:user-invalid{border-color:#a82e2e}
.form-privacy{font-size:.875rem;color:var(--muted);line-height:1.65;margin-top:1.25rem}
.form-privacy a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.form-availability{background:var(--pale);border-left:3px solid #8c9faa;padding:.85rem 1rem;margin-top:1.2rem;font-size:.875rem;line-height:1.6}
.form-availability strong{font-weight:600}
.form-availability p{margin-top:.2rem;color:var(--muted)}
.form-actions{display:flex;flex-wrap:wrap;gap:.85rem 1rem;align-items:center;margin-top:1.4rem}
.form-actions button{border:0;font:inherit;font-size:.9375rem;font-weight:600}
.form-actions button:disabled{background:#e2e8e1;color:#4d5c48;cursor:not-allowed}
.form-actions>span{font-size:.875rem;color:var(--muted)}
.form-status:empty{display:none}
.form-status{margin-top:1rem;font-size:.9375rem;line-height:1.6;color:#8b2424}
.form-status.is-success{color:#286322}
.contact-form [hidden]{display:none!important}
.contact-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.form-actions button:not(:disabled){cursor:pointer}
.footer-inner nav{flex-wrap:wrap;gap:.75rem 1.4rem}
@media(max-width:960px){.contact-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2rem}.contact-copy .contact-details dl{grid-template-columns:1fr;gap:0}.form-fields{grid-template-columns:1fr}.contact-form{padding:1.5rem}}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr;gap:2.5rem}.contact-copy .contact-details dl{grid-template-columns:1fr 1.4fr;gap:1.25rem}.form-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-copy .contact-details{max-width:none}.contact-form{padding:1.75rem}}
@media(max-width:480px){.form-fields{grid-template-columns:1fr}.contact-form{padding:1.25rem}.contact-copy .contact-details dl{grid-template-columns:1fr;gap:0}.contact-section h2{font-size:clamp(2.25rem,10vw,3rem)}.form-actions{align-items:stretch;flex-direction:column}.form-actions button{justify-content:center}.form-actions>span{text-align:center}}

.legal-address{font-style:normal;color:var(--muted);line-height:1.75}
.contact-methods{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-bottom:2rem}.contact-methods a{font-size:1.0625rem;color:var(--lime);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.contact-methods a:hover{color:white}

/* WordPress integration; original website rules above are unchanged. */
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:600px){.admin-bar .site-header{top:0}}
.legal-main .wp-block-image{margin-block:1.5rem}.legal-main h2 a{text-decoration:none}
