
:root{
  --bg:#0b1016; --text:#0f1720; --muted:#5b6674; --brand:#2f6df6; --brand-2:#19b38c; --paper:#ffffff;
  --radius:16px; --shadow:0 6px 24px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial;
     color:var(--text); background:#f7f9fc; line-height:1.6}
img{max-width:100%; height:auto; border-radius:12px; box-shadow:var(--shadow); object-fit:cover; max-height:500px}
@media(max-width:640px){img{max-height:300px}}
h1{font-size:clamp(28px,3vw,44px); line-height:1.2; margin:0 0 12px}
h2{font-size:clamp(22px,2.5vw,32px); margin:24px 0 12px}
h3{font-size:clamp(18px,2vw,22px); margin:16px 0 8px}
p{margin:0 0 12px}
.container{width:min(1120px,92%); margin:0 auto}
.grid-2{display:grid; grid-template-columns:1.1fr .9fr; gap:28px}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:24px}
.grid-gallery{display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px}
@media(max-width:900px){.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.grid-3{grid-template-columns:1fr}}

.btn{display:inline-block; padding:12px 18px; border-radius:var(--radius); text-decoration:none; border:1px solid transparent; box-shadow:var(--shadow)}
.btn-primary{background:var(--brand); color:#fff}
.btn-secondary{background:#fff; border-color:#e6eaf0; color:var(--text)}
.btn-ghost{background:transparent; border-color:#cfd6e2; color:var(--text)}

.site-header{position:sticky; top:0; background:#fff; border-bottom:1px solid #e8edf4; z-index:20}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 0}
.logo{font-weight:800; color:var(--text); text-decoration:none; display:flex; align-items:center; gap:10px}
.logo-mark{display:inline-grid; place-items:center; width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,var(--brand),var(--brand-2)); color:#fff; font-weight:800}
.nav{display:flex; gap:18px; align-items:center}
.nav a{color:var(--text); text-decoration:none}
.nav-toggle{display:none}
@media(max-width:760px){
  .nav{display:none; position:absolute; right:4%; top:60px; background:#fff; border:1px solid #e8edf4; border-radius:12px; padding:12px; flex-direction:column; width:min(280px,92%)}
  .nav-toggle{display:block; background:#fff; border:1px solid #e8edf4; border-radius:10px; padding:8px 12px}
}

.hero{padding:36px 0 12px; background:linear-gradient(180deg,#f8fbff,rgba(255,255,255,0))}
.hero-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:28px; align-items:center}
.hero-copy .lead{font-size:18px; color:var(--muted)}
.hero-bullets{margin:12px 0 0; padding-left:18px}
.hero-bullets li{margin:6px 0}
.hero-ctas{display:flex; gap:12px; margin:12px 0 0}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}

.trust-strip{padding:22px 0; border-top:1px solid #e8edf4; border-bottom:1px solid #e8edf4; background:#fff}
.trust-strip ul{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; align-items:center; margin:0; padding:0; list-style:none}
.trust-strip img{max-height:56px; box-shadow:none}
@media(max-width:760px){.trust-strip ul{grid-template-columns:repeat(2,1fr)}}

.services{padding:34px 0}
.card{background:#fff; border:1px solid #e8edf4; border-radius:16px; padding:14px}
.card h3{margin-top:10px}
.card p{color:var(--muted)}

.process{padding:30px 0; background:#fff}
.process-list{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.process-list li{background:#f8fbff; border:1px solid #e4ecfb; border-radius:16px; padding:16px}
.process-list .step{display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--brand); color:#fff; font-weight:700; margin-right:8px}
@media(max-width:900px){.process-list{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.process-list{grid-template-columns:1fr}}

.pricing-teaser{padding:30px 0}
.price-card{background:#fff; border:1px solid #e8edf4; border-radius:16px; padding:18px}
.price{font-weight:900; font-size:28px}
.price-card.featured{border-color:var(--brand)}

.gallery{padding:26px 0}

.cta{padding:30px 0; background:linear-gradient(180deg,rgba(47,109,246,.08),rgba(25,179,140,.08))}
.cta-inner{display:flex; align-items:center; justify-content:space-between; gap:12px}
@media(max-width:760px){.cta-inner{flex-direction:column; align-items:flex-start}}

.site-footer{margin-top:24px; background:#0e1220; color:#c9d3e1; padding:24px 0 0}
.site-footer a{color:#fff}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; border-top:1px solid #2a3142; padding:12px 0; margin-top:12px}
.socials a{margin-left:10px; text-decoration:none}

.cookie-banner{position:fixed; inset:auto 16px 16px 16px; background:#fff; border:1px solid #e8edf4; border-radius:12px; padding:12px; display:flex; justify-content:space-between; align-items:center; gap:12px; box-shadow:var(--shadow)}
.cookie-banner.hidden{display:none}

.ticks{padding-left:18px}
.legal{padding:26px 0}

.theme-a h1,.theme-a h2{font-family:Georgia,serif}
.theme-b h1,.theme-b h2{font-family:'Trebuchet MS',system-ui}
.theme-c h1,.theme-c h2{letter-spacing:.5px}
.theme-d h1,.theme-d h2{text-transform:uppercase}
.theme-e h1,.theme-e h2{font-weight:900}
.theme-f h1,.theme-f h2{font-style:italic}
.theme-g h1,.theme-g h2{text-decoration:underline}
