/* Project case studies: shared, data-driven project detail presentation. */
.project-case-body { --case-ink: #0C1A28; --case-ink-soft: #393C41; --case-sand: #F2E9E0; --case-sand-deep: #E4D7CC; --case-gold: #A9824B; --case-white: #fff; }
.project-case-body h1, .project-case-body h2, .project-case-body h3 { font-family: var(--font-heading); }
.case-hero { position: relative; overflow: hidden; padding: clamp(72px, 10vw, 132px) 0 clamp(72px, 9vw, 110px); color: #f2e9e0; background: radial-gradient(circle at 76% 18%, rgba(169,130,75,.25), transparent 25%), radial-gradient(circle at 15% 86%, rgba(193,183,174,.13), transparent 33%), #050A10; }
.case-hero::after { content: ''; position: absolute; right: -8vw; bottom: -11vw; width: 46vw; height: 26vw; border: 1px solid rgba(242,233,224,.12); transform: rotate(-18deg); pointer-events: none; }
.case-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.82fr); gap: clamp(42px,6vw,84px); align-items: center; }
.case-back, .case-text-link { display: inline-flex; align-items: center; gap: 9px; font-family: var(--font-label); font-size: 15px; letter-spacing: .02em; transition: transform .25s ease, color .25s ease; }
.case-back { margin-bottom: 36px; color: rgba(242,233,224,.78); }.case-back:hover, .case-text-link:hover { transform: translateX(4px); color: var(--case-gold); }
.case-kicker { margin-bottom: 13px; color: var(--case-gold); font-family: var(--font-label); font-size: 13px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.case-hero h1 { max-width: 740px; color: #f2e9e0; font-size: clamp(3.15rem,7vw,6.4rem); line-height: .97; letter-spacing: -.055em; }
.case-summary { max-width: 660px; margin-top: 24px; color: rgba(242,233,224,.8); font-size: clamp(18px,2vw,23px); line-height: 1.55; }
.case-chips { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }.case-chips span { display: inline-flex; min-height: 32px; align-items: center; padding: 6px 12px; border: 1px solid rgba(242,233,224,.17); border-radius: 999px; color: rgba(242,233,224,.86); background: rgba(242,233,224,.06); font-family: var(--font-label); font-size: 13px; transition: transform .23s ease, background .23s ease; }.case-chips span:hover { transform: translateY(-2px); background: rgba(242,233,224,.12); }
.case-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 34px; }.case-hero .btn-primary, .case-final-cta .btn-primary { display: inline-flex; align-items: center; gap: 10px; }
.case-hero-visual { position: relative; margin: 0; padding: 14px; border: 1px solid rgba(242,233,224,.18); border-radius: 26px; background: linear-gradient(145deg, rgba(242,233,224,.12), rgba(169,130,75,.09)); box-shadow: 22px 30px 65px rgba(0,0,0,.42); transform: rotate(2.5deg); }.case-hero-visual::before { content: ''; position: absolute; inset: 6px -7px -8px 12px; z-index: -1; border: 1px solid rgba(169,130,75,.38); border-radius: 26px; transform: rotate(-3deg); }.case-hero-visual img { display: block; width: 100%; min-height: 260px; max-height: 470px; border-radius: 16px; object-fit: cover; filter: saturate(.78) contrast(1.05); }.case-hero-visual figcaption { padding: 13px 5px 2px; color: rgba(242,233,224,.68); font-family: var(--font-label); font-size: 12px; letter-spacing: .07em; text-transform: uppercase; }
.case-section { position: relative; padding: clamp(76px,9vw,128px) 0; }.case-section-sand { color: var(--case-ink); background: var(--case-sand); }.case-section-light { color: var(--case-ink); background: #fbf7f2; }.case-section-dark { color: #f2e9e0; background: var(--case-ink); }.case-diagonal-top { clip-path: polygon(0 3.5vw,100% 0,100% 100%,0 100%); padding-top: calc(clamp(76px,9vw,128px) + 3vw); margin-top: -3vw; }.case-diagonal-bottom { clip-path: polygon(0 0,100% 0,100% calc(100% - 3.5vw),0 100%); padding-bottom: calc(clamp(76px,9vw,128px) + 3vw); }
.case-intro-grid, .case-tech-grid, .case-ux { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(28px,6vw,100px); align-items: end; }.case-section h2, .case-not-found h1 { max-width: 710px; font-size: clamp(2.25rem,4.4vw,4rem); line-height: 1.04; letter-spacing: -.045em; }.case-section-dark h2 { color: #f2e9e0; }.case-lead { max-width: 710px; color: var(--case-ink-soft); font-size: clamp(18px,2vw,22px); line-height: 1.6; }.case-section-dark .case-lead { color: rgba(242,233,224,.76); }.case-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 48px; }.case-solution-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }.case-features-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.case-info-card { position: relative; min-height: 190px; padding: 26px; border: 1px solid rgba(12,26,40,.13); border-radius: 18px; background: rgba(255,255,255,.45); box-shadow: 0 15px 32px rgba(12,26,40,.06); transition: transform .28s ease, box-shadow .28s ease; }.case-info-card:hover { transform: translateY(-5px); box-shadow: 0 22px 38px rgba(12,26,40,.13); }.case-info-card i { display: grid; width: 42px; height: 42px; place-items: center; margin-bottom: 24px; border-radius: 12px; color: var(--case-gold); background: rgba(169,130,75,.12); font-size: 18px; }.case-info-card h3 { margin-bottom: 10px; color: var(--case-ink); font-size: 19px; line-height: 1.2; }.case-info-card p { color: var(--case-ink-soft); font-size: 16px; line-height: 1.5; }.case-card-number { display: inline-block; margin-bottom: 34px; color: var(--case-gold); font-family: var(--font-heading); font-size: 22px; font-weight: 700; }.case-section-dark .case-info-card { border-color: rgba(242,233,224,.13); background: rgba(242,233,224,.055); box-shadow: none; }.case-section-dark .case-info-card:hover { background: rgba(242,233,224,.09); box-shadow: 0 18px 34px rgba(0,0,0,.18); }.case-section-dark .case-info-card h3 { color: #f2e9e0; }.case-section-dark .case-info-card p { color: rgba(242,233,224,.72); }.case-section-dark .case-info-card i { color: #f2e9e0; background: rgba(169,130,75,.28); }
.case-section-heading { max-width: 850px; }.case-section-heading > p:not(.case-kicker) { margin-top: 18px; color: var(--case-ink-soft); font-size: 18px; line-height: 1.6; }.case-heading-light > p:not(.case-kicker) { color: rgba(242,233,224,.75); }.case-process { position: relative; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 18px; margin-top: 50px; list-style: none; }.case-process::before { content: ''; position: absolute; top: 18px; right: 9%; left: 9%; height: 1px; background: rgba(12,26,40,.19); }.case-process li { position: relative; z-index: 1; }.case-process li > span { display: grid; width: 38px; height: 38px; place-items: center; margin-bottom: 20px; border: 1px solid rgba(12,26,40,.25); border-radius: 50%; color: var(--case-sand); background: var(--case-ink); font-family: var(--font-heading); font-size: 12px; font-weight: 700; }.case-process h3 { margin-bottom: 8px; font-size: 18px; }.case-process p { max-width: 180px; color: var(--case-ink-soft); font-size: 15px; line-height: 1.48; }
.case-gallery { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(270px,.82fr); gap: 22px; margin-top: 45px; }.case-gallery-main { overflow: hidden; margin: 0; border: 1px solid rgba(242,233,224,.16); border-radius: 20px; background: #050A10; }.case-gallery-main img { display: block; width: 100%; height: min(38vw,470px); min-height: 320px; object-fit: cover; filter: saturate(.75) contrast(1.06); transition: transform .6s ease; }.case-gallery-main:hover img { transform: scale(1.025); }.case-gallery-main figcaption { display: grid; gap: 7px; padding: 21px 24px; }.case-gallery-main figcaption strong { color: #f2e9e0; font-family: var(--font-heading); font-size: 18px; }.case-gallery-main figcaption span, .case-gallery-notes p { color: rgba(242,233,224,.68); font-size: 16px; line-height: 1.5; }.case-gallery-notes { display: grid; gap: 16px; }.case-gallery-notes article { padding: 25px; border: 1px solid rgba(242,233,224,.13); border-radius: 18px; background: linear-gradient(135deg, rgba(242,233,224,.075), rgba(242,233,224,.025)); }.case-gallery-notes span { display: block; margin-bottom: 25px; color: var(--case-gold); font-family: var(--font-heading); font-weight: 700; }.case-gallery-notes h3 { margin-bottom: 9px; color: #f2e9e0; font-size: 18px; }.case-external { margin-top: 27px; }.case-section-dark .case-text-link { color: rgba(242,233,224,.84); }
.case-ux { align-items: center; }.case-ux ul { display: grid; gap: 12px; padding: 28px; border-left: 2px solid var(--case-gold); list-style: none; background: rgba(169,130,75,.07); }.case-ux li { display: flex; gap: 12px; align-items: center; color: var(--case-ink); font-family: var(--font-heading); font-size: 17px; }.case-ux i { color: var(--case-gold); }.case-tech-grid { align-items: center; }.case-tech-chips { align-content: center; margin: 0; }.case-tech-chips span { border-color: rgba(12,26,40,.15); color: var(--case-ink); background: rgba(12,26,40,.045); }.case-tech-chips span:hover { background: rgba(169,130,75,.13); }.case-challenges-solved { grid-template-columns: repeat(3,minmax(0,1fr)); }.case-result { max-width: 850px; text-align: center; }.case-result .case-kicker { justify-content: center; }.case-result h2 { margin: 0 auto; }.case-result > p:last-child { max-width: 710px; margin: 20px auto 0; color: var(--case-ink-soft); font-size: clamp(18px,2vw,22px); line-height: 1.6; }.case-team { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 58px; align-items: end; }.case-team-areas { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; }.case-team-areas span { padding: 9px 13px; border: 1px solid rgba(12,26,40,.15); border-radius: 999px; color: var(--case-ink); background: rgba(12,26,40,.045); font-family: var(--font-label); font-size: 14px; }.case-final-cta { position: relative; overflow: hidden; padding: clamp(78px,10vw,128px) 0; color: #f2e9e0; text-align: center; background: radial-gradient(circle at 50% 0, rgba(169,130,75,.3), transparent 42%), #050A10; }.case-final-cta::after { content: ''; position: absolute; inset: 16px; border: 1px solid rgba(242,233,224,.09); border-radius: 28px; pointer-events: none; }.case-final-cta .container { position: relative; z-index: 1; max-width: 820px; }.case-final-cta h2 { color: #f2e9e0; font-size: clamp(2.45rem,5vw,4.7rem); line-height: 1; letter-spacing: -.05em; }.case-final-cta > div > p:not(.case-kicker) { max-width: 670px; margin: 21px auto 30px; color: rgba(242,233,224,.76); font-size: 19px; line-height: 1.58; }.case-final-cta .case-kicker { color: var(--case-gold); }.case-final-cta .case-text-link { margin-left: 22px; color: rgba(242,233,224,.78); }.case-not-found { min-height: 65vh; padding: 140px 0; color: var(--case-ink); text-align: center; }.case-not-found p { margin: 18px auto 28px; color: var(--case-ink-soft); font-size: 19px; }
body.theme-bone .project-case-body, body.theme-bone.project-case-body { color: var(--case-ink); } body.theme-bone .case-section-dark, body.theme-bone .case-hero, body.theme-bone .case-final-cta { background-color: #050A10; } body.theme-bone .case-section-light { background: rgba(242,233,224,.7); } body.theme-bone .case-section-sand { background: #E4D7CC; }
@media (max-width: 960px) { .case-hero-grid, .case-intro-grid, .case-tech-grid, .case-ux { grid-template-columns: 1fr; }.case-hero-visual { max-width: 670px; margin: 16px auto 0; }.case-solution-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.case-process { grid-template-columns: repeat(3,minmax(0,1fr)); }.case-process::before { display: none; }.case-gallery { grid-template-columns: 1fr; }.case-gallery-notes { grid-template-columns: repeat(2,minmax(0,1fr)); }.case-team { grid-template-columns: 1fr; }.case-team-areas { grid-column: auto; } }
@media (max-width: 640px) { .case-hero { padding-top: 58px; }.case-hero h1 { font-size: clamp(3rem,15vw,4.5rem); }.case-hero-visual { padding: 9px; border-radius: 19px; transform: rotate(1.2deg); }.case-hero-visual img { min-height: 200px; }.case-card-grid, .case-solution-grid, .case-features-grid, .case-challenges-solved, .case-gallery-notes { grid-template-columns: 1fr; }.case-info-card { min-height: 0; padding: 22px; }.case-process { grid-template-columns: 1fr 1fr; gap: 27px 18px; }.case-process li:last-child { grid-column: 1 / -1; }.case-gallery-main img { height: 62vw; min-height: 220px; }.case-section { padding: 68px 0; }.case-diagonal-top { padding-top: calc(68px + 4vw); }.case-diagonal-bottom { padding-bottom: calc(68px + 4vw); }.case-final-cta { padding-right: 12px; padding-left: 12px; }.case-final-cta .case-text-link { display: inline-flex; margin: 22px 0 0; }.case-hero-actions { gap: 18px; }.case-chips { margin-top: 24px; } }
@media (prefers-reduced-motion: reduce) { .case-info-card, .case-chips span, .case-hero-visual, .case-gallery-main img, .case-back, .case-text-link { transition: none !important; } }

/* Segunda pasada visual: sistema editorial del portfolio ORYON. */
.project-case-body { --oryon-bg: #F2E9E0; --oryon-surface: #E4D7CC; --oryon-dark: #050A10; --oryon-dark-soft: #0C1A28; --oryon-gold: #A9824B; --oryon-gold-soft: rgba(169,130,75,.16); --oryon-text: #0C1A28; --oryon-muted: #5c5c5c; --oryon-border: rgba(12,26,40,.15); --shadow-sm: 0 12px 26px rgba(12,26,40,.06); --shadow-project: 0 35px 90px rgba(5,10,16,.23); }
.case-hero { min-height: 75vh; display: grid; align-items: center; isolation: isolate; background-image: linear-gradient(rgba(242,233,224,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(242,233,224,.045) 1px,transparent 1px),radial-gradient(circle at 76% 18%,rgba(169,130,75,.25),transparent 25%),radial-gradient(circle at 15% 86%,rgba(193,183,174,.13),transparent 33%); background-size: 48px 48px,48px 48px,auto,auto; }
.case-hero::before { content:''; position:absolute; z-index:-1; width:24rem; height:24rem; right:4%; top:12%; border:1px solid rgba(242,233,224,.1); border-radius:50%; box-shadow:0 0 0 34px rgba(242,233,224,.018),0 0 0 68px rgba(242,233,224,.012); }.case-hero-number { position:absolute; z-index:-1; top:-.23em; left:-.08em; color:rgba(242,233,224,.035); font:700 clamp(10rem,23vw,22rem)/1 var(--font-heading); letter-spacing:-.1em; }
.case-hero-visual { box-shadow: var(--shadow-project),-16px 22px 0 rgba(169,130,75,.11); }.case-hero-visual img { box-shadow: inset 0 0 0 1px rgba(242,233,224,.08); }.case-hero-actions .btn-primary, .case-final-cta .btn-primary { border:1px solid rgba(169,130,75,.48); background:linear-gradient(135deg,#d0b17c,#a9824b); color:#050A10; box-shadow:0 14px 30px rgba(169,130,75,.16); }.case-hero-actions .btn-primary:hover, .case-final-cta .btn-primary:hover { transform:translateY(-3px); box-shadow:0 21px 42px rgba(169,130,75,.26); }.case-hero-actions .btn-primary i, .case-final-cta .btn-primary i { transition:transform .25s ease; }.case-hero-actions .btn-primary:hover i, .case-final-cta .btn-primary:hover i { transform:translateX(4px); }
.case-section { overflow:hidden; }.case-section-sand { background:linear-gradient(115deg,#F2E9E0,#E4D7CC); }.case-section-light { background:#fbf8f4; }.case-diagonal-top { clip-path:none; margin-top:0; }.case-diagonal-top::before { content:''; position:absolute; top:-1px; left:-4vw; width:108vw; height:6vw; background:var(--oryon-dark); clip-path:polygon(0 0,100% 0,100% 18%,0 100%); }.case-section-dark.case-diagonal-top::before { background:var(--oryon-surface); }.case-diagonal-bottom { clip-path:none; padding-bottom:clamp(88px,11vw,154px); }.case-diagonal-bottom::after { content:''; position:absolute; right:-4vw; bottom:-1px; width:108vw; height:6vw; background:var(--oryon-surface); clip-path:polygon(0 82%,100% 0,100% 100%,0 100%); }
.case-challenge-grid { grid-template-columns:repeat(3,1fr); gap:0; margin-top:64px; border-top:1px solid var(--oryon-border); }.case-challenge-grid .case-info-card { min-height:250px; padding:30px clamp(18px,3vw,42px); border:0; border-right:1px solid var(--oryon-border); border-radius:0; background:transparent; box-shadow:none; }.case-challenge-grid .case-info-card:nth-child(even) { transform:translateY(38px); }.case-challenge-grid .case-info-card:hover { transform:translateY(-4px); box-shadow:none; }.case-challenge-grid .case-info-card:nth-child(even):hover { transform:translateY(30px); }.case-challenge-grid .case-card-number { margin-bottom:45px; color:var(--oryon-gold); font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.08em; }.case-challenge-grid .case-info-card h3 { font-size:22px; }
.case-solution-grid { grid-template-columns:repeat(2,1fr); gap:0; margin-top:62px; border-top:1px solid rgba(242,233,224,.17); }.case-solution-grid .case-info-card { display:grid; grid-template-columns:52px 1fr; gap:18px; min-height:0; padding:30px 28px; border:0; border-right:1px solid rgba(242,233,224,.14); border-bottom:1px solid rgba(242,233,224,.14); border-radius:0; background:transparent; }.case-solution-grid .case-info-card i { margin:0; }.case-solution-grid .case-info-card:hover { transform:none; background:rgba(242,233,224,.045); box-shadow:none; }
.case-solution-grid .case-info-card i { grid-row:span 2; }.case-solution-grid .case-info-card h3, .case-solution-grid .case-info-card p { grid-column:2; }.case-solution-grid .case-info-card h3 { align-self:end; margin:0; }.case-solution-grid .case-info-card p { align-self:start; margin:0; }
.case-process { margin-top:50px; padding:42px 34px; border:1px solid rgba(242,233,224,.13); border-radius:28px; background:radial-gradient(circle at 75% 0,rgba(169,130,75,.19),transparent 30%),#0C1A28; box-shadow:var(--shadow-project); }.case-process::before { background:rgba(169,130,75,.65); transform-origin:left; transform:scaleX(.08); transition:transform 1.1s cubic-bezier(.16,1,.3,1); }.case-process.case-revealed::before { transform:scaleX(1); }.case-process li>span { border-color:rgba(169,130,75,.65); color:#050A10; background:#d0b17c; }.case-process h3 { color:#F2E9E0; }.case-process p { color:rgba(242,233,224,.64); }
.case-features-grid { grid-template-columns:repeat(4,1fr); grid-auto-rows:minmax(165px,auto); gap:14px; }.case-features-grid .case-info-card { min-height:0; border-radius:22px; background:rgba(255,255,255,.5); }.case-features-grid .case-info-card:nth-child(1) { grid-column:span 2; grid-row:span 2; padding:42px; background:linear-gradient(145deg,#fff8ef,#e3d0bc); }.case-features-grid .case-info-card:nth-child(1) i { width:54px; height:54px; font-size:23px; }.case-features-grid .case-info-card:nth-child(4) { grid-column:span 2; background:#0C1A28; }.case-features-grid .case-info-card:nth-child(4) h3 { color:#F2E9E0; }.case-features-grid .case-info-card:nth-child(4) p { color:rgba(242,233,224,.72); }.case-features-grid .case-info-card:nth-child(4) i { color:#F2E9E0; background:rgba(169,130,75,.28); }
.case-gallery-main { border-radius:26px; box-shadow:var(--shadow-project); }.case-gallery-main::before { content:'●  ●  ●'; display:block; padding:13px 17px 11px; color:rgba(242,233,224,.5); border-bottom:1px solid rgba(242,233,224,.12); font-size:10px; letter-spacing:4px; }.case-gallery-main img { height:min(43vw,550px); }.case-gallery-notes article { min-height:0; border-radius:22px; transition:transform .3s ease,background .3s ease; }.case-gallery-notes article:hover { transform:translateX(7px); background:rgba(242,233,224,.09); }
.case-tech-chips { display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px solid var(--oryon-border); }.case-tech-chips span { position:relative; min-height:58px; padding:15px 10px 15px 48px; border:0; border-bottom:1px solid var(--oryon-border); border-radius:0; background:transparent; font-family:var(--font-heading); font-size:16px; }.case-tech-chips span::before { content:counter(tech,decimal-leading-zero); counter-increment:tech; position:absolute; left:7px; color:var(--oryon-gold); font:700 12px var(--font-heading); }.case-tech-chips { counter-reset:tech; }.case-challenges-solved { display:block; margin-top:54px; border-top:1px solid rgba(242,233,224,.16); }.case-challenges-solved .case-info-card { display:grid; grid-template-columns:140px 1fr; gap:35px; min-height:0; padding:31px 0; border:0; border-bottom:1px solid rgba(242,233,224,.16); border-radius:0; background:transparent; }.case-challenges-solved .case-info-card::before { content:counter(challenge,decimal-leading-zero); counter-increment:challenge; color:var(--oryon-gold); font:700 32px var(--font-heading); }.case-challenges-solved { counter-reset:challenge; }.case-challenges-solved .case-info-card:hover { transform:none; box-shadow:none; padding-left:10px; }
.case-challenges-solved .case-info-card::before { grid-row:span 2; }.case-challenges-solved .case-info-card h3, .case-challenges-solved .case-info-card p { grid-column:2; }.case-challenges-solved .case-info-card h3 { margin:0; }.case-challenges-solved .case-info-card p { margin:0; }
.case-section-dark { background-image: radial-gradient(circle at 87% 16%, rgba(169,130,75,.11), transparent 25%), radial-gradient(circle at 8% 83%, rgba(242,233,224,.045), transparent 28%); }.case-section-dark .case-info-card { box-shadow: inset 0 1px 0 rgba(242,233,224,.045), 0 18px 45px rgba(0,0,0,.08); }.case-section-dark .case-info-card:hover { box-shadow: inset 0 1px 0 rgba(242,233,224,.08), 0 24px 54px rgba(0,0,0,.2); }.case-section-sand::after { content:''; position:absolute; width:26vw; height:26vw; right:-12vw; bottom:-14vw; border:1px solid rgba(169,130,75,.16); border-radius:50%; box-shadow:0 0 0 24px rgba(169,130,75,.025),0 0 0 48px rgba(169,130,75,.018); pointer-events:none; }.case-section .container { position:relative; z-index:1; }.case-info-card { box-shadow:0 18px 42px rgba(12,26,40,.075), inset 0 1px 0 rgba(255,255,255,.55); }.case-features-grid .case-info-card:hover { box-shadow:0 27px 55px rgba(12,26,40,.15), inset 0 1px 0 rgba(255,255,255,.7); }.case-gallery-main { transform:perspective(1300px) rotateX(.7deg) rotateY(-.7deg); }.case-gallery-main:hover { transform:perspective(1300px) rotateX(0) rotateY(0) translateY(-4px); }.case-gallery-main, .case-gallery-notes article { transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s ease,background .3s ease; }
.case-result { position:relative; padding:45px 25px; }.case-result::before { content:'RESULT'; position:absolute; z-index:0; top:6px; left:50%; color:rgba(12,26,40,.035); font:700 clamp(4rem,12vw,10rem)/1 var(--font-heading); letter-spacing:-.08em; transform:translateX(-50%); }.case-result>* { position:relative; z-index:1; }.case-team-areas { gap:14px; }.case-team-areas span { min-width:170px; padding:18px 16px; border-radius:17px; background:linear-gradient(135deg,rgba(255,255,255,.74),rgba(228,215,204,.8)); box-shadow:var(--shadow-sm); transition:transform .25s ease,box-shadow .25s ease; }.case-team-areas span:hover { transform:translateY(-4px); box-shadow:0 18px 30px rgba(12,26,40,.11); }
.case-reveal { opacity:0; transform:translateY(28px); transition:opacity .72s cubic-bezier(.16,1,.3,1),transform .72s cubic-bezier(.16,1,.3,1); }.case-reveal.is-visible { opacity:1; transform:none; }.case-reveal:nth-child(even) { transition-delay:.1s; }
@media (max-width:960px){.case-hero{min-height:auto}.case-features-grid{grid-template-columns:repeat(2,1fr)}.case-features-grid .case-info-card:nth-child(4){grid-column:auto}.case-challenge-grid .case-info-card:nth-child(even){transform:none}.case-challenge-grid .case-info-card:nth-child(even):hover{transform:translateY(-4px)}.case-process{grid-template-columns:repeat(3,1fr)}.case-process::before{display:none}.case-challenges-solved .case-info-card{grid-template-columns:88px 1fr}.case-diagonal-top::before,.case-diagonal-bottom::after{height:8vw}}
@media (max-width:640px){.case-hero{background-size:32px 32px,32px 32px,auto,auto}.case-hero-number{font-size:11rem}.case-challenge-grid{grid-template-columns:1fr;margin-top:38px}.case-challenge-grid .case-info-card{min-height:0;border-right:0;border-bottom:1px solid var(--oryon-border)}.case-solution-grid{grid-template-columns:1fr}.case-solution-grid .case-info-card{border-right:0}.case-features-grid{grid-template-columns:1fr}.case-features-grid .case-info-card:nth-child(1),.case-features-grid .case-info-card:nth-child(4){grid-column:auto;grid-row:auto;padding:26px}.case-process{grid-template-columns:1fr;padding:28px 22px}.case-gallery-main img{height:62vw}.case-tech-chips{grid-template-columns:1fr}.case-challenges-solved .case-info-card{grid-template-columns:58px 1fr;gap:16px}.case-diagonal-top::before,.case-diagonal-bottom::after{height:11vw}.case-team-areas span{width:100%}}
@media (prefers-reduced-motion:reduce){.case-reveal{opacity:1;transform:none;transition:none}.case-process::before{transform:scaleX(1);transition:none}}

/* Ajustes de sutileza y movimiento en desafíos y superficies claras. */
.case-challenges-solved .case-info-card { transition: background .28s ease, border-color .28s ease, color .28s ease !important; }
.case-challenges-solved .case-info-card:hover { padding-left:0; transform:none; background:rgba(242,233,224,.025); box-shadow:none; }
.case-challenges-solved .case-info-card::before { transition:opacity .28s ease, transform .28s ease; }
.case-challenges-solved .case-info-card:hover::before { opacity:.82; transform:translateX(3px); }
.case-section-light { background-image: linear-gradient(125deg, transparent 0 47%, rgba(169,130,75,.045) 47.1% 47.25%, transparent 47.35%), radial-gradient(circle at 82% 18%, rgba(169,130,75,.11), transparent 18%); }
.case-section-light::before { content:''; position:absolute; top:0; right:8%; width:min(460px,42vw); height:1px; background:linear-gradient(90deg,transparent,rgba(169,130,75,.22),transparent); box-shadow:0 0 14px rgba(169,130,75,.18); animation:case-glint 7s ease-in-out infinite; pointer-events:none; }
.case-section-light::after { content:''; position:absolute; top:0; right:8%; width:7px; height:7px; border-radius:50%; background:#c8ae7a; box-shadow:0 0 0 5px rgba(200,174,122,.09),0 0 20px rgba(200,174,122,.45); animation:case-glint-dot 7s ease-in-out infinite; pointer-events:none; }
.case-section-sand { background-image: linear-gradient(145deg,rgba(255,255,255,.16),transparent 42%),linear-gradient(115deg,#F2E9E0,#E4D7CC); }
@keyframes case-glint { 0%,100% { opacity:.22; transform:translateX(-14%); } 48% { opacity:.92; transform:translateX(14%); } }
@keyframes case-glint-dot { 0%,100% { opacity:.25; transform:translateX(-60px) scale(.72); } 48% { opacity:1; transform:translateX(260px) scale(1); } }
@media (prefers-reduced-motion:reduce){.case-section-light::before,.case-section-light::after{animation:none}}

/* Tercera capa: reveal editorial, stagger y profundidad controlada. */
.case-editorial .case-kicker,.case-editorial h2,.case-editorial>.case-lead,.case-editorial>p:not(.case-kicker){transition:opacity .68s cubic-bezier(.22,1,.36,1),transform .68s cubic-bezier(.22,1,.36,1)}
.case-editorial .case-kicker{opacity:0;transform:translateY(12px)}.case-editorial h2{opacity:0;transform:translateY(18px);transition-delay:.09s}.case-editorial>.case-lead,.case-editorial>p:not(.case-kicker){opacity:0;transform:translateY(18px);transition-delay:.19s}.case-editorial.is-visible .case-kicker,.case-editorial.is-visible h2,.case-editorial.is-visible>.case-lead,.case-editorial.is-visible>p:not(.case-kicker){opacity:1;transform:none}
.case-process li,.case-features-grid .case-info-card,.case-team-areas span,.case-ux li,.case-tech-chips span{opacity:0;transform:translateY(15px) scale(.987);transition:opacity .58s cubic-bezier(.22,1,.36,1),transform .58s cubic-bezier(.22,1,.36,1),box-shadow .25s ease,border-color .25s ease,background .25s ease}.case-stagger.is-visible li,.case-stagger.is-visible .case-info-card,.case-stagger.is-visible .case-team-areas span,.case-stagger.is-visible li,.case-tech-grid.is-visible .case-tech-chips span{opacity:1;transform:none}.case-stagger.is-visible>*:nth-child(1),.case-tech-grid.is-visible .case-tech-chips span:nth-child(1){transition-delay:.04s}.case-stagger.is-visible>*:nth-child(2),.case-tech-grid.is-visible .case-tech-chips span:nth-child(2){transition-delay:.14s}.case-stagger.is-visible>*:nth-child(3),.case-tech-grid.is-visible .case-tech-chips span:nth-child(3){transition-delay:.24s}.case-stagger.is-visible>*:nth-child(4),.case-tech-grid.is-visible .case-tech-chips span:nth-child(4){transition-delay:.34s}.case-stagger.is-visible>*:nth-child(5),.case-tech-grid.is-visible .case-tech-chips span:nth-child(5){transition-delay:.44s}.case-stagger.is-visible>*:nth-child(6),.case-tech-grid.is-visible .case-tech-chips span:nth-child(6){transition-delay:.54s}
.case-process.case-revealed::before{transform:scaleX(1)}.case-process.case-revealed li>span{animation:case-step-in .5s cubic-bezier(.22,1,.36,1) both}.case-process.case-revealed li:nth-child(2)>span{animation-delay:.12s}.case-process.case-revealed li:nth-child(3)>span{animation-delay:.24s}.case-process.case-revealed li:nth-child(4)>span{animation-delay:.36s}.case-process.case-revealed li:nth-child(5)>span{animation-delay:.48s}@keyframes case-step-in{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
.case-features-grid .case-info-card:hover{border-color:rgba(169,130,75,.32)}.case-features-grid .case-info-card:hover i{transform:translateY(-2px) scale(1.03)}.case-features-grid .case-info-card i{transition:transform .25s ease}.case-features-grid .case-info-card:nth-child(4){background-image:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(200,174,122,.09),transparent 42%),linear-gradient(145deg,#0C1A28,#0C1A28)}
.case-ux ul::before{content:'';position:absolute;left:-2px;top:0;bottom:0;width:2px;background:var(--oryon-gold);transform:scaleY(0);transform-origin:top;transition:transform .8s cubic-bezier(.22,1,.36,1)}.case-ux ul{position:relative;border-left:0}.case-ux.is-visible ul::before{transform:scaleY(1)}.case-ux li i{transition:transform .4s cubic-bezier(.22,1,.36,1)}.case-ux.is-visible li:nth-child(1) i{transition-delay:.1s}.case-ux.is-visible li:nth-child(2) i{transition-delay:.2s}.case-ux.is-visible li:nth-child(3) i{transition-delay:.3s}.case-ux.is-visible li i{transform:scale(1)}
.case-tech-chips span{transform-origin:left}.case-tech-grid.is-visible .case-tech-chips span{border-bottom-color:rgba(12,26,40,.15)}.case-tech-chips span:hover{transform:translateX(4px)!important;color:var(--oryon-dark);background:rgba(169,130,75,.075)}.case-tech-chips span:hover::before{color:#8a6230}.case-result::before{transform:translateX(-50%) translateY(var(--case-parallax,0px));transition:transform .08s linear}.case-section-sand::after{transform:translateY(var(--case-parallax,0px));transition:transform .08s linear}
@media (max-width:767px){.case-editorial .case-kicker,.case-editorial h2,.case-editorial>.case-lead,.case-editorial>p:not(.case-kicker){transition-delay:0s}.case-process::before{transform:scaleY(.08);transform-origin:top}.case-process.case-revealed::before{transform:scaleY(1)}.case-features-grid .case-info-card:nth-child(4){background-image:linear-gradient(145deg,#0C1A28,#0C1A28)}}
@media (prefers-reduced-motion:reduce){.case-editorial .case-kicker,.case-editorial h2,.case-editorial>.case-lead,.case-editorial>p:not(.case-kicker),.case-process li,.case-features-grid .case-info-card,.case-team-areas span,.case-ux li,.case-tech-chips span{opacity:1;transform:none;transition:none}.case-process::before,.case-ux ul::before{transform:scaleX(1);transition:none}.case-result::before,.case-section-sand::after{transform:translateY(0);transition:none}}

/* Transiciones oblicuas entre los bloques arena y las secciones claras. */
.case-section-sand + .case-section-light { z-index:2; margin-top:-4.5vw; padding-top:calc(clamp(76px,9vw,128px) + 4.5vw); clip-path:polygon(0 4.5vw,100% 0,100% 100%,0 100%); }
.case-section-sand + .case-section-light::before,.case-section-sand + .case-section-light::after { display:none; }
@media (max-width:640px){.case-section-sand + .case-section-light{margin-top:-7vw;padding-top:calc(68px + 7vw);clip-path:polygon(0 7vw,100% 0,100% 100%,0 100%)}}

/* Timeline mobile: una columna de lectura, con numeración y contenido alineados. */
@media (max-width:640px){
  .case-process{grid-template-columns:1fr;gap:0;padding:18px 22px}
  .case-process li,.case-process li:last-child{display:grid;grid-template-columns:48px minmax(0,1fr);grid-column:auto;gap:14px;align-items:start;padding:21px 0;border-bottom:1px solid rgba(242,233,224,.13)}
  .case-process li:last-child{border-bottom:0}
  .case-process li>span{width:38px;height:38px;margin:0}
  .case-process li>div{min-width:0;padding-top:5px}
  .case-process h3{margin:0 0 7px;font-size:18px}
  .case-process p{max-width:none;font-size:15px;line-height:1.5}
}
