:root {
  --ink: #172033;
  --ink-2: #4b5567;
  --paper: #fffaf0;
  --surface: #ffffff;
  --yellow: #f7b500;
  --yellow-2: #ffd55a;
  --green: #0f9f6e;
  --line: #e7e1d5;
  --shadow: 0 24px 60px rgba(23, 32, 51, .12);
  --radius: 24px;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
img { max-width: 100%; display: block; }
picture { display:block; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #2c69ff; outline-offset: 3px; }
.skip-link { position:absolute; left:-9999px; top:0; background:#fff; padding:.75rem 1rem; z-index:1000; }
.skip-link:focus { left:1rem; top:1rem; }
.container { width:min(calc(100% - 32px), var(--max)); margin-inline:auto; }
.eyebrow { display:inline-flex; gap:.5rem; align-items:center; font-weight:800; letter-spacing:.08em; text-transform:uppercase; font-size:.78rem; color:#6a5420; }
.eyebrow::before { content:""; width:8px; height:8px; border-radius:999px; background:var(--yellow); box-shadow:0 0 0 5px rgba(247,181,0,.16); }
.section { padding:88px 0; }
.section-head { max-width:760px; margin-bottom:34px; }
.section-head h2 { margin:.4rem 0 .7rem; font-size:clamp(2rem,4vw,3.25rem); line-height:1.08; letter-spacing:-.035em; }
.section-head p { margin:0; color:var(--ink-2); font-size:1.08rem; }

.site-header { position:sticky; top:0; z-index:50; backdrop-filter: blur(16px); background:rgba(255,250,240,.88); border-bottom:1px solid rgba(231,225,213,.8); }
.header-inner { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-weight:900; line-height:1.05; letter-spacing:-.02em; }
.brand-mark { width:44px; height:44px; border-radius:14px; display:grid; place-items:center; background:var(--yellow); box-shadow:inset 0 -2px 0 rgba(0,0,0,.12); }
.brand-mark svg { width:26px; height:26px; }
.brand small { display:block; color:var(--ink-2); font-size:.72rem; letter-spacing:.08em; margin-top:3px; }
.nav { display:flex; align-items:center; gap:26px; }
.nav a { text-decoration:none; font-weight:750; font-size:.94rem; }
.nav a:hover { color:#7a5a00; }
.header-call { display:inline-flex; align-items:center; gap:8px; background:var(--ink); color:#fff; border-radius:999px; padding:11px 16px; text-decoration:none; }
.nav-toggle { display:none; border:0; background:transparent; width:44px; height:44px; border-radius:12px; align-items:center; justify-content:center; }

.hero { padding:52px 0 68px; overflow:hidden; position:relative; }
.hero::before { content:""; position:absolute; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle, rgba(247,181,0,.2), transparent 68%); left:-160px; top:-180px; pointer-events:none; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr); gap:54px; align-items:center; }
.hero h1 { margin:.8rem 0 1.1rem; font-size:clamp(2.9rem,6.2vw,5.6rem); line-height:.94; letter-spacing:-.058em; max-width:850px; }
.hero h1 .accent { position:relative; white-space:nowrap; }
.hero h1 .accent::after { content:""; position:absolute; left:0; right:0; bottom:.02em; height:.16em; border-radius:99px; background:var(--yellow-2); z-index:-1; transform:rotate(-1deg); }
.hero-copy { max-width:680px; color:var(--ink-2); font-size:clamp(1.08rem,2vw,1.25rem); margin:0 0 26px; }
.cta-row { display:flex; flex-wrap:wrap; gap:12px; }
.btn { min-height:58px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:14px 21px; border-radius:16px; font-weight:900; text-decoration:none; border:1px solid transparent; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:var(--yellow); color:#1b1b16; box-shadow:0 12px 26px rgba(247,181,0,.25); }
.btn-dark { background:var(--ink); color:#fff; }
.btn-whatsapp { background:#e9fff5; color:#087552; border-color:#c5f1df; }
.btn svg { width:20px; height:20px; flex:0 0 auto; }
.hero-note { margin-top:18px; display:flex; align-items:flex-start; gap:10px; color:#5f6675; font-size:.94rem; }
.hero-note strong { color:var(--ink); }
.hero-media { position:relative; }
.photo-card { padding:12px; background:#fff; border-radius:32px; box-shadow:var(--shadow); transform:rotate(1.2deg); }
.photo-card img { width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:23px; }
.photo-badge { position:absolute; left:-24px; bottom:54px; padding:14px 17px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 16px 40px rgba(23,32,51,.14); font-weight:900; }
.photo-badge small { display:block; font-weight:650; color:var(--ink-2); }
.open-badge { position:absolute; top:24px; right:-18px; padding:12px 15px; background:var(--ink); color:#fff; border-radius:999px; font-weight:900; box-shadow:0 12px 30px rgba(23,32,51,.2); }
.open-badge::before { content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:#42d392; margin-right:8px; box-shadow:0 0 0 5px rgba(66,211,146,.15); }

.trust-strip { padding:0 0 20px; }
.trust-grid { display:grid; grid-template-columns:1.2fr repeat(3,1fr); border:1px solid var(--line); background:#fff; border-radius:22px; overflow:hidden; box-shadow:0 12px 35px rgba(23,32,51,.05); }
.trust-item { padding:22px 24px; border-right:1px solid var(--line); }
.trust-item:last-child { border-right:0; }
.trust-item strong { display:block; font-size:1.08rem; }
.trust-item span { display:block; color:var(--ink-2); font-size:.9rem; margin-top:2px; }
.stars { color:#e0a000; letter-spacing:.08em; }

.services { background:#fff; }
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.service-card { border:1px solid var(--line); border-radius:22px; padding:26px; background:linear-gradient(180deg,#fff,#fffcf4); }
.icon-box { width:48px; height:48px; border-radius:14px; background:#fff2c9; display:grid; place-items:center; margin-bottom:22px; color:#7b5800; }
.icon-box svg { width:23px; height:23px; }
.service-card h3 { margin:0 0 7px; font-size:1.18rem; }
.service-card p { margin:0; color:var(--ink-2); }

.local-focus { position:relative; overflow:hidden; }
.local-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:46px; }
.local-photo { background:#fff; border:1px solid var(--line); border-radius:30px; padding:12px; box-shadow:var(--shadow); }
.local-photo img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:20px; }
.local-copy h2 { font-size:clamp(2.15rem,4vw,3.7rem); line-height:1; letter-spacing:-.04em; margin:.6rem 0 1rem; }
.local-copy p { color:var(--ink-2); font-size:1.08rem; }
.check-list { list-style:none; margin:24px 0 0; padding:0; display:grid; gap:12px; }
.check-list li { display:flex; gap:12px; align-items:flex-start; font-weight:750; }
.check-list li::before { content:"✓"; display:grid; place-items:center; flex:0 0 26px; height:26px; border-radius:50%; background:#e8fff5; color:#087552; font-weight:950; }

.review-band { background:var(--ink); color:#fff; }
.review-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; align-items:center; }
.review-score { display:flex; align-items:flex-end; gap:14px; margin:14px 0; }
.review-score strong { font-size:5rem; line-height:.8; letter-spacing:-.07em; }
.review-score span { color:#d7dbe3; }
.review-band p { color:#d7dbe3; }
.quote { border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); border-radius:24px; padding:28px; }
.quote p { margin:0; font-size:1.22rem; color:#fff; }
.quote small { display:block; color:#bec5d2; margin-top:14px; }
.review-actions { margin-top:22px; display:flex; gap:12px; flex-wrap:wrap; }
.review-actions .btn-primary { box-shadow:none; }
.review-actions .btn-dark { border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.08); }

.faq { background:#fff; }
.faq-list { max-width:880px; }
details { border-bottom:1px solid var(--line); }
summary { cursor:pointer; list-style:none; padding:20px 0; font-weight:900; font-size:1.08rem; display:flex; justify-content:space-between; gap:24px; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"+"; flex:0 0 28px; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:#fff2c9; }
details[open] summary::after { content:"−"; }
details p { margin:-6px 0 22px; color:var(--ink-2); max-width:760px; }

.final-cta { padding:80px 0 120px; }
.cta-panel { position:relative; overflow:hidden; background:linear-gradient(135deg,#f7b500,#ffd55a); border-radius:34px; padding:48px; display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:26px; }
.cta-panel::after { content:"16 T 7020"; position:absolute; right:-12px; bottom:-34px; font-size:7rem; line-height:1; font-weight:1000; letter-spacing:-.08em; opacity:.08; white-space:nowrap; }
.cta-panel h2 { font-size:clamp(2.2rem,5vw,4.2rem); line-height:.98; letter-spacing:-.045em; margin:0 0 12px; max-width:700px; }
.cta-panel p { margin:0; max-width:650px; color:#44370e; }
.cta-actions { display:grid; gap:10px; position:relative; z-index:2; }
.cta-actions .btn { width:100%; }

.site-footer { background:#111827; color:#e5e7eb; padding:42px 0 100px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:34px; }
.site-footer h3 { margin:0 0 10px; color:#fff; }
.site-footer p, .site-footer a { color:#b9c0cd; }
.site-footer a:hover { color:#fff; }
.footer-links { display:grid; gap:8px; align-content:start; }
.footer-meta { margin-top:32px; padding-top:22px; border-top:1px solid #2a3342; display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; color:#8f98a8; font-size:.9rem; }

.mobile-actionbar { display:none; }
.consent { position:fixed; z-index:100; left:12px; right:12px; bottom:14px; max-width:520px; margin:auto; background:rgba(255,255,255,.97); border:1px solid var(--line); box-shadow:0 10px 30px rgba(0,0,0,.14); border-radius:14px; padding:9px 10px; backdrop-filter:blur(10px); }
.consent-inner { display:flex; align-items:center; gap:9px; }
.consent p { margin:0; color:var(--ink-2); font-size:.76rem; line-height:1.3; flex:1; }
.consent p a { font-weight:800; }
.consent-actions { display:flex; gap:6px; flex:0 0 auto; }
.consent button { border:0; padding:7px 9px; border-radius:9px; font-size:.76rem; font-weight:850; cursor:pointer; }
.consent .accept { background:var(--ink); color:#fff; }
.consent .reject { background:#f2f3f6; color:var(--ink); }

@media (max-width: 920px) {
  .nav-toggle { display:flex; }
  .nav { display:none; position:absolute; left:16px; right:16px; top:70px; padding:12px; background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); flex-direction:column; align-items:stretch; gap:0; }
  .nav[data-open="true"] { display:flex; }
  .nav a { padding:12px; }
  .nav .header-call { justify-content:center; margin-top:4px; }
  .hero-grid, .local-grid, .review-grid, .cta-panel, .footer-grid { grid-template-columns:1fr; }
  .hero-grid { gap:36px; }
  .hero-media { max-width:640px; margin-inline:auto; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-item:nth-child(2) { border-right:0; }
  .trust-item:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .card-grid { grid-template-columns:1fr 1fr; }
  .cta-panel { padding:36px; }
}

@media (max-width: 620px) {
  body { padding-bottom:72px; }
  .container { width:min(calc(100% - 24px), var(--max)); }
  .section { padding:64px 0; }
  .header-inner { min-height:68px; }
  .brand-mark { width:40px; height:40px; }
  .brand span { font-size:.92rem; }
  .hero { padding:32px 0 48px; }
  .hero h1 { font-size:clamp(2.65rem,13vw,4.2rem); }
  .hero-copy { font-size:1.05rem; }
  .cta-row { display:grid; grid-template-columns:1fr; }
  .btn { width:100%; min-height:60px; }
  .hero-grid { gap:22px; }
  .hero-media { max-width:100%; }
  .photo-card { max-width:none; margin-inline:auto; border-radius:24px; padding:8px; transform:none; }
  .photo-card img { width:100%; height:min(42svh, 280px); max-height:280px; border-radius:17px; aspect-ratio:auto; object-fit:cover; object-position:center 56%; }
  .photo-badge { left:10px; bottom:14px; padding:11px 13px; font-size:.95rem; }
  .open-badge { right:10px; top:14px; }
  .trust-grid, .card-grid { grid-template-columns:1fr; }
  .trust-item { border-right:0; border-bottom:1px solid var(--line); }
  .trust-item:last-child { border-bottom:0; }
  .cta-panel { padding:28px 20px; border-radius:26px; }
  .cta-panel::after { font-size:4.2rem; }
  .review-score strong { font-size:4rem; }
  .consent { bottom:82px; left:8px; right:8px; padding:8px; }
  .consent-inner { display:flex; gap:7px; }
  .consent p { font-size:.7rem; }
  .consent-actions { display:flex; gap:5px; }
  .consent button { padding:7px 8px; font-size:.7rem; }
  .mobile-actionbar { position:fixed; z-index:80; left:0; right:0; bottom:0; height:72px; display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:8px max(8px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); background:rgba(17,24,39,.96); backdrop-filter:blur(14px); border-top:1px solid rgba(255,255,255,.1); }
  .mobile-actionbar a { display:flex; align-items:center; justify-content:center; gap:8px; border-radius:14px; text-decoration:none; font-weight:950; }
  .mobile-call { background:var(--yellow); color:#1b1b16; }
  .mobile-wa { background:#1fae78; color:#fff; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; animation:none !important; }
}
