@import "tailwindcss";

:root { --ink:#101312; --paper:#f4f3ef; --white:#fff; --lime:#d7ff42; --muted:#6e7471; --line:#d9d9d3; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
.topbar { height:88px; display:flex; justify-content:space-between; align-items:center; padding:0 4.5vw; border-bottom:1px solid var(--line); background:rgba(244,243,239,.88); backdrop-filter:blur(16px); position:sticky; top:0; z-index:20; }
.brand { display:flex; gap:12px; align-items:center; font-size:14px; font-weight:700; letter-spacing:-.02em; }
.brand small { display:block; margin-top:3px; font-size:10px; font-weight:500; color:var(--muted); letter-spacing:.08em; text-transform:uppercase; }
.brand-mark { width:38px; height:38px; border-radius:50%; background:var(--ink); color:white; display:grid; place-items:center; font-size:11px; letter-spacing:.05em; }
.top-cta { font-size:13px; font-weight:700; display:flex; gap:18px; align-items:center; }
.site-links { display:flex; align-items:center; justify-content:center; gap:clamp(14px,2vw,28px); margin-left:auto; margin-right:2vw; }
.site-links a { font-size:12px; font-weight:700; color:var(--muted); white-space:nowrap; }
.site-links a:hover { color:var(--ink); }
.hero { min-height:calc(100vh - 88px); padding:10vh 6vw 5vh; display:flex; flex-direction:column; justify-content:center; }
.eyebrow,.section-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; display:flex; align-items:center; gap:9px; }
.eyebrow span { width:8px; height:8px; background:var(--lime); border:2px solid var(--ink); border-radius:50%; }
h1 { font-size:clamp(64px,10vw,156px); line-height:.82; letter-spacing:-.075em; margin:5vh 0 4vh; font-weight:700; }
.hero-lead { width:min(690px,80vw); margin:0 0 4vh auto; font-size:clamp(20px,2.1vw,32px); line-height:1.35; letter-spacing:-.035em; }
.hero-actions { width:min(690px,80vw); margin-left:auto; display:flex; align-items:center; gap:30px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:36px; padding:19px 24px; border-radius:4px; font-size:13px; font-weight:700; border:0; cursor:pointer; }
.button.primary { background:var(--lime); color:var(--ink); }
.button.secondary { background:transparent; color:var(--ink); border:1px solid var(--ink); }
.text-link { font-size:13px; border-bottom:1px solid var(--ink); padding-bottom:4px; }
.hero-proof { display:flex; gap:42px; margin-top:10vh; padding-top:24px; border-top:1px solid var(--line); font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
section { padding:11vw 6vw; }
.choice { background:white; }
.choice>h2 { margin-top:7vw; }
.choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); margin-top:7vw; }
.choice-grid article { background:white; padding:42px; min-height:390px; display:flex; flex-direction:column; align-items:flex-start; }
.choice-number { font-size:11px; color:var(--muted); letter-spacing:.1em; }
.choice-grid h3 { font-size:clamp(29px,3.2vw,50px); letter-spacing:-.05em; line-height:1; margin:85px 0 20px; }
.choice-grid p { color:var(--muted); line-height:1.55; max-width:520px; }
.choice-grid a { margin-top:auto; font-size:13px; font-weight:700; padding-bottom:6px; border-bottom:1px solid var(--ink); display:flex; gap:20px; }
.section-dark { background:var(--ink); color:var(--white); }
.section-dark .section-label { color:#aeb4b1; }
h2 { font-size:clamp(46px,7vw,108px); line-height:.92; letter-spacing:-.065em; margin:0; }
.problem-intro,.advisor-grid,.section-head,.faq-layout { display:grid; grid-template-columns:1.4fr 1fr; gap:8vw; margin-top:7vw; align-items:start; }
.problem-intro p,.section-head p { font-size:clamp(18px,2vw,28px); line-height:1.45; color:#c1c5c3; margin:0; }
.problem-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #3d4240; margin-top:9vw; }
.problem-grid article { padding:30px 24px 0 0; border-right:1px solid #3d4240; min-height:180px; }
.problem-grid article:not(:first-child) { padding-left:24px; }
.problem-grid strong { color:var(--lime); font-size:30px; letter-spacing:-.04em; }
.problem-grid p { color:#b9bfbc; font-size:14px; line-height:1.5; }
.advisor { background:#e7e6e0; }
.advisor-grid h2 { color:#222624; }
.large-copy { font-size:clamp(24px,3vw,42px); line-height:1.18; letter-spacing:-.04em; margin:0 0 35px; }
.advisor-grid>div>p:not(.large-copy) { font-size:17px; line-height:1.65; color:#555c58; }
.signature { margin-top:60px; border-top:1px solid #c4c5bf; padding-top:20px; font-weight:700; }
.signature span { display:block; color:var(--muted); font-size:12px; font-weight:400; margin-top:5px; }
.material-visuals { background:#deddd7; }
.visuals-head { display:grid; grid-template-columns:1.3fr .7fr; gap:8vw; align-items:end; margin-top:7vw; }
.visuals-head p { margin:0; color:var(--muted); font-size:18px; line-height:1.55; }
.visual-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#c6c6bf; border:1px solid #c6c6bf; margin-top:7vw; }
.visual-grid figure { margin:0; background:#efeee9; }
.visual-image { min-height:470px; display:grid; place-items:center; padding:55px; overflow:hidden; }
.visual-image img { width:100%; height:360px; object-fit:contain; display:block; }
.visual-grid figcaption { display:grid; grid-template-columns:1fr auto; gap:7px 30px; padding:24px 28px; border-top:1px solid #d3d3cc; }
.visual-grid figcaption span { grid-column:1/-1; color:var(--muted); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.visual-grid figcaption strong { font-size:17px; letter-spacing:-.02em; }
.visual-grid figcaption small { color:var(--muted); font-size:10px; align-self:center; }
.tech { background:white; }
.section-head { margin-top:7vw; }
.tech .section-head p { color:var(--muted); }
.tech-list { margin-top:9vw; border-top:1px solid var(--ink); }
.tech-list article { display:grid; grid-template-columns:70px 1fr 1.2fr 160px; gap:35px; padding:38px 0; border-bottom:1px solid var(--line); align-items:start; }
.tech-index,.area { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.tech-list h3 { font-size:26px; letter-spacing:-.04em; margin:0 0 8px; }
.tech-brand { margin:0; font-size:13px; color:var(--muted); }
.tech-list article>p { margin:0; line-height:1.6; color:#515754; }
.area { text-align:right; color:var(--ink); font-weight:700; }
.technical-note { max-width:650px; font-size:11px; line-height:1.6; color:var(--muted); margin:24px 0 0 auto; }
.method .section-head p { color:#bfc3c1; }
.steps { list-style:none; padding:0; display:grid; grid-template-columns:repeat(4,1fr); margin:9vw 0 0; border-top:1px solid #404541; }
.steps li { padding:28px 28px 0 0; border-right:1px solid #404541; min-height:240px; }
.steps li:not(:first-child) { padding-left:28px; }
.steps span { font-size:11px; color:var(--lime); }
.steps h3 { font-size:22px; letter-spacing:-.035em; margin:45px 0 14px; }
.steps p { color:#aeb4b1; font-size:14px; line-height:1.55; }
.applications h2 { margin-top:7vw; }
.application-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); margin-top:8vw; border:1px solid var(--line); }
.application-grid article { background:var(--paper); padding:36px; min-height:240px; }
.application-grid span { font-size:10px; color:var(--muted); }
.application-grid h3 { margin:80px 0 12px; font-size:25px; letter-spacing:-.04em; }
.application-grid p { margin:0; color:var(--muted); font-size:14px; }
.faq { background:white; }
.faq-layout>div { border-top:1px solid var(--ink); }
details { border-bottom:1px solid var(--line); padding:24px 0; }
summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:20px; font-weight:700; font-size:17px; }
summary::-webkit-details-marker { display:none; }
details p { color:var(--muted); line-height:1.6; padding-right:40px; }
details[open] summary span { transform:rotate(45deg); }
.form-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:9vw; }
.form-intro h2 { margin:7vw 0 32px; }
.form-intro>p { color:#bec3c0; font-size:18px; line-height:1.55; max-width:500px; }
.privacy-note { border-top:1px solid #3d423f; margin-top:50px; padding-top:20px; color:#969c99; font-size:11px; line-height:1.5; }
.lead-form { display:flex; flex-direction:column; gap:24px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.lead-form label,.lead-form legend { font-size:11px; text-transform:uppercase; letter-spacing:.09em; color:#aeb4b1; }
input,select,textarea { width:100%; margin-top:10px; padding:16px 0; border:0; border-bottom:1px solid #505653; background:transparent; color:white; outline:none; border-radius:0; }
select { color:white; }
select option { color:var(--ink); }
textarea { resize:vertical; }
input:focus,select:focus,textarea:focus { border-color:var(--lime); }
fieldset { border:0; padding:0; margin:8px 0; display:flex; gap:20px; align-items:center; }
fieldset legend { margin-bottom:14px; width:100%; }
.radio { display:flex; align-items:center; gap:8px; text-transform:none!important; letter-spacing:0!important; font-size:13px!important; color:white!important; }
.radio input,.consent input { width:auto; margin:0; accent-color:var(--lime); }
.routing-hint { color:var(--lime); font-size:12px; line-height:1.5; margin:-8px 0 4px; }
.upload { padding:22px; border:1px dashed #555b58; cursor:pointer; }
.upload input { border:0; padding:8px 0; }
.upload span { display:block; margin-top:5px; text-transform:none; letter-spacing:0; color:#7d8480; }
.consent { display:flex; gap:12px; align-items:flex-start; line-height:1.5; text-transform:none!important; letter-spacing:0!important; }
.consent a { text-decoration:underline; text-underline-offset:3px; }
.consent.optional { color:#8d9490!important; }
.form-submit { width:100%; margin-top:10px; }
.form-disclaimer { color:#7f8682; font-size:10px; line-height:1.5; margin:0; }
.quote-section { background:#e7e6e0; display:grid; grid-template-columns:.8fr 1.2fr; gap:9vw; }
.quote-intro h2 { margin:7vw 0 30px; }
.quote-intro>p { color:#555c58; font-size:18px; line-height:1.55; }
.quote-intro ul { list-style:none; padding:0; margin:45px 0 0; border-top:1px solid #c4c5bf; }
.quote-intro li { padding:14px 0; border-bottom:1px solid #c4c5bf; font-size:13px; }
.light-form label,.light-form legend { color:#5c625f; }
.light-form input,.light-form select,.light-form textarea { color:var(--ink); border-color:#b9bbb5; }
.light-form .upload { border-color:#b9bbb5; }
.light-form .consent { color:#555c58!important; }
footer { padding:55px 6vw; background:var(--lime); display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:30px; }
footer p { margin:0; font-size:16px; line-height:1.4; }
footer>a { font-size:12px; font-weight:700; }
.footer-links { display:flex; flex-wrap:wrap; gap:16px; justify-content:flex-end; }
.footer-links a { font-size:12px; font-weight:700; border-bottom:1px solid var(--ink); }
.whatsapp-float { position:fixed; right:22px; bottom:22px; z-index:40; display:flex; align-items:center; gap:12px; padding:12px 16px 12px 12px; border-radius:999px; background:#1fbd5a; color:#07140c; box-shadow:0 14px 38px rgba(16,19,18,.24); transition:transform .2s ease,box-shadow .2s ease; }
.whatsapp-float:hover { transform:translateY(-2px); box-shadow:0 18px 44px rgba(16,19,18,.3); }
.whatsapp-icon { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:white; color:#128c45; font-size:11px; font-weight:800; letter-spacing:.04em; }
.whatsapp-copy { display:flex; flex-direction:column; gap:2px; }
.whatsapp-copy strong { font-size:12px; }
.whatsapp-copy small { font-size:11px; }

@media (max-width:900px) {
  .topbar { height:auto; min-height:72px; padding:12px 20px; flex-wrap:wrap; gap:10px; }.top-cta { font-size:0; }.top-cta span { font-size:18px; }
  .site-links { order:3; width:100%; margin:0; padding-top:10px; border-top:1px solid var(--line); justify-content:flex-start; overflow-x:auto; scrollbar-width:none; }
  .site-links::-webkit-scrollbar { display:none; }
  .hero { padding:70px 22px 35px; min-height:auto; }.hero-lead,.hero-actions { width:100%; margin-left:0; }.hero-lead { margin-top:35px; }.hero-proof { flex-direction:column; gap:10px; margin-top:65px; }
  section { padding:90px 22px; }.problem-intro,.advisor-grid,.section-head,.faq-layout,.form-section,.visuals-head,.quote-section { grid-template-columns:1fr; gap:45px; }.problem-grid,.steps { grid-template-columns:1fr 1fr; }.problem-grid article,.steps li { border-bottom:1px solid #3d4240; }.tech-list article { grid-template-columns:45px 1fr; }.tech-list article>p,.tech-list .area { grid-column:2; text-align:left; }.application-grid { grid-template-columns:1fr 1fr; }.form-intro h2,.quote-intro h2 { margin-top:45px; }footer { grid-template-columns:1fr; }.footer-links{justify-content:flex-start;}
}
@media (max-width:560px) {
  h1 { font-size:52px; }.hero-actions { align-items:flex-start; flex-direction:column; }.problem-grid,.steps,.application-grid,.field-row,.visual-grid,.choice-grid { grid-template-columns:1fr; }.problem-grid article,.problem-grid article:not(:first-child),.steps li,.steps li:not(:first-child) { padding:28px 0; min-height:auto; border-right:0; }.choice-grid article { min-height:330px; padding:30px; }.choice-grid h3 { margin-top:55px; }.steps h3 { margin-top:24px; }.tech-list article { gap:14px; }.application-grid article { min-height:200px; }.application-grid h3 { margin-top:55px; }.visual-image { min-height:320px; padding:32px; }.visual-image img { height:260px; }fieldset { align-items:flex-start; flex-wrap:wrap; }.radio { width:100%; }
  .whatsapp-float { right:14px; bottom:14px; padding:10px; }
  .whatsapp-copy { display:none; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
