/*
Theme Name: Strømmen Keramiske 2026
Theme URI: https://solidweb.no/
Author: SolidWeb AS
Author URI: https://solidweb.no/
Description: Skreddersydd WordPress-theme for Strømmen Keramiske Håndverk AS med innebygd one-click import av komplett nettsted.
Version: 1.4.4
Text Domain: skh-2026
*/

:root{
  --ink:#1e1d1a;--ink-2:#23201d;--orange:#ffeb01;--orange-dark:#e3d200;
  --cream:#f3eee8;--warm:#e7ddd3;--paper:#fff;--text:#2b2724;--muted:#6a625c;
  --line:#ddd4cc;--max:1320px;--shadow:0 20px 50px rgba(22,20,18,.10);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-weight:900;color:var(--orange);font-size:14px}.btn{display:inline-flex;align-items:center;gap:10px;background:var(--orange);color:var(--ink);font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding:16px 24px;border:0;border-radius:2px;transition:.2s}.btn:hover{background:var(--orange-dark);transform:translateY(-2px)}.btn.dark{background:transparent;border:1px solid rgba(255,255,255,.55)}.btn.dark:hover{background:#fff;color:var(--ink)}.topbar{background:var(--ink);color:#fff;font-size:12px}.topbar .wrap{height:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar .accent{color:#ffeb01;font-weight:800}.site-header{background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(0,0,0,.06)}.header-inner{height:82px;display:flex;align-items:center;gap:40px}.logo img{width:178px;max-height:62px;object-fit:contain}.main-nav{margin-left:auto;display:flex;align-items:center;gap:32px;font-size:14px;font-weight:800}.nav-item{position:relative}.nav-link{display:flex;align-items:center;gap:6px;padding:31px 0}.nav-item.has-menu>.nav-link:after{content:'▾';font-size:11px}.dropdown{position:absolute;left:-22px;top:72px;min-width:275px;padding:12px;background:#fff;box-shadow:0 16px 50px rgba(0,0,0,.13);border:1px solid #eee;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:none}.dropdown a{display:block;padding:11px 13px;font-weight:650}.dropdown a:hover{background:var(--cream);color:var(--orange)}.header-cta{margin-left:15px}.menu-toggle{display:none;margin-left:auto;border:0;background:none;font-size:28px}.hero{min-height:690px;position:relative;background:#1e1d1a;color:#fff;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,16,.97) 0%,rgba(20,18,16,.88) 42%,rgba(20,18,16,.56) 66%,rgba(20,18,16,.60) 100%),var(--hero-bg) center/cover no-repeat;filter:saturate(.65)}.hero-inner{position:relative;z-index:2;min-height:690px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px}.hero-copy{max-width:610px}.hero h1{font-size:62px;line-height:1.03;margin:14px 0 20px;letter-spacing:-.035em}.hero p{font-size:17px;max-width:570px;color:#f0ece9}.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}.hero-frame{justify-self:end;width:min(470px,100%);height:540px;overflow:hidden;border-radius:220px 0 0 0;box-shadow:0 30px 70px rgba(0,0,0,.25);background:#ddd}.hero-frame img{width:100%;height:100%;object-fit:cover}.section{padding:105px 0}.section-head{text-align:center;max-width:820px;margin:0 auto 58px}.section-head h2{font-size:48px;line-height:1.1;margin:10px 0 18px;letter-spacing:-.025em}.section-head p{color:#544d47;font-size:17px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service-card{position:relative;background:var(--cream);box-shadow:var(--shadow);transition:.25s}.service-card:hover{transform:translateY(-6px)}.service-card img{height:340px;width:100%;object-fit:cover}.service-card .card-copy{padding:26px 30px 32px}.service-card h3{font-size:28px;margin:0 0 8px}.service-card p{margin:0;color:#625a54}.about{background:var(--cream)}.about-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:90px;align-items:center}.about h2,.content-split h2{font-size:48px;line-height:1.12;margin:10px 0 22px}.about p{font-size:16px}.checks{list-style:none;padding:0;margin:32px 0 0}.checks li{margin:11px 0;display:flex;gap:12px}.checks li:before{content:'✓';width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:var(--ink);font-weight:900;font-size:13px;flex:0 0 auto;margin-top:2px}.mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:260px 210px;gap:16px}.mosaic img{width:100%;height:100%;object-fit:cover}.mosaic .tall{grid-row:1/3;grid-column:2}.mosaic-note{background:var(--ink);color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:center}.mosaic-note strong{color:var(--orange);font-size:18px}.dark-band{background:var(--ink);color:#fff;padding:96px 0}.dark-band .section-head p{color:#ddd}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin:50px auto 65px;max-width:1040px}.feature{text-align:center}.feature-icon{width:56px;height:56px;border-radius:50%;background:var(--orange);color:var(--ink);margin:0 auto 15px;display:grid;place-items:center;font-size:23px}.feature h3{margin:0 0 5px;font-size:21px}.feature p{margin:0;color:#ded8d3;font-size:14px}.phone-box{text-align:center}.phone-box small{font-weight:900;text-transform:uppercase}.phone-box a.phone{display:block;color:var(--orange);font-size:42px;font-weight:900;margin:4px 0 22px}.cta-section{background:var(--cream);text-align:center;padding:90px 0}.cta-section h2{font-size:45px;margin:8px 0 10px}.cta-section p{max-width:740px;margin:0 auto 28px}.site-footer{background:var(--ink);color:#fff;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.2fr;gap:55px}.footer-grid h4{font-size:19px;margin:0 0 20px}.footer-grid p,.footer-grid a{color:#e7e1dc;font-size:14px}.footer-grid a{display:block;margin:9px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:55px;padding-top:20px;display:flex;justify-content:space-between;font-size:13px}.page-hero{background:var(--ink);color:#fff;min-height:470px;position:relative;overflow:hidden}.page-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,16,.96),rgba(20,18,16,.60)),var(--page-img) center/cover no-repeat}.page-hero .wrap{position:relative;z-index:1;min-height:470px;display:flex;align-items:center}.page-hero .hero-text{max-width:760px}.page-hero h1{font-size:58px;line-height:1.05;margin:10px 0 16px}.page-hero p{font-size:18px;color:#efe9e4;max-width:700px}.content-split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.content-split.reverse .media{order:-1}.content-split .media img{width:100%;height:520px;object-fit:cover}.content-split p{color:#514a45}.content-split h3{font-size:26px;margin:28px 0 8px}.prose{max-width:900px;margin:auto}.prose h2{font-size:38px;line-height:1.2;margin:46px 0 12px}.prose h3{font-size:25px;margin:34px 0 10px}.prose p,.prose li{color:#514a45}.prose ul{padding-left:20px}.cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.info-card{background:var(--cream);padding:38px}.info-card h3{font-size:26px;margin:0 0 10px}.info-card p{color:#5e5650}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-grid img{width:100%;height:390px;object-fit:cover}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-panel{background:var(--cream);padding:45px}.contact-line{padding:18px 0;border-bottom:1px solid var(--line)}form{display:grid;gap:15px}input,textarea{width:100%;padding:15px 16px;border:1px solid #d8d0c8;background:#fff;font:inherit}textarea{min-height:145px;resize:vertical}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.article-card{border:1px solid var(--line);background:#fff}.article-card img{height:250px;width:100%;object-fit:cover}.article-card div{padding:24px}.article-card h3{margin:0 0 8px;font-size:23px}.article-card p{color:#645b54;font-size:15px}.article-card .more{color:var(--orange);font-weight:800}.subnav{background:var(--cream);border-bottom:1px solid var(--line)}.subnav .wrap{display:flex;gap:22px;overflow:auto;padding-top:13px;padding-bottom:13px;font-size:13px;font-weight:750}.subnav a{white-space:nowrap}.subnav a:hover{color:var(--orange)}
.skh-mittanbud-home{position:relative;overflow:hidden;background:#1e1d1a var(--reviews-bg) center/cover no-repeat;color:#fff;padding:92px 0}.skh-mittanbud-home:before{content:"";position:absolute;inset:0;background:rgba(15,13,11,.72);pointer-events:none}.skh-mittanbud-home>.wrap{position:relative;z-index:1}.skh-mittanbud-home .section-head,.skh-mittanbud-home h1,.skh-mittanbud-home h2,.skh-mittanbud-home h3,.skh-mittanbud-home h4{color:#fff}.skh-mittanbud-home .eyebrow{color:#ffeb01}.skh-mittanbud-home a{position:relative}.skh-mittanbud-home .skh-reviews-shortcode{min-height:420px}.skh-mittanbud-home:has(.skh-reviews-shortcode:empty){display:none}

@media(max-width:1050px){.main-nav,.header-cta{display:none}.menu-toggle{display:block}.site-header.mobile-open .main-nav{display:flex;position:absolute;top:82px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:20px 24px;gap:0;border-top:1px solid #eee;box-shadow:0 20px 40px rgba(0,0,0,.12)}.site-header.mobile-open .nav-link{padding:14px 0}.dropdown{position:static;box-shadow:none;border:0;padding:0 0 8px 15px;opacity:1;visibility:visible;transform:none;display:none}.site-header.mobile-open .nav-item.open .dropdown{display:block}.hero-inner,.about-grid,.content-split,.contact-grid{grid-template-columns:1fr}.hero-frame{display:none}.services-grid,.article-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.content-split.reverse .media{order:0}}
@media(max-width:720px){.wrap{width:min(var(--max),calc(100% - 30px))}.topbar .wrap{justify-content:center}.topbar .hours,.topbar .social{display:none}.header-inner{height:72px}.logo img{width:150px}.site-header.mobile-open .main-nav{top:72px}.hero,.hero-inner{min-height:590px}.hero h1,.page-hero h1{font-size:43px}.hero-copy{padding:55px 0}.section,.dark-band{padding:75px 0}.section-head h2,.about h2,.content-split h2{font-size:37px}.services-grid,.article-grid,.cards-2,.feature-row,.gallery-grid{grid-template-columns:1fr}.service-card img{height:280px}.about-grid{gap:45px}.mosaic{grid-template-columns:1fr;grid-template-rows:250px 180px 320px}.mosaic .tall{grid-column:1;grid-row:3}.feature-row{gap:30px}.phone-box a.phone{font-size:31px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:10px}.content-split{gap:35px}.content-split .media img{height:360px}.gallery-grid img{height:330px}.page-hero,.page-hero .wrap{min-height:410px}.cta-section h2{font-size:36px}}

/* WordPress integration */
body.admin-bar .site-header{top:32px}.custom-logo-link{display:flex;align-items:center}.custom-logo{width:178px;max-height:62px;object-fit:contain}.main-nav ul{list-style:none;margin:0;padding:0}.main-nav>div>ul,.main-nav>ul{display:flex;align-items:center;gap:32px}.main-nav li{position:relative}.main-nav>div>ul>li>a,.main-nav>ul>li>a{display:flex;align-items:center;gap:6px;padding:31px 0}.main-nav li.menu-item-has-children>a:after{content:'▾';font-size:11px}.main-nav .sub-menu{position:absolute;left:-22px;top:72px;min-width:285px;padding:12px;background:#fff;box-shadow:0 16px 50px rgba(0,0,0,.13);border:1px solid #eee;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;z-index:90}.main-nav li:hover>.sub-menu{opacity:1;visibility:visible;transform:none}.main-nav .sub-menu a{display:block;padding:11px 13px;font-weight:650}.main-nav .sub-menu a:hover{background:var(--cream);color:var(--orange)}.main-nav .current-menu-item>a,.main-nav .current-menu-ancestor>a{color:var(--orange)}
.site-main{min-height:40vh}.page-hero-small,.page-hero-small .wrap{min-height:360px}.contact-actions .contact-big{font-size:23px;font-weight:900;color:var(--orange)}.edit-link{display:none}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skh-post-wrap{padding:80px 0}.skh-post{max-width:900px;margin:auto}.skh-post h1{font-size:52px;line-height:1.08}.skh-post .entry-meta{color:var(--muted);margin-bottom:28px}.skh-post .entry-content{font-size:18px}.skh-post .entry-content img{margin:28px 0}.skh-404{text-align:center;padding:120px 0}.skh-404 h1{font-size:72px;margin:0}.footer-bottom a{color:#fff}.footer-bottom a:hover{color:var(--orange)}
@media(max-width:1050px){.main-nav>div>ul,.main-nav>ul{display:block}.site-header.mobile-open .main-nav{display:block}.main-nav .sub-menu{position:static;box-shadow:none;border:0;padding:0 0 8px 15px;opacity:1;visibility:visible;transform:none;display:none}.site-header.mobile-open .main-nav li.open>.sub-menu{display:block}.main-nav>div>ul>li>a,.main-nav>ul>li>a{padding:14px 0}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}


/* v1.1 — richer pages, forms, posts, customizer images and gallery lightbox */
.compact-section{padding:78px 0}.soft-section{background:var(--cream)}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.cards-3 .info-card{height:100%}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.process-card{padding:30px;background:#fff;border:1px solid var(--line);position:relative}.process-card span{font-size:13px;letter-spacing:.12em;font-weight:900;color:var(--orange)}.process-card h3{font-size:22px;margin:18px 0 8px}.process-card p{margin:0;color:#645b54;font-size:15px}.section-action{text-align:center;margin-top:38px}.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}.btn-outline:hover{color:#fff;background:var(--ink)}
.top-social{display:flex;align-items:center;gap:8px}.top-social a:hover{color:#ffeb01}.footer-social{display:flex;gap:10px;margin-top:20px}.footer-social a{width:38px;height:38px;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center!important;border-radius:50%;font-size:18px!important;margin:0!important}.footer-social a:hover{background:var(--orange);border-color:var(--orange)}
.dynamic-post-card{display:flex;flex-direction:column;overflow:hidden;transition:.25s}.dynamic-post-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.dynamic-post-card .post-image{display:block;position:relative;overflow:hidden}.dynamic-post-card .post-image img{transition:transform .45s}.dynamic-post-card:hover .post-image img{transform:scale(1.035)}.post-cat{position:absolute;left:16px;bottom:16px;background:var(--orange);color:var(--ink);padding:7px 10px;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900}.post-card-copy{padding:24px!important}.post-date{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800;margin-bottom:8px}.empty-posts{padding:50px;text-align:center;background:var(--cream);border:1px solid var(--line)}.pagination{margin-top:50px}.pagination .nav-links{display:flex;gap:8px;justify-content:center}.pagination .page-numbers{padding:10px 15px;border:1px solid var(--line)}.pagination .current{background:var(--orange);color:var(--ink);border-color:var(--orange)}
.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}.contact-info-block h2,.form-shell h2{font-size:42px;line-height:1.12;margin:10px 0 18px}.contact-detail-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px}.contact-detail-cards>a,.contact-detail-cards>div{display:flex;flex-direction:column;gap:6px;padding:22px;background:var(--cream);min-height:120px}.contact-detail-cards small{text-transform:uppercase;letter-spacing:.08em;color:var(--orange);font-weight:900}.contact-detail-cards strong{font-size:17px}.text-link{color:var(--orange);font-weight:800}.form-shell{background:#fff;padding:42px;border:1px solid var(--line);box-shadow:var(--shadow)}.form-shell-accent{border-top:5px solid var(--orange)}.skh-form{display:grid;gap:18px;margin-top:28px}.skh-form label>span{display:block;font-weight:800;font-size:13px;margin-bottom:7px}.form-row{display:grid;gap:16px}.form-row.two{grid-template-columns:1fr 1fr}.skh-form input,.skh-form textarea,.skh-form select{width:100%;padding:14px 15px;border:1px solid #d6cec6;background:#fff;color:var(--text);font:inherit;border-radius:0}.skh-form input:focus,.skh-form textarea:focus,.skh-form select:focus{outline:2px solid rgba(255,235,1,.22);border-color:var(--orange)}.skh-form textarea{min-height:150px}.consent{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important}.consent input{width:auto;margin-top:5px}.consent span{font-weight:500!important;color:#5f5751}.form-submit{justify-content:center;cursor:pointer;font:inherit}.form-small{font-size:12px;color:var(--muted);margin:0}.form-small a{color:var(--orange);font-weight:800}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-message{padding:14px 16px;margin:0 0 20px;border-left:4px solid}.form-message.success{background:#eef8ef;border-color:#3d8b46}.form-message.error{background:#fff0ef;border-color:#b53026}.step-list{display:grid;gap:8px;margin:30px 0}.step-list>div{display:grid;grid-template-columns:48px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.step-list span{width:42px;height:42px;background:var(--orange);color:var(--ink);display:grid;place-items:center;font-weight:900;border-radius:50%}.step-list h3{margin:0 0 4px}.step-list p{margin:0;color:#625a54}.inspection-note{background:var(--ink);color:#fff;padding:26px;margin-top:28px}.inspection-note strong{color:var(--orange)}.inspection-note p{margin-bottom:0;color:#eee}
.gallery-grid img[data-skh-lightbox]{cursor:zoom-in;transition:transform .2s,filter .2s}.gallery-grid img[data-skh-lightbox]:hover{transform:scale(1.012);filter:brightness(.9)}.skh-lightbox{position:fixed;inset:0;background:rgba(10,9,8,.95);z-index:99999;display:none;align-items:center;justify-content:center;padding:35px}.skh-lightbox.open{display:flex}.lb-stage{max-width:min(1320px,88vw);max-height:88vh;display:flex;align-items:center;justify-content:center}.lb-stage img{max-width:100%;max-height:88vh;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.45)}.lb-close,.lb-prev,.lb-next{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;display:grid;place-items:center}.lb-close{right:26px;top:22px;width:48px;height:48px;font-size:34px}.lb-prev,.lb-next{top:50%;transform:translateY(-50%);width:52px;height:72px;font-size:48px}.lb-prev{left:22px}.lb-next{right:22px}.lb-count{position:absolute;bottom:18px;color:#fff;font-weight:800;letter-spacing:.08em}.lb-open{overflow:hidden}
.article-hero{background:var(--ink);color:#fff;position:relative;overflow:hidden}.article-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,16,.96),rgba(20,18,16,.65)),var(--article-img) center/cover no-repeat}.article-hero .wrap{min-height:460px;display:flex;align-items:flex-end;position:relative;z-index:1}.article-hero-copy{max-width:900px;padding:80px 0}.article-hero h1{font-size:58px;line-height:1.04;margin:10px 0 20px}.article-meta{color:#ddd}.article-body-layout{display:grid;grid-template-columns:minmax(0,820px) 320px;gap:80px;padding-top:80px;padding-bottom:100px;align-items:start}.article-content{font-size:18px;line-height:1.8}.article-content h2{font-size:38px;line-height:1.2;margin:48px 0 14px}.article-content h3{font-size:27px;margin:36px 0 10px}.article-content img{margin:34px 0;width:100%;height:auto}.article-aside{position:sticky;top:120px}.aside-card{padding:30px;background:var(--cream)}.aside-card h3{font-size:27px;margin:8px 0}.skh-blog-hero:before{background:linear-gradient(90deg,rgba(20,18,16,.98),rgba(20,18,16,.78)),url('images/logo.webp') center/cover no-repeat}
@media(max-width:1050px){.cards-3,.process-grid{grid-template-columns:1fr 1fr}.contact-layout,.article-body-layout{grid-template-columns:1fr}.article-aside{position:static}.contact-layout{gap:45px}}
@media(max-width:720px){.cards-3,.process-grid,.form-row.two,.contact-detail-cards{grid-template-columns:1fr}.form-shell{padding:28px 22px}.contact-info-block h2,.form-shell h2{font-size:34px}.lb-prev,.lb-next{width:42px;height:60px}.lb-prev{left:8px}.lb-next{right:8px}.lb-close{right:10px;top:10px}.skh-lightbox{padding:18px}.article-hero h1{font-size:42px}.article-hero .wrap{min-height:390px}.article-hero-copy{padding:55px 0}.article-body-layout{padding-top:55px;padding-bottom:70px}.article-content{font-size:17px}}

@media(max-width:720px){.skh-mittanbud-home{padding:64px 0;background-position:center}.skh-mittanbud-home .skh-reviews-shortcode{min-height:300px}}

/* v1.2 — full visual polish, six service cards and premium process sections */
.services-section{background:#fff;position:relative;overflow:hidden}
.services-section:before{content:"";position:absolute;left:-220px;top:-240px;width:520px;height:520px;border:1px solid #eee7e0;border-radius:50%;opacity:.55;pointer-events:none}
.services-wrap{position:relative;z-index:1;max-width:1500px}
.services-grid-six{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.services-grid-six .service-card{min-width:0;background:#fff;border:1px solid #e8e0d8;box-shadow:0 14px 35px rgba(24,20,17,.07);overflow:hidden;display:flex;flex-direction:column}
.services-grid-six .service-image{height:235px;position:relative;overflow:hidden;background:#ded7d0}
.services-grid-six .service-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(15,13,11,.42));pointer-events:none}
.services-grid-six .service-card img{height:100%;width:100%;object-fit:cover;transition:transform .5s ease;filter:saturate(.9)}
.services-grid-six .service-card:hover img{transform:scale(1.045)}
.services-grid-six .service-card:hover{transform:translateY(-7px);box-shadow:0 24px 55px rgba(24,20,17,.13);border-color:#ddd0c5}
.services-grid-six .service-number{position:absolute;right:14px;bottom:12px;z-index:2;color:#fff;font-size:11px;font-weight:900;letter-spacing:.13em;border:1px solid rgba(255,255,255,.55);padding:5px 7px;background:rgba(18,16,14,.28);backdrop-filter:blur(4px)}
.services-grid-six .card-copy{padding:22px 20px 24px;display:flex;flex-direction:column;flex:1;border-top:3px solid var(--orange)}
.services-grid-six .service-card h3{font-size:21px;line-height:1.15;margin:0 0 10px;letter-spacing:-.015em}
.services-grid-six .service-card p{font-size:14px;line-height:1.55;margin:0 0 18px;color:#625a54}
.services-grid-six .service-link{margin-top:auto;color:var(--orange);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}

/* More consistent inner-page content */
.section:not(.dark-band):not(.skh-mittanbud-home):not(.cta-section){position:relative}
.content-split .media{position:relative}
.content-split .media:before{content:"";position:absolute;left:-13px;bottom:-13px;width:72%;height:64%;background:var(--cream);z-index:-1}
.content-split.reverse .media:before{left:auto;right:-13px}
.content-split .media img{box-shadow:0 20px 55px rgba(27,23,20,.10)}
.info-card{position:relative;background:#fff;border:1px solid #e2d8cf;padding:36px 36px 38px;box-shadow:0 10px 28px rgba(24,20,17,.055);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.info-card:before{content:"";position:absolute;left:0;top:0;width:54px;height:4px;background:var(--orange);transition:width .25s ease}
.info-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(24,20,17,.10);border-color:#d7c9bd}
.info-card:hover:before{width:100%}
.info-card h3{font-size:24px;line-height:1.2;margin:4px 0 12px}
.info-card p{margin:0;color:#625b55;line-height:1.7}
.about .info-card,.soft-section .info-card{background:#fff}
.cards-2,.cards-3{align-items:stretch}

/* Premium process block */
.process-showcase{background:var(--ink);color:#fff;padding:100px 0 110px;overflow:hidden}
.process-showcase:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.07);border-radius:50%;right:-250px;top:-260px}
.process-showcase:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,235,1,.18);border-radius:50%;left:-200px;bottom:-220px}
.process-showcase .wrap{position:relative;z-index:1}
.process-showcase .section-head{max-width:860px;margin-bottom:64px}
.process-showcase .section-head h2{color:#fff}
.process-showcase .section-head p{color:#cfc8c2}
.process-showcase .process-grid{position:relative;gap:18px}
.process-showcase .process-grid:before{content:"";position:absolute;left:6%;right:6%;top:46px;height:1px;background:linear-gradient(90deg,rgba(255,235,1,.15),rgba(255,235,1,.8),rgba(255,235,1,.15));z-index:0}
.process-showcase .process-card{position:relative;z-index:1;padding:34px 28px 30px;background:#fff;color:var(--text);border:0;box-shadow:0 22px 45px rgba(0,0,0,.20);min-height:260px;transition:transform .24s ease,box-shadow .24s ease}
.process-showcase .process-card:hover{transform:translateY(-7px);box-shadow:0 30px 60px rgba(0,0,0,.28)}
.process-showcase .process-card span{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--orange);color:var(--ink);font-size:13px;letter-spacing:.08em;box-shadow:0 0 0 8px var(--ink),0 0 0 9px rgba(255,235,1,.35);margin-bottom:30px}
.process-showcase .process-card h3{font-size:22px;margin:0 0 12px;line-height:1.2}
.process-showcase .process-card p{font-size:14px;line-height:1.7;color:#645c56}

/* Any process grid outside the dark showcase still gets a polished treatment */
.process-grid:not(.process-showcase .process-grid){gap:20px}
.process-grid:not(.process-showcase .process-grid) .process-card{border:1px solid #e3d9d0;box-shadow:0 12px 32px rgba(25,21,18,.07);padding:34px 28px;background:#fff}
.process-grid:not(.process-showcase .process-grid) .process-card span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--orange);color:var(--ink);letter-spacing:.05em}

/* Better numbered steps on forms/contact pages */
.step-list{position:relative;gap:0;margin:34px 0}
.step-list:before{content:"";position:absolute;left:21px;top:23px;bottom:23px;width:1px;background:#dfd4ca}
.step-list>div{position:relative;grid-template-columns:54px 1fr;gap:18px;padding:17px 0;border:0}
.step-list span{position:relative;z-index:1;width:44px;height:44px;box-shadow:0 0 0 7px #fff;font-size:13px}
.step-list h3{font-size:20px;margin:1px 0 5px}
.step-list p{font-size:15px;line-height:1.65}

/* Better visual rhythm across inner pages */
.compact-section{padding:90px 0}
.soft-section{background:#f6f2ee}
.article-card{overflow:hidden;box-shadow:0 10px 28px rgba(24,20,17,.055);transition:transform .22s ease,box-shadow .22s ease}
.article-card:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(24,20,17,.11)}
.article-card img{transition:transform .45s ease}
.article-card:hover img{transform:scale(1.035)}

@media(max-width:1250px){
  .services-grid-six{grid-template-columns:repeat(3,1fr);gap:22px}
  .services-grid-six .service-image{height:285px}
}
@media(max-width:800px){
  .services-grid-six{grid-template-columns:repeat(2,1fr)}
  .services-grid-six .service-image{height:260px}
}
@media(max-width:720px){
  .services-grid-six{grid-template-columns:1fr}
  .services-grid-six .service-image{height:300px}
  .services-grid-six .service-card h3{font-size:24px}
  .process-showcase{padding:75px 0}
  .process-showcase .process-grid:before{display:none}
  .process-showcase .process-card{min-height:0}
  .content-split .media:before{display:none}
}
.services-grid-six .service-card-link{display:flex;flex-direction:column;height:100%}


/* v1.3 — 3x2 homepage services, cleaner navigation, taller heroes */
/* Requested Mittanbud heading color override */
.skh-mittanbud-home .section-head,
.skh-mittanbud-home h1,
.skh-mittanbud-home h2,
.skh-mittanbud-home h3,
.skh-mittanbud-home h4{color:#1e1d1a}

/* Homepage service grid: always 3 + 3 on desktop, based on the supplied card layout */
.services-wrap{max-width:1240px}
.services-grid-six{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}
.services-grid-six .service-card{background:transparent;border:0;box-shadow:none;overflow:visible;display:block}
.services-grid-six .service-card:hover{transform:translateY(-5px);box-shadow:none;border-color:transparent}
.services-grid-six .service-image{height:auto;aspect-ratio:387/280;background:#eee;overflow:hidden;position:relative}
.services-grid-six .service-image:after{display:none}
.services-grid-six .service-card img{width:100%;height:100%;object-fit:cover;filter:none}
.services-grid-six .card-copy{position:relative;z-index:2;margin:-22px 20px 0;background:var(--cream);padding:30px 26px 28px;border:0;min-height:170px;box-shadow:0 14px 34px rgba(24,20,17,.055)}
.services-grid-six .service-card h3{font-size:24px;line-height:1.2;margin:0 0 9px}
.services-grid-six .service-card p{font-size:15px;line-height:1.6;margin:0 0 20px}
.services-grid-six .service-link{display:inline-flex;align-items:center;gap:7px;margin-top:auto;color:var(--orange);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;text-decoration:underline;text-underline-offset:4px}
.services-grid-six .service-link:after{content:'→';text-decoration:none}

/* Cleaner article cards — no category label/badge */
.post-cat{display:none!important}
.dynamic-post-card .post-image{background:#eee}

/* More refined desktop header/menu */
.header-inner{height:92px;gap:34px}
.logo img,.custom-logo{width:188px;max-height:66px}
.main-nav{font-size:14px;font-weight:800}
.main-nav>div>ul,.main-nav>ul{gap:34px}
.main-nav>div>ul>li>a,.main-nav>ul>li>a{position:relative;padding:35px 0 33px;letter-spacing:-.01em}
.main-nav>div>ul>li>a:before,.main-nav>ul>li>a:before{content:"";position:absolute;left:0;right:0;bottom:25px;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.main-nav>div>ul>li:hover>a:before,.main-nav>ul>li:hover>a:before,.main-nav .current-menu-item>a:before,.main-nav .current-menu-ancestor>a:before{transform:scaleX(1)}
.main-nav li.menu-item-has-children>a:after{content:'⌄';font-size:14px;line-height:1;margin-left:3px;transform:translateY(-1px)}
.main-nav .sub-menu{top:82px;left:-24px;min-width:305px;padding:9px;background:#fff;border:1px solid #ece5df;border-top:3px solid var(--orange);box-shadow:0 24px 65px rgba(20,17,15,.14)}
.main-nav .sub-menu li+li{border-top:1px solid #f1ece7}
.main-nav .sub-menu a{padding:12px 15px;font-size:13px;font-weight:720;transition:padding .18s ease,background .18s ease,color .18s ease}
.main-nav .sub-menu a:hover{padding-left:20px;background:#f7f3ef;color:var(--orange)}
.header-cta{padding:15px 22px;margin-left:8px;box-shadow:0 8px 22px rgba(255,235,1,.18)}

/* Taller, more cinematic heroes */
.hero,.hero-inner{min-height:735px}
.hero-frame{height:575px}
.page-hero,.page-hero .wrap{min-height:560px}
.page-hero-small,.page-hero-small .wrap{min-height:450px}
.page-hero .hero-text{max-width:820px}
.page-hero h1{font-size:62px}

@media(max-width:1050px){
  .header-inner{height:82px}
  .logo img,.custom-logo{width:172px;max-height:62px}
  .site-header.mobile-open .main-nav{top:82px}
  .services-grid-six{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
}
@media(max-width:720px){
  .header-inner{height:72px}
  .site-header.mobile-open .main-nav{top:72px}
  .hero,.hero-inner{min-height:620px}
  .page-hero,.page-hero .wrap{min-height:455px}
  .page-hero-small,.page-hero-small .wrap{min-height:410px}
  .services-grid-six{grid-template-columns:1fr;gap:28px}
  .services-grid-six .card-copy{margin:-18px 14px 0;padding:27px 23px 25px;min-height:0}
  .services-grid-six .service-card h3{font-size:24px}
}


/* v1.3.1 — force 3x2 service layout + subtle site motion */
@media (min-width:1051px){
  .services-section .services-wrap .services-grid-six{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:34px 28px!important;
  }
  .services-section .services-grid-six .service-card{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
  }
  .services-section .services-grid-six .service-image{
    aspect-ratio:387/280!important;
  }
  .services-section .services-grid-six .card-copy{
    min-height:188px;
  }
}

/* Subtle motion. Classes are added by JS only, so content stays visible if JS is unavailable. */
.skh-motion-ready .skh-reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .65s cubic-bezier(.2,.65,.3,1),transform .65s cubic-bezier(.2,.65,.3,1);
  will-change:opacity,transform;
}
.skh-motion-ready .skh-reveal.skh-in-view{opacity:1;transform:none}
.skh-motion-ready .skh-reveal-delay-1{transition-delay:.06s}
.skh-motion-ready .skh-reveal-delay-2{transition-delay:.12s}
.skh-motion-ready .skh-reveal-delay-3{transition-delay:.18s}
.skh-motion-ready .skh-reveal-delay-4{transition-delay:.24s}
.skh-motion-ready .skh-reveal-delay-5{transition-delay:.30s}

.service-card,.article-card,.info-card,.process-card,.contact-detail-cards>a,.contact-detail-cards>div{
  transition:transform .28s cubic-bezier(.2,.65,.3,1),box-shadow .28s ease,border-color .28s ease;
}
.services-grid-six .service-card:hover{transform:translateY(-6px)}
.services-grid-six .service-card img{transition:transform .7s cubic-bezier(.2,.65,.3,1)}
.services-grid-six .service-card:hover img{transform:scale(1.035)}
.info-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(24,20,17,.09)}

.hero:before,.page-hero:before,.article-hero:before{transition:transform 1.2s ease;transform:scale(1.015)}
.hero:hover:before,.page-hero:hover:before,.article-hero:hover:before{transform:scale(1.03)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .skh-motion-ready .skh-reveal,.skh-motion-ready .skh-reveal.skh-in-view,
  .service-card,.article-card,.info-card,.process-card,.services-grid-six .service-card img,
  .hero:before,.page-hero:before,.article-hero:before{
    transition:none!important;transform:none!important;opacity:1!important;
  }
}


/* v1.3.2 — refined homepage about section + perfectly aligned dropdown indicators */
@media (min-width:1051px){
  .main-nav>div>ul,.main-nav>ul{
    flex-wrap:nowrap!important;
    white-space:nowrap;
  }
  .main-nav>div>ul>li,.main-nav>ul>li{
    flex:0 0 auto;
  }
  .main-nav>div>ul>li>a,.main-nav>ul>li>a{
    display:inline-flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start;
    white-space:nowrap!important;
    line-height:1.2;
  }
  .main-nav li.menu-item-has-children>a:after{
    content:'⌄';
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:11px;
    height:11px;
    margin:0 0 0 6px!important;
    font-size:11px!important;
    line-height:11px!important;
    transform:translateY(-1px)!important;
    vertical-align:middle;
  }
}

/* Homepage “Om oss” — more editorial, premium and visually balanced */
.home .section.about{
  position:relative;
  overflow:hidden;
  padding:132px 0 138px;
  background:
    radial-gradient(circle at 88% 18%,rgba(255,235,1,.08),transparent 28%),
    linear-gradient(135deg,#f5f0ea 0%,#efe7df 100%);
}
.home .section.about:before{
  content:'1997';
  position:absolute;
  left:-24px;
  bottom:-92px;
  font-size:250px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.08em;
  color:rgba(33,29,26,.035);
  pointer-events:none;
}
.home .about-grid{
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
  gap:58px;
  align-items:center;
  position:relative;
  z-index:1;
}
.home .about-grid>div:first-child{
  position:relative;
  z-index:3;
  background:rgba(255,255,255,.92);
  padding:58px 60px 56px;
  border-top:4px solid var(--orange);
  box-shadow:0 28px 70px rgba(30,25,21,.10);
  backdrop-filter:blur(5px);
}
.home .about-grid>div:first-child:after{
  content:'';
  position:absolute;
  width:54px;
  height:54px;
  right:-27px;
  top:48px;
  border:1px solid rgba(255,235,1,.38);
  transform:rotate(45deg);
  background:transparent;
  z-index:-1;
}
.home .about .eyebrow{margin-bottom:7px}
.home .about h2{
  font-size:54px;
  line-height:1.04;
  letter-spacing:-.038em;
  margin:10px 0 24px;
  max-width:620px;
}
.home .about-grid>div:first-child>p{
  max-width:630px;
  color:#554d47;
  line-height:1.78;
}
.home .checks{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 22px;
  margin-top:34px;
  padding-top:28px;
  border-top:1px solid #e7ddd4;
}
.home .checks li{
  margin:0;
  align-items:flex-start;
  font-size:14px;
  line-height:1.45;
  color:#403a35;
}
.home .checks li:before{
  width:24px;
  height:24px;
  box-shadow:0 7px 16px rgba(255,235,1,.22);
}
.home .mosaic{
  position:relative;
  grid-template-columns:.86fr 1.14fr;
  grid-template-rows:280px 230px;
  gap:18px;
  margin-left:-8px;
  transform:translateY(10px);
}
.home .mosaic:before{
  content:'';
  position:absolute;
  right:-26px;
  top:-26px;
  width:58%;
  height:56%;
  border:1px solid rgba(33,29,26,.18);
  z-index:-1;
}
.home .mosaic:after{
  content:'';
  position:absolute;
  left:-22px;
  bottom:-24px;
  width:42%;
  height:45%;
  background:rgba(255,235,1,.10);
  z-index:-1;
}
.home .mosaic img{
  box-shadow:0 22px 55px rgba(26,22,19,.14);
  transition:transform .7s cubic-bezier(.2,.65,.3,1),filter .35s ease;
}
.home .mosaic img:first-child{
  object-position:center;
}
.home .mosaic .tall{
  grid-row:1/3;
  grid-column:2;
  object-position:center;
}
.home .mosaic:hover img:first-child{transform:translateY(-5px)}
.home .mosaic:hover .tall{transform:translateY(5px)}
.home .mosaic-note{
  position:relative;
  overflow:hidden;
  padding:34px 32px;
  background:linear-gradient(145deg,#1e1d1a,#26211e);
  box-shadow:0 22px 55px rgba(26,22,19,.17);
}
.home .mosaic-note:before{
  content:'';
  position:absolute;
  right:-36px;
  top:-36px;
  width:105px;
  height:105px;
  border:1px solid rgba(255,235,1,.28);
  border-radius:50%;
}
.home .mosaic-note strong{
  display:block;
  font-size:24px;
  line-height:1.1;
  margin-bottom:9px;
}
.home .mosaic-note span{
  display:block;
  max-width:180px;
  color:#eee7e2;
  line-height:1.55;
}

@media(max-width:1050px){
  .home .section.about{padding:95px 0}
  .home .about-grid{gap:46px}
  .home .about-grid>div:first-child{padding:46px 44px}
  .home .about-grid>div:first-child:after{display:none}
  .home .mosaic{margin-left:0;transform:none;max-width:760px;width:100%;margin-right:auto}
}
@media(max-width:720px){
  .home .section.about{padding:78px 0 82px}
  .home .section.about:before{font-size:135px;bottom:-40px}
  .home .about-grid>div:first-child{padding:34px 26px 32px}
  .home .about h2{font-size:39px}
  .home .checks{grid-template-columns:1fr;gap:12px}
  .home .mosaic{grid-template-columns:1fr;grid-template-rows:260px 180px 330px;gap:14px}
  .home .mosaic .tall{grid-column:1;grid-row:3}
  .home .mosaic:before,.home .mosaic:after{display:none}
}

/* v1.3.3 — menu alignment, stronger homepage about, contact polish and mobile fixes */

/* Use a CSS-drawn chevron instead of a font glyph so it sits optically centered. */
.main-nav li.menu-item-has-children>a:after{
  content:""!important;
  display:inline-block!important;
  width:6px!important;
  height:6px!important;
  flex:0 0 6px!important;
  margin:0 0 0 8px!important;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg)!important;
  position:relative;
  top:-3px;
  vertical-align:middle;
  transition:transform .18s ease,top .18s ease;
}
@media(max-width:1050px){
  .main-nav li.menu-item-has-children>a:after{top:-2px;margin-left:auto!important}
  .main-nav li.menu-item-has-children.open>a:after{transform:rotate(225deg)!important;top:2px}
}

/* Mobile toggle becomes a large, clean X when open (JS swaps the character). */
.menu-toggle{
  width:46px;
  height:46px;
  padding:0;
  align-items:center;
  justify-content:center;
  line-height:1;
  font-family:Arial,sans-serif;
  font-size:30px;
  font-weight:300;
  color:var(--ink);
  cursor:pointer;
}
@media(max-width:1050px){.menu-toggle{display:flex}}
.site-header.mobile-open .menu-toggle{font-size:37px;transform:translateY(-1px)}

/* Turn the old empty decorative square in the homepage mosaic into a useful trust tile. */
.home .mosaic:before{
  content:"10 ÅR\A GARANTI";
  white-space:pre-line;
  right:-22px;
  top:-22px;
  width:47%;
  height:43%;
  border:0;
  background:linear-gradient(145deg,#ffeb01,#e3d200);
  color:#1e1d1a;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:27px 28px;
  font-size:31px;
  line-height:.92;
  font-weight:950;
  letter-spacing:-.035em;
  box-shadow:0 24px 55px rgba(123,113,0,.22);
  z-index:2;
}
.home .mosaic:after{
  left:-18px;
  bottom:-20px;
  width:38%;
  height:42%;
  background:rgba(255,235,1,.11);
}
.home .mosaic-note:after{
  content:'GODKJENT VÅTROMSBEDRIFT';
  display:block;
  margin-top:20px;
  padding-top:15px;
  border-top:1px solid rgba(255,255,255,.16);
  color:#d8cec7;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}
.home .mosaic img:first-child{position:relative;z-index:3}
.home .mosaic .tall{position:relative;z-index:3}

/* More balanced contact page: one clear information card + one form card. */
.contact-layout{
  max-width:1220px;
  margin-left:auto;
  margin-right:auto;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:34px;
}
.contact-info-block{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#1e1d1a,#27221f);
  color:#fff;
  padding:46px 44px 42px;
  box-shadow:0 24px 65px rgba(28,23,20,.13);
  min-height:100%;
}
.contact-info-block:after{
  content:'';
  position:absolute;
  width:180px;
  height:180px;
  border:1px solid rgba(255,235,1,.22);
  border-radius:50%;
  right:-90px;
  top:-90px;
}
.contact-info-block h2{color:#fff;font-size:43px;line-height:1.08;margin:10px 0 20px;letter-spacing:-.03em}
.contact-info-block>p{color:#ded6d0;line-height:1.75;max-width:530px}
.contact-info-block .text-link{color:#ffeb01}
.contact-detail-cards{grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}
.contact-detail-cards>a,.contact-detail-cards>div{
  background:rgba(255,255,255,.065);
  border:1px solid rgba(255,255,255,.09);
  color:#fff;
  min-height:112px;
  padding:19px 20px;
}
.contact-detail-cards>a:hover{background:rgba(255,255,255,.10);transform:translateY(-2px)}
.contact-detail-cards small{color:#ffeb01}
.contact-detail-cards strong{font-size:15px;line-height:1.55;color:#fff}
.form-shell{
  padding:46px 48px 44px;
  border:1px solid #e1d8cf;
  border-top:5px solid var(--orange);
  box-shadow:0 24px 65px rgba(28,23,20,.10);
}
.form-shell h2{margin-bottom:10px}
.skh-form{margin-top:22px}
.skh-form label>span{font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.skh-form input,.skh-form textarea,.skh-form select{background:#fbfaf9;border-color:#dcd4cd;min-height:52px}
.skh-form textarea{min-height:154px}

/* Date labels are intentionally removed from all article views. Hide stale cached markup too. */
.post-date{display:none!important}

@media(max-width:1050px){
  .contact-layout{grid-template-columns:1fr;max-width:820px;gap:26px}
  .contact-info-block{min-height:0}
}

@media(max-width:720px){
  /* The previous card treatment was too oversized on narrow screens. */
  .home .section.about{padding:62px 0 68px}
  .home .about-grid{gap:28px}
  .home .about-grid>div:first-child{
    padding:28px 22px 27px;
    box-shadow:0 18px 42px rgba(30,25,21,.08);
    border-top-width:3px;
  }
  .home .about h2{
    font-size:34px!important;
    line-height:1.06!important;
    letter-spacing:-.035em;
    margin:8px 0 18px;
    max-width:none;
    word-break:normal;
    overflow-wrap:normal;
    hyphens:none;
  }
  .home .about-grid>div:first-child>p{font-size:15px;line-height:1.68;margin:0 0 14px}
  .home .checks{margin-top:23px;padding-top:21px;gap:11px}
  .home .checks li{font-size:13px}
  .home .section.about:before{display:none}

  /* Keep the visual collage compact and useful instead of stacking into a very tall block. */
  .home .mosaic{
    grid-template-columns:1fr 1fr;
    grid-template-rows:190px 160px;
    gap:10px;
    margin:0;
  }
  .home .mosaic img:first-child{grid-column:1;grid-row:1}
  .home .mosaic-note{grid-column:1;grid-row:2;padding:22px 20px}
  .home .mosaic-note strong{font-size:20px}
  .home .mosaic-note span{font-size:13px}
  .home .mosaic-note:after{font-size:8px;margin-top:12px;padding-top:10px}
  .home .mosaic .tall{grid-column:2;grid-row:1/3!important;min-height:0}
  .home .mosaic:before{
    content:'10 ÅR';
    display:flex;
    width:auto;
    height:auto;
    right:10px;
    top:10px;
    padding:9px 11px;
    font-size:17px;
    line-height:1;
    z-index:5;
  }
  .home .mosaic:after{display:none}

  .contact-info-block{padding:30px 24px}
  .contact-info-block h2{font-size:32px}
  .contact-detail-cards{grid-template-columns:1fr;gap:8px}
  .contact-detail-cards>a,.contact-detail-cards>div{min-height:0;padding:17px 18px}
  .form-shell{padding:29px 22px 26px}
}

/* v1.3.4 — premium flislegger choices + subtle homepage hero entrance */
.tile-choice-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 12%,rgba(255,235,1,.075),transparent 25%),
    linear-gradient(180deg,#f7f3ef 0%,#f1ebe5 100%);
  padding-top:118px;
  padding-bottom:128px;
}
.tile-choice-section:before{
  content:'FLIS';
  position:absolute;
  right:-18px;
  top:22px;
  font-size:176px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.08em;
  color:rgba(31,27,24,.025);
  pointer-events:none;
}
.tile-choice-head{max-width:780px;margin-bottom:52px}
.tile-choice-head h2{margin-bottom:13px}
.tile-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.tile-choice-card{
  position:relative;
  min-height:430px;
  overflow:hidden;
  isolation:isolate;
  background:#1e1d1a;
  box-shadow:0 20px 48px rgba(28,23,20,.12);
  transition:transform .38s cubic-bezier(.2,.68,.25,1),box-shadow .38s ease;
}
.tile-choice-card:before{
  content:'';
  position:absolute;
  inset:0;
  z-index:3;
  border:1px solid rgba(255,255,255,.20);
  pointer-events:none;
}
.tile-choice-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  transform:scale(1.002);
  transition:transform .85s cubic-bezier(.2,.68,.25,1),filter .45s ease;
}
.tile-choice-shade{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(14,12,11,.06) 18%,rgba(14,12,11,.22) 48%,rgba(14,12,11,.92) 100%);
  transition:background .35s ease;
}
.tile-choice-no{
  position:absolute;
  z-index:4;
  top:22px;
  left:22px;
  display:grid;
  place-items:center;
  width:43px;
  height:43px;
  background:rgba(20,17,15,.82);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  backdrop-filter:blur(6px);
}
.tile-choice-copy{
  position:absolute;
  z-index:4;
  left:28px;
  right:82px;
  bottom:27px;
  color:#fff;
  transition:transform .35s cubic-bezier(.2,.68,.25,1);
}
.tile-choice-kicker{
  display:block;
  margin-bottom:6px;
  color:#ffeb01;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.tile-choice-card h3{
  color:#fff;
  font-size:29px;
  line-height:1.08;
  letter-spacing:-.025em;
  margin:0 0 9px;
}
.tile-choice-card p{
  max-width:310px;
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.52;
}
.tile-choice-arrow{
  position:absolute;
  z-index:5;
  right:25px;
  bottom:28px;
  width:47px;
  height:47px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--orange);
  color:var(--ink);
  font-size:20px;
  line-height:1;
  box-shadow:0 12px 28px rgba(255,235,1,.28);
  transition:transform .35s cubic-bezier(.2,.68,.25,1),background .25s ease;
}
.tile-choice-card:hover{
  transform:translateY(-7px);
  box-shadow:0 30px 65px rgba(28,23,20,.18);
}
.tile-choice-card:hover img{transform:scale(1.055);filter:saturate(1.04)}
.tile-choice-card:hover .tile-choice-shade{background:linear-gradient(180deg,rgba(14,12,11,.02) 18%,rgba(14,12,11,.18) 44%,rgba(14,12,11,.95) 100%)}
.tile-choice-card:hover .tile-choice-copy{transform:translateY(-3px)}
.tile-choice-card:hover .tile-choice-arrow{transform:translateX(4px) rotate(-7deg);background:#e3d200}

/* Homepage hero: a calm entrance, tiny background drift and staggered copy. */
.home .hero:before{
  animation:skhHeroDrift 18s ease-in-out infinite alternate;
  transform-origin:center center;
}
.home .hero-copy .eyebrow,
.home .hero-copy h1,
.home .hero-copy p,
.home .hero-actions,
.home .hero-frame{
  opacity:0;
  will-change:transform,opacity;
}
.home .hero-copy .eyebrow{animation:skhHeroUp .72s .10s cubic-bezier(.2,.7,.25,1) forwards}
.home .hero-copy h1{animation:skhHeroUp .82s .22s cubic-bezier(.2,.7,.25,1) forwards}
.home .hero-copy p{animation:skhHeroUp .78s .38s cubic-bezier(.2,.7,.25,1) forwards}
.home .hero-actions{animation:skhHeroUp .75s .52s cubic-bezier(.2,.7,.25,1) forwards}
.home .hero-frame{animation:skhHeroFrame .95s .28s cubic-bezier(.2,.7,.22,1) forwards}
.home .hero-frame img{animation:skhHeroImage 13s 1.15s ease-in-out infinite alternate;transform-origin:center}
.home .hero-copy:before{
  content:'';
  display:block;
  width:0;
  height:2px;
  margin-bottom:17px;
  background:var(--orange);
  animation:skhHeroLine .75s .18s cubic-bezier(.2,.7,.25,1) forwards;
}
@keyframes skhHeroUp{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes skhHeroFrame{
  from{opacity:0;transform:translateX(34px) scale(.985)}
  to{opacity:1;transform:translateX(0) scale(1)}
}
@keyframes skhHeroLine{from{width:0}to{width:58px}}
@keyframes skhHeroDrift{
  0%{transform:scale(1.025) translate3d(0,0,0)}
  100%{transform:scale(1.065) translate3d(-.7%,.35%,0)}
}
@keyframes skhHeroImage{
  0%{transform:scale(1.015) translate3d(0,0,0)}
  100%{transform:scale(1.055) translate3d(0,-.6%,0)}
}

@media(max-width:1050px){
  .tile-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile-choice-card{min-height:400px}
}
@media(max-width:720px){
  .tile-choice-section{padding-top:78px;padding-bottom:82px}
  .tile-choice-section:before{font-size:110px;right:-12px;top:12px}
  .tile-choice-head{margin-bottom:34px}
  .tile-choice-grid{grid-template-columns:1fr;gap:16px}
  .tile-choice-card{min-height:360px}
  .tile-choice-copy{left:22px;right:75px;bottom:22px}
  .tile-choice-card h3{font-size:27px}
  .tile-choice-arrow{right:21px;bottom:22px;width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){
  .home .hero:before,.home .hero-frame img{animation:none!important;transform:none!important}
  .home .hero-copy .eyebrow,.home .hero-copy h1,.home .hero-copy p,.home .hero-actions,.home .hero-frame{
    animation:none!important;opacity:1!important;transform:none!important;
  }
  .home .hero-copy:before{animation:none!important;width:58px}
  .tile-choice-card,.tile-choice-card img,.tile-choice-copy,.tile-choice-arrow{transition:none!important}
}


/* v1.3.5 — stable editorial bento grid for Flislegger. */
.tile-bento-section{
  background:
    radial-gradient(circle at 8% 5%,rgba(255,235,1,.065),transparent 28%),
    linear-gradient(180deg,#f8f5f2 0%,#f0ebe6 100%);
  padding-top:106px;
  padding-bottom:116px;
}
.tile-bento-section:before{content:'FLISARBEID';position:absolute;right:3.5%;top:35px;font-size:clamp(70px,10vw,150px);font-weight:950;letter-spacing:-.08em;color:rgba(28,24,21,.025);pointer-events:none}
.tile-bento-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:245px;
  gap:18px;
}
.tile-bento-card{
  position:relative;
  overflow:hidden;
  min-width:0;
  isolation:isolate;
  background:#28231f;
  box-shadow:0 16px 40px rgba(28,23,20,.11);
  transition:transform .38s cubic-bezier(.2,.68,.25,1),box-shadow .38s ease;
}
.tile-bento-card:after{content:'';position:absolute;inset:0;z-index:4;border:1px solid rgba(255,255,255,.16);pointer-events:none}
.tile-bento-feature{grid-column:span 7;grid-row:span 2}
.tile-bento-wide{grid-column:span 5}
.tile-bento-small{grid-column:span 4;min-height:275px}
.tile-bento-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .85s cubic-bezier(.2,.68,.25,1),filter .4s ease}
.tile-bento-feature img{object-position:center}
.tile-bento-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(12,10,9,.03) 22%,rgba(12,10,9,.14) 50%,rgba(12,10,9,.88) 100%);transition:background .35s ease}
.tile-bento-feature .tile-bento-shade{background:linear-gradient(90deg,rgba(12,10,9,.72) 0%,rgba(12,10,9,.18) 58%,rgba(12,10,9,.08) 100%),linear-gradient(180deg,transparent 45%,rgba(12,10,9,.52) 100%)}
.tile-bento-no{position:absolute;z-index:5;top:20px;left:20px;width:40px;height:40px;display:grid;place-items:center;background:rgba(20,17,15,.72);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:11px;font-weight:900;letter-spacing:.07em;backdrop-filter:blur(7px)}
.tile-bento-copy{position:absolute;z-index:5;left:24px;right:24px;bottom:22px;color:#fff;transition:transform .34s cubic-bezier(.2,.68,.25,1)}
.tile-bento-feature .tile-bento-copy{left:34px;bottom:32px;max-width:420px}
.tile-bento-kicker{display:block;margin-bottom:6px;color:#ffeb01;font-size:10px;line-height:1;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.tile-bento-card h3{margin:0 0 7px;color:#fff;font-size:25px;line-height:1.05;letter-spacing:-.025em}
.tile-bento-feature h3{font-size:40px}
.tile-bento-card p{margin:0;color:rgba(255,255,255,.78);font-size:13px;line-height:1.5;max-width:390px}
.tile-bento-link{display:inline-flex;align-items:center;gap:8px;margin-top:13px;color:#fff;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.tile-bento-link b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--orange);font-size:14px;transition:transform .3s ease}
.tile-bento-card:hover{transform:translateY(-5px);box-shadow:0 25px 58px rgba(28,23,20,.17)}
.tile-bento-card:hover img{transform:scale(1.045);filter:saturate(1.03) contrast(1.015)}
.tile-bento-card:hover .tile-bento-copy{transform:translateY(-2px)}
.tile-bento-card:hover .tile-bento-link b{transform:translateX(3px)}
.tile-bento-card:hover .tile-bento-shade{background:linear-gradient(180deg,rgba(12,10,9,.02) 20%,rgba(12,10,9,.12) 47%,rgba(12,10,9,.93) 100%)}
.tile-bento-feature:hover .tile-bento-shade{background:linear-gradient(90deg,rgba(12,10,9,.77) 0%,rgba(12,10,9,.16) 62%,rgba(12,10,9,.04) 100%),linear-gradient(180deg,transparent 45%,rgba(12,10,9,.55) 100%)}
@media(max-width:1050px){
  .tile-bento-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:340px}
  .tile-bento-feature,.tile-bento-wide,.tile-bento-small{grid-column:span 1;grid-row:span 1;min-height:0}
  .tile-bento-feature{grid-column:span 2}
  .tile-bento-feature h3{font-size:34px}
}
@media(max-width:720px){
  .tile-bento-section{padding-top:75px;padding-bottom:80px}
  .tile-bento-grid{grid-template-columns:1fr;grid-auto-rows:330px;gap:13px}
  .tile-bento-feature,.tile-bento-wide,.tile-bento-small{grid-column:1;grid-row:auto}
  .tile-bento-feature{min-height:390px}
  .tile-bento-feature .tile-bento-copy{left:23px;right:23px;bottom:23px}
  .tile-bento-feature h3{font-size:31px}
  .tile-bento-card h3{font-size:25px}
}
@media(prefers-reduced-motion:reduce){.tile-bento-card,.tile-bento-card img,.tile-bento-copy,.tile-bento-link b{transition:none!important}}

/* v1.3.6 — refined, locked Flislegger editorial grid */
.tile-bento-section{
  background:#f7f3ee;
  padding-top:96px;
  padding-bottom:110px;
}
.tile-bento-section:before{
  content:'FLIS';
  right:-.01em;
  top:12px;
  font-size:clamp(120px,17vw,250px);
  color:rgba(28,24,21,.018);
}
.tile-bento-section .tile-choice-head{
  position:relative;
  max-width:none;
  margin:0 0 48px;
  padding:5px 250px 5px 25px;
  text-align:left;
  border-left:3px solid var(--orange);
}
.tile-bento-section .tile-choice-head h2{
  max-width:760px;
  margin:8px 0 12px;
  font-size:clamp(42px,4.1vw,62px);
  line-height:1.02;
  letter-spacing:-.04em;
}
.tile-bento-section .tile-choice-head p{
  max-width:690px;
  margin:0;
}
.tile-bento-section .tile-choice-head:after{
  content:'6 OMRÅDER\AÉN FAGPARTNER';
  white-space:pre;
  position:absolute;
  right:0;
  bottom:2px;
  width:205px;
  padding:18px 20px;
  border:1px solid rgba(38,32,28,.13);
  background:rgba(255,255,255,.55);
  color:#2d2824;
  font-size:11px;
  line-height:1.55;
  font-weight:900;
  letter-spacing:.13em;
  text-align:left;
  backdrop-filter:blur(8px);
}
.tile-bento-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:330px 330px 290px;
  gap:18px;
  align-items:stretch;
}
.tile-bento-card,
.tile-bento-feature,
.tile-bento-wide,
.tile-bento-small{
  grid-column:auto;
  grid-row:auto;
  min-height:0;
  border-radius:2px;
  background-color:#25211e;
  background-position:center;
  background-size:cover;
  box-shadow:0 16px 42px rgba(42,34,29,.10);
}
.tile-bento-grid > .tile-bento-card:nth-child(1){
  grid-column:1 / span 7;
  grid-row:1 / span 2;
  background-image:url('images/home-services/fliser.webp');
}
.tile-bento-grid > .tile-bento-card:nth-child(2){
  grid-column:8 / span 5;
  grid-row:1;
  background-image:url('images/home-services/renovering.webp');
}
.tile-bento-grid > .tile-bento-card:nth-child(3){
  grid-column:8 / span 5;
  grid-row:2;
  background-image:url('images/home-services/artikler.webp');
}
.tile-bento-grid > .tile-bento-card:nth-child(4){
  grid-column:1 / span 4;
  grid-row:3;
  background-image:url('images/home-services/gratis-befaring.webp');
}
.tile-bento-grid > .tile-bento-card:nth-child(5){
  grid-column:5 / span 4;
  grid-row:3;
  background-image:url('images/home-services/flislegger.webp');
}
.tile-bento-grid > .tile-bento-card:nth-child(6){
  grid-column:9 / span 4;
  grid-row:3;
  background-image:url('images/home-services/rorlegger.webp');
}
.tile-bento-card img{
  z-index:0;
  opacity:1;
}
.tile-bento-card.has-image-fallback img{display:none}
.tile-bento-card .tile-bento-shade{
  background:linear-gradient(180deg,rgba(14,12,11,.01) 12%,rgba(14,12,11,.06) 37%,rgba(14,12,11,.34) 64%,rgba(10,8,7,.96) 100%);
}
.tile-bento-feature .tile-bento-shade{
  background:linear-gradient(90deg,rgba(16,13,12,.62) 0%,rgba(16,13,12,.10) 60%,rgba(16,13,12,.02) 100%),linear-gradient(180deg,rgba(12,10,9,.01) 24%,rgba(12,10,9,.16) 52%,rgba(9,7,6,.94) 100%);
}
.tile-bento-card .tile-bento-no{
  top:22px;
  left:22px;
  width:38px;
  height:38px;
  border:0;
  background:rgba(28,24,21,.82);
  box-shadow:0 8px 26px rgba(0,0,0,.15);
}
.tile-bento-card .tile-bento-copy{
  left:26px;
  right:26px;
  bottom:24px;
}
.tile-bento-feature .tile-bento-copy{
  left:36px;
  right:36px;
  bottom:34px;
  max-width:455px;
}
.tile-bento-card h3{
  font-size:clamp(25px,2.15vw,33px);
  margin-bottom:8px;
}
.tile-bento-feature h3{font-size:clamp(38px,4vw,56px)}
.tile-bento-card p{
  font-size:13px;
  max-width:410px;
  color:rgba(255,255,255,.84);
}
.tile-bento-card .tile-bento-link{
  margin-top:15px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.18);
  width:max-content;
}
.tile-bento-card .tile-bento-link b{
  width:30px;
  height:30px;
  box-shadow:0 8px 20px rgba(245,82,38,.25);
}
.tile-bento-card:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 62px rgba(42,34,29,.18);
}
.tile-bento-card:hover img{transform:scale(1.035)}
.tile-bento-card:hover .tile-bento-link b{transform:translateX(4px) rotate(-8deg)}

@media(max-width:1050px){
  .tile-bento-section .tile-choice-head{padding-right:0}
  .tile-bento-section .tile-choice-head:after{display:none}
  .tile-bento-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto;
    grid-auto-rows:330px;
  }
  .tile-bento-grid > .tile-bento-card:nth-child(n){
    grid-column:auto;
    grid-row:auto;
  }
  .tile-bento-grid > .tile-bento-card:nth-child(1){
    grid-column:1 / -1;
    min-height:480px;
  }
}
@media(max-width:720px){
  .tile-bento-section{padding-top:72px;padding-bottom:76px}
  .tile-bento-section .tile-choice-head{
    margin-bottom:30px;
    padding:0 0 0 18px;
  }
  .tile-bento-section .tile-choice-head h2{font-size:39px}
  .tile-bento-grid{
    grid-template-columns:1fr;
    grid-auto-rows:315px;
    gap:12px;
  }
  .tile-bento-grid > .tile-bento-card:nth-child(1){
    grid-column:1;
    min-height:390px;
  }
  .tile-bento-feature .tile-bento-copy,
  .tile-bento-card .tile-bento-copy{left:22px;right:22px;bottom:22px}
  .tile-bento-feature h3,.tile-bento-card h3{font-size:30px}
}


/* v1.3.7 — Flislegger render hardening.
   Imported theme pages bypass wpautop in functions.php; these rules are an extra
   safeguard against stray formatting nodes from editors/caches. */
.tile-bento-grid > br,
.tile-bento-grid > p:empty{display:none!important}
.tile-bento-grid > p{margin:0!important;padding:0!important;min-width:0}
.tile-bento-grid > .tile-bento-card{width:100%!important;max-width:none!important;height:100%!important;margin:0!important}
@media(min-width:1051px){
  .tile-bento-grid{width:100%;max-width:100%;overflow:visible}
  .tile-bento-grid > .tile-bento-card:nth-child(1){grid-column:1 / 8!important;grid-row:1 / 3!important}
  .tile-bento-grid > .tile-bento-card:nth-child(2){grid-column:8 / 13!important;grid-row:1!important}
  .tile-bento-grid > .tile-bento-card:nth-child(3){grid-column:8 / 13!important;grid-row:2!important}
  .tile-bento-grid > .tile-bento-card:nth-child(4){grid-column:1 / 5!important;grid-row:3!important}
  .tile-bento-grid > .tile-bento-card:nth-child(5){grid-column:5 / 9!important;grid-row:3!important}
  .tile-bento-grid > .tile-bento-card:nth-child(6){grid-column:9 / 13!important;grid-row:3!important}
}

/* v1.3.8 — stronger bottom fade for Flislegger editorial cards. */
.tile-bento-card .tile-bento-copy{text-shadow:0 2px 18px rgba(0,0,0,.30)}

/* v1.3.9 — comprehensive mobile-first layout hardening */
html,body{max-width:100%;overflow-x:hidden}
.site-main,.section,.soft-section,.about,.dark-band,.cta-section{min-width:0}
.wrap>*{min-width:0}

@media(max-width:860px){
  /* Header / navigation */
  .topbar{display:none!important}
  .site-header{top:0!important}
  body.admin-bar .site-header{top:46px!important}
  .header-inner{height:78px!important;gap:18px!important}
  .logo,.custom-logo-link{min-width:0;display:flex;align-items:center}
  .logo img,.custom-logo{width:205px!important;max-width:calc(100vw - 108px)!important;max-height:62px!important;height:auto!important;object-fit:contain!important}
  .menu-toggle{width:48px!important;height:48px!important;flex:0 0 48px!important;margin-left:auto!important;font-size:31px!important}
  .site-header.mobile-open .menu-toggle{font-size:38px!important}
  .site-header.mobile-open .main-nav{
    top:78px!important;left:0!important;right:0!important;max-height:calc(100dvh - 78px)!important;overflow:auto!important;
    padding:16px 22px 24px!important;border-top:1px solid #eee!important;background:#fff!important;
  }
  .main-nav>div>ul,.main-nav>ul{width:100%!important;margin:0!important;padding:0!important}
  .main-nav>div>ul>li,.main-nav>ul>li{width:100%!important;border-bottom:1px solid #eee8e2!important}
  .main-nav>div>ul>li:last-child,.main-nav>ul>li:last-child{border-bottom:0!important}
  .main-nav>div>ul>li>a,.main-nav>ul>li>a{width:100%!important;min-height:50px!important;padding:14px 2px!important;justify-content:flex-start!important;font-size:16px!important}
  .main-nav li.menu-item-has-children>a:after{margin-left:auto!important;top:-2px!important}
  .main-nav .sub-menu{padding:0 0 12px 14px!important;margin:0!important}
  .main-nav .sub-menu a{padding:10px 12px!important;font-size:14px!important;line-height:1.35!important}

  /* Global sizing */
  .wrap{width:calc(100% - 36px)!important;max-width:none!important}
  .section{padding:68px 0!important}
  .compact-section{padding:62px 0!important}
  .dark-band{padding:70px 0!important}
  .cta-section{padding:64px 0!important}
  .section-head{max-width:680px!important;margin:0 auto 38px!important;padding:0!important}
  .section-head h2{font-size:clamp(32px,7.2vw,42px)!important;line-height:1.08!important;letter-spacing:-.035em!important;margin:8px 0 14px!important}
  .section-head p{font-size:15px!important;line-height:1.65!important;margin:0!important}
  .eyebrow{font-size:12px!important;letter-spacing:.12em!important}
  .btn{min-height:50px;padding:14px 19px!important;font-size:12px!important;justify-content:center}

  /* Homepage hero */
  .hero,.hero-inner{min-height:610px!important}
  .hero:before{background:linear-gradient(90deg,rgba(20,18,16,.93) 0%,rgba(20,18,16,.78) 72%,rgba(20,18,16,.70) 100%),var(--hero-bg) center/cover no-repeat!important}
  .hero-inner{display:flex!important;align-items:center!important}
  .hero-copy{width:100%!important;max-width:620px!important;padding:70px 0 74px!important}
  .hero h1{font-size:clamp(43px,10.5vw,58px)!important;line-height:.99!important;letter-spacing:-.045em!important;margin:12px 0 20px!important}
  .hero p{font-size:16px!important;line-height:1.7!important;max-width:560px!important}
  .hero-actions{gap:10px!important;margin-top:26px!important}
  .hero-frame{display:none!important}

  /* Inner page heroes */
  .page-hero,.page-hero .wrap{min-height:440px!important}
  .page-hero-small,.page-hero-small .wrap{min-height:400px!important}
  .page-hero:before{background:linear-gradient(90deg,rgba(20,18,16,.92),rgba(20,18,16,.66)),var(--page-img) center/cover no-repeat!important}
  .page-hero .hero-text{max-width:680px!important;padding:64px 0!important}
  .page-hero h1{font-size:clamp(39px,8.8vw,52px)!important;line-height:1.02!important;letter-spacing:-.04em!important;margin:9px 0 15px!important}
  .page-hero p{font-size:16px!important;line-height:1.65!important;margin:0 0 22px!important}

  /* All two-column content becomes a true single column. */
  .about-grid,.home .about-grid,.content-split,.contact-grid,.contact-layout,.article-body-layout{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:34px!important;width:100%!important;
  }
  .about-grid>* ,.home .about-grid>* ,.content-split>* ,.contact-grid>* ,.contact-layout>* ,.article-body-layout>*{min-width:0!important;width:100%!important;max-width:100%!important}
  .content-split.reverse .media{order:0!important}
  .content-split h2,.about h2{font-size:clamp(32px,7.4vw,42px)!important;line-height:1.08!important;letter-spacing:-.035em!important}
  .content-split h3{font-size:23px!important;line-height:1.2!important}
  .content-split p,.about p{font-size:15px!important;line-height:1.72!important}
  .content-split .media{width:100%!important;margin:0!important}
  .content-split .media:before{display:none!important}
  .content-split .media img{width:100%!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;max-height:430px!important}

  /* Homepage services */
  .services-section{overflow:hidden!important}
  .services-grid,.services-grid-six,.services-section .services-wrap .services-grid-six{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 16px!important;
  }
  .services-grid-six .service-card{min-width:0!important;width:100%!important}
  .services-grid-six .service-image{height:auto!important;aspect-ratio:4/3!important}
  .services-grid-six .card-copy{margin:-14px 10px 0!important;padding:22px 19px 21px!important;min-height:0!important}
  .services-grid-six .service-card h3{font-size:21px!important}
  .services-grid-six .service-card p{font-size:14px!important;line-height:1.55!important;margin-bottom:14px!important}

  /* Homepage about — fixes the narrow column seen in the supplied mobile screenshot. */
  .home .section.about{padding:62px 0 66px!important}
  .home .about-grid{grid-template-columns:minmax(0,1fr)!important;gap:28px!important;align-items:stretch!important}
  .home .about-grid>div:first-child{
    width:100%!important;max-width:none!important;padding:30px 24px 29px!important;margin:0!important;
    border-top-width:3px!important;box-shadow:0 16px 38px rgba(30,25,21,.08)!important;
  }
  .home .about h2{font-size:clamp(34px,8vw,43px)!important;line-height:1.02!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
  .home .about-grid>div:first-child>p{font-size:15px!important;line-height:1.7!important;max-width:none!important}
  .home .checks{grid-template-columns:minmax(0,1fr)!important;gap:11px!important;margin-top:24px!important;padding-top:22px!important}
  .home .checks li{font-size:13px!important;line-height:1.5!important}
  .home .mosaic{
    width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-rows:190px 155px!important;gap:10px!important;margin:0!important;transform:none!important;
  }
  .home .mosaic img:first-child{grid-column:1!important;grid-row:1!important;width:100%!important;height:100%!important;object-fit:cover!important}
  .home .mosaic-note{grid-column:1!important;grid-row:2!important;padding:20px 18px!important;min-width:0!important}
  .home .mosaic-note strong{font-size:19px!important}
  .home .mosaic-note span{font-size:12px!important;line-height:1.5!important}
  .home .mosaic-note:after{font-size:7px!important;line-height:1.35!important;letter-spacing:.09em!important;margin-top:11px!important;padding-top:9px!important}
  .home .mosaic .tall{grid-column:2!important;grid-row:1/3!important;width:100%!important;height:100%!important;object-fit:cover!important;min-height:0!important}
  .home .mosaic:before{content:'10 ÅR'!important;width:auto!important;height:auto!important;right:9px!important;top:9px!important;padding:8px 10px!important;font-size:16px!important;line-height:1!important;z-index:5!important}
  .home .mosaic:after{display:none!important}

  /* Generic card/process grids */
  .cards-2,.cards-3,.process-grid,.article-grid,.dynamic-post-grid,.feature-row{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important;width:100%!important;
  }
  .cards-2>* ,.cards-3>* ,.process-grid>* ,.article-grid>* ,.dynamic-post-grid>* ,.feature-row>*{min-width:0!important;width:100%!important}
  .info-card{padding:28px 24px 29px!important}
  .info-card h3{font-size:22px!important}
  .process-showcase{padding:68px 0 74px!important}
  .process-showcase .section-head{margin-bottom:34px!important}
  .process-showcase .process-grid:before{display:none!important}
  .process-showcase .process-card{min-height:0!important;padding:28px 24px 27px!important}
  .process-showcase .process-card span{margin-bottom:23px!important}
  .process-grid:not(.process-showcase .process-grid) .process-card{padding:27px 23px!important}

  /* Flislegger editorial grid */
  .tile-bento-section{padding:66px 0 72px!important}
  .tile-bento-section .tile-choice-head{padding:0 0 0 16px!important;margin:0 0 28px!important}
  .tile-bento-section .tile-choice-head:after{display:none!important}
  .tile-bento-section .tile-choice-head h2{font-size:clamp(35px,8vw,44px)!important;line-height:1.03!important}
  .tile-bento-grid{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:none!important;grid-auto-rows:auto!important;gap:14px!important;width:100%!important;
  }
  .tile-bento-grid>.tile-bento-card:nth-child(n){grid-column:1!important;grid-row:auto!important;width:100%!important;height:auto!important;min-height:315px!important;aspect-ratio:auto!important}
  .tile-bento-grid>.tile-bento-card:nth-child(1){min-height:390px!important}
  .tile-bento-feature .tile-bento-copy,.tile-bento-card .tile-bento-copy{left:21px!important;right:21px!important;bottom:20px!important;max-width:none!important}
  .tile-bento-feature h3,.tile-bento-card h3{font-size:29px!important}
  .tile-bento-card p{font-size:13px!important;line-height:1.45!important}
  .tile-bento-card .tile-bento-no{top:16px!important;left:16px!important}

  /* Contact / free inspection */
  .contact-layout{max-width:none!important;margin:0!important;gap:24px!important}
  .contact-info-block,.form-shell{width:100%!important;max-width:none!important;margin:0!important}
  .contact-info-block{padding:30px 24px!important}
  .contact-info-block h2,.form-shell h2{font-size:clamp(30px,7vw,38px)!important;line-height:1.08!important}
  .contact-detail-cards,.form-row.two{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important}
  .contact-detail-cards>a,.contact-detail-cards>div{min-height:0!important;width:100%!important;padding:17px 18px!important}
  .form-shell{padding:28px 22px 26px!important}
  .skh-form{gap:15px!important;margin-top:20px!important}
  .skh-form input,.skh-form textarea,.skh-form select{min-width:0!important;max-width:100%!important;font-size:16px!important}
  .step-list{width:100%!important;min-width:0!important;margin:26px 0!important}
  .step-list>div{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:13px!important;width:100%!important;min-width:0!important;padding:14px 0!important}
  .step-list>div>div{min-width:0!important;width:100%!important}
  .step-list p{font-size:14px!important;line-height:1.6!important;overflow-wrap:normal!important;word-break:normal!important}
  .inspection-note{padding:22px!important}

  /* Articles */
  .article-card{width:100%!important;min-width:0!important}
  .article-card img{height:auto!important;aspect-ratio:16/10!important;object-fit:cover!important}
  .article-card div{padding:21px!important}
  .article-card h3{font-size:21px!important;line-height:1.2!important}
  .article-content{max-width:100%!important;overflow-wrap:anywhere}
  .article-content img,.article-content iframe,.article-content video{max-width:100%!important;height:auto}
  .article-content table{display:block;max-width:100%;overflow-x:auto}

  /* Reviews / dark band / CTA */
  .skh-mittanbud-home{padding:58px 0!important;background-position:center!important;overflow:hidden!important}
  .skh-mittanbud-home>.wrap,.skh-mittanbud-home .skh-reviews-shortcode{width:100%!important;min-width:0!important;max-width:100%!important}
  .skh-mittanbud-home .skh-reviews-shortcode{min-height:280px!important;overflow:hidden!important}
  .feature-row{margin:34px auto 44px!important;gap:28px!important}
  .feature{padding:0 8px}
  .phone-box a.phone{font-size:clamp(27px,7.2vw,34px)!important;line-height:1.15!important;overflow-wrap:anywhere}
  .cta-section h2{font-size:clamp(31px,7.4vw,40px)!important;line-height:1.08!important}
  .cta-section p{font-size:15px!important;line-height:1.65!important}

  /* Gallery: useful two-column mobile gallery instead of giant single images. */
  .gallery-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .gallery-grid>*{min-width:0!important;width:100%!important}
  .gallery-grid img{width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:cover!important}

  /* Footer */
  .site-footer{padding:54px 0 22px!important}
  .footer-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:34px!important}
  .footer-grid>*{min-width:0!important}
  .footer-grid h4{margin-bottom:13px!important}
  .footer-bottom{margin-top:38px!important;padding-top:18px!important;flex-direction:column!important;gap:8px!important}
}

@media(max-width:560px){
  .wrap{width:calc(100% - 30px)!important}
  .header-inner{height:76px!important}
  .logo img,.custom-logo{width:190px!important;max-width:calc(100vw - 96px)!important}
  .site-header.mobile-open .main-nav{top:76px!important;max-height:calc(100dvh - 76px)!important}
  .section{padding:58px 0!important}
  .section-head{margin-bottom:31px!important}
  .hero,.hero-inner{min-height:570px!important}
  .hero-copy{padding:58px 0 62px!important}
  .hero h1{font-size:clamp(40px,12vw,50px)!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;max-width:360px!important}
  .hero-actions .btn{width:100%!important}
  .page-hero,.page-hero .wrap{min-height:400px!important}
  .page-hero-small,.page-hero-small .wrap{min-height:370px!important}
  .page-hero .hero-text{padding:55px 0!important}
  .page-hero h1{font-size:clamp(36px,10.5vw,45px)!important}

  .services-grid,.services-grid-six,.services-section .services-wrap .services-grid-six{grid-template-columns:minmax(0,1fr)!important;gap:25px!important}
  .services-grid-six .service-image{aspect-ratio:387/280!important}
  .services-grid-six .card-copy{margin:-16px 13px 0!important;padding:23px 21px!important}

  .home .about-grid{gap:22px!important}
  .home .about-grid>div:first-child{padding:27px 20px 26px!important}
  .home .about h2{font-size:clamp(32px,9.8vw,40px)!important}
  .home .mosaic{grid-template-rows:170px 145px!important;gap:8px!important}
  .home .mosaic-note{padding:17px 15px!important}
  .home .mosaic-note strong{font-size:17px!important}
  .home .mosaic-note span{font-size:11px!important}

  .tile-bento-grid>.tile-bento-card:nth-child(n){min-height:300px!important}
  .tile-bento-grid>.tile-bento-card:nth-child(1){min-height:355px!important}
  .tile-bento-feature h3,.tile-bento-card h3{font-size:27px!important}

  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  .form-shell,.contact-info-block{padding-left:19px!important;padding-right:19px!important}
  .step-list>div{grid-template-columns:44px minmax(0,1fr)!important;gap:11px!important}
  .step-list span{width:40px!important;height:40px!important}
}

@media(max-width:380px){
  .wrap{width:calc(100% - 24px)!important}
  .logo img,.custom-logo{width:174px!important}
  .menu-toggle{width:44px!important;height:44px!important;flex-basis:44px!important}
  .hero h1{font-size:38px!important}
  .page-hero h1{font-size:35px!important}
  .home .about h2{font-size:31px!important}
  .home .mosaic{grid-template-columns:1fr!important;grid-template-rows:190px 135px 260px!important}
  .home .mosaic img:first-child{grid-column:1!important;grid-row:1!important}
  .home .mosaic-note{grid-column:1!important;grid-row:2!important}
  .home .mosaic .tall{grid-column:1!important;grid-row:3!important}
  .home .mosaic:before{right:8px!important;top:8px!important}
  .gallery-grid{grid-template-columns:1fr!important}
}



/* v1.4.0 — full-width Google Maps section on Contact */
.skh-contact-map-section{
  position:relative;
  overflow:hidden;
  background:#f3eee8;
  padding:88px 0 0;
  border-top:1px solid rgba(37,31,27,.08);
}
.skh-contact-map-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:44px;
  padding-bottom:38px;
}
.skh-contact-map-title-wrap{max-width:760px}
.skh-contact-map-title-wrap h2{
  font-size:clamp(38px,4.1vw,58px);
  line-height:1.03;
  letter-spacing:-.04em;
  margin:9px 0 15px;
}
.skh-contact-map-title-wrap p{max-width:690px;margin:0;color:#5d554f;font-size:16px;line-height:1.72}
.skh-map-directions{flex:0 0 auto;margin-bottom:5px}
.skh-contact-map-frame{
  position:relative;
  width:100%;
  height:520px;
  background:#d8d2cc;
  overflow:hidden;
  border-top:1px solid rgba(0,0,0,.08);
}
.skh-contact-map-frame iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  filter:saturate(.82) contrast(.96);
}
.skh-contact-map-card{
  position:absolute;
  left:max(24px,calc((100% - var(--max))/2));
  bottom:32px;
  z-index:2;
  display:flex;
  align-items:center;
  gap:18px;
  min-width:330px;
  padding:20px 24px;
  background:rgba(23,21,19,.94);
  color:#fff;
  box-shadow:0 20px 55px rgba(18,15,13,.24);
  backdrop-filter:blur(8px);
}
.skh-map-pin{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  flex:0 0 48px;
  border-radius:50%;
  background:var(--orange);
  color:var(--ink);
  font-size:25px;
  font-weight:900;
}
.skh-contact-map-card small{
  display:block;
  margin:0 0 4px;
  color:#ffeb01;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.skh-contact-map-card strong{display:block;font-size:16px;line-height:1.45}

@media(max-width:800px){
  .skh-contact-map-section{padding-top:62px}
  .skh-contact-map-head{display:grid;grid-template-columns:1fr;gap:22px;padding-bottom:30px}
  .skh-contact-map-title-wrap h2{font-size:clamp(34px,8.5vw,43px)}
  .skh-map-directions{justify-self:start;margin:0}
  .skh-contact-map-frame{height:430px}
  .skh-contact-map-card{
    left:18px;
    right:18px;
    bottom:18px;
    min-width:0;
    padding:16px 18px;
  }
  .skh-map-pin{width:42px;height:42px;flex-basis:42px;font-size:21px}
}
@media(max-width:430px){
  .skh-contact-map-section{padding-top:54px}
  .skh-contact-map-frame{height:390px}
  .skh-contact-map-card{gap:13px;padding:14px 15px}
  .skh-contact-map-card strong{font-size:14px}
}


/* v1.4.1 — Contact CTA in desktop + mobile header */
.header-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
.header-contact{
  background:var(--ink);
  color:#fff;
  padding:15px 20px;
  box-shadow:0 8px 22px rgba(23,21,19,.12);
}
.header-contact:hover{
  background:#2b2724;
  color:#fff;
}
.header-actions .header-cta{margin-left:0}

@media(max-width:1050px){
  .header-actions{margin-left:auto;gap:8px}
  .header-actions .header-cta{display:none!important}
  .header-contact{
    display:inline-flex!important;
    min-height:42px;
    padding:10px 13px!important;
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.045em;
    white-space:nowrap;
    box-shadow:none;
  }
  .header-actions .menu-toggle{margin-left:0!important}
}

@media(max-width:860px){
  .header-inner{gap:10px!important}
  .header-actions{gap:7px!important}
  .logo img,.custom-logo{
    width:180px!important;
    max-width:calc(100vw - 168px)!important;
  }
  .header-contact{
    min-height:40px!important;
    padding:9px 11px!important;
    font-size:9.5px!important;
  }
  .menu-toggle{
    width:44px!important;
    height:44px!important;
    flex:0 0 44px!important;
  }
}

@media(max-width:380px){
  .header-inner{gap:7px!important}
  .header-actions{gap:5px!important}
  .logo img,.custom-logo{
    width:160px!important;
    max-width:calc(100vw - 154px)!important;
  }
  .header-contact{
    min-height:38px!important;
    padding:8px 9px!important;
    font-size:9px!important;
    letter-spacing:.025em!important;
  }
  .menu-toggle{width:40px!important;height:40px!important;flex-basis:40px!important}
}

/* v1.4.2 — compact premium sticky header on desktop and mobile */
.site-header{
  z-index:1000;
  background:rgba(255,255,255,.985);
  border-bottom:1px solid rgba(23,21,19,.07);
  transition:background-color .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.header-inner{
  height:76px!important;
  transition:height .28s cubic-bezier(.2,.7,.2,1),gap .28s ease;
}
.logo img,.custom-logo{
  width:170px!important;
  max-height:56px!important;
  transition:width .28s cubic-bezier(.2,.7,.2,1),max-height .28s ease;
}
.main-nav>div>ul>li>a,.main-nav>ul>li>a{
  padding:27px 0 25px!important;
  transition:padding .28s ease,color .18s ease;
}
.main-nav>div>ul>li>a:before,.main-nav>ul>li>a:before{bottom:17px!important}
.main-nav .sub-menu{top:calc(100% - 2px)!important}
.header-contact,.header-cta{
  min-height:44px;
  padding:12px 17px!important;
  transition:padding .28s ease,min-height .28s ease,background-color .2s ease,transform .2s ease,box-shadow .28s ease;
}
.site-header.is-scrolled{
  background:rgba(255,255,255,.94);
  border-bottom-color:rgba(23,21,19,.10);
  box-shadow:0 10px 32px rgba(23,21,19,.09);
  -webkit-backdrop-filter:saturate(150%) blur(14px);
  backdrop-filter:saturate(150%) blur(14px);
}
.site-header.is-scrolled .header-inner{height:64px!important;gap:28px!important}
.site-header.is-scrolled .logo img,.site-header.is-scrolled .custom-logo{
  width:148px!important;
  max-height:47px!important;
}
.site-header.is-scrolled .main-nav>div>ul>li>a,.site-header.is-scrolled .main-nav>ul>li>a{
  padding:21px 0 19px!important;
}
.site-header.is-scrolled .main-nav>div>ul>li>a:before,.site-header.is-scrolled .main-nav>ul>li>a:before{bottom:12px!important}
.site-header.is-scrolled .header-contact,.site-header.is-scrolled .header-cta{
  min-height:38px;
  padding:9px 14px!important;
  box-shadow:none;
}

@media(max-width:1050px){
  .site-header{position:sticky!important;top:0;}
  .header-inner{height:68px!important;gap:10px!important}
  .logo img,.custom-logo{
    width:160px!important;
    max-width:calc(100vw - 164px)!important;
    max-height:52px!important;
  }
  .header-actions{gap:7px!important}
  .header-contact{
    min-height:38px!important;
    padding:9px 11px!important;
    font-size:9.5px!important;
  }
  .menu-toggle{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
  }
  /* Position the drawer from the actual current header height, also while compact. */
  .site-header.mobile-open .main-nav{top:100%!important}
  .site-header.is-scrolled .header-inner{height:60px!important;gap:8px!important}
  .site-header.is-scrolled .logo img,.site-header.is-scrolled .custom-logo{
    width:145px!important;
    max-width:calc(100vw - 154px)!important;
    max-height:46px!important;
  }
  .site-header.is-scrolled .header-contact{
    min-height:36px!important;
    padding:8px 10px!important;
    font-size:9px!important;
  }
  .site-header.is-scrolled .menu-toggle{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
  }
}

@media(max-width:380px){
  .header-inner{height:64px!important}
  .logo img,.custom-logo{
    width:148px!important;
    max-width:calc(100vw - 148px)!important;
  }
  .site-header.is-scrolled .header-inner{height:58px!important}
  .site-header.is-scrolled .logo img,.site-header.is-scrolled .custom-logo{
    width:136px!important;
    max-width:calc(100vw - 144px)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .site-header,.header-inner,.logo img,.custom-logo,
  .main-nav>div>ul>li>a,.main-nav>ul>li>a,.header-contact,.header-cta{transition:none!important}
}



/* v1.4.3 — keep the compact premium header, but make it non-sticky */
.site-header{
  position:relative!important;
  top:auto!important;
  background:#fff!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body.admin-bar .site-header{top:auto!important;}
.site-header.is-scrolled .header-inner{height:76px!important;gap:34px!important;}
.site-header.is-scrolled .logo img,.site-header.is-scrolled .custom-logo{width:170px!important;max-height:56px!important;}
.site-header.is-scrolled .main-nav>div>ul>li>a,.site-header.is-scrolled .main-nav>ul>li>a{padding:27px 0 25px!important;}
.site-header.is-scrolled .main-nav>div>ul>li>a:before,.site-header.is-scrolled .main-nav>ul>li>a:before{bottom:17px!important;}
.site-header.is-scrolled .header-contact,.site-header.is-scrolled .header-cta{min-height:44px!important;padding:12px 17px!important;}
@media(max-width:1050px){
  .site-header{position:relative!important;top:auto!important;}
  body.admin-bar .site-header{top:auto!important;}
  .site-header.is-scrolled .header-inner{height:68px!important;gap:10px!important;}
  .site-header.is-scrolled .logo img,.site-header.is-scrolled .custom-logo{width:160px!important;max-width:calc(100vw - 164px)!important;max-height:52px!important;}
  .site-header.is-scrolled .header-contact{min-height:38px!important;padding:9px 11px!important;font-size:9.5px!important;}
  .site-header.is-scrolled .menu-toggle{width:42px!important;height:42px!important;flex-basis:42px!important;}
}
@media(max-width:380px){
  .site-header.is-scrolled .header-inner{height:64px!important;}
  .site-header.is-scrolled .logo img,.site-header.is-scrolled .custom-logo{width:148px!important;max-width:calc(100vw - 148px)!important;}
}


/* v1.4.4 — reliable sticky header + redesigned single article */
/* `overflow:hidden` on the document can stop position:sticky in some browsers. Clip
   horizontal overflow without creating a scrolling ancestor for the header. */
html,body{overflow-x:clip!important;}
.site-main,.site-footer,.topbar{overflow-x:clip;}
.site-header{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;
  z-index:9998!important;
  background:rgba(255,255,255,.985)!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:saturate(145%) blur(12px)!important;
  backdrop-filter:saturate(145%) blur(12px)!important;
}
body.admin-bar .site-header{top:32px!important;}
.site-header.is-scrolled{
  background:rgba(255,255,255,.955)!important;
  border-bottom-color:rgba(23,21,19,.12)!important;
  box-shadow:0 10px 30px rgba(23,21,19,.09)!important;
}
.site-header.is-scrolled .header-inner{height:64px!important;gap:28px!important;}
.site-header.is-scrolled .logo img,.site-header.is-scrolled .custom-logo{width:148px!important;max-height:47px!important;}
.site-header.is-scrolled .main-nav>div>ul>li>a,.site-header.is-scrolled .main-nav>ul>li>a{padding:21px 0 19px!important;}
.site-header.is-scrolled .main-nav>div>ul>li>a:before,.site-header.is-scrolled .main-nav>ul>li>a:before{bottom:12px!important;}
.site-header.is-scrolled .header-contact,.site-header.is-scrolled .header-cta{min-height:38px!important;padding:9px 14px!important;}

/* Single articles: title first, then a large editorial featured image — no image hero. */
.single-article{background:#fff;}
.article-masthead{padding:72px 0 34px;background:#fff;}
.article-masthead-inner{max-width:1040px;margin:0 auto;}
.article-backlink{display:inline-flex;align-items:center;gap:8px;margin:0 0 22px;color:var(--orange);font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;}
.article-backlink:before{content:'←';font-size:16px;line-height:1;transition:transform .18s ease;}
.article-backlink:hover:before{transform:translateX(-3px);}
.article-masthead h1{font-size:clamp(42px,5.1vw,68px);line-height:1.02;letter-spacing:-.045em;max-width:1020px;margin:0 0 18px;text-wrap:balance;}
.article-meta{display:flex;align-items:center;gap:10px;color:#716861;font-size:14px;font-weight:650;}
.article-meta:before{content:'';width:28px;height:2px;background:var(--orange);display:block;}
.article-featured-wrap{padding:0 0 14px;}
.article-featured{width:min(1320px,calc(100% - 48px));margin:0 auto;overflow:hidden;background:#eee9e3;box-shadow:0 22px 60px rgba(27,23,20,.10);}
.article-featured img{width:100%;height:auto;aspect-ratio:16/8.7;max-height:720px;object-fit:cover;display:block;}
.article-body-layout{grid-template-columns:minmax(0,850px) 290px!important;gap:58px!important;padding-top:50px!important;padding-bottom:78px!important;max-width:1220px;}
.article-content{font-size:17px!important;line-height:1.72!important;color:#38332f;}
.article-content>p:first-child{font-size:19px;line-height:1.7;color:#332f2b;}
.article-content p{margin:0 0 21px;}
.article-content h2{font-size:30px!important;line-height:1.18!important;letter-spacing:-.025em;margin:40px 0 13px!important;color:var(--ink);}
.article-content h3{font-size:22px!important;line-height:1.25!important;letter-spacing:-.015em;margin:30px 0 10px!important;color:var(--ink);}
.article-content h4{font-size:18px;line-height:1.3;margin:26px 0 8px;color:var(--ink);}
.article-content ul,.article-content ol{margin:0 0 24px;padding-left:23px;}
.article-content li{margin:7px 0;padding-left:3px;}
.article-content blockquote{margin:32px 0;padding:22px 26px;border-left:4px solid var(--orange);background:var(--cream);font-size:19px;line-height:1.6;color:#312d29;}
.article-content figure,.article-content .wp-block-image{margin:30px 0!important;}
.article-content img{margin:0!important;border-radius:0;box-shadow:0 12px 35px rgba(27,23,20,.08);}
.article-content a:not(.btn){color:#cf461c;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.article-content hr{border:0;border-top:1px solid var(--line);margin:34px 0;}
.article-aside{top:92px!important;}
.aside-card{padding:27px!important;border-top:4px solid var(--orange);box-shadow:0 12px 36px rgba(27,23,20,.07);}
.aside-card h3{font-size:23px!important;line-height:1.18;margin:7px 0 10px!important;}
.aside-card p{font-size:14px;line-height:1.6;color:#5b534d;margin:0 0 20px;}
.single-article + .soft-section{padding-top:74px!important;padding-bottom:82px!important;border-top:1px solid var(--line);}
.single-article + .soft-section .section-head{margin-bottom:38px;}
.single-article + .soft-section .section-head h2{font-size:38px;}

@media(max-width:1050px){
  .site-header{top:0!important;}
  body.admin-bar .site-header{top:32px!important;}
  .site-header.mobile-open .main-nav{top:100%!important;}
  .site-header.is-scrolled .header-inner{height:60px!important;gap:8px!important;}
  .site-header.is-scrolled .logo img,.site-header.is-scrolled .custom-logo{width:145px!important;max-width:calc(100vw - 154px)!important;max-height:46px!important;}
  .site-header.is-scrolled .header-contact{min-height:36px!important;padding:8px 10px!important;font-size:9px!important;}
  .site-header.is-scrolled .menu-toggle{width:40px!important;height:40px!important;flex-basis:40px!important;}
  .article-masthead{padding:58px 0 30px;}
  .article-featured{width:calc(100% - 36px);}
  .article-body-layout{grid-template-columns:minmax(0,1fr)!important;gap:34px!important;padding-top:42px!important;padding-bottom:64px!important;}
  .article-aside{position:static!important;}
}
@media(max-width:782px){body.admin-bar .site-header{top:46px!important;}}
@media(max-width:720px){
  .article-masthead{padding:44px 0 24px;}
  .article-backlink{margin-bottom:17px;font-size:11px;}
  .article-masthead h1{font-size:clamp(36px,10vw,48px);line-height:1.03;margin-bottom:14px;}
  .article-featured{width:calc(100% - 30px);}
  .article-featured img{aspect-ratio:4/3;max-height:none;}
  .article-body-layout{padding-top:34px!important;padding-bottom:54px!important;gap:30px!important;}
  .article-content{font-size:16.5px!important;line-height:1.7!important;}
  .article-content>p:first-child{font-size:17.5px;}
  .article-content p{margin-bottom:18px;}
  .article-content h2{font-size:26px!important;line-height:1.18!important;margin:33px 0 10px!important;}
  .article-content h3{font-size:20px!important;line-height:1.24!important;margin:26px 0 8px!important;}
  .article-content h4{font-size:17px;margin-top:23px;}
  .article-content figure,.article-content .wp-block-image{margin:24px 0!important;}
  .article-content blockquote{margin:26px 0;padding:18px 19px;font-size:17px;}
  .single-article + .soft-section{padding-top:58px!important;padding-bottom:64px!important;}
  .single-article + .soft-section .section-head h2{font-size:32px;}
}
@media(prefers-reduced-motion:reduce){
  .article-backlink:before{transition:none;}
}

/* =========================================================
   Elementor conversion bridge — keeps the approved v1.4.4
   design while every editable block is a real Elementor item.
   ========================================================= */
.elementor-page .elementor-widget{min-width:0}
.elementor-page .elementor-widget-text-editor{color:inherit;font:inherit}
.elementor-page .elementor-widget-heading .elementor-heading-title{font-family:inherit;color:inherit;line-height:inherit;font-weight:inherit;letter-spacing:inherit}
.elementor-page .elementor-widget-text-editor p:first-child{margin-top:0}
.elementor-page .elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor-page .e-con.wrap{max-width:none}

/* Elementor Button widget: visual styling belongs on the inner anchor, not the widget wrapper. */
.elementor-widget-button.btn,
.elementor-widget-button.header-contact,
.elementor-widget-button.header-cta,
.elementor-widget-button.skh-map-directions{
  display:block!important;background:none!important;border:0!important;padding:0!important;
  box-shadow:none!important;transform:none!important;width:auto!important;
}
.elementor-widget-button.btn .elementor-button,
.elementor-widget-button.header-contact .elementor-button,
.elementor-widget-button.header-cta .elementor-button,
.elementor-widget-button.skh-map-directions .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:var(--orange);color:var(--ink);font-family:inherit;font-size:13px;font-weight:900;
  line-height:1;text-transform:uppercase;letter-spacing:.05em;padding:16px 24px;
  border:0;border-radius:2px;min-height:48px;transition:.2s;
}
.elementor-widget-button.btn .elementor-button:hover,
.elementor-widget-button.header-cta .elementor-button:hover,
.elementor-widget-button.skh-map-directions .elementor-button:hover{background:var(--orange-dark);transform:translateY(-2px)}
.elementor-widget-button.btn.dark .elementor-button{background:transparent;border:1px solid rgba(255,255,255,.55)}
.elementor-widget-button.btn.dark .elementor-button:hover{background:#fff;color:var(--ink)}

/* Images inherit the geometry of the original semantic image blocks. */
.hero-frame>.elementor-widget-image,
.service-image>.elementor-widget-image,
.media>.elementor-widget-image,
.mosaic>.elementor-widget-image,
.gallery-grid>.elementor-widget-image,
.tile-bento-card>.elementor-widget-image,
.article-featured-wrap>.elementor-widget-theme-post-featured-image{
  width:100%;height:100%;min-width:0;margin:0!important;
}
.hero-frame>.elementor-widget-image>.elementor-widget-container,
.service-image>.elementor-widget-image>.elementor-widget-container,
.media>.elementor-widget-image>.elementor-widget-container,
.mosaic>.elementor-widget-image>.elementor-widget-container,
.gallery-grid>.elementor-widget-image>.elementor-widget-container,
.tile-bento-card>.elementor-widget-image>.elementor-widget-container,
.article-featured-wrap>.elementor-widget-theme-post-featured-image>.elementor-widget-container{height:100%}
.hero-frame .elementor-widget-image img,
.service-image .elementor-widget-image img,
.media .elementor-widget-image img,
.mosaic .elementor-widget-image img,
.gallery-grid .elementor-widget-image img,
.tile-bento-card .elementor-widget-image img{width:100%;height:100%;object-fit:cover}

/* Grid containers must beat Elementor's default flex display. */
.services-grid,.services-grid-six,.about-grid,.mosaic,.feature-row,.footer-grid,.content-split,
.cards-2,.cards-3,.cards-4,.gallery-grid,.contact-grid,.contact-layout,.contact-detail-cards,
.article-grid,.article-body-layout,.process-grid,.step-list>div,.tile-bento-grid{
  display:grid!important;
}
.hero-inner{display:grid!important}
.hero-actions,.footer-bottom,.header-inner,.header-actions,.topbar .wrap,.skh-contact-map-head{display:flex!important}

/* Elementor Pro Posts — same visual language as the approved article cards. */
.skh-elementor-posts .elementor-posts-container{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:26px!important;
}
.skh-elementor-posts article.elementor-post{
  display:flex!important;flex-direction:column!important;min-width:0;background:#fff;border:1px solid var(--line);
  overflow:hidden;box-shadow:0 10px 28px rgba(24,20,17,.055);transition:transform .22s ease,box-shadow .22s ease;
}
.skh-elementor-posts article.elementor-post:hover{transform:translateY(-5px);box-shadow:0 22px 46px rgba(24,20,17,.11)}
.skh-elementor-posts .elementor-post__thumbnail__link{margin:0!important;width:100%!important}
.skh-elementor-posts .elementor-post__thumbnail{height:250px!important;padding:0!important;overflow:hidden}
.skh-elementor-posts .elementor-post__thumbnail img{
  position:static!important;transform:none!important;width:100%!important;height:250px!important;object-fit:cover!important;
  transition:transform .45s ease!important;
}
.skh-elementor-posts article.elementor-post:hover .elementor-post__thumbnail img{transform:scale(1.035)!important}
.skh-elementor-posts .elementor-post__text{display:flex!important;flex-direction:column!important;flex:1;padding:24px!important}
.skh-elementor-posts .elementor-post__title{font-size:23px!important;line-height:1.2!important;margin:0 0 8px!important;font-weight:800!important}
.skh-elementor-posts .elementor-post__excerpt{margin:0 0 18px!important;color:#645b54;font-size:15px;line-height:1.6}
.skh-elementor-posts .elementor-post__read-more{margin-top:auto!important;color:var(--orange)!important;font-size:12px!important;font-weight:900!important;text-transform:uppercase;text-decoration:none!important}
.skh-elementor-posts .elementor-post__meta-data{display:none!important}

/* Elementor Pro Forms — visually identical to the bespoke form shell. */
.skh-elementor-form .elementor-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.skh-elementor-form .elementor-field-group{margin:0!important;padding:0!important;min-width:0}
.skh-elementor-form .elementor-field-group.elementor-col-100{grid-column:1/-1}
.skh-elementor-form .elementor-field-group.elementor-col-50{width:auto!important}
.skh-elementor-form .elementor-field-label{display:block;margin:0 0 7px!important;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text)}
.skh-elementor-form input.elementor-field,
.skh-elementor-form textarea.elementor-field,
.skh-elementor-form select.elementor-field{
  width:100%;min-height:52px;padding:14px 15px!important;border:1px solid #dcd4cd!important;border-radius:0!important;
  background:#fbfaf9!important;color:var(--text)!important;font:inherit!important;box-shadow:none!important;
}
.skh-elementor-form textarea.elementor-field{min-height:154px;resize:vertical}
.skh-elementor-form input.elementor-field:focus,
.skh-elementor-form textarea.elementor-field:focus,
.skh-elementor-form select.elementor-field:focus{outline:2px solid rgba(255,235,1,.22)!important;border-color:var(--orange)!important}
.skh-elementor-form .elementor-field-type-acceptance{grid-column:1/-1}
.skh-elementor-form .elementor-field-type-acceptance .elementor-field-option{display:flex;align-items:flex-start;gap:10px;color:#5f5751;font-size:13px;line-height:1.55}
.skh-elementor-form .elementor-field-type-acceptance input{width:auto!important;min-height:0!important;margin-top:4px}
.skh-elementor-form .elementor-field-type-submit{grid-column:1/-1}
.skh-elementor-form .elementor-button{min-height:50px;background:var(--orange)!important;color:var(--ink)!important;border-radius:2px!important;padding:15px 22px!important;font-size:13px!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.05em}
.skh-elementor-form .elementor-button:hover{background:var(--orange-dark)!important;transform:translateY(-1px)}

/* Theme Builder header. */
.skh-elementor-header{position:-webkit-sticky!important;position:sticky!important;top:0!important;z-index:9998!important;width:100%!important}
.skh-elementor-header .header-inner{flex-wrap:nowrap!important}
.skh-elementor-logo{width:170px!important;flex:0 0 170px!important;margin:0!important}
.skh-elementor-logo img{width:170px!important;max-height:56px!important;object-fit:contain!important}
.skh-elementor-nav{margin-left:auto!important;width:auto!important;flex:1 1 auto!important}
.skh-elementor-nav .elementor-widget-container{display:flex;justify-content:flex-end;align-items:center}
.skh-elementor-nav .elementor-nav-menu--main .elementor-nav-menu{display:flex;align-items:center;gap:34px}
.skh-elementor-nav .elementor-nav-menu--main .elementor-item{
  color:var(--ink)!important;font-family:inherit!important;font-size:14px!important;font-weight:800!important;line-height:1!important;
  padding:27px 0 25px!important;background:none!important;
}
.skh-elementor-nav .elementor-nav-menu--main .elementor-item:after{height:2px!important;background:var(--orange)!important;bottom:17px!important}
.skh-elementor-nav .elementor-nav-menu--main .sub-arrow{padding-left:5px!important;align-items:center!important;transform:translateY(-1px)}
.skh-elementor-nav .elementor-nav-menu--dropdown{border-top:3px solid var(--orange);box-shadow:0 24px 65px rgba(20,17,15,.14)}
.skh-elementor-nav .elementor-nav-menu--dropdown .elementor-sub-item{font-family:inherit!important;font-size:13px!important;font-weight:720!important;padding:12px 15px!important;color:var(--ink)!important;border-bottom:1px solid #f1ece7}
.skh-elementor-nav .elementor-nav-menu--dropdown .elementor-sub-item:hover{padding-left:20px!important;background:#f7f3ef!important;color:var(--orange)!important}
.skh-header-buttons{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;width:auto!important;flex:0 0 auto!important}
.skh-header-buttons .elementor-widget-button{width:auto!important;flex:0 0 auto!important;margin:0!important}
.elementor-widget-button.header-contact .elementor-button{background:#1e1d1a!important;color:#fff!important;border:1px solid #1e1d1a!important;min-height:44px;padding:12px 17px!important}
.elementor-widget-button.header-contact .elementor-button:hover{background:#302c29!important;border-color:#302c29!important;transform:translateY(-1px)}
.elementor-widget-button.header-cta .elementor-button{min-height:44px;padding:12px 17px!important;box-shadow:0 8px 22px rgba(255,235,1,.18)}
.site-header.is-scrolled .skh-elementor-logo{width:148px!important;flex-basis:148px!important}
.site-header.is-scrolled .skh-elementor-logo img{width:148px!important;max-height:47px!important}
.site-header.is-scrolled .skh-elementor-nav .elementor-nav-menu--main .elementor-item{padding:21px 0 19px!important}
.site-header.is-scrolled .skh-elementor-nav .elementor-nav-menu--main .elementor-item:after{bottom:12px!important}
.site-header.is-scrolled .skh-header-buttons .elementor-button{min-height:38px!important;padding:9px 14px!important}
body.admin-bar .skh-elementor-header{top:32px!important}

/* Theme Builder footer: Elementor wrappers should not change column behavior. */
.site-footer .footer-grid>.e-con{min-width:0}
.site-footer .footer-grid .elementor-widget-heading{margin:0}
.site-footer .footer-grid .elementor-heading-title{font-size:19px!important;font-weight:800!important;line-height:1.25!important;margin:0 0 20px!important;color:#fff!important}
.site-footer .elementor-widget-text-editor{color:#e7e1dc}
.footer-bottom>.elementor-widget-text-editor{width:auto!important;margin:0!important}

/* Dynamic single post widgets. */
.article-masthead .elementor-widget-theme-post-title .elementor-heading-title{font-size:clamp(42px,5.1vw,68px)!important;line-height:1.02!important;letter-spacing:-.045em!important;font-weight:800!important;color:var(--ink)!important;margin:0!important}
.article-masthead .elementor-widget-post-info{margin:0}
.article-masthead .elementor-post-info{color:#716861;font-size:14px;font-weight:650}
.article-featured-wrap .elementor-widget-theme-post-featured-image{width:min(1320px,calc(100% - 48px));height:auto;margin:0 auto!important;overflow:hidden;background:#eee9e3;box-shadow:0 22px 60px rgba(27,23,20,.10)}
.article-featured-wrap .elementor-widget-theme-post-featured-image img{width:100%;height:auto;aspect-ratio:16/8.7;max-height:720px;object-fit:cover;display:block}
.article-content>.elementor-widget-theme-post-content{width:100%}
.article-content>.elementor-widget-theme-post-content>.elementor-widget-container{font:inherit;color:inherit}

/* Google Maps widget. */
.skh-contact-map-frame>.elementor-widget-google_maps{width:100%!important;height:100%!important;margin:0!important}
.skh-contact-map-frame>.elementor-widget-google_maps>.elementor-widget-container{height:100%!important}
.skh-contact-map-frame .elementor-custom-embed{height:100%!important}
.skh-contact-map-frame iframe{width:100%!important;height:100%!important;display:block;border:0}

@media(max-width:1050px){
  .skh-elementor-header .header-inner{height:68px!important;gap:10px!important}
  .skh-elementor-logo{width:160px!important;flex:0 1 160px!important}
  .skh-elementor-logo img{width:160px!important;max-width:100%!important;max-height:52px!important}
  .skh-elementor-nav{display:block!important;order:3!important;flex:0 0 42px!important;width:42px!important;margin-left:0!important}
  .skh-elementor-nav .elementor-widget-container{display:block!important}
  .skh-elementor-nav .elementor-nav-menu--main{display:none!important}
  .skh-elementor-nav .elementor-menu-toggle{display:flex!important;width:42px!important;height:42px!important;padding:0!important;margin:0!important;align-items:center;justify-content:center;background:transparent!important;color:var(--ink)!important;border-radius:0!important;font-size:24px!important}
  .skh-elementor-nav .elementor-nav-menu--dropdown{position:absolute!important;top:100%!important;left:0!important;right:0!important;width:100%!important;margin:0!important;background:#fff!important;border-top:1px solid #eee!important;box-shadow:0 20px 40px rgba(0,0,0,.12)!important;padding:10px 18px 18px!important;z-index:9999}
  .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-item{font-family:inherit!important;font-size:14px!important;font-weight:800!important;padding:13px 8px!important;color:var(--ink)!important}
  .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-sub-item{padding:10px 8px 10px 22px!important;font-size:13px!important}
  .skh-header-buttons{order:2!important;margin-left:auto!important;gap:0!important}
  .skh-header-buttons .header-cta{display:none!important}
  .skh-header-buttons .header-contact{display:block!important}
  .elementor-widget-button.header-contact .elementor-button{min-height:38px!important;padding:9px 11px!important;font-size:9.5px!important}
  .site-header.is-scrolled .skh-elementor-logo{width:145px!important;flex-basis:145px!important}
  .site-header.is-scrolled .skh-elementor-logo img{width:145px!important;max-height:46px!important}
  .site-header.is-scrolled .skh-elementor-nav{flex-basis:40px!important;width:40px!important}
  .site-header.is-scrolled .skh-elementor-nav .elementor-menu-toggle{width:40px!important;height:40px!important}
  body.admin-bar .skh-elementor-header{top:32px!important}
  .skh-elementor-posts .elementor-posts-container{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:782px){body.admin-bar .skh-elementor-header{top:46px!important}}
@media(max-width:720px){
  .skh-elementor-posts .elementor-posts-container{grid-template-columns:1fr!important;gap:22px!important}
  .skh-elementor-form .elementor-form{grid-template-columns:1fr!important}
  .skh-elementor-form .elementor-field-group{grid-column:1/-1!important;width:100%!important}
  .article-featured-wrap .elementor-widget-theme-post-featured-image{width:calc(100% - 30px)}
  .article-featured-wrap .elementor-widget-theme-post-featured-image img{aspect-ratio:4/3;max-height:none}
  .gallery-grid>.elementor-widget-image{min-height:250px}
}
@media(max-width:380px){
  .skh-elementor-logo{width:140px!important;flex-basis:140px!important}
  .skh-elementor-logo img{width:140px!important}
  .elementor-widget-button.header-contact .elementor-button{padding:8px 9px!important;font-size:9px!important}
}

/* Tiny structural helpers for semantic labels converted to Elementor widgets. */
.service-number>.elementor-widget-text-editor,
.tile-bento-no>.elementor-widget-text-editor,
.feature-icon>.elementor-widget-text-editor{width:auto!important;margin:0!important;line-height:1!important}
.service-number .elementor-widget-container,
.tile-bento-no .elementor-widget-container,
.feature-icon .elementor-widget-container{line-height:1!important}
.tile-bento-copy>.elementor-widget,
.card-copy>.elementor-widget,
.hero-text>.elementor-widget,
.section-head>.elementor-widget{margin-bottom:0!important}
.mosaic-note>.elementor-widget{margin-bottom:0!important}
.topbar .wrap>.elementor-widget{width:auto!important;margin:0!important;flex:0 0 auto!important}
.header-inner>.elementor-widget,.header-inner>.e-con{margin-bottom:0!important}
.footer-bottom>.elementor-widget{width:auto!important;max-width:100%!important;margin:0!important}

/* =========================================================
   Elementor design refinement v1.0.2
   Tighter typography, compact homepage/service sections and
   clean Elementor Pro navigation chevrons.
   ========================================================= */

/* --- Global rhythm: headings, kickers and body copy closer together --- */
.elementor-page{
  --skh-copy-leading:1.56;
  --skh-heading-leading:1.08;
}
.elementor-page .eyebrow{
  margin:0 0 5px!important;
  line-height:1.15!important;
}
.elementor-page .eyebrow>.elementor-widget,
.elementor-page .eyebrow .elementor-widget-container,
.elementor-page .eyebrow .elementor-widget-text-editor{
  margin:0!important;
  line-height:1.15!important;
}
.elementor-page .section-head{
  margin-bottom:42px!important;
}
.elementor-page .section-head .elementor-heading-title{
  margin:0!important;
  line-height:1.06!important;
}
.elementor-page .section-head>.elementor-widget-heading{
  margin:4px 0 0!important;
}
.elementor-page .section-head>.elementor-widget-text-editor{
  margin:10px 0 0!important;
}
.elementor-page .section-head>.elementor-widget-text-editor p{
  line-height:1.55!important;
}
.elementor-page .content-split>.e-con,
.elementor-page .content-split>.copy,
.elementor-page .content-split>.media{
  gap:0!important;
}
.elementor-page .content-split .elementor-widget-heading{
  margin:0!important;
}
.elementor-page .content-split h2.elementor-heading-title,
.elementor-page .content-split .elementor-heading-title[role="heading"]{
  line-height:1.07!important;
}
.elementor-page .content-split h2.elementor-heading-title{
  font-size:clamp(36px,3.25vw,48px)!important;
  letter-spacing:-.035em!important;
  margin:4px 0 14px!important;
}
.elementor-page .content-split h3.elementor-heading-title{
  font-size:23px!important;
  line-height:1.15!important;
  letter-spacing:-.015em!important;
  margin:23px 0 7px!important;
}
.elementor-page .content-split .elementor-widget-text-editor{
  margin:0 0 13px!important;
}
.elementor-page .content-split .elementor-widget-text-editor p{
  font-size:15.5px!important;
  line-height:var(--skh-copy-leading)!important;
  margin:0!important;
}
.elementor-page .info-card{gap:0!important}
.elementor-page .info-card .elementor-widget-heading{margin:0 0 7px!important}
.elementor-page .info-card .elementor-heading-title{line-height:1.12!important}
.elementor-page .info-card .elementor-widget-text-editor{margin:0!important}
.elementor-page .info-card .elementor-widget-text-editor p{line-height:1.55!important}
.elementor-page .cta-section .wrap{gap:0!important}
.elementor-page .cta-section .elementor-widget-heading{margin:4px 0 10px!important}
.elementor-page .cta-section .elementor-heading-title{line-height:1.06!important}
.elementor-page .cta-section .elementor-widget-text-editor{margin:0 0 23px!important}
.elementor-page .cta-section p{line-height:1.55!important}

/* --- Elementor Pro header: use Elementor's one submenu chevron only. --- */
.skh-elementor-nav.main-nav li.menu-item-has-children>a:after,
.skh-elementor-nav .elementor-nav-menu--main li.menu-item-has-children>a:after{
  content:none!important;
  display:none!important;
  border:0!important;
}
.skh-elementor-nav .elementor-nav-menu--main .sub-arrow{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding-left:6px!important;
  margin:0!important;
  color:currentColor!important;
  transform:translateY(-1px)!important;
}
.skh-elementor-nav .elementor-nav-menu--main .sub-arrow svg{
  width:8px!important;
  height:8px!important;
  fill:currentColor!important;
  stroke:currentColor!important;
}
.skh-elementor-nav .elementor-nav-menu--main .elementor-item:hover .sub-arrow,
.skh-elementor-nav .elementor-nav-menu--main .elementor-item.elementor-item-active .sub-arrow{
  color:var(--ink)!important;
}

/* --- Homepage: tighter 3 x 2 service cards --- */
.home .services-section{
  padding-top:86px!important;
  padding-bottom:92px!important;
}
.home .services-section .section-head{
  margin-bottom:42px!important;
}
.home .services-section .services-grid-six{
  gap:26px 24px!important;
}
.home .services-grid-six .service-image{
  aspect-ratio:387/265!important;
}
.home .services-grid-six .card-copy{
  margin:-18px 18px 0!important;
  min-height:150px!important;
  padding:23px 24px 22px!important;
  gap:0!important;
}
.home .services-grid-six .card-copy>.elementor-widget-heading{
  margin:0 0 6px!important;
}
.home .services-grid-six .service-card h3,
.home .services-grid-six .service-card .elementor-heading-title{
  font-size:22px!important;
  line-height:1.12!important;
  margin:0!important;
}
.home .services-grid-six .card-copy>.elementor-widget-text-editor{
  margin:0 0 12px!important;
}
.home .services-grid-six .service-card p{
  font-size:14px!important;
  line-height:1.48!important;
  margin:0!important;
}
.home .services-grid-six .service-link{
  margin-top:4px!important;
  font-size:11.5px!important;
  line-height:1.1!important;
}

/* --- Homepage dark help band: same content, substantially less empty height --- */
.home .dark-band{
  padding:68px 0 72px!important;
}
.home .dark-band .section-head{
  max-width:760px!important;
  margin-bottom:34px!important;
}
.home .dark-band .section-head .elementor-widget-heading{
  margin:5px 0 9px!important;
}
.home .dark-band .section-head h2,
.home .dark-band .section-head .elementor-heading-title{
  font-size:clamp(37px,3.5vw,48px)!important;
  line-height:1.04!important;
}
.home .dark-band .section-head p{
  font-size:15px!important;
  line-height:1.52!important;
}
.home .dark-band .feature-row{
  margin:30px auto 38px!important;
  gap:40px!important;
}
.home .dark-band .feature-icon{
  width:48px!important;
  height:48px!important;
  margin-bottom:11px!important;
  font-size:20px!important;
}
.home .dark-band .feature h3,
.home .dark-band .feature .elementor-heading-title{
  font-size:18px!important;
  line-height:1.12!important;
  margin:0 0 5px!important;
}
.home .dark-band .feature p{
  font-size:13px!important;
  line-height:1.45!important;
}
.home .dark-band .phone-box{
  gap:0!important;
}
.home .dark-band .phone-box small{
  display:block;
  margin-bottom:3px!important;
}
.home .dark-band .phone-box a.phone{
  font-size:36px!important;
  line-height:1.08!important;
  margin:3px 0 17px!important;
}

/* --- Flislegger: more compact editorial bento and tighter overlay copy --- */
.elementor-page .tile-bento-section{
  padding-top:78px!important;
  padding-bottom:88px!important;
}
.elementor-page .tile-bento-section .tile-choice-head{
  margin-bottom:34px!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
.elementor-page .tile-bento-section .tile-choice-head h2,
.elementor-page .tile-bento-section .tile-choice-head .elementor-heading-title{
  font-size:clamp(38px,3.7vw,54px)!important;
  line-height:1.02!important;
  margin:4px 0 8px!important;
}
.elementor-page .tile-bento-section .tile-choice-head p{
  font-size:15px!important;
  line-height:1.5!important;
}
@media(min-width:1051px){
  .elementor-page .tile-bento-grid{
    grid-template-rows:285px 285px 245px!important;
    gap:16px!important;
  }
}
.elementor-page .tile-bento-card .tile-bento-copy{
  left:22px!important;
  right:22px!important;
  bottom:20px!important;
}
.elementor-page .tile-bento-feature .tile-bento-copy{
  left:30px!important;
  right:30px!important;
  bottom:27px!important;
  max-width:430px!important;
}
.elementor-page .tile-bento-card .tile-bento-kicker{
  margin-bottom:4px!important;
  font-size:9px!important;
  line-height:1!important;
}
.elementor-page .tile-bento-card h3,
.elementor-page .tile-bento-card .elementor-heading-title{
  font-size:clamp(23px,1.85vw,29px)!important;
  line-height:1.03!important;
  margin:0 0 5px!important;
}
.elementor-page .tile-bento-feature h3,
.elementor-page .tile-bento-feature .elementor-heading-title{
  font-size:clamp(34px,3.3vw,46px)!important;
}
.elementor-page .tile-bento-card p{
  font-size:12.5px!important;
  line-height:1.42!important;
  margin:0!important;
}
.elementor-page .tile-bento-card .tile-bento-link{
  margin-top:9px!important;
  padding-top:9px!important;
  font-size:10.5px!important;
}
.elementor-page .tile-bento-card .tile-bento-link b{
  width:27px!important;
  height:27px!important;
}
.elementor-page .tile-bento-card .tile-bento-no{
  top:17px!important;
  left:17px!important;
  width:34px!important;
  height:34px!important;
  font-size:10px!important;
}

/* --- Generic inner-page sections: remove oversized whitespace around text stacks --- */
.elementor-page .section{
  padding-top:84px;
  padding-bottom:84px;
}
.elementor-page .compact-section{
  padding-top:72px!important;
  padding-bottom:72px!important;
}
.elementor-page .content-split{
  gap:64px!important;
}
.elementor-page .content-split .media img{
  height:480px;
}

@media(max-width:1050px){
  .elementor-page .section{padding-top:72px;padding-bottom:72px}
  .home .services-section .services-grid-six{gap:24px!important}
  .home .dark-band{padding:62px 0 66px!important}
  .elementor-page .tile-bento-grid{grid-auto-rows:300px!important}
  .elementor-page .tile-bento-grid>.tile-bento-card:nth-child(1){min-height:420px!important}
}
@media(max-width:720px){
  .elementor-page .section{padding-top:62px;padding-bottom:62px}
  .elementor-page .section-head{margin-bottom:30px!important}
  .elementor-page .content-split h2.elementor-heading-title{font-size:34px!important;line-height:1.05!important;margin-bottom:11px!important}
  .elementor-page .content-split h3.elementor-heading-title{font-size:21px!important;margin:19px 0 6px!important}
  .elementor-page .content-split .elementor-widget-text-editor p{font-size:15px!important;line-height:1.55!important}
  .home .services-section{padding-top:64px!important;padding-bottom:70px!important}
  .home .services-grid-six .card-copy{margin:-14px 12px 0!important;min-height:0!important;padding:20px 20px 19px!important}
  .home .dark-band{padding:54px 0 58px!important}
  .home .dark-band .feature-row{margin:26px auto 30px!important;gap:24px!important}
  .home .dark-band .phone-box a.phone{font-size:30px!important;margin-bottom:15px!important}
  .elementor-page .tile-bento-section{padding-top:60px!important;padding-bottom:66px!important}
  .elementor-page .tile-bento-section .tile-choice-head{margin-bottom:25px!important}
  .elementor-page .tile-bento-section .tile-choice-head h2,
  .elementor-page .tile-bento-section .tile-choice-head .elementor-heading-title{font-size:35px!important}
  .elementor-page .tile-bento-grid{grid-auto-rows:285px!important;gap:11px!important}
  .elementor-page .tile-bento-grid>.tile-bento-card:nth-child(1){min-height:345px!important}
  .elementor-page .tile-bento-feature h3,.elementor-page .tile-bento-feature .elementor-heading-title,
  .elementor-page .tile-bento-card h3,.elementor-page .tile-bento-card .elementor-heading-title{font-size:27px!important}
}

/* =========================================================
   Elementor refinement v1.0.3
   Give CTA buttons inside information cards a little more
   breathing room from the paragraph above.
   ========================================================= */
.elementor-page .info-card > .elementor-widget-button,
.elementor-page .info-card .elementor-widget-button.btn{
  margin-top:18px!important;
}
@media(max-width:720px){
  .elementor-page .info-card > .elementor-widget-button,
  .elementor-page .info-card .elementor-widget-button.btn{
    margin-top:15px!important;
  }
}


/* ==========================================================
   v1.0.4 — logo yellow accent system
   Replaces the former #f15b2a orange with Strømmen Keramiske
   logo yellow #ffeb01. Yellow-filled UI uses dark text/icons.
   ========================================================== */
:root{
  --orange:#ffeb01;
  --orange-dark:#e3d200;
  --skh-yellow:#ffeb01;
  --skh-yellow-hover:#e3d200;
}

/* Yellow-filled controls: strong black contrast. */
.btn:not(.dark),
.checks li:before,
.feature-icon,
.process-card span,
.process-showcase .process-card span,
.process-grid:not(.process-showcase .process-grid) .process-card span,
.step-list span,
.tile-choice-arrow,
.tile-bento-link b,
.skh-map-pin,
.pagination .current,
.post-cat,
.elementor-widget-button.btn .elementor-button,
.elementor-widget-button.header-cta .elementor-button,
.elementor-widget-button.skh-map-directions .elementor-button,
.skh-elementor-form .elementor-button{
  color:#1e1d1a!important;
}
.btn.dark{color:#fff!important}

/* Keep the deliberately black Contact button white-on-black. */
.elementor-widget-button.header-contact .elementor-button{
  background:#1e1d1a!important;
  color:#fff!important;
  border-color:#1e1d1a!important;
}

/* Yellow accent headings/kickers need a restrained dark shadow,
   especially when they sit on white/cream surfaces. */
.eyebrow,
.tile-choice-kicker,
.tile-bento-kicker,
.mosaic-note strong,
.inspection-note strong,
.contact-detail-cards small,
.skh-contact-map-card small,
.phone-box a.phone,
.contact-actions .contact-big,
.topbar .accent{
  color:#ffeb01!important;
  text-shadow:0 1px 0 rgba(0,0,0,.72),0 1px 3px rgba(0,0,0,.28);
}

/* Accent text links remain readable on light surfaces. */
.services-grid-six .service-link,
.article-card .more,
.text-link,
.form-small a,
.article-backlink,
.skh-elementor-posts .elementor-post__read-more,
.main-nav .current-menu-item>a,
.main-nav .current-menu-ancestor>a,
.main-nav .sub-menu a:hover,
.skh-elementor-nav .elementor-nav-menu--dropdown .elementor-sub-item:hover{
  color:#ffeb01!important;
  text-shadow:0 1px 0 rgba(0,0,0,.58),0 1px 2px rgba(0,0,0,.18);
}

/* Decorative yellow surfaces and focus states. */
.home .mosaic:before{
  background:linear-gradient(145deg,#ffeb01,#e3d200)!important;
  color:#1e1d1a!important;
  box-shadow:0 24px 55px rgba(116,106,0,.20)!important;
}
.home .mosaic:after{background:rgba(255,235,1,.12)!important}
.tile-choice-card:hover .tile-choice-arrow{background:#e3d200!important}

/* Form focus ring in the same logo yellow. */
.skh-form input:focus,.skh-form textarea:focus,.skh-form select:focus,
.skh-elementor-form input.elementor-field:focus,
.skh-elementor-form textarea.elementor-field:focus,
.skh-elementor-form select.elementor-field:focus{
  outline-color:rgba(255,235,1,.32)!important;
  border-color:#ffeb01!important;
}

/* Header CTA gets a neutral shadow rather than an orange glow. */
.elementor-widget-button.header-cta .elementor-button{
  box-shadow:0 8px 22px rgba(0,0,0,.12)!important;
}


/* ==========================================================
   v1.0.5 — refined yellow, dark homepage service panels,
   cleaner accent typography and inline homepage hero actions.
   ========================================================== */
:root{
  --orange:#f0dc00;
  --orange-dark:#d8c600;
  --skh-yellow:#f0dc00;
  --skh-yellow-hover:#d8c600;
}

/* Yellow text should be clean and flat — no artificial shadow. */
.eyebrow,
.tile-choice-kicker,
.tile-bento-kicker,
.mosaic-note strong,
.inspection-note strong,
.contact-detail-cards small,
.skh-contact-map-card small,
.phone-box a.phone,
.contact-actions .contact-big,
.topbar .accent,
.services-grid-six .service-link,
.article-card .more,
.text-link,
.form-small a,
.article-backlink,
.skh-elementor-posts .elementor-post__read-more,
.main-nav .current-menu-item>a,
.main-nav .current-menu-ancestor>a,
.main-nav .sub-menu a:hover,
.skh-elementor-nav .elementor-nav-menu--dropdown .elementor-sub-item:hover{
  color:#f0dc00!important;
  text-shadow:none!important;
}

/* Homepage service cards: replace floating shadowed cream panels with
   a crisp black editorial panel under each image. */
.home .services-grid-six .service-card{
  background:transparent!important;
  box-shadow:none!important;
}
.home .services-grid-six .service-card:hover{
  box-shadow:none!important;
}
.home .services-grid-six .card-copy{
  background:#1e1d1a!important;
  color:#fff!important;
  box-shadow:none!important;
  border-top:2px solid #f0dc00!important;
}
.home .services-grid-six .service-card h3,
.home .services-grid-six .service-card .elementor-heading-title{
  color:#fff!important;
  text-shadow:none!important;
}
.home .services-grid-six .service-card p,
.home .services-grid-six .service-card .elementor-widget-text-editor,
.home .services-grid-six .service-card .elementor-widget-text-editor p{
  color:rgba(255,255,255,.74)!important;
  text-shadow:none!important;
}
.home .services-grid-six .service-link{
  color:#f0dc00!important;
  text-decoration:none!important;
  text-shadow:none!important;
}
.home .services-grid-six .service-link:after{
  color:#f0dc00!important;
}

/* Homepage hero buttons: keep them on one line whenever there is room. */
@media(min-width:721px){
  .home .hero-actions{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    width:auto!important;
    max-width:none!important;
  }
  .home .hero-actions>.elementor-widget-button{
    width:auto!important;
    flex:0 0 auto!important;
    margin:0!important;
  }
  .home .hero-actions .elementor-button{
    width:auto!important;
  }
}

/* Telephone hero CTA remains transparent/outlined with true white copy. */
.home .hero-actions .elementor-widget-button.btn.dark .elementor-button,
.home .hero-actions .elementor-widget-button.btn.dark .elementor-button-text,
.home .hero-actions .elementor-widget-button.btn.dark .elementor-button-icon,
.home .hero-actions .elementor-widget-button.btn.dark .elementor-button-icon i,
.home .hero-actions .elementor-widget-button.btn.dark .elementor-button-icon svg{
  color:#fff!important;
  fill:#fff!important;
}
.home .hero-actions .elementor-widget-button.btn.dark .elementor-button{
  background:rgba(0,0,0,.12)!important;
  border-color:rgba(255,255,255,.72)!important;
}
.home .hero-actions .elementor-widget-button.btn.dark .elementor-button:hover{
  background:#fff!important;
  color:#1e1d1a!important;
}
.home .hero-actions .elementor-widget-button.btn.dark .elementor-button:hover .elementor-button-text,
.home .hero-actions .elementor-widget-button.btn.dark .elementor-button:hover .elementor-button-icon,
.home .hero-actions .elementor-widget-button.btn.dark .elementor-button:hover .elementor-button-icon i,
.home .hero-actions .elementor-widget-button.btn.dark .elementor-button:hover .elementor-button-icon svg{
  color:#1e1d1a!important;
  fill:#1e1d1a!important;
}

/* Keep yellow-filled UI consistent with the slightly deeper accent. */
.btn:not(.dark),
.checks li:before,
.feature-icon,
.process-card span,
.step-list span,
.tile-choice-arrow,
.tile-bento-link b,
.skh-map-pin,
.pagination .current,
.post-cat,
.elementor-widget-button.btn .elementor-button,
.elementor-widget-button.header-cta .elementor-button,
.elementor-widget-button.skh-map-directions .elementor-button,
.skh-elementor-form .elementor-button{
  background-color:#f0dc00!important;
  border-color:#f0dc00!important;
  color:#1e1d1a!important;
}
.btn:not(.dark):hover,
.elementor-widget-button.btn:not(.dark) .elementor-button:hover,
.elementor-widget-button.header-cta .elementor-button:hover,
.elementor-widget-button.skh-map-directions .elementor-button:hover,
.skh-elementor-form .elementor-button:hover{
  background-color:#d8c600!important;
  border-color:#d8c600!important;
}

/* ==========================================================
   v1.0.6 — restore light homepage service panels and turn the
   read-more treatment into one clean black CTA with one arrow.
   ========================================================== */
.home .services-grid-six .service-card{
  background:transparent!important;
  box-shadow:none!important;
}
.home .services-grid-six .card-copy{
  background:var(--cream)!important;
  color:var(--text)!important;
  border-top:0!important;
  box-shadow:none!important;
}
.home .services-grid-six .service-card h3,
.home .services-grid-six .service-card .elementor-heading-title{
  color:var(--text)!important;
  text-shadow:none!important;
}
.home .services-grid-six .service-card p,
.home .services-grid-six .service-card .elementor-widget-text-editor,
.home .services-grid-six .service-card .elementor-widget-text-editor p{
  color:var(--muted)!important;
  text-shadow:none!important;
}

/* The Elementor text widget and the inner span both carry service-link.
   Suppress the wrapper pseudo element so Elementor cannot render two arrows. */
.home .services-grid-six .elementor-widget-text-editor.service-link{
  display:block!important;
  margin-top:auto!important;
  color:inherit!important;
  text-decoration:none!important;
}
.home .services-grid-six .elementor-widget-text-editor.service-link::after{
  content:none!important;
  display:none!important;
}
.home .services-grid-six .elementor-widget-text-editor.service-link .elementor-widget-container{
  display:flex!important;
  align-items:flex-start!important;
}
.home .services-grid-six span.service-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  width:auto!important;
  margin-top:0!important;
  padding:9px 13px!important;
  background:#1e1d1a!important;
  color:#f0dc00!important;
  border-radius:2px!important;
  text-decoration:none!important;
  text-shadow:none!important;
  line-height:1!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.055em!important;
  transition:background-color .2s ease,color .2s ease,transform .2s ease!important;
}
.home .services-grid-six span.service-link::after{
  content:'→'!important;
  display:inline-block!important;
  color:#f0dc00!important;
  text-decoration:none!important;
  line-height:1!important;
}
.home .services-grid-six .service-card:hover span.service-link{
  background:#1e1d1a!important;
  color:#f0dc00!important;
  transform:translateY(-1px)!important;
}
.home .services-grid-six .service-card:hover span.service-link::after{
  transform:translateX(2px)!important;
}


/* ==========================================================
   v1.0.7 — homepage service CTAs: clean black links with real
   destinations. No yellow fill/background and only one arrow.
   ========================================================== */
.home .services-grid-six .elementor-widget-text-editor.service-link{
  display:block!important;
  margin-top:auto!important;
  color:inherit!important;
  text-decoration:none!important;
}
.home .services-grid-six .elementor-widget-text-editor.service-link::after{
  content:none!important;
  display:none!important;
}
.home .services-grid-six .elementor-widget-text-editor.service-link .elementor-widget-container{
  display:flex!important;
  align-items:flex-start!important;
}
.home .services-grid-six .service-link a.service-link,
.home .services-grid-six a.service-link,
.home .services-grid-six span.service-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  width:auto!important;
  margin-top:0!important;
  padding:0 0 3px!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid #1e1d1a!important;
  border-radius:0!important;
  color:#1e1d1a!important;
  text-decoration:none!important;
  text-shadow:none!important;
  line-height:1.05!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.055em!important;
  transition:color .2s ease,border-color .2s ease!important;
}
.home .services-grid-six .service-link a.service-link::after,
.home .services-grid-six a.service-link::after,
.home .services-grid-six span.service-link::after{
  content:'→'!important;
  display:inline-block!important;
  color:#1e1d1a!important;
  text-decoration:none!important;
  line-height:1!important;
  transition:transform .2s ease!important;
}
.home .services-grid-six .service-card:hover .service-link a.service-link,
.home .services-grid-six .service-card:hover a.service-link,
.home .services-grid-six .service-card:hover span.service-link{
  background:transparent!important;
  color:#1e1d1a!important;
  border-bottom-color:#1e1d1a!important;
  transform:none!important;
}
.home .services-grid-six .service-card:hover .service-link a.service-link::after,
.home .services-grid-six .service-card:hover a.service-link::after,
.home .services-grid-six .service-card:hover span.service-link::after{
  color:#1e1d1a!important;
  transform:translateX(3px)!important;
}


/* ==========================================================
   v1.0.8 — centered/inset homepage card copy + Norwegian
   article-grid CTA.
   ========================================================== */
.home .services-grid-six .service-card .card-copy{
  width:calc(100% - 28px)!important;
  max-width:calc(100% - 28px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:26px!important;
  padding-right:26px!important;
}
@media(max-width:720px){
  .home .services-grid-six .service-card .card-copy{
    width:calc(100% - 18px)!important;
    max-width:calc(100% - 18px)!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }
}

/* Elementor Pro Posts / Archive Posts read-more button. */
.skh-elementor-posts .elementor-post__read-more,
.skh-elementor-posts a.elementor-post__read-more,
.article-grid .article-card .more{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  margin-top:10px!important;
  padding:10px 14px!important;
  background:#1e1d1a!important;
  border:1px solid #1e1d1a!important;
  border-radius:2px!important;
  color:#f0dc00!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.055em!important;
  transition:background-color .2s ease,color .2s ease,transform .2s ease!important;
}
.skh-elementor-posts .elementor-post__read-more:hover,
.skh-elementor-posts a.elementor-post__read-more:hover,
.article-grid .article-card .more:hover{
  background:#1e1d1a!important;
  border-color:#1e1d1a!important;
  color:#f0dc00!important;
  transform:translateY(-1px)!important;
}


/* ==========================================================
   v1.0.9 — final homepage/card/button sizing refinements.
   ========================================================== */
/* Homepage service copy: exactly 10px inset on each side of the image. */
.home .services-grid-six .service-card .card-copy{
  width:calc(100% - 20px)!important;
  max-width:calc(100% - 20px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
@media(max-width:720px){
  .home .services-grid-six .service-card .card-copy{
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
  }
}

/* Standard Elementor buttons should size to their label, never stretch across
   a card/hero merely because the flex/grid parent is full width. */
.elementor-widget-button .elementor-button{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
}
.elementor-widget-button .elementor-button-wrapper{
  width:auto!important;
}
.home .hero-actions{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  width:auto!important;
  max-width:none!important;
}
.home .hero-actions>.elementor-widget-button{
  width:auto!important;
  max-width:max-content!important;
  flex:0 0 auto!important;
}
.home .hero-actions>.elementor-widget-button .elementor-button{
  width:auto!important;
  min-width:0!important;
}
@media(max-width:560px){
  .home .hero-actions{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    width:auto!important;
    max-width:100%!important;
  }
  .home .hero-actions>.elementor-widget-button,
  .home .hero-actions>.elementor-widget-button .elementor-button{
    width:auto!important;
    max-width:100%!important;
  }
}

/* Article read-more is a compact black CTA, never a full-width bar. */
.skh-elementor-posts .elementor-post__read-more,
.skh-elementor-posts a.elementor-post__read-more,
.article-grid .article-card .more{
  display:inline-flex!important;
  width:fit-content!important;
  max-width:max-content!important;
  min-width:0!important;
  align-self:flex-start!important;
  justify-self:start!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.skh-elementor-posts .elementor-post__text{
  align-items:flex-start!important;
}


/* ==========================================================
   v1.0.10 — hard fixes for Elementor Pro cards/buttons and
   cleaner homepage certification badges.
   ========================================================== */

/* The class `btn` is attached to the Elementor widget wrapper as well as the
   inner <a>. Never let the wrapper itself become a full-width yellow bar. */
.elementor-widget-button.btn,
.elementor-widget-button.header-cta,
.elementor-widget-button.header-contact,
.elementor-widget-button.skh-map-directions,
.cta-section .elementor-widget-button,
.content-split .elementor-widget-button,
.info-card .elementor-widget-button,
.aside-card .elementor-widget-button{
  width:fit-content!important;
  max-width:100%!important;
  flex:0 0 auto!important;
  align-self:flex-start!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  margin-left:0!important;
  margin-right:0!important;
  box-shadow:none!important;
}
.elementor-widget-button .elementor-button-wrapper,
.elementor-widget-button.elementor-align-justify .elementor-button-wrapper{
  display:inline-flex!important;
  width:fit-content!important;
  max-width:100%!important;
}
.elementor-widget-button .elementor-button,
.elementor-widget-button.elementor-align-justify .elementor-button{
  display:inline-flex!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  flex:0 0 auto!important;
}
/* Centered CTA blocks keep compact buttons centered rather than stretched. */
.cta-section .elementor-widget-button,
.cta-section .wrap>.elementor-widget-button{
  align-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
/* Hero action widgets stay compact and inline. */
.home .hero-actions>.elementor-widget-button{
  align-self:center!important;
  width:fit-content!important;
  max-width:100%!important;
}

/* Elementor Pro article CTA: force compact black/yellow treatment even for
   skins that output their own button alignment classes. */
.skh-elementor-posts .elementor-post__read-more,
.skh-elementor-posts a.elementor-post__read-more,
.elementor-posts-container .elementor-post__read-more{
  display:inline-flex!important;
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  padding:11px 15px!important;
  background:#1e1d1a!important;
  border:1px solid #1e1d1a!important;
  color:#f0dc00!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-transform:uppercase!important;
  font-weight:900!important;
  letter-spacing:.045em!important;
  text-decoration:none!important;
}
.skh-elementor-posts .elementor-post__read-more:hover,
.elementor-posts-container .elementor-post__read-more:hover{
  background:#1e1d1a!important;
  border-color:#1e1d1a!important;
  color:#f0dc00!important;
}

/* Homepage approval list: compact 2x2 certification badges instead of loose
   yellow circles and narrow wrapping text. */
.home .checks{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px 12px!important;
  margin-top:26px!important;
  padding-top:20px!important;
}
.home .checks li{
  min-width:0!important;
  margin:0!important;
  padding:11px 12px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  background:#f7f3ed!important;
  border:1px solid #e6ded5!important;
  color:#39342f!important;
  font-size:12.5px!important;
  line-height:1.35!important;
}
.home .checks li:before{
  content:'✓'!important;
  width:27px!important;
  height:27px!important;
  flex:0 0 27px!important;
  margin:0!important;
  border-radius:3px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#1e1d1a!important;
  color:#f0dc00!important;
  font-size:14px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
@media(max-width:720px){
  .home .checks{grid-template-columns:1fr!important;gap:8px!important}
  .home .checks li{font-size:13px!important;padding:11px 12px!important}
}


/* ==========================================================
   v1.0.11 — homepage About column + heading rhythm fix.
   The `checks` class exists both on the Elementor Text Editor
   wrapper and on its inner UL. The wrapper must NOT become a
   two-column grid; only the list itself should be the grid.
   ========================================================== */

/* Keep the left About column structurally full width inside its grid cell. */
.home .section.about .about-grid > div:first-child{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  --width:100%!important;
}

/* Elementor's generated heading CSS can otherwise override the theme's
   line-height. Keep this large heading strong but much tighter. */
.home .section.about .about-grid > div:first-child > .elementor-widget-heading{
  margin:4px 0 17px!important;
}
.home .section.about .about-grid > div:first-child > .elementor-widget-heading .elementor-heading-title,
.home .section.about .about-grid > div:first-child > h2,
.home .section.about .about-grid > div:first-child h2.elementor-heading-title{
  font-size:clamp(46px,3.6vw,54px)!important;
  line-height:1.01!important;
  letter-spacing:-.04em!important;
  margin:0!important;
}

/* Do not turn the Elementor widget wrapper into a 2-column grid. */
.home .elementor-widget-text-editor.checks{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  flex:0 0 100%!important;
  align-self:stretch!important;
  --width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.home .elementor-widget-text-editor.checks > .elementor-widget-container{
  display:block!important;
  width:100%!important;
  max-width:none!important;
}

/* The actual UL is the certification grid. */
.home .elementor-widget-text-editor.checks ul.checks{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:100%!important;
  max-width:none!important;
  margin:24px 0 0!important;
  padding:20px 0 0!important;
  border-top:1px solid #e7ddd4!important;
  gap:10px 12px!important;
  list-style:none!important;
}
.home .elementor-widget-text-editor.checks ul.checks li{
  width:100%!important;
  min-width:0!important;
  min-height:66px!important;
  margin:0!important;
  padding:12px 14px!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  background:#f8f5f0!important;
  border:1px solid #e5ddd4!important;
  color:#39342f!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.home .elementor-widget-text-editor.checks ul.checks li:before{
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
  border-radius:4px!important;
  background:#1e1d1a!important;
  color:#f0dc00!important;
  box-shadow:none!important;
}

@media(max-width:860px){
  .home .section.about .about-grid > div:first-child > .elementor-widget-heading .elementor-heading-title,
  .home .section.about .about-grid > div:first-child > h2,
  .home .section.about .about-grid > div:first-child h2.elementor-heading-title{
    font-size:clamp(34px,7.4vw,43px)!important;
    line-height:1.01!important;
  }
  .home .elementor-widget-text-editor.checks ul.checks{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .home .elementor-widget-text-editor.checks ul.checks li{
    min-height:0!important;
    font-size:13px!important;
  }
}
@media(max-width:560px){
  .home .section.about .about-grid > div:first-child > .elementor-widget-heading .elementor-heading-title,
  .home .section.about .about-grid > div:first-child > h2,
  .home .section.about .about-grid > div:first-child h2.elementor-heading-title{
    font-size:clamp(32px,9vw,40px)!important;
    line-height:.99!important;
  }
}

/* ==========================================================
   v1.0.12 — homepage service card copy inset.
   Keep the cream copy panel exactly 20px inside the image on
   both left and right edges, on desktop and mobile.
   ========================================================== */
.home .services-grid-six .service-card .card-copy{
  width:calc(100% - 40px)!important;
  max-width:calc(100% - 40px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
@media(max-width:720px){
  .home .services-grid-six .service-card .card-copy{
    width:calc(100% - 40px)!important;
    max-width:calc(100% - 40px)!important;
  }
}

/* ==========================================================
   v1.0.13 — Contact page polish + compact map overlay +
   reliably centered compact CTA button on homepage.
   ========================================================== */

/* Contact layout: keep both panels balanced and readable. */
.elementor-page .contact-layout{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:28px!important;
  align-items:stretch!important;
}
.elementor-page .contact-info-block,
.elementor-page .form-shell{
  min-width:0!important;
  border-radius:2px!important;
}
.elementor-page .contact-info-block{
  padding:42px 40px 40px!important;
}
.elementor-page .contact-info-block h2{
  font-size:clamp(36px,3.2vw,48px)!important;
  line-height:1.08!important;
  margin:8px 0 18px!important;
}
.elementor-page .contact-info-block > .elementor-widget-text-editor p{
  margin:0!important;
  line-height:1.7!important;
}

/* The four contact details are Elementor elements, not raw <a>/<div> children.
   Give each one a clean card and force label/value onto separate lines. */
.elementor-page .contact-detail-cards{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:28px!important;
}
.elementor-page .contact-detail-cards > .elementor-element{
  min-width:0!important;
  min-height:118px!important;
  padding:20px 21px!important;
  margin:0!important;
  background:rgba(255,255,255,.065)!important;
  border:1px solid rgba(255,255,255,.11)!important;
  color:#fff!important;
  box-shadow:none!important;
  --width:100%!important;
  width:100%!important;
}
.elementor-page .contact-detail-cards > .e-con{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:0!important;
}
.elementor-page .contact-detail-cards > .elementor-widget-text-editor .elementor-widget-container,
.elementor-page .contact-detail-cards > .elementor-widget-text-editor .elementor-widget-container > a{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  width:100%!important;
  gap:0!important;
}
.elementor-page .contact-detail-cards small{
  display:block!important;
  width:100%!important;
  margin:0 0 10px!important;
  color:var(--orange)!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
.elementor-page .contact-detail-cards strong{
  display:block!important;
  width:100%!important;
  margin:0!important;
  color:#fff!important;
  font-size:15px!important;
  line-height:1.55!important;
  font-weight:750!important;
  overflow-wrap:anywhere!important;
}
.elementor-page .contact-detail-cards a:hover{color:#fff!important}

/* Elementor Pro Form: the fields wrapper is the actual layout element. */
.elementor-page .form-shell{
  padding:42px 42px 40px!important;
  border:1px solid #e3dbd3!important;
  border-top:4px solid var(--orange)!important;
  box-shadow:0 18px 48px rgba(28,23,20,.075)!important;
  background:#fff!important;
}
.elementor-page .form-shell h2{
  font-size:clamp(36px,3.1vw,46px)!important;
  line-height:1.06!important;
  margin:7px 0 8px!important;
}
.elementor-page .skh-elementor-form .elementor-form{
  display:block!important;
  margin-top:20px!important;
}
.elementor-page .skh-elementor-form .elementor-form-fields-wrapper{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:15px 14px!important;
  width:100%!important;
}
.elementor-page .skh-elementor-form .elementor-field-group{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.elementor-page .skh-elementor-form .elementor-field-group.elementor-col-100,
.elementor-page .skh-elementor-form .elementor-field-type-textarea,
.elementor-page .skh-elementor-form .elementor-field-type-acceptance,
.elementor-page .skh-elementor-form .elementor-field-type-submit,
.elementor-page .skh-elementor-form .elementor-field-type-honeypot{
  grid-column:1/-1!important;
}
.elementor-page .skh-elementor-form .elementor-field-group.elementor-col-50{
  grid-column:auto!important;
}
.elementor-page .skh-elementor-form .elementor-field-label{
  margin:0 0 7px!important;
  color:#504a45!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:.06em!important;
}
.elementor-page .skh-elementor-form input.elementor-field,
.elementor-page .skh-elementor-form textarea.elementor-field,
.elementor-page .skh-elementor-form select.elementor-field{
  min-height:54px!important;
  padding:14px 15px!important;
  border:1px solid #d9d0c8!important;
  border-radius:2px!important;
  background:#fbfaf8!important;
  color:#342f2b!important;
  box-shadow:none!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.elementor-page .skh-elementor-form textarea.elementor-field{
  min-height:156px!important;
  line-height:1.55!important;
}
.elementor-page .skh-elementor-form input.elementor-field:focus,
.elementor-page .skh-elementor-form textarea.elementor-field:focus,
.elementor-page .skh-elementor-form select.elementor-field:focus{
  outline:0!important;
  border-color:#1e1d1a!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(240,220,0,.22)!important;
}
.elementor-page .skh-elementor-form .elementor-field-type-acceptance .elementor-field-option{
  gap:10px!important;
  font-size:12.5px!important;
  line-height:1.45!important;
}
.elementor-page .skh-elementor-form .elementor-field-type-submit{
  display:flex!important;
  justify-content:flex-start!important;
  margin-top:2px!important;
}
.elementor-page .skh-elementor-form .elementor-field-type-submit .elementor-button{
  width:auto!important;
  min-width:0!important;
  min-height:48px!important;
  padding:14px 20px!important;
  background:var(--orange)!important;
  color:#1e1d1a!important;
  border:0!important;
  border-radius:2px!important;
  box-shadow:none!important;
}

/* Map: keep the map full width, but the address overlay compact instead of
   inheriting Elementor's 100% container width. */
.elementor-page .skh-contact-map-section{
  padding-top:70px!important;
  background:#f3eee8!important;
}
.elementor-page .skh-contact-map-head{
  padding-bottom:28px!important;
}
.elementor-page .skh-contact-map-frame{
  height:500px!important;
  min-height:0!important;
  position:relative!important;
  overflow:hidden!important;
}
.elementor-page .skh-contact-map-frame > .skh-google-map,
.elementor-page .skh-contact-map-frame > .elementor-widget-google_maps{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  --width:100%!important;
  margin:0!important;
}
.elementor-page .skh-contact-map-frame .elementor-widget-google_maps .elementor-widget-container,
.elementor-page .skh-contact-map-frame .elementor-custom-embed,
.elementor-page .skh-contact-map-frame iframe{
  width:100%!important;
  height:100%!important;
}
.elementor-page .skh-contact-map-card{
  position:absolute!important;
  left:max(24px,calc((100% - var(--max))/2))!important;
  right:auto!important;
  bottom:28px!important;
  z-index:5!important;
  width:auto!important;
  --width:auto!important;
  max-width:min(430px,calc(100% - 48px))!important;
  min-width:330px!important;
  min-height:0!important;
  height:auto!important;
  padding:17px 19px!important;
  margin:0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:15px!important;
  background:rgba(23,21,19,.94)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 18px 48px rgba(18,15,13,.22)!important;
  backdrop-filter:blur(8px)!important;
}
.elementor-page .skh-contact-map-card > .elementor-element{
  width:auto!important;
  --width:auto!important;
  flex:0 0 auto!important;
  margin:0!important;
}
.elementor-page .skh-contact-map-card > .e-con{
  min-width:0!important;
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:0!important;
}
.elementor-page .skh-contact-map-card .skh-map-pin{
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  margin:0!important;
  border-radius:50%!important;
}
.elementor-page .skh-contact-map-card small{
  display:block!important;
  margin:0 0 5px!important;
  color:var(--orange)!important;
}
.elementor-page .skh-contact-map-card strong{
  display:block!important;
  font-size:15px!important;
  line-height:1.4!important;
}

/* Homepage bottom CTA: Elementor can add a 100% width via generated post CSS.
   Beat it explicitly and keep the yellow button centered + compact. */
body.home.elementor-page .cta-section > .wrap{
  align-items:center!important;
}
body.home.elementor-page .cta-section .elementor-widget-button.btn,
body.home.elementor-page .cta-section .wrap > .elementor-widget-button.btn{
  display:inline-flex!important;
  width:auto!important;
  --width:auto!important;
  max-width:max-content!important;
  flex:0 0 auto!important;
  align-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
  background:transparent!important;
}
body.home.elementor-page .cta-section .elementor-widget-button.btn .elementor-button-wrapper{
  display:inline-flex!important;
  width:auto!important;
  max-width:max-content!important;
}
body.home.elementor-page .cta-section .elementor-widget-button.btn .elementor-button{
  display:inline-flex!important;
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  padding:15px 23px!important;
  justify-content:center!important;
  white-space:nowrap!important;
}

@media(max-width:1050px){
  .elementor-page .contact-layout{
    grid-template-columns:1fr!important;
    max-width:820px!important;
    gap:22px!important;
  }
  .elementor-page .skh-contact-map-frame{height:450px!important}
}
@media(max-width:720px){
  .elementor-page .contact-info-block{padding:30px 23px!important}
  .elementor-page .form-shell{padding:30px 22px 28px!important}
  .elementor-page .contact-detail-cards{grid-template-columns:1fr!important;gap:8px!important}
  .elementor-page .contact-detail-cards > .elementor-element{min-height:0!important;padding:17px 18px!important}
  .elementor-page .skh-elementor-form .elementor-form-fields-wrapper{grid-template-columns:1fr!important;gap:13px!important}
  .elementor-page .skh-elementor-form .elementor-field-group.elementor-col-50{grid-column:1/-1!important}
  .elementor-page .skh-contact-map-section{padding-top:54px!important}
  .elementor-page .skh-contact-map-head{padding-bottom:24px!important}
  .elementor-page .skh-contact-map-frame{height:390px!important}
  .elementor-page .skh-contact-map-card{
    left:15px!important;
    right:15px!important;
    bottom:15px!important;
    width:auto!important;
    --width:auto!important;
    max-width:none!important;
    min-width:0!important;
    padding:14px 15px!important;
    gap:12px!important;
  }
  body.home.elementor-page .cta-section .elementor-widget-button.btn .elementor-button{
    padding:14px 20px!important;
  }
}


/* ==========================================================
   v1.0.14 — compact Elementor footer navigation + true center
   alignment for the dark homepage "Gratis befaring" CTA.
   ========================================================== */

/* Footer links: the converted Theme Builder footer contains <br> elements
   inside Text Editor widgets. Convert those blocks into a real compact
   vertical link stack so <br> + block anchors cannot double the spacing. */
.site-footer .footer-grid .elementor-widget-text-editor p{
  margin:0!important;
}
.site-footer .footer-grid > .e-con:nth-child(2) .elementor-widget-text-editor p,
.site-footer .footer-grid > .e-con:nth-child(3) .elementor-widget-text-editor p{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:11px!important;
  line-height:1.35!important;
}
.site-footer .footer-grid > .e-con:nth-child(2) .elementor-widget-text-editor p br,
.site-footer .footer-grid > .e-con:nth-child(3) .elementor-widget-text-editor p br{
  display:none!important;
}
.site-footer .footer-grid > .e-con:nth-child(2) .elementor-widget-text-editor a,
.site-footer .footer-grid > .e-con:nth-child(3) .elementor-widget-text-editor a{
  display:block!important;
  margin:0!important;
  padding:0!important;
  line-height:1.35!important;
}
.site-footer .footer-grid h4,
.site-footer .footer-grid .elementor-heading-title{
  margin-bottom:15px!important;
}

/* Contact footer stays readable but slightly tighter vertically. */
.site-footer .footer-grid > .e-con:nth-child(4) .elementor-widget-text-editor p{
  margin:0 0 14px!important;
  line-height:1.5!important;
}
.site-footer .footer-grid > .e-con:nth-child(4) .elementor-widget-text-editor p:last-child{
  margin-bottom:0!important;
}
.site-footer .footer-grid > .e-con:nth-child(4) .elementor-widget-text-editor a{
  margin:3px 0 0!important;
  line-height:1.45!important;
}

/* Dark homepage availability block: Elementor's container defaults stretch
   the button widget across the row. Center the actual widget, wrapper and
   anchor instead of relying only on text-align. */
body.home.elementor-page .dark-band .phone-box{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body.home.elementor-page .dark-band .phone-box > .elementor-widget-button,
body.home.elementor-page .dark-band .phone-box > .elementor-widget-button.btn{
  width:auto!important;
  --width:auto!important;
  max-width:max-content!important;
  flex:0 0 auto!important;
  align-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
  background:transparent!important;
}
body.home.elementor-page .dark-band .phone-box > .elementor-widget-button .elementor-button-wrapper{
  display:flex!important;
  justify-content:center!important;
  width:auto!important;
  max-width:max-content!important;
  margin:0 auto!important;
}
body.home.elementor-page .dark-band .phone-box > .elementor-widget-button .elementor-button{
  display:inline-flex!important;
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  justify-content:center!important;
  white-space:nowrap!important;
}

@media(max-width:720px){
  .site-footer .footer-grid > .e-con:nth-child(2) .elementor-widget-text-editor p,
  .site-footer .footer-grid > .e-con:nth-child(3) .elementor-widget-text-editor p{
    gap:9px!important;
  }
}


/* ==========================================================
   v1.0.15 — Flislegger bento interaction hardening.
   Elementor can retain the Container Link value in the editor
   without producing a dependable clickable layer on every build.
   Keep the approved design and make the cards clearly interactive.
   ========================================================== */
.elementor-page .tile-bento-card{
  cursor:pointer!important;
}
.elementor-page .tile-bento-card .tile-bento-copy,
.elementor-page .tile-bento-card .tile-bento-link,
.elementor-page .tile-bento-card .tile-bento-link *{
  pointer-events:auto!important;
}
.elementor-page .tile-bento-card .tile-bento-link{
  position:relative!important;
  z-index:20!important;
}
.elementor-page .tile-bento-card:focus-visible{
  outline:3px solid var(--skh-yellow,#f0dc00)!important;
  outline-offset:4px!important;
}


/* ==========================================================
   v1.0.16 — Header CTA hierarchy.
   Keep "Gratis befaring" yellow; make only "Kontakt oss"
   black with the approved logo-yellow text on all breakpoints.
   ========================================================== */
.elementor-widget-button.header-contact .elementor-button,
.header-contact{
  background:#1e1d1a!important;
  color:var(--orange)!important;
  border-color:#1e1d1a!important;
}
.elementor-widget-button.header-contact .elementor-button .elementor-button-text,
.elementor-widget-button.header-contact .elementor-button .elementor-button-icon,
.elementor-widget-button.header-contact .elementor-button svg,
.header-contact *{
  color:var(--orange)!important;
  fill:currentColor!important;
}
.elementor-widget-button.header-contact .elementor-button:hover,
.header-contact:hover{
  background:#1e1d1a!important;
  color:var(--orange)!important;
  border-color:#1e1d1a!important;
}

/* ==========================================================
   v1.0.17 — Header contact hover contrast + tighter home hero title.
   Keep the contact CTA dark on hover so yellow text never sits
   on a yellow background. Tighten the two-line guarantee headline.
   ========================================================== */
body .skh-elementor-header .header-contact.elementor-widget-button,
body .skh-elementor-header .header-contact.elementor-widget-button:hover,
body .site-header .header-contact.elementor-widget-button,
body .site-header .header-contact.elementor-widget-button:hover{
  background:transparent!important;
}
body .skh-elementor-header .header-contact.elementor-widget-button .elementor-button,
body .site-header .header-contact.elementor-widget-button .elementor-button{
  background:#1e1d1a!important;
  color:var(--orange)!important;
  border-color:#1e1d1a!important;
}
body .skh-elementor-header .header-contact.elementor-widget-button:hover .elementor-button,
body .skh-elementor-header .header-contact.elementor-widget-button .elementor-button:hover,
body .skh-elementor-header .header-contact.elementor-widget-button .elementor-button:focus,
body .site-header .header-contact.elementor-widget-button:hover .elementor-button,
body .site-header .header-contact.elementor-widget-button .elementor-button:hover,
body .site-header .header-contact.elementor-widget-button .elementor-button:focus{
  background:#25221f!important;
  color:var(--orange)!important;
  border-color:#25221f!important;
  box-shadow:0 7px 18px rgba(0,0,0,.14)!important;
}
body .skh-elementor-header .header-contact.elementor-widget-button:hover .elementor-button-text,
body .skh-elementor-header .header-contact.elementor-widget-button .elementor-button:hover .elementor-button-text,
body .skh-elementor-header .header-contact.elementor-widget-button .elementor-button:focus .elementor-button-text,
body .site-header .header-contact.elementor-widget-button:hover .elementor-button-text,
body .site-header .header-contact.elementor-widget-button .elementor-button:hover .elementor-button-text,
body .site-header .header-contact.elementor-widget-button .elementor-button:focus .elementor-button-text{
  color:var(--orange)!important;
}

body.home .hero .hero-copy h1,
body.home.elementor-page .hero .hero-copy h1{
  line-height:.94!important;
}
@media(max-width:720px){
  body.home .hero .hero-copy h1,
  body.home.elementor-page .hero .hero-copy h1{
    line-height:.96!important;
  }
}


/* ==========================================================
   v1.0.24 — remove stray Elementor default blue typography.
   ----------------------------------------------------------
   Elementor's default kit can still inject #6EC1E4-style global colours into
   individual Heading/Text widgets on the public site.  Make those widgets
   inherit the approved section colour instead. Dark/yellow contexts are
   explicitly restored below, so this does not flatten the intentional palette.
   ========================================================== */
body[class*="elementor-kit-"]{
  --e-global-color-primary:#1e1d1a!important;
  --e-global-color-secondary:#1e1d1a!important;
  --e-global-color-text:#1e1d1a!important;
  --e-global-color-accent:var(--orange)!important;
}
body.elementor-page .elementor-widget-heading,
body.elementor-page .elementor-widget-heading .elementor-widget-container,
body.elementor-page .elementor-widget-heading .elementor-heading-title,
body.elementor-page .elementor-widget-text-editor,
body.elementor-page .elementor-widget-text-editor .elementor-widget-container,
body.single-post .elementor-widget-heading,
body.single-post .elementor-widget-heading .elementor-widget-container,
body.single-post .elementor-widget-heading .elementor-heading-title,
body.single-post .elementor-widget-text-editor,
body.single-post .elementor-widget-text-editor .elementor-widget-container{
  color:inherit!important;
}
body.elementor-page .elementor-widget-text-editor p,
body.elementor-page .elementor-widget-text-editor li,
body.elementor-page .elementor-widget-text-editor span:not(.elementor-button-text),
body.single-post .elementor-widget-text-editor p,
body.single-post .elementor-widget-text-editor li,
body.single-post .elementor-widget-text-editor span:not(.elementor-button-text){
  color:inherit;
}

/* Approved dark type on light surfaces. */
body.elementor-page .section:not(.dark-band):not(.process-showcase),
body.elementor-page .soft-section,
body.elementor-page .about,
body.elementor-page .content-split,
body.elementor-page .prose,
body.elementor-page .info-card,
body.elementor-page .article-card,
body.elementor-page .article-masthead,
body.elementor-page .article-content,
body.elementor-page .article-aside,
body.elementor-page .contact-panel,
body.elementor-page .contact-info-block,
body.elementor-page .cta-section{
  color:var(--ink)!important;
}

/* Intentional brand-colour contexts always win after the reset above. */
body.elementor-page .eyebrow,
body.elementor-page .eyebrow .elementor-widget-container,
body.elementor-page .eyebrow .elementor-heading-title,
body.elementor-page .eyebrow .elementor-widget-text-editor,
body.elementor-page .tile-bento-kicker,
body.elementor-page .tile-choice-kicker{
  color:var(--orange)!important;
}
body.elementor-page .hero,
body.elementor-page .page-hero,
body.elementor-page .article-hero,
body.elementor-page .dark-band,
body.elementor-page .process-showcase,
body.elementor-page .site-footer,
body.elementor-page .mosaic-note,
body.elementor-page .tile-bento-card,
body.elementor-page .tile-choice-card{
  color:#fff!important;
}
body.elementor-page .hero .elementor-heading-title,
body.elementor-page .page-hero .elementor-heading-title,
body.elementor-page .article-hero .elementor-heading-title,
body.elementor-page .dark-band .elementor-heading-title,
body.elementor-page .process-showcase .elementor-heading-title,
body.elementor-page .site-footer .elementor-heading-title,
body.elementor-page .mosaic-note .elementor-heading-title,
body.elementor-page .tile-bento-card .elementor-heading-title,
body.elementor-page .tile-choice-card .elementor-heading-title{
  color:#fff!important;
}
/* Eyebrows inside dark sections remain yellow. */
body.elementor-page .hero .eyebrow,
body.elementor-page .page-hero .eyebrow,
body.elementor-page .dark-band .eyebrow,
body.elementor-page .process-showcase .eyebrow,
body.elementor-page .site-footer .eyebrow{
  color:var(--orange)!important;
}


/* ==========================================================
   v1.0.26 — complete mobile layout hardening.
   ----------------------------------------------------------
   Mobile must be a deliberate layout, not a squeezed desktop header.
   These rules are intentionally last in the cascade so old theme-era
   responsive declarations cannot re-expand CTAs, collapse the logo or
   constrain Elementor's dropdown menu to the 42px nav widget width.
   ========================================================== */

/* Header width is also a container-query source. This makes Elementor's
   responsive preview behave correctly even when its outer editor viewport
   is wider than the visible mobile canvas. */
.skh-elementor-header{
  container-type:inline-size;
  container-name:skhHeader;
}

/* Public mobile/tablet header. */
@media(max-width:1050px){
  html,body{overflow-x:clip!important}
  .topbar{display:none!important}
  .skh-elementor-header{
    --skh-mobile-header-h:64px;
    background:#fff!important;
    border-bottom:1px solid rgba(30,29,26,.10)!important;
  }
  .skh-elementor-header .header-inner{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:var(--skh-mobile-header-h)!important;
    min-height:var(--skh-mobile-header-h)!important;
    padding:0 14px!important;
    margin:0!important;
    gap:8px!important;
  }

  /* Mobile logo must always be present and may never be squeezed to zero. */
  .skh-elementor-header .skh-elementor-logo,
  .skh-elementor-header .logo.skh-elementor-logo{
    order:1!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:136px!important;
    min-width:136px!important;
    max-width:136px!important;
    flex:0 0 136px!important;
    margin:0!important;
    overflow:visible!important;
  }
  .skh-elementor-header .skh-elementor-logo>.elementor-widget-container{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .skh-elementor-header .skh-elementor-logo a{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    max-width:100%!important;
  }
  .skh-elementor-header .skh-elementor-logo img{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:136px!important;
    max-width:136px!important;
    height:auto!important;
    max-height:44px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  /* Only the compact Contact button remains in the mobile header. */
  .skh-elementor-header .skh-header-buttons{
    order:2!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:0 0 auto!important;
    margin:0 0 0 auto!important;
    gap:0!important;
  }
  body .skh-elementor-header .skh-header-buttons>.header-cta,
  body .skh-elementor-header .header-actions>.header-cta,
  body .skh-elementor-header .elementor-widget-button.header-cta{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    flex:0 0 0!important;
  }
  .skh-elementor-header .skh-header-buttons>.header-contact{
    display:block!important;
    visibility:visible!important;
    width:auto!important;
    min-width:0!important;
    flex:0 0 auto!important;
    margin:0!important;
  }
  body .skh-elementor-header .header-contact.elementor-widget-button .elementor-button{
    min-height:36px!important;
    height:36px!important;
    width:auto!important;
    padding:8px 10px!important;
    border-radius:2px!important;
    font-size:9.5px!important;
    line-height:1!important;
    letter-spacing:.045em!important;
    white-space:nowrap!important;
    box-shadow:none!important;
  }

  /* Hamburger gets its own fixed slot; the widget itself must not become the
     positioning context for the dropdown. */
  .skh-elementor-header .skh-elementor-nav{
    order:3!important;
    display:block!important;
    position:static!important;
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    flex:0 0 42px!important;
    margin:0!important;
    padding:0!important;
  }
  .skh-elementor-header .skh-elementor-nav>.elementor-widget-container{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    position:static!important;
    overflow:visible!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--main{display:none!important}
  .skh-elementor-header .skh-elementor-nav .elementor-menu-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#1e1d1a!important;
    font-size:24px!important;
    line-height:1!important;
    z-index:100002!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-menu-toggle svg{
    width:24px!important;
    height:24px!important;
    fill:currentColor!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-menu-toggle.elementor-active{
    color:#1e1d1a!important;
    background:#f7f4f0!important;
  }

  /* Full-width, usable mobile navigation instead of a narrow 42px strip. */
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown{
    position:fixed!important;
    top:var(--skh-mobile-menu-top,var(--skh-mobile-header-h))!important;
    left:0!important;
    right:0!important;
    bottom:auto!important;
    width:100vw!important;
    min-width:100vw!important;
    max-width:100vw!important;
    max-height:calc(100dvh - var(--skh-mobile-menu-top,var(--skh-mobile-header-h)))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    margin:0!important;
    padding:10px 18px 28px!important;
    background:#fff!important;
    border:0!important;
    border-top:1px solid rgba(30,29,26,.10)!important;
    box-shadow:0 22px 50px rgba(30,29,26,.16)!important;
    z-index:100001!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown>.elementor-nav-menu,
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown ul.elementor-nav-menu{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown li{
    display:block!important;
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    border-bottom:1px solid #eee9e4!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown>ul>li:last-child{border-bottom:0!important}
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-item{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-height:49px!important;
    padding:13px 4px!important;
    color:#1e1d1a!important;
    background:transparent!important;
    font-size:15px!important;
    line-height:1.25!important;
    font-weight:800!important;
    white-space:normal!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-item .sub-arrow{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-left:auto!important;
    padding-left:14px!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown .sub-menu{
    position:static!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0 0 9px 14px!important;
    border:0!important;
    box-shadow:none!important;
    background:#faf8f5!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-sub-item{
    min-height:42px!important;
    padding:10px 12px!important;
    font-size:13px!important;
    line-height:1.35!important;
    font-weight:700!important;
    color:#3b3632!important;
    border:0!important;
  }
  body.skh-mobile-nav-open{overflow:hidden!important}

  /* Scrolled state must not shrink the mobile logo/header into a different
     geometry. Keeping one stable mobile header also prevents menu jumping. */
  .site-header.is-scrolled .skh-elementor-header .header-inner,
  .skh-elementor-header.site-header.is-scrolled .header-inner{
    height:var(--skh-mobile-header-h)!important;
    min-height:var(--skh-mobile-header-h)!important;
    gap:8px!important;
  }
  .site-header.is-scrolled .skh-elementor-logo,
  .skh-elementor-header.site-header.is-scrolled .skh-elementor-logo{
    width:136px!important;
    min-width:136px!important;
    max-width:136px!important;
    flex-basis:136px!important;
  }
  .site-header.is-scrolled .skh-elementor-logo img,
  .skh-elementor-header.site-header.is-scrolled .skh-elementor-logo img{
    width:136px!important;
    max-width:136px!important;
    max-height:44px!important;
  }
}

/* Elementor responsive canvas can be a narrow container inside a wider editor
   viewport. Container queries repeat the critical header geometry there. */
@container skhHeader (max-width:1050px){
  .header-inner{
    display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;
    width:100%!important;max-width:none!important;min-width:0!important;height:64px!important;min-height:64px!important;
    padding:0 14px!important;margin:0!important;gap:8px!important;
  }
  .skh-elementor-logo{
    order:1!important;display:block!important;visibility:visible!important;opacity:1!important;
    width:136px!important;min-width:136px!important;max-width:136px!important;flex:0 0 136px!important;margin:0!important;
  }
  .skh-elementor-logo img{display:block!important;width:136px!important;max-width:136px!important;height:auto!important;max-height:44px!important;object-fit:contain!important}
  .skh-header-buttons{order:2!important;display:flex!important;width:auto!important;flex:0 0 auto!important;margin-left:auto!important;gap:0!important}
  .skh-header-buttons>.header-cta{display:none!important;width:0!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;flex:0 0 0!important}
  .skh-header-buttons>.header-contact{display:block!important;width:auto!important;flex:0 0 auto!important}
  .header-contact.elementor-widget-button .elementor-button{height:36px!important;min-height:36px!important;padding:8px 10px!important;font-size:9.5px!important;white-space:nowrap!important}
  .skh-elementor-nav{order:3!important;display:block!important;position:static!important;width:42px!important;min-width:42px!important;max-width:42px!important;flex:0 0 42px!important;margin:0!important}
  .skh-elementor-nav>.elementor-widget-container{position:static!important;width:42px!important;height:42px!important;overflow:visible!important}
  .skh-elementor-nav .elementor-nav-menu--main{display:none!important}
  .skh-elementor-nav .elementor-menu-toggle{display:flex!important;width:42px!important;height:42px!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;background:transparent!important;color:#1e1d1a!important}
  .skh-elementor-nav .elementor-nav-menu--dropdown{
    position:fixed!important;left:0!important;right:0!important;width:100vw!important;min-width:100vw!important;max-width:100vw!important;
    margin:0!important;padding:10px 18px 28px!important;background:#fff!important;z-index:100001!important;
  }
}

/* JS also adds this class from the header's REAL rendered width. It is a final
   fallback for browser/device preview tools that do not expose a normal mobile
   viewport to media queries. */
.skh-elementor-header.skh-mobile-layout .header-inner{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;
  width:100%!important;max-width:none!important;min-width:0!important;height:64px!important;min-height:64px!important;
  padding:0 14px!important;margin:0!important;gap:8px!important;
}
.skh-elementor-header.skh-mobile-layout .skh-elementor-logo{
  order:1!important;display:block!important;visibility:visible!important;opacity:1!important;
  width:136px!important;min-width:136px!important;max-width:136px!important;flex:0 0 136px!important;margin:0!important;
}
.skh-elementor-header.skh-mobile-layout .skh-elementor-logo img{display:block!important;width:136px!important;max-width:136px!important;height:auto!important;max-height:44px!important;object-fit:contain!important}
.skh-elementor-header.skh-mobile-layout .skh-header-buttons{order:2!important;display:flex!important;width:auto!important;flex:0 0 auto!important;margin-left:auto!important;gap:0!important}
body .skh-elementor-header.skh-mobile-layout .skh-header-buttons>.header-cta{display:none!important;width:0!important;height:0!important;min-height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;flex:0 0 0!important}
.skh-elementor-header.skh-mobile-layout .skh-header-buttons>.header-contact{display:block!important;width:auto!important;flex:0 0 auto!important}
.skh-elementor-header.skh-mobile-layout .header-contact.elementor-widget-button .elementor-button{height:36px!important;min-height:36px!important;padding:8px 10px!important;font-size:9.5px!important;white-space:nowrap!important}
.skh-elementor-header.skh-mobile-layout .skh-elementor-nav{order:3!important;display:block!important;position:static!important;width:42px!important;min-width:42px!important;max-width:42px!important;flex:0 0 42px!important;margin:0!important}
.skh-elementor-header.skh-mobile-layout .skh-elementor-nav>.elementor-widget-container{position:static!important;width:42px!important;height:42px!important;overflow:visible!important}
.skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--main{display:none!important}
.skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-menu-toggle{display:flex!important;width:42px!important;height:42px!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;background:transparent!important;color:#1e1d1a!important}
.skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown{
  position:fixed!important;top:var(--skh-mobile-menu-top,64px)!important;left:0!important;right:0!important;
  width:100vw!important;min-width:100vw!important;max-width:100vw!important;max-height:calc(100dvh - var(--skh-mobile-menu-top,64px))!important;
  overflow-x:hidden!important;overflow-y:auto!important;margin:0!important;padding:10px 18px 28px!important;background:#fff!important;
  border:0!important;border-top:1px solid rgba(30,29,26,.10)!important;box-shadow:0 22px 50px rgba(30,29,26,.16)!important;z-index:100001!important;
}
.skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown>.elementor-nav-menu,
.skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown ul.elementor-nav-menu{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important}
.skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown li{display:block!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;border-bottom:1px solid #eee9e4!important}
.skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-item{display:flex!important;align-items:center!important;width:100%!important;min-height:49px!important;padding:13px 4px!important;color:#1e1d1a!important;background:transparent!important;font-size:15px!important;line-height:1.25!important;font-weight:800!important;white-space:normal!important}
.skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-item .sub-arrow{margin-left:auto!important;padding-left:14px!important}
.skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown .sub-menu{position:static!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0 0 9px 14px!important;border:0!important;box-shadow:none!important;background:#faf8f5!important}
.skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-sub-item{min-height:42px!important;padding:10px 12px!important;font-size:13px!important;line-height:1.35!important;font-weight:700!important;color:#3b3632!important;border:0!important}

/* Phone-specific page rhythm. */
@media(max-width:720px){
  :root{--skh-mobile-gutter:16px}
  .wrap,
  .elementor-page .e-con.wrap{
    width:calc(100% - (var(--skh-mobile-gutter) * 2))!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .section{padding-top:54px!important;padding-bottom:54px!important}
  .compact-section{padding-top:48px!important;padding-bottom:48px!important}
  .dark-band{padding-top:54px!important;padding-bottom:56px!important}
  .cta-section{padding-top:54px!important;padding-bottom:54px!important}
  .section-head{margin-bottom:30px!important}
  .section-head h2,.section-head .elementor-heading-title{font-size:clamp(30px,8.5vw,38px)!important;line-height:1.06!important}
  .section-head p{font-size:14.5px!important;line-height:1.6!important}

  /* Hero: tighter vertical rhythm and compact, non-stretched actions. */
  .hero,.hero-inner{min-height:560px!important}
  .hero-copy{padding:52px 0 58px!important}
  .hero h1,.hero .elementor-heading-title{font-size:clamp(37px,11.2vw,46px)!important;line-height:.96!important;margin:10px 0 17px!important}
  .hero p{font-size:15px!important;line-height:1.62!important}
  .hero-actions{
    display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;
    width:auto!important;max-width:100%!important;gap:10px!important;margin-top:24px!important;
  }
  .hero-actions>.elementor-widget-button,
  .hero-actions .btn,
  .hero-actions .elementor-button-wrapper,
  .hero-actions .elementor-button{
    width:auto!important;min-width:0!important;max-width:100%!important;align-self:flex-start!important;
  }
  .hero-actions .elementor-button,.hero-actions .btn{min-height:46px!important;padding:13px 18px!important;font-size:11px!important}

  /* Inner-page heroes should not consume most of the first screen. */
  .page-hero,.page-hero .wrap{min-height:365px!important}
  .page-hero-small,.page-hero-small .wrap{min-height:335px!important}
  .page-hero .hero-text{padding:48px 0!important}
  .page-hero h1,.page-hero .elementor-heading-title{font-size:clamp(34px,9.8vw,42px)!important;line-height:1!important;margin:8px 0 13px!important}
  .page-hero p{font-size:15px!important;line-height:1.6!important;margin-bottom:18px!important}

  /* Consistent one-column content and sensible gaps. */
  .about-grid,.home .about-grid,.content-split,.contact-grid,.contact-layout,.article-body-layout,
  .cards-2,.cards-3,.process-grid,.article-grid,.dynamic-post-grid,.feature-row{
    grid-template-columns:minmax(0,1fr)!important;
    gap:22px!important;
  }
  .content-split{gap:26px!important}
  .content-split .media img{aspect-ratio:4/3!important;max-height:none!important}
  .content-split h2,.about h2{font-size:clamp(30px,8.7vw,38px)!important;line-height:1.06!important}
  .info-card,.process-card{padding:24px 20px!important}

  /* Homepage service cards. */
  .services-grid,.services-grid-six,.services-section .services-wrap .services-grid-six{
    grid-template-columns:minmax(0,1fr)!important;
    gap:22px!important;
  }
  .services-grid-six .service-image{aspect-ratio:16/11!important}
  .services-grid-six .card-copy{margin:-14px 12px 0!important;padding:20px 19px 20px!important}
  .services-grid-six .service-card h3{font-size:21px!important;line-height:1.12!important}

  /* About / certifications. */
  .home .section.about{padding:52px 0 56px!important}
  .home .about-grid>div:first-child{padding:24px 19px 23px!important}
  .home .checks{gap:9px!important;margin-top:20px!important;padding-top:18px!important}
  .home .checks li{padding:10px 11px!important;font-size:12.5px!important}
  .home .mosaic{grid-template-rows:165px 138px!important;gap:8px!important}

  /* Bento cards stay cinematic without becoming screen-height blocks. */
  .tile-bento-section{padding:54px 0 58px!important}
  .tile-bento-section .tile-choice-head{margin-bottom:24px!important;padding-left:12px!important}
  .tile-bento-grid{gap:12px!important}
  .tile-bento-grid>.tile-bento-card:nth-child(n){min-height:270px!important}
  .tile-bento-grid>.tile-bento-card:nth-child(1){min-height:320px!important}
  .tile-bento-feature .tile-bento-copy,.tile-bento-card .tile-bento-copy{left:18px!important;right:18px!important;bottom:18px!important}
  .tile-bento-feature h3,.tile-bento-card h3{font-size:26px!important;line-height:1.04!important}

  /* Contact and free-inspection pages. */
  .contact-layout{gap:18px!important}
  .contact-info-block,.form-shell{padding:24px 18px!important}
  .contact-info-block h2,.form-shell h2{font-size:30px!important;line-height:1.08!important}
  .contact-detail-cards{grid-template-columns:1fr!important;gap:8px!important;margin-top:24px!important}
  .contact-detail-cards>a,.contact-detail-cards>div{padding:15px 16px!important}
  .skh-elementor-form .elementor-form-fields-wrapper{grid-template-columns:1fr!important;gap:12px!important}
  .skh-elementor-form .elementor-field-group{grid-column:1/-1!important;width:100%!important}
  .skh-contact-map-section{padding-top:48px!important}
  .skh-contact-map-frame{height:340px!important}
  .skh-contact-map-card{left:12px!important;right:12px!important;bottom:12px!important;width:auto!important;min-width:0!important;padding:13px 14px!important}

  /* Single articles. */
  .article-masthead{padding:38px 0 22px!important}
  .article-masthead .elementor-widget-theme-post-title .elementor-heading-title,
  .article-masthead h1{font-size:clamp(33px,9.8vw,43px)!important;line-height:1.01!important;letter-spacing:-.035em!important}
  .article-featured,.article-featured-wrap .elementor-widget-theme-post-featured-image{width:calc(100% - 30px)!important}
  .article-body-layout{padding-top:30px!important;padding-bottom:48px!important;gap:24px!important}
  .article-content{font-size:16px!important;line-height:1.68!important;overflow-wrap:normal!important}
  .article-content h2{font-size:25px!important;margin:30px 0 10px!important}
  .article-content h3{font-size:20px!important;margin:24px 0 8px!important}
  .aside-card{padding:23px 19px!important}
  .single-article + .soft-section{padding-top:50px!important;padding-bottom:52px!important}

  /* Reviews / availability / CTA buttons should be compact, never forced to
     an accidental full viewport width. */
  .skh-mittanbud-home{padding:52px 0!important}
  .feature-row{gap:24px!important;margin:30px auto 38px!important}
  .phone-box a.phone{font-size:clamp(26px,7.5vw,32px)!important}
  .cta-section h2{font-size:clamp(30px,8.6vw,38px)!important}
  .cta-section .elementor-widget-button,
  .dark-band .phone-box>.elementor-widget-button{
    width:auto!important;max-width:100%!important;align-self:center!important;
  }
  .cta-section .elementor-button,
  .dark-band .phone-box>.elementor-widget-button .elementor-button{
    width:auto!important;min-width:0!important;max-width:100%!important;padding:13px 18px!important;
  }

  /* Footer. */
  .site-footer{padding:48px 0 20px!important}
  .footer-grid{grid-template-columns:1fr!important;gap:28px!important}
  .footer-grid h4,.site-footer .footer-grid .elementor-heading-title{font-size:18px!important;margin-bottom:12px!important}
  .footer-grid p,.footer-grid a{font-size:13.5px!important;line-height:1.5!important}
  .footer-bottom{margin-top:30px!important;padding-top:16px!important;gap:7px!important;font-size:12px!important}
}

@media(max-width:380px){
  .skh-elementor-header .header-inner{padding-left:11px!important;padding-right:11px!important;gap:6px!important}
  .skh-elementor-header .skh-elementor-logo,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-logo{width:118px!important;min-width:118px!important;max-width:118px!important;flex-basis:118px!important}
  .skh-elementor-header .skh-elementor-logo img,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-logo img{width:118px!important;max-width:118px!important;max-height:40px!important}
  body .skh-elementor-header .header-contact.elementor-widget-button .elementor-button{height:34px!important;min-height:34px!important;padding:7px 8px!important;font-size:8.5px!important}
  .skh-elementor-header .skh-elementor-nav,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav{width:40px!important;min-width:40px!important;max-width:40px!important;flex-basis:40px!important}
  .skh-elementor-header .skh-elementor-nav .elementor-menu-toggle{width:40px!important;height:40px!important}
  .wrap,.elementor-page .e-con.wrap{width:calc(100% - 24px)!important}
  .hero h1,.hero .elementor-heading-title{font-size:36px!important}
}

/* ==========================================================
   v1.0.27 — tighter real-phone layout pass.
   Based on screenshots from a ~390px Android viewport: reduce excess
   whitespace, make mobile navigation denser, keep content genuinely full
   width, stop the About visual/checks from peeking off-canvas, and make the
   process cards compact/readable (their H3s were inheriting white text).
   ========================================================== */
@media(max-width:720px){
  :root{--skh-mobile-gutter:12px!important}
  html,body{max-width:100%!important;overflow-x:clip!important}

  /* Header: same hierarchy, less chrome. */
  .skh-elementor-header{--skh-mobile-header-h:58px!important}
  .skh-elementor-header .header-inner,
  .skh-elementor-header.skh-mobile-layout .header-inner{
    height:58px!important;min-height:58px!important;
    padding:0 10px!important;gap:6px!important;
  }
  .skh-elementor-header .skh-elementor-logo,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-logo,
  .site-header.is-scrolled .skh-elementor-logo,
  .skh-elementor-header.site-header.is-scrolled .skh-elementor-logo{
    width:126px!important;min-width:126px!important;max-width:126px!important;
    flex:0 0 126px!important;flex-basis:126px!important;
  }
  .skh-elementor-header .skh-elementor-logo img,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-logo img,
  .site-header.is-scrolled .skh-elementor-logo img,
  .skh-elementor-header.site-header.is-scrolled .skh-elementor-logo img{
    width:126px!important;max-width:126px!important;max-height:39px!important;
  }
  body .skh-elementor-header .header-contact.elementor-widget-button .elementor-button,
  body .skh-elementor-header.skh-mobile-layout .header-contact.elementor-widget-button .elementor-button{
    height:32px!important;min-height:32px!important;padding:7px 9px!important;
    font-size:8.6px!important;letter-spacing:.035em!important;
  }
  .skh-elementor-header .skh-elementor-nav,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav{
    width:38px!important;min-width:38px!important;max-width:38px!important;flex:0 0 38px!important;
  }
  .skh-elementor-header .skh-elementor-nav>.elementor-widget-container,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav>.elementor-widget-container,
  .skh-elementor-header .skh-elementor-nav .elementor-menu-toggle,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-menu-toggle{
    width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-menu-toggle svg,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-menu-toggle svg{
    width:22px!important;height:22px!important;
  }

  /* Mobile menu: almost edge-to-edge. */
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown{
    padding:4px 10px 14px!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-item,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-item{
    min-height:43px!important;padding:10px 2px!important;font-size:14.5px!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-item .sub-arrow,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-item .sub-arrow{
    padding-left:8px!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown .sub-menu,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown .sub-menu{
    padding:0 0 6px 8px!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-sub-item,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-sub-item{
    min-height:38px!important;padding:8px 9px!important;font-size:12.8px!important;
  }

  /* Global phone rhythm. */
  .wrap,.elementor-page .e-con.wrap{
    width:calc(100% - 24px)!important;max-width:none!important;
  }
  .section{padding-top:44px!important;padding-bottom:44px!important}
  .compact-section{padding-top:40px!important;padding-bottom:42px!important}
  .dark-band{padding-top:46px!important;padding-bottom:48px!important}
  .cta-section{padding-top:44px!important;padding-bottom:44px!important}
  .section-head{margin-bottom:22px!important}
  .section-head h2,.section-head .elementor-heading-title{
    font-size:clamp(29px,8vw,35px)!important;line-height:1.03!important;
    margin-top:7px!important;margin-bottom:12px!important;
  }
  .section-head p{font-size:14px!important;line-height:1.52!important;margin-bottom:0!important}

  /* Homepage hero: keep impact, lose the empty lower third. */
  .hero,.hero-inner{min-height:500px!important}
  .hero-copy{padding:38px 0 42px!important}
  .hero h1,.hero .elementor-heading-title{
    font-size:clamp(35px,10.4vw,42px)!important;line-height:.94!important;
    margin:9px 0 14px!important;
  }
  .hero p{font-size:14.5px!important;line-height:1.52!important;margin-bottom:0!important}
  .hero-actions{gap:8px!important;margin-top:18px!important}
  .hero-actions .elementor-button,.hero-actions .btn{
    min-height:43px!important;padding:12px 16px!important;font-size:10.5px!important;
  }

  /* Inner page heroes. */
  .page-hero,.page-hero .wrap{min-height:320px!important}
  .page-hero-small,.page-hero-small .wrap{min-height:290px!important}
  .page-hero .hero-text{padding:36px 0!important}
  .page-hero h1,.page-hero .elementor-heading-title{
    font-size:clamp(31px,9vw,38px)!important;line-height:.99!important;margin:7px 0 11px!important;
  }
  .page-hero p{font-size:14px!important;line-height:1.5!important;margin-bottom:15px!important}

  /* Services: fill the phone width and bring the first card closer to intro. */
  .home .services-section{padding-top:42px!important;padding-bottom:48px!important}
  .home .services-section .section-head{margin-bottom:20px!important}
  .services-wrap,
  .services-grid,
  .services-grid-six,
  .services-section .services-wrap .services-grid-six,
  .services-grid-six .service-card,
  .services-grid-six .service-card-link{
    width:100%!important;max-width:none!important;min-width:0!important;--width:100%!important;
  }
  .services-grid,.services-grid-six,.services-section .services-wrap .services-grid-six{
    grid-template-columns:minmax(0,1fr)!important;gap:18px!important;
  }
  .services-grid-six .service-image{aspect-ratio:16/10.5!important}
  .home .services-grid-six .service-card .card-copy,
  .services-grid-six .card-copy{
    margin:-12px 12px 0!important;padding:17px 18px 18px!important;min-height:0!important;
  }
  .services-grid-six .service-card h3,
  .services-grid-six .service-card .elementor-heading-title{
    font-size:20px!important;line-height:1.08!important;margin-bottom:6px!important;
  }
  .services-grid-six .service-card p{font-size:13.5px!important;line-height:1.45!important;margin-bottom:12px!important}

  /* About: force true vertical flow. This prevents the second column/checks
     from appearing as clipped tabs along the right edge. */
  .home .section.about{padding:42px 0 46px!important;overflow:hidden!important}
  .home .about-grid{
    display:block!important;width:100%!important;max-width:100%!important;
    grid-template-columns:none!important;overflow:visible!important;
  }
  .home .about-grid>*{
    position:relative!important;width:100%!important;max-width:100%!important;min-width:0!important;
    margin-left:0!important;margin-right:0!important;transform:none!important;left:auto!important;right:auto!important;
  }
  .home .about-grid>div:first-child{
    padding:20px 16px 21px!important;overflow:hidden!important;
  }
  .home .section.about .about-grid>div:first-child>.elementor-widget-heading{
    margin:3px 0 13px!important;
  }
  .home .section.about .about-grid>div:first-child>.elementor-widget-heading .elementor-heading-title,
  .home .section.about .about-grid>div:first-child>h2,
  .home .section.about .about-grid>div:first-child h2.elementor-heading-title{
    font-size:clamp(30px,8.5vw,35px)!important;line-height:.99!important;
  }
  .home .about-grid>div:first-child .elementor-widget-text-editor p,
  .home .about-grid>div:first-child>p{
    font-size:14px!important;line-height:1.55!important;margin-bottom:12px!important;
  }
  .home .elementor-widget-text-editor.checks,
  .home .elementor-widget-text-editor.checks>.elementor-widget-container,
  .home .elementor-widget-text-editor.checks ul.checks,
  .home ul.checks{
    position:static!important;left:auto!important;right:auto!important;transform:none!important;
    width:100%!important;max-width:100%!important;min-width:0!important;
  }
  .home .elementor-widget-text-editor.checks ul.checks,
  .home ul.checks{
    display:grid!important;grid-template-columns:1fr!important;gap:7px!important;
    margin:16px 0 0!important;padding:14px 0 0!important;
  }
  .home .elementor-widget-text-editor.checks ul.checks li,
  .home ul.checks li{
    position:static!important;width:100%!important;max-width:100%!important;min-width:0!important;
    min-height:0!important;margin:0!important;padding:9px 10px!important;font-size:12.3px!important;
    transform:none!important;
  }
  .home .mosaic{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:165px 105px 215px!important;gap:7px!important;
    width:100%!important;max-width:100%!important;margin-top:18px!important;overflow:hidden!important;
  }
  .home .mosaic img:first-child{grid-column:1!important;grid-row:1!important}
  .home .mosaic-note{grid-column:1!important;grid-row:2!important;padding:14px!important}
  .home .mosaic .tall{grid-column:1!important;grid-row:3!important}
  .home .mosaic:before{right:7px!important;top:7px!important;padding:7px 8px!important;font-size:14px!important}

  /* Process cards: compact and fix the white-on-white H3 inherited from the
     dark process section. */
  .process-showcase{padding:44px 0 48px!important}
  .process-showcase .section-head{margin-bottom:22px!important}
  .process-showcase .process-grid{
    display:block!important;width:100%!important;max-width:100%!important;
  }
  .process-showcase .process-card{
    display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;
    width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;
    padding:18px 16px 17px!important;margin:0 0 12px!important;
  }
  .process-showcase .process-card:last-child{margin-bottom:0!important}
  .process-showcase .process-card>.elementor-widget{width:100%!important;max-width:100%!important;margin:0!important}
  .process-showcase .process-card>.elementor-widget:first-child{width:auto!important;align-self:flex-start!important}
  .process-showcase .process-card span{
    width:44px!important;height:44px!important;margin:0 0 16px!important;
    font-size:11.5px!important;box-shadow:0 0 0 6px #1e1d1a,0 0 0 7px rgba(240,220,0,.32)!important;
  }
  body.elementor-page .process-showcase .process-card h3,
  body.elementor-page .process-showcase .process-card .elementor-heading-title,
  .process-showcase .process-card h3,
  .process-showcase .process-card .elementor-heading-title{
    color:#1e1d1a!important;font-size:19px!important;line-height:1.12!important;
    margin:0 0 6px!important;
  }
  .process-showcase .process-card p,
  .process-showcase .process-card .elementor-widget-text-editor p{
    color:#645c56!important;font-size:14px!important;line-height:1.52!important;margin:0!important;
  }

  /* Generic stacked content. */
  .about-grid,.content-split,.contact-grid,.contact-layout,.article-body-layout,
  .cards-2,.cards-3,.article-grid,.dynamic-post-grid,.feature-row{
    gap:18px!important;
  }
  .content-split{gap:20px!important}
  .info-card{padding:20px 16px!important}
  .tile-bento-section{padding:44px 0 48px!important}
  .tile-bento-section .tile-choice-head{margin-bottom:18px!important;padding-left:8px!important}
  .tile-bento-grid{gap:9px!important}
  .tile-bento-grid>.tile-bento-card:nth-child(n){min-height:245px!important}
  .tile-bento-grid>.tile-bento-card:nth-child(1){min-height:285px!important}
  .skh-mittanbud-home{padding:44px 0!important}
  .feature-row{gap:18px!important;margin:24px auto 28px!important}
  .site-footer{padding:40px 0 18px!important}
  .footer-grid{gap:22px!important}
  .footer-bottom{margin-top:24px!important;padding-top:14px!important}
}

@media(max-width:380px){
  .skh-elementor-header .header-inner,
  .skh-elementor-header.skh-mobile-layout .header-inner{padding-left:8px!important;padding-right:8px!important;gap:4px!important}
  .skh-elementor-header .skh-elementor-logo,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-logo{width:112px!important;min-width:112px!important;max-width:112px!important;flex-basis:112px!important}
  .skh-elementor-header .skh-elementor-logo img,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-logo img{width:112px!important;max-width:112px!important;max-height:37px!important}
  body .skh-elementor-header .header-contact.elementor-widget-button .elementor-button{padding:6px 7px!important;font-size:8px!important}
  .wrap,.elementor-page .e-con.wrap{width:calc(100% - 20px)!important}
}

/* ==========================================================
   v1.0.28 — final mobile header + homepage service-card fit.
   Remove the double mobile gutter caused by header-inner also being .wrap,
   make the three header controls fit as one intentional row, let homepage
   service cards use the phone width, and mathematically center the cream
   copy panel with identical left/right insets.
   ========================================================== */
@media(max-width:720px){
  /* Header: header-inner is also a .wrap, so neutralise the generic wrap
     width here. This removes the extra ~12px outer gutter + inner padding. */
  .skh-elementor-header .header-inner,
  .skh-elementor-header.skh-mobile-layout .header-inner,
  .site-header.is-scrolled .skh-elementor-header .header-inner,
  .skh-elementor-header.site-header.is-scrolled .header-inner{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:54px!important;
    min-height:54px!important;
    margin:0!important;
    padding:0 5px!important;
    gap:4px!important;
  }

  /* Give the visual logo a little more presence while keeping its flex slot
     predictable. The remaining controls stay compact. */
  .skh-elementor-header .skh-elementor-logo,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-logo,
  .site-header.is-scrolled .skh-elementor-logo,
  .skh-elementor-header.site-header.is-scrolled .skh-elementor-logo{
    width:136px!important;
    min-width:136px!important;
    max-width:136px!important;
    flex:0 0 136px!important;
    flex-basis:136px!important;
    margin:0!important;
  }
  .skh-elementor-header .skh-elementor-logo>.elementor-widget-container,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-logo>.elementor-widget-container{
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  .skh-elementor-header .skh-elementor-logo img,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-logo img,
  .site-header.is-scrolled .skh-elementor-logo img,
  .skh-elementor-header.site-header.is-scrolled .skh-elementor-logo img{
    width:136px!important;
    max-width:136px!important;
    max-height:38px!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .skh-elementor-header .skh-header-buttons,
  .skh-elementor-header.skh-mobile-layout .skh-header-buttons{
    margin-left:auto!important;
    margin-right:0!important;
    padding:0!important;
    gap:0!important;
    width:auto!important;
    min-width:0!important;
    flex:0 0 auto!important;
  }
  body .skh-elementor-header .header-contact.elementor-widget-button .elementor-button,
  body .skh-elementor-header.skh-mobile-layout .header-contact.elementor-widget-button .elementor-button{
    min-height:31px!important;
    height:31px!important;
    padding:6px 8px!important;
    font-size:8.3px!important;
    line-height:1!important;
    letter-spacing:.025em!important;
    border-radius:2px!important;
  }

  .skh-elementor-header .skh-elementor-nav,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav{
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    flex:0 0 34px!important;
    margin:0!important;
  }
  .skh-elementor-header .skh-elementor-nav>.elementor-widget-container,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav>.elementor-widget-container,
  .skh-elementor-header .skh-elementor-nav .elementor-menu-toggle,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-menu-toggle{
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-menu-toggle svg,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-menu-toggle svg{
    width:21px!important;
    height:21px!important;
  }

  /* Mobile navigation itself should feel edge-to-edge, but keep a tiny touch
     gutter so text never hugs the glass. */
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown{
    padding:3px 6px 12px!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-item,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-item{
    min-height:41px!important;
    padding:9px 6px!important;
    font-size:14px!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown .sub-menu,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown .sub-menu{
    padding:0 0 5px 7px!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-sub-item,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-nav-menu--dropdown .elementor-sub-item{
    min-height:36px!important;
    padding:7px 8px!important;
    font-size:12.5px!important;
  }

  /* Homepage services: break out of any old boxed Elementor/container width.
     Use an 8px phone gutter rather than the generic page gutter. */
  body.home .services-section{
    padding-top:34px!important;
    padding-bottom:38px!important;
  }
  body.home .services-section .services-wrap{
    width:100vw!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    padding-left:8px!important;
    padding-right:8px!important;
    box-sizing:border-box!important;
  }
  body.home .services-section .section-head{
    width:calc(100% - 12px)!important;
    max-width:680px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    margin-bottom:12px!important;
  }
  body.home .services-section .services-grid-six,
  body.home .services-section .services-grid,
  body.home .services-section .service-card,
  body.home .services-section .service-card-link{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
    --width:100%!important;
  }
  body.home .services-section .services-grid-six,
  body.home .services-section .services-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    row-gap:12px!important;
    column-gap:0!important;
    margin-top:0!important;
  }

  /* Remove the grey frame/inner gaps around each service image regardless of
     Elementor widget/container defaults. */
  body.home .services-grid-six .service-image,
  body.home .services-grid-six .service-image>.elementor-widget-image,
  body.home .services-grid-six .service-image>.elementor-widget-image>.elementor-widget-container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  body.home .services-grid-six .service-image{
    aspect-ratio:16/10.2!important;
    overflow:hidden!important;
    background:#eee!important;
  }
  body.home .services-grid-six .service-image img{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
  }

  /* Equal inset on BOTH sides of the cream panel. Older v1.0.12 fixed width
     plus later explicit margins caused the visible asymmetry. */
  body.home .services-grid-six .service-card .card-copy,
  body.home .services-grid-six .card-copy{
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
    min-width:0!important;
    margin:-10px auto 0!important;
    padding:15px 16px 16px!important;
    box-sizing:border-box!important;
  }
  body.home .services-grid-six .service-card h3,
  body.home .services-grid-six .service-card .elementor-heading-title{
    font-size:19px!important;
    line-height:1.08!important;
    margin:0 0 5px!important;
  }
  body.home .services-grid-six .service-card p{
    font-size:13px!important;
    line-height:1.4!important;
    margin:0 0 9px!important;
  }
  body.home .services-grid-six .elementor-widget-text-editor.service-link,
  body.home .services-grid-six .service-link{
    margin-top:0!important;
    margin-bottom:0!important;
  }
}

@media(max-width:380px){
  .skh-elementor-header .header-inner,
  .skh-elementor-header.skh-mobile-layout .header-inner{
    padding-left:3px!important;
    padding-right:3px!important;
    gap:3px!important;
  }
  .skh-elementor-header .skh-elementor-logo,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-logo{
    width:126px!important;min-width:126px!important;max-width:126px!important;flex-basis:126px!important;
  }
  .skh-elementor-header .skh-elementor-logo img,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-logo img{
    width:126px!important;max-width:126px!important;max-height:36px!important;
  }
  body .skh-elementor-header .header-contact.elementor-widget-button .elementor-button{
    padding-left:7px!important;padding-right:7px!important;font-size:7.9px!important;
  }
  body.home .services-section .services-wrap{padding-left:6px!important;padding-right:6px!important}
}

/* ==========================================================
   v1.0.29 — mobile hamburger visual sizing.
   Match the hamburger control height to the compact Contact button while
   letting the icon itself fill the control more confidently.
   ========================================================== */
@media(max-width:720px){
  .skh-elementor-header .skh-elementor-nav,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav{
    width:31px!important;
    min-width:31px!important;
    max-width:31px!important;
    flex:0 0 31px!important;
  }
  .skh-elementor-header .skh-elementor-nav>.elementor-widget-container,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav>.elementor-widget-container,
  .skh-elementor-header .skh-elementor-nav .elementor-menu-toggle,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-menu-toggle{
    width:31px!important;
    min-width:31px!important;
    max-width:31px!important;
    height:31px!important;
    min-height:31px!important;
    max-height:31px!important;
    padding:0!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-menu-toggle svg,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-menu-toggle svg,
  .skh-elementor-header .skh-elementor-nav .elementor-menu-toggle__icon--open,
  .skh-elementor-header .skh-elementor-nav .elementor-menu-toggle__icon--close{
    width:28px!important;
    height:28px!important;
    max-width:28px!important;
    max-height:28px!important;
    margin:0!important;
  }
}


/* ==========================================================
   v1.0.30 — mobile header micro-spacing.
   Add breathing room between Contact and hamburger and nudge the
   burger/close glyph 2px upward without moving the dropdown anchor.
   ========================================================== */
@media(max-width:720px){
  .skh-elementor-header .skh-elementor-nav,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav{
    margin-left:8px!important;
  }
  .skh-elementor-header .skh-elementor-nav .elementor-menu-toggle svg,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav .elementor-menu-toggle svg,
  .skh-elementor-header .skh-elementor-nav .elementor-menu-toggle__icon--open,
  .skh-elementor-header .skh-elementor-nav .elementor-menu-toggle__icon--close{
    transform:translateY(-2px)!important;
  }
}
@media(max-width:380px){
  .skh-elementor-header .skh-elementor-nav,
  .skh-elementor-header.skh-mobile-layout .skh-elementor-nav{
    margin-left:6px!important;
  }
}

/* ==========================================================
   v1.0.33 — Flislegger bento rhythm + Contact alignment polish.
   ----------------------------------------------------------
   1) Keep bento description and LES MER visually connected.
   2) Restore intentional white typography inside the dark contact panel.
   3) Make the entire "Finn oss" map intro a single left-aligned stack.
   ========================================================== */

/* Flislegger: Elementor container gaps / widget spacing could stretch the
   overlay copy and leave an oversized void before LES MER.  Treat the copy as
   one compact editorial stack on every breakpoint. */
body.elementor-page .tile-bento-card .tile-bento-copy,
body.elementor-page .tile-bento-feature .tile-bento-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:flex-start!important;
  gap:0!important;
  row-gap:0!important;
}
body.elementor-page .tile-bento-card .tile-bento-copy > .elementor-element,
body.elementor-page .tile-bento-feature .tile-bento-copy > .elementor-element{
  flex:0 0 auto!important;
  margin-top:0!important;
  margin-bottom:0!important;
}
body.elementor-page .tile-bento-card .tile-bento-copy > .elementor-widget-heading,
body.elementor-page .tile-bento-feature .tile-bento-copy > .elementor-widget-heading{
  margin-bottom:5px!important;
}
body.elementor-page .tile-bento-card .tile-bento-copy > .elementor-widget-text-editor:not(.tile-bento-kicker):not(.tile-bento-link),
body.elementor-page .tile-bento-feature .tile-bento-copy > .elementor-widget-text-editor:not(.tile-bento-kicker):not(.tile-bento-link){
  margin:0!important;
}
body.elementor-page .tile-bento-card .tile-bento-copy > .elementor-widget-text-editor:not(.tile-bento-kicker):not(.tile-bento-link) p,
body.elementor-page .tile-bento-feature .tile-bento-copy > .elementor-widget-text-editor:not(.tile-bento-kicker):not(.tile-bento-link) p{
  margin:0!important;
}
body.elementor-page .tile-bento-card .tile-bento-link,
body.elementor-page .tile-bento-feature .tile-bento-link{
  margin-top:6px!important;
  padding-top:7px!important;
}

/* Contact: v1.0.24 intentionally reset Elementor's global blue colours, but
   the dark contact panel must remain an explicit white-on-dark context. */
body.elementor-page .contact-info-block{
  color:#fff!important;
  text-align:left!important;
}
body.elementor-page .contact-info-block .elementor-widget-heading,
body.elementor-page .contact-info-block .elementor-widget-heading .elementor-widget-container,
body.elementor-page .contact-info-block .elementor-widget-heading .elementor-heading-title,
body.elementor-page .contact-info-block h2{
  color:#fff!important;
  text-align:left!important;
}
body.elementor-page .contact-info-block > .elementor-widget-text-editor,
body.elementor-page .contact-info-block > .elementor-widget-text-editor .elementor-widget-container,
body.elementor-page .contact-info-block > .elementor-widget-text-editor p{
  color:#ded6d0!important;
  text-align:left!important;
}
body.elementor-page .contact-info-block > .elementor-widget-text-editor{
  margin:0!important;
}
body.elementor-page .contact-info-block > .elementor-widget-text-editor p{
  margin:0!important;
  line-height:1.65!important;
}
body.elementor-page .contact-info-block .text-link{
  display:inline!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:var(--orange)!important;
  font:inherit!important;
  font-weight:800!important;
  line-height:inherit!important;
  text-align:inherit!important;
  text-decoration:none!important;
}
body.elementor-page .contact-info-block .text-link:hover{
  color:var(--orange-dark)!important;
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
body.elementor-page .contact-info-block .contact-detail-cards{
  margin-top:26px!important;
}

/* Contact map intro: title, paragraph and directions CTA now share one clean
   left edge instead of being distributed across the full row. */
body.elementor-page .skh-contact-map-head{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:18px!important;
  text-align:left!important;
}
body.elementor-page .skh-contact-map-title-wrap{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  align-self:flex-start!important;
  width:100%!important;
  max-width:760px!important;
  margin:0!important;
  text-align:left!important;
}
body.elementor-page .skh-contact-map-title-wrap > .elementor-element,
body.elementor-page .skh-contact-map-title-wrap .elementor-widget-container,
body.elementor-page .skh-contact-map-title-wrap h2,
body.elementor-page .skh-contact-map-title-wrap p,
body.elementor-page .skh-contact-map-title-wrap .eyebrow{
  text-align:left!important;
  align-self:flex-start!important;
}
body.elementor-page .skh-contact-map-title-wrap h2{
  margin-left:0!important;
  margin-right:0!important;
}
body.elementor-page .skh-contact-map-title-wrap p{
  margin-left:0!important;
  margin-right:0!important;
}
body.elementor-page .skh-map-directions{
  align-self:flex-start!important;
  justify-self:start!important;
  width:auto!important;
  --width:auto!important;
  max-width:max-content!important;
  margin:0!important;
}
body.elementor-page .skh-map-directions .elementor-button-wrapper,
body.elementor-page .skh-map-directions .elementor-button{
  width:auto!important;
  max-width:max-content!important;
}

@media(max-width:720px){
  body.elementor-page .tile-bento-card .tile-bento-link,
  body.elementor-page .tile-bento-feature .tile-bento-link{
    margin-top:5px!important;
    padding-top:6px!important;
  }
  body.elementor-page .contact-info-block .contact-detail-cards{
    margin-top:20px!important;
  }
  body.elementor-page .skh-contact-map-head{
    gap:14px!important;
    padding-bottom:20px!important;
  }
  body.elementor-page .skh-contact-map-title-wrap h2{
    margin-top:6px!important;
    margin-bottom:10px!important;
  }
}
