/* Website V2: scoped additions; existing homepage animations and sections retained. */
.desktop-nav a[aria-current="page"]{color:var(--red)}
.portfolio-page{background:var(--bg)}.portfolio-page .site-landscape{opacity:1;transform:none}.portfolio-page main{background:linear-gradient(90deg,#080c0cd9 0%,#080c0c60 46%,transparent 85%),linear-gradient(0deg,rgba(8,12,12,.64) 0%,transparent 32%,#080c0c22);background-size:100% 100%,100% 100lvh;background-repeat:no-repeat}
.portfolio-intro{padding-top:170px;padding-bottom:70px}.portfolio-intro>.text-link{font-size:calc(13px * var(--type-button));margin-bottom:46px;display:inline-block}.portfolio-intro h1{font-size:clamp(calc(48px * var(--type-heading)),calc(6.5vw * var(--type-heading)),calc(96px * var(--type-heading)));letter-spacing:-.055em;line-height:1.04;margin:20px 0 28px;max-width:1000px}.portfolio-intro h1 em{color:#f37358;font-style:normal}.portfolio-intro>.eyebrow{color:var(--ink)}.portfolio-lead{max-width:710px;font-size:calc(18px * var(--type-copy));line-height:1.75;color:var(--secondary)}.portfolio-categories{display:flex;gap:32px;margin-top:45px;border-top:1px solid var(--line);padding-top:22px}.portfolio-categories a{display:flex;gap:16px;align-items:center;font-size:calc(12px * var(--type-copy));color:var(--red);min-height:44px}.portfolio-categories span{font-size:calc(15px * var(--type-copy));color:var(--ink)}
.portfolio-section{padding-top:38px;padding-bottom:75px;scroll-margin-top:30px}.portfolio-section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px}.portfolio-section-heading h2{font-size:clamp(calc(29px * var(--type-heading)),calc(3.3vw * var(--type-heading)),calc(46px * var(--type-heading)));letter-spacing:-.04em}.portfolio-section-heading>p{color:var(--muted);line-height:1.6;font-size:calc(14px * var(--type-copy))}
.project-card{border:1px solid #626d5f65;background:#1d2622eb;display:grid;grid-template-columns:1.05fr 1fr;overflow:hidden}.project-preview{position:relative;display:block;background:radial-gradient(ellipse at center,#26322d,#101715 70%);min-width:0;overflow:hidden;min-height:380px}.project-preview img{width:100%;height:100%;object-fit:cover;aspect-ratio:8/5}.project-symbol{height:100%;min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px 28px 80px;background-image:linear-gradient(#a6c5a908 1px,transparent 1px),linear-gradient(90deg,#a6c5a908 1px,transparent 1px);background-size:34px 34px}.project-symbol svg{width:100%;max-width:430px;height:auto}.project-symbol>span{font-size:calc(11px * var(--type-copy));letter-spacing:2.5px;margin-top:20px}.project-symbol small{max-width:280px;color:var(--muted);font-size:calc(11px * var(--type-copy));text-align:center;line-height:1.6;margin-top:12px}.project-tag{position:absolute;top:24px;left:24px;font-size:calc(10px * var(--type-copy));letter-spacing:1.8px;padding:9px 12px;background:#0a0c0cbd;border:1px solid #ffffff26}.project-open{position:absolute;bottom:25px;right:25px;width:48px;height:48px;border:1px solid #ffffff65;display:grid;place-items:center;border-radius:50%;font-size:calc(23px * var(--type-copy));transition:background .2s}.project-preview:hover .project-open{background:var(--red)}.project-content{padding:42px;min-width:0}.project-content h3{font-size:clamp(calc(26px * var(--type-heading)),calc(2.5vw * var(--type-heading)),calc(36px * var(--type-heading)));letter-spacing:-.035em;line-height:1.14;margin:18px 0 24px}.project-content>p{font-size:calc(15px * var(--type-copy));line-height:1.75;color:var(--secondary)}.project-features{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:8px;margin:25px 0}.project-features li{border:1px solid #ffffff24;padding:9px 12px;font-size:calc(11px * var(--type-copy));color:#d6ddcf}.project-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.project-actions .button{font-size:calc(13px * var(--type-button));min-height:48px;max-width:100%}.project-content .project-hint{font-size:calc(11px * var(--type-copy));color:var(--muted);line-height:1.7}.project-details{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.project-details summary{font-size:calc(13px * var(--type-copy));cursor:pointer;min-height:44px;padding:8px 0}.project-details p{color:var(--muted);font-size:calc(13px * var(--type-copy));line-height:1.7}
.tour-empty{display:flex;align-items:center;gap:55px;padding:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tour-glyph{font-size:clamp(calc(50px * var(--type-copy)),calc(7vw * var(--type-copy)),calc(90px * var(--type-copy)));color:#a6b4a6;font-weight:300;letter-spacing:-6px}.tour-empty h3{font-size:calc(25px * var(--type-heading));letter-spacing:-.025em}.tour-empty p{font-size:calc(15px * var(--type-copy));line-height:1.7;color:var(--muted)}.tour-empty a{font-size:calc(14px * var(--type-copy));display:inline-block;margin-top:12px}.portfolio-cta{text-align:center;background:linear-gradient(120deg,#46231c55,#111a1555);border-top:1px solid var(--line)}.portfolio-cta h2{font-size:clamp(calc(32px * var(--type-heading)),calc(4vw * var(--type-heading)),calc(56px * var(--type-heading)))}.portfolio-cta p:not(.eyebrow){color:var(--secondary);line-height:1.7;margin:25px auto 32px;max-width:570px}
.portfolio-home{background:#0b1210aa;border-block:1px solid #ffffff16}.portfolio-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.portfolio-home h2{font-size:clamp(calc(34px * var(--type-heading)),calc(4vw * var(--type-heading)),calc(54px * var(--type-heading)));max-width:560px}.portfolio-home .section-intro{margin:24px 0 32px}.home-project-preview{min-height:350px;border:1px solid var(--line)}.home-project-preview .project-symbol{min-height:350px;padding:40px 24px 110px}.home-project-preview .project-symbol svg{max-height:210px}.home-project-preview .project-symbol>span,.home-project-preview .project-symbol small{display:none}.home-project-name{position:absolute;bottom:26px;left:26px;font-size:calc(12px * var(--type-copy));color:var(--muted)}.home-project-name strong{display:block;font-size:calc(23px * var(--type-copy));color:var(--ink);margin-top:10px}
#tour-dialog{width:min(1200px,94vw);max-width:94vw;padding:24px;background:#101612;color:var(--ink);border:1px solid var(--line);max-height:94dvh;overflow:auto}#tour-dialog::backdrop{background:#000c}.tour-dialog-bar{display:flex;justify-content:space-between;gap:20px;align-items:center}.tour-dialog-bar h2{font-size:calc(21px * var(--type-heading))}.tour-dialog-bar button{min-width:44px;min-height:44px;background:transparent;border:1px solid var(--line)}#tour-frame iframe{width:100%;height:min(65dvh,700px);min-height:260px;border:0;display:block}#tour-dialog p{color:var(--muted);font-size:calc(13px * var(--type-copy));line-height:1.6}
@media(min-width:851px) and (max-width:1150px){.desktop-nav{gap:14px}.nav-cta{gap:12px;padding:12px;font-size:calc(11px * var(--type-nav))}}
@media(max-width:1000px){.project-card{grid-template-columns:1fr}.project-preview{min-height:320px}.project-symbol{min-height:320px;padding:40px 25px}.project-symbol svg{max-height:220px}.portfolio-home-grid{gap:30px}}
@media(max-width:600px){.portfolio-intro{padding-top:135px;padding-bottom:36px}.portfolio-intro>.text-link{margin-bottom:30px}.portfolio-lead{font-size:calc(16px * var(--type-copy))}.portfolio-categories{flex-direction:column;gap:6px;margin-top:30px}.portfolio-section-heading{display:block}.portfolio-section-heading>p{display:none}.portfolio-section{padding-bottom:45px}.project-content{padding:25px 22px}.project-tag{left:18px;top:18px;font-size:calc(9px * var(--type-copy))}.project-preview,.project-symbol{min-height:300px}.project-symbol{padding:45px 20px 30px}.project-symbol svg{max-height:175px}.project-symbol small{max-width:220px}.project-actions .button{width:100%;justify-content:space-between;white-space:normal}.tour-empty{padding:30px 0;display:block}.tour-glyph{display:block;margin-bottom:24px}.tour-empty h3{font-size:calc(23px * var(--type-heading))}.portfolio-home-grid{grid-template-columns:1fr;gap:35px}#tour-dialog{padding:16px}.portfolio-cta h2 br{display:none}}

/* V2.1: retain the whole supplied reconstruction, including all tanks. */
:is(#planta-de-agua,#portfolio-project-planta-de-agua) .project-preview img{object-fit:contain;aspect-ratio:auto;background:#070b10}
:is(#planta-de-agua,#portfolio-project-planta-de-agua) .project-preview{display:flex;align-items:center}
.project-content .thumbnail-caption{font-size:calc(12px * var(--type-copy));color:var(--muted);line-height:1.6;margin:0 0 22px;border-left:2px solid var(--red);padding-left:12px}

/* V2.2: stationary native link; the full painted rectangle is the hit target. */
:is(#planta-de-agua,#portfolio-project-planta-de-agua) .project-actions{position:relative;z-index:1}
#water-plant-viewer-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:52px;padding:18px 24px;font-size:calc(13px * var(--type-button));font-weight:600;background:var(--red);color:var(--on-brand);border:0;position:relative;pointer-events:auto;cursor:pointer;touch-action:manipulation;transform:none;transition:background .2s;max-width:100%;text-decoration:none}
#water-plant-viewer-link:hover{background:#fa6b51;transform:none}
#water-plant-viewer-link:focus-visible{outline:2px solid #fc9b78;outline-offset:5px}
#water-plant-viewer-link>span{pointer-events:none}
@media(max-width:600px){#water-plant-viewer-link{width:100%;white-space:normal}}

/* V2.3: live portfolio feed; retain the existing card design and native hit targets. */
#public-portfolio{display:grid;gap:32px}.portfolio-feed-status{padding:28px;border:1px solid var(--line);color:var(--muted);line-height:1.7}.portfolio-feed-status button{display:block;margin-top:16px;min-height:44px;padding:10px 16px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}.gs-viewer-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:18px 24px;font-size:calc(13px * var(--type-button));font-weight:600;background:var(--red);color:var(--on-brand);position:relative;pointer-events:auto;cursor:pointer;touch-action:manipulation;transform:none;max-width:100%;text-decoration:none}.gs-viewer-link:hover{background:#fa6b51;transform:none}.gs-viewer-link:focus-visible{outline:2px solid #fc9b78;outline-offset:5px}.gs-viewer-link>span{pointer-events:none}#public-portfolio .project-content h3,#public-portfolio .project-content p{overflow-wrap:anywhere}#public-portfolio .project-preview img{object-fit:contain;background:#070b10}#public-portfolio .project-preview{display:flex;align-items:center}@media(max-width:600px){.gs-viewer-link{width:100%;white-space:normal}}

#tour-status:empty{display:none}#tour-external[hidden]{display:none}

/* Keep failed previews hidden even with the shared img display rule. */
#public-portfolio .project-preview img[hidden]{display:none}
#public-portfolio .project-tag{max-width:calc(100% - 48px);overflow-wrap:anywhere}

/* Bounded photo recovery keeps the primary viewer link usable. */
#public-portfolio .thumbnail-retry{min-height:44px;padding:10px 16px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
#public-portfolio .thumbnail-retry[hidden],#public-portfolio .portfolio-feed-status[hidden]{display:none}
#public-portfolio .thumbnail-retry:focus-visible{outline:2px solid #fc9b78;outline-offset:4px}

/* Match homepage brightness and warm heading accent without adding animated filters. */
.portfolio-page .portfolio-section-heading>p,.portfolio-page .project-details p,.portfolio-page .project-content .project-hint,.portfolio-page .tour-empty p{color:var(--secondary)}
.portfolio-page .tour-glyph{color:var(--secondary)}
@media(max-width:600px){.portfolio-page main{background-image:linear-gradient(90deg,#070c0cba,#070c0c30),linear-gradient(0deg,rgba(8,12,12,.64),transparent 65%)}}

.plant-fallback{margin-top:16px}.plant-alternate{margin-inline-start:.75rem;text-decoration:underline;text-underline-offset:.18em;color:var(--ink)}
