/*
Theme Name: Huoltovire One Page
Theme URI: https://huoltovire.fi/
Author: Huoltovire
Description: Huoltovire Kiinteistöpalvelut - yhden sivun WordPress-teema.
Version: 1.0.0
License: GPL-2.0-or-later
Text Domain: huoltovire
*/
:root{--hv-green:#2f641e;--hv-green-2:#4b8d24;--hv-dark:#0b0d0b;--hv-text:#141714;--hv-light:#f4f5f2;--hv-border:#dce2d8;--hv-max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--hv-text);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit}.container{width:min(var(--hv-max),calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid #e5e9e3;backdrop-filter:blur(10px)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{display:block;width:auto;height:56px;max-width:280px}.main-nav ul{display:flex;list-style:none;margin:0;padding:0;gap:28px;align-items:center}.main-nav a{text-decoration:none;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.main-nav a:hover{color:var(--hv-green)}.nav-cta{background:var(--hv-green);color:#fff!important;padding:12px 20px;border-radius:7px}.menu-toggle{display:none;background:none;border:0;font-size:28px}
.hero{min-height:680px;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(115deg,#080a08 0%,#121712 48%,#24421c 100%);color:#fff}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 30%,rgba(75,141,36,.32),transparent 34%),linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.05))}.hero:after{content:"";position:absolute;right:-130px;bottom:-180px;width:600px;height:600px;border:100px solid rgba(75,141,36,.16);transform:rotate(25deg)}.hero-content{position:relative;z-index:1;max-width:760px;padding:90px 0}.eyebrow{display:inline-block;color:#a7d47b;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px;margin-bottom:18px}.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.02;margin:0 0 24px;font-weight:800;letter-spacing:-.04em}.hero h1 span{color:#79b84a}.hero p{font-size:20px;max-width:640px;color:#e4e9e1;margin:0 0 34px}.buttons{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-block;padding:14px 24px;border-radius:7px;text-decoration:none;font-weight:800;border:1px solid var(--hv-green)}.btn-primary{background:var(--hv-green);color:#fff}.btn-secondary{color:#fff;border-color:#78926d;background:rgba(255,255,255,.05)}
section{padding:90px 0}.section-kicker{color:var(--hv-green);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:13px}.section-title{font-size:clamp(32px,4vw,48px);line-height:1.1;margin:8px 0 16px}.section-lead{font-size:18px;color:#5d655c;max-width:760px}.services{background:var(--hv-light)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}.card{background:#fff;border:1px solid var(--hv-border);border-radius:12px;padding:30px;box-shadow:0 8px 28px rgba(0,0,0,.04)}.card .num{font-size:13px;color:var(--hv-green);font-weight:800}.card h3{margin:12px 0 8px;font-size:22px}.card p{margin:0;color:#5d655c}.about{background:#fff}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.about-box{background:#0c100c;color:#fff;border-radius:14px;padding:36px;position:relative;overflow:hidden}.about-box:after{content:"";position:absolute;width:180px;height:180px;border:36px solid rgba(75,141,36,.45);right:-90px;bottom:-90px;transform:rotate(25deg)}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:28px}.fact{border-top:2px solid var(--hv-green);padding-top:12px}.fact strong{display:block;font-size:22px}.contact{background:#0b0d0b;color:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact p{color:#d0d7cf}.contact-list{display:grid;gap:14px;margin-top:25px}.contact-item{display:flex;gap:12px;align-items:center}.contact-item b{color:#9acb6c}.contact-form{background:#fff;color:#111;padding:30px;border-radius:12px}.contact-form label{display:block;font-weight:700;margin-bottom:6px}.contact-form input,.contact-form textarea{width:100%;border:1px solid #d8ddd7;border-radius:6px;padding:12px;margin-bottom:16px;font:inherit}.contact-form textarea{min-height:120px}.contact-form button{border:0;cursor:pointer;font:inherit}
.site-footer{background:#050605;color:#aeb5ac;border-top:1px solid #263026;padding:28px 0}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-inner img{height:42px;width:auto}.small{font-size:13px}
@media(max-width:900px){.main-nav{display:none;position:absolute;left:0;right:0;top:82px;background:#fff;border-bottom:1px solid #ddd;padding:15px 20px}.main-nav.is-open{display:block}.main-nav ul{display:grid;gap:0}.main-nav li{border-bottom:1px solid #eee}.main-nav a{display:block;padding:13px 0}.menu-toggle{display:block}.cards{grid-template-columns:1fr}.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.hero{min-height:610px}.hero-content{padding:70px 0}}
@media(max-width:600px){.container{width:min(var(--hv-max),calc(100% - 28px))}.header-inner{min-height:72px}.brand img{height:45px;max-width:220px}.main-nav{top:72px}.hero h1{font-size:43px}.hero p{font-size:17px}.buttons{display:grid}.btn{text-align:center}.facts{grid-template-columns:1fr}section{padding:65px 0}.footer-inner{display:grid}}
