@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/59b5f94f8cb5.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/58ee1998cb8c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/59b5f94f8cb5.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/58ee1998cb8c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/59b5f94f8cb5.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/58ee1998cb8c.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--bg:#FAFAF8;--surface:#F1F0EC;--card:#FFFFFF;--ink:#141414;--muted:#4A4A47;--line:#DCDAD3;--acc:#B3271E;--acc-ink:#FFFFFF;--acc-dark:#8E1F18;--dark:#141414;--dark-ink:#FFFFFF;--dark-muted:#C9C7C1;--dark-acc:#F2A49C;--focus:#1F6FD1;--f:'Manrope';--rad:3px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f),system-ui,sans-serif;font-size:18px;line-height:1.6;padding-bottom:72px}
@media(min-width:900px){body{padding-bottom:0}}
a{color:inherit}img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 18px}@media(min-width:720px){.wrap{padding:0 32px}}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;color:#000;padding:8px;z-index:20}
header{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:8}
header .wrap{display:flex;justify-content:space-between;align-items:center;min-height:64px;gap:10px}
.logo{font-weight:800;font-size:22px;letter-spacing:.14em;text-decoration:none;display:flex;align-items:center;gap:10px}
.logo i{display:block;width:22px;height:18px;background:repeating-linear-gradient(90deg,var(--acc) 0 3px,transparent 3px 7px);clip-path:polygon(50% 0,100% 100%,0 100%)}
nav{display:none}@media(min-width:960px){nav{display:inline}}nav a{margin-right:22px;text-decoration:none;font-weight:600;font-size:16px}nav a:hover{color:var(--acc)}
.r{display:flex;align-items:center;flex-shrink:0}
.tel{font-weight:800;text-decoration:none;white-space:nowrap;padding:8px 0;color:var(--acc)}.tel:hover{color:var(--acc-dark)}
.keel{display:inline-block;margin-left:12px;padding:3px 8px;border:1.5px solid currentColor;border-radius:4px;font-size:13px;font-weight:800;text-decoration:none;line-height:1.3}
@media(max-width:380px){.logo{font-size:19px;letter-spacing:.1em}.tel{font-size:16px}}
.ava{padding:0;background:var(--bg)}
.ava .wrap{display:grid;gap:26px;padding-top:34px;padding-bottom:40px}
@media(min-width:960px){.ava .wrap{grid-template-columns:1fr 1.1fr;align-items:center;padding-top:64px;padding-bottom:72px;gap:48px}}
.eyebrow{margin:0;font-weight:800;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
h1{font-weight:800;font-size:clamp(34px,5.2vw,60px);line-height:1.06;margin:12px 0 18px;letter-spacing:-.01em}
.alam{font-size:20px;max-width:30em;margin:0 0 26px;color:var(--muted)}
.nupp{display:inline-block;padding:14px 22px;border-radius:var(--rad);font-weight:800;text-decoration:none;margin:0 10px 10px 0}
.nupp.p{background:var(--acc);color:var(--acc-ink)}.nupp.p:hover{background:var(--acc-dark)}
.nupp.s{border:2px solid var(--ink)}.nupp.s:hover{background:var(--ink);color:#fff}
.foto{position:relative;margin:0}
.foto img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--rad)}
@media(min-width:960px){.ava .foto img{aspect-ratio:5/4}}
section{padding:60px 0}@media(min-width:900px){section{padding:88px 0}}
h2{font-weight:800;font-size:clamp(28px,4vw,42px);line-height:1.1;margin:0 0 24px;letter-spacing:-.01em}
h3{font-weight:800;font-size:21px;line-height:1.25;margin:0 0 6px}
.saumad{height:10px;background:repeating-linear-gradient(90deg,var(--line) 0 2px,transparent 2px 46px)}
.valts{background:var(--surface)}
.valts .wrap{display:grid;gap:30px}@media(min-width:960px){.valts .wrap{grid-template-columns:1fr 1fr;align-items:center;gap:56px}}
.valts p{margin:0 0 14px;max-width:33em}
.valts .kaks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.valts .kaks img{aspect-ratio:4/3}
.objekt{margin-top:20px;padding:16px 18px;background:var(--card);border-left:5px solid var(--acc);font-weight:600}
.teen{display:grid;gap:0;grid-template-columns:1fr}@media(min-width:720px){.teen{grid-template-columns:repeat(2,1fr);column-gap:40px}}@media(min-width:1000px){.teen{grid-template-columns:repeat(3,1fr)}}
.teen>div{padding:20px 0;border-top:2px solid var(--ink)}
.teen p{margin:0;color:var(--muted)}
.teen .eri h3{color:var(--acc)}
.lisa{margin:28px 0 0;display:grid;gap:14px}@media(min-width:900px){.lisa{grid-template-columns:1fr 1fr}}
.lisa p{margin:0;padding:16px 18px;background:var(--surface);border-radius:var(--rad)}
.betoon{display:grid;gap:22px;margin-top:40px}@media(min-width:900px){.betoon{grid-template-columns:.9fr 1.1fr;align-items:center;gap:40px}}
.betoon p{margin:0;max-width:30em}
.meist .wrap{display:grid;gap:36px}@media(min-width:960px){.meist .wrap{grid-template-columns:1.1fr .9fr;gap:60px}}
.meist p{margin:0 0 14px;max-width:34em}
.arvud{display:grid;grid-template-columns:1fr 1fr;gap:26px 20px;align-content:start}
.arvud b{display:block;font-weight:800;font-size:44px;line-height:1;color:var(--acc)}.arvud span{color:var(--muted);font-size:16px}
.sammud{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.samm{margin:0;padding:0;list-style:none;counter-reset:s;display:grid;gap:18px}@media(min-width:800px){.samm{grid-template-columns:repeat(3,1fr);gap:32px}}
.samm li{counter-increment:s;padding-top:14px;border-top:3px solid var(--acc);font-size:19px}
.samm li::before{content:counter(s);display:block;font-weight:800;font-size:32px;line-height:1.1;color:var(--acc)}
.kontakt{background:var(--dark);color:var(--dark-ink)}
.kontakt .wrap{display:grid;gap:36px}@media(min-width:960px){.kontakt .wrap{grid-template-columns:1fr 1fr;align-items:start}}
.kontakt .eel{color:var(--dark-muted);max-width:30em;margin:0 0 18px}
.suur{font-weight:800;font-size:clamp(24px,4.4vw,38px);text-decoration:none;color:var(--dark-acc);line-height:1.2;display:inline-block;word-break:break-all}
.suur.t{font-size:clamp(30px,5vw,44px);word-break:normal}
.kast{margin-top:16px;color:var(--dark-muted)}.kast b{color:var(--dark-ink)}
footer{background:var(--dark);color:var(--dark-muted);font-size:15px;padding:22px 0;border-top:1px solid rgba(255,255,255,.18)}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}footer a{color:var(--dark-ink)}
.alumine{position:fixed;left:0;right:0;bottom:0;z-index:9;background:var(--acc);color:var(--acc-ink);text-align:center;font-weight:800;font-size:20px;text-decoration:none;padding:15px}
@media(min-width:900px){.alumine{display:none}}
.nupp:active,.gnupp:active{transform:translateY(1px)}
.nupp.s:active{background:#000;color:#fff}
.tel:active,.suur:active{opacity:.8}
.alumine:hover,.alumine:active{background:var(--acc-dark)}
.logo:hover i{filter:brightness(.85)}
.suur:hover{text-decoration:underline;text-underline-offset:4px}
.kontakt :focus-visible,footer :focus-visible{outline-color:#fff}
.vorm{margin-top:28px;display:grid;gap:14px;max-width:520px;color:inherit}
.vorm-pea{margin:0;font-weight:800;font-size:22px}
.vorm label{display:grid;gap:4px;font-size:15px;font-weight:600}
.vorm input,.vorm textarea{font:inherit;font-weight:400;color:var(--dark-ink);background:rgba(255,255,255,.06);border:1.5px solid var(--dark-muted);border-radius:4px;padding:10px 12px;min-height:48px;width:100%}
.vorm input:hover,.vorm textarea:hover{border-color:#fff}
.vorm input:focus,.vorm textarea:focus{border-color:#fff;background:rgba(255,255,255,.1)}
.vorm button{font:inherit;font-weight:800;color:var(--acc-ink);background:var(--acc);border:0;border-radius:var(--rad);padding:14px 24px;min-height:48px;justify-self:start;cursor:pointer}
.vorm button:hover{background:var(--acc-dark)}.vorm button:active{transform:translateY(1px)}
.vorm button[disabled]{opacity:.6;cursor:progress}
.vorm .loks{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.vorm-teade{margin:0;font-size:16px;min-height:1.6em}
.vorm-teade.ok{font-weight:800;color:#fff;background:rgba(255,255,255,.1);padding:12px 14px;border-left:4px solid var(--dark-acc)}
.vorm-teade.viga{font-weight:700;color:#fff;background:rgba(179,39,30,.35);padding:12px 14px;border-left:4px solid var(--dark-acc)}
.vorm-teade a{color:inherit;font-weight:800}
.vorm-markus{margin:0;font-size:14px;color:var(--dark-muted)}.vorm-markus a{color:var(--dark-ink)}
footer nav,footer .lingid{display:inline}footer a{margin-left:14px}footer a:hover{color:var(--dark-acc)}
.tekst{padding:48px 0 72px}.tekst .wrap{max-width:780px}.tekst h1{font-size:clamp(30px,4.6vw,46px)}
.tekst h2{font-size:24px;margin:34px 0 10px}.tekst p,.tekst li{max-width:40em}
.tekst a{color:var(--acc);font-weight:700}.tekst a:hover{color:var(--acc-dark)}
