:root{
  --mist:#eef3f6;
  --mist-2:#dde7ee;
  --slate:#3a4b58;
  --slate-deep:#26343f;
  --accent:#6b8ca3;
  --accent-soft:#a9c4d4;
  --ink:#2c3a44;
  --muted:#6c7a85;
  --white:#ffffff;
  --shadow:0 18px 48px rgba(38,52,63,.12);
  --radius:18px;
  --font:'Segoe UI',system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);background:var(--mist);line-height:1.65;-webkit-font-smoothing:antialiased}
.container{width:min(1140px,92%);margin:0 auto}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.btn{display:inline-block;border:none;cursor:pointer;font-size:.96rem;font-weight:600;padding:.85rem 1.6rem;border-radius:999px;transition:.25s;font-family:inherit}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--slate));color:#fff;box-shadow:0 10px 26px rgba(107,140,163,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(107,140,163,.45)}
.btn-ghost{background:rgba(255,255,255,.5);color:var(--slate-deep);border:1px solid var(--accent-soft)}
.btn-ghost:hover{background:#fff}
.btn-sm{padding:.6rem 1.2rem;font-size:.88rem}

/* header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(238,243,246,.82);backdrop-filter:blur(12px);border-bottom:1px solid rgba(169,196,212,.4)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.25rem;color:var(--slate-deep);letter-spacing:.02em}
.brand-light{color:#fff}
.main-nav{display:flex;gap:1.8rem}
.main-nav a{font-weight:500;color:var(--slate);transition:.2s}
.main-nav a:hover{color:var(--accent)}
.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--slate-deep)}

/* hero */
.hero{position:relative;min-height:78vh;display:flex;align-items:center;color:#fff;background:linear-gradient(160deg,#52707f,#26343f),url('https://images.unsplash.com/photo-1505764706515-aa95265c5abc?auto=format&fit=crop&w=1600&q=70');background-size:cover;background-position:center;background-blend-mode:multiply}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,52,63,.15),rgba(38,52,63,.55))}
.hero-content{position:relative;max-width:680px;padding:5rem 0}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;opacity:.85;margin-bottom:1rem}
.hero h1{font-size:clamp(2rem,5vw,3.3rem);line-height:1.15;font-weight:700;margin-bottom:1.2rem;font-style:italic}
.lead{font-size:1.12rem;opacity:.94;margin-bottom:2rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}

/* sections */
section{padding:5rem 0}
.section-title{font-size:clamp(1.6rem,3.5vw,2.3rem);color:var(--slate-deep);text-align:center;font-style:italic;font-weight:700}
.section-sub{text-align:center;color:var(--muted);max-width:620px;margin:.8rem auto 2.8rem}
.section-sub.left{text-align:left;margin-left:0}

.grid{display:grid;gap:1.6rem}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}

.card{background:rgba(255,255,255,.7);border:1px solid rgba(169,196,212,.5);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:.3s;backdrop-filter:blur(6px)}
.card:hover{transform:translateY(-6px)}
.card img{height:160px;width:100%;object-fit:cover}
.card h3{font-size:1.12rem;color:var(--slate-deep);padding:1.1rem 1.2rem .3rem}
.card p{color:var(--muted);padding:0 1.2rem 1.4rem;font-size:.95rem}

/* method */
.method{background:linear-gradient(180deg,var(--mist),var(--mist-2))}
.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.method-image img{border-radius:var(--radius);box-shadow:var(--shadow);height:100%;object-fit:cover}
.steps{list-style:none;margin-top:1.4rem;display:flex;flex-direction:column;gap:1.3rem}
.steps li{display:flex;gap:1rem;align-items:flex-start}
.steps span{font-style:italic;font-weight:700;font-size:1.3rem;color:var(--accent);min-width:2.2rem}
.steps strong{display:block;color:var(--slate-deep);font-size:1.05rem}
.steps p{color:var(--muted);font-size:.94rem}

/* pricing */
.price-card{background:rgba(255,255,255,.75);border:1px solid rgba(169,196,212,.5);border-radius:var(--radius);padding:2rem 1.6rem;box-shadow:var(--shadow);position:relative;display:flex;flex-direction:column;backdrop-filter:blur(6px)}
.price-card.featured{border:2px solid var(--accent);transform:scale(1.03)}
.badge{position:absolute;top:-.8rem;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;font-size:.74rem;font-weight:600;padding:.3rem .9rem;border-radius:999px;letter-spacing:.05em}
.price-card h3{color:var(--slate-deep);font-size:1.3rem;margin-bottom:.5rem}
.price{font-size:2rem;font-weight:700;color:var(--accent);margin-bottom:1.2rem}
.price span{font-size:.9rem;color:var(--muted);font-weight:400}
.price-card ul{list-style:none;margin-bottom:1.6rem;flex:1}
.price-card li{padding:.45rem 0;border-bottom:1px solid rgba(169,196,212,.35);color:var(--slate);font-size:.94rem}
.price-card .btn{text-align:center}

/* contact */
.contact{background:linear-gradient(180deg,var(--mist-2),var(--mist))}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.info-list{list-style:none;margin-top:1rem;display:flex;flex-direction:column;gap:1.1rem}
.info-list li{color:var(--slate)}
.info-list strong{color:var(--slate-deep)}
.info-list a{color:var(--accent)}
.contact-form{background:rgba(255,255,255,.8);padding:2rem;border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(6px)}
.field{margin-bottom:1.1rem}
.field label{display:block;font-size:.9rem;font-weight:600;color:var(--slate-deep);margin-bottom:.4rem}
.field input,.field textarea{width:100%;padding:.8rem 1rem;border:1px solid var(--accent-soft);border-radius:12px;font-family:inherit;font-size:.95rem;background:rgba(255,255,255,.7);transition:.2s}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(107,140,163,.18)}
.checkbox{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;color:var(--muted);margin-bottom:1.2rem}
.checkbox a{color:var(--accent)}
.checkbox input{margin-top:.25rem}
.form-feedback{margin-top:1rem;font-size:.92rem;font-weight:600;color:var(--accent)}

/* footer */
.site-footer{background:var(--slate-deep);color:#cdd8e0;padding:3.5rem 0 1.5rem}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2rem}
.footer-note{margin-top:1rem;font-size:.92rem;color:#9fb0bc;max-width:300px}
.site-footer h4{color:#fff;margin-bottom:1rem;font-size:1rem}
.site-footer .footer-grid a{display:block;color:#9fb0bc;padding:.3rem 0;transition:.2s}
.site-footer .footer-grid a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:2.5rem;padding-top:1.5rem;text-align:center;font-size:.85rem;color:#7e909c}

/* cookie */
.cookie-banner{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);width:min(960px,94%);background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid var(--accent-soft);box-shadow:var(--shadow);border-radius:16px;padding:1.2rem 1.5rem;display:none;align-items:center;justify-content:space-between;gap:1.2rem;z-index:60;flex-wrap:wrap}
.cookie-banner.show{display:flex}
.cookie-banner p{font-size:.9rem;color:var(--slate);flex:1;min-width:220px}
.cookie-banner a{color:var(--accent);font-weight:600}
.cookie-actions{display:flex;gap:.7rem}

/* legal pages */
.legal{padding-top:3rem;padding-bottom:4rem}
.legal h1{font-size:2rem;color:var(--slate-deep);font-style:italic;margin-bottom:.5rem}
.legal .updated{color:var(--muted);font-size:.9rem;margin-bottom:2rem}
.legal h2{color:var(--slate-deep);font-size:1.25rem;margin:2rem 0 .6rem}
.legal p,.legal li{color:var(--slate);margin-bottom:.7rem}
.legal ul{padding-left:1.4rem}
.back-link{display:inline-block;margin-top:2rem;color:var(--accent);font-weight:600}

@media(max-width:900px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:1fr}
  .method-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .price-card.featured{transform:none}
  .main-nav{position:absolute;top:100%;left:0;right:0;background:rgba(238,243,246,.98);flex-direction:column;padding:1rem 6%;gap:.6rem;display:none;box-shadow:var(--shadow)}
  .main-nav.open{display:flex}
  .nav-toggle{display:block}
}
@media(max-width:560px){
  .grid-4{grid-template-columns:1fr}
  section{padding:3.5rem 0}
}
