.detail-page .hero{padding-block:clamp(48px,6vw,78px)}.detail-page .hero h1{max-width:19ch}.detail-page .hero-copy>p:not(.eyebrow){max-width:55ch}.detail-page .about-visual{margin:0;align-self:center;border:1px solid #254359;border-radius:12px;overflow:hidden;box-shadow:0 0 65px #0869c51a}.detail-page .about-visual img{width:100%;aspect-ratio:1.3;object-fit:cover}.detail-page .hero-grid{grid-template-columns:1.05fr 1fr;gap:40px}
.detail-section{padding-block:clamp(3.5rem,7vw,6rem)}.detail-section.light{background:#fff}.detail-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,6rem);align-items:start}.detail-intro h2{max-width:18ch}.detail-intro-copy{color:var(--muted);font-size:1.05rem}.detail-intro-copy p+p{margin-top:1rem}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.feature-item{padding:clamp(1.25rem,3vw,2rem);background:#fff;min-width:0}.feature-item .feature-index{display:block;color:var(--brand);font:700 .75rem var(--font-mono);margin-bottom:1rem}.feature-item h3{font-size:1.15rem;margin-bottom:.65rem}.feature-item p{color:var(--muted);font-size:.9rem;margin:0}
.detail-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem;list-style:none;padding:0;margin:0}.detail-process li{border-top:2px solid var(--brand);padding-top:1.2rem}.detail-process .step-number{display:block;color:var(--brand);font:700 .75rem var(--font-mono);margin-bottom:1rem}.detail-process h3{font-size:1.1rem;margin-bottom:.6rem}.detail-process p{font-size:.9rem;color:var(--muted)}
.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:1.25rem 0}.faq-list summary{font-size:1.05rem;font-weight:650;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';color:var(--brand);font-size:1.3rem}.faq-list details[open] summary::after{content:'−'}.faq-list details p{max-width:75ch;color:var(--muted);margin:1rem 2rem 0 0}
.related-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}.related-links a{min-height:44px;padding:.55rem .9rem;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:.875rem}.related-links a:hover{border-color:var(--brand);color:var(--brand-dark)}
.detail-cta{padding-block:clamp(3.5rem,7vw,6rem);background:linear-gradient(110deg,#06131d,#08263b);color:#f5fafc;clip-path:polygon(0 9%,100% 0,100% 100%,0 100%);margin-top:-1px}.detail-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.detail-cta h2{font-size:clamp(1.8rem,3vw,2.6rem);max-width:18ch}.detail-cta p{color:#b1c4ce;max-width:56ch}.button.whatsapp{background:#087b70;border-color:#087b70}.button.whatsapp:hover{background:#065c55;border-color:#065c55}
.contact-page .detail-hero{padding-bottom:clamp(72px,9vw,110px)}.contact-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:clamp(2rem,6vw,5rem);align-items:start}.contact-panel{padding:clamp(1.25rem,3vw,2rem);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm)}.contact-panel .form-grid{gap:1.15rem}.contact-panel .field label{display:block;position:static;width:auto;height:auto;overflow:visible;clip-path:none;white-space:normal;margin-bottom:.4rem}.contact-panel .field-error{color:#a52a2a}.contact-panel .button{margin-top:.4rem}.contact-panel [aria-invalid="true"]{border-color:#b33737}.contact-panel .form-status{padding:1rem;border:1px solid #a9d6b9;border-radius:8px;background:#edf8f2;color:#225937;margin-top:1rem;font-size:.9rem}.contact-panel .form-status[data-state="error"]{background:#fff3f3;border-color:#ebc0c0;color:#ab2929}.contact-info-list{list-style:none;padding:0;margin:1.5rem 0;display:grid;gap:1rem}.contact-info-list li{padding-block:1rem;border-bottom:1px solid var(--line)}.contact-info-list strong{display:block;font-size:.75rem;color:var(--muted);text-transform:uppercase}.contact-info-list a{overflow-wrap:anywhere}.contact-note{font-size:.875rem;color:var(--muted)}
@media(max-width:900px){.detail-page .hero-grid{grid-template-columns:1fr 1fr;gap:26px}.detail-page .about-visual img{aspect-ratio:1.5}}
@media(max-width:800px){.detail-intro{grid-template-columns:1fr;gap:1rem}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-process{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-content{grid-template-columns:1fr}.detail-cta-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.detail-page .hero-grid{grid-template-columns:1fr}.detail-page .hero{padding-block:40px 28px}.detail-page .about-visual img{aspect-ratio:1.55}}
@media(max-width:520px){.feature-grid,.detail-process{grid-template-columns:1fr}.feature-item{padding:1.2rem}.contact-panel{padding:1.1rem}.contact-panel .form-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.detail-page *{scroll-behavior:auto}}
.contact-page .contact-start{min-height:calc(100svh - 145px);padding-block:clamp(1.25rem,4vh,3rem)}
.contact-page .contact-start .contact-content{grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:clamp(1.25rem,4vw,3.5rem);align-items:center}
.contact-page .contact-intro{margin-bottom:1rem}
.contact-page .contact-intro h1{font-size:clamp(1.8rem,3.2vw,2.65rem);max-width:none;margin-bottom:.4rem}
.contact-page .contact-intro p:not(.eyebrow){color:#bdcbd7;font-size:.95rem}
.contact-page .contact-panel{padding:clamp(1rem,2vw,1.5rem)}
.contact-page .contact-panel h2{font-size:1.25rem;margin-bottom:.65rem}
.contact-page .contact-panel .form-required{margin-bottom:.6rem}
.contact-page .contact-panel .form-grid{gap:.75rem}
.contact-page .contact-panel .field label{font-size:.9rem;margin-bottom:.25rem}
.contact-page .contact-panel input,.contact-page .contact-panel select{min-height:42px}
.contact-page .contact-panel textarea{min-height:76px}
.contact-page .contact-panel .send-button{margin-top:.5rem}
.contact-page .contact-copy h2{font-size:1.35rem;margin-bottom:.65rem}
.contact-page .contact-copy>p{font-size:.9rem;color:#bdcbd7}
.contact-page .contact-info-list{margin-block:.75rem;gap:0}
.contact-page .contact-info-list li{padding-block:.65rem}
.contact-page .contact-note{font-size:.8rem}
@media(max-width:800px){.contact-page .contact-start{min-height:0}.contact-page .contact-start .contact-content{grid-template-columns:1fr;max-width:720px}.contact-page .contact-copy{order:2}}
@media(max-width:520px){.contact-page .contact-start{padding-block:1rem}.contact-page .contact-panel .form-grid{grid-template-columns:1fr}.contact-page .contact-panel .field-full{grid-column:auto}}

.legal-content{width:min(820px,calc(100% - 2 * var(--gutter)));margin-inline:auto;padding-block:clamp(3rem,8vw,6rem)}.legal-content h1{font-size:clamp(2rem,5vw,3.25rem);margin-bottom:.5rem}.legal-content h2{font-size:1.2rem;margin:2rem 0 .55rem}.legal-content p:not(.eyebrow){color:#bdcbd7;max-width:72ch}.legal-content .legal-updated{font-size:.85rem;color:#91a5b7;margin-top:.5rem}.legal-content a{color:#75c4ff}
/* Keep hero visuals framed without stretching narrow mobile artwork. */
.detail-page .hero{overflow:hidden}
.about-page .hero .about-visual{width:100%;max-width:560px;justify-self:end;aspect-ratio:1.3;background:#071522}
.about-page .hero .about-visual img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.detail-page .hero .about-visual{width:100%;max-width:560px;justify-self:end;aspect-ratio:1.3;background:#071522}
.detail-page .hero .about-visual img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.detail-page .hero .about-visual img[src*="mobile-app-development"]{object-fit:contain;object-position:center bottom;padding:1.25rem 1.75rem 0}
@media(max-width:900px){.about-page .hero .about-visual,.detail-page .hero .about-visual{max-width:none;aspect-ratio:1.5}}
@media(max-width:650px){.about-page .hero .about-visual,.detail-page .hero .about-visual{width:100%;max-width:520px;justify-self:center;aspect-ratio:1.6}.about-page .hero .about-visual img,.detail-page .hero .about-visual img{object-fit:cover}.detail-page .hero .about-visual img[src*="mobile-app-development"]{object-fit:contain;object-position:center bottom;padding:1rem 15vw 0}}
@media(max-width:380px){.detail-page .hero .about-visual img[src*="mobile-app-development"]{padding-inline:12vw}}

/* Square hero artwork for About and the app detail page. */
.about-page .hero .about-visual{aspect-ratio:1/1;width:min(100%,500px);height:auto;justify-self:end}
.about-page .hero .about-visual img{aspect-ratio:1/1;width:100%;height:100%;object-fit:cover;object-position:center}
.detail-page .hero .about-visual img[src*="mobile-app-square"]{aspect-ratio:1/1;object-fit:cover;object-position:center;padding:0}
@media(max-width:900px){.about-page .hero .about-visual{width:min(100%,440px);justify-self:center}}
@media(max-width:650px){.about-page .hero .about-visual,.detail-page .hero .about-visual{width:min(100%,420px);aspect-ratio:1/1}.about-page .hero .about-visual img,.detail-page .hero .about-visual img{aspect-ratio:1/1;object-fit:cover}.detail-page .hero .about-visual img[src*="mobile-app-square"]{padding:0}}

.about-page .hero .about-visual img{object-fit:contain;object-position:center;padding:0}
@media(max-width:650px){.about-page .hero .about-visual img{object-fit:contain;padding:0}}
/* About hero: square, centered frame at all widths. */
.about-page .hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,500px);gap:clamp(1.5rem,4vw,3rem)}
.about-page .hero .about-visual{width:100%;max-width:500px;aspect-ratio:1/1;justify-self:end;align-self:center;margin:0;overflow:hidden;border:1px solid #254359;border-radius:12px;background:#071522;box-shadow:0 0 65px #0869c51a}
.about-page .hero .about-visual img{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;object-position:center;margin:0;padding:0}
@media(max-width:900px){.about-page .hero-grid{grid-template-columns:minmax(0,1fr) minmax(260px,440px);gap:1.5rem}.about-page .hero .about-visual{max-width:440px}}
@media(max-width:650px){.about-page .hero-grid{grid-template-columns:1fr;gap:1.25rem}.about-page .hero .about-visual{width:100%;max-width:420px;justify-self:center;aspect-ratio:1/1}.about-page .hero .about-visual img{width:100%;height:100%;object-fit:cover}}
.not-found-content{min-height:58vh;display:grid;align-content:center;padding-block:clamp(4rem,10vw,8rem);background:radial-gradient(ellipse at 80% 40%,#0b2940 0,#03131f 58%,#030e17 100%)}
.not-found-content .container{width:min(760px,calc(100% - 2 * var(--gutter)))}
.not-found-content h1{max-width:16ch;font-size:clamp(2.5rem,7vw,5rem);margin-bottom:1rem}
.not-found-content p:not(.eyebrow){color:#bdcbd7;max-width:52ch;margin-bottom:1.75rem}
.not-found-content .actions{gap:.75rem}
