:root{
  --paper:#eef1e6;
  --sage:#9cae8f;
  --moss:#25342b;
  --ink:#172019;
  --clay:#c46f4d;
  --cream:#fffaf0;
  --muted:#637066;
  --line:rgba(23,32,25,.14);
  --glass:rgba(238,241,230,.68);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,system-ui,sans-serif;line-height:1.6}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(1160px,calc(100% - 40px));margin:auto}
.site-header{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:20;width:min(1160px,calc(100% - 32px));display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 18px;border-radius:999px;background:var(--glass);border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(22px);box-shadow:0 18px 60px rgba(37,52,43,.16)}
.logo{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.05em}
.logo-mark{width:38px;height:38px;border-radius:999px;background:conic-gradient(from 40deg,var(--moss),var(--sage),var(--clay),var(--moss));box-shadow:inset 0 0 0 9px var(--cream)}
.nav{display:flex;gap:22px;font-size:13px;font-weight:700;color:var(--muted)}
.nav a:hover,.phone:hover{color:var(--clay)}
.phone{font-weight:900;color:var(--moss);font-size:18px}
.hero{min-height:100vh;position:relative;overflow:hidden;display:grid;align-items:center;padding-top:110px}
.noise{position:absolute;inset:0;background:radial-gradient(circle at 12% 24%,rgba(196,111,77,.22),transparent 30%),radial-gradient(circle at 80% 10%,rgba(156,174,143,.55),transparent 34%),linear-gradient(135deg,#eef1e6,#faf2df);z-index:-2}
.noise:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(23,32,25,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(23,32,25,.04) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,#000,transparent 86%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .85fr;gap:54px;align-items:center}
.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--clay);font-weight:900}
h1,h2{font-family:"Source Serif 4",serif;line-height:1.02;margin:14px 0;color:var(--moss)}
h1{font-size:clamp(44px,6.5vw,84px);max-width:850px}
h2{font-size:clamp(34px,4.4vw,62px)}
h3{margin:0 0 10px;line-height:1.16;color:var(--moss)}
.hero-copy p,.section-head p,.process-copy p,.contact-copy p{font-size:18px;color:var(--muted);max-width:690px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:18px;border:0;padding:15px 23px;font-weight:900;cursor:pointer;transition:.25s ease;font-family:inherit}
.btn-primary{background:var(--moss);color:var(--cream);box-shadow:0 22px 50px rgba(37,52,43,.22)}
.btn-primary:hover{transform:translateY(-3px) rotate(-1deg);background:#111a14}
.btn-ghost{background:rgba(255,255,255,.54);border:1px solid var(--line);color:var(--moss)}
.btn-ghost:hover{transform:translateY(-3px);border-color:var(--clay)}
.hero-panel{position:relative;border-radius:42px;padding:14px;background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.65);box-shadow:0 30px 90px rgba(37,52,43,.18);transform:rotate(1.5deg)}
.hero-panel img{height:620px;width:100%;object-fit:cover;border-radius:32px;filter:saturate(.85)}
.status-card{position:absolute;left:-24px;bottom:42px;width:min(360px,88%);padding:22px;border-radius:28px;background:rgba(255,250,240,.86);backdrop-filter:blur(16px);box-shadow:0 20px 60px rgba(37,52,43,.20)}
.status-card span{color:var(--clay);font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.12em}
.status-card b{display:block;margin:5px 0;font-size:22px;color:var(--moss)}
.status-card small{color:var(--muted)}
.section{padding:104px 0}
.section-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:end;margin-bottom:38px}
.comfort-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.comfort-card,.case-card,.timeline-item,.price-card,.faq-item,.contact-card{background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.7);border-radius:32px;box-shadow:0 20px 70px rgba(37,52,43,.09)}
.comfort-card{padding:26px;transition:.25s ease}
.comfort-card:hover,.price-card:hover{transform:translateY(-6px);box-shadow:0 30px 80px rgba(37,52,43,.16)}
.comfort-card span{display:inline-grid;place-items:center;width:48px;height:48px;margin-bottom:26px;border-radius:16px;background:var(--moss);color:var(--cream);font-weight:900}
.comfort-card p,.case-card p,.timeline-item p,.price-card p,.price-card li,.faq-item p{color:var(--muted)}
.cases{background:var(--moss);color:var(--cream)}
.cases h2,.cases h3{color:var(--cream)}
.cases .section-kicker{color:#e7b19b}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.case-card{overflow:hidden;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);transition:.25s ease}
.case-card img{height:300px;width:100%;object-fit:cover;transition:.5s ease;filter:saturate(.85)}
.case-card:hover img{transform:scale(1.08)}
.case-card:hover{transform:translateY(-6px)}
.case-card div{padding:24px}
.process-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:54px;align-items:start}
.timeline{display:grid;gap:16px;position:relative}
.timeline-item{display:grid;grid-template-columns:64px 1fr;gap:10px 18px;padding:22px;background:var(--cream)}
.timeline-item b{grid-row:1/3;display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--sage);color:var(--moss);font-size:24px}
.timeline-item p{margin:0}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.price-card{padding:30px;background:var(--cream);position:relative}
.price-card b{display:block;font-size:34px;margin:18px 0;color:var(--clay)}
.price-card ul{padding-left:18px;margin-bottom:24px}
.featured{background:linear-gradient(160deg,var(--moss),#334b3d);color:var(--cream);transform:translateY(-10px)}
.featured h3,.featured p,.featured li{color:var(--cream)}
.featured span{position:absolute;top:18px;right:18px;padding:7px 12px;border-radius:999px;background:#e7b19b;color:#25150f;font-size:12px;font-weight:900}
.featured .btn-primary{background:#e7b19b;color:#25150f}
.faq-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.faq-item{overflow:hidden;background:var(--cream)}
.faq-item button{width:100%;border:0;background:transparent;text-align:left;padding:22px 24px;color:var(--moss);font:900 18px Montserrat;cursor:pointer}
.faq-item p{max-height:0;overflow:hidden;margin:0;padding:0 24px;transition:.3s ease}
.faq-item.active p{max-height:170px;padding:0 24px 22px}
.contact{background:linear-gradient(180deg,var(--paper),#dfe7d9)}
.contact-card{display:grid;grid-template-columns:.9fr 1fr;gap:36px;align-items:center;padding:44px;background:rgba(37,52,43,.92);color:var(--cream);box-shadow:0 35px 110px rgba(37,52,43,.22)}
.contact-card h2{color:var(--cream)}
.contact-card .section-kicker,.contact-copy p{color:#e7b19b}
.lead-form{display:grid;gap:14px}
input,textarea{width:100%;padding:17px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:var(--cream);outline:0;font:inherit}
input::placeholder,textarea::placeholder{color:rgba(255,250,240,.64)}
textarea{min-height:128px;resize:vertical}
input:focus,textarea:focus{border-color:#e7b19b}
.form-message{min-height:24px;margin:0;color:#e7b19b;font-weight:800}
.footer{padding:32px 0;background:#101711;color:#c3cbbb}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.footer b{display:block;color:var(--cream)}
.footer a{text-decoration:underline}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.nav{display:none}.hero-grid,.section-head,.process-wrap,.contact-card{grid-template-columns:1fr}.comfort-grid{grid-template-columns:repeat(2,1fr)}.case-grid,.price-grid,.faq-list{grid-template-columns:1fr}.hero-panel img{height:460px}}
@media(max-width:620px){.site-header{top:8px}.phone{font-size:14px}.hero{padding-top:130px}.hero-panel{transform:none}.status-card{left:14px}.comfort-grid{grid-template-columns:1fr}.section{padding:72px 0}.contact-card{padding:26px}h1{font-size:40px}.hero-actions{display:grid}}
