/* Wiebering theme – design based on new.wiebering.com; fonts: PT Sans (body), Europa (headings); red headings as on wiebering.com */
@font-face{font-family:'PT Sans';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/pt-sans-latin-ext-400-italic.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'PT Sans';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/pt-sans-latin-400-italic.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'PT Sans';font-style:italic;font-weight:700;font-display:swap;src:url('../fonts/pt-sans-latin-ext-700-italic.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'PT Sans';font-style:italic;font-weight:700;font-display:swap;src:url('../fonts/pt-sans-latin-700-italic.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'PT Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/pt-sans-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'PT Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/pt-sans-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'PT Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/pt-sans-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'PT Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/pt-sans-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Europa';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/Europa-Regular.otf') format('opentype')}
@font-face{font-family:'Europa';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/Europa-Bold.otf') format('opentype')}

:root{
  --accent:#8e1e1b; --accent-hover:#6f1714;
  --text:#272626; --muted:#5f5d5d;
  --line:#e6e7ea; --bg:#ffffff; --field-border:#d6d6d6;
  --black:#121212;
  --container:1170px;
  --font:'PT Sans',Arial,Helvetica,sans-serif;
  --heading-font:'Europa',Helvetica,Arial,sans-serif;
  --heading:#8e1e1b;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--font);font-size:17px;line-height:1.65;color:var(--text);background:var(--bg);display:flex;flex-direction:column;min-height:100vh}
main{flex:1}
img{max-width:100%;height:auto}
a{color:var(--accent);text-decoration:none}
a:hover,a:focus-visible{color:var(--accent-hover);text-decoration:underline}
h1,h2,h3,h4,h5,h6{font-family:var(--heading-font);font-weight:700;color:var(--heading);line-height:1.3;margin:1.5em 0 .6em}
h1{font-size:2.5rem;line-height:1.2;margin-top:0}
h2{font-size:1.75rem} h3{font-size:1.4rem} h4{font-size:1.2rem}
p{margin:0 0 1.2em}
ul,ol{padding-left:1.6em;margin:0 0 1.2em}
blockquote{margin:0 0 1.2em;padding-left:1.2em;border-left:3px solid var(--accent);font-style:italic}
.container{max-width:var(--container);margin:0 auto;padding:0 15px;width:100%}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;background:var(--bg);padding:.5em 1em;z-index:10}
.skip:focus{left:1em}
.icon{width:24px;height:24px;display:block}

/* Header */
.site-header{background:#fff;position:relative;z-index:5}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:120px;flex-wrap:wrap}
.brand{display:block;line-height:0}
.brand img{display:block;width:350px;height:auto}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:26px}
.main-nav a,.main-nav .lang{color:var(--text);font-weight:500;font-size:16px;line-height:1.6}
.main-nav a:hover,.main-nav a:focus-visible,.main-nav a.active{color:var(--accent);text-decoration:none}
.main-nav .lang{white-space:nowrap}
.main-nav .lang .current{font-weight:700}
.main-nav .lang a{font-weight:500}
.button,.main-nav .cta a{display:inline-block;background:var(--accent);color:#fff;font-weight:700;border-radius:3px;padding:8px 12px;line-height:1.6;text-decoration:none}
.button:hover,.button:focus-visible,.main-nav .cta a:hover,.main-nav .cta a.active{background:var(--accent-hover);color:#fff;text-decoration:none}
.nav-toggle,.nav-toggle-label{display:none}

/* Hero (cropped like new.wiebering.com: object-fit cover, 83% / 16%) */
.hero{position:relative;min-height:554px;display:flex;align-items:center;overflow:hidden;background:#300b15}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:83% 16%}
.hero-inner{position:relative}
.tagline{font-family:var(--heading-font);color:#fff;font-size:2.5rem;font-weight:700;line-height:1.2;margin:0;max-width:65%}
.subline{font-family:var(--heading-font);color:#fff;font-size:2rem;font-weight:700;line-height:1.2;margin:1em 0 0;max-width:55%}

/* Home */
.home{padding-top:60px;padding-bottom:60px}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.feature h2,.clients h2,.newsletter h2{font-size:1.75rem;line-height:1.3;margin:0 0 .8em}
.feature h2 a,.clients h2 a{color:var(--heading)}
.feature h2 a:hover,.clients h2 a:hover{color:var(--accent-hover);text-decoration:none}
.home-bottom{display:grid;grid-template-columns:2fr 1fr;gap:30px;margin-top:40px}
.quotes p{font-style:italic}
.newsletter p{margin:0}

/* Content pages */
.with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 300px;padding-top:60px;padding-bottom:60px}
.with-sidebar .content{padding-right:60px;border-right:1px solid var(--line)}
.sidebar{padding-left:60px}
.sidebar h2{font-size:1.4rem;margin:.5em 0 1em}
.sidebar ul{list-style:none;padding:0;margin:0}
.sidebar li{margin:0 0 .6em}
.sidebar a{color:var(--text);font-weight:500}
.sidebar a:hover,.sidebar a.active{color:var(--accent);text-decoration:none}
.sidebar a.active{font-weight:700}
.content h1{font-size:2.5rem;margin-bottom:.7em}
.content h4{margin-top:1.2em}
.narrow{max-width:800px;padding-top:60px;padding-bottom:60px}

/* Forms (Grav form plugin markup) */
form .form-field,form .form-group{margin-bottom:1em}
form label{display:block;font-weight:600;margin-bottom:.3em}
form input[type=text],form input[type=email],form input[type=tel],form textarea,form select{width:100%;max-width:100%;padding:.65em .8em;border:1px solid var(--field-border);border-radius:3px;font:inherit;color:var(--text);background:#fff}
form textarea{min-height:7em}
form input:focus,form textarea:focus,form select:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}
form input[type=range]{width:100%;accent-color:var(--accent)}
form .checkboxes label,form .form-input-wrapper label.inline,form .checkbox label{display:inline;font-weight:400}
form .checkboxes{display:flex;flex-direction:column;gap:.15em}
form input[type=checkbox],form input[type=radio]{accent-color:var(--accent);margin-right:.4em}
form .required::after,form label .required{color:var(--accent)}
form button,form input[type=submit],form .button{background:var(--accent);color:#fff;border:0;border-radius:3px;padding:8px 16px;font:inherit;font-weight:700;cursor:pointer}
form button:hover,form .button:hover{background:var(--accent-hover)}
.newsletter .form-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.form-note{font-size:.9em;color:var(--muted)}
.notices,.alert{padding:.8em 1em;margin:0 0 1em;border-left:4px solid var(--accent);background:#f8eeee}
.notices.green,.alert.green{border-color:#2e7d32;background:#eef7ee}
.form-honeybear{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

/* Footer: social row + menu (white), copyright bar (black) */
.footer-top{background:#fff;padding:24px 0 14px}
.social{list-style:none;margin:0 0 10px;padding:0;display:flex;justify-content:center;gap:10px}
.social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:#fff;transition:transform .1s ease-out}
.social a:hover,.social a:focus-visible{transform:scale(1.1);color:#fff;text-decoration:none}
.s-linkedin a{background:#0d66c2}
.s-bluesky a{background:#0a7aff}
.s-mastodon a{background:#3288d4}
.s-mail a{background:#f0f0f0;color:#444}
.s-mail a:hover{color:#444}
.social .icon{width:22px;height:22px}
.s-mail .icon{width:20px;height:20px}
.footer-nav ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:4px 26px}
.footer-nav a{color:var(--text);font-weight:500;line-height:2.4}
.footer-nav a:hover{color:var(--accent);text-decoration:none}
.footer-bottom{background:var(--black);color:#fff;padding:12px 0}
.footer-bottom p{margin:0;line-height:1.7}
.footer-bottom a{color:#fff}
.footer-bottom a:hover{color:#fff;text-decoration:underline}
.to-top{position:fixed;right:20px;bottom:30px;width:34px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;border-radius:3px;z-index:20}
.to-top svg{width:20px;height:20px}
.to-top:hover{background:var(--accent-hover);color:#fff}

/* Responsive */
@media (max-width:960px){
  .header-inner{min-height:84px}
  .brand img{width:240px}
  .nav-toggle-label{display:flex;align-items:center;justify-content:center;width:44px;height:44px;cursor:pointer;color:var(--text)}
  .nav-toggle-label .bars{display:block;width:22px;height:2px;background:currentColor;box-shadow:0 7px 0 currentColor,0 -7px 0 currentColor}
  .nav-toggle:focus-visible + .nav-toggle-label{outline:2px solid var(--accent)}
  .main-nav{display:none;width:100%;padding-bottom:16px}
  .nav-toggle:checked ~ .main-nav{display:block}
  .main-nav ul{flex-direction:column;align-items:stretch;gap:0}
  .main-nav li{border-top:1px solid var(--line)}
  .main-nav li:not(.lang):not(.cta) > a,.main-nav .lang{display:block;padding:10px 0}
  .main-nav .cta{border-top:0;padding-top:12px}
  .hero{min-height:420px;align-items:flex-end;padding-bottom:40px}
  .hero-bg{object-position:80% 16%}
  .tagline{font-size:1.9rem;max-width:60%}
  .subline{font-size:1.4rem;max-width:60%}
  .home{padding-top:40px;padding-bottom:40px}
  .features,.home-bottom{grid-template-columns:1fr;gap:20px}
  .home-bottom{margin-top:20px}
  .with-sidebar{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px}
  .with-sidebar .content{padding-right:0;border-right:0}
  .sidebar{padding-left:0;border-top:1px solid var(--line);margin-top:30px;padding-top:10px}
  .content h1,h1{font-size:2rem}
  .narrow{padding-top:40px;padding-bottom:40px}
}
@media (max-width:560px){
  .hero{min-height:380px}
  .hero-bg{object-position:78% 16%}
  .tagline{font-size:1.6rem;max-width:58%}
  .footer-bottom p{font-size:15px}
  .footer-bottom .container{padding-right:64px}
}
