/* V1.2 — EXTENSION. No modifica los componentes aprobados del UI Master V1.0. */
.master-page-hero{min-height:650px;position:relative;overflow:hidden;padding:170px 0 95px;display:flex;align-items:end}
.master-page-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end}
.master-page-hero h1{max-width:930px;margin:0;font-family:var(--display);font-size:clamp(4.2rem,7vw,7.8rem);font-weight:520;line-height:.9;letter-spacing:-.07em}
.master-page-hero h1 em{font-style:normal;color:var(--lime)}
.master-page-hero__lead{max-width:510px;margin:0 0 6px;color:#b9bcb6;font-size:1.05rem}
.master-page-hero__orbit span{position:absolute;border:1px solid rgb(255 255 255/.14);border-radius:50%;transform:rotate(-17deg);pointer-events:none}
.master-page-hero__orbit span:first-child{width:920px;height:320px;right:-190px;top:160px}
.master-page-hero__orbit span:nth-child(2){width:610px;height:210px;right:50px;top:255px;border-style:dashed}
.master-page-hero__node{position:absolute;width:18px;height:18px;right:198px;top:235px;border-radius:50%;background:var(--lime);box-shadow:0 0 28px rgb(198 255 0/.38)}
.master-page-meta{display:flex;flex-wrap:wrap;gap:11px;margin-top:34px}.master-page-meta span{padding:8px 12px;border:1px solid rgb(255 255 255/.17);border-radius:999px;color:#c9cdc5;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.portfolio-proof{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}.portfolio-proof__intro h2{margin:0;font-family:var(--display);font-size:clamp(3.1rem,5vw,5.6rem);line-height:.96;letter-spacing:-.055em;font-weight:520}.proof-list{margin:0;padding:0;list-style:none;border-top:1px solid #393c37}.proof-list li{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:30px 0;border-bottom:1px solid #393c37}.proof-list span{color:var(--lime);font-size:.72rem;font-weight:800}.proof-list h3{margin:0 0 8px;font-family:var(--display);font-size:1.55rem}.proof-list p{margin:0;color:#aeb2aa}
.case-hero{min-height:820px;padding-top:135px;position:relative;overflow:hidden}.case-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center;min-height:650px}.case-hero__copy h1{margin:0;font-family:var(--display);font-size:clamp(5rem,8vw,9rem);font-weight:520;line-height:.82;letter-spacing:-.075em}.case-hero__copy h1 em{display:block;color:var(--lime);font-style:normal}.case-hero__lead{max-width:600px;margin:30px 0 0;color:#bfc3bb;font-size:1.08rem}.case-hero__media{position:relative;min-height:590px;overflow:hidden;border:1px solid rgb(255 255 255/.15);border-radius:30px;background:#151515;box-shadow:0 35px 90px rgb(0 0 0/.45);transform:rotate(1deg)}.case-hero__media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.case-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgb(0 0 0/.72))}.case-hero__label{position:absolute;z-index:2;left:25px;right:25px;bottom:23px;display:flex;justify-content:space-between;align-items:end;gap:20px;color:#fff}.case-hero__label strong{font-size:1.05rem}.case-hero__label span{color:var(--lime);font-size:.75rem;text-align:right}
.case-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case-summary-card{padding:34px;border:1px solid var(--trace);border-radius:24px;background:#fff}.case-summary-card span{color:var(--gray);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.case-summary-card h3{margin:12px 0 12px;font-family:var(--display);font-size:2rem;letter-spacing:-.04em}.case-summary-card p{margin:0;color:var(--gray)}
.case-gallery{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:360px 360px;gap:16px}.case-gallery figure{position:relative;margin:0;overflow:hidden;border:1px solid #343633;border-radius:26px;background:#151515}.case-gallery figure:first-child{grid-row:span 2}.case-gallery img{width:100%;height:100%;object-fit:cover}.case-gallery figcaption{position:absolute;inset:auto 18px 16px;color:#fff;font-size:.76rem;font-weight:700;padding:7px 10px;border-radius:999px;background:rgb(0 0 0/.45);backdrop-filter:blur(8px)}
.case-gallery--promo{grid-template-columns:repeat(2,1fr);grid-template-rows:auto}.case-gallery--promo figure:first-child{grid-row:auto}.case-gallery--promo figure{min-height:520px}.case-gallery--promo img{object-fit:contain;background:#111}
.case-evidence{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}.case-evidence h2{margin:0;font-family:var(--display);font-size:clamp(3.2rem,5vw,5.8rem);line-height:.96;letter-spacing:-.055em;font-weight:520}.case-evidence__links{border-top:1px solid var(--trace)}.evidence-link{display:grid;grid-template-columns:80px 1fr auto;gap:22px;align-items:center;padding:24px 0;border-bottom:1px solid var(--trace);text-decoration:none}.evidence-link small{color:var(--gray);font-weight:800}.evidence-link strong{font-size:1.05rem}.evidence-link b{color:var(--lime);font-size:1.4rem}
.case-credit{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.case-credit h2{margin:0;font-family:var(--display);font-size:clamp(3rem,5vw,5.4rem);line-height:.96;letter-spacing:-.055em;font-weight:520}.case-credit__list{margin:0;padding:0;list-style:none;border-top:1px solid #3a3d38}.case-credit__list li{padding:18px 0;border-bottom:1px solid #3a3d38;color:#c9cdc5}.case-credit__list li::before{content:"";display:inline-block;width:7px;height:7px;margin-right:13px;border-radius:50%;background:var(--lime)}
.back-link{display:inline-flex;gap:9px;align-items:center;color:#fff;text-decoration:none;font-weight:700;margin-bottom:34px}.back-link span{color:var(--lime)}
.route-nav-note{color:#7b8078;font-size:.74rem;margin-top:24px}
@media(max-width:1040px){.master-page-hero__grid,.case-hero__grid,.portfolio-proof,.case-evidence,.case-credit{grid-template-columns:1fr;gap:42px}.case-hero__media{min-height:500px}.case-summary-grid{grid-template-columns:1fr}.case-gallery{grid-template-columns:1fr;grid-template-rows:480px 320px 320px}.case-gallery figure:first-child{grid-row:auto}.case-gallery--promo{grid-template-columns:1fr}.case-gallery--promo figure{min-height:440px}}
@media(max-width:700px){.master-page-hero{min-height:auto;padding:128px 0 80px}.master-page-hero h1{font-size:clamp(3.6rem,17vw,5.2rem)}.case-hero{min-height:auto;padding:115px 0 75px}.case-hero__copy h1{font-size:clamp(4.5rem,21vw,6.2rem)}.case-hero__media{min-height:380px;border-radius:20px}.case-gallery{grid-template-rows:360px 260px 260px}.evidence-link{grid-template-columns:50px 1fr auto}.master-page-hero__lead{font-size:1rem}}

/* Functional-build media extensions — preserve UI Master language */
.case-hero__media video,
.case-hero__media img { width:100%; height:100%; object-fit:cover; display:block; }
.case-video-shell { overflow:hidden; border:1px solid var(--trace); border-radius:28px; background:#0f0f0f; box-shadow:var(--shadow); }
.case-video-shell video { width:100%; display:block; aspect-ratio:16/9; object-fit:cover; background:#0a0a0a; }
.case-video-shell--portrait { max-width:520px; margin-inline:auto; background:#111; }
.case-video-shell--portrait video { aspect-ratio:9/16; }
.case-video-caption { display:flex; justify-content:space-between; gap:20px; padding:18px 22px; color:var(--gray); background:#fff; font-size:.78rem; }
.surface-dark .case-video-caption,.surface-graphite .case-video-caption { color:#b8bbb5; background:#151515; }
.case-gallery--four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.case-gallery--four figure { min-height:390px; }
.case-gallery--four img { min-height:390px; }
.case-gallery--software figure { min-height:440px; }
.case-gallery--software img { min-height:440px; object-fit:cover; }
.case-note { margin-top:24px; padding:18px 20px; border-left:3px solid var(--lime); color:var(--gray); background:rgb(198 255 0 / .06); }
.surface-dark .case-note,.surface-graphite .case-note { color:#b8bbb5; background:rgb(198 255 0 / .05); }
@media (max-width:900px){ .case-gallery--four{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .case-gallery--four{grid-template-columns:1fr;} .case-gallery--four figure,.case-gallery--four img{min-height:320px;} .case-video-caption{flex-direction:column;} }
.case-hero__media > video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.case-hero__media > video::-webkit-media-controls-panel { background-image:linear-gradient(transparent,rgba(0,0,0,.5)); }

/* Shared credit list on Lunar White; dark-surface lists retain their styling. */
.surface-light .case-credit__list li{color:var(--gray)}

/* Allow long case headings to wrap inside the existing mobile column. */
@media(max-width:360px){.split-heading{grid-template-columns:minmax(0,1fr)}.split-heading>div{min-width:0}.split-heading h2{overflow-wrap:anywhere}}
