
/* V3 — approved hero: keep the supplied composition exactly intact */
.visual-header{
  position:relative!important; top:auto!important; z-index:1!important;
  width:100%; height:auto!important; padding:0!important; display:block!important;
  background:#f7f4ea!important; border:0!important; overflow:hidden;
}
.visual-header>img{display:block;width:100%;height:auto}
.hero-hotspot{position:absolute;z-index:4;display:block}
.logo-link{left:3.5%;top:1.3%;width:15%;height:8%}
.nav-services{left:28.8%;top:2.4%;width:6%;height:5%}
.nav-how{left:35.4%;top:2.4%;width:7%;height:5%}
.nav-about{left:43.4%;top:2.4%;width:6%;height:5%}
.nav-rut{left:54.4%;top:2.4%;width:4%;height:5%}
.nav-faq{left:59.4%;top:2.4%;width:8%;height:5%}
.nav-contact{left:68%;top:2.4%;width:6%;height:5%}
.call-top{right:4.1%;top:1.4%;width:11.8%;height:6%}
.book-top{left:5.2%;top:76.2%;width:18.6%;height:8%}
.call-hero{left:24.5%;top:76.2%;width:13.6%;height:8%}
@media(max-width:900px){
  .visual-header{overflow-x:auto}
  .visual-header>img{width:1100px;max-width:none;height:auto}
  .hero-hotspot{display:none}
}

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&display=swap');
:root{--forest:#073a2c;--olive:#607f42;--leaf:#8da766;--cream:#f5f2e8;--paper:#fbfaf5;--ink:#102b22;--line:#d9dacd}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{text-decoration:none;color:inherit}header{height:88px;padding:0 5%;display:flex;align-items:center;gap:45px;background:rgba(251,250,245,.96);position:sticky;top:0;z-index:30;border-bottom:1px solid #eee}.logo{margin-right:auto;display:flex;flex-direction:column;align-items:center;line-height:.8}.logo b{font-size:34px;letter-spacing:-.07em;font-style:italic;color:var(--forest)}.logo span{font-size:11px;letter-spacing:.36em;margin-left:.4em;color:var(--olive);font-weight:800}nav{display:flex;gap:27px;font-size:13px;font-weight:700}.pill{border:0;border-radius:999px;padding:15px 24px;font-weight:800;font-size:13px;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.dark{background:var(--forest);color:white}.green{background:var(--olive);color:white}.outline{border:1px solid #d4d5ca}.hero{min-height:695px;display:grid;grid-template-columns:45% 55%;background:var(--cream);overflow:hidden}.hero-copy{padding:70px 0 60px 5.5%;z-index:2}.overline{font-size:12px;letter-spacing:.25em;font-weight:800;color:var(--olive)}h1{font-size:clamp(65px,6.6vw,112px);line-height:.84;letter-spacing:-.075em;margin:22px 0 26px;color:var(--forest)}.hero h3{font-size:22px;margin:0}.place{font-size:20px}.dash{width:35px;height:2px;background:var(--olive);margin:20px 0}.claim{font-size:19px;font-weight:700;line-height:1.25}.buttons{display:flex;gap:12px;margin-top:28px}.hero-image{overflow:hidden;position:relative}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}.proof{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 5.5%;background:var(--paper)}.proof>div{display:flex;align-items:center;gap:20px;padding:0 9%;border-right:1px solid var(--line)}.proof>div:last-child{border:0}.proof i{font-style:normal;font-size:28px;color:var(--olive);background:#e9eddd;border-radius:50%;width:58px;height:58px;display:grid;place-items:center}.proof p{margin:0}.proof b,.proof span{display:block}.proof b{font-size:20px}.proof span{font-size:15px}.section{padding:110px 7%}.intro{max-width:1000px}.section h2,.johan h2,.brand-story h2{font-size:clamp(44px,5.4vw,82px);line-height:.95;letter-spacing:-.06em;margin:15px 0 35px;color:var(--forest)}.large{font-size:21px;line-height:1.55;max-width:700px}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);background:white}.services article{padding:38px;min-height:270px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.services small{color:var(--olive);font-weight:800}.services h3{font-size:25px;margin-top:65px}.services p{line-height:1.6;color:#5b655e}.steps{background:var(--cream)}.step{display:grid;grid-template-columns:100px 1fr;border-top:1px solid var(--line);padding:30px 0;max-width:1000px}.step:last-child{border-bottom:1px solid var(--line)}.step>b{font-size:26px;color:var(--olive)}.step h3{font-size:24px;margin:0 0 5px}.step p{margin:0}.johan{display:grid;grid-template-columns:1fr 1fr;background:var(--forest);color:white}.johan img{width:100%;height:100%;min-height:700px;object-fit:cover}.johan>div{padding:9vw 8vw}.johan h2{color:white}.johan p:not(.overline){font-size:18px;line-height:1.65}.johan em{font-family:Georgia,serif;font-size:30px}.light{color:#c8d7b4}.brand-story{display:grid;grid-template-columns:42% 58%;align-items:center;background:white}.brand-story>div{padding:8vw 6vw}.brand-story img{width:100%;display:block}.brand-story h2{font-size:clamp(40px,4vw,64px)}.brand-story p:not(.overline){font-size:18px;line-height:1.6}.rut{background:var(--leaf)}.rut h2,.rut .overline,.rut p{color:white}.faq details{max-width:950px;border-top:1px solid var(--line);padding:24px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{font-weight:800;font-size:19px;cursor:pointer}.faq details p{line-height:1.6}.contact{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:white}.area{font-family:Georgia,serif;font-style:italic;font-size:26px;color:var(--olive)}form{display:grid;gap:17px}label{display:grid;gap:7px;font-size:11px;letter-spacing:.12em;font-weight:800;text-transform:uppercase}input,textarea{border:1px solid #cfd2c9;background:#fbfaf5;padding:15px;font:inherit;font-size:16px}#status{font-size:12px;color:#6a746d}footer{padding:60px 7%;background:#12261e;color:white;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:40px}.invert b{color:white}.invert span{color:#b9c9a5}.mobile{display:none}
@media(max-width:900px){header{height:70px}nav,header>.pill{display:none}.logo b{font-size:28px}.hero{grid-template-columns:1fr}.hero-copy{padding:60px 7% 35px}.hero-image{height:500px}.hero h1{font-size:66px}.buttons{flex-direction:column;align-items:stretch}.proof{grid-template-columns:1fr}.proof>div{padding:18px 0;border-right:0;border-bottom:1px solid var(--line)}.services{grid-template-columns:1fr}.johan,.brand-story,.contact{grid-template-columns:1fr}.johan img{min-height:500px}.section{padding:80px 7%}.brand-story>div{padding:80px 7%}footer{grid-template-columns:1fr;padding-bottom:100px}.mobile{display:block;position:fixed;bottom:14px;left:5%;right:5%;z-index:40;text-align:center;padding:17px;background:var(--forest);color:white;border-radius:999px;font-weight:800;box-shadow:0 8px 25px #0004}}

.mobile-hero{display:none}
@media(max-width:900px){
  .visual-header{display:none!important}
  .mobile-hero{display:block;background:#f5f2e8;overflow:hidden}
  .mobile-copy{padding:26px 7% 12px}
  .mobile-logo{display:inline-flex;flex-direction:column;align-items:center;line-height:.82;margin-bottom:42px}
  .mobile-logo b{font-size:31px;letter-spacing:-.07em;font-style:italic;color:#073a2c}
  .mobile-logo span{font-size:10px;letter-spacing:.36em;margin-left:.4em;color:#607f42;font-weight:800}
  .mobile-copy .overline{font-size:10px;letter-spacing:.2em}
  .mobile-copy h1{font-size:clamp(48px,15vw,68px);line-height:.86;margin:16px 0 22px}
  .mobile-copy h3{font-size:18px;margin:0 0 4px}
  .mobile-copy>p:last-child{font-size:17px;margin:0}
  .mobile-superhero{height:460px;margin-top:8px;overflow:hidden;position:relative}
  .mobile-superhero img{width:100%;height:100%;object-fit:cover;object-position:51% 34%;display:block}
  .mobile-hero-actions{padding:28px 7%;background:#fbfaf5}
  .mobile-hero-actions p{font-size:18px;line-height:1.3;margin-bottom:20px}
  .mobile-hero-actions .pill{display:flex;width:100%;margin:10px 0;padding:16px}
  .mobile-proof{padding:8px 7% 25px;background:#fbfaf5}
  .mobile-proof>div{padding:17px 0;border-top:1px solid #d9dacd}
  .mobile-proof b,.mobile-proof span{display:block}
  .mobile-proof b{font-size:18px}
  .mobile-proof span{font-size:14px;margin-top:2px}
}

/* V5 mobile refinements */
@media(max-width:900px){
  /* Keep the JOHAN TRÄDGÅRD identity clearly visible at the very top */
  .mobile-logo{display:inline-flex!important;margin-bottom:38px}
  /* Show the complete supplied superhero artwork, including the logo below Johan */
  .mobile-superhero{
    height:auto!important;
    margin:10px 0 0!important;
    overflow:visible!important;
    background:#f5f2e8;
  }
  .mobile-superhero img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    display:block!important;
  }
  /* Text/actions naturally continue below the complete figure + logo */
  .mobile-hero-actions{position:relative;z-index:2}
}

/* V6 — one consistent standalone JOHAN TRÄDGÅRD wordmark */
.logo,.mobile-logo,.invert{
  font-family:Manrope,Arial,sans-serif;
  line-height:.8;
}
.logo b,.mobile-logo b,.invert b{
  font-family:Manrope,Arial,sans-serif!important;
  font-weight:800!important;
  font-style:italic!important;
  letter-spacing:-.075em!important;
}
.logo span,.mobile-logo span,.invert span{
  font-family:Manrope,Arial,sans-serif!important;
  font-weight:800!important;
  letter-spacing:.36em!important;
  padding-left:.36em;
}
/* Team / larger jobs */
.team-callout{
  display:grid;
  grid-template-columns:.55fr 1.25fr 1fr;
  gap:5vw;
  padding:95px 7%;
  background:#073a2c;
  color:white;
  align-items:center;
}
.team-kicker{font-size:12px;letter-spacing:.24em;font-weight:800;color:#c8d7b4;align-self:start}
.team-copy h2{font-size:clamp(40px,4.5vw,70px);line-height:.95;letter-spacing:-.055em;margin:0 0 28px;color:white}
.team-copy p{font-size:18px;line-height:1.65;max-width:650px;margin:0;color:#e7ece6}
.team-power{border-left:1px solid rgba(255,255,255,.25);padding-left:4vw}
.team-power span,.team-power strong,.team-power small{display:block}
.team-power span{font-size:15px;letter-spacing:.18em;font-weight:800;color:#c8d7b4}
.team-power strong{font-size:clamp(58px,6vw,96px);line-height:.9;letter-spacing:-.07em;margin:8px 0 22px}
.team-power small{font-family:Georgia,serif;font-size:18px;font-style:italic;line-height:1.4}
@media(max-width:900px){
  .team-callout{grid-template-columns:1fr;padding:75px 7%;gap:30px}
  .team-power{border-left:0;border-top:1px solid rgba(255,255,255,.25);padding:32px 0 0}
  .team-power strong{font-size:68px}
  .mobile-logo b{font-size:31px!important}
}

/* V8 — exact same supplied Johans Trädgård logo in mobile top and footer.
   Desktop approved top-banner artwork is deliberately untouched. */
.logo-image{display:inline-block!important;line-height:0!important}
.logo-image img{display:block;width:100%;height:auto;object-fit:contain}
.mobile-logo.logo-image{width:220px;max-width:64vw;margin-bottom:38px}
.footer-logo.logo-image{width:230px;max-width:70vw;background:#f5f2e8;padding:8px 12px;border-radius:2px}
@media(max-width:900px){
  .mobile-logo.logo-image{display:block!important}
}

/* V9 requested content update: preserve complete Johan + logo artwork */
.brand-story-art{
  align-self:stretch;
  background:#f5f2e8;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.brand-story-art img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
}
/* Do not crop the complete artwork on mobile either */
@media(max-width:900px){
  .brand-story-art{overflow:visible}
  .brand-story-art img{width:100%;height:auto;object-fit:contain}
}

/* V10: desktop top remains the approved banner; correct logo overlaid only in its logo slot */
.visual-header .desktop-logo-correction{
  position:absolute;
  z-index:3;
  left:3.45%;
  top:.6%;
  width:15.2%;
  height:auto;
  object-fit:contain;
  background:#f5f2e8;
  padding:2px 4px;
}
/* lower section: white pickup with full Johans Trädgård door branding */
.pickup-art{overflow:hidden;background:#f5f2e8}
.pickup-art img{
  width:100%;
  height:100%;
  min-height:560px;
  object-fit:cover;
  object-position:65% center;
}
@media(max-width:900px){
  .visual-header .desktop-logo-correction{display:none}
  .pickup-art img{height:auto;min-height:0;object-fit:contain}
}

/* V11 — branded pickup as a dedicated section further down the page */
.pickup-feature{
  width:100%;
  background:#f5f2e8;
  overflow:hidden;
  line-height:0;
}
.pickup-feature img{
  display:block;
  width:100%;
  height:auto;
}

/* V12 — corrected pickup asset: crop away the source layout's left text panel.
   The car fills the entire right-side image area. */
.brand-story .pickup-art{
  position:relative;
  overflow:hidden;
  min-height:650px;
}
.brand-story .pickup-art img{
  position:absolute;
  height:100%;
  width:170%;
  max-width:none;
  left:-70%;
  top:0;
  object-fit:cover;
  object-position:center;
  min-height:0;
}
.pickup-feature{
  height:min(72vw,850px);
  overflow:hidden;
}
.pickup-feature img{
  height:100%;
  width:170%;
  max-width:none;
  margin-left:-70%;
  object-fit:cover;
  object-position:center;
}
@media(max-width:900px){
  .brand-story .pickup-art{min-height:440px}
  .brand-story .pickup-art img{
    position:absolute!important;
    width:190%!important;
    height:100%!important;
    left:-90%!important;
    object-fit:cover!important;
  }
  .pickup-feature{height:430px}
  .pickup-feature img{
    width:190%!important;
    height:100%!important;
    margin-left:-90%!important;
    object-fit:cover!important;
  }
}

/* V13 — requested top-banner copy correction only.
   Covers the old baked-in sentence and replaces it without changing the approved hero artwork. */
.desktop-claim-correction{
  position:absolute;
  z-index:5;
  left:5.15%;
  top:63.0%;
  width:29%;
  min-height:8.5%;
  padding:0.35% 0.3%;
  background:#f5f2e8;
  color:#073a2c;
  font-family:Manrope,Arial,sans-serif;
  font-size:clamp(15px,1.55vw,28px);
  line-height:1.08;
  font-weight:700;
  letter-spacing:-0.025em;
}
@media(max-width:900px){
  .desktop-claim-correction{display:none!important}
}

/* V14 — exact standalone Johans Trädgård logo supplied by user */
.mobile-logo.logo-image{
  background:transparent!important;
}
.footer-logo.logo-image{
  width:230px;
  max-width:70vw;
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
}
.footer-logo.logo-image img{
  width:100%;
  height:auto;
  display:block;
  background:transparent!important;
}
/* desktop top correction uses the exact supplied mark */
.visual-header .desktop-logo-correction{
  background:#f5f2e8;
  padding:0;
}

/* V15 — footer: original Johans Trädgård logo, no surrounding plate */
.footer-logo.logo-image{
  background:transparent!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.footer-logo.logo-image img{
  display:block;
  width:100%;
  height:auto;
  background:transparent!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
}

/* V16 — complete footer / copyright */
.footer-legal{width:100%;margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,255,255,.22);display:flex;justify-content:space-between;gap:24px;align-items:center;color:rgba(255,255,255,.72);font-size:12px;line-height:1.5}.footer-legal p{margin:0}.footer-legal p:last-child{text-align:right}@media(max-width:900px){.footer-legal{display:block;margin-top:32px;padding-top:20px}.footer-legal p:last-child{text-align:left;margin-top:7px}}

/* V17 — expanded sales/service architecture. Approved hero and logo rules above remain untouched. */
.intro-actions{display:flex;align-items:center;gap:26px;margin-top:34px}.text-link{font-weight:800;color:var(--forest);border-bottom:1px solid var(--olive);padding-bottom:4px}.services-wrap{background:white}.services-head{padding-bottom:65px}.services-expanded{grid-template-columns:repeat(3,1fr)}.services-expanded article{min-height:330px}.services-expanded h3{margin-top:52px}.service-question{background:var(--cream)}.service-question a{display:inline-block;margin-top:18px;font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--forest);border-bottom:1px solid var(--olive);padding-bottom:5px}.tree-feature{display:grid;grid-template-columns:1fr auto;gap:5vw;background:var(--forest);color:white;padding:105px 7%;align-items:end}.tree-feature h2{font-size:clamp(52px,6vw,94px);line-height:.9;letter-spacing:-.065em;margin:16px 0 30px;color:white}.tree-feature p:not(.overline){font-size:19px;line-height:1.65;max-width:760px;color:#e7ece6}.tree-list{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}.tree-list span{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:9px 14px;font-size:12px;font-weight:800;letter-spacing:.05em}.light-pill{background:white;color:var(--forest);margin-top:6px}.tree-number{font-size:clamp(110px,17vw,260px);font-weight:800;line-height:.7;letter-spacing:-.09em;color:rgba(255,255,255,.07)}.recurring{background:var(--cream)}.frequency{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0}.frequency span{padding:10px 15px;border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.1em;background:var(--paper)}select{border:1px solid #cfd2c9;background:#fbfaf5;padding:15px;font:inherit;font-size:16px;color:var(--ink);width:100%}
@media(max-width:900px){.intro-actions{align-items:stretch;flex-direction:column}.services-expanded{grid-template-columns:1fr}.services-expanded article{min-height:auto}.tree-feature{grid-template-columns:1fr;padding:80px 7%}.tree-number{display:none}.tree-feature h2{font-size:58px}.frequency{gap:7px}}

/* V18 — mobile header must use the exact same locked standalone logo as desktop. */
@media(max-width:900px){
  .mobile-hero .mobile-logo.logo-image{
    display:block!important;
    width:190px;
    max-width:58vw;
    margin:0 0 30px 0!important;
    align-self:flex-start;
    background:transparent!important;
    padding:0!important;
    border:0!important;
  }
  .mobile-hero .mobile-logo.logo-image img{
    display:block;
    width:100%;
    height:auto;
  }
}
/* V19 — results, team proof and SEO-supporting content. Locked hero/logo assets untouched. */
.results{background:#f5f2e8}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:34px 0 18px}.result-grid article{background:#fff;border:1px solid rgba(7,58,44,.12);padding:14px;border-radius:18px}.result-grid h3{font-size:22px;margin:16px 0 6px}.result-grid p{margin:0;color:#4d5d55}.result-placeholder{aspect-ratio:4/3;border-radius:12px;background:#e9eadf;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;padding:14px;overflow:hidden;position:relative}.result-placeholder:before{content:"";position:absolute;inset:0 50% 0 0;background:#dfe2d3}.result-placeholder>*{position:relative;z-index:1}.result-placeholder span{font-size:11px;font-weight:800;letter-spacing:.12em}.result-placeholder span:last-child{text-align:right}.result-placeholder strong{align-self:center;font-size:13px;background:#fff;padding:7px 10px;border-radius:999px;white-space:nowrap}.result-note{font-size:12px;opacity:.65;margin:0 0 24px}.team-visual{position:relative;min-height:520px;background:#073a2c;overflow:hidden}.team-visual>img{width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center;display:block;filter:saturate(.9)}.team-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,43,32,.92) 0%,rgba(4,43,32,.58) 38%,rgba(4,43,32,.08) 68%,transparent 100%)}.team-visual-copy{position:absolute;z-index:2;left:max(6vw,50px);top:50%;transform:translateY(-50%);max-width:540px;color:#fff}.team-visual-copy h2{font-size:clamp(42px,5vw,76px);line-height:.95;margin:12px 0 20px}.team-visual-copy p{font-size:18px;line-height:1.55;max-width:500px}.reviews{background:#fff}.review-empty{margin-top:28px;padding:28px;border:1px solid rgba(7,58,44,.14);border-radius:16px;display:flex;justify-content:space-between;gap:20px}.review-empty span{opacity:.7}
@media(max-width:900px){.result-grid{grid-template-columns:1fr}.team-visual{min-height:620px}.team-visual>img{min-height:620px;object-position:62% center}.team-visual:after{background:linear-gradient(0deg,rgba(4,43,32,.96) 0%,rgba(4,43,32,.55) 48%,rgba(4,43,32,.05) 75%)}.team-visual-copy{left:24px;right:24px;top:auto;bottom:32px;transform:none}.team-visual-copy h2{font-size:44px}.review-empty{display:block}.review-empty span{display:block;margin-top:8px}}

/* V20 — customer-proof presentation + stronger local SEO content. Locked hero/logo assets remain untouched. */
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.review-card{position:relative;background:#fbfaf5;border:1px solid rgba(7,58,44,.10);border-radius:16px;padding:28px;min-height:285px;display:flex;flex-direction:column;box-shadow:0 12px 35px rgba(7,58,44,.05)}.quote-mark{font-family:Georgia,serif;font-size:66px;line-height:.65;color:#3f7c35;font-weight:700}.stars{color:#ff6a00;font-size:23px;letter-spacing:2px;margin:18px 0 16px;text-shadow:0 0 12px rgba(255,106,0,.20)}.review-card blockquote{margin:0;font-size:17px;line-height:1.6;color:#193c31;flex:1}.review-person{margin-top:24px;padding-top:18px;border-top:1px solid rgba(7,58,44,.10);display:flex;flex-direction:column;gap:4px}.review-person strong{font-size:15px}.review-person span{font-size:12px;color:#66756f}.review-disclaimer{font-size:11px;opacity:.58;margin-top:16px}.local-seo{background:#f5f2e8}.local-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:36px 0}.local-grid>div{background:#fff;border:1px solid rgba(7,58,44,.10);border-radius:16px;padding:26px}.local-grid h3{font-size:22px;margin:0 0 12px}.local-grid p{margin:0;line-height:1.75;color:#42564e}
@media(max-width:900px){.review-grid,.local-grid{grid-template-columns:1fr}.review-card{min-height:0}.stars{font-size:21px}}

/* V23 — clean team photo belongs to the bottom of "Större jobb?" */
.team-callout-photo{
  grid-column:1 / -1;
  width:100%;
  margin-top:26px;
  overflow:hidden;
  border-radius:18px;
  line-height:0;
}
.team-callout-photo img{
  display:block;
  width:100%;
  height:auto;
  max-height:650px;
  object-fit:cover;
  object-position:center;
}

/* Standard mobile hamburger navigation */
.mobile-nav{display:none}
@media(max-width:900px){
  .mobile-nav{
    position:sticky;
    top:0;
    z-index:1000;
    height:72px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 18px;
    background:#f6f2e8;
    border-bottom:1px solid rgba(0,49,37,.10);
  }
  .mobile-nav-logo{display:block;width:155px;line-height:0}
  .mobile-nav-logo img{display:block;width:100%;height:auto}
  .mobile-menu-toggle{
    width:46px;height:46px;padding:10px;
    display:flex;flex-direction:column;justify-content:center;gap:6px;
    background:transparent;border:0;cursor:pointer;
  }
  .mobile-menu-toggle span{
    display:block;width:26px;height:2px;margin-left:auto;
    background:#063b2d;border-radius:2px;
    transition:transform .2s ease,opacity .2s ease;
  }
  .mobile-menu-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .mobile-menu-toggle.open span:nth-child(2){opacity:0}
  .mobile-menu-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .mobile-menu{
    position:absolute;left:0;right:0;top:72px;
    display:none;flex-direction:column;
    padding:10px 18px 20px;
    background:#f6f2e8;
    box-shadow:0 14px 30px rgba(0,35,25,.14);
  }
  .mobile-menu.open{display:flex}
  .mobile-menu a{
    padding:14px 4px;
    color:#063b2d;text-decoration:none;font-weight:700;
    border-bottom:1px solid rgba(0,49,37,.10);
  }
  .mobile-menu-call{
    margin-top:12px!important;padding:14px 18px!important;
    color:#fff!important;background:#063b2d;
    border-radius:999px;text-align:center;border-bottom:0!important;
  }
  /* The mobile logo is now supplied by the standard navigation bar */
  .mobile-hero .mobile-logo{display:none!important}
  .team-callout-photo{margin-top:20px;border-radius:12px}
  .team-callout-photo img{max-height:none}
}

/* V24 — Rätt person / Rätt kompetens: no background image */
.intro{
  background-image:none!important;
  background:#f5f2e8!important;
}

/* V28 — generated before/after visual */
.before-after-visual{
  width:100%;
  margin-top:28px;
  overflow:hidden;
  border-radius:20px;
  background:#f5f2e8;
}
.before-after-visual img{
  display:block;
  width:100%;
  height:auto;
}
@media(max-width:900px){
  .before-after-visual{
    margin-top:20px;
    border-radius:14px;
    overflow-x:auto;
  }
  .before-after-visual img{
    width:1100px;
    max-width:none;
  }
}

/* V29 — mobile: one logo only. Keep header logo, remove duplicate hero logo. */
@media(max-width:900px){
  .mobile-hero .mobile-logo,
  .hero .mobile-logo,
  .hero-mobile-logo,
  .mobile-hero-logo{
    display:none!important;
  }
}

/* V30 — definitive mobile logo fix: only navigation logo remains */
@media(max-width:900px){
  body > .mobile-nav .mobile-nav-logo{display:block!important}
  .hero img[src*="logo-johans-tradgard-exact"],
  .mobile-hero img[src*="logo-johans-tradgard-exact"]{
    display:none!important;
  }
}

/* V31 — mobile before/after: stack each case vertically, no horizontal scrolling */
@media(max-width:900px){
  .before-after-visual{
    overflow:visible!important;
    width:100%!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .before-after-visual img{
    display:none!important;
  }

  /* Rebuild the three cases as vertical mobile cards using the generated source visual */
  .before-after-visual::before,
  .before-after-visual::after{
    content:"";
    display:block;
    width:100%;
    background-image:url('assets/fore-efter-johans-tradgard.png');
    background-repeat:no-repeat;
    background-size:300% auto;
    border-radius:14px;
    aspect-ratio:1.03/1;
    margin-bottom:16px;
  }
  .before-after-visual::before{background-position:left top}
  .before-after-visual::after{background-position:center top}

  .before-after-visual{
    position:relative;
    padding-bottom:calc(100% + 16px);
  }
  .before-after-visual > *{max-width:100%}
  .before-after-visual{
    --card-h:calc((100vw - 58px) / 1.03);
  }
  .before-after-visual:after{margin-bottom:0}
  .before-after-visual{
    background-image:url('assets/fore-efter-johans-tradgard.png')!important;
    background-repeat:no-repeat!important;
    background-size:300% auto!important;
    background-position:right bottom!important;
  }
}

/* V32 — supplied Johans Trädgård work vehicle photo */
.brand-story .pickup-art img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:900px){
  .brand-story .pickup-art img{
    width:100%;
    height:auto;
    object-fit:cover;
  }
}

/* V33 — brand story vehicle image fills the complete right column */
.brand-story{
  align-items:stretch!important;
}
.brand-story .pickup-art{
  padding:0!important;
  width:100%;
  height:100%;
  min-height:100%;
  overflow:hidden;
}
.brand-story .pickup-art img{
  display:block;
  width:100%!important;
  height:100%!important;
  min-height:100%;
  object-fit:cover!important;
  object-position:center center!important;
}

@media(max-width:900px){
  .brand-story{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
  .brand-story .pickup-art{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .brand-story .pickup-art img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    object-fit:contain!important;
    object-position:center!important;
  }
}

/* V34 — definitive layout fix:
   desktop = 50/50, complete supplied image;
   mobile = text first, complete image full width below. */
.brand-story{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:stretch!important;
  background:#fff!important;
}
.brand-story > div:first-child{
  padding:8vw 6vw!important;
}
.brand-story .brand-story-art.pickup-art{
  position:relative!important;
  align-self:stretch!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:#f5f2e8!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.brand-story .brand-story-art.pickup-art img{
  position:static!important;
  inset:auto!important;
  left:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}

@media(max-width:900px){
  .brand-story{
    grid-template-columns:1fr!important;
  }
  .brand-story > div:first-child{
    padding:70px 7% 42px!important;
  }
  .brand-story .brand-story-art.pickup-art{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .brand-story .brand-story-art.pickup-art img{
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }
}

/* V35 — accessibility, consistency and conversion polish */
.skip-link{
  position:fixed;left:16px;top:12px;z-index:99999;
  transform:translateY(-160%);
  background:#fff;color:#063b2d;
  padding:12px 16px;border-radius:8px;
  font-weight:800;text-decoration:none;
  box-shadow:0 4px 20px rgba(0,0,0,.18);
}
.skip-link:focus{transform:translateY(0)}

:where(a,button,input,textarea,select,summary):focus-visible{
  outline:3px solid #d97706!important;
  outline-offset:3px!important;
}
a,button{touch-action:manipulation}
button,.btn,[class*="button"],[class*="cta"]{min-height:44px}

@media(max-width:900px){
  .mobile-menu-toggle{min-width:46px;min-height:46px}
  .mobile-menu a{min-height:44px;display:flex;align-items:center}
  body.menu-open{overflow:hidden}
}

/* Prevent accidental horizontal overflow */
html,body{max-width:100%;overflow-x:hidden}

/* Respect reduced-motion preferences */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* V36 — live contact/form */
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.consent{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;text-transform:none;letter-spacing:0;font-size:13px;line-height:1.45;font-weight:600}
.consent input{width:18px;height:18px;margin:2px 0 0;padding:0}
.consent a,.contact-direct a,footer a{text-decoration:underline;text-underline-offset:3px}
.contact-direct{font-weight:700;line-height:1.7}
form button:disabled{opacity:.65;cursor:wait}
