:root {
    --arrow-orange: #ff8a1f;
    --arrow-yellow: #ffc41f;
    --ink: #17191c;
    --ink-2: #202327;
    --ink-3: #2b2f34;
    --paper: #ffffff;
    --soft: #f4f5f6;
    --line: #e4e6e8;
    --muted: #6c737b;
}

html { scroll-behavior: smooth; }
body {
    margin: 0;
    font-family: "Segoe UI", Arial, sans-serif;
    color: var(--ink);
    background: #fff;
    -webkit-font-smoothing: antialiased;
}
a { transition: .2s ease; }
a:hover { text-decoration: none; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: rgba(23,25,28,.96);
    border-bottom: 1px solid rgba(255,255,255,.07);
    backdrop-filter: blur(14px);
}
.brand-wordmark { font-size: 1.58rem; letter-spacing: -.04em; font-weight: 300; }
.brand-wordmark span { color: var(--arrow-orange); }
.brand-wordmark strong { color: #eceff1; font-weight: 300; }
.navbar-dark .navbar-nav .nav-link { color: #c8cbd0; font-size: .79rem; font-weight: 700; letter-spacing: .08em; padding-left: .8rem; padding-right: .8rem; }
.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .active > .nav-link { color: #fff; }
.dropdown-menu { background: #22262a; border: 1px solid #3b4045; border-radius: 0; padding: .6rem; }
.dropdown-item { color: #d7d9dc; font-size: .85rem; padding: .65rem .8rem; }
.dropdown-item:hover { background: #30353a; color: #fff; }
.dropdown-item.disabled { color: #7f858c; }

.btn { border-radius: 2px; font-weight: 700; letter-spacing: .04em; font-size: .84rem; }
.btn-arrow { background: linear-gradient(90deg,var(--arrow-orange),var(--arrow-yellow)); color: #17191c; border: 0; box-shadow: 0 10px 26px rgba(255,138,31,.2); }
.btn-arrow:hover { color: #000; transform: translateY(-1px); box-shadow: 0 14px 30px rgba(255,138,31,.3); }
.btn-dark-arrow { background: var(--ink); color: #fff; border: 1px solid var(--ink); }
.btn-dark-arrow:hover { color: #fff; background: #000; }
.btn-outline-light { border-color: rgba(255,255,255,.45); }
.btn-whatsapp { background:#1f9f62; color:#fff; border:0; }
.btn-whatsapp:hover { color:#fff; background:#168553; }

.eyebrow { display:inline-block; color:var(--arrow-orange); font-size:.73rem; font-weight:800; letter-spacing:.18em; margin-bottom:1rem; }
.eyebrow.dark { color:#d66c0d; }
.section-space { padding: 105px 0; }
.bg-soft { background: var(--soft); }
.section-heading { max-width: 760px; margin-bottom: 48px; }
.section-heading h2, .why-section h2, .about-home h2 { font-size: clamp(2rem,4vw,3.4rem); font-weight: 700; letter-spacing: -.045em; line-height:1.05; margin-bottom:1.2rem; }
.section-heading p, .why-section p, .about-home p { color:var(--muted); font-size:1.05rem; line-height:1.75; }

.hero-section { position:relative; overflow:hidden; background: radial-gradient(circle at 68% 38%,#34383d 0,#24272b 35%,#17191c 72%); color:#fff; }
.hero-grid { position:absolute; inset:0; opacity:.12; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent); }
.hero-glow { position:absolute; width:420px; height:420px; border-radius:50%; background:rgba(255,138,31,.09); filter:blur(30px); right:12%; top:20%; }
.min-vh-hero { min-height: calc(100vh - 73px); padding:80px 0; }
.hero-copy h1 { font-size:clamp(2.8rem,5.3vw,5.3rem); line-height:.98; letter-spacing:-.055em; font-weight:750; max-width:950px; }
.hero-copy h1 span { color:var(--arrow-orange); }
.hero-lead { color:#c6cbd0; font-size:1.15rem; line-height:1.72; max-width:720px; margin:1.8rem 0 2rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-points { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:2rem; color:#8f969d; font-size:.68rem; letter-spacing:.16em; font-weight:700; }
.hero-points i { width:3px; height:3px; border-radius:50%; background:var(--arrow-orange); }
.brand-visual { position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.09); box-shadow:0 30px 90px rgba(0,0,0,.35); transform:perspective(900px) rotateY(-7deg); }
.brand-visual-image { width:100%; display:block; }
.brand-visual-overlay { position:absolute; inset:0; box-shadow: inset 0 0 80px rgba(0,0,0,.35); pointer-events:none; }

.solution-card { background:#fff; padding:38px 34px; border:1px solid var(--line); transition:.25s ease; display:flex; flex-direction:column; }
.solution-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(21,24,27,.08); border-color:#d7dadd; }
.solution-icon { width:58px; height:58px; background:var(--ink); color:var(--arrow-orange); display:flex; align-items:center; justify-content:center; font-size:1.3rem; font-weight:800; margin-bottom:28px; }
.solution-card small { color:#9b5a1d; font-size:.67rem; letter-spacing:.15em; font-weight:800; }
.solution-card h3 { font-size:1.55rem; margin:10px 0 14px; letter-spacing:-.025em; }
.solution-card p { color:var(--muted); line-height:1.72; flex-grow:1; }
.solution-link { color:var(--ink); font-weight:800; font-size:.75rem; letter-spacing:.08em; margin-top:20px; }
.solution-link:hover { color:#c45f00; }
.solution-link span { color:var(--arrow-orange); margin-left:6px; }
.disabled-link { color:#9ca1a6; cursor:default; }

.philosophy-section { background:var(--ink); color:#fff; }
.philosophy-section h2 { font-size:clamp(2rem,4vw,3.6rem); line-height:1.05; letter-spacing:-.045em; }
.text-muted-light { color:#aab0b6; line-height:1.75; }
.process-card { border-top:1px solid #484d53; padding:25px 0 10px; min-height:190px; }
.process-card b { color:var(--arrow-orange); font-size:.74rem; letter-spacing:.12em; }
.process-card h4 { margin:36px 0 10px; font-size:1rem; letter-spacing:.08em; }
.process-card p { color:#9da4aa; line-height:1.6; font-size:.92rem; }

.products-section { background:#fff; }
.product-card { min-height:340px; padding:45px; color:#fff; position:relative; overflow:hidden; }
.product-card:after { content:""; position:absolute; width:280px; height:280px; border-radius:50%; right:-120px; bottom:-120px; border:50px solid rgba(255,255,255,.06); }
.bcft-card { background:linear-gradient(135deg,#152943,#214f83); }
.property-card { background:linear-gradient(135deg,#272b30,#16181b); }
.product-label { font-size:.68rem; letter-spacing:.15em; color:#c5d4e7; font-weight:800; }
.product-card h3 { font-size:2.2rem; margin:65px 0 15px; letter-spacing:-.035em; }
.product-card p { color:#d2d9e1; max-width:500px; line-height:1.7; }
.product-card a, .coming-soon { display:inline-block; margin-top:25px; color:#fff; font-size:.73rem; font-weight:800; letter-spacing:.08em; }
.coming-soon { color:var(--arrow-orange); }

.why-section { background:var(--soft); }
.why-list { border-top:1px solid #d9dcdf; }
.why-item { display:flex; gap:22px; border-bottom:1px solid #d9dcdf; padding:22px 0; }
.why-item b { color:var(--arrow-orange); font-size:.72rem; }
.why-item h4 { margin:0 0 5px; font-size:1.04rem; }
.why-item p { margin:0; font-size:.92rem; line-height:1.5; }

.development-band { background:#24272b; color:#fff; padding:78px 0; }
.development-band h2 { font-size:clamp(2rem,4vw,3.4rem); line-height:1.05; letter-spacing:-.04em; }
.development-band p { color:#b8bec4; font-size:1.05rem; }
.service-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:25px; }
.service-tags span { border:1px solid #4a4f55; padding:8px 11px; font-size:.66rem; letter-spacing:.09em; color:#cfd3d7; }

.about-home { background:#fff; }
.about-mark { width:300px; height:300px; background:var(--ink); color:#fff; font-size:8rem; font-weight:800; display:flex; align-items:center; justify-content:center; letter-spacing:-.1em; box-shadow:30px 30px 0 var(--arrow-orange); }
.about-mark span { color:var(--arrow-orange); font-size:5rem; margin-left:-20px; }
.text-link-dark { color:var(--ink); font-weight:800; font-size:.75rem; letter-spacing:.08em; }
.text-link-dark:hover { color:#c75e00; }

.final-cta { background:linear-gradient(135deg,#191b1e,#272b30); color:#fff; padding:100px 0; }
.final-cta h2 { font-size:clamp(2.2rem,4.5vw,4rem); letter-spacing:-.045em; line-height:1.04; margin-bottom:1rem; }
.final-cta p { color:#b8bec4; font-size:1.05rem; margin-bottom:2rem; }

.page-hero { background:radial-gradient(circle at 75% 30%,#32363b,#17191c 66%); color:#fff; padding:125px 0 110px; }
.compact-hero { padding:90px 0 80px; }
.page-hero h1 { font-size:clamp(2.8rem,5vw,5rem); letter-spacing:-.05em; line-height:1.02; max-width:900px; }
.page-hero p { color:#bbc1c7; font-size:1.1rem; line-height:1.75; max-width:800px; margin:1.5rem 0 2rem; }

.service-card, .value-card { background:#fff; border:1px solid var(--line); padding:34px; height:100%; }
.service-card b { color:var(--arrow-orange); font-size:.75rem; }
.service-card h3, .value-card h3 { margin:35px 0 12px; font-size:1.35rem; letter-spacing:-.02em; }
.service-card p, .value-card p { color:var(--muted); line-height:1.65; }
.value-card span { color:#c26511; font-size:.7rem; font-weight:800; letter-spacing:.14em; }
.lead-dark { font-size:1.35rem; color:#2c3136; line-height:1.6; }

.contact-info-card, .contact-form-card { background:#fff; border:1px solid var(--line); padding:40px; }
.contact-info-card hr { margin:30px 0; border-color:#eceef0; }
.contact-big { display:block; color:var(--ink); font-size:1.1rem; font-weight:700; word-break:break-word; }
.contact-big:hover { color:#c45f00; }
.contact-form-card h2 { font-size:2rem; letter-spacing:-.035em; }
.contact-form-card > p { color:var(--muted); margin-bottom:28px; }
.form-control { border-radius:2px; border-color:#d9dcdf; min-height:48px; }
textarea.form-control { min-height:150px; }
.form-control:focus { border-color:var(--arrow-orange); box-shadow:0 0 0 .2rem rgba(255,138,31,.13); }
label { font-size:.78rem; font-weight:700; letter-spacing:.03em; }
.field-validation-error { font-size:.78rem; }
.form-privacy { color:#777e85; }
.form-privacy a { color:#bf5a00; }
.hp-field { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

.legal-content { max-width:900px; }
.legal-content h2 { margin-top:2.2rem; margin-bottom:.8rem; font-size:1.35rem; }
.legal-content h2:first-child { margin-top:0; }
.legal-content p { color:#5f666d; line-height:1.8; }

.site-footer { background:#111315; color:#8f969d; }
.footer-brand { margin-bottom:15px; }
.footer-tagline { max-width:380px; color:#a7adb3; }
.site-footer h6 { color:#fff; font-size:.7rem; letter-spacing:.14em; margin-bottom:16px; }
.site-footer a, .site-footer span { color:#8f969d; font-size:.88rem; }
.site-footer .col-lg-2 a, .site-footer .col-lg-2 span, .site-footer .col-lg-3 a { display:block; margin-bottom:9px; }
.site-footer a:hover { color:#fff; }
.footer-contact { color:#c6cbd0 !important; }
.footer-whatsapp { margin-top:18px; color:var(--arrow-orange) !important; }
.footer-bottom { border-top:1px solid #2b2e31; font-size:.8rem; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease,transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.12s; }

@media (max-width:991.98px) {
    .site-header { position:relative; }
    .min-vh-hero { min-height:auto; padding:90px 0; }
    .navbar-nav { padding-top:18px; }
    .navbar-dark .navbar-nav .nav-link { padding:.7rem 0; }
    .section-space { padding:78px 0; }
    .about-mark { width:220px; height:220px; font-size:6rem; margin-bottom:60px; box-shadow:20px 20px 0 var(--arrow-orange); }
    .product-card { min-height:310px; }
}

@media (max-width:575.98px) {
    .hero-copy h1 { font-size:2.75rem; }
    .hero-actions .btn { width:100%; }
    .hero-points { line-height:1.8; }
    .section-space { padding:64px 0; }
    .solution-card, .contact-info-card, .contact-form-card, .service-card, .value-card { padding:26px; }
    .product-card { padding:32px 26px; }
    .product-card h3 { margin-top:45px; font-size:1.8rem; }
    .page-hero, .compact-hero { padding:75px 0 65px; }
    .about-mark { width:180px; height:180px; font-size:5rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    .reveal { opacity:1; transform:none; transition:none; }
    .btn-arrow:hover { transform:none; }
}
