:root { --ink:#101319; --paper:#f4f2ec; --white:#fffefa; --muted:#60676f; --line:#d9d7cf; --orange:#ec5a28; --orange-dark:#c84519; --green:#1a7655; --shell:1180px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; line-height:1.55; }
a { color:inherit; }
.shell { width:min(var(--shell), calc(100% - 48px)); margin:auto; }
.skip-link { position:absolute; left:-999px; top:0; background:var(--white); padding:12px; z-index:20; }.skip-link:focus { left:12px; }
.site-header { padding:22px 0; background:rgba(244,242,236,.92); position:sticky; top:0; z-index:10; backdrop-filter:blur(12px); border-bottom:1px solid transparent; }.nav-wrap { display:flex; align-items:center; justify-content:space-between; gap:24px; }.brand { font-weight:800; text-decoration:none; letter-spacing:-.04em; display:inline-flex; align-items:center; gap:9px; font-size:1.1rem; }.brand-mark { width:18px; height:18px; display:inline-block; background:var(--orange); border-radius:2px; box-shadow:8px 0 0 #f7a189, 0 8px 0 #f7a189; }.site-header nav { display:flex; gap:24px; font-size:.87rem; }.site-header nav a { text-decoration:none; color:#3e454c; }.site-header nav a:hover { color:var(--orange-dark); }
.button { background:var(--orange); border:1px solid var(--orange); color:white; font:700 .9rem Manrope,sans-serif; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; padding:15px 20px; border-radius:3px; cursor:pointer; transition:.2s transform,.2s background; }.button:hover { background:var(--orange-dark); transform:translateY(-1px); }.button-small { padding:10px 14px; font-size:.8rem; }.text-link { font-weight:700; text-underline-offset:5px; }.text-link span { color:var(--orange); }
.hero { padding:92px 0 100px; }.eyebrow,.panel-label,.signal-grid { font:500 .72rem "DM Mono",monospace; letter-spacing:.1em; }.eyebrow { color:var(--orange-dark); text-transform:uppercase; margin-bottom:19px; }.hero-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:80px; align-items:end; }.hero h1,.section h2,.contact-section h2 { font-size:clamp(2.8rem,6vw,5.4rem); max-width:860px; letter-spacing:-.075em; line-height:.98; margin:0; }.hero-copy { max-width:660px; font-size:1.17rem; color:var(--muted); margin:30px 0; }.hero-actions { display:flex; align-items:center; gap:24px; flex-wrap:wrap; }.hero-note { font-size:.8rem; color:var(--muted); margin-top:24px; }.hero-panel { background:var(--ink); color:var(--white); padding:30px; min-height:310px; display:flex; flex-direction:column; justify-content:flex-end; }.hero-panel p { font-size:1.05rem; margin:14px 0; }.panel-label { color:#ffad91; }.panel-line { border-top:1px solid #555b64; margin:12px 0; }.hero-panel ul { list-style:none; padding:0; margin:0; font-size:.85rem; color:#d5d5cf; }.hero-panel li { padding:7px 0; border-bottom:1px solid #383e47; }.hero-panel li:before { content:"— "; color:#ffad91; }
.signal-band { background:var(--orange); color:white; }.signal-grid { padding:17px 0; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; font-size:.62rem; }.section { padding:120px 0; }.section-ink { background:var(--ink); color:var(--white); }.section-heading { max-width:760px; margin-bottom:48px; }.section-heading h2,.contact-section h2 { font-size:clamp(2.25rem,4vw,3.7rem); }.section-heading p { color:var(--muted); font-size:1.05rem; }.section-ink .eyebrow { color:#ffad91; }.compact { margin-bottom:32px; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }.service-card { border-right:1px solid var(--line); border-bottom:1px solid var(--line); padding:28px; min-height:245px; }.service-card span { font:500 .75rem "DM Mono",monospace; color:var(--orange-dark); }.service-card h3 { font-size:1.23rem; letter-spacing:-.04em; margin:42px 0 9px; }.service-card p { color:var(--muted); margin:0; font-size:.91rem; }
.process-list { list-style:none; padding:0; margin:0; border-top:1px solid #444a53; }.process-list li { padding:24px 0; border-bottom:1px solid #444a53; display:grid; grid-template-columns:110px 1fr; gap:25px; }.process-list b { color:#ffad91; font:500 .78rem "DM Mono",monospace; }.process-list h3 { margin:0 0 4px; font-size:1.35rem; }.process-list p { margin:0; color:#c4c6c8; }
.case-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }.case-card { background:var(--white); border:1px solid var(--line); padding:32px; min-height:285px; display:flex; flex-direction:column; align-items:flex-start; }.case-tag { color:var(--orange-dark); font:500 .68rem "DM Mono",monospace; }.case-card h3 { letter-spacing:-.045em; font-size:1.45rem; margin:20px 0 10px; }.case-card p { color:var(--muted); font-size:.93rem; margin:0 0 22px; }.case-card a { margin-top:auto; font-size:.87rem; font-weight:800; text-underline-offset:5px; }.case-note { margin-top:auto; color:var(--muted); font-size:.82rem; }
.faq-list { border-top:1px solid var(--line); }.faq-list details { border-bottom:1px solid var(--line); padding:22px 0; }.faq-list summary { font-weight:800; cursor:pointer; list-style:none; padding-right:32px; position:relative; }.faq-list summary:after { content:"+"; position:absolute; right:5px; color:var(--orange); font-size:1.25rem; top:-5px; }.faq-list details[open] summary:after { content:"−"; }.faq-list p { color:var(--muted); max-width:720px; margin:12px 0 0; }
.contact-section { background:#e5e2d9; padding:110px 0; }.contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:88px; }.contact-grid > div > p { color:var(--muted); max-width:400px; }.contact-form { background:var(--white); padding:30px; border:1px solid #c8c4b8; display:grid; gap:17px; }.contact-form label,.contact-form legend { display:grid; gap:7px; font-size:.78rem; font-weight:800; letter-spacing:.02em; }.contact-form input,.contact-form select,.contact-form textarea { width:100%; padding:12px; border:1px solid #b7b8b4; background:#fff; color:var(--ink); font:400 .94rem Manrope,sans-serif; border-radius:2px; }.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { outline:3px solid #f6b6a0; outline-offset:1px; border-color:var(--orange); }.contact-form fieldset { border:0; padding:0; margin:0; }.contact-form legend { margin-bottom:9px; }.check-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.check-grid label { display:flex; align-items:center; gap:7px; background:#f4f2ec; padding:9px; font-size:.77rem; font-weight:600; letter-spacing:0; }.check-grid input { width:auto; accent-color:var(--orange); }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:13px; }.form-error { color:#a72525; margin:0; font-size:.85rem; }.form-note { color:var(--muted); font-size:.75rem; margin:0; }.form-success { border-top:1px solid var(--line); padding-top:18px; }.form-success p { color:var(--muted); font-size:.85rem; }.button-whatsapp { background:var(--green); border-color:var(--green); }.button-whatsapp:hover { background:#105b40; }
.site-footer { background:var(--ink); color:var(--white); padding:46px 0 20px; }.footer-grid { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:24px; }.footer-grid p { margin:0; color:#c4c6c8; font-size:.87rem; }.footer-grid .text-link { justify-self:end; }.footer-bottom { border-top:1px solid #393f47; margin-top:36px; padding-top:18px; color:#aeb3b8; font-size:.75rem; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
@media (max-width:820px) { .site-header nav { display:none; }.hero { padding:64px 0 72px; }.hero-grid,.contact-grid { grid-template-columns:1fr; gap:38px; }.hero-panel { min-height:auto; }.signal-grid { grid-template-columns:1fr 1fr; }.service-grid { grid-template-columns:1fr 1fr; }.section { padding:76px 0; }.contact-section { padding:76px 0; }.footer-grid { grid-template-columns:1fr; }.footer-grid .text-link { justify-self:start; } }
@media (max-width:540px) { .shell { width:min(100% - 32px, var(--shell)); }.site-header { padding:16px 0; }.button-small { display:none; }.hero h1 { font-size:2.75rem; }.signal-grid { grid-template-columns:1fr; gap:8px; text-align:left; }.service-grid,.case-grid,.form-row,.check-grid { grid-template-columns:1fr; }.service-card { min-height:0; }.service-card h3 { margin-top:28px; }.process-list li { grid-template-columns:55px 1fr; gap:10px; }.contact-form { padding:22px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }
