/* Vk-onehomeservice static local-service design */
:root {
  --paper: #fff;
  --paper-2: #eee9df;
  --surface: #fffdf8;
  --ink: #17221d;
  --muted: #5f6964;
  --green: #176b57;
  --green-dark: #0f4d3f;
  --green-pale: #e7f0eb;
  --brass: #b88436;
  --line: #d9d4ca;
  --line-strong: #c3bdb1;
  --danger: #a63b31;
  --success: #176b57;
  --focus: #0f4d3f;
  --max: 1180px;
  --radius: 10px;
  --radius-sm: 7px;
  --fs-body: clamp(1rem, .97rem + .12vw, 1.05rem);
  --fs-small: clamp(.9rem, .88rem + .08vw, .94rem);
  --fs-caption: .82rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: var(--fs-body);
  line-height: 1.65;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img, svg { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
p, li, h1, h2, h3, a { overflow-wrap: break-word; }
button { font: inherit; }
button { cursor: pointer; }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
[id] { scroll-margin-top: 104px; }

.skip-link { position:absolute; left:-9999px; top:10px; background:#fff; padding:10px 14px; z-index:9999; border:1px solid var(--line); }
.skip-link:focus { left:10px; }
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

/* Contact information strip */
.topbar { background:#f4f5f3; color:#4f5954; font-size:.82rem; letter-spacing:.01em; border-bottom:1px solid var(--line); }
.topbar .container { min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.topbar strong { display:block; color:var(--ink); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.topbar-actions { display:inline-flex; align-items:stretch; gap:0; white-space:nowrap; }
.topbar-actions a { display:grid; gap:1px; padding:10px 24px; border-left:1px solid var(--line); }
.topbar-actions a:last-child { border-right:1px solid var(--line); }
.topbar-actions a:hover strong { color:var(--green); }

/* Header */
.site-header { position:sticky; top:0; z-index:1000; background:rgba(255,255,255,.98); border-bottom:1px solid var(--line); box-shadow:0 6px 22px rgba(23,34,29,.04); }
.nav-wrap { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:11px; font-weight:800; letter-spacing:-.025em; font-size:1.1rem; }
.brand-mark { width:86px; height:38px; flex:0 0 auto; display:grid; place-items:center; overflow:hidden; border-radius:4px; background:#fff; }
.brand-mark img { width:100%; height:100%; object-fit:contain; }
.nav { display:flex; align-items:center; gap:2px; }
.nav a { min-height:42px; display:inline-flex; align-items:center; padding:9px 10px; font-size:.9rem; font-weight:650; color:#39443f; }
.nav a:hover, .nav a[aria-current="page"] { color:var(--green-dark); }
.nav a[aria-current="page"] { box-shadow: inset 0 -2px var(--green); }
.nav-cta { margin-left:9px; padding:9px 15px !important; min-height:40px !important; border:1px solid var(--green) !important; background:var(--green) !important; color:#fff !important; border-radius:6px; }
.nav-cta:hover { background:var(--green-dark) !important; }
.nav-whatsapp { margin-left:4px; background:#1f8f61 !important; border-color:#1f8f61 !important; }
.nav-whatsapp:hover { background:#166f4c !important; border-color:#166f4c !important; }
.menu-toggle { display:none; width:44px; height:44px; border:1px solid var(--line-strong); background:transparent; border-radius:6px; }
.menu-toggle span { display:block; width:20px; height:2px; margin:4px auto; background:var(--ink); }

/* Type */
h1, h2, h3, h4 { margin-top:0; color:var(--ink); }
h1, h2 { font-family: Georgia, "Times New Roman", serif; font-weight:600; letter-spacing:-.035em; line-height:1.05; }
h1 { margin:16px 0 20px; font-size:clamp(2.75rem, 5.6vw, 5.6rem); }
h2 { margin-bottom:16px; font-size:clamp(2rem, 3.5vw, 3.15rem); }
h3 { line-height:1.25; font-size:1.15rem; letter-spacing:-.012em; }
.lead { max-width:700px; color:var(--muted); font-size:clamp(1.05rem, 1.6vw, 1.2rem); }
.eyebrow { display:inline-flex; align-items:center; gap:9px; color:var(--green-dark); font-size:.75rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow::before { content:""; width:28px; height:1px; background:var(--brass); }

/* Buttons */
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin:30px 0 23px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:11px 18px; border:1px solid transparent; border-radius:6px; font-weight:750; font-size:.93rem; transition:background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease; }
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:var(--green); color:#fff; border-color:var(--green); }
.btn-primary:hover { background:var(--green-dark); border-color:var(--green-dark); }
.btn-secondary { background:transparent; color:var(--ink); border-color:var(--line-strong); }
.btn-secondary:hover { border-color:var(--ink); background:#fffaf2; }
.btn-whatsapp { background:#1f8f61; color:#fff; border-color:#1f8f61; }
.btn-whatsapp:hover { background:#166f4c; border-color:#166f4c; }
.contact-actions { display:flex; flex-wrap:wrap; gap:10px; margin:30px 0 23px; align-items:center; }
.call-card .contact-actions, .cta-strip .contact-actions { margin:18px 0 0; }

/* Hero */
.hero { padding:62px 0 58px; background:var(--paper); border-bottom:1px solid var(--line); }
.image-hero { position:relative; overflow:hidden; min-height:620px; display:flex; align-items:center; color:#fff; background:#17231e; }
.image-hero .hero-media { position:absolute; inset:0; z-index:0; }
.image-hero .hero-media picture { display:block; width:100%; height:100%; }
.image-hero .hero-media img { width:100%; height:100%; object-fit:cover; opacity:.72; }
.image-hero::after { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg, rgba(18,31,25,.92), rgba(18,31,25,.58) 48%, rgba(18,31,25,.22)); }
.image-hero .container { position:relative; z-index:1; }
.hero-copy-panel { max-width:720px; padding:18px 0; }
.image-hero h1, .image-hero .lead { color:#fff; text-shadow:0 2px 18px rgba(0,0,0,.26); }
.image-hero h1 { font-size:clamp(2.65rem, 3.45vw, 4.05rem); }
.image-hero .eyebrow { color:#f8fbf9; }
.image-hero .trust-row { border-top-color:rgba(255,255,255,.24); color:#edf6f2; }
.image-hero .btn-secondary { color:#fff; border-color:rgba(255,255,255,.72); background:rgba(255,255,255,.08); }
.image-hero .btn-secondary:hover { color:#fff; border-color:#fff; background:rgba(255,255,255,.16); }
.poster-hero { min-height:calc(100vh - 74px); min-height:calc(100dvh - 74px); color:var(--ink); background:#f7fbff; }
.poster-hero .hero-media { left:44%; background:#fff; }
.poster-hero .hero-media img { object-fit:contain; object-position:center; opacity:1; }
.poster-hero::after { background:linear-gradient(90deg, #fff 0%, rgba(255,255,255,.98) 38%, rgba(255,255,255,.7) 57%, rgba(255,255,255,.08) 82%); }
.poster-hero h1, .poster-hero .lead { color:var(--ink); text-shadow:none; }
.poster-hero .eyebrow { color:var(--green-dark); }
.poster-hero .trust-row { border-top-color:var(--line); color:#38443e; }
.poster-hero .contact-actions { margin:26px 0 14px; }
.poster-hero .btn-primary { background:#c21f1f; border-color:#c21f1f; color:#fff; }
.poster-hero .btn-primary:hover { background:#9f1818; border-color:#9f1818; }
.hero-phone-strip { display:inline-flex; flex-direction:column; justify-content:center; gap:0; min-width:min(100%, 390px); margin-top:4px; padding:13px 18px 15px; border-radius:7px; background:#072d64; color:#fff; box-shadow:0 14px 32px rgba(7,45,100,.18); }
.hero-phone-strip span { color:#ffe25b; font-size:.86rem; font-weight:800; }
.hero-phone-strip strong { color:#fff; font-size:clamp(2rem,4.3vw,3.5rem); line-height:1; letter-spacing:.02em; }
.hero-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:64px; align-items:center; }
.hero-grid > div:first-child { max-width:690px; }
.trust-row { display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:25px; padding-top:22px; border-top:1px solid var(--line); color:#49534e; font-size:.88rem; font-weight:600; }
.trust-row span::before { content:""; display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--brass); margin:0 9px 2px 0; }

.hero-service-panel { background:var(--surface); border:1px solid var(--line-strong); }
.service-panel-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; padding:24px 26px 21px; border-bottom:1px solid var(--line); }
.service-panel-head span { display:block; color:var(--green-dark); font-size:.74rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.service-panel-head strong { display:block; max-width:300px; margin-top:4px; font-family:Georgia, "Times New Roman", serif; font-size:1.55rem; line-height:1.12; font-weight:600; }
.service-panel-head em { font-style:normal; color:var(--muted); font-size:.78rem; white-space:nowrap; }
.service-preview { display:grid; grid-template-columns:138px 1fr; min-height:150px; border-bottom:1px solid var(--line); transition:background .15s ease; }
.service-preview:hover { background:#faf7f0; }
.service-preview img { width:100%; height:100%; min-height:150px; object-fit:cover; border-right:1px solid var(--line); }
.service-preview-copy { position:relative; padding:22px 24px; }
.service-no { display:block; margin-bottom:12px; color:var(--brass); font-family:Georgia, serif; font-size:.84rem; }
.service-preview h3 { margin:0 0 7px; font-family:Georgia, serif; font-size:1.3rem; font-weight:600; }
.service-preview p { margin:0; color:var(--muted); font-size:.9rem; line-height:1.5; }
.service-arrow { position:absolute; right:22px; top:20px; color:var(--green); font-size:1.2rem; }
.service-panel-note { display:flex; justify-content:space-between; gap:15px; padding:13px 26px; color:var(--muted); font-size:.78rem; }

/* Legacy hero card fallback */
.hero-card { background:var(--surface); border:1px solid var(--line-strong); padding:18px; border-radius:var(--radius); }
.hero-visual { min-height:310px; display:flex; align-items:flex-end; padding:28px; background:var(--green-dark); color:#fff; border-radius:6px; }
.hero-visual h2, .hero-visual p { color:#fff !important; }
.hero-mini-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:0; border:1px solid var(--line); border-top:0; }
.hero-mini { padding:16px; background:var(--surface); }
.hero-mini + .hero-mini { border-left:1px solid var(--line); }
.hero-mini strong { display:block; }
.hero-mini span { display:block; color:var(--muted); font-size:.83rem; margin-top:3px; }

/* Sections */
section { padding:74px 0; }
.section-soft { background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section-head { max-width:790px; margin-bottom:36px; }
.section-head p { margin:0; max-width:680px; color:var(--muted); }
.grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.grid-4 { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }

.card { background:transparent; border-top:1px solid var(--line-strong); padding:25px 4px 2px; }
.card p { color:var(--muted); }
.grid-2 > .card + .card { margin-left:16px; }
.card-icon { width:38px; height:38px; display:grid; place-items:center; margin-bottom:20px; color:var(--green-dark); border:1px solid var(--line-strong); border-radius:6px; background:var(--surface); }
.card-icon svg { width:21px; height:21px; }
.service-card { display:flex; flex-direction:column; min-height:330px; }
.image-service-card img { width:100%; height:clamp(180px, 18vw, 260px); object-fit:cover; border:1px solid var(--line-strong); border-radius:4px; margin-bottom:18px; background:var(--surface); }
.service-card h3 { margin-bottom:10px; font-family:Georgia, serif; font-size:1.45rem; font-weight:600; }
.service-card .btn { margin-top:auto; align-self:flex-start; }

.check-list { list-style:none; padding:0; margin:18px 0 24px; }
.check-list li { position:relative; padding-left:24px; margin:9px 0; color:#46504b; }
.check-list li::before { content:"—"; position:absolute; left:0; color:var(--brass); font-weight:800; }

.process { counter-reset:step; border-top:1px solid var(--line-strong); }
.process .card { position:relative; padding:26px 20px 0; border-top:0; border-right:1px solid var(--line); min-height:200px; }
.process .card:first-child { padding-left:0; }
.process .card:last-child { border-right:0; }
.process .card::before { counter-increment:step; content:"0" counter(step); display:block; margin-bottom:42px; color:var(--brass); font-family:Georgia, serif; font-size:.92rem; }
.process .card h3 { font-family:Georgia, serif; font-size:1.18rem; font-weight:600; }

.area-cloud { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); margin-top:24px; }
.area-cloud span, .area-cloud a { padding:12px 14px; background:transparent; border-right:1px solid var(--line); border-bottom:1px solid var(--line); font-size:.88rem; font-weight:650; color:#3f4944; }
.area-cloud a:hover { background:var(--surface); color:var(--green-dark); }

.split { display:grid; grid-template-columns:.88fr 1.12fr; gap:60px; align-items:start; }

/* Call card */
.call-card { position:relative; overflow:hidden; background:var(--surface); border:1px solid var(--line-strong); padding:32px; border-radius:var(--radius); box-shadow:0 18px 45px rgba(23,34,29,.07); }
.call-card::after { content:""; position:absolute; right:0; top:0; width:96px; height:96px; border-left:1px solid rgba(184,132,54,.3); border-bottom:1px solid rgba(184,132,54,.3); background:linear-gradient(135deg, rgba(23,107,87,.12), rgba(184,132,54,.08)); }
.call-card h2 { position:relative; margin:14px 0 14px; max-width:620px; font-size:clamp(1.75rem,2.5vw,2.35rem); z-index:1; }
.call-card .lead { position:relative; z-index:1; }
.call-card-number { position:relative; z-index:1; margin-top:14px; min-width:min(100%, 260px); font-size:1rem; }
.contact-note { position:relative; z-index:1; margin:18px 0 0; padding-top:16px; border-top:1px solid var(--line); color:var(--muted); font-size:.86rem; }

/* Work imagery */
.work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.work-item { margin:0; background:var(--surface); border:1px solid var(--line-strong); border-radius:6px; overflow:hidden; }
.work-item img { width:100%; height:clamp(190px, 22vw, 290px); object-fit:cover; background:#f7f3eb; }
.work-item figcaption { padding:14px 16px 16px; font-weight:750; line-height:1.35; }
.work-item figcaption span { display:block; margin-top:5px; color:var(--muted); font-size:.82rem; font-weight:500; }
.before-after { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.before-after figure { margin:0; background:var(--surface); border:1px solid var(--line-strong); border-radius:6px; overflow:hidden; }
.before-after img { width:100%; height:clamp(210px, 24vw, 310px); object-fit:cover; background:#f7f3eb; }
.before-after figcaption { padding:14px 16px; color:#3f4944; font-weight:700; }
.visual-process .card img { width:100%; height:clamp(170px, 17vw, 240px); object-fit:cover; border:1px solid var(--line-strong); border-radius:4px; margin-bottom:18px; background:var(--surface); }
.feature-photo { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); align-items:stretch; overflow:hidden; border:1px solid var(--line-strong); border-radius:6px; background:var(--surface); }
.feature-photo img { width:100%; height:clamp(280px, 28vw, 360px); object-fit:cover; }
.feature-photo > div { display:flex; flex-direction:column; justify-content:center; padding:34px; }
.feature-photo h3 { margin:14px 0 10px; font-family:Georgia, "Times New Roman", serif; font-size:1.65rem; font-weight:600; }
.feature-photo p { margin:0; color:var(--muted); }

/* Internal pages */
.breadcrumbs { padding:18px 0 0; color:#737b77; font-size:.79rem; }
.breadcrumbs a { color:var(--green-dark); font-weight:700; }
.breadcrumbs a:hover { text-decoration:underline; }
.page-hero { padding:62px 0 58px; border-bottom:1px solid var(--line); background:var(--paper); }
.page-hero .split { align-items:center; }
.page-hero h1 { max-width:900px; font-size:clamp(2.7rem,5.2vw,5rem); }
.page-hero img { width:100%; height:clamp(260px, 30vw, 380px); object-fit:cover; border:1px solid var(--line-strong); border-radius:4px; background:var(--surface); }
.prose { max-width:820px; }
.prose p, .prose li { color:#4d5752; }
.prose h2 { margin-top:42px; font-size:clamp(1.75rem,2.8vw,2.45rem); }
.kpi-row { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:28px; border:1px solid var(--line); }
.kpi { padding:18px; background:var(--surface); }
.kpi + .kpi { border-left:1px solid var(--line); }
.kpi strong { display:block; color:var(--green-dark); }
.kpi span { color:var(--muted); font-size:.82rem; }
.notice { padding:15px 17px; background:#f4ecdb; border-left:3px solid var(--brass); color:#5f4a28; }

/* FAQ */
.faq { border-top:1px solid var(--line-strong); }
details { padding:19px 0; border-bottom:1px solid var(--line); background:transparent; }
summary { cursor:pointer; list-style:none; font-weight:720; padding-right:34px; position:relative; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; position:absolute; right:2px; top:-2px; color:var(--green); font-size:1.3rem; font-weight:400; }
details[open] summary::after { content:"−"; }
details p { margin:10px 0 2px; color:var(--muted); max-width:850px; }

.cta-strip { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:32px; background:var(--green-dark); color:#fff; border-radius:6px; }
.cta-strip h2, .cta-strip h3 { color:#fff; }
.cta-strip p { margin:6px 0 0; color:#d9e8e3; }

/* Footer */
.site-footer { padding:54px 0 24px; background:#17231e; color:#d7dedb; border-top:4px solid var(--brass); }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr 1fr; gap:34px; }
.site-footer .brand { color:#fff; }
.site-footer .brand-mark { background:#fff; }
.site-footer h3 { margin-bottom:11px; color:#fff; font-family:Inter, sans-serif; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; }
.site-footer p { color:#aebbb5; max-width:360px; }
.site-footer a { display:block; min-height:36px; color:#cdd7d2; font-size:.9rem; }
.site-footer a:hover { color:#fff; text-decoration:underline; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:36px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); color:#8fa099; font-size:.78rem; }

/* Floating actions */
.floating-actions { position:fixed; right:16px; bottom:16px; z-index:900; display:flex; flex-direction:column; gap:8px; }
.float-btn { width:50px; height:50px; display:grid; place-items:center; color:#fff; border:1px solid rgba(255,255,255,.25); border-radius:7px; box-shadow:0 8px 20px rgba(17,30,24,.16); }
.float-btn:hover { transform:translateY(-1px); }
.float-btn svg { width:22px; height:22px; }
.float-call { background:var(--green-dark); }
.float-whatsapp { background:#1f8f61; }

.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (max-width: 980px) {
  body.nav-open { overflow:hidden; }
  .hero-grid, .split { grid-template-columns:1fr; }
  .hero-grid { gap:42px; }
  .hero-grid > div:first-child { max-width:760px; }
  .hero-service-panel { max-width:720px; }
  .grid-3, .grid-4 { grid-template-columns:1fr 1fr; }
  .work-grid { grid-template-columns:1fr 1fr; }
  .feature-photo { grid-template-columns:1fr; }
  .feature-photo img { height:clamp(220px, 44vw, 330px); }
  .process .card:nth-child(2) { border-right:0; }
  .process .card:nth-child(n+3) { border-top:1px solid var(--line); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .nav-wrap { position:relative; }
  .nav { position:absolute; left:0; right:0; top:calc(100% + 1px); display:none; flex-direction:column; align-items:stretch; gap:0; max-height:calc(100vh - 74px); max-height:calc(100dvh - 74px); overflow-y:auto; overscroll-behavior:contain; padding:10px 16px 16px; background:var(--paper); border-bottom:1px solid var(--line-strong); box-shadow:0 18px 28px rgba(23,34,29,.15); }
  .nav.open { display:flex; }
  .nav a { min-height:46px; padding:10px 6px; border-bottom:1px solid var(--line); }
  .nav a[aria-current="page"] { box-shadow:none; color:var(--green); }
  .nav-cta { margin:10px 0 0; justify-content:center; border-bottom:0 !important; }
  .menu-toggle { display:block; }
  .page-hero img { max-width:600px; height:clamp(220px, 44vw, 330px); }
}

@media (max-width: 680px) {
  body { padding-bottom:72px; font-size:1rem; line-height:1.58; }
  .container { width:min(calc(100% - 32px), var(--max)); }
  [id] { scroll-margin-top:76px; }
  .nav-wrap { min-height:64px; gap:14px; }
  .brand { min-width:0; gap:9px; font-size:clamp(.84rem,3.7vw,1rem); }
  .brand-mark { width:76px; height:32px; }
  .menu-toggle { flex:0 0 auto; width:46px; height:46px; }
  .nav { max-height:calc(100vh - 64px); max-height:calc(100dvh - 64px); padding:8px 16px 18px; }
  .nav a { min-height:48px; font-size:.96rem; }
  .topbar .container { justify-content:center; text-align:center; }
  .topbar .desktop-only { display:none; }
  .topbar .container { min-height:58px; width:100%; }
  .topbar-actions { width:100%; }
  .topbar-actions a { flex:1 1 50%; min-width:0; min-height:58px; justify-content:center; padding:8px 14px; text-align:left; white-space:normal; }
  .topbar-actions strong { font-size:.7rem; }
  .topbar-actions span { font-size:.78rem; line-height:1.25; }
  .hero { padding:42px 0 40px; }
  h1 { margin:10px 0 16px; font-size:clamp(2.25rem,11vw,3.15rem); line-height:1.02; }
  h2 { margin-bottom:13px; font-size:clamp(1.85rem,8.5vw,2.5rem); line-height:1.08; }
  h3 { font-size:1.08rem; }
  .lead { font-size:1rem; line-height:1.55; }
  section { padding:46px 0; }
  .section-head { margin-bottom:26px; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns:1fr; }
  .image-hero { min-height:auto; display:block; padding:0 0 40px; color:var(--ink); background:var(--paper); }
  .image-hero .hero-media { position:relative; inset:auto; height:156px; z-index:auto; border-bottom:1px solid var(--line); background:var(--green-pale); }
  .image-hero .hero-media img { object-position:center 44%; opacity:1; }
  .image-hero::after { display:none; }
  .image-hero h1, .image-hero .lead { color:var(--ink); text-shadow:none; }
  .image-hero h1 { font-size:clamp(2.05rem, 9.5vw, 2.8rem); }
  .image-hero .lead { color:var(--muted); }
  .image-hero .eyebrow { color:var(--green-dark); }
  .image-hero .trust-row { border-top-color:var(--line); color:#49534e; }
  .image-hero .btn-secondary { color:var(--ink); border-color:var(--line-strong); background:transparent; }
  .image-hero .btn-secondary:hover { color:var(--ink); border-color:var(--ink); background:#fffaf2; }
  .hero-grid { gap:28px; }
  .hero-copy-panel { max-width:none; padding:30px 0 4px; }
  .contact-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:24px 0 18px; }
  .contact-actions .btn { width:100%; min-width:0; min-height:50px; padding:10px 12px; }
  .contact-actions .btn-secondary:last-child:nth-child(3) { grid-column:1 / -1; }
  .image-hero .contact-actions { grid-template-columns:1fr; }
  .image-hero .contact-actions .btn-primary,
  .image-hero .contact-actions .btn-whatsapp { display:none; }
  .image-hero .contact-actions .btn-secondary { grid-column:1 / -1; }
  .poster-hero { min-height:auto; display:block; padding:0 0 24px; background:#fff; }
  .poster-hero .hero-media { position:relative; inset:auto; left:auto; height:min(138vw, 650px); border-bottom:1px solid var(--line); background:#f5f9ff; }
  .poster-hero .hero-media img { width:100%; height:100%; object-fit:contain; object-position:center; opacity:1; }
  .poster-hero::after { display:none; }
  .poster-hero .hero-grid { gap:18px; }
  .poster-hero .hero-copy-panel { padding:22px 0 0; }
  .poster-hero .contact-actions { grid-template-columns:1fr 1fr; margin:20px 0 12px; }
  .poster-hero .contact-actions .btn-primary,
  .poster-hero .contact-actions .btn-whatsapp { display:inline-flex; }
  .poster-hero .hero-phone-strip { width:100%; text-align:center; align-items:center; }
  .poster-hero .hero-service-panel { display:none; }
  .trust-row { display:grid; gap:8px; margin-top:18px; padding-top:17px; font-size:.82rem; }
  .hero-service-panel { width:100%; border-radius:6px; overflow:hidden; }
  .service-panel-head { padding:19px 18px 16px; gap:10px; }
  .service-panel-head strong { font-size:1.3rem; }
  .service-panel-head em { white-space:normal; }
  .work-grid, .before-after { grid-template-columns:1fr; }
  .grid-2 > .card + .card { margin-left:0; }
  .card { padding-top:20px; }
  .service-card { min-height:0; }
  .image-service-card img, .visual-process .card img, .work-item img, .before-after img {
    aspect-ratio:auto;
    height:clamp(150px, 48vw, 220px);
    object-fit:cover;
  }
  .service-card h3 { font-size:1.3rem; }
  .service-card .btn { width:100%; }
  .process .card { border-right:0; border-top:1px solid var(--line); padding:22px 0; min-height:auto; }
  .process .card:first-child { border-top:0; }
  .process .card::before { margin-bottom:20px; }
  .area-cloud { grid-template-columns:1fr 1fr; }
  .call-card { padding:24px; }
  .service-panel-head { align-items:flex-start; flex-direction:column; }
  .service-preview { grid-template-columns:112px minmax(0,1fr); min-height:132px; }
  .service-preview img { min-height:132px; }
  .service-preview-copy { min-width:0; padding:17px 16px; }
  .service-preview h3 { padding-right:0; font-size:1.12rem; }
  .service-preview p { font-size:.82rem; line-height:1.42; }
  .service-arrow { display:none; }
  .service-panel-note { flex-direction:column; gap:2px; }
  .kpi-row { grid-template-columns:1fr; }
  .kpi + .kpi { border-left:0; border-top:1px solid var(--line); }
  .page-hero { padding:38px 0 42px; }
  .page-hero h1 { font-size:clamp(2.2rem,11vw,3.15rem); }
  .page-hero img { height:clamp(180px, 52vw, 260px); object-fit:cover; }
  .feature-photo img { height:clamp(170px, 52vw, 250px); }
  .breadcrumbs { white-space:nowrap; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
  .breadcrumbs::-webkit-scrollbar { display:none; }
  .prose h2 { margin-top:32px; font-size:1.8rem; }
  .feature-photo > div { padding:24px; }
  .feature-photo h3 { font-size:1.4rem; }
  .cta-strip, .footer-bottom { flex-direction:column; align-items:stretch; }
  .cta-strip { padding:24px; }
  .cta-strip .contact-actions { width:100%; }
  .footer-grid { grid-template-columns:1fr; gap:18px; }
  .site-footer { padding-bottom:34px; }
  .footer-bottom { gap:8px; }
  .floating-actions { left:0; right:0; bottom:0; z-index:1200; display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:8px max(10px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right)); background:rgba(255,255,255,.97); border-top:1px solid var(--line); box-shadow:0 -8px 24px rgba(17,30,24,.12); }
  .float-btn { width:100%; height:54px; display:flex; align-items:center; justify-content:center; gap:9px; border-radius:6px; font-size:.92rem; font-weight:800; }
  .float-btn svg { width:20px; height:20px; }
  .float-call::after { content:"Call now"; }
  .float-whatsapp::after { content:"WhatsApp"; }
}

@media (max-width: 420px) {
  .container { width:min(calc(100% - 24px), var(--max)); }
  .topbar-actions a { padding-inline:10px; }
  .topbar-actions a:last-child span { display:none; }
  .contact-actions { grid-template-columns:1fr; }
  .contact-actions .btn-secondary:last-child:nth-child(3) { grid-column:auto; }
  .area-cloud { grid-template-columns:1fr; }
  .service-preview { grid-template-columns:96px minmax(0,1fr); }
  .service-preview-copy { padding:15px 13px; }
  .service-preview p { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .image-service-card img, .visual-process .card img, .work-item img, .before-after img { height:clamp(138px, 46vw, 190px); }
  .call-card { padding:21px 18px; }
  .cta-strip { padding:21px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
