/* Portada editorial inspirada en la referencia visual aprobada. */
.home-page{--ink:#102e29;--muted:#304942;--paper:#f8f7ef;--sage-light:#e4eee3;--sage:#a9c6b3;--sage-deep:#91b29f;--coral:#e97853;--line:#cad9ce;background:var(--paper);color:var(--ink)}
.home-page .header{position:relative;top:auto;background:var(--paper);backdrop-filter:none;border:0}
.home-page .nav{min-height:96px;gap:24px}
.home-page .brand{width:270px;max-width:29vw}
.home-page .nav nav{gap:clamp(16px,2.3vw,34px)}
.home-page .nav nav a{font-size:.82rem;font-weight:500}
.home-page .nav nav a:hover{color:var(--coral)}
.home-page .navcta,.home-page .button{background:var(--coral);font-size:.87rem;font-weight:600;padding:13px 22px;gap:15px}
.home-page .navcta:hover,.home-page .button:hover{background:#d56643}
.home-hero{background:var(--paper);overflow:hidden}
.home-hero-grid{display:grid;grid-template-columns:49% 51%;min-height:590px;align-items:stretch}
.home-hero-copy{align-self:start;padding:55px 5% 46px 0;position:relative;z-index:2}
.home-page .eyebrow{margin-bottom:20px;color:#294c43;font-size:.62rem;letter-spacing:.32em}
.home-page h1,.home-page h2,.home-page h3{font-family:var(--serif);font-weight:400;letter-spacing:-.025em}
.home-hero h1{font-size:clamp(3.1rem,5vw,5.15rem);line-height:.99;margin:0 0 22px;max-width:720px}
.home-hero h1 em{color:#6c8d7b;font-weight:400}
.home-lead{max-width:490px;margin:0 0 20px;font-size:1rem;line-height:1.55;color:#203a34}
.hero-benefits{display:flex;gap:24px;margin-top:27px}
.hero-benefits span{display:flex;align-items:center;gap:8px;font-size:.65rem;line-height:1.4;color:#233c35}
.hero-benefits svg{width:22px;height:22px;flex:none;fill:none;stroke:#1c4339;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hero-signature{margin:30px 0 0;font-size:.54rem;letter-spacing:.33em;color:#3e6255;font-weight:600}
.hero-signature i{padding:0 7px;color:var(--coral);font-style:normal}
.home-artwork{position:relative;min-height:590px;isolation:isolate;background:var(--sage);overflow:hidden;border-radius:40% 0 0 0/70% 0 0 0}
.home-artwork>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:56% center}
.home-artwork>figcaption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-page .hero-art-kicker,.home-page .hero-art-label{position:absolute;z-index:2;color:var(--ink)}
.home-page .hero-art-kicker{top:10%;left:31%;right:9%;font-size:.58rem;line-height:1.8;letter-spacing:.25em;font-weight:600}
.home-page .hero-art-label{font-family:var(--serif);font-size:1.4rem}
.home-page .label-people{right:7%;top:31%}.home-page .label-process{left:9%;top:52%}.home-page .label-tech{right:7%;bottom:19%}
.home-artwork:before{content:"";position:absolute;width:80%;height:116%;left:-27%;top:-10%;border-radius:50%;background:var(--paper);z-index:-1}
.home-artwork .brand-panel.brand-photo{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;border:0;border-radius:0;background:var(--sage);overflow:hidden;opacity:1}
.home-artwork .brand-photo img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center}
.home-artwork .brand-photo figcaption{display:none}
.home-artwork .artwork-label,.home-artwork .artwork-note,.home-artwork .artwork-baseline{position:absolute;z-index:1;color:#173d34}
.artwork-label{top:12%;left:27%;font-size:.55rem;font-weight:600;letter-spacing:.34em;line-height:1.8}
.artwork-note{font-family:var(--serif);font-size:1.14rem;line-height:1.1}
.artwork-note small{display:block;margin-top:6px;font-family:var(--sans);font-size:.65rem;line-height:1.4}
.note-personas{top:33%;right:7%}.note-procesos{top:51%;left:12%}.note-tech{right:7%;bottom:23%}
.artwork-baseline{bottom:8%;left:42%;font-size:.49rem;letter-spacing:.36em;font-weight:600}
.home-services{padding:56px 0 53px;background:var(--sage-light)}
.section-heading-row{display:grid;grid-template-columns:1fr 300px;gap:50px;align-items:end;margin-bottom:28px}
.section-heading-row .eyebrow{margin-bottom:16px}
.section-heading-row h2{max-width:760px;margin:0;font-size:clamp(2.3rem,3.2vw,3.2rem);line-height:1.07}
.section-heading-row>p{margin:0 0 4px;font-size:.78rem;line-height:1.55;color:#355046}
.service-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.service-item{display:block;text-decoration:none;padding:8px 25px 0 18px;border-right:1px solid #c7d8cc;min-height:155px}
.service-item:first-child{padding-left:10px}.service-item:last-child{border:0}
.service-item svg{width:38px;height:38px;margin-bottom:12px;fill:none;stroke:#153a32;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.service-item h3{font-size:1.28rem;line-height:1.14;margin:0 0 8px}
.service-item p{font-size:.76rem;line-height:1.45;margin:0;max-width:230px;color:#29443b}
.service-item:hover h3{color:#a65336}
.home-method{padding:47px 0 53px;background:var(--sage)}
.method-heading{grid-template-columns:1fr 320px;margin-bottom:26px}
.method-heading h2{font-size:clamp(2.2rem,3.1vw,3.05rem)}
.method-heading h2 em{font-style:italic}
.method-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 135px;position:relative;gap:23px}
.method-track:before{content:"";position:absolute;left:19px;right:148px;top:18px;border-top:1px solid rgba(250,248,238,.9)}
.method-track article{position:relative;padding-top:42px}
.step-number{position:absolute;top:0;left:0;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:#183b32;font-size:.75rem;font-weight:700}
.method-track h3{font-size:1.28rem;margin:0 0 5px}
.method-track article p{font-size:.72rem;line-height:1.5;color:#29443a;margin:0;max-width:205px}
.method-quote{align-self:center;padding:2px 0 2px 24px;border-left:1px solid rgba(250,248,238,.9);font:italic 1.35rem/1.05 var(--serif)}
.method-quote span{display:block;width:39px;margin-top:15px;border-top:3px solid var(--coral)}
.home-experience{padding:48px 0 40px;background:var(--paper)}
.experience-layout{display:grid;grid-template-columns:.78fr 1.7fr;gap:34px 44px;align-items:center}
.experience-intro .eyebrow{margin-bottom:15px}
.experience-intro h2{font-size:clamp(2.3rem,3.1vw,3.2rem);line-height:1.02;margin-bottom:15px}
.experience-intro>p:not(.eyebrow){font-size:.82rem;line-height:1.6;color:#30483f;max-width:390px}
.outline-link{display:inline-flex;align-items:center;gap:14px;margin-top:8px;padding:11px 20px;border:1px solid var(--coral);border-radius:999px;color:#a75035;text-decoration:none;font-size:.78rem;font-weight:600}
.outline-link:hover{background:#f9e7dc}
.feature-case{display:grid;grid-template-columns:.9fr 1.1fr;min-height:295px;overflow:hidden;border:1px solid #e9e4d8;border-radius:18px;background:#fbfaf6;box-shadow:0 12px 30px #354e3b12}
.feature-copy{align-self:center;padding:27px 24px}
.case-tag{display:inline-block;padding:5px 9px;border-radius:99px;background:#f7e9dd;color:#87513b;font-size:.54rem;letter-spacing:.08em;font-weight:700;white-space:nowrap}
.case-tag i{color:var(--coral);font-style:normal;padding:0 3px}
.feature-copy h3{font-size:1.85rem;line-height:1.05;margin:16px 0 10px}
.feature-copy>p:not(.case-tag){font-size:.76rem;line-height:1.55;color:#334a40}
.feature-copy .case-caption{margin:20px 0 0;padding-top:12px;border-top:1px solid #e8e5da;font-size:.66rem!important;color:#496055}
.feature-case img{width:100%;height:100%;min-height:295px;object-fit:cover;object-position:center}
.case-controls{grid-column:2;display:flex;align-items:center;gap:8px;justify-content:flex-end;margin-top:-19px}
.case-controls>span{width:8px;height:8px;border:1px solid var(--coral);border-radius:50%}.case-controls>span.active{background:var(--coral)}
.case-controls a{display:grid;place-items:center;width:30px;height:30px;margin-left:8px;border:1px solid var(--coral);border-radius:50%;color:#a75035;text-decoration:none}
.home-demos{padding:43px 0;background:#edf2e8}
.demo-inner{display:grid;grid-template-columns:1fr 340px auto;gap:40px;align-items:end}
.demo-inner .eyebrow{margin-bottom:12px}.demo-inner h2{max-width:600px;font-size:2.1rem;line-height:1.08;margin:0}
.demo-inner>p{margin:0;color:#30483f;font-size:.8rem;line-height:1.55}
.demo-inner .outline-link{margin:0;white-space:nowrap}
.home-page .faq{padding:55px 0;background:#f4f5ee}
.home-page .faq h2{font-size:2.65rem}
.home-page .faq summary{font-size:.93rem}
.home-contact{position:relative;overflow:hidden;padding:52px 0;background:#f8e6da}
.contact-layout{position:relative;display:grid;grid-template-columns:1fr 330px;gap:40px;align-items:center;min-height:185px}
.contact-layout:before{content:"";position:absolute;z-index:0;width:60%;height:240%;left:29%;top:-67%;border:1px solid #eaa07d;border-radius:50%;transform:rotate(-22deg)}
.contact-layout>div:first-child{position:relative;z-index:1}.contact-layout .eyebrow{margin-bottom:13px;color:#87513b}
.contact-layout h2{font-size:clamp(2.15rem,3.2vw,3.05rem);line-height:1.03;max-width:700px;margin-bottom:8px}
.contact-layout p:not(.eyebrow){margin-bottom:14px;font-size:.91rem}
.contact-slogan{position:relative;z-index:1;font:italic 1.65rem/1.15 var(--serif);transform:rotate(-7deg);justify-self:center}
.contact-slogan span{display:block;width:140px;margin:8px 0 0 13px;border-bottom:1px solid #9d6046;transform:rotate(-9deg)}
.contact-node{position:absolute;left:52%;top:0;width:27px;height:27px;border-radius:50%;background:#eaa27f}
.home-footer{padding:27px 0 16px;background:#dcebdd}
.footer-upper{display:grid;grid-template-columns:155px 135px 1fr auto 115px;gap:20px;align-items:center}
.home-footer .footer-brand{width:155px}.home-footer .footer-brand img{display:block;width:100%;height:auto}
.home-footer p{margin:0;font-size:.65rem;line-height:1.4}
.home-footer nav{display:flex;justify-content:center;gap:20px}
.home-footer nav a{font-size:.64rem;text-decoration:none;white-space:nowrap}
.home-footer nav a:hover{text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:4px}
.footer-social{display:flex;align-items:center;gap:13px;padding-right:16px;border-right:1px solid #b7cbbd}
.footer-social a{font-size:.68rem;font-weight:700;text-decoration:none;white-space:nowrap}
.home-footer .footer-motto{font-size:.63rem}
.footer-lower{display:flex;justify-content:space-between;margin-top:19px;padding-top:13px;border-top:1px solid #c5d5c8;font-size:.58rem;color:#3c554b}
@media(max-width:1050px){.home-page .brand{width:225px}.home-hero-grid{grid-template-columns:50% 50%}.home-hero h1{font-size:clamp(3rem,5.1vw,4.5rem)}.hero-benefits{gap:13px}.artwork-note{font-size:1rem}.section-heading-row{grid-template-columns:1fr 250px;gap:30px}.method-track{gap:15px;grid-template-columns:repeat(4,minmax(0,1fr)) 110px}.footer-upper{grid-template-columns:135px 120px 1fr auto}.home-footer .footer-motto{display:none}}
@media(max-width:760px){.home-page .nav{min-height:76px}.home-page .brand{width:178px;max-width:46vw}.home-page .nav nav.open{padding:12px 0 18px}.home-hero-grid{display:flex;flex-direction:column}.home-hero-copy{padding:54px 0 31px}.home-hero h1{font-size:clamp(2.9rem,10.5vw,4.35rem);line-height:1.01}.home-lead{font-size:.98rem}.hero-benefits{justify-content:space-between;gap:7px}.hero-benefits span{font-size:.57rem;gap:5px}.hero-benefits svg{width:19px;height:19px}.hero-signature{margin-top:23px;font-size:.48rem;letter-spacing:.2em}.home-artwork{height:min(112vw,500px);min-height:350px;border-radius:36% 0 0 0/28% 0 0 0;margin-right:-18px}.home-artwork>img{object-position:56% center}.home-artwork:before{width:92%;height:112%;left:-52%;top:-7%}.home-artwork .brand-panel.brand-photo{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0}.home-artwork .brand-photo img{height:100%;min-height:0;aspect-ratio:auto;object-fit:contain;object-position:center}.artwork-label{top:9%;left:27%;font-size:.45rem}.artwork-note{font-size:.95rem}.artwork-note small{font-size:.57rem}.note-personas{right:5%;top:32%}.note-procesos{left:7%;top:51%}.note-tech{right:4%;bottom:18%}.artwork-baseline{left:35%;bottom:7%;font-size:.4rem;letter-spacing:.2em}.home-services,.home-method,.home-experience,.home-demos,.home-page .faq,.home-contact{padding:43px 0}.section-heading-row,.method-heading{display:block;margin-bottom:23px}.section-heading-row h2,.method-heading h2{font-size:2.35rem}.section-heading-row>p{margin-top:14px;max-width:42ch}.service-row{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:23px}.service-item{padding:6px 13px 3px 12px;min-height:150px}.service-item:nth-child(2){border-right:0}.service-item:nth-child(3){padding-left:12px}.service-item svg{width:32px;height:32px}.service-item h3{font-size:1.17rem}.service-item p{font-size:.72rem}.method-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 17px}.method-track:before{display:none}.method-track article{padding-top:43px}.method-track article p{font-size:.7rem}.method-quote{grid-column:1/-1;justify-self:end;margin:8px 0 0;padding-left:17px;font-size:1.3rem}.experience-layout{display:block}.experience-intro{margin-bottom:28px}.experience-intro h2{font-size:2.6rem;max-width:13ch}.feature-case{grid-template-columns:1fr}.feature-copy{padding:22px}.feature-copy h3{font-size:1.8rem}.feature-case img{min-height:0;aspect-ratio:1.45/1;object-position:center 44%}.case-controls{margin-top:14px}.demo-inner{display:block}.demo-inner h2{font-size:2rem}.demo-inner>p{margin:14px 0}.home-page .faq h2{font-size:2.35rem}.contact-layout{display:block;min-height:0}.contact-layout h2{font-size:2.5rem}.contact-layout:before{left:30%;width:90%;height:145%;top:0}.contact-node{left:67%;top:-12px;width:20px;height:20px}.contact-slogan{margin:30px 12px 0 auto;width:max-content;font-size:1.4rem}.footer-upper{grid-template-columns:1fr auto;gap:11px 18px}.home-footer .footer-brand{width:150px}.home-footer p{font-size:.62rem}.home-footer nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;flex-wrap:wrap;gap:12px 18px;padding:9px 0}.footer-social{grid-column:2;grid-row:1;border:0;padding:0}.home-footer .footer-motto{display:none}.footer-lower{gap:8px;flex-direction:column;font-size:.57rem}}
@media(max-width:390px){.home-page .brand{width:155px}.home-hero h1{font-size:2.75rem}.hero-benefits{gap:4px}.hero-benefits span{font-size:.52rem}.service-row{column-gap:0}.service-item{padding-right:9px}.service-item h3{font-size:1.05rem}.artwork-note{font-size:.85rem}.home-artwork{min-height:330px}.footer-social{gap:9px}}
@media(prefers-reduced-motion:reduce){.home-page *{scroll-behavior:auto}}
