:root{--green:#142324;--green-2:#2f3a32;--olive:#545748;--copper:#db9f75;--terracotta:#804012;--brown:#3e2411;--lime:#db9f75;--paper:#f3eee8;--ink:#142324;--white:#fff;--line:rgba(20,35,36,.16);--radius:1.25rem}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}.shell{width:min(1180px,calc(100% - 2rem));margin-inline:auto}.eyebrow{margin:0 0 .7rem;color:var(--terracotta);font-size:.76rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.header{position:sticky;top:0;z-index:30;background:rgba(20,35,36,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(219,159,117,.24);color:#fff}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.8rem;font-weight:850;line-height:1}.brand-logo{width:132px;height:68px;object-fit:contain}.brand-mark{width:36px;height:36px;background:var(--green);color:white;display:grid;place-items:center;clip-path:polygon(0 0,100% 0,74% 100%,26% 100%);font-size:.9rem}.brand small{display:block;margin-top:.35rem;color:#52615c;font-size:.62rem;letter-spacing:.16em}.nav-links{display:flex;align-items:center;gap:1.5rem;font-size:.9rem;font-weight:650}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--copper)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:46px;padding:.7rem 1.15rem;border:1px solid var(--green);background:var(--green);color:#fff;font-weight:750;transition:.25s}.nav-cta{background:var(--copper);border-color:var(--copper);color:var(--green)}.nav-cta:hover{background:#efbb96;color:var(--green);transform:translateY(-2px)}.btn:hover{background:var(--green-2);transform:translateY(-2px)}.btn.light{background:transparent;color:var(--green)}.menu{display:none;border:0;background:transparent;color:white;font-size:1.4rem}.hero{min-height:calc(100svh - 76px);display:grid;grid-template-columns:1.02fr .98fr}.hero-copy{display:flex;align-items:center;padding:clamp(4rem,8vw,8rem) max(1rem,calc((100vw - 1180px)/2))}.hero-copy>div{max-width:640px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.2rem,7.2vw,7rem);line-height:.91;letter-spacing:-.055em;margin:0 0 1.5rem;font-weight:500}.hero h1 span{color:var(--terracotta);font-style:italic}.lead{max-width:570px;font-size:clamp(1.04rem,1.8vw,1.25rem);color:#46534f}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.hero-media{position:relative;min-height:600px;overflow:hidden}.hero-media img{transition:transform 8s ease}.hero-media:hover img{transform:scale(1.035)}.hero-note{position:absolute;bottom:0;left:0;background:var(--brown);color:white;padding:1.2rem 1.5rem;max-width:320px;font-size:.88rem;border-top:3px solid var(--copper)}.section{padding:clamp(4.5rem,8vw,8rem) 0}.section.dark{background:var(--green);color:white}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.4rem}.section h2,.page-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.04em;line-height:1.05;margin:.1rem 0;font-size:clamp(2.5rem,5vw,4.8rem)}.section-head p{max-width:500px;color:#5a6662}.dark .section-head p{color:#d2ded8}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:250px;padding:1.5rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.service-card:hover{background:white;transform:translateY(-4px)}.service-card strong{font-family:Georgia,serif;font-size:1.45rem;line-height:1.1;font-weight:500}.service-card span{font-size:2rem;color:var(--terracotta)}.projects-preview,.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.project{position:relative;overflow:hidden;min-height:360px;background:#ddd}.project:nth-child(1){grid-column:span 7}.project:nth-child(2){grid-column:span 5}.project:nth-child(n+3){grid-column:span 4}.project img{transition:transform .65s ease,filter .65s ease}.project:hover img{transform:scale(1.045);filter:brightness(.77)}.project-info{position:absolute;inset:auto 0 0;padding:1.4rem;color:white;background:linear-gradient(transparent,rgba(0,0,0,.78));transform:translateY(6px);transition:.3s}.project-info h3{margin:.25rem 0;font-size:1.35rem}.project-info p{margin:0;font-size:.84rem;opacity:.86}.cta-band{background:var(--copper);padding:clamp(3rem,6vw,5rem) 0}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.cta-inner h2{margin:0;font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,4rem);line-height:1}.page-hero{padding:clamp(5rem,10vw,9rem) 0 4rem;border-bottom:1px solid var(--line)}.page-hero p{max-width:650px;font-size:1.15rem;color:#52605b}.detail-list{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--line)}.detail-list article{display:contents}.detail-list h2,.detail-list div{margin:0;padding:2rem 0;border-bottom:1px solid var(--line)}.detail-list h2{font-family:Georgia,serif;font-weight:500;font-size:1.65rem;padding-right:2rem}.detail-list p{margin:0 0 .7rem;color:#58645f}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.7rem}.filter{border:1px solid var(--green);padding:.55rem .9rem;background:transparent;color:var(--green);cursor:pointer}.filter.active,.filter:hover{background:var(--green);color:white}.gallery .project{grid-column:span 6}.gallery .project.hidden{display:none}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem)}.contact-list{border-top:1px solid var(--line)}.contact-row{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--line)}.contact-row span{color:#65706c;font-size:.85rem}.contact-row a{font-weight:700}.contact-card{background:var(--green);color:white;padding:clamp(2rem,5vw,4rem);align-self:start}.contact-card h2{font-size:clamp(2.2rem,4vw,4rem)}.footer{background:var(--brown);color:#f3e6dc;padding:3rem 0;border-top:4px solid var(--terracotta)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}.footer p,.footer a{font-size:.88rem;color:#b8c8c2}.footer a:hover{color:white}.float-wa{position:fixed;right:1rem;bottom:1rem;z-index:20;width:58px;height:58px;border-radius:50%;background:#25d366;color:#072c19;display:grid;place-items:center;font-weight:900;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:.25s}.float-wa:hover{transform:scale(1.08)}.reveal{opacity:0;transform:translateY(18px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.menu{display:block}.nav-links{display:none;position:absolute;top:82px;left:0;right:0;background:var(--green);padding:1.3rem;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.hero{grid-template-columns:1fr}.hero-media{min-height:52svh}.service-grid{grid-template-columns:repeat(2,1fr)}.projects-preview .project,.gallery .project{grid-column:span 6}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:620px){.hero-copy{padding:4.5rem 1rem}.hero h1{font-size:3.2rem}.service-grid{grid-template-columns:1fr}.projects-preview .project,.gallery .project{grid-column:1/-1;min-height:300px}.section-head,.cta-inner{align-items:flex-start;flex-direction:column}.detail-list{grid-template-columns:1fr}.detail-list article{display:block}.detail-list h2{border-bottom:0;padding-bottom:.2rem}.detail-list div{padding-top:0}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.contact-row{grid-template-columns:1fr;gap:.15rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}
.portfolio-intro{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:2.5rem}.portfolio-intro p{max-width:560px;color:#58645f}.gallery-premium{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.gallery-premium .project{grid-column:span 4;min-height:410px;border-radius:0}.gallery-premium .project.wide{grid-column:span 8}.gallery-premium .project.tall{min-height:620px}.project-index{position:absolute;top:1rem;right:1rem;z-index:2;background:rgba(20,35,36,.88);color:var(--copper);padding:.32rem .58rem;font-size:.72rem;letter-spacing:.12em}.project-info .type{color:var(--copper);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}.portfolio-note{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line);color:#65706c;font-size:.86rem}.stats{display:flex;gap:2.5rem;margin-top:2rem}.stats strong{display:block;font-family:Georgia,serif;font-size:2.2rem;color:var(--terracotta);font-weight:500}.stats span{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:#65706c}
@media(max-width:900px){.portfolio-intro{grid-template-columns:1fr}.gallery-premium .project,.gallery-premium .project.wide{grid-column:span 6}.gallery-premium .project.tall{min-height:480px}}
@media(max-width:620px){.gallery-premium .project,.gallery-premium .project.wide{grid-column:1/-1;min-height:340px}.gallery-premium .project.tall{min-height:480px}.stats{gap:1.2rem;flex-wrap:wrap}}

/* Premium responsive polish */
html{overflow-x:hidden}body{overflow-x:clip}.brand{flex:0 0 auto}.brand-logo{width:168px;height:72px;object-fit:contain;filter:drop-shadow(0 0 14px rgba(219,159,117,.12))}.menu{width:46px;height:46px;place-items:center;cursor:pointer;border-radius:50%}.menu:focus-visible,.filter:focus-visible,.btn:focus-visible,.nav-cta:focus-visible,.float-wa:focus-visible,a:focus-visible{outline:3px solid var(--copper);outline-offset:3px}.wa-icon{width:30px;height:30px;object-fit:contain}.wa-inline{width:19px;height:19px;object-fit:contain;flex:0 0 auto}.float-wa{isolation:isolate;color:white;border:2px solid rgba(255,255,255,.9);box-shadow:0 14px 34px rgba(0,0,0,.3)}.float-wa::after{content:"";position:absolute;inset:-7px;border:1px solid rgba(37,211,102,.4);border-radius:inherit;z-index:-1}.filter{min-height:44px;border-radius:999px;transition:background .2s,color .2s,transform .2s}.filter:hover{transform:translateY(-1px)}.project img{background:#263733}.gallery-premium .project{box-shadow:0 12px 34px rgba(20,35,36,.12)}
@media(max-width:900px){.menu{display:grid}.nav{gap:1rem}.nav-links{gap:.4rem;padding:1rem max(1rem,calc((100vw - 1180px)/2));box-shadow:0 18px 32px rgba(0,0,0,.22)}.nav-links a{width:100%;min-height:44px;display:flex;align-items:center;padding:.45rem 0}.nav-links .nav-cta{width:auto;margin-top:.45rem;padding:.7rem 1rem}.brand-logo{width:150px;height:66px}}
@media(max-width:620px){.nav{height:74px}.nav-links{top:74px}.brand-logo{width:138px;height:60px}.float-wa{width:56px;height:56px;right:.8rem;bottom:max(.8rem,env(safe-area-inset-bottom))}.hero-media{min-height:46svh}.project-info{transform:none;padding:1.2rem}.gallery-premium .project{box-shadow:0 8px 24px rgba(20,35,36,.14)}}

/* V7 premium editorial theme */
:root{--green:#021a1c;--green-2:#142324;--paper:#f2efe9;--ink:#172526;--copper:#db9f75;--terracotta:#804012;--brown:#3e2411;--line:rgba(23,37,38,.17)}
.header{background:rgb(2,26,28);border-bottom-color:rgba(219,159,117,.2)}.nav{height:92px}.brand-logo{width:84px;height:84px;filter:none;object-fit:contain}.nav-links{letter-spacing:.025em}.nav-cta{min-height:42px;padding:.55rem 1.05rem;border-radius:999px}.hero-copy{background:#0d2425;color:#fff}.hero-copy .lead{color:#c9d2ce}.hero-copy .eyebrow{color:var(--copper)}.hero h1{font-size:clamp(3.5rem,7.5vw,7.6rem)}.hero-note{background:rgba(2,26,28,.94)}.page-hero{background:#0d2425;color:#fff;border:0}.page-hero p{color:#c9d2ce}.page-hero em{color:var(--copper);font-weight:400}.section,.portfolio-section{background:var(--paper)}.section-head p,.portfolio-intro p{color:#55615e}.service-card{background:rgba(255,255,255,.24)}.service-card:hover{background:#fff}.contact-card{background:#0d2425}.footer{background:rgb(2,26,28);border-top-color:var(--copper)}.footer .brand-logo{width:108px;height:108px}.footer-brand{width:max-content}.cta-band{background:var(--copper)}
.project-catalog{display:grid;grid-template-columns:repeat(12,1fr);gap:1.4rem}.catalog-card{grid-column:span 4;background:#fff;border:1px solid rgba(23,37,38,.1);min-width:0;transition:transform .35s ease,box-shadow .35s ease}.catalog-card:nth-child(1),.catalog-card:nth-child(8),.catalog-card:nth-child(15){grid-column:span 8}.catalog-card.hidden{display:none}.project-open{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.catalog-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#162829}.catalog-card:nth-child(1) .catalog-media,.catalog-card:nth-child(8) .catalog-media,.catalog-card:nth-child(15) .catalog-media{aspect-ratio:16/9}.catalog-media img{filter:saturate(.9) contrast(1.04);transition:transform .7s cubic-bezier(.2,.65,.25,1),filter .4s}.project-open:hover .catalog-media img{transform:scale(1.035);filter:saturate(1) contrast(1.02)}.catalog-card:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(2,26,28,.14)}.catalog-count{position:absolute;right:.8rem;bottom:.8rem;padding:.35rem .65rem;border:1px solid rgba(255,255,255,.55);background:rgba(2,26,28,.82);color:#fff;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.catalog-copy{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;padding:1.25rem 1.3rem 1.35rem}.catalog-copy small{grid-column:1/-1;color:#7e4a2c;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.catalog-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:500;line-height:1.15}.catalog-copy>span{align-self:end;font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.catalog-copy b{color:var(--terracotta)}
.project-dialog{width:min(1180px,calc(100% - 2rem));max-height:94svh;padding:0;border:1px solid rgba(219,159,117,.3);background:#071d1f;color:#fff;box-shadow:0 35px 100px rgba(0,0,0,.55);overflow:auto}.project-dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}.dialog-shell{display:grid;grid-template-columns:minmax(250px,330px) 1fr;min-height:700px}.dialog-head{padding:clamp(2rem,4vw,3.5rem);border-right:1px solid rgba(255,255,255,.12)}.dialog-head h2{margin:.3rem 0 1.25rem;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.3rem,4vw,4.5rem);font-weight:400;line-height:.94}.dialog-head p:last-child{color:#bdc9c4}.dialog-stage{position:relative;align-self:start;min-width:0;height:min(68svh,720px);background:#020b0c}.dialog-stage>img{object-fit:contain;touch-action:pan-y}.dialog-prev,.dialog-next{position:absolute;top:50%;width:48px;height:48px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(2,26,28,.82);color:white;font-size:1.25rem;cursor:pointer}.dialog-prev{left:1rem}.dialog-next{right:1rem}.dialog-counter{position:absolute;right:1rem;bottom:1rem;padding:.35rem .65rem;background:rgba(2,26,28,.82);font-size:.75rem;letter-spacing:.1em}.dialog-thumbs{grid-column:2;display:grid;grid-template-columns:repeat(5,1fr);gap:.65rem;padding:.75rem;background:#0d2425}.dialog-thumb{padding:0;border:1px solid transparent;background:none;aspect-ratio:4/3;cursor:pointer;opacity:.58}.dialog-thumb.active{opacity:1;border-color:var(--copper)}.dialog-thumb img{filter:saturate(.9)}.dialog-close{position:fixed;z-index:3;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));width:48px;height:48px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:#071d1f;color:#fff;font-size:2rem;line-height:1;cursor:pointer}
@media(max-width:900px){.nav{height:82px}.nav-links{top:82px}.brand-logo{width:74px;height:74px}.project-catalog{grid-template-columns:repeat(2,1fr)}.catalog-card,.catalog-card:nth-child(1),.catalog-card:nth-child(8),.catalog-card:nth-child(15){grid-column:auto}.catalog-card:nth-child(1) .catalog-media,.catalog-card:nth-child(8) .catalog-media,.catalog-card:nth-child(15) .catalog-media{aspect-ratio:4/3}.dialog-shell{grid-template-columns:1fr;min-height:0}.dialog-head{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:2rem}.dialog-stage{height:60svh}.dialog-thumbs{grid-column:1}.dialog-close{position:absolute}}
@media(max-width:620px){.nav{height:74px}.nav-links{top:74px}.brand-logo{width:66px;height:66px}.hero h1{font-size:3.3rem}.project-catalog{grid-template-columns:1fr;gap:1rem}.catalog-copy{padding:1rem}.catalog-copy strong{font-size:1.35rem}.project-dialog{width:100%;max-height:100svh;height:100svh;border:0}.dialog-head{padding:1.4rem 4.5rem 1.3rem 1.2rem}.dialog-head h2{font-size:2.35rem;margin-bottom:.7rem}.dialog-head p:last-child{margin-bottom:0}.dialog-stage{height:52svh}.dialog-thumbs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:92px;overflow-x:auto;padding:.55rem}.dialog-prev,.dialog-next{width:44px;height:44px}.dialog-close{top:.75rem;right:.75rem}.stats{gap:1.5rem}.stats strong{font-size:1.8rem}}

/* Identidad visible y navegación inequívoca en todas las fotografías */
:is(.hero-media,.project,.catalog-media,.dialog-stage)::after{content:"";position:absolute;top:clamp(.65rem,1.4vw,1.1rem);right:clamp(.65rem,1.4vw,1.1rem);z-index:3;width:clamp(46px,6vw,76px);aspect-ratio:1.55;background:url("vertice7-watermark.png") center/contain no-repeat;opacity:.72;filter:drop-shadow(0 2px 7px rgba(0,0,0,.55));pointer-events:none}
.dialog-prev,.dialog-next{z-index:5;display:grid;place-items:center;border:2px solid rgba(255,255,255,.92);background:rgba(219,159,117,.96);color:#071d1f;font-size:1.55rem;font-weight:900;box-shadow:0 8px 26px rgba(0,0,0,.45);opacity:1;transition:transform .2s ease,background .2s ease}
.dialog-prev:hover,.dialog-next:hover{background:#f2b98f;transform:translateY(-50%) scale(1.08)}
.dialog-prev,.dialog-next{transform:translateY(-50%)}
.dialog-prev:focus-visible,.dialog-next:focus-visible,.dialog-close:focus-visible,.dialog-thumb:focus-visible{outline:3px solid #fff;outline-offset:3px}
.dialog-thumb{position:relative;overflow:hidden}.dialog-thumb::after{content:"";position:absolute;top:.25rem;right:.25rem;width:22px;aspect-ratio:1.55;background:url("vertice7-watermark.png") center/contain no-repeat;opacity:.7;filter:drop-shadow(0 1px 3px rgba(0,0,0,.65));pointer-events:none}
@media(max-width:620px){:is(.hero-media,.project,.catalog-media)::after{width:52px}.dialog-stage::after{width:58px;top:.7rem;right:.7rem}.dialog-prev{left:.65rem}.dialog-next{right:.65rem}}
.hero-media-home img{object-position:52% 48%}
@media(max-width:900px){.hero-media-home img{object-position:center 48%}}

/* Legibilidad y tipografía editorial */
@font-face{font-family:"V7 Sans";src:url("NimbusSans-Regular.otf") format("opentype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"V7 Sans";src:url("NimbusSans-Bold.otf") format("opentype");font-style:normal;font-weight:700 900;font-display:swap}
@font-face{font-family:"V7 Display";src:url("C059-Roman.otf") format("opentype");font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:"V7 Display";src:url("C059-Italic.otf") format("opentype");font-style:italic;font-weight:400 600;font-display:swap}
body{font-family:"V7 Sans","Helvetica Neue",Arial,sans-serif;font-size:1rem;line-height:1.65;letter-spacing:.006em}
h1,h2,h3,.hero h1,.section h2,.page-hero h1,.service-card strong,.detail-list h2,.cta-inner h2,.catalog-copy strong,.dialog-head h2,.stats strong{font-family:"V7 Display",Georgia,"Times New Roman",serif}
.hero h1,.section h2,.page-hero h1{letter-spacing:-.035em}.hero h1 span{color:var(--copper)}
.page-hero .eyebrow,.project-dialog .eyebrow{color:var(--copper)}
.page-hero .stats strong{color:#efb68e}.page-hero .stats span{color:#e0e7e4}
.hero-copy .btn.light{color:#fff;border-color:rgba(255,255,255,.7)}.hero-copy .btn.light:hover{background:#fff;color:var(--green)}
.catalog-count{font-size:.75rem}.catalog-copy small{font-size:.75rem;color:#713915}.catalog-copy>span{font-size:.8rem}.project-info p{font-size:.875rem;opacity:1}.hero-note{font-size:.925rem}.footer p,.footer a{font-size:.925rem;color:#d5dedb}.contact-row span{font-size:.9rem;color:#56635f}.detail-list p,.portfolio-intro p,.section-head p{color:#46534f}.dialog-head p:last-child{color:#d8e0dd}
.contact-row a,.footer a{overflow-wrap:anywhere}.detail-list a{font-weight:700;text-decoration-thickness:1px;text-underline-offset:.25em}.detail-list a:hover{text-decoration:underline}

@media(max-width:900px){
  .nav-links{background:#021a1c;border-bottom-color:rgba(219,159,117,.35)}
  .nav-links a{color:#fff;font-size:1rem}.nav-links a[aria-current=page]{color:#f0b58c}
  .hero{min-height:0}.hero-copy{min-height:calc(72svh - 74px);padding-block:clamp(4rem,12vw,6rem)}
  .hero-media{min-height:52svh}.page-hero{padding-top:clamp(4rem,11vw,6.5rem)}
  .dialog-head p:last-child{font-size:1rem;line-height:1.55}
}
@media(max-width:620px){
  .shell{width:min(100% - 1.5rem,1180px)}.hero-copy{padding-inline:.75rem;min-height:auto}
  .hero h1{font-size:clamp(2.75rem,14vw,3.35rem);line-height:.96}.lead{font-size:1.05rem;line-height:1.62}
  .actions{display:grid;grid-template-columns:1fr;width:100%}.actions .btn{width:100%}
  .section{padding:4.25rem 0}.section h2,.page-hero h1{font-size:clamp(2.35rem,11vw,3.1rem);line-height:1.02}
  .page-hero p{font-size:1.05rem;line-height:1.6}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.stats div{min-width:0}
  .catalog-copy{grid-template-columns:1fr}.catalog-copy>span{margin-top:.45rem}.catalog-copy strong{font-size:1.55rem}
  .contact-row{padding:1.25rem 0}.contact-row a,.contact-row div{font-size:1rem;line-height:1.55}
  .cta-inner .btn{width:100%}.footer{padding-bottom:5.5rem}.footer-grid{gap:1.35rem}
  .dialog-head{padding-top:1.25rem}.dialog-stage{height:min(50svh,520px)}
}
@media(max-width:360px){.hero h1{font-size:2.65rem}.stats{grid-template-columns:1fr}.catalog-copy strong{font-size:1.45rem}}

/* Mejora progresiva: el contenido sigue visible aunque falle JavaScript */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(18px)}
.js .reveal.visible{opacity:1;transform:none}
.brand small,.project-info .type,.project-index{font-size:.75rem}
.eyebrow{font-size:.8rem}.stats span{font-size:.78rem}.portfolio-note{font-size:.875rem}
.contact-row a,.catalog-copy strong{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){.nav-links.open{max-height:calc(100svh - 74px);overflow-y:auto;overscroll-behavior:contain}}

/* Auditoría integral: experiencia premium y amable */
:root{--shadow-soft:0 18px 55px rgba(2,26,28,.1);--shadow-deep:0 28px 80px rgba(2,26,28,.18)}
::selection{background:var(--copper);color:var(--green)}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:1000;padding:.75rem 1rem;background:#fff;color:var(--green);font-weight:800;transform:translateY(-160%);transition:transform .2s}
.skip-link:focus{transform:translateY(0)}
.header{box-shadow:0 1px 0 rgba(255,255,255,.04);backdrop-filter:blur(20px)}
.nav{height:88px}
.brand{gap:.7rem;min-width:max-content}
.brand-symbol{width:44px;height:31px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(219,159,117,.18))}
.brand-lockup{display:grid;gap:.25rem;color:#fff;line-height:1}
.brand-lockup strong{font-family:"V7 Sans","Helvetica Neue",Arial,sans-serif;font-size:.95rem;letter-spacing:.19em;font-weight:700}
.brand-lockup small{margin:0;color:#d7a17c;font-size:.75rem;letter-spacing:.09em;font-weight:700}
.nav-links a:not(.nav-cta){position:relative;padding:.45rem 0;color:#e7edeb}
.nav-links a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:.1rem;height:1px;background:var(--copper);transition:right .25s ease}
.nav-links a:not(.nav-cta):hover::after,.nav-links a[aria-current=page]::after{right:0}
.nav-cta,.btn{min-height:48px;border-radius:999px;padding:.75rem 1.3rem;letter-spacing:.02em;box-shadow:none}
.nav-cta{box-shadow:0 8px 24px rgba(219,159,117,.16)}
.hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:calc(100svh - 88px)}
.hero-copy{position:relative;background:linear-gradient(145deg,#0d2425 0%,#071d1f 100%);padding-block:clamp(4.5rem,8vw,7.5rem)}
.hero-copy>div{position:relative;padding-left:clamp(1.1rem,2vw,2rem)}
.hero-copy>div::before{content:"";position:absolute;left:0;top:.35rem;width:1px;height:clamp(5.2rem,9vw,8.2rem);background:linear-gradient(var(--copper),rgba(219,159,117,0))}
.hero h1{max-width:680px;font-size:clamp(3.4rem,6.6vw,6.7rem);line-height:.93;text-wrap:balance}
.hero-copy .lead{max-width:590px;color:#d3dcda;line-height:1.6}
.hero-copy .btn:not(.light){background:var(--copper);border-color:var(--copper);color:var(--green)}
.hero-copy .btn:not(.light):hover{background:#efb68e;border-color:#efb68e}
.hero-copy .btn.light{background:rgba(255,255,255,.03)}
.hero-media{box-shadow:inset 20px 0 50px rgba(2,26,28,.18)}
.hero-note{left:clamp(1rem,3vw,2.5rem);bottom:clamp(1rem,3vw,2.5rem);padding:1rem 1.2rem;border:1px solid rgba(255,255,255,.18);border-left:3px solid var(--copper);background:rgba(2,26,28,.88);backdrop-filter:blur(12px);line-height:1.55;box-shadow:var(--shadow-soft)}
.section-head{margin-bottom:3rem}.section-head>p{font-size:1.03rem;line-height:1.7}
.service-grid{border:0;gap:1px;background:rgba(23,37,38,.16)}
.service-card{position:relative;min-height:235px;border:0;background:#f7f4ee;padding:1.55rem;overflow:hidden}
.service-card::after{content:"↗";position:absolute;top:1.45rem;right:1.45rem;color:var(--terracotta);font-size:1.05rem;opacity:0;transform:translate(-5px,5px);transition:.25s ease}
.service-card span{font-family:"V7 Display",Georgia,serif;font-size:1.5rem;color:#8c4b22}
.service-card strong{max-width:190px;font-size:1.55rem;line-height:1.08}
.service-card:hover,.service-card:focus-visible{position:relative;z-index:1;background:#fff;box-shadow:var(--shadow-soft);transform:translateY(-5px)}
.service-card:hover::after,.service-card:focus-visible::after{opacity:1;transform:none}
.dark .project{border:1px solid rgba(219,159,117,.25);box-shadow:0 18px 55px rgba(0,0,0,.18)}
.project-info{padding:2.3rem 1.4rem 1.4rem;background:linear-gradient(transparent,rgba(2,26,28,.92));transform:none}
.project-info h3{font-size:1.65rem;font-weight:400}.project-info p{color:#e0e7e4}
.project-action{display:inline-block;margin-top:.4rem;color:#efb68e;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.project:focus-visible{outline:3px solid var(--copper);outline-offset:4px}.project:focus-visible img{transform:scale(1.035);filter:brightness(.77)}
.cta-band{background:linear-gradient(120deg,#db9f75,#e6ad85)}
.cta-inner .btn{background:var(--green);border-color:var(--green);color:#fff}
.page-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0d2425 0%,#06191b 100%)}
.page-hero::after{content:"";position:absolute;right:-4rem;top:50%;width:clamp(230px,32vw,470px);aspect-ratio:1.46;background:url("vertice7-watermark.png") center/contain no-repeat;opacity:.045;transform:translateY(-50%);pointer-events:none}
.page-hero .shell{position:relative;z-index:1}.page-hero p{line-height:1.7}.page-hero h1{text-wrap:balance}
.detail-list{border-top:1px solid rgba(23,37,38,.22)}
.detail-list article{scroll-margin-top:110px}.detail-list h2,.detail-list div{padding-block:2.4rem}
.detail-list a{display:inline-flex;min-height:44px;align-items:center;color:#713915}
.filters{position:sticky;top:88px;z-index:12;flex-wrap:nowrap;overflow-x:auto;margin-inline:-.45rem;padding:.9rem .45rem;background:rgba(242,239,233,.94);backdrop-filter:blur(14px);scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}.filter{flex:0 0 auto;padding-inline:1.05rem;font-size:.9rem;font-weight:700}
.catalog-card{border-color:rgba(23,37,38,.12);box-shadow:0 8px 24px rgba(2,26,28,.06)}
.catalog-card:hover,.catalog-card:focus-within{box-shadow:var(--shadow-deep)}
.project-open:focus-visible{outline:3px solid var(--copper);outline-offset:4px}
.catalog-copy{background:#fff}.catalog-copy>span{color:#4b5854}.catalog-copy b{color:#713915}
.contact-list{border-top-color:rgba(23,37,38,.22)}.contact-row{padding-block:1.45rem}.contact-row>a{display:inline-flex;align-items:center;min-height:44px;color:#243c3d}
.contact-card{position:relative;border-top:3px solid var(--copper);box-shadow:var(--shadow-deep);overflow:hidden}
.contact-card::after{content:"";position:absolute;right:-3.5rem;bottom:-2rem;width:200px;aspect-ratio:1.46;background:url("vertice7-watermark.png") center/contain no-repeat;opacity:.055;pointer-events:none}
.contact-card>*{position:relative;z-index:1}.contact-card h2{font-family:"V7 Display",Georgia,serif;font-weight:400;line-height:1.04;text-wrap:balance}
.contact-card p:not(.eyebrow){color:#d4ddda;font-size:1.02rem;line-height:1.7}.contact-card .btn{background:var(--copper)!important;border-color:var(--copper)!important;color:var(--green)!important}
.footer{padding:3.5rem 0;border-top-width:1px}.footer-grid{align-items:start}.footer-brand{margin-bottom:1.2rem}.footer .brand-symbol{width:46px;height:32px}.footer .brand-lockup small{color:#d7a17c}.footer a{text-underline-offset:.25em}.footer a:hover{text-decoration:underline}
.float-wa{right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));box-shadow:0 14px 40px rgba(0,0,0,.32)}
.dialog-head h2{text-wrap:balance}.dialog-thumb{min-width:64px}.dialog-thumb:focus-visible{opacity:1}.dialog-counter{border:1px solid rgba(255,255,255,.25)}

@media(max-width:900px){
  .nav{height:78px}.brand-symbol{width:41px;height:28px}.brand-lockup strong{font-size:.86rem}.brand-lockup small{font-size:.75rem;letter-spacing:.07em}
  .menu{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16)}
  .nav-links{top:78px;padding-block:1.2rem 1.4rem}.nav-links a:not(.nav-cta){padding:.7rem 0}.nav-links a:not(.nav-cta)::after{display:none}
  .nav-links .nav-cta{width:100%;justify-content:center;margin-top:.55rem}
  .hero{grid-template-columns:1fr;min-height:0}.hero-copy{min-height:auto;padding-block:clamp(4.5rem,12vw,6.5rem)}.hero-media{min-height:56svh}
  .filters{top:78px}.service-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .nav{height:70px}.nav-links{top:70px;max-height:calc(100svh - 70px)}.brand{gap:.55rem}.brand-symbol{width:37px;height:26px}.brand-lockup strong{font-size:.78rem;letter-spacing:.15em}.brand-lockup small{font-size:.75rem;letter-spacing:.04em}
  .hero-copy{padding:4rem .75rem}.hero-copy>div{padding-left:1rem}.hero-copy>div::before{height:5.5rem}.hero h1{font-size:clamp(2.7rem,13vw,3.45rem);line-height:.96;margin-bottom:1.35rem}
  .hero-media{min-height:50svh}.hero-note{left:.75rem;right:.75rem;bottom:.75rem;max-width:none;font-size:.875rem}
  .section{padding-block:4.5rem}.section-head{margin-bottom:2.2rem}.section-head>p{font-size:1rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:175px;padding:1.35rem}.service-card strong{max-width:260px;font-size:1.5rem}
  .projects-preview{gap:.8rem}.project{min-height:330px}.cta-inner h2{font-size:clamp(2.35rem,11vw,3rem)}
  .page-hero{padding-top:4.5rem;padding-bottom:3.5rem}.page-hero::after{right:-7rem;opacity:.04}.page-hero p{font-size:1rem}
  .filters{top:70px;margin-inline:-.75rem;padding-inline:.75rem}.filter{font-size:.875rem}
  .catalog-card{box-shadow:0 8px 28px rgba(2,26,28,.09)}.catalog-media{aspect-ratio:4/3}
  .contact-card{padding:2rem 1.4rem}.contact-card h2{font-size:2.4rem}.contact-card .btn{width:100%}
  .footer{padding-bottom:6.5rem}.float-wa{width:54px;height:54px}
  .dialog-stage{height:48svh}.dialog-head{padding-top:1.15rem;padding-bottom:1rem}.dialog-head h2{font-size:2.15rem}.dialog-head p:last-child{font-size:.95rem}
}
@media(max-width:370px){.brand-lockup strong{font-size:.75rem}.brand-lockup small{font-size:.75rem;letter-spacing:0}.hero h1{font-size:2.65rem}.contact-card h2{font-size:2.15rem}}
@media(hover:none){.service-card::after{opacity:1;transform:none}.catalog-card:hover,.service-card:hover{transform:none}.hero-media:hover img{transform:none}}

/* Servicios: información ampliada y fácil de recorrer */
.detail-list div>p:first-child{max-width:760px;font-size:1.04rem;line-height:1.72}
.service-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1.35rem 0 1.25rem;padding:0;list-style:none}
.service-points li{position:relative;min-height:112px;padding:1rem 1rem 1rem 1.75rem;border:1px solid rgba(23,37,38,.13);background:rgba(255,255,255,.48);color:#334340;font-size:.9rem;line-height:1.5}
.service-points li::before{content:"";position:absolute;top:1.28rem;left:.82rem;width:6px;height:6px;border-radius:50%;background:var(--copper);box-shadow:0 0 0 3px rgba(219,159,117,.18)}
@media(max-width:900px){.service-points{grid-template-columns:1fr}.service-points li{min-height:0}}
@media(max-width:620px){.detail-list div>p:first-child{font-size:1rem}.service-points{margin-top:1.1rem}.service-points li{font-size:.925rem}}

/* Metadatos del portafolio, preparados para una futura migración */
.catalog-action{grid-column:2;grid-row:2;white-space:nowrap}
.catalog-details{grid-column:1/-1!important;display:block;margin-top:.65rem;padding-top:.72rem;border-top:1px solid rgba(23,37,38,.11);color:#52605b!important;font-size:.82rem!important;font-weight:600!important;letter-spacing:.015em!important;line-height:1.45;text-transform:none!important}
.catalog-copy small::before{content:"Tipo de proyecto · ";color:#52605b;font-weight:700}
.dialog-meta{max-width:460px;color:#efb68e!important;font-size:.78rem;line-height:1.55;letter-spacing:.085em}
@media(max-width:620px){.catalog-action{grid-column:1;grid-row:auto;justify-self:start;margin-top:.2rem!important}.catalog-details{margin-top:.55rem!important}.dialog-meta{max-width:calc(100% - 1rem)}}
