:root {
  --ink: #111111;
  --ink-soft: #202020;
  --paper: #f4f0e8;
  --paper-2: #e9e2d7;
  --white: #ffffff;
  --accent: #c9ff3b;
  --accent-ink: #111111;
  --muted: #7b786f;
  --line: rgba(17, 17, 17, .14);
  --dark-line: rgba(255, 255, 255, .16);
  --radius-sm: 14px;
  --radius-md: 24px;
  --radius-lg: 36px;
  --shadow: 0 20px 60px rgba(0, 0, 0, .14);
  --font-ar: "Alexandria", sans-serif;
  --font-en: "Manrope", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--paper); color: var(--ink); font-family: var(--font-ar); text-rendering: optimizeLegibility; }
body.dark-mode { --paper:#151515; --paper-2:#202020; --ink:#f3efe7; --ink-soft:#ffffff; --muted:#b7b2a9; --line:rgba(255,255,255,.14); }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { border: 0; }
::selection { background: var(--accent); color: var(--accent-ink); }
.skip-link { position: fixed; top: -100px; right: 20px; z-index: 9999; background: var(--accent); color: #111; padding: 12px 18px; border-radius: 10px; }
.skip-link:focus { top: 20px; }
.site-container { max-width: 1500px; padding-inline: clamp(18px, 4vw, 70px); }
.section-space { padding-block: clamp(90px, 10vw, 160px); }
.section-dark { background: var(--ink); color: #fff; padding-block: clamp(90px, 10vw, 160px); }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-en); letter-spacing: .17em; font-size: .72rem; font-weight: 800; color: rgba(255,255,255,.72); }
.eyebrow::before { content:""; width: 36px; height: 2px; background: var(--accent); }
.eyebrow.dark { color: var(--muted); }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: clamp(42px, 6vw, 80px); }
.section-head h2 { margin: 16px 0 0; font-size: clamp(2.5rem, 6vw, 6.3rem); line-height: .98; letter-spacing: -.06em; font-weight: 800; }
.section-head p { width: min(440px,100%); margin: 0; color: var(--muted); font-size: 1.05rem; line-height: 1.9; }
.section-head.light p { color: rgba(255,255,255,.64); }
.btn { border-radius: 999px; padding: .85rem 1.35rem; font-weight: 700; transition: .25s ease; }
.btn-lg { padding: 1rem 1.55rem; font-size: 1rem; }
.btn-accent { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.btn-accent:hover, .btn-accent:focus { background: #b5ec28; color: #111; transform: translateY(-2px); }
.btn-dark { background: #111; border-color:#111; color:#fff; }
.btn-outline-dark { border-color: rgba(17,17,17,.35); }
body.dark-mode .btn-outline-dark { color:#fff; border-color:rgba(255,255,255,.35); }
.site-header { position: fixed; inset: 0 0 auto; z-index: 1040; padding-top: 14px; transition: .3s ease; }
.site-header.scrolled { background: rgba(17,17,17,.92); backdrop-filter: blur(14px); padding-top:0; box-shadow:0 8px 35px rgba(0,0,0,.15); }
.navbar { min-height: 76px; }
.brand { display:inline-flex; align-items:center; gap:12px; color:#fff; }
.brand:hover { color:#fff; }
.brand-mark { width:43px; height:43px; fill:none; stroke:currentColor; stroke-width:2; }
.brand-mark circle { fill:var(--accent); stroke:none; }
.brand-copy { display:flex; flex-direction:column; line-height:1; }
.brand-copy strong { font-size:1.25rem; letter-spacing:-.04em; }
.brand-copy small { margin-top:5px; font:700 .52rem/1 var(--font-en); letter-spacing:.18em; opacity:.7; }
.nav-link { color:rgba(255,255,255,.78)!important; font-size:.9rem; padding:.7rem .9rem!important; }
.nav-link:hover { color:var(--accent)!important; }
.icon-btn { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.08); color:#fff; }
.mobile-link { font-size:2rem; font-weight:700; padding:18px 0; border-bottom:1px solid var(--dark-line); }
.offcanvas .brand { color:#fff; }
.hero-section { position:relative; min-height:100svh; color:#fff; background:#151515; overflow:hidden; }
.hero-media { position:absolute; inset:0; background-image:url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=2000&q=88'); background-size:cover; background-position:center; transform:scale(1.02); }
.hero-overlay { position:absolute; inset:0; background:rgba(0,0,0,.51); }
.hero-content { position:relative; z-index:2; }
.display-title { margin:20px 0 24px; max-width:1050px; font-size:clamp(3.5rem,5.5vw,5.5rem); line-height:1.5; letter-spacing:-.075em; font-weight:800; text-wrap:balance; }
.display-title span { color:var(--accent); text-shadow:8px 8px 0 rgba(17,17,17,.22); }
.hero-lead { max-width:720px; font-size:clamp(1rem,1.5vw,1.3rem); line-height:1.9; color:rgba(255,255,255,.78); }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.hero-project-card { width:260px; border:1px solid rgba(255,255,255,.28); background:rgba(17,17,17,.42); backdrop-filter:blur(12px); padding:24px; border-radius:var(--radius-md); }
.hero-project-card span,.hero-project-card small { display:block; font-family:var(--font-en); font-size:.68rem; letter-spacing:.14em; color:rgba(255,255,255,.65); }
.hero-project-card strong { display:block; font-size:1.5rem; margin:18px 0 10px; }
.scroll-indicator { position:absolute; z-index:3; bottom:32px; left:clamp(20px,4vw,68px); display:flex; align-items:center; gap:10px; font-size:.78rem; color:rgba(255,255,255,.65); }
.scroll-indicator span { width:32px; height:52px; border:1px solid rgba(255,255,255,.45); border-radius:22px; position:relative; }
.scroll-indicator span::after { content:""; position:absolute; width:4px; height:9px; background:var(--accent); border-radius:4px; left:50%; transform:translateX(-50%); top:9px; animation:scrollDot 1.8s infinite; }
@keyframes scrollDot { 0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,20px)} }
.trust-strip { background:var(--accent); color:#111; }
.trust-grid { min-height:120px; display:grid; grid-template-columns:repeat(4,1fr) 1.5fr; align-items:center; }
.trust-grid article { padding:24px; border-left:1px solid rgba(17,17,17,.18); }
.trust-grid strong { display:block; font:800 2.1rem/1 var(--font-en); letter-spacing:-.04em; }
.trust-grid span { font-size:.78rem; font-weight:600; }
.trust-message { display:flex; align-items:center; gap:12px; }
.trust-message i { font-size:1.7rem; }
.space-selector { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:35px; }
.space-chip,.filter-btn { padding:10px 17px; border-radius:999px; background:transparent; border:1px solid var(--line); color:var(--ink); font-weight:600; }
.space-chip.active,.space-chip:hover,.filter-btn.active,.filter-btn:hover { background:var(--ink); color:var(--paper); }
.space-cards { display:grid; grid-template-columns:1.1fr .9fr; grid-auto-rows:420px; gap:18px; }
.space-card { position:relative; overflow:hidden; border-radius:var(--radius-md); background:#222; transition:.35s ease; }
.space-card.tall { grid-row:span 2; }
.space-card[hidden] { display:none!important; }
.space-card img { width:100%; height:100%; object-fit:cover; transition:.7s cubic-bezier(.2,.7,.2,1); }
.space-card::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.33); }
.space-card:hover img { transform:scale(1.055); }
.space-card-copy { position:absolute; z-index:2; inset:auto 0 0; padding:32px; color:#fff; }
.space-card-copy span { font:700 .68rem var(--font-en); letter-spacing:.13em; color:rgba(255,255,255,.65); }
.space-card-copy h3 { font-size:clamp(1.8rem,3vw,3.2rem); margin:10px 0 8px; font-weight:800; letter-spacing:-.04em; }
.space-card-copy p { margin:0 0 18px; color:rgba(255,255,255,.75); }
.space-card-copy a { display:inline-flex; gap:8px; align-items:center; font-weight:700; border-bottom:1px solid var(--accent); padding-bottom:5px; }
.comparison-wrap { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:34px; align-items:stretch; }
.comparison { position:relative; overflow:hidden; border-radius:var(--radius-lg); min-height:640px; background:#222; }
.comparison img { width:100%; height:100%; object-fit:cover; }
.comparison-after { position:absolute; inset:0; }
.comparison-before { position:absolute; inset:0 auto 0 0; width:48%; overflow:hidden; border-left:2px solid #fff; }
.comparison-before img { width:calc(100vw - 300px); max-width:1060px; }
.comparison-divider { position:absolute; left:48%; top:0; bottom:0; width:2px; background:#fff; transform:translateX(-1px); pointer-events:none; }
.comparison-divider span { position:absolute; top:50%; left:50%; width:52px; height:52px; display:grid; place-items:center; border-radius:50%; background:var(--accent); color:#111; transform:translate(-50%,-50%); font-size:1.3rem; box-shadow:var(--shadow); }
.comparison-range { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:ew-resize; }
.comparison-label { position:absolute; top:22px; padding:8px 12px; border-radius:999px; background:rgba(0,0,0,.55); font-size:.75rem; }
.before-label { left:22px; }.after-label { right:22px; }
.project-facts { padding:36px; border:1px solid var(--dark-line); border-radius:var(--radius-lg); display:flex; flex-direction:column; }
.status-pill { align-self:flex-start; background:var(--accent); color:#111; padding:8px 12px; border-radius:999px; font-size:.72rem; font-weight:800; }
.project-facts h3 { font-size:2.1rem; margin:26px 0 12px; font-weight:800; }
.project-facts p { color:rgba(255,255,255,.64); line-height:1.9; }
.project-facts dl { margin:25px 0 35px; }
.project-facts dl div { display:flex; justify-content:space-between; padding:15px 0; border-bottom:1px solid var(--dark-line); }
.project-facts dt { color:rgba(255,255,255,.48); font-weight:400; }.project-facts dd{margin:0;font-weight:700;}
.text-link { margin-top:auto; display:inline-flex; gap:10px; align-items:center; color:var(--accent); font-weight:700; }
.project-filter { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:55px; }
.projects-editorial { display:flex; flex-direction:column; gap:120px; }
.project-row { display:grid; grid-template-columns:1.5fr .5fr; gap:55px; align-items:end; }
.project-row.reverse { grid-template-columns:.5fr 1.5fr; }
.project-row.reverse .project-image { order:2; }.project-row.reverse .project-info { order:1; }
.project-row[hidden] { display:none; }
.project-image { position:relative; min-height:620px; border-radius:var(--radius-md); overflow:hidden; background:#ddd; }
.project-image img { width:100%; height:100%; min-height:620px; object-fit:cover; transition:.65s ease; }
.project-image::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,0); transition:.35s ease; }
.project-image span { position:absolute; z-index:2; bottom:24px; right:24px; background:var(--accent); color:#111; border-radius:999px; padding:13px 18px; font-weight:700; transform:translateY(15px); opacity:0; transition:.35s ease; }
.project-image:hover img { transform:scale(1.035); }.project-image:hover::after{background:rgba(0,0,0,.18)}.project-image:hover span{transform:none;opacity:1}
.project-info > span { font:700 .68rem var(--font-en); letter-spacing:.14em; color:var(--muted); }
.project-info h3 { font-size:clamp(2.4rem,5vw,5.5rem); line-height:.95; letter-spacing:-.06em; font-weight:800; margin:18px 0 14px; }
.project-info p { color:var(--muted); }
.project-info ul { list-style:none; padding:0; margin:28px 0 0; border-top:1px solid var(--line); }
.project-info li { padding:12px 0; border-bottom:1px solid var(--line); font-size:.86rem; }
.style-lab { padding:0 0 clamp(90px,10vw,150px); }
.style-copy { background:var(--accent); padding:clamp(45px,7vw,110px); min-height:650px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.style-copy h2 { font-size:clamp(2.7rem,5.5vw,6rem); line-height:.96; letter-spacing:-.065em; font-weight:800; margin:22px 0; }
.style-copy > p { max-width:600px; line-height:1.9; }
.style-result-mini { width:min(420px,100%); margin:28px 0; padding:20px; border:1px solid rgba(17,17,17,.25); border-radius:var(--radius-md); display:flex; align-items:center; justify-content:space-between; }
.style-result-mini span { display:block; font-size:.72rem; opacity:.65; }.style-result-mini strong{font-size:1.3rem;}
.palette { display:flex; direction:ltr; }.palette i { width:28px; height:28px; border-radius:50%; border:2px solid var(--accent); margin-left:-8px; }.palette i:nth-child(1){background:#e9dfd2}.palette i:nth-child(2){background:#6e4d3c}.palette i:nth-child(3){background:#b7a38e}.palette i:nth-child(4){background:#252321}
.style-image { position:relative; min-height:650px; background:#ddd; }
.style-image img { width:100%; height:100%; object-fit:cover; }.style-image > span{position:absolute;left:25px;bottom:25px;background:#111;color:#fff;border-radius:999px;padding:10px 15px;font:700 .7rem var(--font-en)}
.services-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.service-card { position:relative; padding:34px 28px; border:1px solid var(--line); border-radius:var(--radius-md); min-height:520px; display:flex; flex-direction:column; transition:.35s ease; background:var(--paper); }
.service-card:hover { transform:translateY(-8px); box-shadow:var(--shadow); }
.service-card.featured { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.featured-label { position:absolute; top:-13px; left:25px; background:var(--accent); color:#111; padding:7px 12px; border-radius:999px; font-size:.7rem; font-weight:800; }
.service-top { display:flex; justify-content:space-between; color:var(--muted); font-family:var(--font-en); }.service-top i{font-size:1.7rem;color:var(--accent)}
.service-card h3 { font:800 2rem var(--font-en); margin:45px 0 12px; letter-spacing:-.04em; }
.service-card p { color:var(--muted); line-height:1.8; }
.service-card.featured p,.service-card.featured li { color:rgba(255,255,255,.66); }
.service-card ul { list-style:none; padding:0; margin:24px 0 30px; }
.service-card li { padding:11px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:.86rem; }.service-card.featured li{border-color:var(--dark-line)}
.service-card a { margin-top:auto; display:flex; justify-content:space-between; align-items:center; font-weight:700; }
.budget-section { padding-bottom:clamp(90px,10vw,160px); }
.budget-card { background:#111; color:#fff; border-radius:var(--radius-lg); min-height:520px; padding:clamp(40px,6vw,90px); display:grid; grid-template-columns:1fr 1fr; align-items:center; overflow:hidden; }
.budget-copy h2 { font-size:clamp(3rem,6vw,6.5rem); line-height:.92; letter-spacing:-.065em; font-weight:800; margin:20px 0; }
.budget-copy p { max-width:650px; color:rgba(255,255,255,.65); line-height:1.9; margin-bottom:30px; }
.budget-visual { position:relative; width:min(420px,100%); aspect-ratio:1; margin:auto; display:grid; place-items:center; }
.budget-orbit { position:absolute; border:1px solid rgba(255,255,255,.2); border-radius:50%; }.budget-orbit.one{inset:0}.budget-orbit.two{inset:50px}
.budget-orbit::after { content:""; position:absolute; width:18px; height:18px; background:var(--accent); border-radius:50%; top:50%; left:-9px; }
.budget-center { width:210px; height:210px; border-radius:50%; background:var(--accent); color:#111; display:flex; flex-direction:column; justify-content:center; align-items:center; position:relative; z-index:2; }
.budget-center small { font:800 .65rem var(--font-en); letter-spacing:.12em; }.budget-center strong{font:800 4rem/1 var(--font-en);margin:8px 0}.budget-center span{font-weight:700}
.process-timeline { border-top:1px solid var(--line); }
.process-step { display:grid; grid-template-columns:90px 1fr; gap:25px; padding:34px 0; border-bottom:1px solid var(--line); transition:.25s ease; }
.process-step:hover { padding-inline:20px; background:rgba(201,255,59,.12); }
.process-step > span { font:800 1rem var(--font-en); color:var(--muted); }
.process-step small { font:700 .65rem var(--font-en); letter-spacing:.15em; color:var(--muted); }
.process-step h3 { font-size:clamp(1.5rem,3vw,3rem); margin:8px 0; font-weight:800; letter-spacing:-.04em; }.process-step p{margin:0;color:var(--muted);line-height:1.8}
.portal-section { background:#111; color:#fff; padding-block:clamp(90px,10vw,150px); overflow:hidden; }
.portal-section h2 { font-size:clamp(3rem,6vw,6rem); line-height:.95; letter-spacing:-.06em; font-weight:800; margin:20px 0; }
.portal-section p { color:rgba(255,255,255,.62); line-height:1.9; }
.portal-list { list-style:none; padding:0; margin:28px 0; }.portal-list li{margin:13px 0;color:rgba(255,255,255,.8)}.portal-list i{color:var(--accent);margin-left:9px}
.dashboard-mockup { background:#f4f0e8; color:#111; border-radius:28px; box-shadow:0 50px 100px rgba(0,0,0,.42); overflow:hidden; transform:rotate(-1deg); }
.dash-top { height:62px; display:flex; align-items:center; justify-content:space-between; padding:0 22px; border-bottom:1px solid rgba(17,17,17,.1); }.dash-brand{font:800 .68rem var(--font-en);letter-spacing:.12em}.dash-brand span{display:inline-block;width:9px;height:9px;background:var(--accent);border-radius:50%;margin-left:7px}.dash-user{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#111;color:#fff;font:800 .7rem var(--font-en)}
.dash-layout { display:grid; grid-template-columns:72px 1fr; min-height:460px; }.dash-layout aside{border-left:1px solid rgba(17,17,17,.1);display:flex;flex-direction:column;align-items:center;padding-top:30px;gap:27px}.dash-layout aside i{color:#999;font-size:1.1rem}.dash-layout aside i.active{color:#111;background:var(--accent);width:38px;height:38px;border-radius:10px;display:grid;place-items:center}
.dash-main { padding:35px; }.dash-heading{display:flex;justify-content:space-between;align-items:end}.dash-heading small{font:.65rem var(--font-en);color:#888;letter-spacing:.12em}.dash-heading h4{font-size:2rem;margin:5px 0 0;font-weight:800}.dash-heading>span{font-size:.8rem;font-weight:700}.dash-progress{height:8px;margin:22px 0 28px;background:#ddd}.dash-progress .progress-bar{background:#111}
.dash-cards { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.dash-cards article{border:1px solid rgba(17,17,17,.12);border-radius:16px;padding:18px}.dash-cards span,.dash-cards small{display:block;color:#888;font-size:.7rem}.dash-cards strong{display:block;margin:12px 0 8px}
.dash-approval,.dash-files{margin-top:14px;border:1px solid rgba(17,17,17,.12);border-radius:16px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between}.dash-approval>div{display:flex;align-items:center;gap:12px}.material-swatch{width:42px;height:42px;border-radius:10px;display:block}.material-swatch.wood{background:#9d7455}.dash-approval small{display:block;color:#888;font-size:.7rem}.dash-approval button{background:var(--accent);border-radius:999px;padding:8px 12px;font-size:.7rem;font-weight:800}.dash-files{font-size:.78rem}.dash-files i{font-size:1.2rem;margin-left:8px}.dash-files small{color:#888}
.trust-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.trust-card { border:1px solid var(--line); border-radius:var(--radius-md); padding:30px; min-height:330px; position:relative; }
.trust-card > span { font:700 .7rem var(--font-en); color:var(--muted); }.trust-card i{display:block;font-size:2rem;color:#6e6e6e;margin:48px 0 22px}.trust-card h3{font-size:1.35rem;font-weight:800}.trust-card p{color:var(--muted);line-height:1.8;font-size:.9rem}
.testimonial-card { margin-top:70px; background:var(--accent); color:#111; border-radius:var(--radius-lg); padding:clamp(38px,7vw,90px); position:relative; overflow:hidden; }
.quote-mark { position:absolute; top:-40px; left:35px; font:800 15rem/1 Georgia,serif; opacity:.15; }
.testimonial-card blockquote { position:relative; font-size:clamp(1.8rem,4vw,4.2rem); line-height:1.4; letter-spacing:-.045em; font-weight:700; max-width:1150px; margin:0 0 40px; }
.testimonial-card footer { display:flex; flex-direction:column; gap:6px; }.testimonial-card footer span{opacity:.65;font-size:.82rem}
.contact-section { background:var(--paper); padding-bottom:30px; }
.contact-card { background:#111; color:#fff; border-radius:var(--radius-lg); padding:clamp(45px,7vw,100px); display:grid; grid-template-columns:1fr auto; gap:40px; align-items:end; }
.contact-card h2 { font-size:clamp(3.1rem,7vw,7rem); line-height:.9; letter-spacing:-.065em; font-weight:800; margin:20px 0; }.contact-card p{color:rgba(255,255,255,.65);max-width:700px}.contact-actions{display:flex;flex-direction:column;gap:12px;min-width:250px}.contact-meta{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--dark-line);padding-top:25px;color:rgba(255,255,255,.5);font-size:.76rem}
.site-footer { background:#111; color:#fff; padding:80px 0 110px; }.footer-top{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:50px}.footer-brand p{color:rgba(255,255,255,.5);font:500 .8rem var(--font-en);margin-top:18px}.footer-col{display:flex;flex-direction:column;gap:12px}.footer-col h3{font-size:.78rem;color:rgba(255,255,255,.4);margin-bottom:10px}.footer-col a,.footer-col button,.footer-col span{color:rgba(255,255,255,.78);background:none;padding:0;text-align:right;font-size:.87rem}.social-links{display:flex;gap:8px;margin-top:10px}.social-links a{width:38px;height:38px;border:1px solid var(--dark-line);display:grid;place-items:center;border-radius:50%}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:60px;padding-top:25px;border-top:1px solid var(--dark-line);font-size:.72rem;color:rgba(255,255,255,.45)}.footer-bottom p{margin:0}.footer-bottom div{display:flex;gap:18px}
.mobile-bottom-nav { display:none; }
.floating-whatsapp { position:fixed; z-index:1030; bottom:26px; left:26px; display:flex; align-items:center; gap:9px; background:#111; color:#fff; border-radius:999px; padding:10px 16px; box-shadow:var(--shadow); font-weight:700; font-size:.78rem; }.floating-whatsapp i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#111;font-size:1.1rem}
.modal-backdrop.show { opacity:.72; }
.custom-modal { border:0; border-radius:28px; background:var(--paper); color:var(--ink); overflow:hidden; }
.custom-modal .modal-header { padding:30px 34px 20px; border-bottom:1px solid var(--line); align-items:flex-start; }.custom-modal .modal-title{font-size:2rem;font-weight:800;margin-top:8px}.custom-modal .modal-body{padding:30px 34px 35px}
.form-control,.form-select { background:transparent; color:var(--ink); border:1px solid var(--line); border-radius:12px; padding:13px 15px; }
.form-control:focus,.form-select:focus{background:transparent;color:var(--ink);border-color:#777;box-shadow:0 0 0 3px rgba(201,255,59,.35)}
.form-label{font-size:.78rem;font-weight:700}.budget-result{margin-top:25px;padding:28px;border-radius:20px;background:#111;color:#fff}.budget-result span{font-size:.72rem;color:rgba(255,255,255,.5)}.budget-result h3{font-size:2.4rem;margin:10px 0}.budget-result p{color:rgba(255,255,255,.68);line-height:1.8}
.quiz-progress{display:flex;align-items:center;gap:15px;margin-bottom:28px}.quiz-progress>span{font:700 .72rem var(--font-en);color:var(--muted)}.quiz-progress .progress{height:6px;flex:1;background:var(--paper-2)}.quiz-progress .progress-bar{background:#111}
.quiz-step{display:none}.quiz-step.active{display:block}.quiz-step h3{font-size:1.55rem;margin-bottom:22px}.visual-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.visual-options label{cursor:pointer}.visual-options input{position:absolute;opacity:0}.visual-options img{width:100%;aspect-ratio:1.15;object-fit:cover;border-radius:18px;border:3px solid transparent}.visual-options span{display:block;padding:11px 5px;font-weight:700}.visual-options input:checked+img{border-color:#111}.choice-list{display:grid;gap:12px}.choice-list label{position:relative;cursor:pointer}.choice-list input{position:absolute;opacity:0}.choice-list span{display:block;border:1px solid var(--line);padding:18px;border-radius:14px;font-weight:700}.choice-list input:checked+span{background:#111;color:#fff;border-color:#111}.quiz-actions{display:flex;justify-content:space-between;margin-top:25px}.quiz-result{text-align:center;padding:30px}.quiz-result>span{color:var(--muted)}.quiz-result h3{font:800 clamp(2.8rem,6vw,5rem)/1 var(--font-en);margin:12px 0}.quiz-result p{max-width:620px;margin:0 auto 20px;color:var(--muted);line-height:1.8}.result-palette{display:flex;justify-content:center;direction:ltr;margin:20px}.result-palette i{width:55px;height:55px;border-radius:50%;margin-left:-12px;border:4px solid var(--paper)}.result-palette i:nth-child(1){background:#111}.result-palette i:nth-child(2){background:#88664f}.result-palette i:nth-child(3){background:#d5c4af}.result-palette i:nth-child(4){background:#efe9df}
.brief-layout{display:grid;grid-template-columns:230px 1fr;gap:35px}.brief-steps{display:flex;flex-direction:column;gap:8px}.brief-steps button{display:flex;align-items:center;gap:10px;background:transparent;text-align:right;padding:12px;border-radius:12px;color:var(--muted)}.brief-steps button span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font:700 .75rem var(--font-en)}.brief-steps button.active{background:#111;color:#fff}.brief-steps button.active span{background:var(--accent);color:#111;border-color:var(--accent)}
.brief-pane{display:none}.brief-pane.active{display:block}.brief-pane h3{font-size:1.7rem;margin-bottom:22px}.icon-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.icon-options label{cursor:pointer}.icon-options input{position:absolute;opacity:0}.icon-options span{min-height:115px;border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-weight:700}.icon-options i{font-size:1.8rem}.icon-options input:checked+span{background:#111;color:#fff;border-color:#111}.brief-actions{display:flex;justify-content:space-between;margin-top:25px}.brief-success{text-align:center;padding:30px}.brief-success i{font-size:4rem;color:#78a900}.brief-success h3{font-size:2rem;margin:15px 0}
.project-modal-content{background:var(--paper);color:var(--ink)}.project-close{position:fixed;z-index:5;top:25px;left:25px;width:50px;height:50px;border-radius:50%;background:#111;color:#fff;font-size:1.3rem}.project-modal-hero{height:72vh;position:relative;color:#fff}.project-modal-hero::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.38)}.project-modal-hero img{width:100%;height:100%;object-fit:cover}.project-modal-hero>div{position:absolute;z-index:2;bottom:50px;right:clamp(20px,6vw,90px)}.project-modal-hero span{font:700 .7rem var(--font-en);letter-spacing:.14em}.project-modal-hero h2{font-size:clamp(3.5rem,9vw,9rem);line-height:.85;letter-spacing:-.07em;font-weight:800;margin:16px 0}.project-modal-body{padding-block:80px}.project-modal-body h3{font-size:2rem;font-weight:800;margin:17px 0}.project-modal-body p{color:var(--muted);line-height:1.9}.project-modal-body dl div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.project-modal-body dd{margin:0;font-weight:700}.project-modal-cta{margin-top:70px;padding:45px;background:var(--accent);border-radius:var(--radius-md);display:flex;justify-content:space-between;align-items:center;gap:20px}.project-modal-cta h3{margin:0}
.reveal { opacity:0; transform:translateY(30px); transition:opacity .7s ease, transform .7s ease; }.reveal.visible{opacity:1;transform:none}
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9999;border-radius:50%;transform:translate(-50%,-50%);display:none}.cursor-dot{width:7px;height:7px;background:var(--accent)}.cursor-ring{width:34px;height:34px;border:1px solid rgba(201,255,59,.7);transition:width .15s,height .15s}
@media (hover:hover) and (pointer:fine){.cursor-dot,.cursor-ring{display:block}body{cursor:none}a,button,input,select,textarea{cursor:none}}
@media (max-width:1199.98px){.services-grid,.trust-cards{grid-template-columns:repeat(2,1fr)}.project-row,.project-row.reverse{grid-template-columns:1.2fr .8fr}.comparison-wrap{grid-template-columns:1fr}.project-facts{min-height:auto}.trust-grid{grid-template-columns:repeat(4,1fr)}.trust-message{grid-column:1/-1;border-top:1px solid rgba(17,17,17,.18);border-left:0!important}}
@media (max-width:991.98px){.section-head{align-items:flex-start;flex-direction:column}.hero-section .row{align-items:flex-end!important;padding-bottom:90px!important}.display-title{font-size:clamp(3.8rem,14vw,7rem)}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-grid article:nth-child(even){border-left:0}.space-cards{grid-template-columns:1fr;grid-auto-rows:450px}.space-card.tall{grid-row:span 1}.comparison{min-height:520px}.comparison-before img{width:calc(100vw - 36px)}.projects-editorial{gap:75px}.project-row,.project-row.reverse{grid-template-columns:1fr;gap:25px}.project-row.reverse .project-image,.project-row.reverse .project-info{order:initial}.project-image,.project-image img{min-height:500px}.project-info{padding-inline:5px}.style-copy,.style-image{min-height:560px}.budget-card{grid-template-columns:1fr;gap:50px}.portal-section .row{flex-direction:column}.contact-card{grid-template-columns:1fr}.contact-actions{min-width:0;align-items:flex-start}.footer-top{grid-template-columns:1.4fr 1fr 1fr}.footer-col:last-child{grid-column:2/4}.brief-layout{grid-template-columns:1fr}.brief-steps{flex-direction:row;overflow-x:auto;padding-bottom:8px}.brief-steps button{min-width:max-content}.brief-steps button{font-size:0}.brief-steps button span{font-size:.75rem}}
@media (max-width:767.98px){body{padding-bottom:74px}.site-header{padding-top:5px}.navbar{min-height:64px}.brand-mark{width:37px;height:37px}.brand-copy strong{font-size:1.05rem}.hero-media{background-position:57% center}.hero-overlay{background:rgba(0,0,0,.57)}.display-title{line-height:1.5}.hero-lead{font-size:.92rem}.hero-actions .btn{width:100%}.scroll-indicator{display:none}.trust-grid{min-height:auto}.trust-grid article{padding:20px 14px}.trust-grid strong{font-size:1.7rem}.trust-grid span{font-size:.67rem}.section-space,.section-dark{padding-block:80px}.section-head{margin-bottom:40px}.section-head h2{font-size:2.8rem;line-height:1}.space-cards{grid-auto-rows:390px}.space-card-copy{padding:24px}.comparison{min-height:420px;border-radius:20px}.comparison-before img{width:calc(100vw - 36px)}.project-facts{padding:25px;border-radius:20px}.project-filter{white-space:nowrap;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.project-image,.project-image img{min-height:430px}.project-info h3{font-size:3rem}.style-copy{padding:55px 24px;min-height:auto}.style-copy h2{font-size:3rem}.style-image{min-height:460px}.services-grid,.trust-cards{grid-template-columns:1fr}.service-card{min-height:auto}.budget-card{border-radius:22px;padding:45px 24px}.budget-copy h2{font-size:3.2rem}.budget-visual{width:300px}.process-step{grid-template-columns:50px 1fr}.dashboard-mockup{transform:none}.dash-layout{grid-template-columns:52px 1fr}.dash-main{padding:20px}.dash-cards{grid-template-columns:1fr}.dash-heading h4{font-size:1.5rem}.testimonial-card{border-radius:22px;padding:45px 24px}.testimonial-card blockquote{font-size:1.8rem}.contact-card{border-radius:22px;padding:45px 24px}.contact-card h2{font-size:3.5rem}.contact-meta{flex-direction:column;gap:10px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}.footer-col:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.floating-whatsapp{display:none}.mobile-bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;z-index:1035;bottom:0;left:0;right:0;height:72px;background:#111;color:#fff;border-top:1px solid rgba(255,255,255,.12);padding:7px 10px calc(7px + env(safe-area-inset-bottom))}.mobile-bottom-nav a,.mobile-bottom-nav button{background:none;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.65rem}.mobile-bottom-nav i{font-size:1.15rem}.mobile-bottom-nav button i{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#111}.custom-modal .modal-header{padding:24px 20px 18px}.custom-modal .modal-body{padding:24px 20px}.custom-modal .modal-title{font-size:1.5rem}.visual-options{grid-template-columns:1fr}.visual-options img{aspect-ratio:2}.icon-options{grid-template-columns:repeat(2,1fr)}.brief-steps{justify-content:space-between}.project-modal-hero{height:64vh}.project-modal-hero>div{bottom:30px;right:20px}.project-modal-hero h2{font-size:4rem}.project-modal-body{padding-block:50px}.project-modal-cta{padding:30px;flex-direction:column;align-items:flex-start}.project-close{top:15px;left:15px}.cursor-dot,.cursor-ring{display:none!important}}
@media (max-width:420px){.display-title{font-size:1.45rem}.trust-grid article{padding:17px 10px}.space-cards{grid-auto-rows:350px}.comparison{min-height:350px}.project-image,.project-image img{min-height:370px}.style-copy h2,.budget-copy h2{font-size:2.75rem}.budget-center{width:170px;height:170px}.budget-center strong{font-size:3.2rem}.dash-layout aside{display:none}.dash-layout{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr}.footer-col:last-child{grid-column:auto}.icon-options{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.hero-media{transform:none}}
