:root{
  --wf-navy:#0d2944;
  --wf-navy-deep:#082941;
  --wf-navy-footer:#0e2a46;
  --wf-ink:#0c3156;
  --wf-body:#4f6780;
  --wf-line:#d9e5ed;
  --wf-max:1230px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:#fff;color:var(--wf-ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit}
.wf-wrap{width:min(var(--wf-max),calc(100% - 48px));margin:0 auto}

/* Header */
.wf-nav{position:absolute;z-index:30;inset:0 0 auto;color:#fff}
.wf-nav-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.wf-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:27px;letter-spacing:-.035em}
.wf-brand img{width:90px;height:42px;object-fit:contain;object-position:left center}
.wf-brand-text{white-space:nowrap}
.wf-nav-links{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:650}
.wf-nav-links>a{color:rgba(255,255,255,.96)}
.wf-lang{display:flex;gap:9px;margin-left:12px;font-size:12px;letter-spacing:.04em}
.wf-lang a{opacity:.68}.wf-lang a[aria-current="page"],.wf-lang a:hover{opacity:1}
.wf-menu{display:none;border:0;background:none;color:#fff;font-size:30px;line-height:1}

/* Hero */
.wf-hero{position:relative;overflow:hidden;min-height:450px;color:#fff;background:#082941}
.wf-hero-bg{position:absolute;inset:0;z-index:0;background:url("/assets/wirthflow-hero-desktop-v14.webp?v=20261006-14") center center/cover no-repeat}
.wf-hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,20,36,.44) 0%,rgba(4,25,44,.22) 36%,rgba(5,30,50,.06) 63%,rgba(5,30,50,0) 100%)}
.wf-hero-content{position:relative;z-index:4;padding-top:106px;padding-bottom:32px;width:min(650px,52%)}
.wf-hero h1{margin:0 0 15px;font-size:clamp(48px,4.25vw,62px);line-height:1.02;letter-spacing:-.05em;font-weight:800;text-wrap:balance}
.wf-hero p{margin:0 0 18px;max-width:590px;color:rgba(255,255,255,.93);font-size:18px;line-height:1.4;font-weight:500}
.wf-actions{display:flex;gap:20px;flex-wrap:wrap}
.wf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 31px;border-radius:999px;font-size:14px;font-weight:800}
.wf-btn-primary{background:#fff;color:#14324a;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.wf-btn-secondary{border:1px solid rgba(255,255,255,.76);color:#fff;background:rgba(7,31,52,.18)}
.wf-btn-arrow{margin-left:13px;font-size:18px}

/* Services */
.wf-services{padding:16px 0 14px;background:#fdfdfd}
.wf-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#3e6c92;font-weight:800}
.wf-short-rule{width:32px;height:2px;background:#2f6488;margin:9px 0 14px}
.wf-services h2{margin:0 0 15px;max-width:640px;font-size:clamp(31px,2.55vw,40px);line-height:1.02;letter-spacing:-.04em;font-weight:800}
.wf-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.wf-card{border:1px solid var(--wf-line);background:rgba(255,255,255,.97);border-radius:6px;padding:18px 22px 13px;min-height:214px}
.wf-card-icon{width:43px;height:43px;color:#0d4b7d;margin-bottom:8px}
.wf-card-icon svg{width:100%;height:100%}
.wf-card h3{margin:0 0 8px;font-size:18px;line-height:1.2;letter-spacing:-.02em}
.wf-card p{margin:0;color:#3f5f7f;font-size:15px;line-height:1.36}

/* Contact */
.wf-contact{position:relative;overflow:hidden;min-height:152px;padding:15px 0 20px;background:#eef7fc}
.wf-contact-bg{position:absolute;inset:0;z-index:0;background:url("/assets/wirthflow-contact-desktop-v20.webp?v=20261006-20") center center/cover no-repeat;opacity:1;filter:none}
.wf-contact .wf-wrap{position:relative;z-index:2}
.wf-contact .wf-short-rule{margin-bottom:7px}
.wf-contact h2{margin:0 0 3px;font-size:36px;line-height:1.02;letter-spacing:-.035em}
.wf-contact-copy{margin:0 0 9px;color:#4d7292;font-size:17px}
.wf-email{display:inline-flex;align-items:center;gap:12px;color:#064e8b;font-size:16px;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.wf-email svg{width:22px;height:22px;flex:0 0 auto}
.wf-email .wf-arrow{text-decoration:none;font-size:20px;margin-left:5px}

/* Footer */
.wf-footer{background:var(--wf-navy-footer);color:#fff;padding:14px 0}
.wf-footer-row{display:flex;align-items:center;justify-content:space-between;gap:26px}
.wf-footer-brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:800}
.wf-footer-brand img{width:68px;height:30px;object-fit:contain}
.wf-footer-links{display:flex;align-items:center;gap:17px;color:rgba(255,255,255,.9);font-size:12px}
.wf-footer-sep{opacity:.44}

/* Tablet / mobile */
@media(max-width:900px){
  .wf-wrap{width:min(var(--wf-max),calc(100% - 32px))}
  .wf-nav-inner{height:76px}
  .wf-brand{font-size:22px}
  .wf-brand img{width:78px;height:38px}
  .wf-menu{display:block}
  .wf-nav-links{display:none;position:absolute;top:68px;left:16px;right:16px;z-index:50;flex-direction:column;align-items:flex-start;gap:18px;padding:22px;border-radius:14px;background:rgba(9,39,62,.97);box-shadow:0 18px 45px rgba(0,0,0,.23)}
  .wf-nav-links.open{display:flex}
  .wf-lang{margin-left:0;padding-top:4px}

  .wf-hero{min-height:735px;background:#082941}
  .wf-hero-bg{background-image:url("/assets/wirthflow-hero-mobile-v13.webp?v=20261006-13");background-position:50% center;background-size:cover}
  .wf-hero-shade{background:linear-gradient(180deg,rgba(3,20,36,.30) 0%,rgba(4,25,44,.23) 48%,rgba(4,25,44,.10) 72%,rgba(4,25,44,.02) 100%)}
  .wf-hero-content{width:100%;max-width:680px;padding-top:112px;padding-bottom:72px}
  .wf-hero h1{max-width:100%;font-size:clamp(40px,7.2vw,54px);hyphens:manual;overflow-wrap:normal;word-break:normal}
  .wf-hero p{max-width:610px;font-size:17px}

  .wf-services{padding:50px 0 60px}
  .wf-services h2{max-width:760px;margin-bottom:30px}
  .wf-cards{grid-template-columns:1fr}
  .wf-card{min-height:auto;display:grid;grid-template-columns:62px 1fr;column-gap:20px;align-items:start;padding:24px}
  .wf-card-icon{grid-row:1 / span 2;margin-bottom:0}
  .wf-card h3,.wf-card p{grid-column:2}

  .wf-contact{padding:42px 0 48px;min-height:330px}
  .wf-contact-bg{background-image:url("/assets/wirthflow-hero-mobile-v14.webp?v=20261006-15");background-position:center 63%;background-size:cover;opacity:.25;filter:saturate(.72) brightness(1.5) contrast(.88)}
}

@media(max-width:600px){
  .wf-wrap{width:calc(100% - 30px)}
  .wf-hero{min-height:760px}
  .wf-hero-content{padding-top:108px;padding-bottom:68px}
  .wf-hero h1{font-size:clamp(34px,9vw,41px);line-height:1.045;letter-spacing:-.042em;text-wrap:wrap}
  .wf-hero p{font-size:16.5px;line-height:1.46;max-width:100%}
  .wf-actions{display:grid;grid-template-columns:1fr;max-width:100%}
  .wf-btn{min-height:54px}

  .wf-services{padding:55px 0 62px}
  .wf-services h2{font-size:34px;margin-bottom:31px}
  .wf-card{padding:23px 20px;grid-template-columns:52px 1fr;column-gap:16px}
  .wf-card-icon{width:42px;height:42px}
  .wf-card h3{font-size:18px}
  .wf-card p{font-size:15px}

  .wf-contact{padding:45px 0 52px;min-height:350px}
  .wf-contact h2{font-size:32px}
  .wf-contact-copy{max-width:260px;font-size:17px;line-height:1.35}
  .wf-email{font-size:16px;gap:9px}

  .wf-footer-row{flex-direction:column;align-items:flex-start}
  .wf-footer-links{flex-wrap:wrap}
}
@media(max-width:390px){
  .wf-hero{min-height:770px}
  .wf-hero h1{font-size:34px;letter-spacing:-.038em}
  .wf-hero p{font-size:16px;line-height:1.44}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* v14 — approved generated hero backgrounds, desktop + mobile */
.wf-hero-bg{
  background-image:url("/assets/wirthflow-hero-desktop-v14.webp?v=20261006-14") !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:cover !important;
}
@media(max-width:900px){
  .wf-hero{
    min-height:760px !important;
    background:#082b49 !important;
  }
  .wf-hero-bg{
    inset:0 !important;
    height:100% !important;
    background-image:url("/assets/wirthflow-hero-mobile-v14.webp?v=20261006-14") !important;
    background-position:center center !important;
    background-size:cover !important;
  }
  .wf-hero-shade{
    background:linear-gradient(180deg,rgba(3,20,36,.30) 0%,rgba(4,25,44,.23) 48%,rgba(4,25,44,.12) 72%,rgba(4,25,44,.05) 100%) !important;
  }
  .wf-hero-content{
    padding-top:108px !important;
    padding-bottom:72px !important;
  }
}
@media(max-width:600px){
  .wf-hero{min-height:780px !important}
}
@media(max-width:390px){
  .wf-hero{min-height:790px !important}
}

/* v15 — generated responsive hero backgrounds */
.wf-hero-bg{
  background-image:url("/assets/wirthflow-hero-desktop-v15.webp?v=20261006-15") !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:cover !important;
}
@media(max-width:900px){
  .wf-hero{
    min-height:760px !important;
    background:#082b49 !important;
  }
  .wf-hero-bg{
    inset:0 !important;
    height:100% !important;
    background-image:url("/assets/wirthflow-hero-mobile-v15.webp?v=20261006-15") !important;
    background-position:center center !important;
    background-size:cover !important;
  }
  .wf-hero-shade{
    background:linear-gradient(180deg,rgba(3,20,36,.34) 0%,rgba(4,25,44,.26) 48%,rgba(4,25,44,.12) 72%,rgba(4,25,44,.05) 100%) !important;
  }
}
@media(max-width:600px){
  .wf-hero{min-height:780px !important}
}
@media(max-width:390px){
  .wf-hero{min-height:790px !important}
}


/* v21 — content-only About block; approved hero/contact artwork and layout remain unchanged */
.wf-about{
  max-width:880px;
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid var(--wf-line);
}
.wf-about .wf-short-rule{margin-bottom:10px}
.wf-about p{
  margin:0;
  color:#3f5f7f;
  font-size:17px;
  line-height:1.5;
}
@media(max-width:600px){
  .wf-about{margin-top:34px;padding-top:24px}
  .wf-about p{font-size:16px;line-height:1.5}
}


/* v22 — refreshed WirthFlow alpine hero + brand styling */
.wf-nav{color:#0b3157}
.wf-brand{
  gap:9px;
  color:#0b3157;
  font-size:25px;
  font-weight:650;
  letter-spacing:-.045em;
}
.wf-brand img{
  width:82px;
  height:40px;
  color:#234a69;
}
.wf-brand-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1;
}
.wf-brand-text{font-weight:650}
.wf-brand-tagline{
  margin-top:5px;
  color:#617d96;
  font-size:10px;
  font-weight:500;
  letter-spacing:.08em;
}
.wf-nav-links>a{color:#173e62}
.wf-lang a{color:#173e62}
.wf-menu{color:#173e62}

.wf-hero{
  min-height:520px;
  color:#0b3157;
  background:#dbeaf4;
}
.wf-hero-bg{
  background-image:url("/assets/wirthflow-hero-v22.webp?v=20261014-22") !important;
  background-position:center center !important;
  background-size:cover !important;
}
.wf-hero-shade{
  background:linear-gradient(90deg,
    rgba(248,250,252,.98) 0%,
    rgba(248,250,252,.96) 32%,
    rgba(248,250,252,.84) 45%,
    rgba(248,250,252,.34) 56%,
    rgba(248,250,252,0) 68%) !important;
}
.wf-hero-content{
  padding-top:118px;
  padding-bottom:48px;
  width:min(650px,51%);
}
.wf-hero h1{
  color:#0b3157;
  font-weight:750;
}
.wf-hero p{
  color:#284f70;
  max-width:570px;
}
.wf-btn-primary{
  background:#0b5b9a;
  color:#fff;
  box-shadow:0 5px 18px rgba(11,49,87,.16);
}
.wf-btn-secondary{
  border:1px solid rgba(11,49,87,.55);
  color:#0b3157;
  background:rgba(255,255,255,.48);
}

@media(max-width:900px){
  .wf-brand{font-size:21px}
  .wf-brand img{width:70px;height:34px}
  .wf-brand-tagline{font-size:8px;margin-top:4px}
  .wf-nav-links{color:#fff}
  .wf-nav-links>a,.wf-nav-links .wf-lang a{color:#fff}
  .wf-hero{
    min-height:780px !important;
    background:#dcebf4 !important;
  }
  .wf-hero-bg{
    background-image:url("/assets/wirthflow-hero-mobile-v23.webp?v=20261014-23") !important;
    background-position:center center !important;
    background-size:cover !important;
  }
  .wf-hero-shade{
    background:linear-gradient(180deg,
      rgba(248,250,252,.34) 0%,
      rgba(248,250,252,.20) 26%,
      rgba(248,250,252,.08) 44%,
      rgba(248,250,252,0) 62%) !important;
  }
  .wf-hero-content{
    width:100%;
    max-width:680px;
    padding-top:118px !important;
    padding-bottom:72px !important;
  }
  .wf-hero h1{color:#0b3157}
  .wf-hero p{color:#284f70}
}
@media(max-width:600px){
  .wf-hero{min-height:800px !important}
  .wf-brand img{width:62px;height:31px}
  .wf-brand{gap:7px}
  .wf-brand-text{font-size:20px}
  .wf-brand-tagline{font-size:7.5px;letter-spacing:.06em}
}


/* v23 — desktop hero artwork replacement only */
@media(min-width:901px){
  .wf-hero{
    background:#dcebf4 !important;
  }
  .wf-hero-bg{
    background-image:url("/assets/wirthflow-hero-desktop-v23.webp?v=20261014-23") !important;
    background-repeat:no-repeat !important;
    background-position:center 52% !important;
    background-size:cover !important;
  }
  .wf-hero-shade{
    background:linear-gradient(90deg,
      rgba(248,250,252,.36) 0%,
      rgba(248,250,252,.24) 24%,
      rgba(248,250,252,.08) 40%,
      rgba(248,250,252,0) 55%) !important;
  }
}

/* v24 — approved generated alpine imagery for main hero and contact */
@media(min-width:901px){
  .wf-hero-bg{
    background-image:url("/assets/wirthflow-hero-desktop-v24.webp?v=20261014-24") !important;
    background-repeat:no-repeat !important;
    background-position:center 50% !important;
    background-size:cover !important;
  }
  .wf-contact-bg{
    background-image:url("/assets/wirthflow-hero-desktop-v24.webp?v=20261014-24") !important;
    background-position:center 60% !important;
    background-size:cover !important;
    opacity:.30 !important;
    filter:saturate(.72) brightness(1.20) contrast(.90) !important;
  }
}
@media(max-width:900px){
  .wf-hero-bg{
    background-image:url("/assets/wirthflow-hero-mobile-v24.webp?v=20261014-24") !important;
    background-position:center center !important;
    background-size:cover !important;
  }
  .wf-contact-bg{
    background-image:url("/assets/wirthflow-hero-mobile-v24.webp?v=20261014-24") !important;
    background-position:center 62% !important;
    background-size:cover !important;
    opacity:.27 !important;
    filter:saturate(.72) brightness(1.30) contrast(.90) !important;
  }
}

/* v25 — emergency restore to verified valid image assets */
@media(min-width:901px){
  .wf-hero-bg{
    background-image:url("/assets/wirthflow-hero-desktop-v15.webp?v=20261014-25") !important;
    background-position:center center !important;
    background-size:cover !important;
  }
  .wf-contact-bg{
    background-image:url("/assets/wirthflow-contact-desktop-v20.webp?v=20261014-25") !important;
    background-position:center center !important;
    background-size:cover !important;
    opacity:1 !important;
    filter:none !important;
  }
}
@media(max-width:900px){
  .wf-hero-bg{
    background-image:url("/assets/wirthflow-hero-mobile-v14.webp?v=20261014-25") !important;
    background-position:center center !important;
    background-size:cover !important;
  }
  .wf-contact-bg{
    background-image:url("/assets/wirthflow-hero-mobile-v14.webp?v=20261014-25") !important;
    background-position:center 63% !important;
    background-size:cover !important;
    opacity:.25 !important;
    filter:saturate(.72) brightness(1.5) contrast(.88) !important;
  }
}

/* v27 — final bright alpine imagery for main and contact */
@media(min-width:901px){
  .wf-hero{
    background:#dcebf4 !important;
  }
  .wf-hero-bg{
    background-image:url("/assets/wirthflow-hero-desktop-v27.webp?v=20261014-27") !important;
    background-repeat:no-repeat !important;
    background-position:center 48% !important;
    background-size:cover !important;
  }
  .wf-hero-shade{
    background:linear-gradient(90deg,
      rgba(255,255,255,.86) 0%,
      rgba(255,255,255,.76) 25%,
      rgba(255,255,255,.42) 42%,
      rgba(255,255,255,.10) 58%,
      rgba(255,255,255,0) 70%) !important;
  }
  .wf-contact-bg{
    background-image:url("/assets/wirthflow-hero-desktop-v27.webp?v=20261014-27") !important;
    background-position:center 58% !important;
    background-size:cover !important;
    opacity:.36 !important;
    filter:saturate(.84) brightness(1.16) contrast(.92) !important;
  }
}
@media(max-width:900px){
  .wf-hero{
    background:#dcebf4 !important;
  }
  .wf-hero-bg{
    background-image:url("/assets/wirthflow-hero-mobile-v27.webp?v=20261014-27") !important;
    background-position:center center !important;
    background-size:cover !important;
  }
  .wf-hero-shade{
    background:linear-gradient(180deg,
      rgba(255,255,255,.72) 0%,
      rgba(255,255,255,.52) 24%,
      rgba(255,255,255,.20) 43%,
      rgba(255,255,255,.04) 62%,
      rgba(255,255,255,0) 76%) !important;
  }
  .wf-contact-bg{
    background-image:url("/assets/wirthflow-hero-mobile-v27.webp?v=20261014-27") !important;
    background-position:center 60% !important;
    background-size:cover !important;
    opacity:.34 !important;
    filter:saturate(.84) brightness(1.16) contrast(.92) !important;
  }
}

/* v28 — unify footer mountain mark with header brand mark */
.wf-footer-brand img{
  filter:brightness(0) invert(1) !important;
}

/* v29 — exact shared mountain mark in footer + contact crop refinement */
.wf-footer-mark{
  width:68px;
  height:30px;
  flex:0 0 auto;
  color:#fff;
  display:block;
}
@media(min-width:901px){
  .wf-contact-bg{
    background-position:center 28% !important;
  }
}
@media(max-width:900px){
  .wf-contact-bg{
    background-position:center 40% !important;
  }
}


/* Mobile navigation — native details/summary, independent of JavaScript */
.wf-mobile-nav{display:none}
@media(max-width:900px){
  .wf-mobile-nav{display:block;position:relative;z-index:100;flex:0 0 auto}
  .wf-mobile-nav>summary{
    display:flex;align-items:center;justify-content:center;width:48px;height:48px;
    margin:0;padding:0;list-style:none;cursor:pointer;color:#173e62;
    font-size:30px;line-height:1;user-select:none;-webkit-tap-highlight-color:transparent
  }
  .wf-mobile-nav>summary::-webkit-details-marker{display:none}
  .wf-mobile-links{
    position:absolute;z-index:120;top:calc(100% + 8px);right:0;
    display:flex;flex-direction:column;align-items:stretch;gap:15px;
    width:min(292px,calc(100vw - 32px));padding:20px;
    border-radius:14px;color:#fff;background:rgba(9,39,62,.98);
    box-shadow:0 18px 45px rgba(0,0,0,.23);font-size:16px;font-weight:650
  }
  .wf-mobile-links>a{color:#fff}
  .wf-mobile-lang{
    display:flex;flex-wrap:wrap;gap:12px;margin-top:2px;
    padding-top:12px;border-top:1px solid rgba(255,255,255,.24)
  }
  .wf-mobile-lang a{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:45px;min-height:44px;padding:7px 10px;border-radius:6px;
    color:#fff;opacity:.82;text-align:center
  }
  .wf-mobile-lang a[aria-current="page"]{background:rgba(255,255,255,.20);opacity:1}
  .wf-mobile-nav>summary:focus-visible,.wf-mobile-links a:focus-visible{
    outline:2px solid #fff;outline-offset:3px
  }
}

/* v30 — improve hero supporting-text readability on desktop and mobile */
