[x-cloak] { display: none !important; }
:root { --ink:#202127; --muted:#62636b; --line:#e7dfe2; --paper:#fffdfd; --soft:#faf5f7; --brand:#7a2948; --brand-dark:#3a1023; --brand-mid:#a64f6c; --rose:#d597aa; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
svg { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.container-wide,.container-narrow { width:min(100% - 2rem,74rem); margin-inline:auto; }
.container-narrow { max-width:52rem; }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:100; padding:.75rem 1rem; background:white; color:var(--brand-dark); border-radius:.4rem; box-shadow:0 8px 25px #0003; }
.skip-link:focus { top:1rem; }
.trust-strip { background:var(--brand-dark); color:#f8eaf0; font-size:.75rem; letter-spacing:.03em; }
.trust-strip-inner { min-height:2.15rem; display:flex; align-items:center; justify-content:center; text-align:center; }
.trust-strip a { display:flex; align-items:center; justify-content:center; gap:.4rem; color:white; font-weight:800; }
.site-header { position:sticky; top:0; z-index:50; background:rgba(255,253,253,.97); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.nav-shell { min-height:5.15rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand-logo,.footer-logo { display:block; width:12.2rem; height:3.8rem; overflow:hidden; background:white; }
.brand-logo img,.footer-logo img { width:100%; height:100%; object-fit:cover; object-position:center 49%; }
.desktop-nav,.nav-actions { display:flex; align-items:center; gap:1rem; }
.nav-link { color:#3e3f45; font-size:.89rem; font-weight:700; padding:.45rem .15rem; border-bottom:2px solid transparent; white-space:nowrap; }
.nav-link:hover,.nav-active { color:var(--brand); border-color:var(--brand); }
.language-link { display:flex; align-items:center; gap:.35rem; font-weight:700; color:var(--brand); font-size:.85rem; }
.menu-button { display:none; border:0; background:transparent; color:var(--brand-dark); padding:.5rem; }
.mobile-menu { display:none; border-top:1px solid var(--line); background:white; padding:1rem; }
.mobile-menu nav { display:grid; gap:.6rem; max-width:74rem; margin:auto; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:2.85rem; padding:.7rem 1.15rem; border:1px solid transparent; border-radius:.45rem; font-weight:800; line-height:1.2; text-align:center; transition:transform .18s ease,background .18s ease,box-shadow .18s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:white; background:var(--brand); box-shadow:0 8px 22px rgba(122,41,72,.2); }
.button-primary:hover { background:var(--brand-dark); }
.button-secondary { color:var(--brand-dark); background:#fff; border-color:#e5c9d3; }
.button-outline { color:var(--brand); background:transparent; border-color:var(--brand); }
.button-large { min-height:3.35rem; padding-inline:1.6rem; }
.button:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.home-hero { color:white; background:linear-gradient(110deg,rgba(52,12,31,.98),rgba(87,26,51,.93) 58%,rgba(30,29,34,.78)),url('/img/hero-bg.webp') center/cover; }
.hero-grid { min-height:36rem; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(17rem,.65fr); align-items:center; gap:4rem; padding-block:5.5rem; }
.hero-copy { max-width:47rem; }
.hero-copy h1,.inner-hero h1,.confirmation h1 { margin:.5rem 0 1.2rem; font-size:clamp(2.5rem,5vw,4.7rem); line-height:1.02; letter-spacing:-.045em; font-weight:900; }
.hero-copy>p:not(.eyebrow):not(.hero-note),.inner-hero>.container-narrow>p:not(.eyebrow) { color:#f1dfe6; max-width:43rem; font-size:1.12rem; }
.eyebrow { margin:0; color:var(--brand); font-size:.78rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow-light { color:#efb8c9; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.8rem; }
.hero-note { margin-top:1.5rem; color:#eed6df; font-size:.88rem; font-weight:700; }
.hero-panel { align-self:end; padding:1.8rem; border:1px solid rgba(255,255,255,.28); border-radius:1rem; background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.07)); box-shadow:0 25px 70px rgba(0,0,0,.25); backdrop-filter:blur(12px); }
.hero-panel-icon { display:flex; align-items:center; justify-content:center; width:3.75rem; height:3.75rem; margin-bottom:1.2rem; color:white; background:linear-gradient(145deg,var(--brand-mid),var(--brand)); border:1px solid rgba(255,255,255,.28); border-radius:1rem; box-shadow:0 12px 28px rgba(30,6,17,.28); }
.hero-panel strong { display:block; font-size:1.35rem; line-height:1.28; }
.hero-panel p { margin:.75rem 0 0; color:#f0dce4; font-size:.92rem; line-height:1.55; }
.authority-band { border-bottom:1px solid var(--line); background:white; }
.authority-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.authority-grid>div,.authority-grid>a { display:flex; align-items:center; justify-content:center; gap:.75rem; min-height:6.2rem; padding:1rem; border-right:1px solid var(--line); color:var(--brand-dark); }
.authority-grid>:last-child { border:0; }
.authority-grid svg { width:1.8rem; height:1.8rem; color:var(--brand); flex:none; }
.authority-grid span,.authority-grid a { text-align:left; }
.authority-grid strong,.authority-grid small { display:block; }
.authority-grid small { margin-top:.1rem; color:var(--muted); font-size:.75rem; }
.section { padding-block:5.5rem; }
.section-muted { background:var(--soft); border-block:1px solid #f0e6ea; }
.section-dark { background:var(--brand-dark); color:white; }
.section-heading { max-width:48rem; margin-bottom:2.5rem; }
.section-heading h2,.prose-content h2,.contact-grid h2,.form-card h2 { margin:.4rem 0 .7rem; font-size:clamp(1.8rem,3vw,2.7rem); line-height:1.12; letter-spacing:-.025em; font-weight:900; }
.section-heading>p:last-child { color:var(--muted); font-size:1.04rem; }
.section-dark .section-heading>p:last-child { color:#dec3cd; }
.card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.equipment-grid { grid-template-columns:repeat(3,1fr); }
.info-card { min-height:13rem; padding:1.5rem; background:white; border:1px solid var(--line); border-radius:.85rem; box-shadow:0 10px 32px rgba(54,18,34,.05); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.info-card:hover { transform:translateY(-3px); border-color:#d8b3c0; box-shadow:0 18px 42px rgba(54,18,34,.09); }
.info-card h3 { margin:1rem 0 .35rem; font-size:1.08rem; font-weight:900; }
.info-card p { margin:0; color:var(--muted); font-size:.92rem; }
.icon-tile { display:flex; align-items:center; justify-content:center; width:3.35rem; height:3.35rem; border:1px solid #ebcfd9; border-radius:.9rem; color:var(--brand); background:linear-gradient(145deg,#fff8fa,#f2dfe6); box-shadow:inset 0 1px 0 white,0 8px 18px rgba(122,41,72,.08); transition:color .2s ease,background .2s ease,border-color .2s ease; }
.icon-tile svg { width:1.75rem; height:1.75rem; stroke-width:1.75; }
.info-card:hover .icon-tile,.resource-card:hover .icon-tile { color:white; border-color:var(--brand); background:linear-gradient(145deg,var(--brand-mid),var(--brand)); }
.feature-split { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.feature-copy h3 { font-size:1.7rem; font-weight:900; }
.check-list { display:grid; gap:.8rem; margin:1.2rem 0 1.8rem; color:var(--muted); }
.check-list li { display:flex; align-items:flex-start; gap:.65rem; }
.check-list svg { width:1.25rem; height:1.25rem; flex:none; color:var(--brand); margin-top:.15rem; stroke-width:2.5; }
.feature-visual { display:flex; min-height:20rem; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:2.5rem; color:white; background:linear-gradient(145deg,var(--brand),var(--brand-dark)); border-radius:1rem; box-shadow:0 28px 60px rgba(58,16,35,.22); }
.feature-visual strong { margin-top:1.5rem; font-size:1.25rem; }
.feature-visual p { color:#e9cdd7; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.steps li { padding:1.5rem; border:1px solid rgba(255,255,255,.16); border-radius:.75rem; background:rgba(255,255,255,.05); }
.steps span { color:#e7a9bc; font-size:.75rem; font-weight:900; letter-spacing:.12em; }
.steps h3 { margin:1.1rem 0 .4rem; font-weight:900; }
.steps p { margin:0; color:#d9c2ca; font-size:.9rem; }
.two-cards { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.link-card { display:flex; align-items:center; gap:1.2rem; padding:1.7rem; border:1px solid var(--line); border-radius:.75rem; background:white; transition:border .18s ease,transform .18s ease; }
.link-card:hover { border-color:var(--rose); transform:translateY(-2px); }
.link-card>svg { width:2.5rem; height:2.5rem; color:var(--brand); flex:none; }
.link-card strong,.link-card small { display:block; }
.link-card small { margin-top:.2rem; color:var(--muted); }
.about-preview { display:grid; grid-template-columns:1.5fr .6fr; gap:4rem; align-items:center; }
.about-mark { aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:50%; color:white; background:linear-gradient(145deg,var(--brand-mid),var(--brand-dark)); font-family:Georgia,serif; font-size:6rem; line-height:1; box-shadow:0 28px 65px rgba(58,16,35,.2); }
.about-mark span { margin-top:1rem; font-family:Inter,sans-serif; font-size:.72rem; letter-spacing:.18em; }
.complementary { border-top:6px solid #eed6df; }
.cta-section { padding-block:4.5rem; color:white; text-align:center; background:linear-gradient(115deg,var(--brand),var(--brand-dark)); }
.cta-section h2 { margin:0; font-size:clamp(2rem,4vw,3.2rem); line-height:1.1; font-weight:900; }
.cta-section p { margin:1rem auto 1.5rem; max-width:40rem; color:#efdbe2; }
.cta-section .button-primary { color:var(--brand-dark); background:white; }
.inner-hero { padding-block:5rem; color:white; background:radial-gradient(circle at 80% 20%,rgba(213,151,170,.25),transparent 28%),linear-gradient(120deg,var(--brand-dark),#6d2341); }
.inner-hero>.container-narrow { margin-left:max(1rem,calc((100% - 74rem)/2)); max-width:52rem; }
.inner-hero h1 { font-size:clamp(2.35rem,4.4vw,4rem); }
.three-column>.card-grid { grid-template-columns:repeat(3,1fr); }
.prose-content { font-size:1.03rem; }
.prose-content h2 { margin-top:2.5rem; font-size:1.8rem; }
.prose-content h2:first-child { margin-top:0; }
.prose-content p,.prose-content li { color:#4f5057; }
.prose-content ul { padding-left:1.25rem; list-style:disc; }
.criteria-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.criteria-grid article { padding:1.5rem; border:1px solid var(--line); border-radius:.75rem; background:white; }
.criteria-grid span { color:var(--rose); font-size:.75rem; font-weight:900; }
.criteria-grid h3 { margin:.8rem 0 .3rem; font-weight:900; }
.criteria-grid p { margin:0; color:var(--muted); font-size:.9rem; }
.faq-list { display:grid; gap:.75rem; }
.faq-list details { padding:1.2rem 1.35rem; border:1px solid var(--line); border-radius:.6rem; background:white; }
.faq-list summary { cursor:pointer; font-weight:900; color:var(--brand-dark); }
.faq-list p { margin:.75rem 0 0; color:var(--muted); }
.notice { padding:1.5rem; border-left:4px solid var(--brand); border-radius:.35rem; background:#f7eaf0; }
.company-data { border:1px solid var(--line); border-radius:.75rem; overflow:hidden; }
.company-data div { display:grid; grid-template-columns:14rem 1fr; gap:1rem; padding:1rem 1.25rem; border-bottom:1px solid var(--line); }
.company-data div:last-child { border:0; }
.company-data dt { color:var(--muted); font-weight:700; }
.company-data dd { margin:0; font-weight:800; }
.company-data a,.source-note a,.prose-content a { color:var(--brand); text-decoration:underline; text-underline-offset:3px; }
.contact-grid { display:grid; grid-template-columns:minmax(15rem,.55fr) minmax(0,1.4fr); gap:3rem; align-items:start; }
.contact-grid aside { position:sticky; top:9rem; display:grid; gap:1rem; }
.contact-grid aside a { display:flex; gap:.7rem; align-items:center; color:var(--brand); font-weight:800; }
.contact-grid aside svg { width:1.4rem; height:1.4rem; }
.contact-grid address { margin-top:1rem; color:var(--muted); font-style:normal; }
.form-card { padding:2rem; border:1px solid var(--line); border-radius:.9rem; background:white; box-shadow:0 18px 50px rgba(58,16,35,.07); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.form-grid label { display:block; font-size:.88rem; font-weight:800; }
.form-grid .full { grid-column:1/-1; }
input,select,textarea { display:block; width:100%; margin-top:.35rem; padding:.72rem .8rem; color:var(--ink); background:white; border:1px solid #cfc4c8; border-radius:.4rem; font:inherit; font-weight:400; }
textarea { resize:vertical; }
input:focus,select:focus,textarea:focus { outline:0; border-color:var(--brand); box-shadow:0 0 0 3px rgba(122,41,72,.13); }
.field-error,.form-error { margin:.3rem 0 0; color:#a1162f; font-size:.78rem; font-weight:700; }
.form-error { margin:1rem 0; padding:.75rem; background:#fff0f2; border-radius:.35rem; }
.success-box { margin:1rem 0; padding:.85rem; color:#185d39; background:#e9f8ef; border-radius:.35rem; font-weight:800; }
.form-section { margin-bottom:2.3rem; padding-bottom:2rem; border-bottom:1px solid var(--line); }
.form-section h2 { font-size:1.45rem; }
.consent { display:flex; align-items:flex-start; gap:.75rem; margin:0 0 1rem; font-size:.88rem; }
.consent input { width:1.1rem; height:1.1rem; margin:.25rem 0 0; flex:none; accent-color:var(--brand); }
.consent a { color:var(--brand); text-decoration:underline; }
.form-note { margin:.9rem 0 0; color:var(--muted); font-size:.78rem; }
.honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.turnstile:empty { display:none; }
.confirmation { min-height:65vh; display:flex; align-items:center; padding-block:6rem; text-align:center; }
.confirmation .container-narrow { display:flex; flex-direction:column; align-items:center; }
.confirmation h1 { max-width:50rem; color:var(--brand-dark); }
.confirmation p:not(.eyebrow) { max-width:42rem; color:var(--muted); font-size:1.08rem; }
.success-icon { display:flex; align-items:center; justify-content:center; width:5rem; height:5rem; margin-bottom:1.5rem; color:white; background:var(--brand); border-radius:50%; }
.resource-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
.resource-card { padding:1.7rem; border:1px solid var(--line); border-radius:.75rem; background:white; }
.resource-card h2 { margin:.6rem 0; font-size:1.35rem; line-height:1.2; font-weight:900; }
.resource-card h2 a:hover,.text-link:hover { color:var(--brand); }
.resource-card>p:not(.resource-type) { color:var(--muted); }
.resource-type { margin:1rem 0 0; color:var(--brand); font-size:.72rem; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.text-link { color:var(--brand); font-weight:900; }
.article-intro { font-size:1.18rem; color:var(--brand-dark)!important; }
.article-copy>section { padding-block:1.2rem; border-bottom:1px solid var(--line); }
.article-cta { margin-top:3rem; padding:2rem; color:white; background:var(--brand-dark); border-radius:.8rem; }
.article-cta h2 { margin-top:0; }
.article-cta p { color:#e9cdd7; }
.article-cta a { color:white; text-decoration:none; background:var(--brand-mid); }
.article-disclaimer { margin-top:2rem; font-size:.82rem; }
.legal-copy h2 { font-size:1.45rem; }
.site-footer { padding-top:4.5rem; color:#ead9df; background:#2b0c1b; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:3rem; }
.footer-grid>div { display:flex; flex-direction:column; align-items:flex-start; gap:.55rem; }
.footer-logo { width:13rem; height:4.1rem; margin-bottom:.6rem; border-radius:.2rem; }
.footer-grid h2 { margin:0 0 .5rem; color:white; font-size:.95rem; font-weight:900; }
.footer-grid p,.footer-grid address { margin:0; color:#d8bbc6; font-size:.86rem; font-style:normal; }
.footer-grid a { color:#f5eaf0; font-size:.87rem; }
.footer-grid a:hover { color:white; text-decoration:underline; }
.footer-authority { margin-top:.6rem!important; }
.availability { display:flex; align-items:center; gap:.45rem; margin-top:.45rem; color:white; font-size:.87rem; font-weight:800; }
.whatsapp-link { display:flex; align-items:center; gap:.45rem; margin-top:.4rem; font-weight:900; }
.footer-bottom { display:flex; justify-content:space-between; gap:1rem; margin-top:3rem; padding-block:1.4rem; border-top:1px solid rgba(255,255,255,.13); color:#cbaeb9; font-size:.75rem; }
.mobile-quote-cta { display:none; }
@media (max-width:1100px) { .desktop-nav { display:none; } .menu-button { display:block; } .mobile-menu { display:block; } .mobile-menu .nav-link { display:block; width:100%; } .equipment-grid { grid-template-columns:repeat(2,1fr); } .authority-grid { grid-template-columns:repeat(2,1fr); } .authority-grid>:nth-child(2) { border-right:0; } .authority-grid>:nth-child(-n+2) { border-bottom:1px solid var(--line); } }
@media (max-width:800px) { .nav-quote { display:none; } .brand-logo { width:10.5rem; height:3.25rem; } .hero-grid { min-height:0; grid-template-columns:1fr; gap:2rem; padding-block:4rem; } .hero-panel { align-self:auto; } .feature-split,.about-preview,.contact-grid { grid-template-columns:1fr; gap:2.5rem; } .contact-grid aside { position:static; } .card-grid,.three-column>.card-grid,.criteria-grid { grid-template-columns:repeat(2,1fr); } .steps { grid-template-columns:repeat(2,1fr); } .about-mark { max-width:20rem; justify-self:center; width:100%; } .footer-grid { grid-template-columns:repeat(2,1fr); } .inner-hero>.container-narrow { margin-inline:auto; } }
@media (max-width:560px) { .has-mobile-cta { padding-bottom:4.7rem; } .container-wide,.container-narrow { width:min(100% - 1.25rem,74rem); } .trust-strip { font-size:.67rem; line-height:1.3; } .trust-strip-inner { min-height:2.65rem; padding-block:.35rem; } .nav-shell { min-height:4.6rem; } .brand-logo { width:9.4rem; height:2.9rem; } .language-link { font-size:.78rem; } .hero-copy h1,.inner-hero h1,.confirmation h1 { font-size:2.35rem; } .hero-actions { flex-direction:column; } .hero-actions .button { width:100%; } .authority-grid,.card-grid,.equipment-grid,.three-column>.card-grid,.criteria-grid,.steps,.two-cards,.resource-grid,.footer-grid,.form-grid { grid-template-columns:1fr; } .authority-grid>* { border-right:0!important; border-bottom:1px solid var(--line)!important; } .authority-grid>:last-child { border-bottom:0!important; } .section { padding-block:4rem; } .info-card { min-height:0; } .form-card { padding:1.2rem; } .company-data div { grid-template-columns:1fr; gap:.2rem; } .footer-bottom { flex-direction:column; } .mobile-quote-cta { position:fixed; z-index:60; left:.6rem; right:.6rem; bottom:max(.6rem,env(safe-area-inset-bottom)); display:flex; align-items:center; justify-content:center; gap:.5rem; min-height:3.4rem; padding:.75rem; color:white; background:var(--brand); border:1px solid rgba(255,255,255,.25); border-radius:.55rem; box-shadow:0 8px 30px rgba(42,11,25,.4); font-size:.9rem; font-weight:900; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
