:root{--leaf:#1F3A2E;--lichen:#D6DBD4;--stone:#7A8791;--gravel:#A9A79E;--lemon:#E9C440;--ink:#161A18}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--lichen);color:var(--ink);font:400 17px/1.6 'Public Sans',sans-serif;overflow-x:hidden}
h1,h2,h3{font-family:'Familjen Grotesk',sans-serif;font-weight:700;margin:0}
a:focus-visible,button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.banner{background:var(--lemon);color:var(--ink);font-size:13px;text-align:center;padding:6px 12px;line-height:1.35;min-height:32px;display:flex;align-items:center;justify-content:center}
header{background:var(--leaf);display:flex;justify-content:space-between;align-items:center;padding:12px 6vw;gap:12px;flex-wrap:wrap}
.logo{font:700 24px 'Familjen Grotesk',sans-serif;color:var(--lichen)}
header a.tel{color:var(--lemon);font-weight:600;text-decoration:none;padding:12px 0;min-height:48px;display:inline-flex;align-items:center}
.gravel{background-image:radial-gradient(#C3C7BF 1.5px,transparent 2px),radial-gradient(#C3C7BF 1px,transparent 1.5px),radial-gradient(#BFC3BB 1.5px,transparent 2px);background-size:9px 13px,17px 11px,23px 19px;background-position:0 0,4px 5px,11px 3px}
body{font-size:18px}
.hero{position:relative;padding:80px 6vw 50px;overflow:hidden}
h1,h2,h3{line-height:1.1}
h1{line-height:1.05}
.hero{min-height:600px;padding-bottom:0}
.hero .in{max-width:640px;position:relative;z-index:1}
h1{font-size:64px;line-height:1.05;letter-spacing:-.01em;color:var(--leaf)}
.hero p.intro{margin:24px 0 32px;max-width:56ch}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 36px;background:var(--lemon);color:var(--ink);font:600 19px 'Public Sans',sans-serif;text-decoration:none;clip-path:polygon(2% 8%,30% 0,66% 5%,98% 0,100% 55%,97% 100%,60% 95%,28% 100%,0 92%);transition:background .15s}
.btn:hover{background:#D4AF2C}
.note{margin:14px 0 0;font-size:15px}
.path{position:absolute;right:6vw;top:20px;width:480px;height:600px}
section{padding:70px 6vw}
h2{font-size:36px;color:var(--leaf);margin-bottom:32px}
#services h2{margin-bottom:-60px;position:relative;z-index:1}
#services{padding-top:50px}
.stones{display:flex;flex-direction:column;gap:14px;width:100%}
.stone{background:var(--stone);color:var(--ink);padding:40px 52px 44px;font-size:18px}
.stone h3{font-size:22px;margin-bottom:6px}
.stone p{margin:0}
.stone:nth-child(1){align-self:flex-start;width:min(480px,100%);margin-left:52%;clip-path:polygon(3% 10%,18% 2%,48% 0,81% 4%,97% 14%,100% 52%,95% 90%,66% 100%,30% 96%,6% 88%,0 45%)}
.stone:nth-child(2){width:min(560px,100%);margin-left:30%;clip-path:polygon(0 18%,12% 4%,40% 8%,72% 0,96% 10%,100% 60%,88% 96%,52% 100%,20% 92%,4% 80%)}
.stone:nth-child(3){width:min(420px,100%);margin-left:6%;clip-path:polygon(6% 0,38% 6%,70% 0,94% 8%,100% 40%,92% 88%,60% 100%,24% 94%,2% 100%,0 40%)}
.stone:nth-child(4){width:min(520px,100%);margin-left:38%;clip-path:polygon(0 6%,26% 0,58% 8%,92% 0,100% 30%,96% 74%,100% 96%,62% 100%,28% 92%,4% 98%)}
.stone:nth-child(5){width:min(450px,100%);margin-left:12%;clip-path:polygon(4% 14%,30% 0,64% 6%,98% 2%,100% 48%,93% 84%,70% 100%,34% 94%,8% 100%,0 56%)}
.stone:nth-child(6){width:min(500px,100%);margin-left:44%;clip-path:polygon(2% 0,34% 8%,70% 2%,100% 12%,96% 56%,100% 92%,64% 100%,30% 90%,0 100%,5% 50%)}
.band{background:var(--leaf);color:var(--lichen)}
.band h2{color:#fff}
.band p{max-width:60ch;font-size:20px;margin:0}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1000px}
.quotes figure{margin:0;background:var(--lichen);border-left:6px solid var(--leaf);padding:26px 28px}
.quotes blockquote{margin:0 0 14px;font-size:18px}
.quotes figcaption{font-weight:600;font-size:15px;color:var(--leaf)}
#reviews a.maps{display:inline-block;margin-top:28px;color:var(--leaf);font-weight:600;padding:12px 0}
@media(max-width:760px){.quotes{grid-template-columns:1fr}}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:900px}
table{border-collapse:collapse;width:100%;max-width:420px}
td{padding:10px 0;border-bottom:1px solid var(--gravel)}
td:last-child{text-align:right;font-weight:600}
address{font-style:normal}
.cols a.maps{color:var(--leaf);font-weight:600;display:inline-block;padding:12px 0}
.cta{margin-top:44px}
footer{background:var(--leaf);color:var(--lichen);text-align:center;padding:48px 6vw 90px;font-size:15px}
footer a{color:var(--lemon)}
footer svg{display:block;margin:0 auto 18px}
.sticky{display:none}
@media(max-width:760px){
body{font-size:17px}
.banner{font-size:13px}
.hero{padding:48px 6vw 56px}
h1{font-size:40px}
.path{display:none}
.btn{width:100%}
h2{font-size:28px}
#services h2{margin-bottom:28px}
.logo{font-size:20px}
header a.tel{font-size:18px}
.hero{min-height:0;padding-bottom:56px}
section{padding:52px 6vw}
.stone{padding:32px 26px 34px;font-size:17px}
.stone:nth-child(n){width:calc(100% - 32px);margin-left:0}
.stone:nth-child(even){margin-left:32px}
.stones{gap:12px}
.cols{grid-template-columns:1fr;gap:28px}
.sticky{position:fixed;left:0;right:0;bottom:0;background:var(--lemon);color:var(--ink);text-align:center;font:600 18px 'Public Sans',sans-serif;padding:15px 15px calc(15px + env(safe-area-inset-bottom));text-decoration:none;min-height:56px;transform:translateY(110%);transition:transform .2s;z-index:10}
.sticky.show{transform:none}
}
