:root{--navy:#2B1728;--ink:#2C2330;--mist:#FBF6F8;--white:#fff;--muted:#746873;--line:#E5D9E0;--fuchsia:#D9468F;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.6;background:#F3EDF2}a{color:inherit;text-decoration:none}.wrap{width:min(calc(100% - 44px),var(--max));margin:0 auto}.site-header{position:sticky;top:0;z-index:60;background:rgba(243,237,242,.96);backdrop-filter:blur(15px);border-bottom:1px solid #EEE4E8}.nav{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;line-height:0}.brand img{display:block;width:188px;height:auto;max-width:100%}.nav-menu{display:flex;gap:29px;align-items:center;font-size:13px;font-weight:700}.nav-menu a{color:#53616b}.nav-menu a:hover{color:#2B1728}.nav-cta{border-radius:999px;padding:11px 18px;background:#2B1728;color:#fff!important}.menu-btn{display:none;background:none;border:0}.menu-btn i{display:block;width:25px;height:2px;background:#2B1728;margin:5px}.hero{padding:100px 0 110px;background:linear-gradient(180deg,#F3EDF2 0%,#F8F3F6 100%)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:88px;align-items:center}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:900;color:#7A6A75;margin:0 0 18px}.hero h1,.section-head h2,.contact-box h2{font-family:Georgia,serif;font-weight:500;line-height:1.03;letter-spacing:-.03em}.hero h1{font-size:clamp(60px,7.2vw,98px);margin:0}.hero h1 em,.section-head h2 em{font-style:normal;color:#A43672}.lead{font-size:18px;color:#6E626C;max-width:650px;margin:28px 0}.actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;padding:15px 21px;border-radius:999px;font-size:13px;font-weight:900}.btn-dark{background:#2B1728;color:#fff}.text-link{font-size:13px;font-weight:800}.trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:58px;font-size:9px;letter-spacing:.17em;color:#9B8B94;font-weight:900}.hero-photo{min-height:510px;border-radius:30px;background:linear-gradient(150deg,#F1E5EB,#FFF9FB);position:relative;overflow:hidden;box-shadow:0 24px 60px rgba(13,28,42,.09);border:1px solid #E8DDE3}.hero-photo .card-main{position:absolute;left:28px;right:28px;top:28px;bottom:28px;border-radius:22px;background:#2A1627;display:flex;align-items:flex-end;padding:34px;color:#fff;overflow:hidden}.hero-photo .shine{position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(83,203,215,.5),transparent 68%);right:-150px;top:-90px}.hero-photo .copy{position:relative;z-index:2}.hero-photo .copy small{display:block;color:#C9A8BA;letter-spacing:.15em;font-size:9px}.hero-photo .copy strong{display:block;font:500 54px/1.0 Georgia,serif;margin-top:8px}.hero-photo .copy em{font-style:normal;color:#E96AA9}.strip{background:#2B1728;color:#fff}.strip-inner{padding:19px 0;display:flex;justify-content:center;gap:7px;font-size:12px;letter-spacing:.01em}.strip b{color:var(--fuchsia)}.section{padding:120px 0}.section.gray{background:#FBF7FA}.section.dark{background:#2B1728;color:#fff}.section-head{max-width:850px;margin-bottom:56px}.section-head h2{font-size:clamp(46px,5.8vw,79px);margin:0}.section-head>p:last-child{color:var(--muted);font-size:17px;max-width:700px;margin:22px 0 0}.dark .section-head>p:last-child{color:#C8B6C0}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service{background:#fff;border:1px solid var(--line);border-radius:20px;padding:29px;min-height:315px;display:flex;flex-direction:column}.service h3{font:600 28px Georgia,serif;margin:34px 0 8px}.service p{color:#7A6B75}.service a{margin-top:auto;font-size:11px;font-weight:900}.service .n{font-size:10px;letter-spacing:.17em;color:#8B7883;font-weight:900}.services .service:nth-child(2){background:#FBE7F0}.services .service:nth-child(3){background:#F7EBF1}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{background:#fff;color:#2C2330;border-radius:22px;overflow:hidden}.mock{height:270px;padding:24px;background:#F2E5EC;display:flex;align-items:flex-end}.mock.two{background:#351C2E}.mock.three{background:#F5E6EF}.mock-screen{width:100%;height:200px;border-radius:16px;background:#fff;padding:20px;box-shadow:0 20px 40px rgba(10,30,45,.13)}.mock.two .mock-screen{background:#2A1627;color:#fff}.mock-screen h4{font:500 27px/1.05 Georgia,serif;margin:0}.mock-screen h4 em{font-style:normal;color:#A43672}.mock.two .mock-screen h4 em{color:#E96AA9} .mock-shapes{margin-top:18px;height:92px;position:relative;overflow:hidden}.mock-shapes .shape{position:absolute;display:block;border-radius:18px}.shape-a{width:78px;height:78px;left:2px;bottom:0;background:#F2B4D1}.shape-b{width:122px;height:34px;right:4px;top:8px;background:#E7D7E0;border-radius:999px!important}.shape-c{width:52px;height:52px;right:42px;bottom:2px;border:8px solid #D9468F;background:transparent}.mock.two .shape-a{background:#E86BA9}.mock.two .shape-b{background:#674355}.mock.two .shape-c{border-color:#F5B6D2}.mock.three .shape-a{background:#D9468F}.mock.three .shape-b{background:#E8C7D8}.mock.three .shape-c{border-color:#A43672}.project-card .pbody{padding:24px}.project-card .pbody span{font-size:9px;letter-spacing:.16em;color:#8A7882;font-weight:900}.project-card .pbody h3{font:600 27px Georgia,serif;margin:8px 0 4px}.project-card .pbody p{color:#766873;margin:0}.method{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px}.steps{border-top:1px solid #E6D9E0}.step{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid #E6D9E0}.step>b{color:#A43672;font-size:11px}.step h3{font:600 28px Georgia,serif;margin:0 0 5px}.step p{margin:0;color:#7A6B75}.contact{padding:100px 0;background:#EFE4EC}.contact-box{text-align:center;padding:80px 20px;border-radius:28px;background:#2B1728;color:#fff}.contact-box h2{font-size:clamp(50px,6vw,80px);margin:0}.contact-box>p:not(.eyebrow){color:#C8B6C0;max-width:650px;margin:18px auto}.contact-actions{display:flex;justify-content:center;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}.btn-light{background:#fff;color:#2B1728}.mail{font-weight:800;border-bottom:1px solid #80606F;padding-bottom:4px}footer{background:#1A0D16;color:#fff;padding:42px 0 22px}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-grid p{color:#8A7882;max-width:380px;font-size:13px}.footer-label{font-size:9px!important;letter-spacing:.16em;font-weight:900}.socials{display:flex;gap:9px}.socials a{width:36px;height:36px;border:1px solid rgba(255,255,255,.18);border-radius:50%;display:grid;place-items:center;transition:.25s ease}.socials a:hover{background:#fff;border-color:#fff;transform:translateY(-2px)}.socials svg{width:16px;height:16px;fill:#fff;stroke:#fff;stroke-width:1.8}.socials a:hover svg{fill:#2B1728;stroke:#2B1728}.socials a:nth-child(2) svg{fill:none}.socials .ig-dot{fill:#fff;stroke:none}.socials a:nth-child(2):hover .ig-dot{fill:#2B1728}.footer-bottom{margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;color:#796671;font-size:10px}.reveal{opacity:0;transform:translateY(22px);transition:.65s}.reveal.visible{opacity:1;transform:none}@media(max-width:980px){.hero-grid,.method{grid-template-columns:1fr}.services{grid-template-columns:repeat(2,1fr)}.projects{grid-template-columns:1fr}.hero-photo{min-height:420px}}@media(max-width:720px){.wrap{width:min(calc(100% - 28px),var(--max))}.nav{height:72px}.nav-menu{display:none;position:absolute;left:14px;right:14px;top:72px;background:#FCF9FB;padding:12px;border:1px solid var(--line);border-radius:18px;flex-direction:column;align-items:stretch;box-shadow:0 20px 50px rgba(16,32,51,.12)}.nav-menu.open{display:flex}.nav-menu a{padding:10px}.menu-btn{display:block}.hero{padding:78px 0}.hero h1{font-size:56px}.hero-photo{min-height:370px}.hero-photo .copy strong{font-size:43px}.section{padding:86px 0}.section-head h2{font-size:50px}.services{grid-template-columns:1fr}.footer-grid,.footer-bottom{flex-direction:column;align-items:flex-start}}


/* Responsive refinements: desktop, tablet and mobile */
html, body { overflow-x: hidden; }
img, svg { max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }

.method-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:90px; align-items:start; }
.quote { background:#F8F0F5; }
.quote-box { text-align:center; max-width:900px; margin:0 auto; padding:70px 24px; }
.quote-box p { margin:0; font:500 clamp(38px,5vw,68px)/1.05 Georgia,serif; letter-spacing:-.03em; color:#2B1728; }
.quote-box strong { color:#A43672; font-weight:500; }
.quote-box span { display:block; margin-top:22px; font-size:10px; letter-spacing:.18em; font-weight:900; color:#8C7782; }

@media (max-width: 1100px) {
  .wrap { width:min(calc(100% - 40px), var(--max)); }
  .hero-grid { gap:52px; }
  .hero-photo { min-height:460px; }
  .services { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .projects { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .projects .project-card:last-child { grid-column:1 / -1; max-width:calc(50% - 8px); justify-self:center; }
  .method-grid { grid-template-columns:1fr; gap:58px; }
}

@media (max-width: 820px) {
  .nav { height:72px; }
  .brand { font-size:16px; }
  .brand img { width:50px; height:28px; }
  .nav-menu { gap:18px; }
  .hero { padding:82px 0 88px; }
  .hero-grid { grid-template-columns:1fr; gap:44px; }
  .hero h1 { font-size:clamp(52px,10vw,76px); }
  .lead { font-size:17px; max-width:58ch; }
  .trust { margin-top:42px; }
  .hero-photo { min-height:390px; }
  .services { gap:14px; }
  .projects { gap:14px; }
  .project-card .pbody h3 { font-size:24px; }
  .section { padding:98px 0; }
  .section-head { margin-bottom:42px; }
  .section-head h2 { font-size:clamp(42px,8vw,60px); }
  .contact { padding:70px 0; }
  .contact-box { padding:62px 22px; }
  .contact-box h2 { font-size:clamp(44px,8vw,68px); }
}

@media (max-width: 720px) {
  .wrap { width:min(calc(100% - 28px), var(--max)); }
  .site-header { background:rgba(243,237,242,.98); }
  .nav { position:relative; }
  .nav-menu { display:none; position:absolute; left:0; right:0; top:64px; z-index:80; padding:10px; background:#FCF9FB; border:1px solid var(--line); border-radius:18px; flex-direction:column; align-items:stretch; gap:2px; box-shadow:0 18px 45px rgba(38,16,31,.13); }
  .nav-menu.open { display:flex; }
  .nav-menu a { padding:12px 13px; border-radius:12px; }
  .nav-menu a:hover { background:#F5EAF0; }
  .nav-cta { text-align:center; margin-top:4px; }
  .menu-btn { display:block; padding:8px 2px; cursor:pointer; }
  .menu-btn i { width:24px; }
  .hero { padding:70px 0 72px; }
  .hero h1 { font-size:clamp(45px,14vw,61px); }
  .eyebrow { font-size:9px; letter-spacing:.16em; }
  .lead { font-size:16px; line-height:1.65; margin:22px 0; }
  .actions { gap:13px; margin-top:26px; }
  .btn { width:100%; justify-content:center; text-align:center; padding:14px 17px; }
  .text-link { padding:8px 2px; }
  .trust { gap:10px 17px; line-height:1.2; }
  .hero-photo { min-height:310px; border-radius:24px; }
  .hero-photo .card-main { left:18px; right:18px; top:18px; bottom:18px; border-radius:18px; padding:24px; }
  .hero-photo .copy strong { font-size:clamp(36px,11vw,48px); }
  .hero-photo .shine { width:260px; height:260px; right:-115px; top:-70px; }
  .strip-inner { padding:16px 0; text-align:center; flex-wrap:wrap; line-height:1.35; }
  .section { padding:78px 0; }
  .section-head h2 { font-size:clamp(40px,12vw,54px); }
  .section-head>p:last-child { font-size:16px; }
  .services, .projects { grid-template-columns:1fr; }
  .projects .project-card:last-child { grid-column:auto; max-width:none; }
  .service { min-height:270px; padding:25px; }
  .service h3 { font-size:25px; margin-top:28px; }
  .mock { height:245px; padding:18px; }
  .mock-screen { height:190px; padding:18px; }
  .mock-screen h4 { font-size:24px; }
  .project-card .pbody { padding:21px; }
  .method-grid { gap:42px; }
  .step { grid-template-columns:42px 1fr; gap:13px; padding:20px 0; }
  .step h3 { font-size:24px; }
  .step p { font-size:15px; }
  .quote-box { padding:50px 16px; }
  .quote-box p { font-size:clamp(35px,10vw,48px); }
  .contact { padding:58px 0; }
  .contact-box { padding:48px 18px; border-radius:22px; }
  .contact-box h2 { font-size:clamp(42px,11vw,54px); }
  .contact-actions { gap:15px; }
  .mail { font-size:14px; overflow-wrap:anywhere; }
  .footer-grid, .footer-bottom { flex-direction:column; align-items:flex-start; }
  .footer-bottom { gap:10px; }
}

@media (max-width: 420px) {
  .brand span { letter-spacing:.11em; }
  .hero h1 { font-size:44px; }
  .hero-photo { min-height:285px; }
  .hero-photo .card-main { padding:20px; }
  .hero-photo .copy small { font-size:8px; }
  .hero-photo .copy strong { font-size:34px; }
  .trust { font-size:8px; }
  .strip-inner { font-size:11px; }
  .section-head h2 { font-size:39px; }
  .contact-box h2 { font-size:39px; }
}

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

.footer-brand img{width:205px}
@media(max-width:720px){.brand img{width:162px}.footer-brand img{width:185px}}

/* Ajustes finales de identidad y proyectos */
.brand img{width:210px;height:auto;object-fit:contain;object-position:left center;}
.footer-brand img{width:215px;height:auto;}
.mock.clean-card{height:270px;padding:24px;background:#F5EAF0;align-items:stretch;}
.mock.two.clean-card{background:#351C2E;}
.mock.three.clean-card{background:#F2E6ED;}
.clean-screen{height:auto;min-height:222px;border-radius:16px;padding:24px;box-shadow:0 16px 30px rgba(30,18,28,.10);display:flex;flex-direction:column;justify-content:flex-start;}
.dark-screen{background:#2A1627!important;color:#fff;}
.mock-kicker{font-size:9px;letter-spacing:.17em;font-weight:900;color:#8A7882;}
.dark-screen .mock-kicker{color:#D9BBCB;}
.clean-screen h4{font:500 30px/1.05 Georgia,serif;margin:17px 0 9px;}
.clean-screen h4 em{font-style:normal;color:#A43672;}
.dark-screen h4 em{color:#F0A0C4;}
.clean-screen p{margin:0;color:#766873;font-size:13px;max-width:380px;}
.dark-screen p{color:#D5C1CC;}
.mock-rule{height:1px;background:#E8DCE2;margin-top:auto;}
.dark-screen .mock-rule{background:rgba(255,255,255,.13);}
.mock-footerline{display:flex;gap:15px;flex-wrap:wrap;margin-top:11px;font-size:9px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:#947E89;}
.dark-screen .mock-footerline{color:#C6AAB8;}
@media(max-width:720px){.brand img{width:180px}.footer-brand img{width:185px}.clean-screen h4{font-size:26px}}
